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
 import com.srm.bpm.infra.entity.ProcessNodeConnectionEntity;
13
 import com.srm.bpm.infra.entity.ProcessNodeConnectionEntity;
14
 import com.srm.bpm.infra.service.ProcessNodeConnectionService;
14
 import com.srm.bpm.infra.service.ProcessNodeConnectionService;
15
 import com.srm.bpm.logic.constant.BillAction;
15
 import com.srm.bpm.logic.constant.BillAction;
16
-import com.srm.bpm.logic.context.BpmnBillContext;
17
 import com.srm.bpm.logic.constant.BpmnConst;
16
 import com.srm.bpm.logic.constant.BpmnConst;
18
 import com.srm.bpm.logic.constant.FastJsonType;
17
 import com.srm.bpm.logic.constant.FastJsonType;
18
+import com.srm.bpm.logic.context.BpmnBillContext;
19
 
19
 
20
 import org.activiti.engine.delegate.DelegateExecution;
20
 import org.activiti.engine.delegate.DelegateExecution;
21
 import org.apache.commons.lang3.BooleanUtils;
21
 import org.apache.commons.lang3.BooleanUtils;
@@ -25,7 +25,6 @@ import org.springframework.stereotype.Service;
25
 import java.util.Map;
25
 import java.util.Map;
26
 import java.util.Objects;
26
 import java.util.Objects;
27
 
27
 
28
-import cn.hutool.core.util.NumberUtil;
29
 import lombok.RequiredArgsConstructor;
28
 import lombok.RequiredArgsConstructor;
30
 import lombok.extern.slf4j.Slf4j;
29
 import lombok.extern.slf4j.Slf4j;
31
 
30
 
@@ -78,6 +77,17 @@ public class LineExpressService {
78
             log.warn("the node condition express processId is zero! please check!");
77
             log.warn("the node condition express processId is zero! please check!");
79
             return false;
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
         if (!StringUtils.equals(action, BillAction.agree.name())
91
         if (!StringUtils.equals(action, BillAction.agree.name())
82
                 && !StringUtils.equals(action, BillAction.submit.name())) {
92
                 && !StringUtils.equals(action, BillAction.submit.name())) {
83
             // 不是审批提交和同意的 都走其他连线
93
             // 不是审批提交和同意的 都走其他连线
@@ -101,16 +111,8 @@ public class LineExpressService {
101
             BpmnBillContext billContext = JSON.parseObject(proposer, BpmnBillContext.class);
111
             BpmnBillContext billContext = JSON.parseObject(proposer, BpmnBillContext.class);
102
 
112
 
103
             Map<String, Object> env = Maps.newHashMap();
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
             if (StringUtils.contains(express, BpmnConst.VAR_FORM_DATA)) {
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
             env.putAll(billContext.toEnvParam(express));
117
             env.putAll(billContext.toEnvParam(express));
116
             if (!Strings.isNullOrEmpty(expressParams)) {
118
             if (!Strings.isNullOrEmpty(expressParams)) {