From f20fad8125774e487e133e909b323b43bd11db24 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 03 三月 2025 20:40:15 +0800
Subject: [PATCH] Merge branch 'master' into dev

---
 business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java |   36 +++++++++++++++++++-----------------
 1 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java b/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
index 8c3ec5f..fd94884 100644
--- a/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
@@ -155,28 +155,18 @@
             return AjaxResult.error("椤圭洰娴佺▼鏈粦瀹�");
         }
 
-        Map<String, Object> processVariables = new HashMap<>();
-        //鏌ュ嚭瀛楀吀涓渶瑕佹敞鍏ョ殑瀛楁淇℃伅
+        // 鏌ュ嚭瀛楀吀涓渶瑕佹敞鍏ョ殑瀛楁淇℃伅
         List<String> dictList = sysDictDService.selectDictDataByType("flow_variables").stream().map(SysDictData::getDictValue).collect(Collectors.toList());
         Map<String, Object> newV = new HashMap<>(2);
         if (!org.springframework.util.CollectionUtils.isEmpty(variables)) {
             for (String key : variables.keySet()) {
                 newV.put(task.getTaskDefinitionKey() + "&" + key, variables.get(key));
-                //瀛楀吀閲屾湁灏辨斁鍏ユ祦绋嬪彉閲忎腑
+                // 瀛楀吀閲屾湁灏变笉鍋氬鐞�
                 if (!CollectionUtils.isEmpty(dictList) && dictList.contains(key)) {
-                    if ("money".equals(key)) {
-                        // 涓囧厓杞厓
-                        Object w = variables.get(key);
-                        BigDecimal y = new BigDecimal(w.toString()).multiply(new BigDecimal(10000));
-                        processVariables.put(key, y);
-                    } else {
-                        processVariables.put(key,variables.get(key));
-                    }
+                    newV.put(key,variables.get(key));
                 }
             }
         }
-        //娣诲姞娴佺▼鍙橀噺
-        if(!processVariables.isEmpty()) taskService.setVariables(taskId,processVariables);
         taskService.addComment(taskId, task.getProcessInstanceId(), FlowComment.SUBMIT.getType(), "瀹屾垚鎻愪氦");
         if (DelegationState.PENDING.equals(task.getDelegationState())) {
             taskService.resolveTask(taskId, newV);
@@ -1282,8 +1272,14 @@
             if (node.getCurrent()) {
                 return Boolean.TRUE;
             }
-            HistoricTaskInstance beforeTask = historyService.createHistoricTaskInstanceQuery().processInstanceId(finalProcessInsId).finished().taskDefinitionKey(node.getBeforeNodeDefId()).singleResult();
-            return Objects.nonNull(beforeTask);
+            List<HistoricTaskInstance> beforeTasks = historyService.createHistoricTaskInstanceQuery()
+                    .processInstanceId(finalProcessInsId)
+                    .finished()
+                    .taskDefinitionKey(node.getBeforeNodeDefId())
+                    .orderByTaskCreateTime()
+                    .desc()
+                    .list();
+            return CollectionUtils.isNotEmpty(beforeTasks) && Objects.nonNull(beforeTasks.get(0));
         }).collect(Collectors.toList());
         List<DoFormDetailVO> vos = beforeNodes.stream().map(node -> {
             if (node.getCurrent()) {
@@ -1354,8 +1350,14 @@
                 if (node.getCurrent()) {
                     return Boolean.TRUE;
                 }
-                HistoricTaskInstance beforeTask = historyService.createHistoricTaskInstanceQuery().processInstanceId(task.getProcessInstanceId()).finished().taskDefinitionKey(node.getBeforeNodeDefId()).singleResult();
-                return Objects.nonNull(beforeTask);
+                List<HistoricTaskInstance> beforeTaskList = historyService.createHistoricTaskInstanceQuery()
+                        .processInstanceId(task.getProcessInstanceId())
+                        .finished()
+                        .taskDefinitionKey(node.getBeforeNodeDefId())
+                        .orderByTaskCreateTime()
+                        .desc()
+                        .list();
+                return CollectionUtils.isNotEmpty(beforeTaskList) && Objects.nonNull(beforeTaskList.get(0));
             }).collect(Collectors.toList());
             List<DoFormDetailVO> vos = dataList.stream().map(node -> {
                 if (node.getCurrent()) {

--
Gitblit v1.8.0