Преглед изворни кода

fix 承保规则中费用规则兼容旧数据中的文字转编码

liub пре 1 месец
родитељ
комит
9ee54146fb

+ 10 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlAgreementCostServiceImpl.java

@@ -95,6 +95,8 @@ public class PtlAgreementCostServiceImpl extends ServiceImpl<PtlAgreementCostMap
     private PtlAgreementService ptlAgreementService;
     @Autowired
     private SysUserJzgInfoService sysUserJzgInfoService;
+    @Autowired
+    private PtlAreaLicenseService ptlAreaLicenseService;
 
     /**
      * 报价配置/费用管理/新增费用
@@ -259,6 +261,14 @@ public class PtlAgreementCostServiceImpl extends ServiceImpl<PtlAgreementCostMap
         }
         RList<SysDict> rules = redissonClient.getList(DICT_REDIS_KEY + "rule_operator");
         for (PtlAgreementCostRuleVo ruleCondition : ptlAgreementCostVo.getRuleConditions()) {
+            // LicenseNo/LicenseArea 属性中的车牌号、地区名称统一转换为地区编码
+            if (("LicenseNo".equals(ruleCondition.getAttrCode()) || "LicenseArea".equals(ruleCondition.getAttrCode()))
+                    && StringUtils.isNotEmpty(ruleCondition.getMin())) {
+                String value = ruleCondition.getMin();
+                value = ptlAreaLicenseService.convertLicense2AreaNumber(value);
+                value = ptlAreaLicenseService.convertAreaName2AreaNumber(value);
+                ruleCondition.setMin(value);
+            }
             String attrType = ruleCondition.getAttrType();
             if (StringUtils.isNotEmpty(attrType) && java.util.Arrays.stream(COST_TYPE_DICT_KEY).anyMatch(attrType::equals)){
                 if (StringUtils.isNotEmpty(ruleCondition.getMin()) && ruleCondition.getMin().contains(",")){