|
@@ -2,21 +2,22 @@ package com.aizuda.boot.modules.flw.service.impl;
|
|
|
|
|
|
import com.aizuda.boot.modules.flw.entity.dto.ExecuteTaskDTO;
|
|
|
import com.aizuda.boot.modules.flw.entity.dto.ProcessTaskDTO;
|
|
|
+import com.aizuda.boot.modules.flw.entity.dto.RejectTaskDTO;
|
|
|
import com.aizuda.boot.modules.flw.entity.vo.ProcessTaskVO;
|
|
|
import com.aizuda.boot.modules.flw.mapper.FlowlongMapper;
|
|
|
import com.aizuda.boot.modules.flw.service.IProcessTaskService;
|
|
|
+import com.aizuda.core.api.ApiAssert;
|
|
|
import com.aizuda.core.api.PageParam;
|
|
|
import com.aizuda.service.web.UserSession;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.flowlong.bpm.engine.FlowLongEngine;
|
|
|
+import com.flowlong.bpm.engine.TaskService;
|
|
|
import com.flowlong.bpm.engine.core.FlowCreator;
|
|
|
+import com.flowlong.bpm.engine.entity.FlwTask;
|
|
|
+import com.flowlong.bpm.engine.entity.FlwTaskActor;
|
|
|
import jakarta.annotation.Resource;
|
|
|
-import org.apache.commons.collections.MapUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.Map;
|
|
|
-
|
|
|
/**
|
|
|
* 流程任务 服务实现类
|
|
|
*
|
|
@@ -60,6 +61,11 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
return flowlongMapper.selectPageApproved(pageParam.page(), dto);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public boolean viewed(FlowCreator flowCreator, Long taskId) {
|
|
|
+ return flowLongEngine.taskService().viewTask(taskId, FlwTaskActor.ofFlowCreator(flowCreator));
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 获取流程任务DTO
|
|
|
*/
|
|
@@ -77,4 +83,12 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
public boolean execute(FlowCreator flowCreator, ExecuteTaskDTO dto) {
|
|
|
return flowLongEngine.executeTask(dto.getTaskId(), flowCreator, dto.getArgs());
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean reject(FlowCreator flowCreator, 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();
|
|
|
+ }
|
|
|
}
|