From 53e62f2fedb2506793620454df0e9b5bcdfeaf96 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期一, 23 一月 2023 18:47:22 +0800
Subject: [PATCH] 访客设置加入停车场功能

---
 service-community/src/main/java/com/java110/community/cmd/visit/SaveVisitSettingCmd.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 56 insertions(+), 1 deletions(-)

diff --git a/service-community/src/main/java/com/java110/community/cmd/visit/SaveVisitSettingCmd.java b/service-community/src/main/java/com/java110/community/cmd/visit/SaveVisitSettingCmd.java
index cbe43f1..012c538 100644
--- a/service-community/src/main/java/com/java110/community/cmd/visit/SaveVisitSettingCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/visit/SaveVisitSettingCmd.java
@@ -22,15 +22,26 @@
 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.parking.ParkingAreaDto;
+import com.java110.dto.workflow.WorkflowModelDto;
+import com.java110.intf.common.IWorkflowInnerServiceSMO;
+import com.java110.intf.community.IParkingAreaAttrInnerServiceSMO;
+import com.java110.intf.community.IParkingAreaInnerServiceSMO;
 import com.java110.intf.community.IVisitSettingV1InnerServiceSMO;
+import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
+import com.java110.po.oaWorkflow.OaWorkflowPo;
 import com.java110.po.visitSetting.VisitSettingPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
+import java.util.List;
 
 /**
  * 绫昏〃杩帮細淇濆瓨
@@ -52,11 +63,21 @@
     @Autowired
     private IVisitSettingV1InnerServiceSMO visitSettingV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IWorkflowInnerServiceSMO workflowInnerServiceSMOImpl;
+
+    @Autowired
+    private IOaWorkflowInnerServiceSMO oaWorkflowInnerServiceSMOImpl;
+
+    @Autowired
+    private IParkingAreaInnerServiceSMO parkingAreaInnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "typeName", "璇锋眰鎶ユ枃涓湭鍖呭惈typeName");
         Assert.hasKeyAndValue(reqJson, "faceWay", "璇锋眰鎶ユ枃涓湭鍖呭惈faceWay");
         Assert.hasKeyAndValue(reqJson, "carNumWay", "璇锋眰鎶ユ枃涓湭鍖呭惈carNumWay");
+        Assert.hasKeyAndValue(reqJson, "paId", "璇锋眰鎶ユ枃涓湭鍖呭惈paId");
         Assert.hasKeyAndValue(reqJson, "auditWay", "璇锋眰鎶ユ枃涓湭鍖呭惈auditWay");
         Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
 
@@ -66,9 +87,43 @@
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
+        String storeId = cmdDataFlowContext.getReqHeaders().get("store-id");
+        OaWorkflowPo oaWorkflowPo = new OaWorkflowPo();
+        oaWorkflowPo.setStoreId(storeId);
+        oaWorkflowPo.setFlowId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_flowId));
+        oaWorkflowPo.setFlowName(reqJson.getString("typeName")+"瀹℃壒娴佺▼");
+        oaWorkflowPo.setFlowType(OaWorkflowDto.FLOW_TYPE_VISIT);
+
+        //鍒涘缓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("淇濆瓨鏁版嵁澶辫触");
+        }
+
+
+
         VisitSettingPo visitSettingPo = BeanConvertUtil.covertBean(reqJson, VisitSettingPo.class);
         visitSettingPo.setSettingId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
-        int flag = visitSettingV1InnerServiceSMOImpl.saveVisitSetting(visitSettingPo);
+        visitSettingPo.setFlowId(oaWorkflowPo.getFlowId());
+        visitSettingPo.setFlowName(oaWorkflowPo.getFlowName());
+
+        if(!StringUtil.isEmpty(visitSettingPo.getPaId())) {
+            ParkingAreaDto parkingAreaDto = new ParkingAreaDto();
+            parkingAreaDto.setCommunityId(reqJson.getString("communityId"));
+            parkingAreaDto.setPaId(reqJson.getString("paId"));
+            List<ParkingAreaDto> parkingAreaDtos = parkingAreaInnerServiceSMOImpl.queryParkingAreas(parkingAreaDto);
+            Assert.listOnlyOne(parkingAreaDtos, "鍋滆溅鍦轰笉瀛樺湪");
+            visitSettingPo.setPaNum(parkingAreaDtos.get(0).getNum());
+        }
+        flag = visitSettingV1InnerServiceSMOImpl.saveVisitSetting(visitSettingPo);
 
         if (flag < 1) {
             throw new CmdException("淇濆瓨鏁版嵁澶辫触");

--
Gitblit v1.8.0