From 05ccec5517b291c5f642b351661f2d5efb214447 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 25 八月 2022 14:32:16 +0800
Subject: [PATCH] 优化代码

---
 service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java |  149 ++++++++++++++++++++++++++++++-------------------
 1 files changed, 92 insertions(+), 57 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 8db8caf..12003a1 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
@@ -165,13 +165,21 @@
      * @param tempCar
      */
     private void carOut(JSONObject reqJson, MachineDto machineDto, int tempCar) {
+
+        String state = CarInoutDto.STATE_OUT;
+        //杩涘満澶辫触璁板綍
+        if (reqJson.containsKey("state") && "5".equals(reqJson.getString("state"))) {
+            state = CarInoutDto.STATE_IN_FAIL;
+        }
+
+
         String paId = "";
-        if(MachineDto.MACHINE_TYPE_CAR.equals(machineDto.getMachineTypeCd())){
+        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());
+            if (parkingBoxAreaDtos == null || parkingBoxAreaDtos.size() < 1) {
+                throw new CmdException("宀椾涵鏈厤缃仠杞﹀満" + machineDto.getLocationObjId());
             }
             paId = parkingBoxAreaDtos.get(0).getPaId();
         }
@@ -187,13 +195,32 @@
         });
         List<CarInoutDto> carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(carInoutDto);
 
+        // 娌℃湁杩涘満璁板綍
         if (carInoutDtos == null || carInoutDtos.size() < 1) {
             //鍙兘杞﹁締寮傚父鎯呭喌 娌℃湁 杩涘満 琛ュ厖杩涘満璁板綍
             reqJson.put("inTime", reqJson.getString("outTime"));
-            carIn(reqJson, machineDto, tempCar);
-            carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(carInoutDto);
+            //carIn(reqJson, machineDto, tempCar);
+            //淇濆瓨鍑哄満鏄庣粏
+            CarInoutDetailPo carInoutDetailPo = new CarInoutDetailPo();
+            carInoutDetailPo.setCarInout(CarInoutDetailDto.CAR_INOUT_OUT);
+            carInoutDetailPo.setCarNum(reqJson.getString("carNum"));
+            carInoutDetailPo.setCommunityId(reqJson.getString("communityId"));
+            carInoutDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+            carInoutDetailPo.setInoutId("-1");
+            carInoutDetailPo.setMachineCode(machineDto.getMachineCode());
+            carInoutDetailPo.setMachineId(machineDto.getMachineId());
+            carInoutDetailPo.setPaId(paId);
+            carInoutDetailPo.setRemark(reqJson.getString("remark"));
+            carInoutDetailPo.setState(state);
+            int flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
+            if (flag < 1) {
+                throw new CmdException("淇濆瓨鍑鸿褰曟槑缁嗗け璐�");
+            }
+            //鍑哄満澶辫触浜�
+            if (CarInoutDto.STATE_IN_FAIL.equals(state)) {
+                return;
+            }
         }
-
 
         //淇濆瓨鍑哄満鏄庣粏
         CarInoutDetailPo carInoutDetailPo = new CarInoutDetailPo();
@@ -205,10 +232,17 @@
         carInoutDetailPo.setMachineCode(machineDto.getMachineCode());
         carInoutDetailPo.setMachineId(machineDto.getMachineId());
         carInoutDetailPo.setPaId(carInoutDtos.get(0).getPaId());
+        carInoutDetailPo.setRemark(reqJson.getString("remark"));
+        carInoutDetailPo.setState(state);
         int flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
 
         if (flag < 1) {
             throw new CmdException("淇濆瓨鍑鸿褰曟槑缁嗗け璐�");
+        }
+
+        //鍑哄満澶辫触浜�
+        if (CarInoutDto.STATE_IN_FAIL.equals(state)) {
+            return;
         }
 
         //灏嗙姸鎬佹洿鏂颁负 鍑哄満鐘舵��
@@ -226,53 +260,53 @@
         }
 
         //鍐欐敮浠樿褰�
