Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

lixiaolong 1 месяц назад
Родитель
Сommit
87fa140607

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/dto/FeeAuditParam.java

@@ -167,4 +167,7 @@ public class FeeAuditParam extends PageRequest {
     @Schema(description = "非车起保时间-止")
     private String jyRiskStartDateEnd;
 
+    @Schema(description = "投保人")
+    private String policyholder;
+
 }

+ 8 - 0
commons/src/main/java/com/jzg/commons/entity/finance/dto/ExportSuperviseSettlementExcelDto.java

@@ -113,4 +113,12 @@ public class ExportSuperviseSettlementExcelDto {
     @ExcelProperty(value = "对接人手机号")
     private String contactPersonPhone;
 
+    @Schema(description = "分支机构id")
+    @ExcelIgnore
+    private String partnerCompanyId;
+
+    @Schema(description = "分支机构名称")
+    @ExcelProperty(value = "分支机构名称")
+    private String partnerCompanyName;
+
 }

+ 1 - 1
commons/src/main/java/com/jzg/commons/entity/finance/vo/SettlementQueryVo.java

@@ -25,7 +25,7 @@ public class SettlementQueryVo extends PageRequest {
     @Schema(description = "保险公司Id")
     private String companyId;
 
-    @Schema(description = "保险公司Id")
+    @Schema(description = "分支保险公司Id")
     private String partnerCompanyId;
 
     @Schema(description = "应收项")

+ 2 - 0
commons/src/main/java/com/jzg/commons/entity/orders/vo/FeeAuditVo.java

@@ -451,4 +451,6 @@ public class FeeAuditVo extends BaseModel {
     private String jyRiskStartDate;
     private String jyRiskEndDate;
 
+    @Schema(description = "投保人")
+    private String policyholder;
 }

+ 5 - 1
commons/src/main/java/com/jzg/commons/entity/vo/IncomeAndExpenseList.java

@@ -55,6 +55,10 @@ public class IncomeAndExpenseList {
     @Schema(description = "处理进度")
     private List<ChangeLogDetail> stepList;
 
+    @Schema(description = "支付凭证")
+    private String paymentVoucher;
 
-
+    private String bucketName;
+    @Schema(description = "支付凭证的id")
+    private String picId;
 }

+ 6 - 0
commons/src/main/java/com/jzg/commons/entity/vo/IncomeAndExpenseVo.java

@@ -68,5 +68,11 @@ public class IncomeAndExpenseVo {
 
         @Schema(description = "处理进度")
         private List<ChangeLogDetail> stepList;
+
+        @Schema(description = "支付凭证")
+        private String paymentVoucher;
+
+        @Schema(description = "支付凭证的id")
+        private String picId;
     }
 }

+ 9 - 1
commons/src/main/java/com/jzg/commons/util/OrderComponents.java

@@ -64,7 +64,15 @@ public class OrderComponents {
         nameMap.put("order.dockingPerson","对接人姓名");
         nameMap.put("order.dockingPersonPhone","对接人手机号");
 
-
+        nameMap.put("insCompanyVo[0].companyCode","保司编码");
+        nameMap.put("insCompanyVo[0].nameSimple","保司简称");
+        nameMap.put("insCompanyVo[0].code","保司代码");
+        nameMap.put("insCompanyVo[0].cnName","保司代码");
+        nameMap.put("insCompanyVo[0].name","保司全称");
+        nameMap.put("insCompanyVo[0].logo","保司logo");
+        nameMap.put("insCompanyVo[0].id","保司ID");
+        nameMap.put("order.companyName","保司名称");
+        nameMap.put("order.insuranceCompanyCode","保司ID");
 
         return nameMap;
     }

+ 3 - 2
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsFeeAuditServiceImpl.java

