update 优化添加抄送人

This commit is contained in:
AprilWind 2024-12-04 17:48:44 +08:00
parent 51a3bc9c4e
commit 8291680871

View File

@ -210,8 +210,10 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
* @param wfCopyList 抄送人
*/
private void setCopy(FlowTask task, List<WfCopy> wfCopyList) {
if (CollUtil.isEmpty(wfCopyList)) {
return;
}
// 添加抄送人记录
if (CollUtil.isNotEmpty(wfCopyList)) {
FlowHisTask flowHisTask = flowHisTaskMapper.selectOne(new LambdaQueryWrapper<>(FlowHisTask.class).eq(FlowHisTask::getTaskId, task.getId()));
FlowNode flowNode = new FlowNode();
flowNode.setNodeCode(flowHisTask.getTargetNodeCode());
@ -220,7 +222,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
long taskId = identifierGenerator.nextId(null).longValue();
task.setId(taskId);
task.setNodeName("【抄送】" + task.getNodeName());
Date updateTime = new Date(flowHisTask.getUpdateTime().getTime()-1000);
Date updateTime = new Date(flowHisTask.getUpdateTime().getTime() - 1000);
FlowParams flowParams = FlowParams.build();
flowParams.skipType(SkipType.NONE.getKey());
flowParams.hisStatus(TaskStatusEnum.COPY.getStatus());
@ -229,20 +231,17 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
hisTask.setCreateTime(updateTime);
hisTask.setUpdateTime(updateTime);
hisTaskService.save(hisTask);
//保存抄送人员
List<User> userList = new ArrayList<>();
for (WfCopy wfCopy : wfCopyList) {
List<User> userList = wfCopyList.stream()
.map(wfCopy -> {
FlowUser flowUser = new FlowUser();
flowUser.setType(TaskAssigneeType.COPY.getCode());
flowUser.setProcessedBy(wfCopy.getUserId());
flowUser.setAssociated(taskId);
userList.add(flowUser);
}
if (CollUtil.isNotEmpty(userList)) {
return flowUser;
}).collect(Collectors.toList());
// 批量保存抄送人员
userService.saveBatch(userList);
}
}
}
/**
* 查询当前用户的待办任务