|
@@ -6,6 +6,7 @@ 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.*;
|
|
|
import com.aizuda.boot.modules.flw.mapper.FlowlongMapper;
|
|
|
+import com.aizuda.boot.modules.flw.service.IFlwProcessApprovalService;
|
|
|
import com.aizuda.boot.modules.flw.service.IProcessTaskService;
|
|
|
import com.aizuda.core.api.ApiAssert;
|
|
|
import com.aizuda.core.api.PageParam;
|
|
@@ -14,15 +15,21 @@ 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.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.FlwHisTaskActorMapper;
|
|
|
+import com.flowlong.bpm.mybatisplus.mapper.FlwTaskMapper;
|
|
|
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.Map;
|
|
|
import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -37,9 +44,13 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
@Resource
|
|
|
private FlowlongMapper flowlongMapper;
|
|
|
@Resource
|
|
|
- private FlwHisTaskActorMapper flwHisTaskActorMapper;
|
|
|
+ private FlwTaskMapper flwTaskMapper;
|
|
|
+ @Resource
|
|
|
+ private FlwExtInstanceMapper extInstanceMapper;
|
|
|
@Resource
|
|
|
private FlowLongEngine flowLongEngine;
|
|
|
+ @Resource
|
|
|
+ private IFlwProcessApprovalService flwProcessApprovalService;
|
|
|
|
|
|
@Override
|
|
|
public Page<PendingClaimTaskVO> pagePendingClaim(PageParam<ProcessTaskDTO> pageParam) {
|
|
@@ -71,6 +82,31 @@ public class ProcessTaskServiceImpl implements IProcessTaskService {
|
|
|
return flowlongMapper.selectPageApproved(pageParam.page(), dto);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public TaskApprovalVO approvalInfo(Long taskId) {
|
|
|
+ FlwTask flwTask = flwTaskMapper.selectById(taskId);
|
|
|
+ if (null != flwTask) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ TaskApprovalVO vo = new TaskApprovalVO();
|
|
|
+ vo.setTaskId(taskId);
|
|
|
+ vo.setCreateId(flwTask.getCreateId());
|
|
|
+ vo.setCreateBy(flwTask.getCreateBy());
|
|
|
+ vo.setCreateTime(flwTask.getCreateTime());
|
|
|
+ FlwExtInstance flwExtInstance = extInstanceMapper.selectById(flwTask.getInstanceId());
|
|
|
+ ProcessModel processModel = flwExtInstance.model();
|
|
|
+ NodeModel nodeModel = processModel.getNode(flwTask.getTaskName());
|
|
|
+ Map<String, Object> extendConfig = nodeModel.getExtendConfig();
|
|
|
+ if (null != extendConfig) {
|
|
|
+ Object formConfig = extendConfig.get("formConfig");
|
|
|
+ if (null != formConfig) {
|
|
|
+ vo.setFormConfig((String) formConfig);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ vo.setProcessApprovals(flwProcessApprovalService.listByInstanceId(flwTask.getInstanceId()));
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public boolean viewed(Long taskId, FlowCreator flowCreator) {
|
|
|
return flowLongEngine.taskService().viewTask(taskId, FlwTaskActor.ofFlowCreator(flowCreator));
|