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

1.车险手续费批量导入以及数据验证
2.车险跟单批量导入以及数据验证
3.非车手续费批量导入以及数据验证
4.非车跟单批量导入以及数据验证
5.平台结算批量导入以及数据验证

hxl13994548489 1 год назад
Родитель
Сommit
3a948be5d8

+ 24 - 0
src/main/java/com/ydtech/modules/fnc/controller/InsPlyIncomeController.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.fnc.controller;
 
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.exception.SystemException;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.fnc.dto.InsPlyIncomePTCompanyDto;
 import com.ydtech.modules.fnc.dto.InsPlyIncomePTDto;
@@ -541,6 +542,29 @@ public class InsPlyIncomeController extends BaseController {
         return HttpResult.ok(result);
     }
 
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 10:53
+     *  @Description:   新增类型导入
+     */
+
+    @PostMapping("/importDataAddType")
+    @ApiOperation(value = "新增类型导入(excel)")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "file", value = "excel文件", required = true, dataType = "__file"),
+            @ApiImplicitParam(name = "type", value = "类型 1.车险手续费2.车险跟单3.非车手续费 4.非车跟单 5.平台结算", required = true)
+    })
+    public HttpResult<String> importDataAddType(@RequestParam("file")  MultipartFile file, @RequestParam("type") String type) {
+        try {
+            insPlyIncomeService.importDataAddType(file,type);
+            return HttpResult.ok("导入成功");
+        } catch (SystemException e) {
+            throw new SystemException(e.getMessage());
+        }catch (Exception e) {
+            throw new RuntimeException("导入失败");
+        }
+    }
 }
 
 

+ 171 - 0
src/main/java/com/ydtech/modules/fnc/entity/InsPlyIncome.java