-        CarInoutPaymentPo carInoutPaymentPo = new CarInoutPaymentPo();
-        carInoutPaymentPo.setPaymentId(GenerateCodeFactory.getGeneratorId("10"));
-        carInoutPaymentPo.setCommunityId(carInoutDtos.get(0).getCommunityId());
-        carInoutPaymentPo.setInoutId(carInoutDtos.get(0).getInoutId());
-        carInoutPaymentPo.setPaId(carInoutDtos.get(0).getPaId());
-        carInoutPaymentPo.setPayCharge(reqJson.getString("payCharge"));
-        carInoutPaymentPo.setPayType(reqJson.getString("payType"));
-        carInoutPaymentPo.setRealCharge(reqJson.getString("realCharge"));
-        flag = carInoutPaymentV1InnerServiceSMOImpl.saveCarInoutPayment(carInoutPaymentPo);
-        if (flag < 1) {
-            throw new CmdException("鏇存柊鍑哄満鏃堕棿澶辫触");
-        }
-
-        //鏈堢杞�
-        if (tempCar != CAR_TYPE_NO_DATA && tempCar != CAR_TYPE_TEMP) {
-            return;
-        }
-
-        //濡傛灉鏈夎垂鐢� 鍒欑即璐�
-        boolean hasFee = hasFeeAndPayFee(carInoutDtos.get(0), reqJson, carInoutPo, carInoutPaymentPo);
-
-        double realCharge = Double.parseDouble(carInoutPaymentPo.getRealCharge());
-
-        //鏈夎垂鐢� 鎴栬�� 缂磋垂涓�0 鏃剁粨鏉�
-        if (hasFee || realCharge == 0) {
-            return;
-        }
-        // 鍒ゆ柇鏄惁瀛樺湪 涓存椂杞� 铏氭嫙涓氫富
-        OwnerDto ownerDto = new OwnerDto();
-        ownerDto.setCommunityId(reqJson.getString("communityId"));
-        ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
-        ownerDto.setOwnerFlag(OwnerDto.OWNER_FLAG_FALSE);
-        ownerDto.setName(TEMP_CAR_OWNER);
-        List<OwnerDto> ownerDtos = buildingOwnerV1InnerServiceSMOImpl.queryBuildingOwners(ownerDto);
-        if (ownerDtos == null || ownerDtos.size() < 1) {
-            return;
-        }
-        JSONObject paramIn = new JSONObject();
-        paramIn.put("inTime", carInoutDtos.get(0).getInTime());
-        paramIn.put("carId", reqJson.getString("carId"));
-        paramIn.put("communityId", carInoutDtos.get(0).getCommunityId());
-        paramIn.put("inoutId", carInoutDtos.get(0).getInoutId());
-        paramIn.put("ownerId", ownerDtos.get(0).getMemberId());
-        saveTempCarFee(paramIn, machineDto);
-
-        //鍐嶅幓缂磋垂
-        hasFeeAndPayFee(carInoutDtos.get(0), reqJson, carInoutPo, carInoutPaymentPo);
+//        CarInoutPaymentPo carInoutPaymentPo = new CarInoutPaymentPo();
+//        carInoutPaymentPo.setPaymentId(GenerateCodeFactory.getGeneratorId("10"));
+//        carInoutPaymentPo.setCommunityId(carInoutDtos.get(0).getCommunityId());
+//        carInoutPaymentPo.setInoutId(carInoutDtos.get(0).getInoutId());
+//        carInoutPaymentPo.setPaId(carInoutDtos.get(0).getPaId());
+//        carInoutPaymentPo.setPayCharge(reqJson.getString("payCharge"));
+//        carInoutPaymentPo.setPayType(reqJson.getString("payType"));
+//        carInoutPaymentPo.setRealCharge(reqJson.getString("realCharge"));
+//        flag = carInoutPaymentV1InnerServiceSMOImpl.saveCarInoutPayment(carInoutPaymentPo);
+//        if (flag < 1) {
+//            throw new CmdException("鏇存柊鍑哄満鏃堕棿澶辫触");
+//        }
+//
+//        //鏈堢杞�
+//        if (tempCar != CAR_TYPE_NO_DATA && tempCar != CAR_TYPE_TEMP) {
+//            return;
+//        }
+//
+//        //濡傛灉鏈夎垂鐢� 鍒欑即璐�
+//        boolean hasFee = hasFeeAndPayFee(carInoutDtos.get(0), reqJson, carInoutPo, carInoutPaymentPo);
+//
+//        double realCharge = Double.parseDouble(carInoutPaymentPo.getRealCharge());
+//
+//        //鏈夎垂鐢� 鎴栬�� 缂磋垂涓�0 鏃剁粨鏉�
+//        if (hasFee || realCharge == 0) {
+//            return;
+//        }
+//        // 鍒ゆ柇鏄惁瀛樺湪 涓存椂杞� 铏氭嫙涓氫富
+//        OwnerDto ownerDto = new OwnerDto();
+//        ownerDto.setCommunityId(reqJson.getString("communityId"));
+//        ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
+//        ownerDto.setOwnerFlag(OwnerDto.OWNER_FLAG_FALSE);
+//        ownerDto.setName(TEMP_CAR_OWNER);
+//        List<OwnerDto> ownerDtos = buildingOwnerV1InnerServiceSMOImpl.queryBuildingOwners(ownerDto);
+//        if (ownerDtos == null || ownerDtos.size() < 1) {
+//            return;
+//        }
+//        JSONObject paramIn = new JSONObject();
+//        paramIn.put("inTime", carInoutDtos.get(0).getInTime());
+//        paramIn.put("carId", reqJson.getString("carId"));
+//        paramIn.put("communityId", carInoutDtos.get(0).getCommunityId());
+//        paramIn.put("inoutId", carInoutDtos.get(0).getInoutId());
+//        paramIn.put("ownerId", ownerDtos.get(0).getMemberId());
+//        saveTempCarFee(paramIn, machineDto);
+//
+//        //鍐嶅幓缂磋垂
+//        hasFeeAndPayFee(carInoutDtos.get(0), reqJson, carInoutPo, carInoutPaymentPo);
     }
 
     private boolean hasFeeAndPayFee(CarInoutDto carInoutDto, JSONObject reqJson, CarInoutPo carInoutPo, CarInoutPaymentPo carInoutPaymentPo) {
@@ -326,18 +360,18 @@
     private void carIn(JSONObject reqJson, MachineDto machineDto, int tempCar) {
         String state = CarInoutDto.STATE_IN;
         //杩涘満澶辫触璁板綍
-        if(reqJson.containsKey("state") && "5".equals(reqJson.getString("state"))){
+        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())){
+        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());
+            if (parkingBoxAreaDtos == null || parkingBoxAreaDtos.size() < 1) {
+                throw new CmdException("宀椾涵鏈厤缃仠杞﹀満" + machineDto.getLocationObjId());
             }
             paId = parkingBoxAreaDtos.get(0).getPaId();
         }
@@ -367,6 +401,7 @@
         carInoutDetailPo.setMachineCode(machineDto.getMachineCode());
         carInoutDetailPo.setMachineId(machineDto.getMachineId());
         carInoutDetailPo.setPaId(paId);
+        carInoutDetailPo.setState(state);
         carInoutDetailPo.setRemark(reqJson.getString("remark"));
         flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
 

--
Gitblit v1.8.0