Procházet zdrojové kódy

Merge remote-tracking branch 'origin/dev_jzg_lipf_v20260518' into dev_jzg_lipf_v20260518

jiakai před 4 měsíci
rodič
revize
ec810c7e23

+ 6 - 0
commons/src/main/java/com/jzg/commons/entity/finance/dto/ReceiverSettlementReportDto.java

@@ -16,6 +16,12 @@ public class ReceiverSettlementReportDto {
     @Schema(description = "保险公司")
     private String companyName;
 
+    @Schema(description = "保险公司id")
+    private String companyId;
+
+    @Schema(description = "保险公司名称及父级的名称")
+    private String companyALlName;
+
     @Schema(description = "应收总计")
     private String totalReceivable;
 

+ 13 - 0
platform/src/main/java/com/jzg/controller/EsmInsCompanyController.java

@@ -465,4 +465,17 @@ public class EsmInsCompanyController extends BaseController {
     public Map<String, String> getAllCompanyHierarchyPaths(){
         return esmInsCompanyService.getAllCompanyHierarchyPaths();
     }
+
+    /**
+     * 获取所有保险公司的对应关系
+     *
+     * @return HttpResult<Map<String,EsmInsCompany>> key是保险公司id, value是保险公司对象实体
+     * @author lipf
+     * @date 2026年5月23日09:06:47
+     */
+    @Operation(summary = "获取所有保险公司的对应关系")
+    @GetMapping("queryAllCompanyMap")
+    public HttpResult<Map<String,EsmInsCompany>> queryAllCompanyMap(){
+        return HttpResult.ok(esmInsCompanyService.queryAllCompanyMap());
+    }
 }

+ 10 - 1
platform/src/main/java/com/jzg/service/EsmInsCompanyService.java

@@ -151,7 +151,16 @@ public interface EsmInsCompanyService extends IService<EsmInsCompany> {
      * Key: 公司ID
      * Value: 总公司/分公司/支公司
      */
-    public Map<String, String> getAllCompanyHierarchyPaths();
+    Map<String, String> getAllCompanyHierarchyPaths();
+
+    /**
+     * 获取所有保险公司的全路径名称
+     *
+     * @return Map<String,EsmInsCompany> value 表示保险公司信息
+     * @author lipf
+     * @date 2026/5/23 9:12
+     */
+    Map<String,EsmInsCompany> queryAllCompanyMap();
 }
 
 

+ 20 - 0
platform/src/main/java/com/jzg/service/impl/EsmInsCompanyServiceImpl.java

@@ -1,6 +1,7 @@
 package com.jzg.service.impl;
 
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -387,6 +388,25 @@ public class EsmInsCompanyServiceImpl extends ServiceImpl<EsmInsCompanyMapper, E
         return pathCache;
     }
 
+    /**
+     * 获取所有保险公司的全路径名称
+     *
+     * @return Map<String,EsmInsCompany> value 表示保险公司信息
+     * @author lipf
+     * @date 2026/5/23 9:12
+     */
+    @Override
+    public Map<String,EsmInsCompany> queryAllCompanyMap(){
+        // 1. 查询所有未删除的保险公司(一次性加载,避免循环查库)
+        List<EsmInsCompany> allCompanies = baseMapper.selectList(null);
+        allCompanies = allCompanies.stream().filter(action->action.getIsDelete()==0).toList();
+        // 2. 将列表转换为 Map,以便通过 ID 快速查找对象 (ID -> Company Object)
+        Map<String, EsmInsCompany> companyMap = allCompanies.stream()
+                .collect(Collectors.toMap(EsmInsCompany::getId, c -> c));
+        log.debug("查询出[{}]个有效的保险公司", CollUtil.size(allCompanies));
+        return companyMap;
+    }
+
     /**
      * 递归构建单个公司的路径(带缓存优化,防止重复计算)
      */

+ 11 - 1
tenant/organization/src/main/java/com/jzg/organization/client/EsmInsCompanyClient.java

