From 3777ec066316f3c1d3ca36e2cae5b1e05bac4f6e Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 05 十二月 2025 17:11:39 +0800
Subject: [PATCH] 首页
---
business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java | 24 +++++++++++++++++++-----
1 files changed, 19 insertions(+), 5 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 c39400e..9514a39 100644
--- a/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/FlowTaskServiceImpl.java
@@ -175,6 +175,7 @@
}
}
taskService.addComment(taskId, task.getProcessInstanceId(), FlowComment.SUBMIT.getType(), "瀹屾垚鎻愪氦");
+ //鍒ゆ柇鏄惁鏄娲句换鍔�
if (DelegationState.PENDING.equals(task.getDelegationState())) {
taskService.resolveTask(taskId, newV);
} else {
@@ -1513,7 +1514,7 @@
/**
* 娴佺▼鑺傜偣琛ㄥ崟
- *
+ * 鐐瑰嚮鍔炵悊杩涘叆
* @param taskId 娴佺▼浠诲姟缂栧彿
* @return
*/
@@ -1627,7 +1628,9 @@
@Override
public AjaxResult detail(String processInsId, String taskId) {
+ //鏌ヨ杩愯鏃舵祦绋嬪疄渚嬶紙鍚祦绋嬪彉閲忥級
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().includeProcessVariables().processInstanceId(processInsId).singleResult();
+ log.info("鎵撳嵃杩愯鏃�:{}",processInstance);
// 娴佺▼鍙橀噺
Map<String, Object> parameters = new HashMap<>();
if (Objects.isNull(processInstance)) {
@@ -1637,7 +1640,7 @@
if (Objects.isNull(historicProcessInstance)) {
throw new RuntimeException("娴佺▼涓嶅瓨鍦�");
}
-
+ //娴佺▼鏈粨鏉� 鏌ヨ娴佺▼宸插畬鎴愮殑缁撶偣浠诲姟
List<HistoricTaskInstance> hisTasks = historyService.createHistoricTaskInstanceQuery()
.taskId(taskId)
.finished()
@@ -1648,7 +1651,9 @@
if (CollectionUtils.isNotEmpty(hisTasks) && Objects.isNull(hisTasks.get(0))) {
throw new RuntimeException("璇ヤ换鍔′笉瀛樺湪");
}
+ //鑾峰緱鏈�鏂扮殑浠诲姟鑺傜偣
HistoricTaskInstance hisTask = hisTasks.get(0);
+ //鑾峰緱鍙傛暟
parameters = historicProcessInstance.getProcessVariables();
List<FormDetailVO> beforeNodes = this.getBeforeNodeForm(parameters,
hisTask.getFormKey(),
@@ -1657,12 +1662,14 @@
hisTask.getTaskDefinitionKey(),
Boolean.TRUE, Boolean.TRUE);
List<FormDetailVO> dataList = new ArrayList<>(2);
+ // 鎸夋墽琛屾祦ID鍒嗙粍鍓嶇疆鑺傜偣
Map<String, List<FormDetailVO>> map = new HashMap<>(2);
beforeNodes.stream().forEach(node -> {
if (node.getCurrent()) {
node.setTaskId(taskId);
dataList.add(node);
} else {
+ //鍓嶇疆鑺傜偣锛氭煡璇㈠搴旂殑鏈�鏂板巻鍙蹭换鍔�
List<HistoricTaskInstance> beforeTasks = historyService.createHistoricTaskInstanceQuery()
.processInstanceId(hisTask.getProcessInstanceId())
.finished()
@@ -1670,6 +1677,7 @@
.orderByTaskCreateTime()
.desc()
.list();
+
if (CollectionUtils.isNotEmpty(beforeTasks) && Objects.nonNull(beforeTasks.get(0))) {
node.setTaskId(beforeTasks.get(0).getId());
List<FormDetailVO> l = map.get(beforeTasks.get(0));
@@ -1689,7 +1697,9 @@
}
List<DoFormDetailVO> vos = dataList.stream().map(node -> {
if (node.getCurrent()) {
+ // 璋冪敤鏃ュ織鏈嶅姟锛屾煡璇㈣浠诲姟鏄惁澶勪簬鎸傝捣鐘舵�侊紙浼犲叆浠诲姟ID鍜屾祦绋嬪疄渚婭D锛�
if (processLogService.taskIsHangup(taskId, hisTask.getProcessInstanceId())) {
+ //鑻ユ寕璧凤紝缁欒妭鐐硅缃�滄寕璧封�濈姸鎬侊紙鍓嶇浼氬睍绀烘寕璧锋爣璇嗭級
node.setTaskStatus(TaskStatusEnum.HANGUP);
}
}
@@ -1812,16 +1822,19 @@
// 杩欓噷鍙渶瑕佹煡鑷韩浠ュ強涓婁竴涓妭鐐�(濡傛灉骞惰鐨勬湁澶氫釜)鐨勮〃鍗曟暟鎹�
List<FormDetailVO> beforeNodes = taskCommonService.getBeforeNodeDefInfo(processDefId, processDefKey, sysFormService, Boolean.TRUE);
+ // 闈炲綋鍓嶈妭鐐� 鎴� 闇�瑕佸綋鍓嶈妭鐐规暟鎹�
List<String> beforeNodeDefIds = beforeNodes.stream().filter(item -> !item.getCurrent() || currentNeedData).map(FormDetailVO::getBeforeNodeDefId).collect(Collectors.toList());
// 澶勭悊姣忎釜琛ㄥ崟鐨勬暟鎹�
for (FormDetailVO formDetailVO : beforeNodes) {
+ // 璺宠繃鈥滃綋鍓嶈妭鐐逛笖涓嶉渶瑕佸叾鏁版嵁鈥濈殑鍦烘櫙 骞朵笖 currentNeedData涓嶉渶瑕佸綋鍓嶈妭鐐规暟鎹殑鎯呭喌
if (formDetailVO.getCurrent() && !currentNeedData) {
// 褰撳墠鑺傜偣鐨勮〃鍗曚篃瑕佸鐞唅p闂
continue; // 璺宠繃褰撳墠鑺傜偣锛屽洜涓哄綋鍓嶈妭鐐瑰湪鑾峰彇鍓嶇疆鑺傜偣鏃跺凡缁忚缃繃浜�(浣嗚〃鍗曟暟鎹病鏈夌粰)
}
Map<String, Object> newP = new HashMap<>();
+ // 瀛樺偍褰撳墠鑺傜偣鐨勮〃鍗曟暟鎹�
if (CollectionUtils.isNotEmpty(beforeNodeDefIds)) {
for (String key : parameters.keySet()) {
// 杩囨护鎷垮埌鐩爣琛ㄥ崟鏁版嵁锛屽皢鐩爣琛ㄥ崟鏁版嵁鏀惧埌鏂癿ap涓�
@@ -1834,7 +1847,7 @@
}
}
}
-
+ //鑾峰緱鍓嶇疆鑺傜偣瀹氫箟id锛屽嵆浠诲姟key
Object form = newP.get(formDetailVO.getBeforeNodeDefId() + "&" + ProcessConstants.TASK_FORM_KEY);
if (Objects.nonNull(form)) {
JSONObject formJson = JSONObject.parseObject(JSON.toJSONString(form));
@@ -1853,11 +1866,12 @@
options.put("uploadURL", String.format("http://%s:10076/common/upload", this.targetIp));
}
}
-
+ // 鏇存柊琛ㄥ崟缁撴瀯锛堝凡澶勭悊绂佺敤鍜屼笂浼犲湴鍧�锛�
formJson.put(ProcessConstants.WIDGET_LIST, oldFields);
newP.put(ProcessConstants.TASK_FORM_KEY, formJson);
+ // 鍒犻櫎鍘熷鐨勨�滆妭鐐笽D&TASK_FORM_KEY鈥濋敭锛堥伩鍏嶅啑浣欙級
newP.remove(formDetailVO.getBeforeNodeDefId() + "&" + ProcessConstants.TASK_FORM_KEY);
- // 澶勭悊宸茬粡涓婁紶鐨勬枃浠剁殑ip鍦板潃
+ // 宸蹭笂浼犳枃浠剁殑璁块棶IP鍦板潃锛堝墠绔瑙�/涓嬭浇鏃舵寚鍚戞纭湴鍧�锛�
for (String s : newP.keySet()) {
if (ProcessConstants.TASK_FORM_KEY.equals(s)) {
continue;
--
Gitblit v1.8.0