From 07c4ad96c75dc93b39e002feb19845219fede415 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 29 十一月 2024 16:49:09 +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