gongdecai 4 роки тому
батько
коміт
e433fa0ed9

+ 3 - 3
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YExceptionEnum.java

@@ -3,7 +3,7 @@ package com.yh.saas.plugin.yiliangyiyun.exception;
 import lombok.Getter;
 
 /**
- * 服务商管理错误码
+ * 管理错误码
  * 
  * @author yul
  *
@@ -23,8 +23,8 @@ public enum YExceptionEnum {
 	WAREHOUSE_NO_CLEARED("ERROR","还有未完成记录,不可以清仓!"),
 	DRIVER_PHONE_ERROR("ERROR", "司机手机号重复,不可添加!"),
 	DRIVER_NUMBER_ERROR("ERROR", "司机身份证号重复,不可添加!"),
-	PAYEE_NUMBER_ERROR("ERROR", "收款人身份证号重复,不可添加!")
-
+	PAYEE_NUMBER_ERROR("ERROR", "收款人身份证号重复,不可添加!"),
+	INTERVER_WORKFLOW_ERROR("INTERVIEW-001", "出入库任务审核没有可以进行的工作流!")
 	;
 	@Getter
 	private String value;

+ 33 - 3
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/InOutWarehouseTaskServiceImpl.java

@@ -3,8 +3,9 @@ package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.winsea.svc.base.workflow.entity.Workflow;
 import com.yh.saas.common.support.util.IdGenerator;
-import com.yh.saas.common.support.util.StringUtils;
+//import com.yh.saas.common.support.util.StringUtils;
 import com.yh.saas.plugin.base.service.ICommonBillOperateHisService;
 import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
@@ -12,13 +13,16 @@ import com.baomidou.mybatisplus.plugins.Page;
 import com.google.common.collect.Lists;
 import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView;
+import com.yh.saas.plugin.yiliangyiyun.exception.YException;
+import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.InOutWarehouseTaskMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.IInOutWarehouseTaskService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.yh.saas.toolkit.workflow.service.IWorkflowService;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
+import org.apache.commons.lang3.StringUtils;
 import java.util.*;
 
 /**
@@ -35,7 +39,8 @@ public class InOutWarehouseTaskServiceImpl extends ServiceImpl<InOutWarehouseTas
      private IInOutWarehouseTaskService inOutWarehouseTaskService;
     @Autowired
     private ICommonBillOperateHisService billOperateHisService;
-
+    @Autowired
+    private IWorkflowService workflowService;
     /**
      * 出入库任务新增 编辑
      * @param inOutWarehouseTask
@@ -57,6 +62,31 @@ public class InOutWarehouseTaskServiceImpl extends ServiceImpl<InOutWarehouseTas
             }
             // 操作主表数据
             this.insert(inOutWarehouseTask);
+
+            boolean isStartWorkflow = StringUtils.isBlank(inOutWarehouseTask.getWorkflowId());
+            // 不是退回的单子
+            if (isStartWorkflow) {
+                Workflow workflow = workflowService
+                        .findLatestWorkflowByBusinessCode("INOUTTASK-TASK-APPROVE");
+                // 调配没配置审核流程,直接结束调配并处理信息
+                if (workflow == null) {
+                    throw new YException(YExceptionEnum.INTERVER_WORKFLOW_ERROR);
+                }
+                // 开启审核流
+                else {
+
+                    // 设置调配状态 已提交审核
+                    inOutWarehouseTask.setWorkflowId(workflow.getId());
+                    this.updateById(inOutWarehouseTask);
+                    workflowService.startInstance(workflow.getId(), inOutWarehouseTask.getId());
+                }
+            }
+            // 退回的单子 再启用
+            else {
+
+                this.updateById(inOutWarehouseTask);
+                workflowService.activateInstance(inOutWarehouseTask.getWorkflowId(), inOutWarehouseTask.getId());
+            }
         }
         //  有id是修改
         else {