Kaynağa Gözat

Merge branch 'dev_jzg_lipf_v20260622'

lipf 1 ay önce
ebeveyn
işleme
e0e2b7a80b

+ 14 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/ExportParamVO.java

@@ -0,0 +1,14 @@
+package com.jzg.commons.entity.finance.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Data
+public class ExportParamVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 5976191966692927707L;
+    private String type;
+}

+ 230 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/InvoiceReceivableExportExcelVo4Platform.java

@@ -0,0 +1,230 @@
+package com.jzg.commons.entity.finance.vo;
+
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.jzg.commons.core.base.BaseModel;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+import java.util.Objects;
+
+/**
+ * @author tz
+ * @description 应收查询VO
+ * @createDate 2024-06-26 10:49:31
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@Schema(description = "财务应收表")
+public class InvoiceReceivableExportExcelVo4Platform extends BaseModel  {
+
+    @Serial
+    private static final long serialVersionUID = 6263862008363938379L;
+
+
+    @Schema(description = "车牌号")
+    @ExcelProperty(value = "车牌号", index = 0)
+    private String licenseNo;
+
+    @Schema(description = "交强险保单号")
+    @ExcelProperty(value = "交强险保单号", index = 1)
+    private String jqPolicyNo;
+
+    @Schema(description = "商业险保单号")
+    @ExcelProperty(value = "商业险保单号", index = 2)
+    private String syPolicyNo;
+
+    @Schema(description = "非车险保单号")
+    @ExcelProperty(value = "非车险保单号", index = 3)
+    private String jyPolicyNo;
+
+
+
+    @Schema(description = "交强险入口比例")
+    @ExcelProperty(value = "交强险入口比例(%)", index = 4)
+    private String jqInletRatio;
+
+//    @Schema(description = "交强险手续费比例")
+//    @ExcelProperty(value = "交强险手续费比例(%)", index = 5)
+//    private String jqSuperviseCostsProportion;
+//
+//    @Schema(description = "交强险跟单费比例")
+//    @ExcelProperty(value = "交强险跟单费比例(%)", index = 6)
+//    private String jqOtherCostsProportion;
+
+
+    @Schema(description = "商业险入口比例")
+    @ExcelProperty(value = "商业险入口比例(%)", index = 5)
+    private String syInletRatio;
+
+//    @Schema(description = "商业险手续费比例")
+//    @ExcelProperty(value = "商业险手续费比例(%)", index = 8)
+//    private String sySuperviseCostsProportion;
+//
+//    @Schema(description = "商业险跟单费比例")
+//    @ExcelProperty(value = "商业险跟单费比例(%)", index = 9)
+//    private String syOtherCostsProportion;
+
+    @Schema(description = "非车险入口比例")
+    @ExcelProperty(value = "非车险入口比例(%)", index = 6)
+    private String jyInletRatio;
+
+//    @Schema(description = "非车险手续费比例")
+//    @ExcelProperty(value = "非车险手续费比例(%)", index = 11)
+//    private String jySuperviseCostsProportion;
+//
+//    @Schema(description = "非车险跟单费比例")
+//    @ExcelProperty(value = "非车险跟单费比例(%)", index = 12)
+//    private String jyOtherCostsProportion;
+
+
+    @Schema(description = "选中类型")
+    @ExcelIgnore
+    // 1 全部数据选中  2 选中部分数据
+    private String selectedType;
+
+
+
+    @Schema(description = "订单号")
+    @ExcelIgnore
+    private String orderNo;
+
+    @Schema(description = "id")
+    @ExcelIgnore
+    private String id;
+
+    @Schema(description = "签单时间")
+    @ExcelIgnore
+    private String signingTime;
+
+    @Schema(description = "协议类型")
+    @ExcelIgnore
+    private String agreementType;
+
+
+    @Schema(description = "险种名称")
+    @ExcelIgnore
+//    @ExcelProperty(value = "险种名称", index = 3)
+    private String productName;
+
+    @Schema(description = "被保险人姓名")
+    @ExcelIgnore
+    private String insuredPerson;
+
+    @Schema(description = "公司名称")
+    @ExcelIgnore
+    private String companyName;
+
+    @Schema(description = "对接人")
+    @ExcelIgnore
+    private String contactPerson;
+
+    @Schema(description = "对接人手机号")
+    @ExcelIgnore
+    private String contactPersonPhone;
+
+    @Schema(description = "错误信息")
+    @ExcelIgnore
+    private String errorMessage;
+
+    public ImportResultVo checkEmpty(){
+        ImportResultVo resultVo = new ImportResultVo();
+        resultVo.setSuccess(false);
+        // 基础必填字段校验
+        if (StrUtil.isBlank(this.getSigningTime())) {
+            resultVo.setMessage("签单时间不能为空");
+            return resultVo;
+        }
+        if (StrUtil.isBlank(this.getOrderNo())) {
+            resultVo.setMessage("订单号不能为空");
+            return resultVo;
+        }
+        if (StrUtil.isBlank(this.getLicenseNo())) {
+            resultVo.setMessage("车牌号不能为空");
+            return resultVo;
+        }
+        if (StrUtil.isBlank(this.getProductName())) {
+            resultVo.setMessage("险种名称不能为空");
+            return resultVo;
+        }
+        if (StrUtil.isBlank(this.getInsuredPerson())) {
+            resultVo.setMessage("被保险人姓名不能为空");
+            return resultVo;
+        }
+        if (StrUtil.isBlank(this.getAgreementType())) {
+            resultVo.setMessage("协议类型不能为空");
+            return resultVo;
+        }
+        if (StrUtil.isBlank(this.getContactPerson())) {
+            resultVo.setMessage("对接人不能为空");
+            return resultVo;
+        }
+        if (StrUtil.isBlank(this.getAgreementType())) {
+            resultVo.setMessage("对接人手机号不能为空");
+            return resultVo;
+        }
+
+        // 交强险:有保单号 → 手续费、跟单费必填
+//        if (StrUtil.isNotBlank(this.getJqPolicyNo())
+//                || StrUtil.isNotBlank(this.getJqSuperviseCostsProportion())
+//                || StrUtil.isNotBlank(this.getJqOtherCostsProportion())) {
+//            if (StrUtil.isBlank(this.getJqPolicyNo())) {
+//                resultVo.setMessage("交强险保单号不能为空");
+//                return resultVo;
+//            }
+//            if (StrUtil.isBlank(this.getJqSuperviseCostsProportion())) {
+//                resultVo.setMessage("交强险手续费比例不能为空");
+//                return resultVo;
+//            }
+//            if (StrUtil.isBlank(this.getJqOtherCostsProportion())) {
+//                resultVo.setMessage("交强险跟单费比例不能为空");
+//                return resultVo;
+//            }
+//        }
+
+        // 商业险:有保单号 → 手续费、跟单费必填
+//        if (StrUtil.isNotBlank(this.getSyPolicyNo())
+//                || StrUtil.isNotBlank(this.getSySuperviseCostsProportion())
+//                || StrUtil.isNotBlank(this.getSyOtherCostsProportion())) {
+//            if (StrUtil.isBlank(this.getJqPolicyNo())) {
+//                resultVo.setMessage("商业险保单号不能为空");
+//                return resultVo;
+//            }
+//            if (StrUtil.isBlank(this.getSySuperviseCostsProportion())) {
+//                resultVo.setMessage("商业险手续费比例不能为空");
+//                return resultVo;
+//            }
+//            if (StrUtil.isBlank(this.getSyOtherCostsProportion())) {
+//                resultVo.setMessage("商业险跟单费比例不能为空");
+//                return resultVo;
+//            }
+//        }
+
+        // 非车险:有保单号 → 手续费、跟单费必填
+//        if (StrUtil.isNotBlank(this.getJyPolicyNo())
+//                || StrUtil.isNotBlank(this.getJySuperviseCostsProportion())
+//                || StrUtil.isNotBlank(this.getJyOtherCostsProportion())) {
+//            if (StrUtil.isBlank(this.getJqPolicyNo())) {
+//                resultVo.setMessage("非车险保单号不能为空");
+//                return resultVo;
+//            }
+//            if (StrUtil.isBlank(this.getJySuperviseCostsProportion())) {
+//                resultVo.setMessage("非车险手续费比例不能为空");
+//                return resultVo;
+//            }
+//            if (StrUtil.isBlank(this.getJyOtherCostsProportion())) {
+//                resultVo.setMessage("非车险跟单费比例不能为空");
+//                return resultVo;
+//            }
+//        }
+
+        if(Objects.isNull(resultVo.getMessage())){
+            resultVo.setSuccess(true);
+        }
+        return resultVo;
+    }
+
+}

+ 64 - 45
commons/src/main/java/com/jzg/commons/entity/finance/vo/InvoiceReceivableExportExcelVo.java → commons/src/main/java/com/jzg/commons/entity/finance/vo/InvoiceReceivableExportExcelVo4Private.java

@@ -19,90 +19,109 @@ import java.util.Objects;
 @EqualsAndHashCode(callSuper = true)
 @Data
 @Schema(description = "财务应收表")
-public class InvoiceReceivableExportExcelVo extends BaseModel  {
+public class InvoiceReceivableExportExcelVo4Private extends BaseModel  {
 
     @Serial
     private static final long serialVersionUID = 6263862008363938379L;
 
-    @Schema(description = "选中类型")
-    @ExcelIgnore
-    // 1 全部数据选中  2 选中部分数据
-    private String selectedType;
-
-    @Schema(description = "id")
-    @ExcelIgnore
-    private String id;
-
-    @Schema(description = "签单时间")
-    @ExcelProperty(value = "签单时间", index = 0)
-    private String signingTime;
-
-    @Schema(description = "协议类型")
-    @ExcelProperty(value = "协议类型", index = 1)
-    private String agreementType;
 
     @Schema(description = "车牌号")
-    @ExcelProperty(value = "车牌号", index = 2)
+    @ExcelProperty(value = "车牌号", index = 0)
     private String licenseNo;
 
-    @Schema(description = "险种名称")
-    @ExcelProperty(value = "险种名称", index = 3)
-    private String productName;
+    @Schema(description = "交强险保单号")
+    @ExcelProperty(value = "交强险保单号", index = 1)
+    private String jqPolicyNo;
 
-    @Schema(description = "被保险人姓名")
-    @ExcelProperty(value = "被保险人姓名", index = 4)
-    private String insuredPerson;
+    @Schema(description = "商业险保单号")
+    @ExcelProperty(value = "商业险保单号", index = 2)
+    private String syPolicyNo;
+
+    @Schema(description = "非车险保单号")
+    @ExcelProperty(value = "非车险保单号", index = 3)
+    private String jyPolicyNo;
 
-    @Schema(description = "订单号")
-    @ExcelProperty(value = "订单号", index = 5)
-    private String orderNo;
 
-    @Schema(description = "交强险保单号")
-    @ExcelProperty(value = "交强险保单号", index = 6)
-    private String jqPolicyNo;
+
+//    @Schema(description = "交强险入口比例")
+//    @ExcelProperty(value = "交强险入口比例(%)", index = 4)
+//    private String jqInletRatio;
 
     @Schema(description = "交强险手续费比例")
-    @ExcelProperty(value = "交强险手续费比例(%)", index = 7)
+    @ExcelProperty(value = "交强险手续费比例(%)", index = 4)
     private String jqSuperviseCostsProportion;
 
     @Schema(description = "交强险跟单费比例")
-    @ExcelProperty(value = "交强险跟单费比例(%)", index = 8)
+    @ExcelProperty(value = "交强险跟单费比例(%)", index = 5)
     private String jqOtherCostsProportion;
 
-    @Schema(description = "商业险保单号")
-    @ExcelProperty(value = "商业险保单号", index = 9)
-    private String syPolicyNo;
+
+//    @Schema(description = "商业险入口比例")
+//    @ExcelProperty(value = "商业险入口比例(%)", index = 7)
+//    private String syInletRatio;
 
     @Schema(description = "商业险手续费比例")
-    @ExcelProperty(value = "商业险手续费比例(%)", index = 10)
+    @ExcelProperty(value = "商业险手续费比例(%)", index = 6)
     private String sySuperviseCostsProportion;
 
     @Schema(description = "商业险跟单费比例")
-    @ExcelProperty(value = "商业险跟单费比例(%)", index = 11)
+    @ExcelProperty(value = "商业险跟单费比例(%)", index = 7)
     private String syOtherCostsProportion;
 
-    @Schema(description = "非车险保单号")
-    @ExcelProperty(value = "非车险保单号", index = 12)
-    private String jyPolicyNo;
+//    @Schema(description = "非车险入口比例")
+//    @ExcelProperty(value = "非车险入口比例(%)", index = 10)
+//    private String jyInletRatio;
 
     @Schema(description = "非车险手续费比例")
-    @ExcelProperty(value = "非车险手续费比例(%)", index = 13)
+    @ExcelProperty(value = "非车险手续费比例(%)", index = 8)
     private String jySuperviseCostsProportion;
 
     @Schema(description = "非车险跟单费比例")
-    @ExcelProperty(value = "非车险跟单费比例(%)", index = 14)
+    @ExcelProperty(value = "非车险跟单费比例(%)", index = 9)
     private String jyOtherCostsProportion;
 
+
+    @Schema(description = "选中类型")
+    @ExcelIgnore
+    // 1 全部数据选中  2 选中部分数据
+    private String selectedType;
+
+    @Schema(description = "订单号")
+    @ExcelIgnore
+    private String orderNo;
+
+    @Schema(description = "id")
+    @ExcelIgnore
+    private String id;
+
+    @Schema(description = "签单时间")
+    @ExcelIgnore
+    private String signingTime;
+
+    @Schema(description = "协议类型")
+    @ExcelIgnore
+    private String agreementType;
+
+
+    @Schema(description = "险种名称")
+    @ExcelIgnore
+//    @ExcelProperty(value = "险种名称", index = 3)
+    private String productName;
+
+    @Schema(description = "被保险人姓名")
+    @ExcelIgnore
+    private String insuredPerson;
+
     @Schema(description = "公司名称")
-    @ExcelProperty(value = "公司名称", index = 15)
+    @ExcelIgnore
     private String companyName;
 
     @Schema(description = "对接人")
-    @ExcelProperty(value = "对接人", index = 16)
+    @ExcelIgnore
     private String contactPerson;
 
     @Schema(description = "对接人手机号")
-    @ExcelProperty(value = "对接人手机号", index = 17)
+    @ExcelIgnore
     private String contactPersonPhone;
 
     @Schema(description = "错误信息")

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

@@ -140,10 +140,17 @@ public class ReceivableController {
         return HttpResult.ok(importExcelResultVo);
     }
 
+    /**
+     * 导入应收的模板
+     *
+     * @param paramVO  10 表示私有协议 20 表示平台协议
+     * @author lipf
+     * @date 2026/8/3 10:23
+     */
     @PostMapping("/exportAccountsReceivableInvoiceTemplate")
     @Operation(summary = "导出应收开票模板")
