wks пре 1 година
родитељ
комит
be44c9a3af

+ 1 - 2
src/main/java/com/ydtech/modules/order/service/impl/GuorenOrderApiServiceImpl.java

@@ -1111,11 +1111,10 @@ public class GuorenOrderApiServiceImpl implements GuorenOrderApiService {
             //2、 转保
             boo = GuorenDuplicateInsuranceComponent.buildCheckCodeParam(resp, requestInfoList, req);
             if (boo) {
-                a++;
                 continue;
             }
 
-            if (a > 6) {
+            if (a > 3) {
                 break;
             }
 

+ 74 - 61
src/main/java/com/ydtech/modules/protocols/service/impl/PtlAgreementProductCostsNewServiceImpl.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.protocols.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.constants.enums.dict.FeeAuditAuditstatus;
 import com.ydtech.constants.enums.dict.agreement.ProductsType;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.model.SysUser;
@@ -18,8 +19,11 @@ import com.ydtech.modules.fee.service.CostsCalcService;
 import com.ydtech.modules.fee.service.FeeRuleSchemeNewService;
 import com.ydtech.modules.fee.service.FeeRuleSchemeService;
 import com.ydtech.modules.fee.service.impl.InsFeeOrderConfigServiceImpl;
+import com.ydtech.modules.fnc.entity.InsFeeAudit;
 import com.ydtech.modules.fnc.entity.InsFeeAuditHistory;
 import com.ydtech.modules.fnc.service.InsFeeAuditHistoryService;
+import com.ydtech.modules.fnc.service.InsFeeAuditService;
+import com.ydtech.modules.fnc.service.impl.InsFeeAuditServiceImpl;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.vo.FeeOrderNewRecordVo;
@@ -95,6 +99,8 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
     @Autowired
     private InsFeeAuditHistoryService insFeeAuditHistoryService;
     private InsFeeOrderConfigServiceImpl insFeeOrderConfigServiceImpl;
+    @Autowired
+    private InsFeeAuditServiceImpl insFeeAuditServiceImpl;
 
 
     @Override
@@ -355,10 +361,10 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
                     desc += ptlAgreementUndwrtRulesAttr.getAttrName() + "包含" + v.get(i).getMin() + "\n";
                 }
                 if ("input".equals(ptlAgreementUndwrtRulesAttr.getAttrType())) {
-                    if(ptlAgreementUndwrtRulesAttr.getAttrCode().equals("BrandandModel")){
+                    if (ptlAgreementUndwrtRulesAttr.getAttrCode().equals("BrandandModel")) {
                         String operatorDesc = !Objects.isNull(v.get(i).getOperator()) && v.get(i).getOperator().equals("1") ? "包含" : "不包含";
                         desc += ptlAgreementUndwrtRulesAttr.getAttrName() + operatorDesc + v.get(i).getMin() + "\n";
-                    }else {
+                    } else {
                         desc += ptlAgreementUndwrtRulesAttr.getAttrName() + "为" + v.get(i).getMin() + "\n";
                     }
                 }
@@ -758,11 +764,11 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
 //            }
 //        }
         //单交
-        if(agreementProductCosts.getProductId().get(0).equals(ProductsType.PT_0330.getCode())){
+        if (agreementProductCosts.getProductId().get(0).equals(ProductsType.PT_0330.getCode())) {
             //清空商业险信息
             agreementProductCosts.clearSyInfo();
-        }else if(agreementProductCosts.getProductId().get(0).equals(ProductsType.PT_034001.getCode()) ||
-                agreementProductCosts.getProductId().get(0).equals(ProductsType.PT_034002.getCode())){
+        } else if (agreementProductCosts.getProductId().get(0).equals(ProductsType.PT_034001.getCode()) ||
+                agreementProductCosts.getProductId().get(0).equals(ProductsType.PT_034002.getCode())) {
             //清空交强险信息
             agreementProductCosts.clearJqInfo();
         }
@@ -1074,36 +1080,36 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
     public boolean costsDateBatch(AgreementProductCostsVo agreementProductCostsVo) {
         // 更新每个费用项目的起止期
         for (String id : agreementProductCostsVo.getIds()) {
-           PtlAgreementProductCostsNew ptlAgreementProductCostsNew = this.getById(id);
-           if (ptlAgreementProductCostsNew == null) {
-               throw new SystemException("费用不存在");
-           }
-           if (agreementProductCostsVo.getCostsEndDate() != null) {
-               ptlAgreementProductCostsNew.setCostsEndDate(agreementProductCostsVo.getCostsEndDate());
-           }
-           if (agreementProductCostsVo.getCostsStartDate() != null) {
-               ptlAgreementProductCostsNew.setCostsStartDate(agreementProductCostsVo.getCostsStartDate());
-           }
-           ptlAgreementProductCostsNew.setIsAudit(0);
-        String desc = "修改费用因子";
-        //添加费用因子轨迹
-        ptlAgreementProductCostsTrajectoryService.addCostsTrajectory(ptlAgreementProductCostsNew.getId(), desc, BaseController.getUser().getId());
-        //保存产品费用历史记录
-        PtlAgreementProductCostsNewHistory ptlAgreementProductCostsNewHistory = new PtlAgreementProductCostsNewHistory();
-        //添加费用ID
-        ptlAgreementProductCostsNewHistory.setId(IdGenerate.nextId());
-        ptlAgreementProductCostsNewHistory.setCostsId(ptlAgreementProductCostsNew.getId());
-        //生成批次ID
-        String uuid = IdGenerate.nextId();
-        ptlAgreementProductCostsNewHistory.setBatch(uuid);
-        ptlAgreementProductCostsNewHistory.setAgreementId(ptlAgreementProductCostsNew.getAgreementId());
-        ptlAgreementProductCostsNewHistory.setProductId(ptlAgreementProductCostsNew.getProductId());
-        ptlAgreementProductCostsNewHistory.setProductName(ptlAgreementProductCostsNew.getProductName());
-        ptlAgreementProductCostsNewHistory.setOperatorType("update");
-        ptlAgreementProductCostsNewHistory.setModifier(BaseController.getUser().getId());
-        ptlAgreementProductCostsNewHistory.setOperatorTime(LocalDateTime.now());
-        ptlAgreementProductCostsNewHistoryService.save(ptlAgreementProductCostsNewHistory);
-        baseMapper.updateById(ptlAgreementProductCostsNew);
+            PtlAgreementProductCostsNew ptlAgreementProductCostsNew = this.getById(id);
+            if (ptlAgreementProductCostsNew == null) {
+                throw new SystemException("费用不存在");
+            }
+            if (agreementProductCostsVo.getCostsEndDate() != null) {
+                ptlAgreementProductCostsNew.setCostsEndDate(agreementProductCostsVo.getCostsEndDate());
+            }
+            if (agreementProductCostsVo.getCostsStartDate() != null) {
+                ptlAgreementProductCostsNew.setCostsStartDate(agreementProductCostsVo.getCostsStartDate());
+            }
+            ptlAgreementProductCostsNew.setIsAudit(0);
+            String desc = "修改费用因子";
+            //添加费用因子轨迹
+            ptlAgreementProductCostsTrajectoryService.addCostsTrajectory(ptlAgreementProductCostsNew.getId(), desc, BaseController.getUser().getId());
+            //保存产品费用历史记录
+            PtlAgreementProductCostsNewHistory ptlAgreementProductCostsNewHistory = new PtlAgreementProductCostsNewHistory();
+            //添加费用ID
+            ptlAgreementProductCostsNewHistory.setId(IdGenerate.nextId());
+            ptlAgreementProductCostsNewHistory.setCostsId(ptlAgreementProductCostsNew.getId());
+            //生成批次ID
+            String uuid = IdGenerate.nextId();
+            ptlAgreementProductCostsNewHistory.setBatch(uuid);
+            ptlAgreementProductCostsNewHistory.setAgreementId(ptlAgreementProductCostsNew.getAgreementId());
+            ptlAgreementProductCostsNewHistory.setProductId(ptlAgreementProductCostsNew.getProductId());
+            ptlAgreementProductCostsNewHistory.setProductName(ptlAgreementProductCostsNew.getProductName());
+            ptlAgreementProductCostsNewHistory.setOperatorType("update");
+            ptlAgreementProductCostsNewHistory.setModifier(BaseController.getUser().getId());
+            ptlAgreementProductCostsNewHistory.setOperatorTime(LocalDateTime.now());
+            ptlAgreementProductCostsNewHistoryService.save(ptlAgreementProductCostsNewHistory);
+            baseMapper.updateById(ptlAgreementProductCostsNew);
         }
 
         return true;
@@ -1151,6 +1157,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
 
         return true;
     }
+
     private void validateItems(PtlAgreementProductCostsNew costs, PtlAgreementProductCostsExport export) {
         if (costs == null || export == null) {
             throw new SystemException("费用不存在");
@@ -1176,37 +1183,37 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
                 BigDecimal updatedValue = current.add(add);
                 // 检查更新后的值是否小于零
                 if (updatedValue.compareTo(BigDecimal.ZERO) < 0) {
-                    throw new SystemException("id为"+ item.getId() + desc + "比例值不能小于零");
+                    throw new SystemException("id为" + item.getId() + desc + "比例值不能小于零");
                 }
-                switch(desc) {
+                switch (desc) {
                     case "交强险总费用":
                         BigDecimal totalJqExportRadio = export.getJqExportRadioLevel1()
-                                                    .add(export.getJqExportRadioLevel2())
-                                                    .add(export.getJqExportRadioLevel3())
-                                                    .add(export.getJqExportRadioLevel4())
-                                                    .add(export.getJqExportRadioLevel5());
+                                .add(export.getJqExportRadioLevel2())
+                                .add(export.getJqExportRadioLevel3())
+                                .add(export.getJqExportRadioLevel4())
+                                .add(export.getJqExportRadioLevel5());
                         if (updatedValue.compareTo(totalJqExportRadio) < 0) {
-                            throw new SystemException("id为"+ item.getId() + desc + "比例值不能小于交强险管理比例1-5级的总和");
+                            throw new SystemException("id为" + item.getId() + desc + "比例值不能小于交强险管理比例1-5级的总和");
                         }
                         break;
                     case "商业险总费用":
                         BigDecimal totalSyExportRadio = export.getSyExportRadioLevel1()
-                                                        .add(export.getSyExportRadioLevel2())
-                                                        .add(export.getSyExportRadioLevel3())
-                                                        .add(export.getSyExportRadioLevel4())
-                                                        .add(export.getSyExportRadioLevel5());
+                                .add(export.getSyExportRadioLevel2())
+                                .add(export.getSyExportRadioLevel3())
+                                .add(export.getSyExportRadioLevel4())
+                                .add(export.getSyExportRadioLevel5());
                         if (updatedValue.compareTo(totalSyExportRadio) < 0) {
-                            throw new SystemException("id为"+ item.getId() + desc + "比例值不能小于商业险管理比例1-5级的总和");
+                            throw new SystemException("id为" + item.getId() + desc + "比例值不能小于商业险管理比例1-5级的总和");
                         }
                         break;
                     case "非车险总费用":
                         BigDecimal totalNoCarExportRadio = export.getNoCarExportRadioLevel1()
-                                                        .add(export.getNoCarExportRadioLevel2())
-                                                        .add(export.getNoCarExportRadioLevel3())
-                                                        .add(export.getNoCarExportRadioLevel4())
-                                                        .add(export.getNoCarExportRadioLevel5());
+                                .add(export.getNoCarExportRadioLevel2())
+                                .add(export.getNoCarExportRadioLevel3())
+                                .add(export.getNoCarExportRadioLevel4())
+                                .add(export.getNoCarExportRadioLevel5());
                         if (updatedValue.compareTo(totalNoCarExportRadio) < 0) {
-                            throw new SystemException("id为"+ item.getId() + desc + "比例值不能小于非车险管理比例1-5级的总和");
+                            throw new SystemException("id为" + item.getId() + desc + "比例值不能小于非车险管理比例1-5级的总和");
                         }
                         break;
                 }
@@ -1231,13 +1238,13 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
                     // 计算费用比例需要减少的值
                     BigDecimal subtractValue = addOther.abs().subtract(currentOther); // 取绝对值,因为是负数
                     // 根据描述符更新对应的总费用比例
-                    switch(desc) {
+                    switch (desc) {
                         case "交强险其他费用":
                             // 获得现在费用比例的值
                             BigDecimal jqCarCostsProportion = new BigDecimal(item.getJqCarCostsProportion());
                             BigDecimal currentJqCarCostsProportion = jqCarCostsProportion.subtract(subtractValue);
                             if (currentJqCarCostsProportion.compareTo(BigDecimal.ZERO) < 0) {
-                                throw new SystemException("id为"+ item.getId() + desc + "比例值不能小于零");
+                                throw new SystemException("id为" + item.getId() + desc + "比例值不能小于零");
                             }
                             item.setJqCarCostsProportion(currentJqCarCostsProportion.toString());
                             break;
@@ -1245,7 +1252,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
                             BigDecimal syCarCostsProportion = new BigDecimal(item.getSyCarCostsProportion());
                             BigDecimal currentSyCarCostsProportion = syCarCostsProportion.subtract(subtractValue);
                             if (currentSyCarCostsProportion.compareTo(BigDecimal.ZERO) < 0) {
-                                throw new SystemException("id为"+ item.getId() + desc + "比例值不能小于零");
+                                throw new SystemException("id为" + item.getId() + desc + "比例值不能小于零");
                             }
                             item.setSyCostsProportion(currentSyCarCostsProportion.toString());
                             break;
@@ -1253,7 +1260,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
                             BigDecimal noCarCostsProportion = new BigDecimal(item.getNoCarCostsProportion());
                             BigDecimal currentNoCarCostsProportion = noCarCostsProportion.subtract(subtractValue);
                             if (currentNoCarCostsProportion.compareTo(BigDecimal.ZERO) < 0) {
-                                throw new SystemException("id为"+ item.getId() + desc + "比例值不能小于零");
+                                throw new SystemException("id为" + item.getId() + desc + "比例值不能小于零");
                             }
                             item.setNoCarCostsProportion(currentNoCarCostsProportion.toString());
                             break;
@@ -1289,7 +1296,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
 //    }
 
     //更新1-5级比例
-    private void updateExportItem(AgreementProductCostsVo vo, PtlAgreementProductCostsExport item,PtlAgreementProductCostsNew costsItem) {
+    private void updateExportItem(AgreementProductCostsVo vo, PtlAgreementProductCostsExport item, PtlAgreementProductCostsNew costsItem) {
         updateExportRadios(item, vo.getJqExportRadioLevel1(), item::getJqExportRadioLevel1, item::setJqExportRadioLevel1, "交强险一级比例", costsItem);
         updateExportRadios(item, vo.getJqExportRadioLevel2(), item::getJqExportRadioLevel2, item::setJqExportRadioLevel2, "交强险二级比例", costsItem);
         updateExportRadios(item, vo.getJqExportRadioLevel3(), item::getJqExportRadioLevel3, item::setJqExportRadioLevel3, "交强险三级比例", costsItem);
@@ -1308,7 +1315,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
     }
 
     //更新1-5级比例
-    private void updateExportRadios(PtlAgreementProductCostsExport item, BigDecimal valueToAdd, Supplier<BigDecimal> getter, Consumer<BigDecimal> setter,String desc,PtlAgreementProductCostsNew costsItem) {
+    private void updateExportRadios(PtlAgreementProductCostsExport item, BigDecimal valueToAdd, Supplier<BigDecimal> getter, Consumer<BigDecimal> setter, String desc, PtlAgreementProductCostsNew costsItem) {
         if (valueToAdd != null) {
             BigDecimal currentValue = getter.get();
             BigDecimal updatedValue = currentValue.add(valueToAdd);
@@ -1326,9 +1333,9 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
             }
             // 检查更新后的值是否小于零
             if (updatedValue.compareTo(BigDecimal.ZERO) < 0) {
-                throw new SystemException("id为"+ item.getCostsId() + desc + "比例值不能小于零");
+                throw new SystemException("id为" + item.getCostsId() + desc + "比例值不能小于零");
             }
-            switch(desc) {
+            switch (desc) {
                 case "交强险一级比例":
                     BigDecimal totalJqCostsExportRadio1 = updatedValue.add(item.getJqExportRadioLevel2())
                             .add(item.getJqExportRadioLevel3())
@@ -1579,6 +1586,8 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
     @Autowired
     private SysSwitchConfigService sysSwitchConfigService;
 
+    @Autowired
+    private InsFeeAuditService insFeeAuditService;
 
     @Transactional
     @Override
@@ -1612,6 +1621,10 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
         InsFeeOrderNew insFeeOrderNew = insFeeOrderNewService.getById(feeId);
         InsAreaCompany insAreaCompany = insAreaCompanyService.getById(insFeeOrderNew.getInsOrderNo());
 
+        InsFeeAudit insFeeAudit = insFeeAuditService.lambdaQuery().eq(InsFeeAudit::getInsOrderNo, insAreaCompany.getId()).one();
+        if (FeeAuditAuditstatus.PASSED.getCode().equals(insFeeAudit.getAuditstatus())) {
+            throw new SystemException("审核通过的订单无法进行修改费用!!");
+        }
 
         InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
         SysUser sysUser = sysUserService.findByUserId(insOrders.getUserid());
@@ -1619,7 +1632,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
         // 外部订单比例
         BigDecimal enterProportion = sysSwitchConfigService.getEnterProportion(insOrders.getDeptid(), insOrders.getEntryStatus());
 
-           //查询协议是否包含税
+        //查询协议是否包含税
         PtlAgreement ptlAgreement = ptlAgreementService.getById(insFeeOrderNew.getAgreementId());
         BigDecimal taxRadio = new BigDecimal("1.00");
         if (ptlAgreement.getWithTax().equals("否")) {