Ver código fonte

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

785834757 2 anos atrás
pai
commit
0e4917d413

+ 8 - 3
src/main/java/com/ydtech/modules/fnc/controller/InsPlyIncomeController.java

@@ -15,6 +15,7 @@ import com.ydtech.modules.order.entity.vo.OrderQueryVo;
 import com.ydtech.utils.StringUtils;
 import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -82,9 +83,13 @@ public class InsPlyIncomeController extends BaseController {
     }
     @PostMapping("/totalAmount")
     @ApiModelProperty(value = "平台手续费合计金额")
-    public HttpResult<InsPlyIncome>totalAmount(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo){
-        InsPlyIncome  result = insPlyIncomeService.totalAmount(insPlyIncomeVo);
-        return  HttpResult.ok(result);
+    public HttpResult<HashMap<String,Object>>totalAmount(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo){
+        if(!CollectionUtils.isEmpty(insPlyIncomeVo.getSelectIds())){
+            HashMap<String,Object>  result = insPlyIncomeService.totalAmount(insPlyIncomeVo.getSelectIds());
+            return  HttpResult.ok(result);
+        }else {
+            return HttpResult.ok();
+        }
     }
     @PostMapping("/totalPinAmount")
     @ApiModelProperty(value = "平台结算未结算接口")

+ 1 - 1
src/main/java/com/ydtech/modules/fnc/dao/InsPlyIncomeMapper.java

@@ -85,7 +85,7 @@ public interface InsPlyIncomeMapper extends BaseMapper<InsPlyIncome> {
 
     List<InsPlyIncome> NonSettlementQuery(HashMap<String, Object> params);
 
-    InsPlyIncome totalAmount(HashMap<String, Object> params);
+    HashMap<String,Object> totalAmount(HashMap<String,Object> params);
 
     List<InsPlyIncome> totalPinAmount(HashMap<String, Object> params);
 

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

@@ -296,6 +296,11 @@ public class InsPlyIncome implements Serializable {
     private String partnerCompaniesName;
 
 
+    @ApiModelProperty("被保人名称")
+    @TableField("insured_name")
+    private String insuredName;
+
+
     @ApiModelProperty("总单数")
     @TableField(exist = false)
     private String totalorders;

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

@@ -55,7 +55,7 @@ public interface InsPlyIncomeService extends IService<InsPlyIncome> {
 
     HttpResult<InsPlyIncome> insertByEntity(InsPlyIncomeVo insPlyIncomeVo);
 
-    InsPlyIncome totalAmount(InsPlyIncomeVo insPlyIncomeVo);
+    HashMap<String,Object> totalAmount(List<String> selectIds);
 
     HttpResult<Object> batchPinBalance(InsPlyIncomeVo insPlyIncomeVo);
 

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

@@ -213,6 +213,7 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
         insPlyIncome.setIsNotDocumentary("0");
         insPlyIncome.setAllFeeValue(insFeeOrderNew.getNoSuperviseCostsPremiums());
         insPlyIncome.setUserId(insFeeOrderNew.getUserId());
+        insPlyIncome.setInsuredName(order.getInsuredname());
         insPlyIncome.setNoPremium(insFeeOrderNew.getNoPremium()); //非车保费
         insPlyIncome.setNoNoTaxPremium(insFeeOrderNew.getNoNoTaxPremium());  //非车不含税保费
         this.saveByCompanyId(insFeeOrderNew ,insAreaCompany.getCompanyId(),insPlyIncome);
@@ -260,6 +261,7 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
         insPlyIncome.setSyOtherCostsPremium(insFeeOrderNew.getSyOtherCostsPremiums());
         insPlyIncome.setJqOtherCostsPremium(insFeeOrderNew.getJqOtherCostsPremiums());
         insPlyIncome.setUserId(insFeeOrderNew.getUserId());
+        insPlyIncome.setInsuredName(order.getInsuredname());
         this.saveByCompanyId(insFeeOrderNew ,insAreaCompany.getCompanyId(),insPlyIncome);
 
         baseMapper.insert(insPlyIncome);
@@ -284,6 +286,7 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
         this.saveRiskCode(order.getProductid(),insPlyIncome);
         insPlyIncome.setTaxPremium(allTaxPremium);
         insPlyIncome.setUserId(insFeeOrderNew.getUserId());
+        insPlyIncome.setInsuredName(order.getInsuredname());
         this.saveByCompanyId(insFeeOrderNew ,insAreaCompany.getCompanyId(),insPlyIncome);
         baseMapper.insert(insPlyIncome);
     }
@@ -347,6 +350,7 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
         insPlyIncome.setSyOtherCostsProportion(insFeeOrderNew.getSyOtherCostsProportion());  //商业跟单费比例
         insPlyIncome.setNoOtherCostsProportion(insFeeOrderNew.getNoOtherCostsProportion());  //非车跟单费比例
         insPlyIncome.setUserId(insFeeOrderNew.getUserId());
+        insPlyIncome.setInsuredName(order.getInsuredname());
         this.saveByCompanyId(insFeeOrderNew ,insAreaCompany.getCompanyId(),insPlyIncome);
         baseMapper.insert(insPlyIncome);
     }
@@ -426,36 +430,30 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
         }
     }
     @Override
