|
@@ -0,0 +1,67 @@
|
|
|
+package com.platform.service.workflow.verifyStrategy.impl;
|
|
|
+
|
|
|
+import com.platform.common.util.SecurityUtils;
|
|
|
+import com.platform.dao.dto.workflow.WorkflowTaskRecordDTO;
|
|
|
+import com.platform.dao.entity.workflow.WorkflowTask;
|
|
|
+import com.platform.dao.entity.workflow.WorkflowTaskBom;
|
|
|
+import com.platform.dao.enums.FlowTaskStatusEnum;
|
|
|
+import com.platform.dao.enums.TaskRecordStatusEnum;
|
|
|
+import com.platform.dao.enums.YesNoEnum;
|
|
|
+import com.platform.dao.mapper.workflow.WorkflowTaskBomMapper;
|
|
|
+import com.platform.dao.mapper.workflow.WorkflowTaskMapper;
|
|
|
+import com.platform.dao.vo.query.workflow.WorkflowNodeVO;
|
|
|
+import com.platform.service.workflow.verifyStrategy.AbstractBaseStrategy;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 3 同意 4 回退 5 终止 6 撤回
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+@Component
|
|
|
+@Service("verifyCancelStrategy")
|
|
|
+public class VerifyCancelStrategy extends AbstractBaseStrategy {
|
|
|
+ @Resource
|
|
|
+ private WorkflowTaskBomMapper workflowTaskBomMapper;
|
|
|
+ @Resource
|
|
|
+ private WorkflowTaskMapper workflowTaskMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Integer getType() {
|
|
|
+ return TaskRecordStatusEnum.PAUSE.getValue();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void verify(List<WorkflowNodeVO> nodeList, WorkflowTaskRecordDTO record) {
|
|
|
+ // 不用生成bom,修改老的bom
|
|
|
+ // 修改任务,改下状态和节点层级
|
|
|
+ WorkflowTask updTask = new WorkflowTask();
|
|
|
+ updTask.setId(record.getTaskId());
|
|
|
+ updTask.setStatus(FlowTaskStatusEnum.CANCEL.getValue());
|
|
|
+ updTask.setLastTime(LocalDateTime.now());
|
|
|
+ updTask.setLastUserName(SecurityUtils.getUserInfo().getRealName());
|
|
|
+ updTask.setLastUserId(SecurityUtils.getUserInfo().getUserId());
|
|
|
+ updTask.setNodeSort(YesNoEnum.YES.getValue());
|
|
|
+ updTask.setRemark(SecurityUtils.getUserInfo().getRealName() + "撤回了本次任务");
|
|
|
+ workflowTaskMapper.updateByPrimaryKeySelective(updTask);
|
|
|
+ WorkflowTaskBom updBom = new WorkflowTaskBom();
|
|
|
+ updBom.setId(record.getId());
|
|
|
+ updBom.setHandleRemark(record.getHandleRemark());
|
|
|
+ updBom.setStatus(YesNoEnum.YES.getValue());
|
|
|
+ updBom.setHandleTime(LocalDateTime.now());
|
|
|
+ workflowTaskBomMapper.updateByPrimaryKey(updBom);
|
|
|
+ // 存储记录
|
|
|
+ saveTaskRecord(record);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void saveTaskRecord(WorkflowTaskRecordDTO record) {
|
|
|
+ super.saveTaskRecord(record);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|