update 调整修改办理人接口

This commit is contained in:
gssong 2024-12-04 22:16:53 +08:00
parent 4ebf18a3a3
commit 97e9c2d7d1
2 changed files with 16 additions and 18 deletions

View File

@ -15,6 +15,7 @@ import org.dromara.warm.flow.core.listener.ListenerVariable;
import org.dromara.warm.flow.orm.entity.FlowTask; import org.dromara.warm.flow.orm.entity.FlowTask;
import org.dromara.warm.flow.orm.mapper.FlowTaskMapper; import org.dromara.warm.flow.orm.mapper.FlowTaskMapper;
import org.dromara.workflow.service.IFlwInstanceService; import org.dromara.workflow.service.IFlwInstanceService;
import org.dromara.workflow.service.IFlwTaskService;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
@ -29,7 +30,7 @@ import java.util.List;
@RequiredArgsConstructor @RequiredArgsConstructor
public class WorkflowGlobalListener implements GlobalListener { public class WorkflowGlobalListener implements GlobalListener {
private final FlowTaskMapper flowTaskMapper; private final IFlwTaskService iFlwTaskService;
private final IFlwInstanceService flwInstanceService; private final IFlwInstanceService flwInstanceService;
@Override @Override
@ -42,8 +43,7 @@ public class WorkflowGlobalListener implements GlobalListener {
publishProcessEvent(flowParams.getFlowStatus(), definition.getFlowCode(), instance.getBusinessId()); publishProcessEvent(flowParams.getFlowStatus(), definition.getFlowCode(), instance.getBusinessId());
log.info("流程监听器流程状态:{}", flowParams.getFlowStatus()); log.info("流程监听器流程状态:{}", flowParams.getFlowStatus());
} }
List<FlowTask> flowTasks = flowTaskMapper.selectList(new LambdaQueryWrapper<>(FlowTask.class) List<FlowTask> flowTasks = iFlwTaskService.selectByInstId(instance.getId());
.eq(FlowTask::getInstanceId, instance.getId()));
if (CollUtil.isEmpty(flowTasks)) { if (CollUtil.isEmpty(flowTasks)) {
// 若流程已结束更新状态为已完成并发送完成事件 // 若流程已结束更新状态为已完成并发送完成事件
flwInstanceService.updateStatus(instance.getId(), BusinessStatusEnum.FINISH.getStatus()); flwInstanceService.updateStatus(instance.getId(), BusinessStatusEnum.FINISH.getStatus());

View File

@ -23,7 +23,6 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.warm.flow.core.dto.FlowParams; import org.dromara.warm.flow.core.dto.FlowParams;
import org.dromara.warm.flow.core.entity.*; import org.dromara.warm.flow.core.entity.*;
import org.dromara.warm.flow.core.enums.CooperateType;
import org.dromara.warm.flow.core.enums.NodeType; import org.dromara.warm.flow.core.enums.NodeType;
import org.dromara.warm.flow.core.enums.SkipType; import org.dromara.warm.flow.core.enums.SkipType;
import org.dromara.warm.flow.core.enums.UserType; import org.dromara.warm.flow.core.enums.UserType;
@ -187,8 +186,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
//添加抄送人 //添加抄送人
setCopy(task, wfCopyList); setCopy(task, wfCopyList);
// 根据流程实例ID查询所有关联的任务 // 根据流程实例ID查询所有关联的任务
List<FlowTask> flowTasks = flowTaskMapper.selectList(new LambdaQueryWrapper<>(FlowTask.class) List<FlowTask> flowTasks = selectByInstId(instance.getId());
.eq(FlowTask::getInstanceId, instance.getId()));
List<User> userList = new ArrayList<>(); List<User> userList = new ArrayList<>();
// 遍历任务列表处理每个任务的办理人 // 遍历任务列表处理每个任务的办理人
for (FlowTask flowTask : flowTasks) { for (FlowTask flowTask : flowTasks) {
@ -568,7 +566,6 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
// 批量删除现有任务的办理人记录 // 批量删除现有任务的办理人记录
if (CollUtil.isNotEmpty(flowTasks)) { if (CollUtil.isNotEmpty(flowTasks)) {
userService.deleteByTaskIds(StreamUtils.toList(flowTasks, FlowTask::getId)); userService.deleteByTaskIds(StreamUtils.toList(flowTasks, FlowTask::getId));
}
List<User> userList = flowTasks.stream() List<User> userList = flowTasks.stream()
.map(flowTask -> { .map(flowTask -> {
FlowUser flowUser = new FlowUser(); FlowUser flowUser = new FlowUser();
@ -581,6 +578,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
if (CollUtil.isNotEmpty(userList)) { if (CollUtil.isNotEmpty(userList)) {
userService.saveBatch(userList); userService.saveBatch(userList);
} }
}
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
throw new ServiceException(e.getMessage()); throw new ServiceException(e.getMessage());