From 17bf0c06236c2956ad9b6fe2b89524de7a0c608c Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期六, 27 四月 2024 16:15:14 +0800
Subject: [PATCH] update 优化 代码生成表导入 排除工作流相关表
---
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java | 60 +++++++++++++++++++++++++++++-------------------------------
1 files changed, 29 insertions(+), 31 deletions(-)
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java
index e937a8d..6979671 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java
@@ -23,13 +23,10 @@
import org.dromara.workflow.common.enums.TaskStatusEnum;
import org.dromara.workflow.domain.ActHiProcinst;
import org.dromara.workflow.domain.ActHiTaskinst;
-import org.dromara.workflow.domain.vo.MultiInstanceVo;
-import org.dromara.workflow.domain.vo.ParticipantVo;
-import org.dromara.workflow.domain.vo.ProcessInstanceVo;
+import org.dromara.workflow.domain.vo.*;
import org.dromara.workflow.flowable.cmd.UpdateHiTaskInstCmd;
import org.dromara.workflow.mapper.ActHiTaskinstMapper;
-import org.dromara.workflow.service.IActHiProcinstService;
-import org.dromara.workflow.service.IWorkflowUserService;
+import org.dromara.workflow.service.*;
import org.flowable.bpmn.model.BpmnModel;
import org.flowable.bpmn.model.FlowNode;
import org.flowable.common.engine.api.delegate.Expression;
@@ -44,7 +41,7 @@
import java.util.*;
-import static org.dromara.workflow.common.constant.FlowConstant.PROCESS_INSTANCE_VO;
+import static org.dromara.workflow.common.constant.FlowConstant.*;
/**
* 宸ヤ綔娴佸伐鍏�
@@ -77,9 +74,7 @@
task.setTaskDefinitionKey(currentTask.getTaskDefinitionKey());
task.setPriority(currentTask.getPriority());
task.setCreateTime(new Date());
- if (TenantHelper.isEnable()) {
- task.setTenantId(TenantHelper.getTenantId());
- }
+ task.setTenantId(TenantHelper.getTenantId());
PROCESS_ENGINE.getTaskService().saveTask(task);
}
if (ObjectUtil.isNotNull(task)) {
@@ -97,6 +92,7 @@
*/
public static void createCopyTask(List<Task> parentTaskList, List<Long> userIds) {
List<Task> list = new ArrayList<>();
+ String tenantId = TenantHelper.getTenantId();
for (Task parentTask : parentTaskList) {
for (Long userId : userIds) {
TaskEntity newTask = (TaskEntity) PROCESS_ENGINE.getTaskService().newTask();
@@ -106,7 +102,7 @@
newTask.setProcessDefinitionId(parentTask.getProcessDefinitionId());
newTask.setProcessInstanceId(parentTask.getProcessInstanceId());
newTask.setTaskDefinitionKey(parentTask.getTaskDefinitionKey());
- newTask.setTenantId(TenantHelper.getTenantId());
+ newTask.setTenantId(tenantId);
list.add(newTask);
}
}
@@ -119,9 +115,7 @@
actHiTaskinst.setProcDefId(processDefinitionId);
actHiTaskinst.setProcInstId(processInstanceId);
actHiTaskinst.setScopeType(TaskStatusEnum.COPY.getStatus());
- if (TenantHelper.isEnable()) {
- actHiTaskinst.setTenantId(TenantHelper.getTenantId());
- }
+ actHiTaskinst.setTenantId(tenantId);
LambdaUpdateWrapper<ActHiTaskinst> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(ActHiTaskinst::getId, taskIds);
ACT_HI_TASKINST_MAPPER.update(actHiTaskinst, updateWrapper);
@@ -173,11 +167,10 @@
List<String> nickNames = StreamUtils.toList(sysUsers, SysUserVo::getNickName);
participantVo.setCandidate(userIds);
participantVo.setCandidateName(nickNames);
- if (StringUtils.isBlank(task.getAssignee()) && CollUtil.isNotEmpty(candidateList)) {
- participantVo.setClaim(false);
- }
- if (!StringUtils.isBlank(task.getAssignee()) && CollUtil.isNotEmpty(candidateList)) {
- participantVo.setClaim(true);
+ // 鍒ゆ柇褰撳墠浠诲姟鏄惁鍏锋湁澶氫釜鍔炵悊浜�
+ if (CollUtil.isNotEmpty(candidateList) && candidateList.size() > 1) {
+ // 濡傛灉 assignee 瀛樺湪锛屽垯璁剧疆褰撳墠浠诲姟宸茬粡琚棰�
+ participantVo.setClaim(StringUtils.isNotBlank(task.getAssignee()));
}
}
}
@@ -245,7 +238,7 @@
* @param businessKey 涓氬姟id
*/
public static void setProcessInstanceVo(Object obj, String businessKey) {
- if (StringUtils.isBlank(businessKey)) {
+ if (StringUtils.isBlank(businessKey) || obj == null) {
return;
}
ActHiProcinst actHiProcinst = ACT_HI_PROCINST_SERVICE.selectByBusinessKey(businessKey);
@@ -268,7 +261,7 @@
* @param fieldName 涓婚敭灞炴�у悕绉�
*/
public static void setProcessInstanceListVo(Object obj, List<String> idList, String fieldName) {
- if (CollUtil.isEmpty(idList)) {
+ if (CollUtil.isEmpty(idList) || obj == null) {
return;
}
List<ActHiProcinst> actHiProcinstList = ACT_HI_PROCINST_SERVICE.selectByBusinessKeyIn(idList);
@@ -326,17 +319,22 @@
if (CollUtil.isNotEmpty(userIds)) {
List<SysUserVo> sysUserVoList = WORKFLOW_USER_SERVICE.getUserListByIds(new ArrayList<>(userIds));
for (String code : messageType) {
- if (code.equals(MessageTypeEnum.SYSTEM_MESSAGE.getCode())) {
- WebSocketMessageDto dto = new WebSocketMessageDto();
- dto.setSessionKeys(new ArrayList<>(userIds));
- dto.setMessage(message);
- WebSocketUtils.publishMessage(dto);
- }
- if (code.equals(MessageTypeEnum.EMAIL_MESSAGE.getCode())) {
- MailUtils.sendText(StreamUtils.join(sysUserVoList, SysUserVo::getEmail), "鍗曟嵁瀹℃壒鎻愰啋", message);
- }
- if (code.equals(MessageTypeEnum.SMS_MESSAGE.getCode())) {
- //todo 鐭俊鍙戦��
+ MessageTypeEnum messageTypeEnum = MessageTypeEnum.getByCode(code);
+ if (ObjectUtil.isNotEmpty(messageTypeEnum)) {
+ switch (messageTypeEnum) {
+ case SYSTEM_MESSAGE:
+ WebSocketMessageDto dto = new WebSocketMessageDto();
+ dto.setSessionKeys(new ArrayList<>(userIds));
+ dto.setMessage(message);
+ WebSocketUtils.publishMessage(dto);
+ break;
+ case EMAIL_MESSAGE:
+ MailUtils.sendText(StreamUtils.join(sysUserVoList, SysUserVo::getEmail), "鍗曟嵁瀹℃壒鎻愰啋", message);
+ break;
+ case SMS_MESSAGE:
+ //todo 鐭俊鍙戦��
+ break;
+ }
}
}
}
--
Gitblit v1.9.3