|
@@ -4,6 +4,7 @@ import com.aizuda.boot.modules.flw.entity.dto.AssigneeTaskDTO;
|
|
|
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.FlwHisTaskVO;
|
|
|
import com.aizuda.boot.modules.flw.entity.vo.PendingApprovalTaskVO;
|
|
|
import com.aizuda.boot.modules.flw.entity.vo.PendingClaimTaskVO;
|
|
|
import com.aizuda.boot.modules.flw.entity.vo.ProcessTaskVO;
|
|
@@ -12,16 +13,24 @@ 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.core.toolkit.Wrappers;
|
|
|
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.FlwHisTaskActor;
|
|
|
import com.flowlong.bpm.engine.entity.FlwTask;
|
|
|
import com.flowlong.bpm.engine.entity.FlwTaskActor;
|
|
|
+import com.flowlong.bpm.mybatisplus.mapper.FlwHisTaskActorMapper;
|
|
|
import jakarta.annotation.Resource;
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
/**
|
|
|
* 流程任务 服务实现类
|
|
|
*
|
|
@@ -33,6 +42,8 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
@Resource
|
|
|
private FlowlongMapper flowlongMapper;
|
|
|
@Resource
|
|
|
+ private FlwHisTaskActorMapper flwHisTaskActorMapper;
|
|
|
+ @Resource
|
|
|
private FlowLongEngine flowLongEngine;
|
|
|
|
|
|
@Override
|
|
@@ -147,4 +158,18 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
FlwTaskActor flwTaskActor = FlwTaskActor.ofFlowCreator(flowCreator);
|
|
|
return taskService.delegateTask(dto.getTaskId(), flwTaskActor, dto.toFlwTaskActor());
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<FlwHisTaskVO> listHisTaskByInstanceId(Long instanceId) {
|
|
|
+ List<FlwHisTaskVO> voList = flowlongMapper.selectListHisTaskByInstanceId(instanceId);
|
|
|
+ if (CollectionUtils.isNotEmpty(voList)) {
|
|
|
+ List<FlwHisTaskActor> actorList = flwHisTaskActorMapper.selectList(Wrappers.<FlwHisTaskActor>lambdaQuery()
|
|
|
+ .eq(FlwHisTaskActor::getInstanceId, instanceId).orderByAsc(FlwHisTaskActor::getId));
|
|
|
+ if (CollectionUtils.isNotEmpty(actorList)) {
|
|
|
+ voList.forEach(t -> t.setActorList(actorList.stream().filter(v -> Objects.equals(v.getTaskId(), t.getId()))
|
|
|
+ .collect(Collectors.toList())));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return voList;
|
|
|
+ }
|
|
|
}
|