From 6fbfdf4c73f9673adb7e2777e83565195568f7a8 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 28 十一月 2024 06:04:16 +0800
Subject: [PATCH] 完善流程(表单回显接口)、项目流程表增加流程实例id字段、流程推进详情接口

---
 flowable/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/flowable/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java b/flowable/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
index 4bcfac6..bae5779 100644
--- a/flowable/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
+++ b/flowable/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
@@ -82,7 +82,7 @@
     private final ISysFormService sysFormService;
 
     /**
-     * 瀹屾垚浠诲姟
+     * 瀹屾垚瀹℃牳浠诲姟
      *
      * @param taskVo 璇锋眰瀹炰綋鍙傛暟
      */
@@ -103,6 +103,25 @@
             taskService.complete(taskVo.getTaskId(), taskVo.getVariables());
         }
         return AjaxResult.success();
+    }
+
+    /**
+     * 瀹屾垚琛ㄥ崟鎻愪氦浠诲姟/鏅�氫换鍔�
+     *
+     * @param taskId  浠诲姟id
+     * @param variables  琛ㄥ崟鏁版嵁
+     * @return
+     */
+    @Override
+    public AjaxResult completeSubmitForm(String taskId, Map<String, Object> variables) {
+        Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
+        if (Objects.isNull(task)) {
+            return AjaxResult.error("浠诲姟涓嶅瓨鍦�");
+        }
+//        variables.put(taskId + "formJson", variables.get("formJson"));
+        taskService.addComment(taskId, task.getProcessInstanceId(), FlowComment.SUBMIT.getType(), "瀹屾垚鎻愪氦");
+        taskService.complete(taskId, variables);
+        return AjaxResult.success("鎻愪氦鎴愬姛");
     }
 
     /**
@@ -1114,7 +1133,13 @@
         } else {
             parameters = taskService.getVariables(taskId);
         }
+
         JSONObject oldVariables = JSONObject.parseObject(JSON.toJSONString(parameters.get("formJson")));
+        if (Objects.isNull(oldVariables)) {
+            // 濡傛灉鏄┖鐨勶紝鐩存帴浣跨敤涓昏〃鍗�
+            String deploymentId = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult().getDeploymentId();
+            return this.flowFormData(deploymentId);
+        }
         List<JSONObject> oldFields = JSON.parseObject(JSON.toJSONString(oldVariables.get("widgetList")), new TypeReference<List<JSONObject>>() {
         });
         // 璁剧疆宸插~鍐欑殑琛ㄥ崟涓虹鐢ㄧ姸鎬�
@@ -1215,6 +1240,7 @@
         return AjaxResult.success(flowTask);
     }
 
+
     /**
      * 灏哋bject绫诲瀷鐨勬暟鎹浆鍖栨垚Map<String,Object>
      *

--
Gitblit v1.8.0