ソースを参照

协议筛选增加对接人、批量修改费用修改

Qchen 1 年間 前
コミット
c2754d222a

+ 3 - 0
src/main/java/com/ydtech/modules/protocol/entity/vo/PtlAgreementPageVo.java

@@ -74,4 +74,7 @@ public class PtlAgreementPageVo extends PageRequest {
     @ApiModelProperty("审核方式")
     private Integer auditType;
 
+    @ApiModelProperty("对接人")
+    private String dockingPerson;
+
 }

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

@@ -479,7 +479,10 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
                         ptlAgreementPageVo.getIsExternal())
                 // 审核方式
                 .eq(!ObjectUtils.isEmpty(ptlAgreementPageVo.getAuditType()), PtlAgreement::getAuditType,
-                        ptlAgreementPageVo.getAuditType());
+                        ptlAgreementPageVo.getAuditType())
+                // 对接人名字
+                .eq(!ObjectUtils.isEmpty(ptlAgreementPageVo.getDockingPerson()), PtlAgreement::getDockingPerson,
+                        ptlAgreementPageVo.getDockingPerson());
         // 录入时间
         if (!ObjectUtils.isEmpty(ptlAgreementPageVo.getStartDate()) && !ObjectUtils.isEmpty(ptlAgreementPageVo.getEndDate())) {
             LocalDateTime startDateTime = ptlAgreementPageVo.getStartDate().atTime(LocalTime.MIN);
@@ -520,14 +523,11 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         Page<PtlAgreement> agreementPage = page(page, wrapper);
         agreementPage.getRecords().forEach(agreement -> {
             LocalDate startDate = agreement.getStartDate();
+            System.out.println(startDate);
             LocalDate endDate = agreement.getEndDate();
             LocalDate now = LocalDate.now();
 
-            if (now.isEqual(startDate)) {
-                agreement.setIsValid("1");
-            }
-
-            if (now.isAfter(startDate) && now.isBefore(endDate)) {
+            if (now.isEqual(startDate) || (now.isAfter(startDate) && now.isBefore(endDate))) {
                 agreement.setIsValid("1");
             } else {
                 agreement.setIsValid("0");

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

@@ -14,6 +14,8 @@ public class AgreementProductQueryVo extends PageRequest {
     @ApiModelProperty(value = "协议ids")
     private String agreementIds;
 
+    @ApiModelProperty(value = "协议id列表")
+    private List<String> agreementIdList;
     @ApiModelProperty(value = "协议id")
     private String agreementId;
 

+ 44 - 28
src/main/java/com/ydtech/modules/protocols/service/impl/PtlAgreementProductCostsNewServiceImpl.java

@@ -1102,22 +1102,27 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
         if (vo.getCostsStartDate() != null) {
             item.setCostsStartDate(vo.getCostsStartDate());
         }
-        updateProportion(item, vo.getJqCostsProportion(), item::getJqCostsProportion, item::setJqCostsProportion);
-        updateProportion(item, vo.getSyCostsProportion(), item::getSyCostsProportion, item::setSyCostsProportion);
-        updateProportion(item, vo.getNoCostsProportion(), item::getNoCostsProportion, item::setNoCostsProportion);
+        updateProportion(item, vo.getJqCostsProportion(), item::getJqCostsProportion, item::setJqCostsProportion, "交强险总费用");
+        updateProportion(item, vo.getSyCostsProportion(), item::getSyCostsProportion, item::setSyCostsProportion, "商业险总费用");
+        updateProportion(item, vo.getNoCostsProportion(), item::getNoCostsProportion, item::setNoCostsProportion, "非车险总费用");
         //更新其他费用比例
-        updateOtherCostsProportion(item, vo.getJqCostsProportion(), item::getJqCarOtherCostsProportion, item::setJqCarOtherCostsProportion);
-        updateOtherCostsProportion(item, vo.getSyCostsProportion(), item::getSyCarOtherCostsProportion, item::setSyCarOtherCostsProportion);
-        updateOtherCostsProportion(item, vo.getNoCostsProportion(), item::getNoCarOtherCostsProportion, item::setNoCarOtherCostsProportion);
+        updateOtherCostsProportion(item, vo.getJqCostsProportion(), item::getJqCarOtherCostsProportion, item::setJqCarOtherCostsProportion, "交强险其他费用");
+        updateOtherCostsProportion(item, vo.getSyCostsProportion(), item::getSyCarOtherCostsProportion, item::setSyCarOtherCostsProportion, "商业险其他费用");
+        updateOtherCostsProportion(item, vo.getNoCostsProportion(), item::getNoCarOtherCostsProportion, item::setNoCarOtherCostsProportion, "非车险其他费用");
     }
 
     //更新总比费用
-    private void updateProportion(PtlAgreementProductCostsNew item, String proportionToAdd, Supplier<String> getter, Consumer<String> setter) {
+    private void updateProportion(PtlAgreementProductCostsNew item, String proportionToAdd, Supplier<String> getter, Consumer<String> setter, String desc) {
         if (proportionToAdd != null) {
             try {
                 BigDecimal current = new BigDecimal(getter.get());
                 BigDecimal add = new BigDecimal(proportionToAdd);
-                setter.accept(current.add(add).toString());
+                BigDecimal updatedValue = current.add(add);
+                // 检查更新后的值是否小于零
+                if (updatedValue.compareTo(BigDecimal.ZERO) < 0) {
+                    throw new SystemException(desc + "比例值不能小于零");
+                }
+                setter.accept(updatedValue.toString());
             } catch (NumberFormatException e) {
                 throw new SystemException("比例值格式错误");
             }
@@ -1125,14 +1130,18 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
     }
 
     //更新其他费用比例
-    private void updateOtherCostsProportion(PtlAgreementProductCostsNew item, String otherProportionToAdd, Supplier<String> getter, Consumer<String> setter) {
+    private void updateOtherCostsProportion(PtlAgreementProductCostsNew item, String otherProportionToAdd, Supplier<String> getter, Consumer<String> setter, String desc) {
         if (otherProportionToAdd != null) {
             try {
                 BigDecimal currentOther = new BigDecimal(getter.get());
                 BigDecimal addOther = new BigDecimal(otherProportionToAdd);
+                BigDecimal updatedValue = currentOther.add(addOther);
 
-                // 调整其他费用比例相同的值
-                setter.accept(currentOther.add(addOther).toString());
+                // 检查更新后的值是否小于零
+                if (updatedValue.compareTo(BigDecimal.ZERO) < 0) {
+                    throw new SystemException(desc + "比例值不能小于零");
+                }
+                setter.accept(updatedValue.toString());
             } catch (NumberFormatException e) {
                 throw new SystemException("其他费用比例值格式错误");
             }
@@ -1141,27 +1150,34 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
 
     //更新1-5级比例
     private void updateExportItem(AgreementProductCostsVo vo, PtlAgreementProductCostsExport item) {
-        updateExportRadios(item, vo.getJqExportRadioLevel1(), item::getJqExportRadioLevel1, item::setJqExportRadioLevel1);
-        updateExportRadios(item, vo.getJqExportRadioLevel2(), item::getJqExportRadioLevel2, item::setJqExportRadioLevel2);
-        updateExportRadios(item, vo.getJqExportRadioLevel3(), item::getJqExportRadioLevel3, item::setJqExportRadioLevel3);
-        updateExportRadios(item, vo.getJqExportRadioLevel4(), item::getJqExportRadioLevel4, item::setJqExportRadioLevel4);
-        updateExportRadios(item, vo.getJqExportRadioLevel5(), item::getJqExportRadioLevel5, item::setJqExportRadioLevel5);
-        updateExportRadios(item, vo.getSyExportRadioLevel1(), item::getSyExportRadioLevel1, item::setSyExportRadioLevel1);
-        updateExportRadios(item, vo.getSyExportRadioLevel2(), item::getSyExportRadioLevel2, item::setSyExportRadioLevel2);
-        updateExportRadios(item, vo.getSyExportRadioLevel3(), item::getSyExportRadioLevel3, item::setSyExportRadioLevel3);
-        updateExportRadios(item, vo.getSyExportRadioLevel4(), item::getSyExportRadioLevel4, item::setSyExportRadioLevel4);
-        updateExportRadios(item, vo.getSyExportRadioLevel5(), item::getSyExportRadioLevel5, item::setSyExportRadioLevel5);
-        updateExportRadios(item, vo.getNoCarExportRadioLevel1(), item::getNoCarExportRadioLevel1, item::setNoCarExportRadioLevel1);
-        updateExportRadios(item, vo.getNoCarExportRadioLevel2(), item::getNoCarExportRadioLevel2, item::setNoCarExportRadioLevel2);
-        updateExportRadios(item, vo.getNoCarExportRadioLevel3(), item::getNoCarExportRadioLevel3, item::setNoCarExportRadioLevel3);
-        updateExportRadios(item, vo.getNoCarExportRadioLevel4(), item::getNoCarExportRadioLevel4, item::setNoCarExportRadioLevel4);
-        updateExportRadios(item, vo.getNoCarExportRadioLevel5(), item::getNoCarExportRadioLevel5, item::setNoCarExportRadioLevel5);
+        updateExportRadios(item, vo.getJqExportRadioLevel1(), item::getJqExportRadioLevel1, item::setJqExportRadioLevel1, "交强险一级比例");
+        updateExportRadios(item, vo.getJqExportRadioLevel2(), item::getJqExportRadioLevel2, item::setJqExportRadioLevel2, "交强险二级比例");
+        updateExportRadios(item, vo.getJqExportRadioLevel3(), item::getJqExportRadioLevel3, item::setJqExportRadioLevel3, "交强险三级比例");
+        updateExportRadios(item, vo.getJqExportRadioLevel4(), item::getJqExportRadioLevel4, item::setJqExportRadioLevel4, "交强险四级比例");
+        updateExportRadios(item, vo.getJqExportRadioLevel5(), item::getJqExportRadioLevel5, item::setJqExportRadioLevel5, "交强险五级比例");
+        updateExportRadios(item, vo.getSyExportRadioLevel1(), item::getSyExportRadioLevel1, item::setSyExportRadioLevel1, "商业险一级比例");
+        updateExportRadios(item, vo.getSyExportRadioLevel2(), item::getSyExportRadioLevel2, item::setSyExportRadioLevel2, "商业险二级比例");
+        updateExportRadios(item, vo.getSyExportRadioLevel3(), item::getSyExportRadioLevel3, item::setSyExportRadioLevel3, "商业险三级比例");
+        updateExportRadios(item, vo.getSyExportRadioLevel4(), item::getSyExportRadioLevel4, item::setSyExportRadioLevel4, "商业险四级比例");
+        updateExportRadios(item, vo.getSyExportRadioLevel5(), item::getSyExportRadioLevel5, item::setSyExportRadioLevel5, "商业险五级比例");
+        updateExportRadios(item, vo.getNoCarExportRadioLevel1(), item::getNoCarExportRadioLevel1, item::setNoCarExportRadioLevel1, "非车险一级比例");
+        updateExportRadios(item, vo.getNoCarExportRadioLevel2(), item::getNoCarExportRadioLevel2, item::setNoCarExportRadioLevel2, "非车险二级比例");
+        updateExportRadios(item, vo.getNoCarExportRadioLevel3(), item::getNoCarExportRadioLevel3, item::setNoCarExportRadioLevel3, "非车险三级比例");
+        updateExportRadios(item, vo.getNoCarExportRadioLevel4(), item::getNoCarExportRadioLevel4, item::setNoCarExportRadioLevel4, "非车险四级比例");
+        updateExportRadios(item, vo.getNoCarExportRadioLevel5(), item::getNoCarExportRadioLevel5, item::setNoCarExportRadioLevel5, "非车险五级比例");
     }
 
     //更新1-5级比例
-    private void updateExportRadios(PtlAgreementProductCostsExport item, BigDecimal valueToAdd, Supplier<BigDecimal> getter, Consumer<BigDecimal> setter) {
+    private void updateExportRadios(PtlAgreementProductCostsExport item, BigDecimal valueToAdd, Supplier<BigDecimal> getter, Consumer<BigDecimal> setter,String desc) {
         if (valueToAdd != null) {
-            setter.accept(getter.get().add(valueToAdd));
+            BigDecimal currentValue = getter.get();
+            BigDecimal updatedValue = currentValue.add(valueToAdd);
+
+            // 检查更新后的值是否小于零
+            if (updatedValue.compareTo(BigDecimal.ZERO) < 0) {
+                throw new SystemException(desc + "比例值不能小于零");
+            }
+            setter.accept(updatedValue);
         }
     }
 

+ 6 - 0
src/main/resources/mapper/modules/protocols/PtlAgreementProductCostsNewMapper.xml

@@ -19,6 +19,12 @@
         <if test="params.agreementId != null and params.agreementId != ''">
             AND pa.id in (#{params.agreementId})
         </if>
+        <if test="params.agreementIdList != null and params.agreementIdList.size() > 0">
+            AND pa.id in
+            <foreach item="item" index="index" collection="params.agreementIdList" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
         <if test="params.isAudit != null and params.isAudit != ''">
             AND papcn.is_audit = #{params.isAudit}
         </if>