|
@@ -23,6 +23,7 @@ import com.platform.dao.mapper.workflow.WorkflowTaskMapper;
|
|
import com.platform.dao.vo.SysUserVO;
|
|
import com.platform.dao.vo.SysUserVO;
|
|
import com.platform.dao.vo.query.workflow.WorkflowNodeVO;
|
|
import com.platform.dao.vo.query.workflow.WorkflowNodeVO;
|
|
import com.platform.service.workflow.verifyStrategy.AbstractBaseStrategy;
|
|
import com.platform.service.workflow.verifyStrategy.AbstractBaseStrategy;
|
|
|
|
+import com.platform.service.workflow.viewStrategy.LinkTypeStrategy;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
@@ -34,6 +35,7 @@ import java.lang.reflect.Method;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 3 同意 4 回退 5 终止 6 撤回
|
|
* 3 同意 4 回退 5 终止 6 撤回
|
|
@@ -42,6 +44,8 @@ import java.util.List;
|
|
@Component
|
|
@Component
|
|
@Service("verifyPassStrategy")
|
|
@Service("verifyPassStrategy")
|
|
public class VerifyPassStrategy extends AbstractBaseStrategy {
|
|
public class VerifyPassStrategy extends AbstractBaseStrategy {
|
|
|
|
+ @Resource
|
|
|
|
+ private List<LinkTypeStrategy> linkTypeStrategyList; //
|
|
@Resource
|
|
@Resource
|
|
private CustomFormDataMapper customFormDataMapper;
|
|
private CustomFormDataMapper customFormDataMapper;
|
|
@Resource
|
|
@Resource
|
|
@@ -70,7 +74,7 @@ public class VerifyPassStrategy extends AbstractBaseStrategy {
|
|
updBom.setHandleRemark(record.getHandleRemark());
|
|
updBom.setHandleRemark(record.getHandleRemark());
|
|
if (CollectionUtils.isEmpty(nodeList)) {
|
|
if (CollectionUtils.isEmpty(nodeList)) {
|
|
// 流程结束
|
|
// 流程结束
|
|
- finishTask(updBom,updTask);
|
|
|
|
|
|
+ finishTask(updBom,updTask,record);
|
|
} else {
|
|
} else {
|
|
// 生成taskBom
|
|
// 生成taskBom
|
|
generateTaskBom(nodeList, updTask, updBom, customFormDataMapper.selectByPrimaryKey(record.getFormDataId()));
|
|
generateTaskBom(nodeList, updTask, updBom, customFormDataMapper.selectByPrimaryKey(record.getFormDataId()));
|
|
@@ -85,7 +89,7 @@ public class VerifyPassStrategy extends AbstractBaseStrategy {
|
|
super.saveTaskRecord(record);
|
|
super.saveTaskRecord(record);
|
|
}
|
|
}
|
|
|
|
|
|
- private void finishTask(WorkflowTaskBom updBom, WorkflowTask updTask) {
|
|
|
|
|
|
+ private void finishTask(WorkflowTaskBom updBom, WorkflowTask updTask,WorkflowTaskRecordDTO record) {
|
|
// 获取历史记录
|
|
// 获取历史记录
|
|
WorkflowTaskBom oldBom = workflowTaskBomMapper.selectByPrimaryKey(updBom.getId());
|
|
WorkflowTaskBom oldBom = workflowTaskBomMapper.selectByPrimaryKey(updBom.getId());
|
|
WorkflowTaskBom queryBom = new WorkflowTaskBom();
|
|
WorkflowTaskBom queryBom = new WorkflowTaskBom();
|
|
@@ -111,6 +115,9 @@ public class VerifyPassStrategy extends AbstractBaseStrategy {
|
|
updTask.setLastUserId(SecurityUtils.getUserInfo().getUserId());
|
|
updTask.setLastUserId(SecurityUtils.getUserInfo().getUserId());
|
|
updTask.setRemark("已结束");
|
|
updTask.setRemark("已结束");
|
|
workflowTaskMapper.updateByPrimaryKeySelective(updTask);
|
|
workflowTaskMapper.updateByPrimaryKeySelective(updTask);
|
|
|
|
+ // 审批通过后处理
|
|
|
|
+ LinkTypeStrategy baseStrategy = linkTypeStrategyList.stream().filter(strategy -> strategy.getType().equals(record.getLinkType())).collect(Collectors.toList()).get(0);
|
|
|
|
+ baseStrategy.effectiveComposer(record.getFormDataId());
|
|
}
|
|
}
|
|
|
|
|
|
private boolean generateTaskBom(List<WorkflowNodeVO> nodeList, WorkflowTask updTask, WorkflowTaskBom updBom, CustomFormData data) {
|
|
private boolean generateTaskBom(List<WorkflowNodeVO> nodeList, WorkflowTask updTask, WorkflowTaskBom updBom, CustomFormData data) {
|