Browse Source

撤回审批

guarantee-lsq 7 months ago
parent
commit
541a9919a4

+ 67 - 0
platform-service/src/main/java/com/platform/service/workflow/verifyStrategy/impl/VerifyCancelStrategy.java

@@ -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);
+    }
+
+}

+ 1 - 1
platform-service/src/main/java/com/platform/service/workflow/verifyStrategy/impl/VerifyPauseStrategy.java

@@ -43,7 +43,7 @@ public class VerifyPauseStrategy extends AbstractBaseStrategy {
         WorkflowTask updTask = new WorkflowTask();
         updTask.setId(record.getTaskId());
         updTask.setFlowId(record.getFlowId());
-        updTask.setStatus(FlowTaskStatusEnum.CANCEL.getValue());
+        updTask.setStatus(FlowTaskStatusEnum.PAUSE.getValue());
         updTask.setLastTime(LocalDateTime.now());
         updTask.setLastUserName(SecurityUtils.getUserInfo().getRealName());
         updTask.setLastUserId(SecurityUtils.getUserInfo().getUserId());