From b5a21d35e93b93fdb1f190fd1851c945b2a3a207 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期一, 03 三月 2025 00:52:30 +0800 Subject: [PATCH] 调整流程推进、日志的项目id类型 --- flowable/src/main/java/com/ycl/service/common/TaskCommonService.java | 34 +++++++++++++++++++++++++++++++++- 1 files changed, 33 insertions(+), 1 deletions(-) diff --git a/flowable/src/main/java/com/ycl/service/common/TaskCommonService.java b/flowable/src/main/java/com/ycl/service/common/TaskCommonService.java index 9debdb2..b5b0797 100644 --- a/flowable/src/main/java/com/ycl/service/common/TaskCommonService.java +++ b/flowable/src/main/java/com/ycl/service/common/TaskCommonService.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson2.JSONObject; import com.ycl.common.constant.ProcessConstants; +import com.ycl.common.core.domain.entity.SysDictData; import com.ycl.common.core.domain.entity.SysUser; import com.ycl.common.enums.FlowComment; import com.ycl.common.enums.business.TaskStatusEnum; @@ -10,6 +11,8 @@ import com.ycl.domain.vo.FormDetailVO; import com.ycl.flow.FindNextNodeUtil; import com.ycl.service.ISysFormService; +import com.ycl.system.service.ISysDictDataService; +import com.ycl.system.service.ISysDictTypeService; import com.ycl.system.service.ISysUserService; import lombok.RequiredArgsConstructor; import org.flowable.bpmn.model.*; @@ -44,6 +47,7 @@ private final TaskService taskService; private final HistoryService historyService; private final ISysUserService sysUserService; + private final ISysDictTypeService sysDictDService; /** * 閫氳繃褰撳墠鑺傜偣瀹氫箟key锛岃幏鍙栧叾涓婁竴涓妭鐐圭殑淇℃伅锛屽鏋滃墠闈㈡槸骞惰鐨勪細杩斿洖澶氫釜(鍖呭惈褰撳墠鑺傜偣) @@ -105,6 +109,8 @@ } formDetailVO.setCanJump(this.checkHasExeProperty(currentElement.getExtensionElements().get("properties"), ProcessConstants.EXTENSION_PROPERTY_CAN_JUMP_TEXT)); formDetailVO.setCanWait(this.checkHasExeProperty(currentElement.getExtensionElements().get("properties"), ProcessConstants.EXTENSION_PROPERTY_CAN_WAIT_TEXT)); + formDetailVO.setCanHangup(this.checkHasExeProperty(currentElement.getExtensionElements().get("properties"), ProcessConstants.EXTENSION_PROPERTY_CAN_HANGUP_TEXT)); + formDetailVO.setUserTask(currentElement); defKeys.add(formDetailVO); this.beforeNodeInfo(currentElement, defKeys); @@ -174,6 +180,7 @@ formDetailVO.setBeforeNodeName(incomingFlow.getSourceFlowElement().getName()); formDetailVO.setCanJump(this.checkHasExeProperty(currentElement.getExtensionElements().get("properties"), ProcessConstants.EXTENSION_PROPERTY_CAN_JUMP_TEXT)); formDetailVO.setCanWait(this.checkHasExeProperty(currentElement.getExtensionElements().get("properties"), ProcessConstants.EXTENSION_PROPERTY_CAN_WAIT_TEXT)); + formDetailVO.setUserTask((UserTask) incomingFlow.getSourceFlowElement()); defKeys.add(formDetailVO); } else { beforeNodeInfo(incomingFlow.getSourceFlowElement(), defKeys); @@ -190,6 +197,7 @@ formDetailVO.setBeforeNodeName(incomingFlow.getSourceFlowElement().getName()); formDetailVO.setCanJump(this.checkHasExeProperty(currentElement.getExtensionElements().get("properties"), ProcessConstants.EXTENSION_PROPERTY_CAN_JUMP_TEXT)); formDetailVO.setCanWait(this.checkHasExeProperty(currentElement.getExtensionElements().get("properties"), ProcessConstants.EXTENSION_PROPERTY_CAN_WAIT_TEXT)); + formDetailVO.setUserTask((UserTask) incomingFlow.getSourceFlowElement()); defKeys.add(formDetailVO); } else { beforeNodeInfo(incomingFlow.getSourceFlowElement(), defKeys); @@ -201,7 +209,7 @@ /** - * 鑾峰彇褰撳墠鑺傜偣鐨勪笂涓�鑺傜偣id锛屼笉鍙嶆倲褰撳墠鑺傜偣淇℃伅锛屽鏋滃墠闈㈡槸骞惰锛岄偅涔堜細杩斿洖澶氫釜 + * 鑾峰彇褰撳墠鑺傜偣鐨勪笂涓�鑺傜偣id锛屼笉杩斿洖褰撳墠鑺傜偣淇℃伅锛屽鏋滃墠闈㈡槸骞惰锛岄偅涔堜細杩斿洖澶氫釜 * * @param processDefId 娴佺▼瀹氫箟id * @param currentNodeDefId 褰撳墠鑺傜偣瀹氫箟id @@ -322,4 +330,28 @@ return roleIds; } + /** + * 澶勭悊娴佺▼涓殑鍙橀噺 + * + * @param variables + * @param taskDefKey + * @return + */ + public Map<String, Object> handleVar(Map<String, Object> variables, String taskDefKey) { + Map<String, Object> processVariables = new HashMap<>(); + //鏌ュ嚭瀛楀吀涓渶瑕佹敞鍏ョ殑瀛楁淇℃伅 + List<String> dictList = sysDictDService.selectDictDataByType("flow_variables").stream().map(SysDictData::getDictValue).collect(Collectors.toList()); + Map<String, Object> newV = new HashMap<>(2); + if (!org.springframework.util.CollectionUtils.isEmpty(variables)) { + for (String key : variables.keySet()) { + newV.put(taskDefKey + "&" + key, variables.get(key)); + //瀛楀吀閲屾湁灏辨斁鍏ユ祦绋嬪彉閲忎腑 + if (!org.apache.commons.collections4.CollectionUtils.isEmpty(dictList) && dictList.contains(key)) { + processVariables.put(key,variables.get(key)); + } + } + } + return processVariables; + } + } -- Gitblit v1.8.0