update 调整审批记录

This commit is contained in:
gssong 2024-12-14 19:32:09 +08:00
parent a2273beae9
commit fa5ddaa385
2 changed files with 24 additions and 3 deletions

View File

@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.dto.UserDTO;
import org.dromara.common.core.enums.BusinessStatusEnum;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.StreamUtils;
@ -248,12 +249,32 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
if (flowInstance == null) {
throw new ServiceException(ExceptionCons.NOT_FOUNT_INSTANCE);
}
//运行中的任务
List<FlowHisTaskVo> list = new ArrayList<>();
List<FlowTask> flowTaskList = flwTaskService.selectByInstId(flowInstance.getId());
if (CollUtil.isNotEmpty(flowTaskList)) {
List<FlowHisTaskVo> flowHisTaskVos = BeanUtil.copyToList(flowTaskList, FlowHisTaskVo.class);
for (FlowHisTaskVo flowHisTaskVo : flowHisTaskVos) {
flowHisTaskVo.setFlowStatus(TaskStatusEnum.WAITING.getStatus());
flowHisTaskVo.setUpdateTime(null);
List<UserDTO> allUser = flwTaskService.currentTaskAllUser(flowHisTaskVo.getTaskId());
if (CollUtil.isNotEmpty(allUser)) {
String join = StreamUtils.join(allUser, e -> String.valueOf(e.getUserId()));
flowHisTaskVo.setApprover(join);
}
}
list.addAll(flowHisTaskVos);
}
//历史任务
LambdaQueryWrapper<FlowHisTask> wrapper = Wrappers.lambdaQuery();
wrapper.eq(FlowHisTask::getInstanceId, flowInstance.getId());
wrapper.eq(FlowHisTask::getNodeType, NodeType.BETWEEN.getKey());
wrapper.orderByDesc(FlowHisTask::getCreateTime).orderByDesc(FlowHisTask::getUpdateTime);
List<FlowHisTask> flowHisTasks = flowHisTaskMapper.selectList(wrapper);
List<FlowHisTaskVo> list = BeanUtil.copyToList(flowHisTasks, FlowHisTaskVo.class);
if (CollUtil.isNotEmpty(flowHisTasks)) {
list.addAll(BeanUtil.copyToList(flowHisTasks, FlowHisTaskVo.class));
}
map.put("list", list);
try {
String flowChart = defService.flowChart(flowInstance.getId());

View File

@ -44,11 +44,11 @@ public class WorkflowUtils {
return Collections.emptyList();
}
// 获取所有用户的 UserDTO 列表
return userList.stream()
return new ArrayList<>(userList.stream()
.map(User::getProcessedBy)
.filter(Objects::nonNull)
.flatMap(processedBy -> taskAssigneeService.fetchUsersByStorageId(processedBy).stream())
.collect(Collectors.toList());
.collect(Collectors.toMap(UserDTO::getUserId, user -> user, (ex, rep) -> ex)).values());
}
/**