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

私有协议保险公司报表-按照支公司进行汇总,原先都是按照保险公司总公司维度进行汇总的(代码只调整了一部分)

lipf 1 месяц назад
Родитель
Сommit
a9c4210c7a

+ 8 - 1
commons/src/main/java/com/jzg/commons/entity/finance/dto/CompanySuperviseSettlementReportDto.java

@@ -22,10 +22,17 @@ public class CompanySuperviseSettlementReportDto implements Serializable {
     private static final long serialVersionUID = -2428003756552348627L;
     @Schema(description = "保险公司Id")
     private String companyId;
+
+    @Schema(description = "支公司保险公司Id")
+    private String partnerCompanyId;
+
+    @Schema(description = "支公司保险公司名称")
+    private String partnerCompanyName;
+
     @Schema(description = "对接人手机号")
     private String contactPersonPhone;
 
-    @Schema(description = "保险公司Id")
+    @Schema(description = "支公司保险公司Id")
     private String id;
 
     @Schema(description = "上级公司ID")

+ 12 - 10
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -5771,7 +5771,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         // 将allCompaniesIncomeDatas中相同的companyId的totalReceivable、totalFollowFee、superviseFee、followFee数据相加,并只保留一条
         // 按公司ID分组聚合求和
         Map<String, List<CompanySuperviseSettlementReportDto>> groupByCompany = allCompaniesIncomeDatas.stream()
-                .collect(Collectors.groupingBy(CompanySuperviseSettlementReportDto::getCompanyId));
+                .collect(Collectors.groupingBy(CompanySuperviseSettlementReportDto::getPartnerCompanyId));
 
         // 聚合结果集合
         List<CompanySuperviseSettlementReportDto> resultList = new ArrayList<>();
@@ -5779,8 +5779,12 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             List<CompanySuperviseSettlementReportDto> groupList = entry.getValue();
             CompanySuperviseSettlementReportDto sumDto = new CompanySuperviseSettlementReportDto();
             // 赋值固定字段(取第一条即可)
-            sumDto.setCompanyId(entry.getKey());
+            sumDto.setPartnerCompanyId(entry.getKey());
+
             CompanySuperviseSettlementReportDto first = groupList.get(0);
+            sumDto.setParentId(first.getParentId());
+            sumDto.setCompanyId(first.getCompanyId());
+            sumDto.setPartnerCompanyName(first.getPartnerCompanyName());
             sumDto.setCompanyName(first.getCompanyName());
             // 数值累加
             BigDecimal totalReceivable = groupList.stream()
@@ -5792,13 +5796,12 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
                     .reduce(BigDecimal.ZERO, BigDecimal::add);
             sumDto.setTotalReceivable(totalReceivable.toString());
             sumDto.setSuperviseFee(superviseFee.toString());
-            sumDto.setParentId(first.getParentId());
             resultList.add(sumDto);
         }
         // 最终聚合完成的数据
         allCompaniesIncomeDatas = resultList;
 
-        allCompaniesIncomeDatas = allCompaniesIncomeDatas.stream().peek(action-> action.setId(action.getCompanyId())).toList();
+        allCompaniesIncomeDatas = allCompaniesIncomeDatas.stream().peek(action-> action.setId(action.getPartnerCompanyId())).toList();
 
         if (CollUtil.isEmpty(allCompaniesIncomeDatas)) {
             String msg = String.format("租户%s下暂时没有手续费",systemCode);
@@ -5806,9 +5809,10 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             return HttpResult.ok(msg, Collections.emptyList());
         }
         // add by lipf, 前端保险公司的查询条件未生效,进行bug修复
+        // TODO 这里需要都支持
         if(StrUtil.isNotEmpty(queryVo.getCompanyId())){
             allCompaniesIncomeDatas = allCompaniesIncomeDatas.stream()
-                    .filter(action-> queryVo.getCompanyId().equals(action.getCompanyId())).toList();
+                    .filter(action-> queryVo.getCompanyId().equals(action.getPartnerCompanyId())).toList();
         }
         // 2. 汇总后,计算得到已开票,未开票,已结算,未结算的数据
         allCompaniesIncomeDatas = this.calStatisAmount(allCompaniesIncomeDatas, queryVo, systemCode);
@@ -5822,7 +5826,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
 
         // 3. 填充保险公司的父级保险公司
         allCompaniesIncomeDatas = this.fillParentCompany(allCompaniesIncomeDatas);
