From 317a22981eaea13ab6e23f7356ec1333755eb263 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 15 一月 2025 16:25:50 +0800
Subject: [PATCH] 已完成任务的查询处理人bug
---
flowable/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java | 31 ++++++++++++++++---------------
1 files changed, 16 insertions(+), 15 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 6cf3937..0b762c0 100644
--- a/flowable/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
+++ b/flowable/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
@@ -151,15 +151,13 @@
//娣诲姞娴佺▼鍙橀噺
if(!processVariables.isEmpty()) taskService.setVariables(taskId,processVariables);
taskService.addComment(taskId, task.getProcessInstanceId(), FlowComment.SUBMIT.getType(), "瀹屾垚鎻愪氦");
- // 鍒ゆ柇褰撳墠浠诲姟鏄笉鏄浆鍔炶繃鐨�
- Boolean delegation = flowLogService.taskDelegation(task.getProcessInstanceId(), task.getId());
- if (delegation) {
+ if (DelegationState.PENDING.equals(task.getDelegationState())) {
taskService.resolveTask(taskId, newV);
+ } else {
+ // 鍏堣褰撳墠鐢ㄦ埛璁ら杩欎釜浠诲姟
+ taskService.claim(taskId, SecurityUtils.getUserId() + "");
+ taskService.complete(taskId, newV);
}
- // 鍏堣褰撳墠鐢ㄦ埛璁ら杩欎釜浠诲姟
- taskService.claim(taskId, SecurityUtils.getUserId() + "");
- taskService.complete(taskId, newV);
-
return AjaxResult.success("鎻愪氦鎴愬姛");
}
@@ -1301,10 +1299,16 @@
List<JSONObject> oldFields = JSON.parseObject(JSON.toJSONString(formJson.get(ProcessConstants.WIDGET_LIST)), new TypeReference<List<JSONObject>>() {
});
- // 璁剧疆宸插~鍐欑殑琛ㄥ崟涓虹鐢ㄧ姸鎬�
- for (JSONObject oldField : oldFields) {
- JSONObject options = oldField.getJSONObject("options");
- options.put("disabled", true);
+ if(CollectionUtils.isNotEmpty(oldFields)) {
+ // 璁剧疆宸插~鍐欑殑琛ㄥ崟涓虹鐢ㄧ姸鎬�
+ for (JSONObject oldField : oldFields) {
+ JSONObject options = oldField.getJSONObject("options");
+ options.put("disabled", true);
+ }
+ formJson.put(ProcessConstants.WIDGET_LIST, oldFields);
+ newP.put(ProcessConstants.TASK_FORM_KEY, formJson);
+ newP.remove(formDetailVO.getBeforeNodeDefId() + "&" + ProcessConstants.TASK_FORM_KEY);
+ formDetailVO.setFormJsonObj(newP);
}
// TODO 鏆傛椂鍙鐞嗙敤鎴蜂换鍔′笂鐨勮〃鍗�
// if (StringUtils.isNotBlank(task.getFormKey())) {
@@ -1324,10 +1328,7 @@
// }
// oldFields.addAll(newFields);
// }
- formJson.put(ProcessConstants.WIDGET_LIST, oldFields);
- newP.put(ProcessConstants.TASK_FORM_KEY, formJson);
- newP.remove(formDetailVO.getBeforeNodeDefId() + "&" + ProcessConstants.TASK_FORM_KEY);
- formDetailVO.setFormJsonObj(newP);
+
}
}
return beforeNodes;
--
Gitblit v1.8.0