From 7bc074e0641f4afc84cea8dfaeff3eacc3f69b03 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期六, 10 九月 2022 10:58:14 +0800
Subject: [PATCH] 优化代码

---
 service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java |   91 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 79 insertions(+), 12 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 12003a1..db5aff1 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
@@ -11,6 +11,7 @@
 import com.java110.dto.fee.FeeAttrDto;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
+import com.java110.dto.machine.CarBlackWhiteDto;
 import com.java110.dto.machine.CarInoutDetailDto;
 import com.java110.dto.machine.CarInoutDto;
 import com.java110.dto.machine.MachineDto;
@@ -29,6 +30,7 @@
 import com.java110.intf.fee.IFeeInnerServiceSMO;
 import com.java110.intf.fee.ITempCarFeeConfigInnerServiceSMO;
 import com.java110.intf.user.IBuildingOwnerV1InnerServiceSMO;
+import com.java110.intf.user.ICarBlackWhiteV1InnerServiceSMO;
 import com.java110.intf.user.IOwnerCarInnerServiceSMO;
 import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
 import com.java110.po.car.CarInoutDetailPo;
@@ -60,10 +62,10 @@
 @Java110Cmd(serviceCode = "machineTranslate.machineUploadCarLog")
 public class MachineUploadCarLogCmd extends Cmd {
 
-    public static final int CAR_TYPE_MONTH = 0; //鏈堢杞�
+    public static final int CAR_TYPE_MONTH = 1001; //鏈堢杞�
     public static final int CAR_TYPE_SUB = 1; //鎴愬憳杞﹁締
-    public static final int CAR_TYPE_TEMP = 2; //涓存椂杞﹁締
-    public static final int CAR_TYPE_NO_DATA = 3; //娌℃湁鏁版嵁
+    public static final int CAR_TYPE_TEMP = 1003; //涓存椂杞﹁締
+    public static final String CAR_TYPE_NO_DATA = "3"; //娌℃湁鏁版嵁
 
     public static final String TEMP_CAR_OWNER = "涓存椂杞﹁溅涓�";
 
@@ -109,6 +111,9 @@
     @Autowired
     private IParkingBoxAreaV1InnerServiceSMO parkingBoxAreaV1InnerServiceSMOImpl;
 
+    @Autowired
+    private ICarBlackWhiteV1InnerServiceSMO carBlackWhiteV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "machineCode", "蹇呭~锛岃濉啓璁惧缂栫爜");
@@ -121,7 +126,8 @@
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
         //鏄惁鏄复鏃惰溅
-        int tempCar = CAR_TYPE_MONTH;
+        String tempCar = OwnerCarDto.LEASE_TYPE_TEMP;
+        String tempCarName ="涓存椂杞�";
 
 
         //鏌ヨ璁惧淇℃伅
@@ -141,18 +147,28 @@
         //璇存槑鏄复鏃惰溅
         if (ownerCarDtos == null || ownerCarDtos.size() == 0) {
             tempCar = CAR_TYPE_NO_DATA;
+            tempCarName = "涓存椂杞�";
         } else {
             reqJson.put("carId", ownerCarDtos.get(0).getCarId());
-            if (OwnerCarDto.CAR_TYPE_TEMP.equals(ownerCarDtos.get(0).getCarTypeCd())) {
-                tempCar = CAR_TYPE_TEMP;
+            tempCar = ownerCarDtos.get(0).getLeaseType();
+            tempCarName = ownerCarDtos.get(0).getLeaseTypeName();
+            if(ownerCarDtos.size()>1){
+                for(OwnerCarDto tmpOwnerCarDto : ownerCarDtos){
+                    if(OwnerCarDto.LEASE_TYPE_TEMP.equals(tmpOwnerCarDto.getLeaseType())){
+                       continue;
+                    }
+                    tempCar = tmpOwnerCarDto.getLeaseType();
+                    tempCarName = tmpOwnerCarDto.getLeaseTypeName();
+                }
             }
         }
 
+
         //杩涘満澶勭悊
         if (MachineDto.DIRECTION_IN.equals(machineDtos.get(0).getDirection())) {
-            carIn(reqJson, machineDtos.get(0), tempCar);
+            carIn(reqJson, machineDtos.get(0), tempCar,tempCarName);
         } else {
-            carOut(reqJson, machineDtos.get(0), tempCar);
+            carOut(reqJson, machineDtos.get(0), tempCar,tempCarName);
         }
 
     }