-    public HttpResult<String> exportAccountsReceivableInvoiceTemplate(){
-        String receivablePageIds = receivableService.exportAccountsReceivableInvoiceTemplate();
+    public HttpResult<String> exportAccountsReceivableInvoiceTemplate(@RequestBody ExportParamVO paramVO){
+        String receivablePageIds = receivableService.exportAccountsReceivableInvoiceTemplate(paramVO.getType());
         return HttpResult.ok(receivablePageIds);
     }
 

+ 5 - 6
tenant/organization/src/main/java/com/jzg/organization/excel/listener/InvoiceReceivbleExcelListener.java

@@ -2,17 +2,16 @@ package com.jzg.organization.excel.listener;
 
 import com.alibaba.excel.context.AnalysisContext;
 import com.alibaba.excel.event.AnalysisEventListener;
-import com.jzg.commons.entity.finance.vo.InvoiceReceivableExportExcelVo;
-import com.jzg.commons.entity.finance.vo.ReceivableExportExcelVo;
+import com.jzg.commons.entity.finance.vo.InvoiceReceivableExportExcelVo4Private;
 
 import java.util.ArrayList;
 import java.util.List;
 
-public class InvoiceReceivbleExcelListener extends AnalysisEventListener<InvoiceReceivableExportExcelVo> {
-    private final List<InvoiceReceivableExportExcelVo> dataList = new ArrayList<>();
+public class InvoiceReceivbleExcelListener extends AnalysisEventListener<InvoiceReceivableExportExcelVo4Private> {
+    private final List<InvoiceReceivableExportExcelVo4Private> dataList = new ArrayList<>();
 
     @Override
-    public void invoke(InvoiceReceivableExportExcelVo data, AnalysisContext context) {
+    public void invoke(InvoiceReceivableExportExcelVo4Private data, AnalysisContext context) {
         dataList.add(data);
     }
 
@@ -21,7 +20,7 @@ public class InvoiceReceivbleExcelListener extends AnalysisEventListener<Invoice
         System.out.println("Total rows: " + dataList.size());
     }
 
-    public List<InvoiceReceivableExportExcelVo> getDataList() {
+    public List<InvoiceReceivableExportExcelVo4Private> getDataList() {
         return dataList;
     }
 }

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

@@ -417,10 +417,13 @@ public interface ReceivableService extends IService<InsPlyIncome> {
     ImportUpdateExcelResultVo importReceivableListUpdate(MultipartFile file);
 
     /**
-     * 导出应收开票模板
-     * @return
+     * 导入应收的模板
+     *
+     * @param type  10 表示私有协议 20 表示平台协议
+     * @author lipf
+     * @date 2026/8/3 10:23
      */
-    String exportAccountsReceivableInvoiceTemplate();
+    String exportAccountsReceivableInvoiceTemplate(String type);
 
     /**
      * 导入应收开票数据

+ 40 - 20
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -2346,18 +2346,37 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
 
     /**
      * 导出应收开票模板
+     *
+     * @param type  10 表示私有协议 20 表示平台协议
      * @return String 导出时的提示信息
+     * @author lipf
+     * @date 2026/8/3 10:23
      */
     @Override
-    public String exportAccountsReceivableInvoiceTemplate() {
-        List<InvoiceReceivableExportExcelVo> emptyList = ListUtil.empty();
-
+    public String exportAccountsReceivableInvoiceTemplate(String type) {
+        log.info("导出模板: type=[{}]",type);
+        // List<InvoiceReceivableExportExcelVo4Private> emptyList = ListUtil.empty();
+
+        if("10".equals(type)){
+            // 调用动态导出
+            return exportBaseService.upLoadFile(
+                    InvoiceReceivableExportExcelVo4Private.class,
+                    ListUtil.empty(),
+                    "应收开票-导出模板(私有)-" + Instant.now()
+            );
+        }
+        else if("20".equals(type) || StrUtil.isEmpty(type)){
+            // 调用动态导出
+            return exportBaseService.upLoadFile(
+                    InvoiceReceivableExportExcelVo4Platform.class,
+                    ListUtil.empty(),
+                    "应收开票-导出模板(平台)-" + Instant.now());
+        }
         // 调用动态导出
         return exportBaseService.upLoadFile(
-                InvoiceReceivableExportExcelVo.class,
-                emptyList,
-                "应收开票-导出模板-" + Instant.now()
-        );
+                InvoiceReceivableExportExcelVo4Platform.class,
+                ListUtil.empty(),
+                "应收开票-导出模板(平台)-" + Instant.now());
     }
 
     /**
@@ -2394,7 +2413,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         String userName = baseController.getUserName();
         log.info("用户[{}]导入平台协议文件",userName);
         ImportUpdateExcelResultVo importExcelResultVo = new ImportUpdateExcelResultVo();
-        List<InvoiceReceivableExportExcelVo> receivableExportExcelVos = importInvoiceReceivableExcel(file);
+        List<InvoiceReceivableExportExcelVo4Private> receivableExportExcelVos = importInvoiceReceivableExcel(file);
         if (CollUtil.isEmpty(receivableExportExcelVos)){
             throw new SystemException("数据不能为空,导入失败");
         }
@@ -2405,7 +2424,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         List<EsmInsCompany> esmInsCompanyList = CollUtil.isNotEmpty(listHttpResult.getData()) ? listHttpResult.getData() : CollUtil.newArrayList();
 
         int failedNumber = 0;
-        List<InvoiceReceivableExportExcelVo> failedExcel = new ArrayList<>();
+        List<InvoiceReceivableExportExcelVo4Private> failedExcel = new ArrayList<>();
         // 只存储需要【修改】的数据
         List<InsPlyIncome> updateExcel = new ArrayList<>();
         List<InsPlyIncome> insertExcel = new ArrayList<>();
@@ -2417,7 +2436,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         Set<String> repeatPolicyNoSet = new HashSet<>();
         Set<String> existCompanyIdSet = new HashSet<>();
 
-        for (InvoiceReceivableExportExcelVo vo : receivableExportExcelVos) {
+        for (InvoiceReceivableExportExcelVo4Private vo : receivableExportExcelVos) {
             String policyNo = vo.getJqPolicyNo();
             if (existPolicyNoSet.contains(policyNo)) {
                 repeatPolicyNoSet.add(policyNo);
@@ -2433,7 +2452,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         }
 
         // 处理数据
-        for (InvoiceReceivableExportExcelVo vo : receivableExportExcelVos) {
+        for (InvoiceReceivableExportExcelVo4Private vo : receivableExportExcelVos) {
             // 1. 空数据校验
             ImportResultVo resultVo = vo.checkEmpty();
             if (!resultVo.isSuccess()) {
@@ -2494,7 +2513,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
      *
      * @return List<InvoiceReceivableExportExcelVo> 处理后的数据列表
      */
-    private void getDataManipulationResult(List<InsPlyIncome> updateExcel, List<InsPlyIncome> insertExcel, List<InvoiceReceivableExportExcelVo> failedExcel, ImportUpdateExcelResultVo importExcelResultVo, int failedNumber, List<String> successOrderNoList) {
+    private void getDataManipulationResult(List<InsPlyIncome> updateExcel, List<InsPlyIncome> insertExcel, List<InvoiceReceivableExportExcelVo4Private> failedExcel, ImportUpdateExcelResultVo importExcelResultVo, int failedNumber, List<String> successOrderNoList) {
         // 执行批量更新
         if (CollUtil.isNotEmpty(updateExcel)) {
             baseMapper.updateById(updateExcel);
@@ -2506,7 +2525,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         String failFileUrl = "";
         if (CollUtil.isNotEmpty(failedExcel)) {
             failFileUrl = exportBaseService.upLoadFile(
-                    InvoiceReceivableExportExcelVo.class,
+                    InvoiceReceivableExportExcelVo4Private.class,
                     failedExcel,
                     "平台协议应收-导入失败-" + Instant.now()
             );
@@ -2531,7 +2550,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         String userName = baseController.getUserName();
         log.info("用户[{}]导入平台协议文件",userName);
         ImportUpdateExcelResultVo importExcelResultVo = new ImportUpdateExcelResultVo();
-        List<InvoiceReceivableExportExcelVo> receivableExportExcelVos = importInvoiceReceivableExcel(file);
+        List<InvoiceReceivableExportExcelVo4Private> receivableExportExcelVos = importInvoiceReceivableExcel(file);
         if (CollUtil.isEmpty(receivableExportExcelVos)){
             throw new SystemException("数据不能为空,导入失败");
         }
@@ -2542,7 +2561,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         List<EsmInsCompany> esmInsCompanyList = CollUtil.isNotEmpty(listHttpResult.getData()) ? listHttpResult.getData() : CollUtil.newArrayList();
 
         int failedNumber = 0;
-        List<InvoiceReceivableExportExcelVo> failedExcel = new ArrayList<>();
+        List<InvoiceReceivableExportExcelVo4Private> failedExcel = new ArrayList<>();
         // 只存储需要【修改】的数据
         List<InsPlyIncome> updateExcel = new ArrayList<>();
         List<InsPlyIncome> insertExcel = new ArrayList<>();
@@ -2554,7 +2573,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         Set<String> repeatPolicyNoSet = new HashSet<>();
         Set<String> existCompanyIdSet = new HashSet<>();
 
-        for (InvoiceReceivableExportExcelVo vo : receivableExportExcelVos) {
+        for (InvoiceReceivableExportExcelVo4Private vo : receivableExportExcelVos) {
             String policyNo = vo.getJqPolicyNo();
             if (existPolicyNoSet.contains(policyNo)) {
                 repeatPolicyNoSet.add(policyNo);
@@ -2566,11 +2585,12 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
 
         // 导入只能一个保司
         if (existCompanyIdSet.size() > 1) {
+            log.info("导入数据不能包含多个保险公司. existCompanyIdSet=[{}]", JSONUtil.toJsonStr(existCompanyIdSet));
             throw new SystemException("导入数据不能包含多个保险公司");
         }
 
         // 处理数据
-        for (InvoiceReceivableExportExcelVo vo : receivableExportExcelVos) {
+        for (InvoiceReceivableExportExcelVo4Private vo : receivableExportExcelVos) {
             // 1. 空数据校验
             ImportResultVo resultVo = vo.checkEmpty();
             if (!resultVo.isSuccess()) {
@@ -2628,7 +2648,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
      * @param failedNumber
      * @param successOrderNoList
      */
-    private int spliceData(InvoiceReceivableExportExcelVo vo, PtlAgreement ptlAgreement, List<EsmInsCompany> esmInsCompanyList, List<InsPlyIncome> insertExcel, List<String> successOrderNoList, int failedNumber, List<InvoiceReceivableExportExcelVo> failedExcel, List<InsPlyIncome> updateExcel) {
+    private int spliceData(InvoiceReceivableExportExcelVo4Private vo, PtlAgreement ptlAgreement, List<EsmInsCompany> esmInsCompanyList, List<InsPlyIncome> insertExcel, List<String> successOrderNoList, int failedNumber, List<InvoiceReceivableExportExcelVo4Private> failedExcel, List<InsPlyIncome> updateExcel) {
         // 查询数据库中是否已存在该保单号
         InsPlyIncome existIncome = baseMapper.selectOne(new LambdaQueryWrapper<InsPlyIncome>()
                 .eq(InsPlyIncome::getJqPolicyNo, vo.getJqPolicyNo()));
@@ -3046,10 +3066,10 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         }
     }
 
-    public List<InvoiceReceivableExportExcelVo> importInvoiceReceivableExcel(MultipartFile file) {
+    public List<InvoiceReceivableExportExcelVo4Private> importInvoiceReceivableExcel(MultipartFile file) {
         InvoiceReceivbleExcelListener listener = new InvoiceReceivbleExcelListener();
         try (InputStream inputStream = file.getInputStream()) {
-            EasyExcel.read(inputStream, InvoiceReceivableExportExcelVo.class, listener)
+            EasyExcel.read(inputStream, InvoiceReceivableExportExcelVo4Private.class, listener)
                     .sheet()
                     .doRead();
             return listener.getDataList();