update 优化任务办理人获取

This commit is contained in:
AprilWind 2024-12-04 16:43:34 +08:00
parent f3091e8742
commit 4fabd4f399
3 changed files with 8 additions and 8 deletions

View File

@ -5,6 +5,8 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import static org.dromara.common.core.enums.TaskAssigneeEnum.USER;
/**
* 抄送
*
@ -26,4 +28,8 @@ public class WfCopy implements Serializable {
*/
private String userName;
public String getUserId() {
return USER.getCode() + userId;
}
}

View File

@ -168,7 +168,6 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
AssertUtil.isNull(startNode, ExceptionCons.LOST_START_NODE);
Node nextNode = nodeService.getNextNode(definition.getId(), startNode.getNodeCode(), null, SkipType.NONE.getKey());
FlowParams flowParams = FlowParams.build();
flowParams.handler(LoginHelper.getUserIdStr());
flowParams.nodeCode(nextNode.getNodeCode());
flowParams.message(bo.getMessage());
flowParams.flowStatus(BusinessStatusEnum.CANCEL.getStatus()).hisStatus(TaskStatusEnum.CANCEL.getStatus());

View File

@ -83,14 +83,13 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
@Transactional(rollbackFor = Exception.class)
public Map<String, Object> startWorkFlow(StartProcessBo startProcessBo) {
String businessKey = startProcessBo.getBusinessKey();
String userId = LoginHelper.getUserIdStr();
if (StringUtils.isBlank(businessKey)) {
throw new ServiceException("启动工作流时必须包含业务ID");
}
// 启动流程实例提交申请
Map<String, Object> variables = startProcessBo.getVariables();
// 流程发起人
variables.put(INITIATOR, userId);
variables.put(INITIATOR, LoginHelper.getUserIdStr());
// 业务id
variables.put(BUSINESS_KEY, businessKey);
WfDefinitionConfigVo wfDefinitionConfigVo = wfDefinitionConfigService.getByTableNameLastVersion(startProcessBo.getTableName());
@ -135,9 +134,6 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
@Transactional(rollbackFor = Exception.class)
public boolean completeTask(CompleteTaskBo completeTaskBo) {
try {
// 获取当前用户ID作为任务处理人
String userId = LoginHelper.getUserIdStr();
// 获取任务ID并查询对应的流程任务和实例信息
Long taskId = completeTaskBo.getTaskId();
// 获取抄送人
@ -228,7 +224,6 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
FlowParams flowParams = FlowParams.build();
flowParams.skipType(SkipType.NONE.getKey());
flowParams.hisStatus(TaskStatusEnum.COPY.getStatus());
flowParams.handler(LoginHelper.getUserIdStr());
flowParams.message("【抄送给】" + StreamUtils.join(wfCopyList, WfCopy::getUserName));
HisTask hisTask = hisTaskService.setSkipHisTask(task, flowNode, flowParams);
hisTask.setCreateTime(updateTime);
@ -239,7 +234,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
for (WfCopy wfCopy : wfCopyList) {
FlowUser flowUser = new FlowUser();
flowUser.setType(String.valueOf(4));
flowUser.setProcessedBy(USER.getCode() + wfCopy.getUserId());
flowUser.setProcessedBy(wfCopy.getUserId());
flowUser.setAssociated(taskId);
userList.add(flowUser);
}