gongdecai 4 年 前
コミット
e2de3de0bd

+ 3 - 2
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/StatusEnum.java

@@ -55,8 +55,9 @@ public enum StatusEnum {
 
     //出入库任务状态
     TASK_REVIEWED("1", "待审核", "reviewed"),
-    TASK_DO("3", "执行中", "Under implementation"),
-    TASK_COMPLETED("5", "已完成", "Completed"),
+    TASK_RETURN("3", "已驳回", "return"),
+    TASK_DO("5", "执行中", "Under implementation"),
+    TASK_COMPLETED("7", "已完成", "Completed"),
 
 
     ;

+ 9 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/InOutWarehouseTask.java

@@ -172,6 +172,15 @@ public class InOutWarehouseTask extends BaseModel<InOutWarehouseTask> {
      */
     private String publisher;
 
+    /**
+     * 工作流
+     */
+    private String workflowId;
+
+    /**
+     * 审核状态
+     */
+    private String approveStatus;
 
     @Override
     protected Serializable pkVal() {

+ 51 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/workflow/InOutWharehoseTaskListener.java

@@ -0,0 +1,51 @@
+package com.yh.saas.plugin.yiliangyiyun.workflow;
+
+import com.alipay.sofa.runtime.api.annotation.SofaReference;
+import com.yh.saas.common.support.workflow.AbstractWorkflowTaskListener;
+import com.yh.saas.common.support.workflow.annotation.WorkflowTaskListener;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
+import com.yh.saas.plugin.yiliangyiyun.entity.InOutWarehouseTask;
+import com.yh.saas.plugin.yiliangyiyun.service.IInOutWarehouseTaskService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@WorkflowTaskListener(name = "出入库任务", group = "出入库任务")
+public class InOutWharehoseTaskListener extends AbstractWorkflowTaskListener {
+
+    private static final long serialVersionUID = 4103656734835351132L;
+
+    @Autowired
+    private IInOutWarehouseTaskService iInOutWarehouseTaskService;
+//
+
+    @Override
+    public void handleStatusChanged(String businessKey, String status, String statusEn, boolean processIsEnd) {
+        InOutWarehouseTask inOutWarehouseTask = iInOutWarehouseTaskService.selectById(businessKey);
+        if (inOutWarehouseTask == null) {
+            return;
+        }
+        if (processIsEnd) {
+            inOutWarehouseTask.setTaskStatusKey(StatusEnum.TASK_DO.getFlag());
+            inOutWarehouseTask.setTaskStatus(StatusEnum.TASK_DO.getName());
+            inOutWarehouseTask.setWorkflowId(null);
+            inOutWarehouseTask.setApproveStatus(null);
+        } else {
+            inOutWarehouseTask.setApproveStatus(status);
+        }
+        iInOutWarehouseTaskService.updateAllColumnById(inOutWarehouseTask);
+    }
+
+    @Override
+    public void handleRejectApplicationRepulsed(String workflowId, String businessKey, boolean needReapply) {
+        InOutWarehouseTask inOutWarehouseTask = iInOutWarehouseTaskService.selectById(businessKey);
+        if (inOutWarehouseTask == null) {
+            return;
+        }
+        inOutWarehouseTask.setTaskStatusKey(StatusEnum.TASK_RETURN.getFlag());
+        inOutWarehouseTask.setTaskStatus(StatusEnum.TASK_RETURN.getName());
+        inOutWarehouseTask.setApproveStatus(null);
+        iInOutWarehouseTaskService.updateAllColumnById(inOutWarehouseTask);
+
+    }
+
+}