瀏覽代碼

Merge remote-tracking branch 'origin/master' into dev_jzg_lipf_v20260622

lipf 4 周之前
父節點
當前提交
75b9d45e15

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/dto/CostExternalPageParam.java

@@ -34,6 +34,9 @@ public class CostExternalPageParam extends PageRequest {
     @Schema(description = "协议id")
     private String ptlAgreementId;
 
+    @Schema(description = "协议id集")
+    private String[] agreementIds;
+
     @Schema(description = "生效时间")
     private List<String> effectiveTime;
 

+ 6 - 6
tenant/costsorrule/src/main/java/com/jzg/costsorrule/service/impl/RuleServiceImpl.java

@@ -133,8 +133,8 @@ public class RuleServiceImpl implements RuleService {
         boolean contains = Arrays.stream(min.split(","))
                 .anyMatch(sp -> sp.trim().equals(value.trim()));
         // "1"(EQ):在列表中匹配;"6"(NE):不在列表中匹配
-        boolean isNegate = OperatorConstant.InputNumber.NE.getCode().equals(linkVo.getOperator());
-        return isNegate ? !contains : contains;
+        boolean isEqgate = OperatorConstant.InputNumber.EQ.getCode().equals(linkVo.getOperator());
+        return isEqgate ? contains : !contains;
     }
 
     private boolean inputNumberEqual(RuleAttrLinkVo linkVo, String value) {
@@ -185,8 +185,8 @@ public class RuleServiceImpl implements RuleService {
         } else {
             matched = Arrays.stream(split).anyMatch(value::contains);
         }
-        boolean isNegate = OperatorConstant.InputNumber.NE.getCode().equals(linkVo.getOperator());
-        return isNegate ? !matched : matched;
+        boolean isEqgate = OperatorConstant.InputNumber.EQ.getCode().equals(linkVo.getOperator());
+        return isEqgate ? matched : !matched;
     }
 
 
@@ -196,8 +196,8 @@ public class RuleServiceImpl implements RuleService {
             return false;
         }
         boolean contains = min.contains(value);
-        boolean isNegate = OperatorConstant.InputNumber.NE.getCode().equals(linkVo.getOperator());
-        return isNegate ? !contains : contains;
+        boolean isEqgate = OperatorConstant.InputNumber.EQ.getCode().equals(linkVo.getOperator());
+        return isEqgate ? contains : !contains;
     }
 
     private boolean radioEqual(RuleAttrLinkVo linkVo, String value) {

+ 4 - 4
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/FactorMatch.java

@@ -346,14 +346,14 @@ public class FactorMatch {
     private static boolean checkBoxEqual(PtlAgreementCostRule rule, String value) {
         if (rule.getMin() == null || value == null) return false;
         boolean contains = Arrays.stream(rule.getMin().split(",")).anyMatch(o -> o.trim().equals(value.trim()));
-        return "6".equals(rule.getOperator()) ? !contains : contains;
+        return "1".equals(rule.getOperator()) ? contains : !contains;
     }
 
     private static boolean selectEqual(PtlAgreementCostRule rule, String value, PtlAgreementUndwrtRulesAttr meta) {
         if (rule.getMin() == null || value == null) return false;
         if ("LicenseArea".equals(meta.getAttrCode()) || "LicenseNo".equals(meta.getAttrCode())) return inputTextEqual(rule, value);
         if ("VehicleAge".equals(meta.getAttrCode())) return inputNumberEqual(rule, value);
-        return "6".equals(rule.getOperator()) ? rule.getMin().contains(value) : !rule.getMin().contains(value);
+        return "1".equals(rule.getOperator()) ? rule.getMin().contains(value) : !rule.getMin().contains(value);
     }
 
     private static boolean radioEqual(PtlAgreementCostRule rule, String value) {
@@ -363,7 +363,7 @@ public class FactorMatch {
             // min 为 "1" 表示新能源,否则表示非新能源
             // operator "1"(等于):新能源状态与规则一致即匹配;operator "6"(不包含):相反
             boolean matched = EnergyTypeCode.isNewEnergy(value) == "1".equals(min);
-            return "6".equals(rule.getOperator()) ? !matched : matched;
+            return "1".equals(rule.getOperator()) ? matched : !matched;
         }
         return "1".equals(rule.getOperator()) ? min.contains(value) : !min.contains(value);
     }
@@ -395,7 +395,7 @@ public class FactorMatch {
         boolean contains = Arrays.stream(split).anyMatch(value::contains);
         boolean notOp = ("BrandandModel".equals(rule.getAttrCode()) || "CarOwnerName".equals(rule.getAttrCode())
                 || "CarOwnersAddress".equals(rule.getAttrCode()) || "ApplicantAddress".equals(rule.getAttrCode())
-                || "InsuredAddress".equals(rule.getAttrCode())) && "6".equals(rule.getOperator());
+                || "InsuredAddress".equals(rule.getAttrCode())) && ("6".equals(rule.getOperator()) || "2".equals(rule.getOperator()));
         return notOp ? !contains : contains;
     }
 

+ 6 - 0
tenant/organization/src/main/resources/mapper/PtlAgreementCostExternalMapper.xml

@@ -173,6 +173,12 @@
             <if test="costParam.ptlAgreementId != null and costParam.ptlAgreementId != ''">
                 AND ce.ptl_agreement_id = #{costParam.ptlAgreementId}
             </if>
+            <if test="costParam.agreementIds.length > 0 ">
+                AND ce.ptl_agreement_id in
+                <foreach collection="costParam.agreementIds" item="ptlAgreementId" separator="," open="(" close=")">
+                    #{ptlAgreementId}
+                </foreach>
+            </if>
             <if test="costParam.rulesName != null and costParam.rulesName != ''">
                 AND ce.rule_description  like concat('%',#{costParam.rulesName},'%')
             </if>