|
@@ -1,5 +1,6 @@
|
|
|
package com.persagy.dmp.rwd.digital.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.NumberUtil;
|
|
@@ -246,10 +247,20 @@ public class RelationCalServiceImpl implements RelationCalService {
|
|
|
calculatingDTO.setRelationDefineMap(relationDefineMap);
|
|
|
|
|
|
handlePreRelation(currentRelationDefine,calculatingDTO);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+ calculatingDTO.setRelationDefine(currentRelationDefine);
|
|
|
+ String calRuleType = currentRelationDefine.getCalRules().getCalRuleType();
|
|
|
+
|
|
|
+ Map<String, String> calRuleTypeMap = CalRuleTypeEnum.getCalRuleTypeMap();
|
|
|
+ if (!calRuleTypeMap.containsKey(calRuleType)) {
|
|
|
+ throw new BusinessException(BusinessErrorRwdCode.A7308.getCode(), BusinessErrorRwdCode.A7308.getDesc());
|
|
|
+ }
|
|
|
+
|
|
|
+ CalculateService calculateService = SpringHelper
|
|
|
+ .getBean(calRuleTypeMap.get(calRuleType), CalculateService.class);
|
|
|
+
|
|
|
+ calculateService.calculateRelation(currentRelationDefine.getCalRules(), calculatingDTO);
|
|
|
return ResultHelper.multi(new ArrayList<>(),0L);
|
|
|
}
|
|
|
|
|
@@ -305,10 +316,12 @@ public class RelationCalServiceImpl implements RelationCalService {
|
|
|
if (!calculatingDTO.getCalBeforeRelFlag()){
|
|
|
return;
|
|
|
}
|
|
|
+ CalculatingDTO preCalculatingDTO = BeanUtil.toBean(calculatingDTO, CalculatingDTO.class);
|
|
|
+ preCalculatingDTO.setFilterRelFlag(false);
|
|
|
|
|
|
List<RelationCalDTO> beforeCalRels = currentRelationDefine.getBeforeCalRels();
|
|
|
|
|
|
- Map<String, RelationDefine> relationDefineMap = calculatingDTO.getRelationDefineMap();
|
|
|
+ Map<String, RelationDefine> relationDefineMap = preCalculatingDTO.getRelationDefineMap();
|
|
|
|
|
|
Map<String, String> calRuleTypeMap = CalRuleTypeEnum.getCalRuleTypeMap();
|
|
|
for (RelationCalDTO relationCalDTO : beforeCalRels) {
|
|
@@ -329,12 +342,12 @@ public class RelationCalServiceImpl implements RelationCalService {
|
|
|
throw new BusinessException(BusinessErrorRwdCode.A7308.getCode(), BusinessErrorRwdCode.A7308.getDesc());
|
|
|
}
|
|
|
|
|
|
- calculatingDTO.setRelationDefine(relationDefine);
|
|
|
+ preCalculatingDTO.setRelationDefine(relationDefine);
|
|
|
|
|
|
CalculateService calculateService = SpringHelper
|
|
|
.getBean(calRuleTypeMap.get(calRules.getCalRuleType()), CalculateService.class);
|
|
|
|
|
|
- calculateService.calculateRelation(calRules, calculatingDTO);
|
|
|
+ calculateService.calculateRelation(calRules, preCalculatingDTO);
|
|
|
}
|
|
|
}
|
|
|
|