From de04015a9eaf4a9928a1cba6cdfceed03146a720 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 29 十一月 2024 20:06:07 +0800
Subject: [PATCH] 项目启动流程、变更流程逻辑调整
---
flowable/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java | 30 +++++++++++++++++++++++++++++-
1 files changed, 29 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..d2d5a45 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,27 @@
taskService.complete(taskVo.getTaskId(), taskVo.getVariables());
}
return AjaxResult.success();
+ }
+
+ /**
+ * 瀹屾垚琛ㄥ崟鎻愪氦浠诲姟/鏅�氫换鍔�
+ *
+ * @param taskId 浠诲姟id
+ * @param variables 琛ㄥ崟鏁版嵁
+ * @return
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public AjaxResult completeSubmitForm(String taskId, Map<String, Object> variables) {
+ Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
+ if (Objects.isNull(task)) {
+ return AjaxResult.error("浠诲姟涓嶅瓨鍦�");
+ }
+ // 鍏堣褰撳墠鐢ㄦ埛璁ら杩欎釜浠诲姟
+ taskService.claim(taskId, SecurityUtils.getUserId() + "");
+ taskService.addComment(taskId, task.getProcessInstanceId(), FlowComment.SUBMIT.getType(), "瀹屾垚鎻愪氦");
+ taskService.complete(taskId, variables);
+ return AjaxResult.success("鎻愪氦鎴愬姛");
}
/**
@@ -1114,7 +1135,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 +1242,7 @@
return AjaxResult.success(flowTask);
}
+
/**
* 灏哋bject绫诲瀷鐨勬暟鎹浆鍖栨垚Map<String,Object>
*
--
Gitblit v1.8.0