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