-    public InsPlyIncome totalAmount(InsPlyIncomeVo insPlyIncomeVo) {
+    public HashMap<String,Object> totalAmount(List<String> selectIds) {
         HashMap<String, Object> params = new HashMap<>();
-        params = this.saveParams(insPlyIncomeVo, params);
-        InsPlyIncome totalledAmount =baseMapper.totalAmount(params);  //总金额
-        params.put("handlingFeesStatus","0");
-        InsPlyIncome noTotalAmount =baseMapper.totalAmount(params);
-        if(ObjectUtils.isNotEmpty(totalledAmount) && ObjectUtils.isNotEmpty(noTotalAmount)){
-            totalledAmount.setReadyTotalFeevalue(noTotalAmount.getTotalFeevalue());
-            totalledAmount.setReadyCommissionFeevalue(noTotalAmount.getCommissionFeevalue());
-            totalledAmount.setReadyOtherFeevalue(noTotalAmount.getOtherFeevalue());
-            return totalledAmount;
-        }
-
-        return  new InsPlyIncome();
+        params.put("selectIds",selectIds);
+        HashMap<String,Object>  resultMap  =baseMapper.totalAmount(params);
+        return  resultMap;
     }
 
     @Override
     @Transactional
     public HttpResult<Object> batchPinBalance(InsPlyIncomeVo insPlyIncomeVo) {
 
-            HashMap<String, Object> params = new HashMap<>();
-            List<InsPlyIncome> list= this.baseMapper.queryNew(params);
-            for (InsPlyIncome item : list) {
-                item.setHandlingFeesStatus("1");
-                item.setSettlementTime(LocalDate.now());
-                baseMapper.updateById(item);
+        if(!CollectionUtils.isEmpty(insPlyIncomeVo.getSelectIds())){
+            List<String> selectIds = insPlyIncomeVo.getSelectIds();
+            for(String  id: selectIds){
+                InsPlyIncome insPlyIncome = new InsPlyIncome();
+                insPlyIncome.setHandlingFeesStatus("1");
+                insPlyIncome.setSettlementTime(LocalDate.now());
+                insPlyIncome.setId(id);
+                baseMapper.updateById(insPlyIncome);
             }
+        }
             SettlementDocumentaryLogEntity settlementDocumentaryLogEntity = new SettlementDocumentaryLogEntity();
             settlementDocumentaryLogEntity.setIds(insPlyIncomeVo.getIds());
-            settlementDocumentaryLogEntity.setCompanyId(insPlyIncomeVo.getCompanyId());
+//          settlementDocumentaryLogEntity.setCompanyId(insPlyIncomeVo.getCompanyId());
             settlementDocumentaryLogEntity.setAmount(insPlyIncomeVo.getOtherFeevalue());  //跟单费金额
             settlementDocumentaryLogEntity.setHandingAmount(insPlyIncomeVo.getCommissionFeevalue());  //手续费金额
             settlementDocumentaryLogEntity.setCreateTime(new Date());
@@ -523,7 +521,7 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
             params.put("handlingFeesStatus",insPlyIncomeVo.getHandlingFeesStatus());
         }
         if(StringUtils.isNotEmpty(insPlyIncomeVo.getPartnerCompaniesId())){
-            params.put("partnerCompaniesId",insPlyIncomeVo.getHandlingFeesStatus());
+            params.put("partnerCompaniesId",insPlyIncomeVo.getPartnerCompaniesId());
         }
         if(StringUtils.isNotEmpty(insPlyIncomeVo.getYear())){
             params.put("year",insPlyIncomeVo.getYear());
@@ -543,6 +541,9 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
         if(StringUtils.isNotEmpty(insPlyIncomeVo.getCompanyName())){
             params.put("companyName",insPlyIncomeVo.getCompanyName());
         }
+        if(StringUtils.isNotEmpty(insPlyIncomeVo.getInsuredName())){
+            params.put("insuredName",insPlyIncomeVo.getInsuredName());
+        }
         return params;
     }
 
@@ -1033,10 +1034,10 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
     @Transactional
     public void uodateBalance(InsPlyIncomeVo insPlyIncomeVo) {
         InsPlyIncome insPlyIncome = new InsPlyIncome();
-        insPlyIncomeVo.setHandlingFeesStatus("1");
+            insPlyIncomeVo.setHandlingFeesStatus("1");
         insPlyIncomeVo.setSettlementTime(LocalDate.now());
         BeanUtils.copyProperties(insPlyIncomeVo, insPlyIncome);
-        baseMapper.uopdateByOrderno(insPlyIncome);
+        baseMapper.updateById(insPlyIncome);
 
 //        生成记录
         SettlementDocumentaryLogEntity settlementDocumentaryLogEntity = new SettlementDocumentaryLogEntity();
@@ -1328,7 +1329,6 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
     public InsPlyIncome bxTotalAmount(InsPlyIncomeVo insPlyIncomeVo) {
         HashMap<String, Object> params = new HashMap<>();
         params = this.saveParams(insPlyIncomeVo, params);
-        params.remove("handlingFeesStatus");
         InsPlyIncome totalledAmount =baseMapper.bxTotalAmount(params);  //总金额
         return totalledAmount;
     }

+ 8 - 0
src/main/java/com/ydtech/modules/fnc/vo/InsPlyIncomeVo.java

@@ -18,6 +18,7 @@ import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * <p>
@@ -253,4 +254,11 @@ public class InsPlyIncomeVo implements Serializable {
     @ApiModelProperty("非车跟单比例")
     private BigDecimal noOtherCostsProportion;
 
+
+    @ApiModelProperty("被保人名称")
+    private String insuredName;
+
+    @ApiModelProperty("选择ids")
+    private List<String> selectIds;
+
 }

+ 11 - 0
src/main/java/com/ydtech/modules/order/entity/InsOrders.java

@@ -243,6 +243,17 @@ public class InsOrders implements Serializable {
     @TableField(exist = false)
     private String partnerCompaniesName;   //合作公司简称
 
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime signingTime;   //签单时间
+
+
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime payDate;   //支付时间
+
+
+
     public InsOrders(SysUser user, SysDept dept, BaseQuoteInfoVo quoteInfoVo) {
         // 2. 组装订单
         this.setQuoteno(String.valueOf(quoteInfoVo.getQuoteno()));

+ 10 - 0
src/main/java/com/ydtech/modules/order/entity/vo/OrderQueryVo.java

@@ -127,6 +127,16 @@ public class OrderQueryVo {
     @ApiModelProperty(value = "机构来源")
     private String managementSource;
 
+    @ApiModelProperty(value = "签单开始时间")
+    private String signStartDateStr;
+    @ApiModelProperty(value = "签单结束时间")
+    private String signEndDateStr;
+
+    @ApiModelProperty(value = "支付开始时间")
+    private String payStartDateStr;
+    @ApiModelProperty(value = "支付结束时间")
+    private String payEndDateStr;
+
 
     public LocalDate getEndDatePlusOneDay() {
         if(ObjectUtils.isEmpty(endDate)){

+ 13 - 0
src/main/java/com/ydtech/modules/order/entity/vo/OrderVo.java

@@ -422,4 +422,17 @@ public class OrderVo implements Serializable {
      * 出单人性别
      */
     public String sex;
+
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime signingTime;   //签单时间
+
+
+    @TableField(exist = false)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime payDate;   //支付时间
+
+
+    @TableField(exist = false)
+    private String partnerCompaniesName;   //合作公司简称
 }

+ 2 - 2
src/main/java/com/ydtech/modules/protocols/controller/PtlNewAgreementController.java

@@ -92,8 +92,8 @@ public class PtlNewAgreementController extends BaseController {
 
     @ApiOperation(value = "添加协议费用")
     @PostMapping("/costs/add")
-    public HttpResult costsAdd(@RequestBody AgreementProductCosts agreementProductCosts) {
-        return ptlAgreementProductCostsNewService.costsAdd(agreementProductCosts) ? HttpResult.ok("添加协议费用成功") : HttpResult.error("添加协议费用失败");
+    public HttpResult costsAdd(@RequestBody List<AgreementProductCosts> agreementProductCostsList) {
+        return ptlAgreementProductCostsNewService.costsAdd(agreementProductCostsList) ? HttpResult.ok("添加协议费用成功") : HttpResult.error("添加协议费用失败");
     }
 
     @ApiOperation(value = "更新协议费用")

+ 2 - 2
src/main/java/com/ydtech/modules/protocols/entity/vo/AgreementProductCosts.java

@@ -24,10 +24,10 @@ public class AgreementProductCosts implements Serializable {
     private String agreementId;
 
     @ApiModelProperty(value = "产品id")
-    private String productId;
+    private List<String> productId;
 
     @ApiModelProperty(value = "产品名称")
-    private String productName;
+    private List<String> productName;
 
     @ApiModelProperty(value = "费用比例(交强)")
     private String jqCarCostsProportion;

+ 2 - 2
src/main/java/com/ydtech/modules/protocols/service/PtlAgreementProductCostsNewService.java

@@ -42,10 +42,10 @@ public interface PtlAgreementProductCostsNewService extends IService<PtlAgreemen
 
     /**
      * 添加协议费用
-     * @param agreementProductCosts
+     * @param agreementProductCostsList
      * @return
      */
-    boolean costsAdd(AgreementProductCosts agreementProductCosts);
+    boolean costsAdd(List<AgreementProductCosts> agreementProductCostsList);
 
     /**
      * 更新协议费用

+ 191 - 91
src/main/java/com/ydtech/modules/protocols/service/impl/PtlAgreementProductCostsNewServiceImpl.java

@@ -440,7 +440,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
 
     @Transactional
     @Override
-    public boolean costsAdd(AgreementProductCosts agreementProductCosts) {
+    public boolean costsAdd(List<AgreementProductCosts> agreementProductCostsList) {
 //2024-04-26  删除检测非车信息 强制填写费用
         //校验非车信息是否存在
 //        List<PtlAgreementProductCostsAttrLink> nonMotorInsurance = agreementProductCosts.getCostsAttrLinks().stream().filter(x -> x.getAttrCode().equals("NonMotorInsurance")).collect(Collectors.toList());
@@ -452,99 +452,199 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
 //                }
 //            }
 //        }
-
-        //添加费用主表信息
-        PtlAgreementProductCostsNew ptlAgreementProductCostsNew = new PtlAgreementProductCostsNew();
-        BeanUtils.copyProperties(agreementProductCosts, ptlAgreementProductCostsNew);
-        ptlAgreementProductCostsNew.setId(null);
-        //设置默认优先级为1
-        if(ptlAgreementProductCostsNew.getPriorityLevel() == null)
-        {
-            ptlAgreementProductCostsNew.setPriorityLevel(1);
-        }
-        ptlAgreementProductCostsNew.setCreateTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
-        ptlAgreementProductCostsNew.setCreateBy(BaseController.getUser().getId());
-        ptlAgreementProductCostsNew.blank();
-        int insert = baseMapper.insert(ptlAgreementProductCostsNew);
-
-        //添加费用出口信息
-        PtlAgreementProductCostsExport ptlAgreementProductCostsExport = new PtlAgreementProductCostsExport();
-        BeanUtils.copyProperties(agreementProductCosts, ptlAgreementProductCostsExport);
-        ptlAgreementProductCostsExport.setCostsId(ptlAgreementProductCostsNew.getId());
-        ptlAgreementProductCostsExport.setId(null);
-        ptlAgreementProductCostsExport.blank();
-        ptlAgreementProductCostsExportService.save(ptlAgreementProductCostsExport);
-        //保存产品费用历史记录
-        PtlAgreementProductCostsNewHistory ptlAgreementProductCostsNewHistory = new PtlAgreementProductCostsNewHistory();
-        BeanUtils.copyProperties(agreementProductCosts, ptlAgreementProductCostsNewHistory);
-        //添加费用ID
-        ptlAgreementProductCostsNewHistory.setId(IdGenerate.nextId());
-        ptlAgreementProductCostsNewHistory.setCostsId(ptlAgreementProductCostsNew.getId());
-        //生成批次ID
-        String uuid = IdGenerate.nextId();
-        ptlAgreementProductCostsNewHistory.setBatch(uuid);
-        ptlAgreementProductCostsNewHistory.setOperatorType("add");
-        ptlAgreementProductCostsNewHistory.setModifier(BaseController.getUser().getId());
-        ptlAgreementProductCostsNewHistory.setOperatorTime(LocalDateTime.now());
-        ptlAgreementProductCostsNewHistoryService.save(ptlAgreementProductCostsNewHistory);
-        //创建产品费用因子历史记录容器
-        List<PtlAgreementProductCostsAttrLinkHistory> costsAttrLinkHistories = new ArrayList<>();
-        //遍历费用属性
-        List<PtlAgreementProductCostsAttrLink> costsAttrLinks = agreementProductCosts.getCostsAttrLinks();
-        List<PtlAgreementProductCostsAttrLink> costsAttrLink = new ArrayList<>();
-        List<PtlAgreementUndwrtRulesAttr> undwrtRulesAttrList = ptlAgreementUndwrtRulesAttrService.getUndwrtRulesAttrList();
-        costsAttrLinks.forEach(x -> {
-            PtlAgreementProductCostsAttrLinkHistory costsAttrLinkHistory = new PtlAgreementProductCostsAttrLinkHistory();
-            //处理中文逗号
-            if(x.getMin() != null && x.getMin().contains(","))
-            {
-                x.setMin(x.getMin().replace(",",","));
-            }
-            PtlAgreementUndwrtRulesAttr ptlAgreementUndwrtRulesAttr = undwrtRulesAttrList.stream().filter(y -> y.getAttrCode().equals(x.getAttrCode())).findFirst().get();
-
-            //单独处理车牌号
-            if ("LicenseNo".equals(x.getAttrCode()) && (x.getMin() != null && !x.getMin().equals(""))) {
-//                x.setOperator(x.getDictLabal().getJSONObject(0).getString("parentNumber"));
-                x.setOperator("0");
-                x.setCostsId(ptlAgreementProductCostsNew.getId());
-                x.setId(0);
-                costsAttrLink.add(x);
-                BeanUtils.copyProperties(x, costsAttrLinkHistory);
-                //设置产品费用因子历史记录
-                costsAttrLinkHistory.setId(null);
-                costsAttrLinkHistory.setBatch(uuid);
-                costsAttrLinkHistory.setOperatorType("add");
-                costsAttrLinkHistory.setModifier(BaseController.getUser().getId());
-                costsAttrLinkHistory.setOperatorTime(LocalDateTime.now());
-                costsAttrLinkHistories.add(costsAttrLinkHistory);
-            } else {
-                if (ptlAgreementUndwrtRulesAttr.getAttrType().equals("radio") || (!"0".equals(x.getMin()) && null != x.getMin()) || (!"0".equals(x.getMax()) && null != x.getMax())) {
-                    if(x.getMin() != null || x.getMax() != null) {
-                        x.setCostsId(ptlAgreementProductCostsNew.getId());
-                        x.setId(0);
-                        costsAttrLink.add(x);
-                        BeanUtils.copyProperties(x, costsAttrLinkHistory);
-                        //设置产品费用因子历史记录
-                        costsAttrLinkHistory.setId(null);
-                        costsAttrLinkHistory.setBatch(uuid);
-
-                        costsAttrLinkHistory.setOperatorType("add");
-                        costsAttrLinkHistory.setModifier(BaseController.getUser().getId());
-                        costsAttrLinkHistory.setOperatorTime(LocalDateTime.now());
-                        costsAttrLinkHistories.add(costsAttrLinkHistory);
+        try {
+            for (AgreementProductCosts agreementProductCosts : agreementProductCostsList) {
+                for (int i = 0; i < agreementProductCosts.getProductId().size(); i++) {
+                    PtlAgreementProductCostsNew ptlAgreementProductCostsNew = new PtlAgreementProductCostsNew();
+                    BeanUtils.copyProperties(agreementProductCosts, ptlAgreementProductCostsNew);
+                    ptlAgreementProductCostsNew.setId(null);
+                    //设置默认优先级为1
+                    if (ptlAgreementProductCostsNew.getPriorityLevel() == null) {
+                        ptlAgreementProductCostsNew.setPriorityLevel(1);
                     }
+                    ptlAgreementProductCostsNew.setProductId(agreementProductCosts.getProductId().get(i));
+                    ptlAgreementProductCostsNew.setProductName(agreementProductCosts.getProductName().get(i));
+                    ptlAgreementProductCostsNew.setCreateTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+                    ptlAgreementProductCostsNew.setCreateBy(BaseController.getUser().getId());
+                    ptlAgreementProductCostsNew.blank();
+                    int insert = baseMapper.insert(ptlAgreementProductCostsNew);
+
+                    //添加费用出口信息
+                    PtlAgreementProductCostsExport ptlAgreementProductCostsExport = new PtlAgreementProductCostsExport();
+                    BeanUtils.copyProperties(agreementProductCosts, ptlAgreementProductCostsExport);
+                    ptlAgreementProductCostsExport.setCostsId(ptlAgreementProductCostsNew.getId());
+                    ptlAgreementProductCostsExport.setId(null);
+                    ptlAgreementProductCostsExport.blank();
+                    ptlAgreementProductCostsExportService.save(ptlAgreementProductCostsExport);
+                    //保存产品费用历史记录
+                    PtlAgreementProductCostsNewHistory ptlAgreementProductCostsNewHistory = new PtlAgreementProductCostsNewHistory();
+                    BeanUtils.copyProperties(agreementProductCosts, ptlAgreementProductCostsNewHistory);
+                    //添加费用ID
+                    ptlAgreementProductCostsNewHistory.setId(IdGenerate.nextId());
+                    ptlAgreementProductCostsNewHistory.setCostsId(ptlAgreementProductCostsNew.getId());
+                    //生成批次ID
+                    String uuid = IdGenerate.nextId();
+                    ptlAgreementProductCostsNewHistory.setBatch(uuid);
+                    ptlAgreementProductCostsNewHistory.setOperatorType("add");
+                    ptlAgreementProductCostsNewHistory.setModifier(BaseController.getUser().getId());
+                    ptlAgreementProductCostsNewHistory.setOperatorTime(LocalDateTime.now());
+                    ptlAgreementProductCostsNewHistoryService.save(ptlAgreementProductCostsNewHistory);
+                    //创建产品费用因子历史记录容器
+                    List<PtlAgreementProductCostsAttrLinkHistory> costsAttrLinkHistories = new ArrayList<>();
+                    //遍历费用属性
+                    List<PtlAgreementProductCostsAttrLink> costsAttrLinks = agreementProductCosts.getCostsAttrLinks();
+                    List<PtlAgreementProductCostsAttrLink> costsAttrLink = new ArrayList<>();
+                    List<PtlAgreementUndwrtRulesAttr> undwrtRulesAttrList = ptlAgreementUndwrtRulesAttrService.getUndwrtRulesAttrList();
+                    costsAttrLinks.forEach(x -> {
+                        PtlAgreementProductCostsAttrLinkHistory costsAttrLinkHistory = new PtlAgreementProductCostsAttrLinkHistory();
+                        //处理中文逗号
+                        if (x.getMin() != null && x.getMin().contains(",")) {
+                            x.setMin(x.getMin().replace(",", ","));
+                        }
+                        PtlAgreementUndwrtRulesAttr ptlAgreementUndwrtRulesAttr = undwrtRulesAttrList.stream().filter(y -> y.getAttrCode().equals(x.getAttrCode())).findFirst().get();
+
+                        //单独处理车牌号
+                        if ("LicenseNo".equals(x.getAttrCode()) && (x.getMin() != null && !x.getMin().equals(""))) {
+//                x.setOperator(x.getDictLabal().getJSONObject(0).getString("parentNumber"));
+                            x.setOperator("0");
+                            x.setCostsId(ptlAgreementProductCostsNew.getId());
+                            x.setId(0);
+                            costsAttrLink.add(x);
+                            BeanUtils.copyProperties(x, costsAttrLinkHistory);
+                            //设置产品费用因子历史记录
+                            costsAttrLinkHistory.setId(null);
+                            costsAttrLinkHistory.setBatch(uuid);
+                            costsAttrLinkHistory.setOperatorType("add");
+                            costsAttrLinkHistory.setModifier(BaseController.getUser().getId());
+                            costsAttrLinkHistory.setOperatorTime(LocalDateTime.now());
+                            costsAttrLinkHistories.add(costsAttrLinkHistory);
+                        } else {
+                            if (ptlAgreementUndwrtRulesAttr.getAttrType().equals("radio") || (!"0".equals(x.getMin()) && null != x.getMin()) || (!"0".equals(x.getMax()) && null != x.getMax())) {
+                                if (x.getMin() != null || x.getMax() != null) {
+                                    x.setCostsId(ptlAgreementProductCostsNew.getId());
+                                    x.setId(0);
+                                    costsAttrLink.add(x);
+                                    BeanUtils.copyProperties(x, costsAttrLinkHistory);
+                                    //设置产品费用因子历史记录
+                                    costsAttrLinkHistory.setId(null);
+                                    costsAttrLinkHistory.setBatch(uuid);
+
+                                    costsAttrLinkHistory.setOperatorType("add");
+                                    costsAttrLinkHistory.setModifier(BaseController.getUser().getId());
+                                    costsAttrLinkHistory.setOperatorTime(LocalDateTime.now());
+                                    costsAttrLinkHistories.add(costsAttrLinkHistory);
+                                }
+                            }
+                        }
+                    });
+                    //保存产品费用因子历史记录
+                    ptlAgreementProductCostsAttrLinkHistoryService.saveBatch(costsAttrLinkHistories);
+                    ptlAgreementProductCostsAttrLinkService.saveBatch(costsAttrLink);
+                    //添加费用因子轨迹
+                    ptlAgreementProductCostsTrajectoryService.addCostsTrajectory(ptlAgreementProductCostsNew.getId(), "新增费用因子", BaseController.getUser().getId());
                 }
             }
-        });
-        //保存产品费用因子历史记录
-        ptlAgreementProductCostsAttrLinkHistoryService.saveBatch(costsAttrLinkHistories);
-        ptlAgreementProductCostsAttrLinkService.saveBatch(costsAttrLink);
-        //添加费用因子轨迹
-        ptlAgreementProductCostsTrajectoryService.addCostsTrajectory(ptlAgreementProductCostsNew.getId(),"新增费用因子",BaseController.getUser().getId());
-        return true;
-
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
     }
 
+
+//        //  单条新增
+//        //添加费用主表信息
+//        PtlAgreementProductCostsNew ptlAgreementProductCostsNew = new PtlAgreementProductCostsNew();
+//        BeanUtils.copyProperties(agreementProductCosts, ptlAgreementProductCostsNew);
+//        ptlAgreementProductCostsNew.setId(null);
+//        //设置默认优先级为1
+//        if(ptlAgreementProductCostsNew.getPriorityLevel() == null)
+//        {
+//            ptlAgreementProductCostsNew.setPriorityLevel(1);
+//        }
+//        ptlAgreementProductCostsNew.setCreateTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+//        ptlAgreementProductCostsNew.setCreateBy(BaseController.getUser().getId());
+//        ptlAgreementProductCostsNew.blank();
+//        int insert = baseMapper.insert(ptlAgreementProductCostsNew);
+//
+//        //添加费用出口信息
+//        PtlAgreementProductCostsExport ptlAgreementProductCostsExport = new PtlAgreementProductCostsExport();
+//        BeanUtils.copyProperties(agreementProductCosts, ptlAgreementProductCostsExport);
+//        ptlAgreementProductCostsExport.setCostsId(ptlAgreementProductCostsNew.getId());
+//        ptlAgreementProductCostsExport.setId(null);
+//        ptlAgreementProductCostsExport.blank();
+//        ptlAgreementProductCostsExportService.save(ptlAgreementProductCostsExport);
+//        //保存产品费用历史记录
+//        PtlAgreementProductCostsNewHistory ptlAgreementProductCostsNewHistory = new PtlAgreementProductCostsNewHistory();
+//        BeanUtils.copyProperties(agreementProductCosts, ptlAgreementProductCostsNewHistory);
+//        //添加费用ID
+//        ptlAgreementProductCostsNewHistory.setId(IdGenerate.nextId());
+//        ptlAgreementProductCostsNewHistory.setCostsId(ptlAgreementProductCostsNew.getId());
+//        //生成批次ID
+//        String uuid = IdGenerate.nextId();
+//        ptlAgreementProductCostsNewHistory.setBatch(uuid);
+//        ptlAgreementProductCostsNewHistory.setOperatorType("add");
+//        ptlAgreementProductCostsNewHistory.setModifier(BaseController.getUser().getId());
+//        ptlAgreementProductCostsNewHistory.setOperatorTime(LocalDateTime.now());
+//        ptlAgreementProductCostsNewHistoryService.save(ptlAgreementProductCostsNewHistory);
+//        //创建产品费用因子历史记录容器
+//        List<PtlAgreementProductCostsAttrLinkHistory> costsAttrLinkHistories = new ArrayList<>();
+//        //遍历费用属性
+//        List<PtlAgreementProductCostsAttrLink> costsAttrLinks = agreementProductCosts.getCostsAttrLinks();
+//        List<PtlAgreementProductCostsAttrLink> costsAttrLink = new ArrayList<>();
+//        List<PtlAgreementUndwrtRulesAttr> undwrtRulesAttrList = ptlAgreementUndwrtRulesAttrService.getUndwrtRulesAttrList();
+//        costsAttrLinks.forEach(x -> {
+//            PtlAgreementProductCostsAttrLinkHistory costsAttrLinkHistory = new PtlAgreementProductCostsAttrLinkHistory();
+//            //处理中文逗号
+//            if(x.getMin() != null && x.getMin().contains(","))
+//            {
+//                x.setMin(x.getMin().replace(",",","));
+//            }
+//            PtlAgreementUndwrtRulesAttr ptlAgreementUndwrtRulesAttr = undwrtRulesAttrList.stream().filter(y -> y.getAttrCode().equals(x.getAttrCode())).findFirst().get();
+//
+//            //单独处理车牌号
+//            if ("LicenseNo".equals(x.getAttrCode()) && (x.getMin() != null && !x.getMin().equals(""))) {
+////                x.setOperator(x.getDictLabal().getJSONObject(0).getString("parentNumber"));
+//                x.setOperator("0");
+//                x.setCostsId(ptlAgreementProductCostsNew.getId());
+//                x.setId(0);
+//                costsAttrLink.add(x);
+//                BeanUtils.copyProperties(x, costsAttrLinkHistory);
+//                //设置产品费用因子历史记录
+//                costsAttrLinkHistory.setId(null);
+//                costsAttrLinkHistory.setBatch(uuid);
+//                costsAttrLinkHistory.setOperatorType("add");
+//                costsAttrLinkHistory.setModifier(BaseController.getUser().getId());
+//                costsAttrLinkHistory.setOperatorTime(LocalDateTime.now());
+//                costsAttrLinkHistories.add(costsAttrLinkHistory);
+//            } else {
+//                if (ptlAgreementUndwrtRulesAttr.getAttrType().equals("radio") || (!"0".equals(x.getMin()) && null != x.getMin()) || (!"0".equals(x.getMax()) && null != x.getMax())) {
+//                    if(x.getMin() != null || x.getMax() != null) {
+//                        x.setCostsId(ptlAgreementProductCostsNew.getId());
+//                        x.setId(0);
+//                        costsAttrLink.add(x);
+//                        BeanUtils.copyProperties(x, costsAttrLinkHistory);
+//                        //设置产品费用因子历史记录
+//                        costsAttrLinkHistory.setId(null);
+//                        costsAttrLinkHistory.setBatch(uuid);
+//
+//                        costsAttrLinkHistory.setOperatorType("add");
+//                        costsAttrLinkHistory.setModifier(BaseController.getUser().getId());
+//                        costsAttrLinkHistory.setOperatorTime(LocalDateTime.now());
+//                        costsAttrLinkHistories.add(costsAttrLinkHistory);
+//                    }
+//                }
+//            }
+//        });
+//        //保存产品费用因子历史记录
+//        ptlAgreementProductCostsAttrLinkHistoryService.saveBatch(costsAttrLinkHistories);
+//        ptlAgreementProductCostsAttrLinkService.saveBatch(costsAttrLink);
+//        //添加费用因子轨迹
+//        ptlAgreementProductCostsTrajectoryService.addCostsTrajectory(ptlAgreementProductCostsNew.getId(),"新增费用因子",BaseController.getUser().getId());
+//        return true;
+//
+//    }
+
     @Transactional
     @Override
     public boolean costsUpdate(AgreementProductCosts agreementProductCosts) {
@@ -767,7 +867,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
         agreementProductCosts.setCostsAttrLinks(ptlAgreementProductCostsAttrLink);
         agreementProductCosts.setId("0");
 
-        this.costsAdd(agreementProductCosts);
+        this.costsAdd((List<AgreementProductCosts>) agreementProductCosts);
 
         return true;
     }
@@ -804,7 +904,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
             agreementProductCosts.setCostsAttrLinks(ptlAgreementProductCostsAttrLink);
             agreementProductCosts.setId("0");
 
-            this.costsAdd(agreementProductCosts);
+            this.costsAdd((List<AgreementProductCosts>) agreementProductCosts);
         }
 
         return true;

+ 17 - 6
src/main/resources/mapper/modules/fnc/InsPlyIncomeMapper.xml

@@ -67,6 +67,7 @@
         <result column="partner_companies_id" property="partnerCompaniesId"/>
         <result column="partner_companies_name" property="partnerCompaniesName"/>
         <result column="receivable_amount" property="receivableAmount"/>
+        <result column="insured_name" property="insuredName"/>
     </resultMap>
     <sql id="income_com">
                 a.id      as  "id",
@@ -130,6 +131,7 @@
                 a.company_name  as  "companyName",
                 a.receivable_amount  as  "receivableAmount",
                 a.invoic_time  as  "invoicTime",
+                a.insured_name  as  "insuredName",
                 a.user_id  as  "userId",
                 a.create_time  as  "createTime"
     </sql>
@@ -181,7 +183,6 @@
                 </if>
                 <if test="licenseno != null and licenseno != ''">
                     and a.licenseno  =#{licenseno}
-
                 </if>
 
                 <if test="policyno != null and policyno != ''  and policyno.length > 0">
@@ -236,6 +237,9 @@
                 <if test="day !=null  and  day !=''">
                     AND day(a.signdate) =#{day}
                 </if>
+                <if test="insuredName !=null  and  insuredName !=''">
+                    a.insured_name =#{insuredName}
+                </if>
             </where>
     </select>
 
@@ -388,12 +392,12 @@
         </where>
     </select>
 
-    <select id="totalAmount" resultType="com.ydtech.modules.fnc.entity.InsPlyIncome">
+    <select id="totalAmount" resultType="java.util.HashMap">
             select
-                sum(a.commission_feevalue) as "commissionFeevalue",
-                sum(a.other_feevalue)  as "otherFeevalue",
-                SUM(a.commission_feevalue + a.other_feevalue) as "totalFeevalue"
-            from  ins_ply_income a
+                COALESCE( sum(a.commission_feevalue),0) as "commissionFeevalue",
+                COALESCE(sum(a.other_feevalue),0)   as "otherFeevalue",
+                COALESCE(SUM(COALESCE(a.commission_feevalue, 0) + COALESCE(a.other_feevalue, 0)), 0) AS "totalFeevalue"
+        from  ins_ply_income a
             LEFT JOIN   ptl_agreement  pa  on pa.id= a.agreement_id
             <where>
                 1=1
@@ -421,6 +425,13 @@
                     and a.documentary_fees_status =#{documentaryFeesStatus}
                 </if>
 
+                <if test="selectIds != null and selectIds != '' and selectIds.size() > 0">
+                    and a.id in
+                    <foreach collection="selectIds" item="item" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+
                 <if test="isNotCar !=null  and  isNotCar  !=''">
                     and a.is_not_car =#{isNotCar}
                 </if>

+ 15 - 7
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -138,14 +138,18 @@
         ifa.audittime as auditTime,
         ifa.auditstatus as auditStatus,
         eic.namesimple as partnerCompaniesName,
-        iac.id as  subOrderId
+        iac.id as  subOrderId,
+        iac.signing_time as signingTime,
+        iac.pay_date  as payDate,
+        pa.agreement_code as agreementCode,
+        pa.agreement_name as agreementName
         FROM
         ins_orders io
-        LEFT JOIN ins_fee_audit ifa ON ifa.orderno = io.orderno
+        LEFT JOIN ins_area_company iac ON iac.orderno = io.orderno and iac.orderstatus = 3
+        LEFT JOIN ins_fee_audit ifa ON ifa.ins_order_no = iac.id
         LEFT JOIN sys_user su ON su.id = io.userid
         LEFT JOIN sys_dept sd ON sd.id = su.dept_id
         LEFT JOIN sys_user su2 ON ifa.audituser = su2.id
-        LEFT JOIN ins_area_company iac ON iac.orderno = io.orderno and iac.orderstatus = 3
         LEFT JOIN ptl_agreement pa ON pa.id = iac.agreement_id
         LEFT JOIN esm_ins_company eic on eic.id = pa.partner_companies_id
         WHERE
@@ -181,10 +185,10 @@
         <if test="params.riskCode != null and params.riskCode != ''">
             and io.product = #{params.riskCode}
         </if>
-        <if test="params.quoteStartDateStr != null and params.quoteStartDateStr != ''">
+        <if test="params.quoteStartDateStr != null and params.quoteStartDateStr != '' and params.quoteEndDateStr != null and params.quoteEndDateStr != ''">
             and  DATE_FORMAT(io.createtime, '%Y-%m-%d') between #{params.quoteStartDateStr} AND #{params.quoteEndDateStr}
         </if>
-        <if test="params.attachStartDateStr != null and params.attachStartDateStr != ''">
+        <if test="params.attachStartDateStr != null and params.attachStartDateStr != '' and params.attachStartDateStr != null and params.attachStartDateStr != '' ">
             and  ((
             DATE_FORMAT(io.jqstartdate, '%Y-%m-%d') BETWEEN #{params.attachStartDateStr}
             AND #{params.attachEndDateStr}
@@ -219,8 +223,12 @@
         <if test="params.managementSource != null and params.managementSource != ''">
             and sd.management_source = #{params.managementSource}
         </if>
-
-
+        <if test="params.signStartDateStr != null and params.signStartDateStr != '' and params.signEndDateStr != null and params.signEndDateStr != ''">
+            and  DATE_FORMAT(io.createtime, '%Y-%m-%d') between #{params.signStartDateStr} AND #{params.signEndDateStr}
+        </if>
+        <if test="params.payStartDateStr != null and params.payStartDateStr != '' and params.payEndDateStr != null and params.payEndDateStr != ''">
+            and  DATE_FORMAT(io.createtime, '%Y-%m-%d') between #{params.payStartDateStr} AND #{params.payEndDateStr}
+        </if>
     </select>
 
     <select id="getByUserId" resultType="com.ydtech.modules.order.entity.InsOrders">

+ 10 - 1
src/main/resources/mapper/modules/order/InsOrdersMapper.xml

@@ -115,6 +115,10 @@
         <result property="crossInsurance" column="cross_insurance" javaType="com.alibaba.fastjson.JSONArray"
                 typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" jdbcType="VARCHAR"/>
         <result property="ubiPredictedInfoScore" column="ubi_predicted_info_score" jdbcType="VARCHAR"/>
+        <result property="signingTime" column="signingTime" jdbcType="TIMESTAMP"/>
+        <result property="payDate" column="payDate" jdbcType="TIMESTAMP"/>
+        <result property="partnerCompaniesName" column="partnerCompaniesName" jdbcType="VARCHAR"/>
+
     </resultMap>
 
 
@@ -221,9 +225,14 @@
                iac.accident_info,
                iac.tax_arrears,
                iac.cross_insurance,
-               iac.ubi_predicted_info_score
+               iac.ubi_predicted_info_score,
+               iac.signing_time as signingTime,
+               iac.pay_date  as payDate,
+               eic.namesimple as partnerCompaniesName
         from ins_orders as o
                  join ins_area_company iac on o.orderno = iac.orderno
+                 LEFT JOIN ptl_agreement pa ON pa.id = iac.agreement_id
+                 LEFT JOIN esm_ins_company eic on eic.id = pa.partner_companies_id
         where iac.id = #{companyId}
     </select>
 

BIN
src/main/resources/template/handlingFeeTemplate.xlsx


BIN
src/main/resources/template/noHandlingFeeTemplate.xlsx