Browse Source

fix: 线扭转条件无效修复

JIEZ //你的用户名 2 years ago
parent
commit
7b75cd8bcd

+ 13 - 11
bpm-core/src/main/java/com/srm/bpm/logic/service/LineExpressService.java

@@ -13,9 +13,9 @@ import com.googlecode.aviator.AviatorEvaluator;
13 13
 import com.srm.bpm.infra.entity.ProcessNodeConnectionEntity;
14 14
 import com.srm.bpm.infra.service.ProcessNodeConnectionService;
15 15
 import com.srm.bpm.logic.constant.BillAction;
16
-import com.srm.bpm.logic.context.BpmnBillContext;
17 16
 import com.srm.bpm.logic.constant.BpmnConst;
18 17
 import com.srm.bpm.logic.constant.FastJsonType;
18
+import com.srm.bpm.logic.context.BpmnBillContext;
19 19
 
20 20
 import org.activiti.engine.delegate.DelegateExecution;
21 21
 import org.apache.commons.lang3.BooleanUtils;
@@ -25,7 +25,6 @@ import org.springframework.stereotype.Service;
25 25
 import java.util.Map;
26 26
 import java.util.Objects;
27 27
 
28
-import cn.hutool.core.util.NumberUtil;
29 28
 import lombok.RequiredArgsConstructor;
30 29
 import lombok.extern.slf4j.Slf4j;
31 30
 
@@ -78,6 +77,17 @@ public class LineExpressService {
78 77
             log.warn("the node condition express processId is zero! please check!");
79 78
             return false;
80 79
         }
80
+        Map<String, Object> tmp = Maps.newHashMap();
81
+        tmp.putAll(formDataMap);
82
+        final Map<String, Object> agreeFromData =
83
+                (Map<String, Object>) execution.getVariable(BpmnConst.VAR_AGREE_DATA);
84
+        if (!Objects.isNull(agreeFromData)) {
85
+            for (String s : agreeFromData.keySet()) {
86
+                if (!Objects.isNull(agreeFromData.get(s))) {
87
+                    tmp.put(s, agreeFromData.get(s));
88
+                }
89
+            }
90
+        }
81 91
         if (!StringUtils.equals(action, BillAction.agree.name())
82 92
                 && !StringUtils.equals(action, BillAction.submit.name())) {
83 93
             // 不是审批提交和同意的 都走其他连线
@@ -101,16 +111,8 @@ public class LineExpressService {
101 111
             BpmnBillContext billContext = JSON.parseObject(proposer, BpmnBillContext.class);
102 112
 
103 113
             Map<String, Object> env = Maps.newHashMap();
104
-            for (String key : formDataMap.keySet()) {
105
-                if (Objects.isNull(formDataMap.get(key))) {
106
-                    continue;
107
-                }
108
-                if (NumberUtil.isNumber(formDataMap.get(key).toString())) {
109
-                    formDataMap.put(key, NumberUtil.toBigDecimal(formDataMap.get(key).toString()));
110
-                }
111
-            }
112 114
             if (StringUtils.contains(express, BpmnConst.VAR_FORM_DATA)) {
113
-                env.put(BpmnConst.VAR_FORM_DATA, formDataMap);
115
+                env.put(BpmnConst.VAR_FORM_DATA, tmp);
114 116
             }
115 117
             env.putAll(billContext.toEnvParam(express));
116 118
             if (!Strings.isNullOrEmpty(expressParams)) {