@@ -7,6 +7,7 @@ import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -517,4 +518,174 @@ public class InsPlyIncome implements Serializable {
     public InsPlyIncome(String id, String jqpolicyno, String sypolicyno, Object o, Object o1, String deptId, Object o2, String productid, LocalDate payDate, LocalDate signingTime, String companyId, Object o3, String agreementId, String licenseno, BigDecimal taxamount, BigDecimal allNoTaxPremium, BigDecimal handlingProportion, Object o4, BigDecimal handlingAmount, BigDecimal handlingAmount1, Object o5, Object o6, LocalDate now, Object o7, Object o8, Object o9, String number, String number1, String number2, String number3) {
     }
 
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 16:24
+     *  @Description: 构造车险手续费
+     */
+    public InsPlyIncome(String signDate, String licenseno, String companyId, String companyName, String partnerCompaniesId, String partnerCompaniesName, String riskcode, String agreementId, String deptId, String insuredName, String policyno, String syPolicyno, String jqPremium, String syPremium, String taxamount, String jqSuperviseCostsProportion, String sySuperviseCostsProportion, String commissionFeevalue, String addType) {
+        LocalDateTime dateTime = LocalDateTime.parse(signDate, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+        this.signDate = dateTime;
+        this.licenseno = licenseno;
+        this.companyId = companyId;
+        this.companyName = companyName;
+        this.partnerCompaniesId = partnerCompaniesId;
+        this.partnerCompaniesName = partnerCompaniesName;
+        this.riskcode = riskcode;
+        this.agreementId  =agreementId;
+        this.deptId = deptId;
+        this.insuredName = insuredName;
+        this.policyno  = policyno;
+        this.syPolicyno = syPolicyno;
+        this.jqPremium = new BigDecimal(jqPremium);
+        this.syPremium = new BigDecimal(syPremium);
+        this.taxamount = new BigDecimal(taxamount);
+        this.jqSuperviseCostsProportion = new BigDecimal(jqSuperviseCostsProportion);
+        this.sySuperviseCostsProportion = new BigDecimal(sySuperviseCostsProportion);
+        this.commissionFeevalue =  new BigDecimal(commissionFeevalue);;
+        this.addType  = addType;
+        this.createTime = LocalDateTime.now();
+        this.handlingFeesStatus = "0";
+        this.isNotCar = "0";
+        this.isNotDocumentary = "0";
+        // 添加   车险手续费金额  =总金额
+        this.allFeeValue = new BigDecimal(commissionFeevalue);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 17:01
+     *  @Description:  车险跟单
+     */
+    public InsPlyIncome(String signDate, String licenseno, String companyId, String companyName, String partnerCompaniesId, String partnerCompaniesName, String riskcode, String agreementId, String deptId, String insuredName, String policyno, String syPolicyno, String jqPremium, String syPremium, String taxamount, String jqOtherCostsProportion, String syOtherCostsProportion, String otherFeevalue, String addType, String type) {
+        LocalDateTime dateTime = LocalDateTime.parse(signDate, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+        this.signDate = dateTime;
+        this.licenseno = licenseno;
+        this.companyId = companyId;
+        this.companyName = companyName;
+        this.partnerCompaniesId = partnerCompaniesId;
+        this.partnerCompaniesName = partnerCompaniesName;
+        this.riskcode = riskcode;
+        this.agreementId  =agreementId;
+        this.deptId = deptId;
+        this.insuredName = insuredName;
+        this.policyno  = policyno;
+        this.syPolicyno = syPolicyno;
+        this.jqPremium = new BigDecimal(jqPremium);
+        this.syPremium = new BigDecimal(syPremium);
+        this.taxamount = new BigDecimal(taxamount);
+        this.jqOtherCostsProportion = new BigDecimal(jqOtherCostsProportion);
+        this.syOtherCostsProportion = new BigDecimal(syOtherCostsProportion);
+        this.otherFeevalue =  new BigDecimal(otherFeevalue);;
+        this.addType  = addType;
+        this.createTime = LocalDateTime.now();
+        this.handlingFeesStatus = "0";
+        this.isNotCar = "0";
+        this.isNotDocumentary = "1";
+        // 添加   车险跟单费金额  =总金额
+        this.allFeeValue = new BigDecimal(otherFeevalue);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 17:06
+     *  @Description: 非车手续费
+     */
+    public InsPlyIncome(String signDate, String licenseno, String companyId, String companyName, String partnerCompaniesId, String partnerCompaniesName, String riskcode, String agreementId, String deptId, String insuredName, String noPolicyno, String noPremium, String noSuperviseCostsProportion, String taxamount, String noSuperviseCostsPremiums, String addType) {
+        LocalDateTime dateTime = LocalDateTime.parse(signDate, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+        this.signDate = dateTime;
+        this.licenseno = licenseno;
+        this.companyId = companyId;
+        this.companyName = companyName;
+        this.partnerCompaniesId = partnerCompaniesId;
+        this.partnerCompaniesName = partnerCompaniesName;
+        this.riskcode = riskcode;
+        this.agreementId  =agreementId;
+        this.deptId = deptId;
+        this.insuredName = insuredName;
+        this.noPolicyno  = noPolicyno;
+        this.noPremium = new BigDecimal(noPremium);
+        this.noSuperviseCostsProportion = new BigDecimal(noSuperviseCostsProportion);
+        this.noSuperviseCostsPremiums = new BigDecimal(noSuperviseCostsPremiums);
+        this.addType  = addType;
+        this.createTime = LocalDateTime.now();
+        this.handlingFeesStatus = "0";
+        this.isNotCar = "1";
+        this.isNotDocumentary = "0";
+        // 添加 非车跟单手续费金额  =手续费金额   非车跟单手续费金额  =总金额
+        this.commissionFeevalue =  new BigDecimal(noSuperviseCostsPremiums);;
+        this.allFeeValue = new BigDecimal(noSuperviseCostsPremiums);
+
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 17:12
+     *  @Description: 非车跟单
+     */
+    public InsPlyIncome(String signDate, String licenseno, String companyId, String companyName, String partnerCompaniesId, String partnerCompaniesName, String riskcode, String agreementId, String deptId, String insuredName, String noPolicyno, String noPremium, String noOtherCostsProportion, String noOtherCostsPremium, String addType) {
+        LocalDateTime dateTime = LocalDateTime.parse(signDate, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+        this.signDate = dateTime;
+        this.licenseno = licenseno;
+        this.companyId = companyId;
+        this.companyName = companyName;
+        this.partnerCompaniesId = partnerCompaniesId;
+        this.partnerCompaniesName = partnerCompaniesName;
+        this.riskcode = riskcode;
+        this.agreementId  =agreementId;
+        this.deptId = deptId;
+        this.insuredName = insuredName;
+        this.noPolicyno  = noPolicyno;
+        this.noPremium = new BigDecimal(noPremium);
+        this.noOtherCostsProportion = new BigDecimal(noOtherCostsProportion);
+        this.noOtherCostsPremium = new BigDecimal(noOtherCostsPremium);
+        this.addType  = addType;
+        this.createTime = LocalDateTime.now();
+        this.handlingFeesStatus = "0";
+        this.isNotCar = "1";
+        this.isNotDocumentary = "1";
+        // 添加 非车跟单金额  =非车跟单   非车跟单金额  =总金额
+        this.otherFeevalue =  new BigDecimal(noOtherCostsPremium);;
+        this.allFeeValue = new BigDecimal(noOtherCostsPremium);
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 17:23
+     *  @Description: 平台结算
+     */
+    public InsPlyIncome(String signDate, String licenseno, String companyId, String companyName, String partnerCompaniesId, String partnerCompaniesName, String riskcode, String agreementId, String deptId, String insuredName, String policyno, String syPolicyno, String jqPremium, String syPremium, String taxamount, String noPolicyno, String noPremium, String jqReceivableProportion, String syReceivableProportion, String noReceivableProportion, String receivableAmount, String addType) {
+        LocalDateTime dateTime = LocalDateTime.parse(signDate, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+        this.signDate = dateTime;
+        this.licenseno = licenseno;
+        this.companyId = companyId;
+        this.companyName = companyName;
+        this.partnerCompaniesId = partnerCompaniesId;
+        this.partnerCompaniesName = partnerCompaniesName;
+        this.riskcode = riskcode;
+        this.agreementId  =agreementId;
+        this.deptId = deptId;
+        this.insuredName = insuredName;
+        this.policyno  = policyno;
+        this.syPolicyno  = syPolicyno;
+        this.jqPremium = new BigDecimal(jqPremium);
+        this.syPremium = new BigDecimal(syPremium);
+        this.taxamount = new BigDecimal(taxamount);
+        this.noPolicyno  = noPolicyno;
+        this.noPremium = new BigDecimal(noPremium);
+        this.jqReceivableProportion = new BigDecimal(jqReceivableProportion);
+        this.syReceivableProportion = new BigDecimal(syReceivableProportion);
+        this.noReceivableProportion = new BigDecimal(noReceivableProportion);
+        this.receivableAmount = new BigDecimal(receivableAmount);
+        this.addType  = addType;
+        this.createTime = LocalDateTime.now();
+        this.handlingFeesStatus = "0";
+        this.isNotCar = "0";
+        this.isNotDocumentary = "0";
+        // 添加 应收金额  =非车跟单   应收金额  =总金额
+        this.otherFeevalue =  new BigDecimal(receivableAmount);;
+        this.allFeeValue = new BigDecimal(receivableAmount);
+    }
+
 }

+ 8 - 0
src/main/java/com/ydtech/modules/fnc/service/InsPlyIncomeService.java

@@ -21,6 +21,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -229,4 +230,11 @@ public interface InsPlyIncomeService extends IService<InsPlyIncome> {
      *  @Description: 通过对接人查询结算数据
      */
     List<InsPlyIncomePTCompanyDto> findListByDockingPerson(InsPlyIncomeQueryPTVo insPlyIncomeVo);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 14:13
+     *  @Description:  导出数据
+     */
+    void importDataAddType(MultipartFile file, String type) throws Exception;
 }

+ 142 - 0
src/main/java/com/ydtech/modules/fnc/service/impl/InsPlyIncomeServiceImpl.java

@@ -33,6 +33,8 @@ import com.ydtech.modules.fnc.service.*;
 import com.ydtech.modules.fnc.vo.*;
 import com.ydtech.modules.ins.model.vo.res.*;
 import com.ydtech.modules.inv.model.dto.*;
+import com.ydtech.modules.inv.model.excel.*;
+import com.ydtech.modules.inv.utils.CheckInsPlyComeUtils;
 import com.ydtech.modules.inv.utils.EasyExcelUtils;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.InsOrders;
@@ -3613,4 +3615,144 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
     public List<InsPlyIncomePTCompanyDto> findListByDockingPerson(InsPlyIncomeQueryPTVo insPlyIncomeVo) {
         return  baseMapper.findListByDockingPerson(insPlyIncomeVo);
     }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 14:14
+     *  @Description:  批量导入
+     */
+    @Override
+    public void importDataAddType(MultipartFile file, String type) throws Exception {
+        List<InsPlyIncome>  list  =new ArrayList<InsPlyIncome>();
+        //导入验证
+        if("1".equals(type)){
+            //车险手续费
+            List<AddTypeCXSXFExcel> dtoList = ExcelEasypoiUtils.importExcel(file, AddTypeCXSXFExcel.class, 0, 1, 1);
+            try{
+                list=checkData(type,dtoList,null,null,null,null);
+            }catch(SystemException e){
+                throw new SystemException(e.getMessage());
+            }
+        }else if("2".equals(type)){
+            //车险跟单
+            List<AddTypeCXGDExcel> dtoList = ExcelEasypoiUtils.importExcel(file, AddTypeCXGDExcel.class, 0, 1, 1);
+            try{
+                list=checkData(type,null,dtoList,null,null,null);
+            }catch(SystemException e){
+                throw new SystemException(e.getMessage());
+            }
+        }else if("3".equals(type)){
+            //非车手续费
+            List<AddTypeFCSXFExcel> dtoList = ExcelEasypoiUtils.importExcel(file, AddTypeFCSXFExcel.class, 0, 1, 1);
+            try{
+                list=checkData(type,null,null,dtoList,null,null);
+            }catch(SystemException e){
+                throw new SystemException(e.getMessage());
+            }
+
+        }else if("4".equals(type)){
+            //非车跟单
+            List<AddTypeFCGDExcel> dtoList = ExcelEasypoiUtils.importExcel(file, AddTypeFCGDExcel.class, 0, 1, 1);
+            try{
+                list=checkData(type,null,null,null,dtoList,null);
+            }catch(SystemException e){
+                throw new SystemException(e.getMessage());
+            }
+        }
+        else if("5".equals(type)){
+            //平台结算
+            List<AddTypePTJSExcel> dtoList = ExcelEasypoiUtils.importExcel(file, AddTypePTJSExcel.class, 0, 1, 1);
+            try{
+                list=checkData(type,null,null,null,null,dtoList);
+            }catch(SystemException e){
+                throw new SystemException(e.getMessage());
+            }
+
+        }
+        //批量插入
+        if(list!=null && list.size()>0){
+            this.saveBatch(list);
+        }
+
+    }
+
+    public  List<InsPlyIncome>   checkData(String type,List<AddTypeCXSXFExcel> cxsxfList,List<AddTypeCXGDExcel> cxgdList, List<AddTypeFCSXFExcel> fcsxfList, List<AddTypeFCGDExcel> fcgdList,List<AddTypePTJSExcel> ptjsList)  throws SystemException{
+        List<InsPlyIncome>  list  =new ArrayList<InsPlyIncome>();
+        if("1".equals(type)){
+            int index=1;
+            //车险手续费
+            if(cxsxfList!=null && cxsxfList.size()>0){
+                for(AddTypeCXSXFExcel dto : cxsxfList){
+                    index++;
+                    Map<String, Object> map = CheckInsPlyComeUtils.checkDataDto1(dto);
+                    if(!"".equals(map.get("msg"))){
+                        throw new SystemException("第" + index + "行数据" + map.get("msg").toString());
+                    }else{
+                        InsPlyIncome insPlyIncome = (InsPlyIncome)map.get("dto");
+                        list.add(insPlyIncome);
+                    }
+                }
+            }
+        }else if("2".equals(type)){
+            int index=1;
+            //车险跟单
+            if(cxgdList!=null && cxgdList.size()>0){
+                for(AddTypeCXGDExcel dto : cxgdList){
+                    index++;
+                    Map<String, Object> map = CheckInsPlyComeUtils.checkDataDto2(dto);
+                    if(!"".equals(map.get("msg"))){
+                        throw new SystemException("第" + index + "行数据" + map.get("msg").toString());
+                    }else{
+                        InsPlyIncome insPlyIncome = (InsPlyIncome)map.get("dto");
+                        list.add(insPlyIncome);
+                    }
+                }
+            }
+        }else if("3".equals(type)){
+            int index=1;
+            if(fcsxfList!=null && fcsxfList.size()>0){
+                for(AddTypeFCSXFExcel dto : fcsxfList){
+                    index++;
+                    Map<String, Object> map = CheckInsPlyComeUtils.checkDataDto3(dto);
+                    if(!"".equals(map.get("msg"))){
+                        throw new SystemException("第" + index + "行数据" + map.get("msg").toString());
+                    }else{
+                        InsPlyIncome insPlyIncome = (InsPlyIncome)map.get("dto");
+                        list.add(insPlyIncome);
+                    }
+                }
+            }
+        }else if("4".equals(type)){
+            int index=1;
+            if(fcgdList!=null && fcgdList.size()>0){
+                for(AddTypeFCGDExcel dto : fcgdList){
+                    index++;
+                    Map<String, Object> map = CheckInsPlyComeUtils.checkDataDto4(dto);
+                    if(!"".equals(map.get("msg"))){
+                        throw new SystemException("第" + index + "行数据" + map.get("msg").toString());
+                    }else{
+                        InsPlyIncome insPlyIncome = (InsPlyIncome)map.get("dto");
+                        list.add(insPlyIncome);
+                    }
+                }
+            }
+        }
+        else if("5".equals(type)){
+            int index=1;
+            if(ptjsList!=null && ptjsList.size()>0){
+                for(AddTypePTJSExcel dto : ptjsList){
+                    index++;
+                    Map<String, Object> map = CheckInsPlyComeUtils.checkDataDto5(dto);
+                    if(!"".equals(map.get("msg"))){
+                        throw new SystemException("第" + index + "行数据" + map.get("msg").toString());
+                    }else{
+                        InsPlyIncome insPlyIncome = (InsPlyIncome)map.get("dto");
+                        list.add(insPlyIncome);
+                    }
+                }
+            }
+        }
+        return  list;
+    }
 }

+ 71 - 0
src/main/java/com/ydtech/modules/inv/model/excel/AddTypeCXGDExcel.java

@@ -0,0 +1,71 @@
+package com.ydtech.modules.inv.model.excel;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/9/21 10:55
+ *  @Description:  新增类型车险跟单导入
+ */
+@Data
+public class AddTypeCXGDExcel implements Serializable {
+
+    @Excel(name = "签单日期",isImportField = "true")
+    private String signDate;
+
+    @Excel(name = "车牌号",isImportField = "true")
+    private String licenseno;
+
+    @Excel(name = "保险公司",isImportField = "true")
+    private String companyName;
+
+    @Excel(name = "保司机构",isImportField = "true")
+    private String partnerCompaniesName;
+
+    @Excel(name = "险种",isImportField = "true")
+    private String riskcode;
+
+    @Excel(name = "协议选择",isImportField = "true")
+    private String agreementName;
+
+    @Excel(name = "被保险人",isImportField = "true")
+    private String insuredName;
+
+    @Excel(name = "交强保单号",isImportField = "true")
+    private String policyno;
+
+    @Excel(name = "商业保单号",isImportField = "true")
+    private String syPolicyno;
+
+    @Excel(name = "交强险保费",isImportField = "true")
+    private String jqPremium;
+
+    @Excel(name = "车船税",isImportField = "true")
+    private String taxamount;
+
+    @Excel(name = "商业险保费",isImportField = "true")
+    private String syPremium;
+
+
+    @Excel(name = "交强跟单比例",isImportField = "true")
+    private String jqOtherCostsProportion;
+
+    @Excel(name = "商业跟单比例",isImportField = "true")
+    private String syOtherCostsProportion;
+
+
+    @Excel(name = "跟单费金额",isImportField = "true")
+    private String otherFeevalue;
+
+    @Excel(name = "类型",isImportField = "true")
+    private String addType;
+
+}

+ 74 - 0
src/main/java/com/ydtech/modules/inv/model/excel/AddTypeCXSXFExcel.java

@@ -0,0 +1,74 @@
+package com.ydtech.modules.inv.model.excel;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/9/21 10:55
+ *  @Description:  车险手续费导入
+ */
+@Data
+public class AddTypeCXSXFExcel implements Serializable {
+
+
+    @Excel(name = "签单日期",isImportField = "true")
+    private String signDate;
+
+    @Excel(name = "车牌号",isImportField = "true")
+    private String licenseno;
+
+    @Excel(name = "保险公司",isImportField = "true")
+    private String companyName;
+
+    @Excel(name = "保司机构",isImportField = "true")
+    private String partnerCompaniesName;
+
+
+    @Excel(name = "险种",isImportField = "true")
+    private String riskcode;
+
+    @Excel(name = "协议选择",isImportField = "true")
+    private String agreementName;
+
+    @Excel(name = "被保险人",isImportField = "true")
+    private String insuredName;
+
+    @Excel(name = "交强保单号",isImportField = "true")
+    private String policyno;
+
+    @Excel(name = "商业保单号",isImportField = "true")
+    private String syPolicyno;
+
+    @Excel(name = "交强险保费",isImportField = "true")
+    private String jqPremium;
+
+    @Excel(name = "车船税",isImportField = "true")
+    private String taxamount;
+
+    @Excel(name = "商业险保费",isImportField = "true")
+    private String syPremium;
+
+    @Excel(name = "交强手续费比例",isImportField = "true")
+    private String jqSuperviseCostsProportion;
+
+
+    @Excel(name = "商业手续费比例",isImportField = "true")
+    private String sySuperviseCostsProportion;
+
+    @Excel(name = "手续费金额",isImportField = "true")
+    private String commissionFeevalue;
+
+    @Excel(name = "类型",isImportField = "true")
+    private String addType;
+
+}

+ 56 - 0
src/main/java/com/ydtech/modules/inv/model/excel/AddTypeFCGDExcel.java

@@ -0,0 +1,56 @@
+package com.ydtech.modules.inv.model.excel;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/9/21 10:55
+ *  @Description:  非车手续费导入
+ */
+@Data
+public class AddTypeFCGDExcel implements Serializable {
+
+    @Excel(name = "签单日期",isImportField = "true")
+    private String signDate;
+
+    @Excel(name = "车牌号",isImportField = "true")
+    private String licenseno;
+
+    @Excel(name = "保险公司",isImportField = "true")
+    private String companyName;
+
+    @Excel(name = "保司机构",isImportField = "true")
+    private String partnerCompaniesName;
+
+    @Excel(name = "险种",isImportField = "true")
+    private String riskcode;
+
+    @Excel(name = "协议选择",isImportField = "true")
+    private String agreementName;
+
+    @Excel(name = "被保险人",isImportField = "true")
+    private String insuredName;
+
+    @Excel(name = "非车保单号",isImportField = "true")
+    private String noPolicyno;
+
+    @Excel(name = "非车保费",isImportField = "true")
+    private String noPremium;
+
+    @Excel(name = "非车跟单费比例",isImportField = "true")
+    private String noOtherCostsProportion;
+
+    @Excel(name = "跟单费金额",isImportField = "true")
+    private String noOtherCostsPremium;
+
+    @Excel(name = "类型",isImportField = "true")
+    private String addType;
+}

+ 60 - 0
src/main/java/com/ydtech/modules/inv/model/excel/AddTypeFCSXFExcel.java

@@ -0,0 +1,60 @@
+package com.ydtech.modules.inv.model.excel;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/9/21 10:55
+ *  @Description:  非车手续费导入
+ */
+@Data
+public class AddTypeFCSXFExcel implements Serializable {
+
+    @Excel(name = "签单日期",isImportField = "true")
+    private String signDate;
+
+    @Excel(name = "车牌号",isImportField = "true")
+    private String licenseno;
+
+    @Excel(name = "保险公司",isImportField = "true")
+    private String companyName;
+
+    @Excel(name = "保司机构",isImportField = "true")
+    private String partnerCompaniesName;
+
+
+    @Excel(name = "险种",isImportField = "true")
+    private String riskcode;
+
+    @Excel(name = "协议选择",isImportField = "true")
+    private String agreementName;
+
+    @Excel(name = "被保险人",isImportField = "true")
+    private String insuredName;
+
+    @Excel(name = "非车保单号",isImportField = "true")
+    private String noPolicyno;
+
+    @Excel(name = "非车保费",isImportField = "true")
+    private String noPremium;
+
+    @Excel(name = "非车手续费比例",isImportField = "true")
+    private String noSuperviseCostsProportion;
+
+
+    @Excel(name = "手续费金额",isImportField = "true")
+    private String noSuperviseCostsPremiums;
+
+
+    @Excel(name = "类型",isImportField = "true")
+    private String addType;
+
+}

+ 78 - 0
src/main/java/com/ydtech/modules/inv/model/excel/AddTypePTJSExcel.java

@@ -0,0 +1,78 @@
+package com.ydtech.modules.inv.model.excel;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/9/21 10:55
+ *  @Description:  非车手续费导入
+ */
+@Data
+public class AddTypePTJSExcel implements Serializable {
+
+    @Excel(name = "签单日期",isImportField = "true")
+    private String signDate;
+
+    @Excel(name = "车牌号",isImportField = "true")
+    private String licenseno;
+
+    @Excel(name = "保险公司",isImportField = "true")
+    private String companyName;
+
+    @Excel(name = "保司机构",isImportField = "true")
+    private String partnerCompaniesName;
+
+    @Excel(name = "险种",isImportField = "true")
+    private String riskcode;
+
+    @Excel(name = "协议选择",isImportField = "true")
+    private String agreementName;
+
+    @Excel(name = "被保险人",isImportField = "true")
+    private String insuredName;
+
+    @Excel(name = "交强保单号",isImportField = "true")
+    private String policyno;
+
+    @Excel(name = "商业保单号",isImportField = "true")
+    private String syPolicyno;
+
+    @Excel(name = "非车保单号",isImportField = "true")
+    private String noPolicyno;
+
+    @Excel(name = "交强险保费",isImportField = "true")
+    private String jqPremium;
+
+    @Excel(name = "商业险保费",isImportField = "true")
+    private String syPremium;
+
+    @Excel(name = "车船税",isImportField = "true")
+    private String taxamount;
+
+    @Excel(name = "非车保费",isImportField = "true")
+    private String noPremium;
+
+
+    @Excel(name = "交强应收比例",isImportField = "true")
+    private String jqReceivableProportion;
+
+    @Excel(name = "商业应收比例",isImportField = "true")
+    private String syReceivableProportion;
+
+    @Excel(name = "非车应收比例",isImportField = "true")
+    private String noReceivableProportion;
+
+
+    @Excel(name = "应收金额",isImportField = "true")
+    private String receivableAmount;
+
+    @Excel(name = "类型",isImportField = "true")
+    private String addType;
+}

+ 579 - 0
src/main/java/com/ydtech/modules/inv/utils/CheckInsPlyComeUtils.java

@@ -0,0 +1,579 @@
+package com.ydtech.modules.inv.utils;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.ydtech.modules.admin.dao.KztDataPermissionMapper;
+import com.ydtech.modules.admin.dao.SysUserDeptRelationshipMapper;
+import com.ydtech.modules.admin.utils.SpringContextUtil;
+import com.ydtech.modules.esm.model.EsmInsCompany;
+import com.ydtech.modules.esm.service.EsmInsCompanyService;
+import com.ydtech.modules.fnc.entity.InsPlyIncome;
+import com.ydtech.modules.inv.model.excel.*;
+import com.ydtech.modules.protocol.entity.po.PtlAgreement;
+import com.ydtech.modules.protocol.service.PtlAgreementService;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.context.ApplicationContext;
+
+import java.math.BigDecimal;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/9/21 14:38
+ *  @Description: 验证数据
+ */
+public class CheckInsPlyComeUtils {
+
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 14:41
+     *  @Description:  验证签单日期
+     */
+    public static String  checkSignDate(String data,String msg){
+        String errorMsg =null;
+        if(StringUtils.isBlank(data)  ||  isValidDate("yyyy-MM-dd HH:mm:ss", data) ){
+            errorMsg = msg+"不能为空或格式错误,格式为yyyy-MM-dd HH:mm:ss";
+        }
+        return errorMsg;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 14:51
+     *  @Description:  验证时间格式
+     */
+    public static boolean isValidDate(String date, String format) {
+        try {
+            DateFormat dateFormat = new SimpleDateFormat(format);
+            dateFormat.setLenient(false);
+            dateFormat.parse(date);
+            return true;
+        } catch (ParseException e) {
+            return false;
+        }
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 14:41
+     *  @Description:  验证非空
+     */
+    public static  String  checkIsNull(String data,String msg){
+        String errorMsg =null;
+        if(StringUtils.isBlank(data) ){
+            errorMsg=msg+"不能为空";
+        }
+        return errorMsg;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 14:41
+     *  @Description:  验证非空以及数据
+     */
+    public static String  isNumeric(String data,String msg) {
+        String errorMsg =null;
+        if(StringUtils.isBlank(data) || msg.matches("-?\\d+(\\.\\d+)?") ){
+            errorMsg=msg+"不能为空或者格式错误,必须为数字";
+        }
+        return errorMsg;
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 14:41
+     *  @Description:  验证保险公司
+     */
+    public static  Map<String,String>  checkCompanyName(String data,String msg) {
+        ApplicationContext applicationContext = SpringContextUtil.getApplicationContext();
+        EsmInsCompanyService esmInsCompanyService = applicationContext.getBean(EsmInsCompanyService.class);
+        EsmInsCompany insCompany = esmInsCompanyService.findInsCompanyByName(data);
+        String errorMsg =null;
+        String id ="";
+        if(StringUtils.isBlank(data) || insCompany==null ){
+            errorMsg=msg+"不能为空或者格式错误,未查询到"+msg+"名称,请填写全称";
+        }else{
+            id =insCompany==null?"":insCompany.getId();
+        }
+        Map<String,String> map =new HashMap<String,String>();
+        map.put("msg",errorMsg);
+        map.put("id",id);
+        return map;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 14:41
+     *  @Description:  验证协议名称
+     */
+    public static Map<String,Object> checkAgreeName(String data, String msg,String type) {
+        ApplicationContext applicationContext = SpringContextUtil.getApplicationContext();
+        PtlAgreementService ptlAgreementService = applicationContext.getBean(PtlAgreementService.class);
+        PtlAgreement ptlAgreement = ptlAgreementService.getByAgreementTitle(data);
+        String errorMsg =null;
+        if(StringUtils.isBlank(data) || ptlAgreement==null ){
+            errorMsg=msg+"不能为空或者格式错误,未查询到"+msg+"名称,请填写协议名称";
+        }else {
+            // 2 私有  1 平台
+            if(!type.equals(ptlAgreement.getAgreementType())){
+                errorMsg=msg+"协议类型错误";
+            }
+        }
+        Map<String,Object> map =new HashMap<String,Object>();
+        map.put("msg",errorMsg);
+        map.put("id",ptlAgreement);
+        return map;
+    }
+
+    public static String checkRiskcode(String data, String msg) {
+        Map<String,String> map =new HashMap<String,String>();
+        map.put("单交","0330");
+        map.put("单商","034001");
+        map.put("单三","034002");
+        map.put("交三","0330034002");
+        map.put("交商","0330034001");
+        String errorMsg =null;
+        if(StringUtils.isBlank(data) || map.get(data)==null ){
+            errorMsg=msg+"不能为空或者格式错误,未查询到"+msg+"名称,请填写正确的险种名称";
+        }
+        return errorMsg;
+    }
+
+    public static Map<String,String> checkAddType(String data, String msg) {
+        Map<String,String> map =new HashMap<String,String>();
+        map.put("退保","1");
+        map.put("批改","2");
+        map.put("虚增","3");
+        map.put("其他","4");
+        String errorMsg =null;
+        String id ="";
+        if(StringUtils.isBlank(data) || map.get(data)==null ){
+            errorMsg=msg+"不能为空或者格式错误,未查询到"+msg+"名称,请填写正确的类型";
+        }else{
+            id = map.get(data)==null?"": map.get(data);
+        }
+        map.put("msg",errorMsg);
+        map.put("id",id);
+        return map;
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 15:40
+     *  @Description:
+     */
+    public static Map<String,Object> checkDataDto1(AddTypeCXSXFExcel dto) {
+
+        Map<String,Object>  map =new HashMap<String,Object>();
+        String errorMsg ="";
+        if(checkSignDate(dto.getSignDate(), "签单时间")!=null){
+            errorMsg+=checkSignDate(dto.getSignDate(), "签单时间")+"; ";
+        }
+        if(checkIsNull(dto.getLicenseno(), "车牌号")!=null){
+            errorMsg+=checkIsNull(dto.getSignDate(), "车牌号")+"; ";
+        }
+        String companyId =null;
+        Map<String, String> companyMap = checkCompanyName(dto.getCompanyName(), "保险公司");
+        if(companyMap!=null && companyMap.get("msg")!=null){
+            errorMsg+=companyMap.get("msg").toString()+"; ";
+        }else if(companyMap.get("msg")==null){
+            companyId = companyMap.get("id").toString();
+        }
+        String partnerCompaniesId =null;
+        Map<String, String> companySubMap = checkCompanyName(dto.getCompanyName(), "保司机构");
+        if(companySubMap!=null && companySubMap.get("msg")!=null){
+            errorMsg+=companySubMap+"; ";
+        }else if( companySubMap.get("msg")==null){
+            partnerCompaniesId = companySubMap.get("id");
+        }
+        if(checkRiskcode(dto.getRiskcode(), "险种")!=null){
+            errorMsg+=checkRiskcode(dto.getSignDate(), "险种")+"; ";
+        }
+        String agreeId=null;
+        String agreeDeptId =null;
+        Map<String, Object> agreeMap = checkAgreeName(dto.getAgreementName(), "协议选择", "2");
+        if(agreeMap!=null && agreeMap.get("msg")!=null){
+            errorMsg+=agreeMap.get("msg").toString()+"; ";
+        }else if(agreeMap.get("msg")==null){
+            agreeId = ((PtlAgreement)agreeMap.get("id")).getId().toString();
+            agreeDeptId = ((PtlAgreement)agreeMap.get("id")).getDeptId().toString();
+        }
+        if(checkIsNull(dto.getInsuredName(), "被保险人")!=null){
+            errorMsg+=checkIsNull(dto.getInsuredName(), "被保险人")+"; ";
+        }
+        if(checkIsNull(dto.getPolicyno(), "交强保单号")!=null){
+            errorMsg+=checkIsNull(dto.getPolicyno(), "交强保单号")+"; ";
+        }
+        if(checkIsNull(dto.getSyPolicyno(), "商业保单号")!=null){
+            errorMsg+=checkIsNull(dto.getSyPolicyno(), "商业保单号")+"; ";
+        }
+        if(isNumeric(dto.getJqPremium(), "交强险保费")!=null){
+            errorMsg+=isNumeric(dto.getJqPremium(), "交强险保费")+"; ";
+        }
+        if(isNumeric(dto.getSyPremium(), "商业险保费")!=null){
+            errorMsg+=isNumeric(dto.getSyPremium(), "商业险保费")+"; ";
+        }
+        if(isNumeric(dto.getTaxamount(), "车船税")!=null){
+            errorMsg+=isNumeric(dto.getTaxamount(), "车船税")+"; ";
+        }
+        if(isNumeric(dto.getJqSuperviseCostsProportion(), "交强手续费比例")!=null){
+            errorMsg+=isNumeric(dto.getJqSuperviseCostsProportion(), "交强手续费比例")+"; ";
+        }
+        if(isNumeric(dto.getSySuperviseCostsProportion(), "商业手续费比例")!=null){
+            errorMsg+=isNumeric(dto.getSySuperviseCostsProportion(), "商业手续费比例")+"; ";
+        }
+        if(isNumeric(dto.getCommissionFeevalue(), "手续费金额")!=null){
+            errorMsg+=isNumeric(dto.getCommissionFeevalue(), "手续费金额")+"; ";
+        }
+        String addTypeId =null;
+        Map<String, String> addTypeMap = checkAddType(dto.getAddType(), "类型");
+        if(addTypeMap!=null && addTypeMap.get("msg")!=null){
+            errorMsg+=addTypeMap.get("msg").toString()+"; ";
+        }else if(addTypeMap.get("msg")==null){
+            addTypeId = addTypeMap.get("id").toString();
+        }
+        map.put("msg",errorMsg);
+        if(StringUtils.isBlank(errorMsg)){
+            InsPlyIncome  insPlyIncome =new InsPlyIncome(dto.getSignDate(),dto.getLicenseno(),companyId,dto.getCompanyName(),partnerCompaniesId,dto.getPartnerCompaniesName(),
+                    dto.getRiskcode(),agreeId,agreeDeptId,dto.getInsuredName(),dto.getPolicyno(),dto.getSyPolicyno(),dto.getJqPremium(),dto.getSyPremium(),
+                    dto.getTaxamount(),dto.getJqSuperviseCostsProportion(),dto.getSySuperviseCostsProportion(),dto.getCommissionFeevalue(),addTypeId);
+            map.put("dto",insPlyIncome);
+        }
+        return map;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 16:49
+     *  @Description:  车险跟单
+     */
+    public static Map<String, Object> checkDataDto2(AddTypeCXGDExcel dto) {
+
+
+        Map<String,Object>  map =new HashMap<String,Object>();
+        String errorMsg ="";
+        if(checkSignDate(dto.getSignDate(), "签单时间")!=null){
+            errorMsg+=checkSignDate(dto.getSignDate(), "签单时间")+"; ";
+        }
+        if(checkIsNull(dto.getLicenseno(), "车牌号")!=null){
+            errorMsg+=checkIsNull(dto.getSignDate(), "车牌号")+"; ";
+        }
+        String companyId =null;
+        Map<String, String> companyMap = checkCompanyName(dto.getCompanyName(), "保险公司");
+        if(companyMap!=null && companyMap.get("msg")!=null){
+            errorMsg+=companyMap.get("msg").toString()+"; ";
+        }else if(companyMap.get("msg")==null){
+            companyId = companyMap.get("id").toString();
+        }
+        String partnerCompaniesId =null;
+        Map<String, String> companySubMap = checkCompanyName(dto.getCompanyName(), "保司机构");
+        if(companySubMap!=null && companySubMap.get("msg")!=null){
+            errorMsg+=companySubMap+"; ";
+        }else if( companySubMap.get("msg")==null){
+            partnerCompaniesId = companySubMap.get("id");
+        }
+        if(checkRiskcode(dto.getRiskcode(), "险种")!=null){
+            errorMsg+=checkRiskcode(dto.getSignDate(), "险种")+"; ";
+        }
+        String agreeId=null;
+        String agreeDeptId =null;
+        Map<String, Object> agreeMap = checkAgreeName(dto.getAgreementName(), "协议选择", "2");
+        if(agreeMap!=null && agreeMap.get("msg")!=null){
+            errorMsg+=agreeMap.get("msg").toString()+"; ";
+        }else if(agreeMap.get("msg")==null){
+            agreeId = ((PtlAgreement)agreeMap.get("id")).getId().toString();
+            agreeDeptId = ((PtlAgreement)agreeMap.get("id")).getDeptId().toString();
+        }
+        if(checkIsNull(dto.getInsuredName(), "被保险人")!=null){
+            errorMsg+=checkIsNull(dto.getInsuredName(), "被保险人")+"; ";
+        }
+        if(checkIsNull(dto.getPolicyno(), "交强保单号")!=null){
+            errorMsg+=checkIsNull(dto.getPolicyno(), "交强保单号")+"; ";
+        }
+        if(checkIsNull(dto.getSyPolicyno(), "商业保单号")!=null){
+            errorMsg+=checkIsNull(dto.getSyPolicyno(), "商业保单号")+"; ";
+        }
+        if(isNumeric(dto.getJqPremium(), "交强险保费")!=null){
+            errorMsg+=isNumeric(dto.getJqPremium(), "交强险保费")+"; ";
+        }
+        if(isNumeric(dto.getSyPremium(), "商业险保费")!=null){
+            errorMsg+=isNumeric(dto.getSyPremium(), "商业险保费")+"; ";
+        }
+        if(isNumeric(dto.getTaxamount(), "车船税")!=null){
+            errorMsg+=isNumeric(dto.getTaxamount(), "车船税")+"; ";
+        }
+        if(isNumeric(dto.getJqOtherCostsProportion(), "交强跟单比例")!=null){
+            errorMsg+=isNumeric(dto.getJqOtherCostsProportion(), "交强跟单比例")+"; ";
+        }
+        if(isNumeric(dto.getSyOtherCostsProportion(), "商业跟单比例")!=null){
+            errorMsg+=isNumeric(dto.getSyOtherCostsProportion(), "商业跟单比例")+"; ";
+        }
+        if(isNumeric(dto.getOtherFeevalue(), "跟单费金额")!=null){
+            errorMsg+=isNumeric(dto.getOtherFeevalue(), "跟单费金额")+"; ";
+        }
+        String addTypeId =null;
+        Map<String, String> addTypeMap = checkAddType(dto.getAddType(), "类型");
+        if(addTypeMap!=null && addTypeMap.get("msg")!=null){
+            errorMsg+=addTypeMap.get("msg").toString()+"; ";
+        }else if(addTypeMap.get("msg")==null){
+            addTypeId = addTypeMap.get("id").toString();
+        }
+        map.put("msg",errorMsg);
+        if(StringUtils.isBlank(errorMsg)){
+            InsPlyIncome  insPlyIncome =new InsPlyIncome(dto.getSignDate(),dto.getLicenseno(),companyId,dto.getCompanyName(),partnerCompaniesId,dto.getPartnerCompaniesName(),
+                    dto.getRiskcode(),agreeId,agreeDeptId,dto.getInsuredName(),dto.getPolicyno(),dto.getSyPolicyno(),dto.getJqPremium(),dto.getSyPremium(),
+                    dto.getTaxamount(),dto.getJqOtherCostsProportion(),dto.getSyOtherCostsProportion(),dto.getOtherFeevalue(),addTypeId,null);
+            map.put("dto",insPlyIncome);
+        }
+        return map;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 16:50
+     *  @Description: 非车手续费
+     */
+    public static Map<String, Object> checkDataDto3(AddTypeFCSXFExcel dto) {
+
+        Map<String,Object>  map =new HashMap<String,Object>();
+        String errorMsg ="";
+        if(checkSignDate(dto.getSignDate(), "签单时间")!=null){
+            errorMsg+=checkSignDate(dto.getSignDate(), "签单时间")+"; ";
+        }
+        if(checkIsNull(dto.getLicenseno(), "车牌号")!=null){
+            errorMsg+=checkIsNull(dto.getSignDate(), "车牌号")+"; ";
+        }
+        String companyId =null;
+        Map<String, String> companyMap = checkCompanyName(dto.getCompanyName(), "保险公司");
+        if(companyMap!=null && companyMap.get("msg")!=null){
+            errorMsg+=companyMap.get("msg").toString()+"; ";
+        }else if(companyMap.get("msg")==null){
+            companyId = companyMap.get("id").toString();
+        }
+        String partnerCompaniesId =null;
+        Map<String, String> companySubMap = checkCompanyName(dto.getCompanyName(), "保司机构");
+        if(companySubMap!=null && companySubMap.get("msg")!=null){
+            errorMsg+=companySubMap+"; ";
+        }else if( companySubMap.get("msg")==null){
+            partnerCompaniesId = companySubMap.get("id");
+        }
+        if(checkRiskcode(dto.getRiskcode(), "险种")!=null){
+            errorMsg+=checkRiskcode(dto.getSignDate(), "险种")+"; ";
+        }
+        String agreeId=null;
+        String agreeDeptId =null;
+        Map<String, Object> agreeMap = checkAgreeName(dto.getAgreementName(), "协议选择", "2");
+        if(agreeMap!=null && agreeMap.get("msg")!=null){
+            errorMsg+=agreeMap.get("msg").toString()+"; ";
+        }else if(agreeMap.get("msg")==null){
+            agreeId = ((PtlAgreement)agreeMap.get("id")).getId().toString();
+            agreeDeptId = ((PtlAgreement)agreeMap.get("id")).getDeptId().toString();
+        }
+        if(checkIsNull(dto.getInsuredName(), "被保险人")!=null){
+            errorMsg+=checkIsNull(dto.getInsuredName(), "被保险人")+"; ";
+        }
+        if(checkIsNull(dto.getNoPolicyno(), "非车保单号")!=null){
+            errorMsg+=checkIsNull(dto.getNoPolicyno(), "非车保单号")+"; ";
+        }
+        if(isNumeric(dto.getNoPremium(), "非车保费")!=null){
+            errorMsg+=isNumeric(dto.getNoPremium(), "非车保费")+"; ";
+        }
+        if(isNumeric(dto.getNoSuperviseCostsProportion(), "非车手续费比例")!=null){
+            errorMsg+=isNumeric(dto.getNoSuperviseCostsProportion(), "非车手续费比例")+"; ";
+        }
+        if(isNumeric(dto.getNoSuperviseCostsPremiums(), "手续费金额")!=null){
+            errorMsg+=isNumeric(dto.getNoSuperviseCostsPremiums(), "手续费金额")+"; ";
+        }
+        String addTypeId =null;
+        Map<String, String> addTypeMap = checkAddType(dto.getAddType(), "类型");
+        if(addTypeMap!=null && addTypeMap.get("msg")!=null){
+            errorMsg+=addTypeMap.get("msg").toString()+"; ";
+        }else if(addTypeMap.get("msg")==null){
+            addTypeId = addTypeMap.get("id").toString();
+        }
+        map.put("msg",errorMsg);
+        if(StringUtils.isBlank(errorMsg)){
+            InsPlyIncome  insPlyIncome =new InsPlyIncome(dto.getSignDate(),dto.getLicenseno(),companyId,dto.getCompanyName(),partnerCompaniesId,dto.getPartnerCompaniesName(),
+                    dto.getRiskcode(),agreeId,agreeDeptId,dto.getInsuredName(),dto.getNoPolicyno(),dto.getNoPremium(),dto.getNoSuperviseCostsProportion(),null,
+                    dto.getNoSuperviseCostsPremiums(),addTypeId);
+            map.put("dto",insPlyIncome);
+        }
+        return map;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 16:50
+     *  @Description: 非车跟单
+     */
+    public static Map<String, Object> checkDataDto4(AddTypeFCGDExcel dto) {
+        Map<String,Object>  map =new HashMap<String,Object>();
+        String errorMsg ="";
+        if(checkSignDate(dto.getSignDate(), "签单时间")!=null){
+            errorMsg+=checkSignDate(dto.getSignDate(), "签单时间")+"; ";
+        }
+        if(checkIsNull(dto.getLicenseno(), "车牌号")!=null){
+            errorMsg+=checkIsNull(dto.getSignDate(), "车牌号")+"; ";
+        }
+        String companyId =null;
+        Map<String, String> companyMap = checkCompanyName(dto.getCompanyName(), "保险公司");
+        if(companyMap!=null && companyMap.get("msg")!=null){
+            errorMsg+=companyMap.get("msg").toString()+"; ";
+        }else if(companyMap.get("msg")==null){
+            companyId = companyMap.get("id").toString();
+        }
+        String partnerCompaniesId =null;
+        Map<String, String> companySubMap = checkCompanyName(dto.getCompanyName(), "保司机构");
+        if(companySubMap!=null && companySubMap.get("msg")!=null){
+            errorMsg+=companySubMap+"; ";
+        }else if( companySubMap.get("msg")==null){
+            partnerCompaniesId = companySubMap.get("id");
+        }
+        if(checkRiskcode(dto.getRiskcode(), "险种")!=null){
+            errorMsg+=checkRiskcode(dto.getSignDate(), "险种")+"; ";
+        }
+        String agreeId=null;
+        String agreeDeptId =null;
+        Map<String, Object> agreeMap = checkAgreeName(dto.getAgreementName(), "协议选择", "2");
+        if(agreeMap!=null && agreeMap.get("msg")!=null){
+            errorMsg+=agreeMap.get("msg").toString()+"; ";
+        }else if(agreeMap.get("msg")==null){
+            agreeId = ((PtlAgreement)agreeMap.get("id")).getId().toString();
+            agreeDeptId = ((PtlAgreement)agreeMap.get("id")).getDeptId().toString();
+        }
+        if(checkIsNull(dto.getInsuredName(), "被保险人")!=null){
+            errorMsg+=checkIsNull(dto.getInsuredName(), "被保险人")+"; ";
+        }
+        if(checkIsNull(dto.getNoPolicyno(), "非车保单号")!=null){
+            errorMsg+=checkIsNull(dto.getNoPolicyno(), "非车保单号")+"; ";
+        }
+        if(checkIsNull(dto.getNoPremium(), "非车保费")!=null){
+            errorMsg+=checkIsNull(dto.getNoPremium(), "非车保费")+"; ";
+        }
+        if(isNumeric(dto.getNoOtherCostsProportion(), "非车跟单费比例")!=null){
+            errorMsg+=isNumeric(dto.getNoOtherCostsProportion(), "非车跟单费比例")+"; ";
+        }
+        if(isNumeric(dto.getNoOtherCostsPremium(), "跟单费金额")!=null){
+            errorMsg+=isNumeric(dto.getNoOtherCostsPremium(), "跟单费金额")+"; ";
+        }
+        String addTypeId =null;
+        Map<String, String> addTypeMap = checkAddType(dto.getAddType(), "类型");
+        if(addTypeMap!=null && addTypeMap.get("msg")!=null){
+            errorMsg+=addTypeMap.get("msg").toString()+"; ";
+        }else if(addTypeMap.get("msg")==null){
+            addTypeId = addTypeMap.get("id").toString();
+        }
+        map.put("msg",errorMsg);
+        if(StringUtils.isBlank(errorMsg)){
+            InsPlyIncome  insPlyIncome =new InsPlyIncome(dto.getSignDate(),dto.getLicenseno(),companyId,dto.getCompanyName(),partnerCompaniesId,dto.getPartnerCompaniesName(),
+                    dto.getRiskcode(),agreeId,agreeDeptId,dto.getInsuredName(),dto.getNoPolicyno(),dto.getNoPremium(),dto.getNoOtherCostsProportion(),dto.getNoOtherCostsPremium(),addTypeId);
+            map.put("dto",insPlyIncome);
+        }
+        return map;
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 16:50
+     *  @Description:  平台结算
+     */
+    public static Map<String, Object> checkDataDto5(AddTypePTJSExcel dto) {
+
+        Map<String,Object>  map =new HashMap<String,Object>();
+        String errorMsg ="";
+        if(checkSignDate(dto.getSignDate(), "签单时间")!=null){
+            errorMsg+=checkSignDate(dto.getSignDate(), "签单时间")+"; ";
+        }
+        if(checkIsNull(dto.getLicenseno(), "车牌号")!=null){
+            errorMsg+=checkIsNull(dto.getSignDate(), "车牌号")+"; ";
+        }
+        String companyId =null;
+        Map<String, String> companyMap = checkCompanyName(dto.getCompanyName(), "保险公司");
+        if(companyMap!=null && companyMap.get("msg")!=null){
+            errorMsg+=companyMap.get("msg").toString()+"; ";
+        }else if(companyMap.get("msg")==null){
+            companyId = companyMap.get("id").toString();
+        }
+        String partnerCompaniesId =null;
+        Map<String, String> companySubMap = checkCompanyName(dto.getCompanyName(), "保司机构");
+        if(companySubMap!=null && companySubMap.get("msg")!=null){
+            errorMsg+=companySubMap+"; ";
+        }else if( companySubMap.get("msg")==null){
+            partnerCompaniesId = companySubMap.get("id");
+        }
+        if(checkRiskcode(dto.getRiskcode(), "险种")!=null){
+            errorMsg+=checkRiskcode(dto.getSignDate(), "险种")+"; ";
+        }
+        String agreeId=null;
+        String agreeDeptId =null;
+        Map<String, Object> agreeMap = checkAgreeName(dto.getAgreementName(), "协议选择", "1");
+        if(agreeMap!=null && agreeMap.get("msg")!=null){
+            errorMsg+=agreeMap.get("msg").toString()+"; ";
+        }else if(agreeMap.get("msg")==null){
+            agreeId = ((PtlAgreement)agreeMap.get("id")).getId().toString();
+            agreeDeptId = ((PtlAgreement)agreeMap.get("id")).getDeptId().toString();
+        }
+        if(checkIsNull(dto.getInsuredName(), "被保险人")!=null){
+            errorMsg+=checkIsNull(dto.getInsuredName(), "被保险人")+"; ";
+        }
+        if(checkIsNull(dto.getPolicyno(), "交强保单号")!=null){
+            errorMsg+=checkIsNull(dto.getPolicyno(), "交强保单号")+"; ";
+        }
+        if(checkIsNull(dto.getSyPolicyno(), "商业保单号")!=null){
+            errorMsg+=checkIsNull(dto.getSyPolicyno(), "商业保单号")+"; ";
+        }
+        if(checkIsNull(dto.getNoPolicyno(), "非车保单号")!=null){
+            errorMsg+=checkIsNull(dto.getNoPolicyno(), "非车保单号")+"; ";
+        }
+        if(isNumeric(dto.getJqPremium(), "交强险保费")!=null){
+            errorMsg+=isNumeric(dto.getJqPremium(), "交强险保费")+"; ";
+        }
+        if(isNumeric(dto.getSyPremium(), "商业险保费")!=null){
+            errorMsg+=isNumeric(dto.getSyPremium(), "商业险保费")+"; ";
+        }
+        if(isNumeric(dto.getTaxamount(), "车船税")!=null){
+            errorMsg+=isNumeric(dto.getTaxamount(), "车船税")+"; ";
+        }
+        if(isNumeric(dto.getNoPremium(), "非车保费")!=null){
+            errorMsg+=isNumeric(dto.getNoPremium(), "非车保费")+"; ";
+        }
+
+        if(isNumeric(dto.getJqReceivableProportion(), "交强应收比例")!=null){
+            errorMsg+=isNumeric(dto.getJqReceivableProportion(), "交强应收比例")+"; ";
+        }
+        if(isNumeric(dto.getSyReceivableProportion(), "商业应收比例")!=null){
+            errorMsg+=isNumeric(dto.getSyReceivableProportion(), "商业应收比例")+"; ";
+        }
+        if(isNumeric(dto.getNoReceivableProportion(), "非车应收比例")!=null){
+            errorMsg+=isNumeric(dto.getNoReceivableProportion(), "非车应收比例")+"; ";
+        }
+
+        if(isNumeric(dto.getReceivableAmount(), "应收金额")!=null){
+            errorMsg+=isNumeric(dto.getReceivableAmount(), "应收金额")+"; ";
+        }
+        String addTypeId =null;
+        Map<String, String> addTypeMap = checkAddType(dto.getAddType(), "类型");
+        if(addTypeMap!=null && addTypeMap.get("msg")!=null){
+            errorMsg+=addTypeMap.get("msg").toString()+"; ";
+        }else if(addTypeMap.get("msg")==null){
+            addTypeId = addTypeMap.get("id").toString();
+        }
+        map.put("msg",errorMsg);
+        if(StringUtils.isBlank(errorMsg)){
+            InsPlyIncome  insPlyIncome =new InsPlyIncome(dto.getSignDate(),dto.getLicenseno(),companyId,dto.getCompanyName(),partnerCompaniesId,dto.getPartnerCompaniesName(),
+                    dto.getRiskcode(),agreeId,agreeDeptId,dto.getInsuredName(),dto.getPolicyno(),dto.getSyPolicyno(),dto.getJqPremium(),dto.getSyPremium(),
+                    dto.getTaxamount(),dto.getNoPolicyno(),dto.getNoPremium(),dto.getJqReceivableProportion(),dto.getSyReceivableProportion(),dto.getNoReceivableProportion(),dto.getReceivableAmount(),addTypeId);
+            map.put("dto",insPlyIncome);
+        }
+        return map;
+    }
+}

+ 7 - 2
src/main/java/com/ydtech/modules/protocol/service/PtlAgreementService.java

@@ -272,7 +272,12 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
     List<PtlAgreement> getAllAgreement(String agreementId);
 
     HttpResult getAgreementCopy(PtlAgreementVo ptlAgreementVo);
-
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 15:33
+     *  @Description: 通过协议名称查询数据
+     */
+    PtlAgreement getByAgreementTitle(String title);
 
 }

+ 16 - 1
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementServiceImpl.java

@@ -1007,5 +1007,20 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         ptlAgreementTrajectoryService.save(ptlAgreementTrajectory);
         return HttpResult.ok("协议复制成功");
     }
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/21 15:33
+     *  @Description: 通过协议名称查询数据
+     */
+    @Override
+    public PtlAgreement getByAgreementTitle(String title) {
+        LambdaQueryWrapper<PtlAgreement> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(PtlAgreement::getAgreementTitle, title);
+        List<PtlAgreement> list = list(lqw);
+        if (null != list && !list.isEmpty()) {
+            return list.get(0);
+        }
+        return null;
+    }
 }

BIN
src/main/resources/template/js/cxgd.xls


BIN
src/main/resources/template/js/cxsxf.xls


BIN
src/main/resources/template/js/fcgd.xls


BIN
src/main/resources/template/js/fcsxf.xls


BIN
src/main/resources/template/js/ptjs.xls