From 0b04f664887c73e90bf684a4e69c0fdbfe26349d Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 29 三月 2023 13:35:20 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-community/src/main/java/com/java110/community/cmd/visit/SaveVisitSettingCmd.java |   48 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 41 insertions(+), 7 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 50100ad..f891f39 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
@@ -23,19 +23,27 @@
 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.IParkingAreaInnerServiceSMO;
 import com.java110.intf.community.IVisitSettingV1InnerServiceSMO;
 import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
+import com.java110.intf.oa.IOaWorkflowXmlInnerServiceSMO;
 import com.java110.po.oaWorkflow.OaWorkflowPo;
+import com.java110.po.oaWorkflowXml.OaWorkflowXmlPo;
 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.BpmnXml;
+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;
 
 /**
  * 绫昏〃杩帮細淇濆瓨
@@ -63,33 +71,37 @@
     @Autowired
     private IOaWorkflowInnerServiceSMO oaWorkflowInnerServiceSMOImpl;
 
+    @Autowired
+    private IOaWorkflowXmlInnerServiceSMO oaWorkflowXmlInnerServiceSMOImpl;
+
+    @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");
-
     }
 
     @Override
     @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.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);
@@ -98,16 +110,38 @@
             throw new CmdException("淇濆瓨鏁版嵁澶辫触");
         }
 
+        //榛樿 娴佺▼鍥句互闃茬敾閿�
+        OaWorkflowXmlPo oaWorkflowXmlPo = new OaWorkflowXmlPo();
+        oaWorkflowXmlPo.setStoreId(storeId);
+        oaWorkflowXmlPo.setFlowId(oaWorkflowPo.getFlowId());
+        oaWorkflowXmlPo.setXmlId(GenerateCodeFactory.getGeneratorId("79"));
+        oaWorkflowXmlPo.setSvgXml("");
+        oaWorkflowXmlPo.setBpmnXml(BpmnXml.getDefaultVisitBpmnXml(oaWorkflowPo.getFlowId()));
+
+        flag = oaWorkflowXmlInnerServiceSMOImpl.saveOaWorkflowXml(oaWorkflowXmlPo);
+        if (flag < 1) {
+            throw new CmdException("淇濆瓨妯″瀷鏁版嵁澶辫触");
+        }
+
         VisitSettingPo visitSettingPo = BeanConvertUtil.covertBean(reqJson, VisitSettingPo.class);
         visitSettingPo.setSettingId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
         visitSettingPo.setFlowId(oaWorkflowPo.getFlowId());
         visitSettingPo.setFlowName(oaWorkflowPo.getFlowName());
+        if (StringUtil.isEmpty(reqJson.getString("visitNumber"))) {
+            visitSettingPo.setVisitNumber("0");
+        }
+        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("淇濆瓨鏁版嵁澶辫触");
         }
-
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

--
Gitblit v1.8.0