@@ -172,8 +172,9 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         for (FeeAuditVo feeAuditVo : page.getRecords()) {
             String allCompany =  allCompanyHierarchyPaths.get(Objects.toString(feeAuditVo.getCompanyId(),""));
             feeAuditVo.setCompanyALlName(allCompany);
-            feeAuditVo.setPartnerCompanyName(allCompanyHierarchyPaths.get(Objects.toString(feeAuditVo.getPartnerCompanyId(),"")));
-            feeAuditVo.setPartnerCompanySimplyName(allCompanyHierarchyPaths.get(Objects.toString(feeAuditVo.getPartnerCompanyId(),"")));
+//            feeAuditVo.setPartnerCompanyName(allCompanyHierarchyPaths.get(Objects.toString(feeAuditVo.getPartnerCompanyId(),"")));
+//            feeAuditVo.setPartnerCompanySimplyName(allCompanyHierarchyPaths.get(Objects.toString(feeAuditVo.getPartnerCompanyId(),"")));
+            feeAuditVo.setPartnerCompanySimplyName(feeAuditVo.getPartnerCompanyName());
             // 循环每条数据,查询 ins_fee_orders 并计算权益金额
             // 查询订单的 ins_fee_orders 数据
             InsFeeOrders insFeeOrders = feeOrdersService.getById(feeAuditVo.getOrderNo());

+ 11 - 2
tenant/insurance/quotation-summary/src/main/resources/mapper/InsFeeAuditMapper.xml

@@ -76,17 +76,23 @@
         io.order_source,
         ioci.vin_no,
         ifo.*,
-        pa.partner_company_id,iop.jq_policy_no , iop.sy_policy_no , iop.jy_policy_no,
+        pa.partner_company_id,
+        (SELECT COM.NAME FROM esm_ins_company COM WHERE COM.ID = pa.partner_company_id) as partnerCompanyName,
+        iop.jq_policy_no ,
+        iop.sy_policy_no ,
+        iop.jy_policy_no,
         (select ior.start_date  from ins_orders_risk ior where ior.order_no = io.id and ior.risk_name = '交强险' )  as jq_risk_start_date,
         (select ior.end_date from ins_orders_risk ior where ior.order_no = io.id and ior.risk_name = '交强险' )  as jq_risk_end_date,
         (select ior.start_date  from ins_orders_risk ior where ior.order_no = io.id and ior.risk_name = '商业险' )  as sy_risk_start_date,
         (select ior.end_date from ins_orders_risk ior where ior.order_no = io.id and ior.risk_name = '商业险' )  as sy_risk_end_date,
         (select ior.start_date  from ins_orders_risk ior where ior.order_no = io.id and ior.risk_name = '驾意险' )  as jy_risk_start_date,
-        (select ior.end_date from ins_orders_risk ior where ior.order_no = io.id and ior.risk_name = '驾意险' )  as jy_risk_end_date
+        (select ior.end_date from ins_orders_risk ior where ior.order_no = io.id and ior.risk_name = '驾意险' )  as jy_risk_end_date,
+        iocui2.name as policyholder
         FROM ins_fee_audit ifa
         LEFT JOIN ins_orders io on ifa.order_no = io.id AND io.is_delete=0
         LEFT JOIN ins_orders_car_info ioci on io.id = ioci.order_no AND ioci.is_delete=0
         LEFT JOIN ins_orders_car_user_info iocui on io.id = iocui.order_no and iocui.policy_person_type = 3 AND iocui.is_delete=0
+        LEFT JOIN ins_orders_car_user_info iocui2 ON io.id = iocui2.order_no AND iocui2.policy_person_type = 2 AND iocui2.is_delete = 0
         LEFT JOIN sys_user qsu on qsu.mobile = io.real_quote_user_id AND qsu.is_delete=0
         LEFT JOIN sys_user_jzg_info suji ON suji.user_id = qsu.id and suji.system_code = #{param.systemCode} AND suji.is_delete=0
         LEFT JOIN sys_dept sd on suji.dept_id = sd.id AND sd.is_delete=0
@@ -98,6 +104,9 @@
         LEFT JOIN ins_orders_policy iop on iop.order_no = io.id and iop.is_delete = 0
         <where>
             and ifa.is_delete=0 and ifa.system_code = #{param.systemCode}
+            <if test="param.policyholder != null and param.policyholder !=''">
+                and iocui2.name  = #{param.policyholder}
+            </if>
             <if test="param.vinNo != null and param.vinNo !=''">
                 and ioci.vin_no = #{param.vinNo}
             </if>

+ 8 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -5214,7 +5214,15 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
      * @param exportSuperviseSettlementExcelDtos
      */
     private void supplementaryListData(Page<ExportSuperviseSettlementExcelDto> exportSuperviseSettlementExcelDtos) {
+        HttpResult<Map<String, EsmInsCompany>> mapHttpResult = esmInsCompanyClient.queryAllCompanyMap();
+        Map<String, EsmInsCompany> data = mapHttpResult.getData();
+
         exportSuperviseSettlementExcelDtos.getRecords().forEach(dto -> {
+            if (StrUtil.isNotBlank(dto.getPartnerCompanyId())){
+                EsmInsCompany esmInsCompany = data.getOrDefault(dto.getPartnerCompanyId(), new EsmInsCompany());
+                dto.setPartnerCompanyName(esmInsCompany.getName());
+            }
+
             if ("1".equals(dto.getInvoiceParty())) {
                 dto.setInvoiceParty("我方开票");
             } else if ("2".equals(dto.getInvoiceParty())) {

+ 7 - 4
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysAmountAuditingServiceImpl.java

@@ -20,10 +20,7 @@ import com.jzg.commons.entity.po.SysUserJzgInfoBankCard;
 import com.jzg.commons.entity.vo.AmountAuditVo;
 import com.jzg.commons.entity.vo.IncomeAndExpenseList;
 import com.jzg.commons.exception.SystemException;
-import com.jzg.commons.util.AssertionUtils;
-import com.jzg.commons.util.BigDecimalUtil;
-import com.jzg.commons.util.DateTimeUtils;
-import com.jzg.commons.util.StringUtils;
+import com.jzg.commons.util.*;
 import com.jzg.organization.mapper.SysAmountAuditingMapper;
 import com.jzg.organization.service.*;
 import com.jzg.organization.state.AuditState;
@@ -530,6 +527,12 @@ public class SysAmountAuditingServiceImpl extends ServiceImpl<SysAmountAuditingM
     public List<IncomeAndExpenseList> getIncomeAndExpense(IncomeAndExpenseParam param) {
         log.info("查询收支明细queryIncomeANdExpense:param=[{}]", JSONUtil.toJsonStr(param));
         List<IncomeAndExpenseList>  incomeAndExpenseLists =  baseMapper.getIncomeAndExpense(param);
+        incomeAndExpenseLists = incomeAndExpenseLists.stream().peek(action->{
+            if(StrUtil.isNotEmpty(action.getPaymentVoucher())){
+                var res = MinioUtils.getPresignedObjectUrl("jzg", action.getPaymentVoucher());
+                action.setPaymentVoucher(res);
+            }
+        }).toList();
         log.info("查询收支明细queryIncomeANdExpense:param=[{}],incomeAndExpenseLists.size()=[{}]",JSONUtil.toJsonStr(param), CollUtil.size(incomeAndExpenseLists));
         return incomeAndExpenseLists;
     }

+ 9 - 10
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserAccountServiceImpl.java

@@ -322,16 +322,17 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
             if (b.getCreateTime() == null) return -1;
             return b.getCreateTime().compareTo(a.getCreateTime());
         });
-
-        // 收支状态筛选(在排序后、分组前进行)
-//        if (param.getIncomeAndExpense() != null && !param.getIncomeAndExpense().isEmpty()) {
-//            allRecords = allRecords.stream()
-//                    .filter(record -> param.getIncomeAndExpense().equals(record.getIncomeAndExpense()))
-//                    .collect(Collectors.toList());
-//        }
-
         // 按月份分组统计
         Map<String, IncomeAndExpenseVo.IncomeAndExpense> monthSummaryMap = new TreeMap<>(Collections.reverseOrder());
+        if(CollUtil.isEmpty(allRecords)){
+            IncomeAndExpenseVo.IncomeAndExpense summary = monthSummaryMap.get(key);
+            summary = new IncomeAndExpenseVo.IncomeAndExpense();
+            summary.setMonth(key);
+            summary.setIncome(BigDecimal.ZERO);
+            summary.setExpense(BigDecimal.ZERO);
+            summary.setBalance(BigDecimal.ZERO);
+            monthSummaryMap.put(key, summary);
+        }
         for (IncomeAndExpenseList record : allRecords) {
             if (record.getCreateTime() == null) continue;
             // 获取或创建月度汇总对象
@@ -344,7 +345,6 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
                 summary.setBalance(BigDecimal.ZERO);
                 monthSummaryMap.put(key, summary);
             }
-
             // 更新收入或支出
             if ("0".equals(record.getIncomeAndExpense())) {
                 // 收入
@@ -353,7 +353,6 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
                 // 支出, 并且不是审核驳回的数据
                 summary.setExpense(BigDecimalUtil.add(summary.getExpense(),record.getAmount()));
             }
-
             // 计算余额(收入 - 支出)
             summary.setBalance(summary.getIncome().subtract(summary.getExpense()));
         }

+ 17 - 2
tenant/organization/src/main/resources/mapper/ReceivableMapper.xml

@@ -609,12 +609,15 @@
         io.company_name,
         ipii.invoice_type,
         ipii.invoice_party,
+        ipii.invoice_risk_type,
         ipii.tax_point,
         ipiis.actual_received_amount,
         ipii.receivable_supervise_premium,
         ipiis.receive_payment_date,
         ipiis.create_by ,
-        ipiis.create_time, ipiis.settlement_payment_difference , ipiis.settlement_payment_reason
+        ipiis.create_time,
+        ipiis.settlement_payment_difference ,
+        ipiis.settlement_payment_reason
         FROM
         ins_ply_income_invoice_settlement ipiis
         LEFT JOIN ins_ply_income_invoice ipii ON ipii.id = ipiis.invoice_id AND ipii.is_delete = 0
@@ -694,10 +697,16 @@
         GROUP_CONCAT(DISTINCT ipii.invoice_party SEPARATOR ',') AS invoice_party,
         GROUP_CONCAT(DISTINCT ipii.tax_point SEPARATOR ',') AS tax_point,
         GROUP_CONCAT(DISTINCT ipi.order_no SEPARATOR ',') AS orderNo,
+        GROUP_CONCAT(DISTINCT ipi.partner_company_id SEPARATOR ',') AS partnerCompanyId,
         MAX(ipiis.actual_received_amount) AS actual_received_amount,
         MAX(ipiis.receive_payment_date) AS receive_payment_date,
         MAX(ipiis.create_by) AS create_by,
-        MAX(ipiis.create_time) AS create_time, ipiis.settlement_payment_difference , ipiis.settlement_payment_reason, ipii.receivable_supervise_premium,ipii.contact_person , ipii.contact_person_phone
+        MAX(ipiis.create_time) AS create_time,
+        ipiis.settlement_payment_difference,
+        ipiis.settlement_payment_reason,
+        ipii.receivable_supervise_premium,
+        ipii.contact_person,
+        ipii.contact_person_phone
         FROM ins_ply_income_invoice_settlement ipiis
         LEFT JOIN ins_ply_income_invoice ipii ON ipii.id = ipiis.invoice_id AND ipii.is_delete = 0
         LEFT JOIN ins_ply_income_invoice_link ipil ON ipil.invoice_id = ipiis.invoice_id AND ipil.is_delete = 0
@@ -713,6 +722,9 @@
                     #{settlementId}
                 </foreach>
             </if>
+            <if test="settlementQueryVo.contactPerson != null and settlementQueryVo.contactPerson != ''">
+                AND io.contact_person = #{settlementQueryVo.contactPerson}
+            </if>
             <if test="settlementQueryVo.invoiceTypes != null and settlementQueryVo.invoiceTypes != ''">
                 AND ipii.invoice_type IN
                 <foreach collection="settlementQueryVo.invoiceTypes" item="invoiceType" open="(" separator="," close=")">
@@ -722,6 +734,9 @@
             <if test="settlementQueryVo.companyId != null and settlementQueryVo.companyId != ''">
                 AND io.company_id = #{settlementQueryVo.companyId}
             </if>
+            <if test="settlementQueryVo.partnerCompanyId != null and settlementQueryVo.partnerCompanyId != ''">
+                AND ipi.partner_company_id = #{settlementQueryVo.partnerCompanyId}
+            </if>
             <if test="settlementQueryVo.invoiceParty != null and settlementQueryVo.invoiceParty != ''">
                 AND ipii.invoice_party = #{settlementQueryVo.invoiceParty}
             </if>

+ 6 - 6
tenant/organization/src/main/resources/mapper/SysAmountAuditingMapper.xml

@@ -302,13 +302,13 @@
         suacl.update_by,
         suacl.update_time,
         ioci.license_no,
-        null as payment_time , null as reject_time ,  null as auditing_status
+        null as payment_time , null as reject_time ,  null as auditing_status,
+        suf.file_name as paymentVoucher, saa.pic_id as picId, suf.bucket_name
         from
         sys_user_account_change_log suacl
-        left join sys_amount_auditing saa on
-        suacl.related_amount_auditing_id = saa.id
-        left join ins_orders_car_info ioci on
-        suacl.related_order_id = ioci.order_no
+        left join sys_amount_auditing saa on suacl.related_amount_auditing_id = saa.id
+        left join ins_orders_car_info ioci on suacl.related_order_id = ioci.order_no
+        left join sys_upload_files suf on saa.pic_id = suf.id
         where
         suacl.system_code = #{systemCode}
         union ALL
@@ -328,7 +328,7 @@
         saa.update_by,
         saa.update_time,
         null as license_no,
-        saa.payment_time , saa.reject_time ,  saa.auditing_status
+        saa.payment_time , saa.reject_time ,  saa.auditing_status, null as paymentVoucher, null as picId, null as bucket_name
         from
         sys_amount_auditing saa
         where