@@ -21,7 +21,17 @@ public interface EsmInsCompanyClient {
      * Value: 总公司/分公司/支公司
      */
     @GetMapping("esmInsCompany/getAllCompanyHierarchyPaths")
-    public Map<String, String> getAllCompanyHierarchyPaths();
+    Map<String, String> getAllCompanyHierarchyPaths();
+
+    /**
+     * 获取所有保险公司的对应关系
+     *
+     * @return HttpResult<Map<String,EsmInsCompany>> key是保险公司id, value是保险公司对象实体
+     * @author lipf
+     * @date 2026年5月23日09:06:47
+     */
+    @GetMapping("esmInsCompany/queryAllCompanyMap")
+    HttpResult<Map<String,EsmInsCompany>> queryAllCompanyMap();
 
     /**
      * 根据id获取保险公司信息

+ 2 - 1
tenant/organization/src/main/java/com/jzg/organization/controller/ReceivableController.java

@@ -6,6 +6,7 @@ import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.finance.dto.CompanySuperviseSettlementReportDto;
 import com.jzg.commons.entity.finance.dto.ExportSuperviseSettlementExcelDto;
+import com.jzg.commons.entity.finance.dto.ReceiverSettlementReportDto;
 import com.jzg.commons.entity.finance.po.InsPlyIncome;
 import com.jzg.commons.entity.finance.po.InsPlyIncomeInvoiceSettlement;
 import com.jzg.commons.entity.finance.vo.*;
@@ -386,7 +387,7 @@ public class ReceivableController {
 
     @PostMapping("receiverSettlementReport")
     @Operation(summary = "对接人结算报表")
-    public HttpResult receiverSettlementReport(@RequestBody SettlementReportQueryVo settlementReportQueryVo) {
+    public HttpResult<Page<ReceiverSettlementReportDto>> receiverSettlementReport(@RequestBody SettlementReportQueryVo settlementReportQueryVo) {
         Page page = settlementReportQueryVo.getPage();
         return HttpResult.ok(receivableService.receiverSettlementReport(page,settlementReportQueryVo));
     }

+ 6 - 0
tenant/organization/src/main/java/com/jzg/organization/service/ReceivableService.java

@@ -268,6 +268,12 @@ public interface ReceivableService extends IService<InsPlyIncome> {
      */
     List<CompanySuperviseSettlementReportDto> companySuperviseSettlementReport(SettlementReportQueryVo settlementReportQueryVo);
 
+    /**
+     * 对接人结算报表
+     *
+     * @author modify by lipf
+     * @date 2026/5/23 8:57
+     */
     Page<ReceiverSettlementReportDto> receiverSettlementReport(Page page,SettlementReportQueryVo settlementReportQueryVo);
 
     void exportReceiverSettlementReportExcel(Page page,SettlementReportQueryVo settlementReportQueryVo);

+ 22 - 1
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -1853,7 +1853,28 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
 
     @Override
     public Page<ReceiverSettlementReportDto> receiverSettlementReport(Page page, SettlementReportQueryVo settlementReportQueryVo) {
-        return baseMapper.getReceiverSettlementReport(page, settlementReportQueryVo);
+        log.info("平台协议应收-结算报表-对接人结算报表查询。 settlementReportQueryVo=[{}]", JSONUtil.toJsonStr(settlementReportQueryVo));
+        Page<ReceiverSettlementReportDto> receiverSettlementReport = baseMapper.getReceiverSettlementReport(page, settlementReportQueryVo);
+        List<ReceiverSettlementReportDto> records = receiverSettlementReport.getRecords();
+        if(CollUtil.isNotEmpty(records)) {
+            HttpResult<Map<String, EsmInsCompany>> mapHttpResult = esmInsCompanyClient.queryAllCompanyMap();
+            Map<String, EsmInsCompany> esmInsCompanyMap;
+            if(mapHttpResult.getCode() == 200) {
+                esmInsCompanyMap = mapHttpResult.getData();
+            } else {
+                esmInsCompanyMap = new HashMap<>();
+            }
+            Map<String, String> allCompanyHierarchyPaths = esmInsCompanyClient.getAllCompanyHierarchyPaths();
+            records = records.stream().peek(action->{
+                EsmInsCompany esmInsCompany = esmInsCompanyMap.get(Objects.toString(action.getCompanyId()));
+                if(esmInsCompany != null) {
+                    action.setCompanyName(esmInsCompany.getNameSimple());
+                }
+                action.setCompanyALlName(allCompanyHierarchyPaths.get(action.getCompanyId()));
+            }).toList();
+            receiverSettlementReport.setRecords(records);
+        }
+        return receiverSettlementReport;
     }
 
     @Override

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

@@ -1100,7 +1100,7 @@
                 LEFT JOIN ins_ply_income_invoice_settlement ipiis ON ipii.id = ipiis.invoice_id
                 LEFT JOIN esm_ins_company eic on eic.id = ipii.company_id
         WHERE
-            1=1
+            1=1 and ipii.is_delete = 0
         <if test="invoiceRecordQueryVo.invoiceType != null and invoiceRecordQueryVo.invoiceType != ''">
             AND ipii.invoice_type = #{invoiceRecordQueryVo.invoiceType}
         </if>
@@ -1342,7 +1342,7 @@
     <select id="getReceiverSettlementReport" resultType="com.jzg.commons.entity.finance.dto.ReceiverSettlementReportDto">
         SELECT
             ipi.contact_person AS receiver,
-            ipi.company_name AS companyName,
+            ipi.company_id,
             -- 原有的应收费用合计
             SUM(ipi.jq_supervise_costs_premiums + ipi.sy_supervise_costs_premiums + ipi.jy_supervise_costs_premiums) AS superviseFee,
             SUM(ipi.jq_other_costs_premiums + ipi.sy_other_costs_premiums + ipi.jy_other_costs_premiums) AS followFee,
@@ -1378,7 +1378,7 @@
         </if>
         GROUP BY
             ipi.contact_person,
-            ipi.company_name
+            ipi.company_id
     </select>
     <!-- 根据发票序号查询结算明细 lipf 2026年5月15日10:58:36 -->
     <select id="queryInvoiceSettlementByInvoiceId"