From 4fad8b2ea379473a9e349989d9a8a6c975ec7f1f Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 24 八月 2023 09:56:21 +0800
Subject: [PATCH] youhau

---
 service-store/src/main/java/com/java110/store/cmd/resourceStore/SaveResourceAuditFlowCmd.java |   41 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/service-store/src/main/java/com/java110/store/cmd/resourceStore/SaveResourceAuditFlowCmd.java b/service-store/src/main/java/com/java110/store/cmd/resourceStore/SaveResourceAuditFlowCmd.java
index c21fb20..e06ceeb 100644
--- a/service-store/src/main/java/com/java110/store/cmd/resourceStore/SaveResourceAuditFlowCmd.java
+++ b/service-store/src/main/java/com/java110/store/cmd/resourceStore/SaveResourceAuditFlowCmd.java
@@ -18,11 +18,17 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.context.CmdContextUtils;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.oaWorkflow.OaWorkflowDto;
+import com.java110.dto.oaWorkflow.WorkflowModelDto;
+import com.java110.intf.common.IWorkflowInnerServiceSMO;
+import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
 import com.java110.intf.store.IResourceAuditFlowV1InnerServiceSMO;
+import com.java110.po.oaWorkflow.OaWorkflowPo;
 import com.java110.po.resource.ResourceAuditFlowPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
@@ -52,20 +58,49 @@
     @Autowired
     private IResourceAuditFlowV1InnerServiceSMO resourceAuditFlowV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IWorkflowInnerServiceSMO workflowInnerServiceSMOImpl;
+
+    @Autowired
+    private IOaWorkflowInnerServiceSMO oaWorkflowInnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "flowType", "璇锋眰鎶ユ枃涓湭鍖呭惈flowType");
-Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId");
+        Assert.hasKeyAndValue(reqJson, "flowName", "璇锋眰鎶ユ枃涓湭鍖呭惈flowType");
 
     }
 
     @Override
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+        String storeId = CmdContextUtils.getStoreId(cmdDataFlowContext);
 
-       ResourceAuditFlowPo resourceAuditFlowPo = BeanConvertUtil.covertBean(reqJson, ResourceAuditFlowPo.class);
+        OaWorkflowPo oaWorkflowPo = new OaWorkflowPo();
+        oaWorkflowPo.setStoreId(storeId);
+        oaWorkflowPo.setFlowId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_flowId));
+        oaWorkflowPo.setFlowName(reqJson.getString("flowName") + "瀹℃壒娴佺▼");
+        oaWorkflowPo.setFlowType(OaWorkflowDto.FLOW_TYPE_ITEM_RELEASE);
+
+        //鍒涘缓model
+        WorkflowModelDto workflowModelDto = new WorkflowModelDto();
+        workflowModelDto.setName(oaWorkflowPo.getFlowName());
+        workflowModelDto.setKey(oaWorkflowPo.getFlowId());
+        workflowModelDto = workflowInnerServiceSMOImpl.createModel(workflowModelDto);
+
+        oaWorkflowPo.setModelId(workflowModelDto.getModelId());
+        oaWorkflowPo.setFlowKey(workflowModelDto.getKey());
+        oaWorkflowPo.setState(OaWorkflowDto.STATE_WAIT);
+        int flag = oaWorkflowInnerServiceSMOImpl.saveOaWorkflow(oaWorkflowPo);
+        if (flag < 1) {
+            throw new CmdException("淇濆瓨鏁版嵁澶辫触");
+        }
+
+        ResourceAuditFlowPo resourceAuditFlowPo = BeanConvertUtil.covertBean(reqJson, ResourceAuditFlowPo.class);
+        resourceAuditFlowPo.setStoreId(storeId);
         resourceAuditFlowPo.setRafId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
-        int flag = resourceAuditFlowV1InnerServiceSMOImpl.saveResourceAuditFlow(resourceAuditFlowPo);
+        resourceAuditFlowPo.setFlowId(oaWorkflowPo.getFlowId());
+        flag = resourceAuditFlowV1InnerServiceSMOImpl.saveResourceAuditFlow(resourceAuditFlowPo);
 
         if (flag < 1) {
             throw new CmdException("淇濆瓨鏁版嵁澶辫触");

--
Gitblit v1.8.0