|
@@ -17,11 +17,9 @@ import com.flowlong.bpm.engine.TaskService;
|
|
|
import com.flowlong.bpm.engine.core.FlowCreator;
|
|
|
import com.flowlong.bpm.engine.entity.FlwExtInstance;
|
|
|
import com.flowlong.bpm.engine.entity.FlwTask;
|
|
|
-import com.flowlong.bpm.engine.entity.FlwTaskActor;
|
|
|
import com.flowlong.bpm.engine.model.NodeModel;
|
|
|
import com.flowlong.bpm.engine.model.ProcessModel;
|
|
|
import com.flowlong.bpm.mybatisplus.mapper.FlwExtInstanceMapper;
|
|
|
-import com.flowlong.bpm.mybatisplus.mapper.FlwTaskMapper;
|
|
|
import jakarta.annotation.Resource;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -110,8 +108,8 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public boolean viewed(Long taskId, FlowCreator flowCreator) {
|
|
|
- return flowLongEngine.taskService().viewTask(taskId, FlwTaskActor.ofFlowCreator(flowCreator));
|
|
|
+ public boolean viewed(Long taskId) {
|
|
|
+ return flowLongEngine.taskService().viewTask(taskId, FlowHelper.getFlwTaskActor());
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -127,20 +125,6 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
return dto;
|
|
|
}
|
|
|
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- @Override
|
|
|
- public boolean transfer(Long taskId, FlowCreator flowCreator, FlowCreator assigneeFlowCreator) {
|
|
|
- TaskService taskService = flowLongEngine.taskService();
|
|
|
- return taskService.transferTask(taskId, flowCreator, assigneeFlowCreator);
|
|
|
- }
|
|
|
-
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- @Override
|
|
|
- public boolean delegate(Long taskId, FlowCreator flowCreator, FlowCreator assigneeFlowCreator) {
|
|
|
- TaskService taskService = flowLongEngine.taskService();
|
|
|
- return taskService.delegateTask(taskId, flowCreator, assigneeFlowCreator);
|
|
|
- }
|
|
|
-
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public boolean reclaim(Long taskId, FlowCreator flowCreator) {
|
|
@@ -157,50 +141,54 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public boolean executeJump(Long taskId, String nodeName, FlowCreator flowCreator) {
|
|
|
- return flowLongEngine.executeJumpTask(taskId, nodeName, flowCreator);
|
|
|
+ public boolean executeJump(Long taskId, String nodeName) {
|
|
|
+ return flowLongEngine.executeJumpTask(taskId, nodeName, FlowHelper.getFlowCreator());
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public boolean execute(FlowCreator flowCreator, ExecuteTaskDTO dto) {
|
|
|
- return flowLongEngine.executeTask(dto.getTaskId(), flowCreator, dto.getArgs());
|
|
|
+ public boolean execute(ExecuteTaskDTO dto) {
|
|
|
+ return flowLongEngine.executeTask(dto.getTaskId(), FlowHelper.getFlowCreator(), dto.getArgs());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<FlwHisTaskVO> listHisTaskByInstanceId(Long instanceId) {
|
|
|
+ List<FlwHisTaskVO> voList = flowlongMapper.selectListHisTaskByInstanceId(instanceId);
|
|
|
+ if (CollectionUtils.isNotEmpty(voList)) {
|
|
|
+ List<FlwHisTaskActorVO> actorList = flowlongMapper.selectListHisTaskActorVOByInstanceId(instanceId);
|
|
|
+ if (CollectionUtils.isNotEmpty(actorList)) {
|
|
|
+ voList.forEach(t -> t.setActorList(actorList.stream().filter(v -> Objects.equals(v.getTaskId(), t.getId()))
|
|
|
+ .collect(Collectors.toList())));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return voList;
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public boolean reject(FlowCreator flowCreator, RejectTaskDTO dto) {
|
|
|
+ public boolean reject(RejectTaskDTO dto) {
|
|
|
FlwTask flwTask = flowLongEngine.queryService().getTask(dto.getTaskId());
|
|
|
ApiAssert.isEmpty(flwTask, "当前ID执行任务不存在");
|
|
|
TaskService taskService = flowLongEngine.taskService();
|
|
|
- return taskService.rejectTask(flwTask, flowCreator, dto.getArgs()).isPresent();
|
|
|
+ return taskService.rejectTask(flwTask, FlowHelper.getFlowCreator(), dto.getArgs()).isPresent();
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public boolean transfer(FlowCreator flowCreator, AssigneeTaskDTO dto) {
|
|
|
+ public boolean transfer(TaskAssigneeDTO dto) {
|
|
|
+ FlwTask flwTask = this.getFlwTask(dto.getTaskId());
|
|
|
TaskService taskService = flowLongEngine.taskService();
|
|
|
- return taskService.transferTask(dto.getTaskId(), flowCreator, dto.toFlowCreator());
|
|
|
+ taskService.transferTask(dto.getTaskId(), FlowHelper.getFlowCreator(), dto.toFlowCreator());
|
|
|
+ return flwProcessApprovalService.transfer(flwTask.getInstanceId(), dto);
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public boolean delegate(FlowCreator flowCreator, AssigneeTaskDTO dto) {
|
|
|
+ public boolean delegate(TaskAssigneeDTO dto) {
|
|
|
+ FlwTask flwTask = this.getFlwTask(dto.getTaskId());
|
|
|
TaskService taskService = flowLongEngine.taskService();
|
|
|
- return taskService.delegateTask(dto.getTaskId(), flowCreator, dto.toFlowCreator());
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public List<FlwHisTaskVO> listHisTaskByInstanceId(Long instanceId) {
|
|
|
- List<FlwHisTaskVO> voList = flowlongMapper.selectListHisTaskByInstanceId(instanceId);
|
|
|
- if (CollectionUtils.isNotEmpty(voList)) {
|
|
|
- List<FlwHisTaskActorVO> actorList = flowlongMapper.selectListHisTaskActorVOByInstanceId(instanceId);
|
|
|
- if (CollectionUtils.isNotEmpty(actorList)) {
|
|
|
- voList.forEach(t -> t.setActorList(actorList.stream().filter(v -> Objects.equals(v.getTaskId(), t.getId()))
|
|
|
- .collect(Collectors.toList())));
|
|
|
- }
|
|
|
- }
|
|
|
- return voList;
|
|
|
+ taskService.delegateTask(dto.getTaskId(), FlowHelper.getFlowCreator(), dto.toFlowCreator());
|
|
|
+ return flwProcessApprovalService.delegate(flwTask.getInstanceId(), dto);
|
|
|
}
|
|
|
|
|
|
private FlwTask getFlwTask(Long taskId) {
|
|
@@ -209,8 +197,9 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
return flwTask;
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public boolean approvalComment(TaskApprovalDTO dto) {
|
|
|
+ public boolean comment(TaskApprovalDTO dto) {
|
|
|
ApiAssert.isEmpty(dto.getContent(), "评论不能为空");
|
|
|
FlwTask flwTask = this.getFlwTask(dto.getTaskId());
|
|
|
return flwProcessApprovalService.comment(flwTask.getInstanceId(), dto);
|
|
@@ -218,7 +207,7 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public boolean approvalConsent(TaskApprovalDTO dto) {
|
|
|
+ public boolean consent(TaskApprovalDTO dto) {
|
|
|
FlwTask flwTask = this.getFlwTask(dto.getTaskId());
|
|
|
ApiAssert.fail(!flowLongEngine.executeTask(dto.getTaskId(), FlowHelper.getFlowCreator()), "执行任务审批失败");
|
|
|
return flwProcessApprovalService.consent(flwTask.getInstanceId(), dto);
|
|
@@ -226,10 +215,19 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public boolean approvalRejection(TaskApprovalDTO dto) {
|
|
|
+ public boolean rejection(TaskApprovalDTO dto) {
|
|
|
FlwTask flwTask = this.getFlwTask(dto.getTaskId());
|
|
|
TaskService taskService = flowLongEngine.taskService();
|
|
|
ApiAssert.fail(taskService.rejectTask(flwTask, FlowHelper.getFlowCreator()).isEmpty(), "执行驳回任务失败");
|
|
|
return flwProcessApprovalService.rejection(flwTask.getInstanceId(), dto);
|
|
|
}
|
|
|
+
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @Override
|
|
|
+ public boolean appendNode(TaskAppendNodeDTO dto) {
|
|
|
+ FlwTask flwTask = this.getFlwTask(dto.getTaskId());
|
|
|
+ ApiAssert.fail(flowLongEngine.executeAppendNodeModel(flwTask.getId(), dto.toNodeModel("前置加签"),
|
|
|
+ FlowHelper.getFlowCreator(), dto.getType() == 9), "执行任务加签失败");
|
|
|
+ return flwProcessApprovalService.appendNode(flwTask.getInstanceId(), dto);
|
|
|
+ }
|
|
|
}
|