-        log.info("构建树形结构之前的数据:allCompaniesIncomeDatas=[{}]", JSONUtil.toJsonStr(allCompaniesIncomeDatas));
+        log.info("构建树形结构之前的数据:allCompaniesIncomeDatas.size=[{}]", CollUtil.size(allCompaniesIncomeDatas));
         // 4. 构建树型结构
         List<Tree<String>> roots = buildTree(allCompaniesIncomeDatas);
         return HttpResult.ok(roots);
@@ -5982,7 +5986,6 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
                     secondCompanyList.add(new CompanySuperviseSettlementReportDto(thirdCompany.getParentId(),companyName,esmInsCompany.getParentId()));
                     log.info("====获取保险公司的名称:[{}]-[{}]",thirdCompany.getParentId(),companyName);
                 }
-
             }
         }
         List<CompanySuperviseSettlementReportDto> firstCompanyList = new ArrayList<>();
@@ -6070,6 +6073,8 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             // 将原对象的其他属性放入扩展字段
             tree.putExtra("companyName",dto.getCompanyName());
             tree.putExtra("companyId",dto.getCompanyId());
+            tree.putExtra("partnerCompanyId",dto.getPartnerCompanyId());
+            tree.putExtra("partnerCompanyName",dto.getPartnerCompanyName());
             tree.putExtra("totalReceivable",dto.getTotalReceivable());
             tree.putExtra("totalFollowFee",dto.getTotalFollowFee());
             tree.putExtra("superviseFee",dto.getSuperviseFee());
@@ -6086,9 +6091,6 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             tree.putExtra("gdfUnSettledAmount",dto.getGdfUnSettledAmount());
             tree.putExtra("totalOverinflatedAmount",dto.getTotalOverinflatedAmount());
             tree.putExtra("settlementPaymentDifference",dto.getSettlementPaymentDifference());
-
-
-
         });
         log.info("树形结构构建:一级数据[{}]个", CollUtil.size(build));
         return build;

+ 12 - 7
tenant/organization/src/main/resources/mapper/ReceivableMapper.xml

@@ -1979,17 +1979,19 @@
     </select>
     <select id="queryCumulativeAccountsReceivable"
             resultType="com.jzg.commons.entity.finance.dto.CompanySuperviseSettlementReportDto">
-        select
-        ipi.id,
-        eic.parent_id,
+        SELECT ipi.id,
         ipi.company_id,
+        eic.parent_id,
+        eic.name as partner_company_name,
+        ipi.partner_company_id,
         ipi.system_code,
-        sum(COALESCE(ipi.jq_receivable_premium, 0)+ COALESCE(ipi.sy_receivable_premium ,0)+coalesce(ipi.jy_receivable_premium ,0 )) as totalReceivable,
+
+        sum(COALESCE(ipi.jq_receivable_premium, 0) + COALESCE(ipi.sy_receivable_premium, 0) + coalesce(ipi.jy_receivable_premium, 0)) AS totalReceivable ,
         sum(coalesce(ipi.jy_supervise_costs_premiums, 0)) AS superviseFee4Other,
-        sum(COALESCE(ipi.jq_supervise_costs_premiums, 0) + COALESCE(ipi.sy_supervise_costs_premiums,0) ) AS superviseFee
+        sum(COALESCE(ipi.jq_supervise_costs_premiums, 0) + COALESCE(ipi.sy_supervise_costs_premiums, 0)) AS superviseFee
         from
         ins_ply_income ipi
-        left join esm_ins_company eic on eic.id = ipi.company_id AND eic.is_delete = 0
+        left join esm_ins_company eic on eic.id = ipi.partner_company_id AND eic.is_delete = 0
         <where>
             ipi.is_delete = 0
             and ipi.system_code = #{systemCode}
@@ -2015,8 +2017,11 @@
         ipi.id,
         eic.parent_id,
         ipi.company_id,
+        ipi.partner_company_id,
+        partner_company_name,
         ipi.system_code
-        having company_id is not null
+        having company_id is not null and partner_company_id is not null
+        order by partner_company_id asc
     </select>
     <!-- 查询已开票金额 lipf 2026年6月1日17:58:42 -->
     <select id="queryInvoicedAmount" resultType="com.jzg.organization.entity.dto.CalRes">