@@ -164,7 +180,7 @@
      * @param machineDto
      * @param tempCar
      */
-    private void carOut(JSONObject reqJson, MachineDto machineDto, int tempCar) {
+    private void carOut(JSONObject reqJson, MachineDto machineDto, String tempCar,String tempCarName) {
 
         String state = CarInoutDto.STATE_OUT;
         //杩涘満澶辫触璁板綍
@@ -177,6 +193,7 @@
         if (MachineDto.MACHINE_TYPE_CAR.equals(machineDto.getMachineTypeCd())) {
             ParkingBoxAreaDto parkingBoxAreaDto = new ParkingBoxAreaDto();
             parkingBoxAreaDto.setBoxId(machineDto.getLocationObjId());
+            parkingBoxAreaDto.setDefaultArea(ParkingBoxAreaDto.DEFAULT_AREA_TRUE);
             List<ParkingBoxAreaDto> parkingBoxAreaDtos = parkingBoxAreaV1InnerServiceSMOImpl.queryParkingBoxAreas(parkingBoxAreaDto);
             if (parkingBoxAreaDtos == null || parkingBoxAreaDtos.size() < 1) {
                 throw new CmdException("宀椾涵鏈厤缃仠杞﹀満" + machineDto.getLocationObjId());
@@ -212,6 +229,8 @@
             carInoutDetailPo.setPaId(paId);
             carInoutDetailPo.setRemark(reqJson.getString("remark"));
             carInoutDetailPo.setState(state);
+            carInoutDetailPo.setCarType(CAR_TYPE_NO_DATA.equals(tempCar) ? OwnerCarDto.LEASE_TYPE_TEMP + "" : tempCar + "");
+            carInoutDetailPo.setCarTypeName(CAR_TYPE_NO_DATA.equals(tempCar) ? "涓存椂杞�" : tempCarName);
             int flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
             if (flag < 1) {
                 throw new CmdException("淇濆瓨鍑鸿褰曟槑缁嗗け璐�");
@@ -233,7 +252,30 @@
         carInoutDetailPo.setMachineId(machineDto.getMachineId());
         carInoutDetailPo.setPaId(carInoutDtos.get(0).getPaId());
         carInoutDetailPo.setRemark(reqJson.getString("remark"));
+        carInoutDetailPo.setPhotoJpg(reqJson.getString("photoJpg"));
         carInoutDetailPo.setState(state);
+        if(CAR_TYPE_NO_DATA.equals(tempCar)){
+            carInoutDetailPo.setCarType(OwnerCarDto.LEASE_TYPE_TEMP);
+            carInoutDetailPo.setCarTypeName("涓存椂杞�");
+            //妫�鏌ユ槸鍚︿负榛戠櫧鍚嶅崟
+            CarBlackWhiteDto carBlackWhiteDto = new CarBlackWhiteDto();
+            carBlackWhiteDto.setCarNum(reqJson.getString("carNum"));
+            carBlackWhiteDto.setPaId(carInoutDtos.get(0).getPaId());
+            carBlackWhiteDto.setValidity("Y");
+            List<CarBlackWhiteDto> carBlackWhiteDtos = carBlackWhiteV1InnerServiceSMOImpl.queryCarBlackWhites(carBlackWhiteDto);
+            if(carBlackWhiteDtos != null && carBlackWhiteDtos.size() >0 ){
+                if(CarBlackWhiteDto.BLACK_WHITE_BLACK.equals(carBlackWhiteDtos.get(0).getBlackWhite())){
+                    carInoutDetailPo.setCarType("B");
+                    carInoutDetailPo.setCarTypeName("榛戝悕鍗�");
+                }else{
+                    carInoutDetailPo.setCarType("W");
+                    carInoutDetailPo.setCarTypeName("鐧藉悕鍗�");
+                }
+            }
+        }else{
+            carInoutDetailPo.setCarType(tempCar);
+            carInoutDetailPo.setCarTypeName(tempCarName);
+        }
         int flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
 
         if (flag < 1) {
@@ -357,7 +399,7 @@
      * @param machineDto
      * @param tempCar
      */
-    private void carIn(JSONObject reqJson, MachineDto machineDto, int tempCar) {
+    private void carIn(JSONObject reqJson, MachineDto machineDto, String tempCar,String tempCarName) {
         String state = CarInoutDto.STATE_IN;
         //杩涘満澶辫触璁板綍
         if (reqJson.containsKey("state") && "5".equals(reqJson.getString("state"))) {
@@ -369,6 +411,7 @@
         if (MachineDto.MACHINE_TYPE_CAR.equals(machineDto.getMachineTypeCd())) {
             ParkingBoxAreaDto parkingBoxAreaDto = new ParkingBoxAreaDto();
             parkingBoxAreaDto.setBoxId(machineDto.getLocationObjId());
+            parkingBoxAreaDto.setDefaultArea(ParkingBoxAreaDto.DEFAULT_AREA_TRUE);
             List<ParkingBoxAreaDto> parkingBoxAreaDtos = parkingBoxAreaV1InnerServiceSMOImpl.queryParkingBoxAreas(parkingBoxAreaDto);
             if (parkingBoxAreaDtos == null || parkingBoxAreaDtos.size() < 1) {
                 throw new CmdException("宀椾涵鏈厤缃仠杞﹀満" + machineDto.getLocationObjId());
@@ -403,13 +446,36 @@
         carInoutDetailPo.setPaId(paId);
         carInoutDetailPo.setState(state);
         carInoutDetailPo.setRemark(reqJson.getString("remark"));
+        carInoutDetailPo.setPhotoJpg(reqJson.getString("photoJpg"));
+        if(CAR_TYPE_NO_DATA.equals(tempCar)){
+            carInoutDetailPo.setCarType(OwnerCarDto.LEASE_TYPE_TEMP);
+            carInoutDetailPo.setCarTypeName("涓存椂杞�");
+            //妫�鏌ユ槸鍚︿负榛戠櫧鍚嶅崟
+            CarBlackWhiteDto carBlackWhiteDto = new CarBlackWhiteDto();
+            carBlackWhiteDto.setCarNum(reqJson.getString("carNum"));
+            carBlackWhiteDto.setPaId(paId);
+            carBlackWhiteDto.setValidity("Y");
+            List<CarBlackWhiteDto> carBlackWhiteDtos = carBlackWhiteV1InnerServiceSMOImpl.queryCarBlackWhites(carBlackWhiteDto);
+            if(carBlackWhiteDtos != null && carBlackWhiteDtos.size() >0 ){
+                if(CarBlackWhiteDto.BLACK_WHITE_BLACK.equals(carBlackWhiteDtos.get(0).getBlackWhite())){
+                    carInoutDetailPo.setCarType("B");
+                    carInoutDetailPo.setCarTypeName("榛戝悕鍗�");
+                }else{
+                    carInoutDetailPo.setCarType("W");
+                    carInoutDetailPo.setCarTypeName("鐧藉悕鍗�");
+                }
+            }
+        }else{
+            carInoutDetailPo.setCarType(tempCar);
+            carInoutDetailPo.setCarTypeName(tempCarName);
+        }
         flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
 
         if (flag < 1) {
             throw new CmdException("淇濆瓨鍏ヨ褰曟槑缁嗗け璐�");
         }
         //鏈堢杞�
-        if (tempCar != CAR_TYPE_NO_DATA && tempCar != CAR_TYPE_TEMP) {
+        if (!OwnerCarDto.LEASE_TYPE_TEMP.equals(carInoutDetailPo.getCarType())) {
             return;
         }
 
@@ -431,7 +497,7 @@
         } else {
             reqJson.put("ownerId", ownerDtos.get(0).getMemberId());
         }
-        if (tempCar == CAR_TYPE_NO_DATA) {
+        if (CAR_TYPE_NO_DATA.equals(tempCar)) {
             saveTempCar(reqJson, machineDto);
         }
 
@@ -581,6 +647,7 @@
         ownerCarPo.setRemark("涓存椂杞� 鐗╄仈缃戝悓姝�");
         ownerCarPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
         ownerCarPo.setUserId("-1");
+        ownerCarPo.setLeaseType(OwnerCarDto.LEASE_TYPE_TEMP);
         int flag = ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo);
 
         if (flag < 1) {

--
Gitblit v1.8.0