From 31707bfd1202fd1211b0b48ad1ab1bd0cf552955 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 25 八月 2022 11:39:03 +0800
Subject: [PATCH] 优化diamante

---
 service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java |   49 ++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 42 insertions(+), 7 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java b/service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java
index f495e8a..8db8caf 100644
--- a/service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java
+++ b/service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java
@@ -4,7 +4,7 @@
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.context.ICmdDataFlowContext;
-import com.java110.core.event.cmd.AbstractServiceCmdListener;
+import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.CommunityMemberDto;
@@ -16,12 +16,14 @@
 import com.java110.dto.machine.MachineDto;
 import com.java110.dto.owner.OwnerCarDto;
 import com.java110.dto.owner.OwnerDto;
+import com.java110.dto.parkingBoxArea.ParkingBoxAreaDto;
 import com.java110.dto.tempCarFeeConfig.TempCarFeeConfigDto;
 import com.java110.intf.common.ICarInoutDetailV1InnerServiceSMO;
 import com.java110.intf.common.ICarInoutPaymentV1InnerServiceSMO;
 import com.java110.intf.common.ICarInoutV1InnerServiceSMO;
 import com.java110.intf.common.IMachineInnerServiceSMO;
 import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.intf.community.IParkingBoxAreaV1InnerServiceSMO;
 import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
 import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
 import com.java110.intf.fee.IFeeInnerServiceSMO;
@@ -56,7 +58,7 @@
  * // modify by 寮犱笁 at 2021-09-12 绗�10琛屽湪鏌愮鍦烘櫙涓嬪瓨鍦ㄦ煇绉峛ug 闇�瑕佷慨澶嶏紝娉ㄩ噴10鑷�20琛� 鍔犲叆 20琛岃嚦30琛�
  */
 @Java110Cmd(serviceCode = "machineTranslate.machineUploadCarLog")
-public class MachineUploadCarLogCmd extends AbstractServiceCmdListener {
+public class MachineUploadCarLogCmd extends Cmd {
 
     public static final int CAR_TYPE_MONTH = 0; //鏈堢杞�
     public static final int CAR_TYPE_SUB = 1; //鎴愬憳杞﹁締
@@ -103,6 +105,9 @@
 
     @Autowired
     private IFeeDetailInnerServiceSMO feeDetailInnerServiceSMOImpl;
+
+    @Autowired
+    private IParkingBoxAreaV1InnerServiceSMO parkingBoxAreaV1InnerServiceSMOImpl;
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
@@ -160,11 +165,21 @@
      * @param tempCar
      */
     private void carOut(JSONObject reqJson, MachineDto machineDto, int tempCar) {
+        String paId = "";
+        if(MachineDto.MACHINE_TYPE_CAR.equals(machineDto.getMachineTypeCd())){
+            ParkingBoxAreaDto parkingBoxAreaDto = new ParkingBoxAreaDto();
+            parkingBoxAreaDto.setBoxId(machineDto.getLocationObjId());
+            List<ParkingBoxAreaDto> parkingBoxAreaDtos = parkingBoxAreaV1InnerServiceSMOImpl.queryParkingBoxAreas(parkingBoxAreaDto);
+            if(parkingBoxAreaDtos == null || parkingBoxAreaDtos.size() < 1){
+                throw new CmdException("宀椾涵鏈厤缃仠杞﹀満"+machineDto.getLocationObjId());
+            }
+            paId = parkingBoxAreaDtos.get(0).getPaId();
+        }
 
         CarInoutDto carInoutDto = new CarInoutDto();
         carInoutDto.setCommunityId(reqJson.getString("communityId"));
         carInoutDto.setCarNum(reqJson.getString("carNum"));
-        carInoutDto.setPaId(machineDto.getLocationObjId());
+        carInoutDto.setPaId(paId);
         carInoutDto.setStates(new String[]{
                 CarInoutDto.STATE_IN,
                 CarInoutDto.STATE_PAY,
@@ -179,6 +194,7 @@
             carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(carInoutDto);
         }
 
+
         //淇濆瓨鍑哄満鏄庣粏
         CarInoutDetailPo carInoutDetailPo = new CarInoutDetailPo();
         carInoutDetailPo.setCarInout(CarInoutDetailDto.CAR_INOUT_OUT);
@@ -188,7 +204,7 @@
         carInoutDetailPo.setInoutId(carInoutDtos.get(0).getInoutId());
         carInoutDetailPo.setMachineCode(machineDto.getMachineCode());
         carInoutDetailPo.setMachineId(machineDto.getMachineId());
-        carInoutDetailPo.setPaId(machineDto.getLocationObjId());
+        carInoutDetailPo.setPaId(carInoutDtos.get(0).getPaId());
         int flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
 
         if (flag < 1) {
@@ -308,14 +324,32 @@
      * @param tempCar
      */
     private void carIn(JSONObject reqJson, MachineDto machineDto, int tempCar) {
+        String state = CarInoutDto.STATE_IN;
+        //杩涘満澶辫触璁板綍
+        if(reqJson.containsKey("state") && "5".equals(reqJson.getString("state"))){
+            state = CarInoutDto.STATE_IN_FAIL;
+        }
+
+        String paId = machineDto.getLocationObjId();
+
+        if(MachineDto.MACHINE_TYPE_CAR.equals(machineDto.getMachineTypeCd())){
+            ParkingBoxAreaDto parkingBoxAreaDto = new ParkingBoxAreaDto();
+            parkingBoxAreaDto.setBoxId(machineDto.getLocationObjId());
+            List<ParkingBoxAreaDto> parkingBoxAreaDtos = parkingBoxAreaV1InnerServiceSMOImpl.queryParkingBoxAreas(parkingBoxAreaDto);
+            if(parkingBoxAreaDtos == null || parkingBoxAreaDtos.size() < 1){
+                throw new CmdException("宀椾涵鏈厤缃仠杞﹀満"+machineDto.getLocationObjId());
+            }
+            paId = parkingBoxAreaDtos.get(0).getPaId();
+        }
+
         //淇濆瓨
         CarInoutPo carInoutPo = new CarInoutPo();
         carInoutPo.setCarNum(reqJson.getString("carNum"));
         carInoutPo.setCommunityId(reqJson.getString("communityId"));
         carInoutPo.setInoutId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
         carInoutPo.setInTime(reqJson.getString("inTime"));
-        carInoutPo.setState(CarInoutDto.STATE_IN);
-        carInoutPo.setPaId(machineDto.getLocationObjId());
+        carInoutPo.setState(state);
+        carInoutPo.setPaId(paId);
         int flag = carInoutV1InnerServiceSMOImpl.saveCarInout(carInoutPo);
 
         if (flag < 1) {
@@ -332,7 +366,8 @@
         carInoutDetailPo.setInoutId(carInoutPo.getInoutId());
         carInoutDetailPo.setMachineCode(machineDto.getMachineCode());
         carInoutDetailPo.setMachineId(machineDto.getMachineId());
-        carInoutDetailPo.setPaId(machineDto.getLocationObjId());
+        carInoutDetailPo.setPaId(paId);
+        carInoutDetailPo.setRemark(reqJson.getString("remark"));
         flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
 
         if (flag < 1) {

--
Gitblit v1.8.0