From e588be4ef728ddb9edd77adbae5a28493b85a6af Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 07 六月 2022 17:59:49 +0800
Subject: [PATCH] 优化 流程 信息

---
 service-common/src/main/java/com/java110/common/cmd/carInout/ListCarInParkingAreaCmd.java |   63 +++++++++++++++++++++++++++++--
 1 files changed, 58 insertions(+), 5 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/cmd/carInout/ListCarInParkingAreaCmd.java b/service-common/src/main/java/com/java110/common/cmd/carInout/ListCarInParkingAreaCmd.java
index c0c8c67..fad8879 100644
--- a/service-common/src/main/java/com/java110/common/cmd/carInout/ListCarInParkingAreaCmd.java
+++ b/service-common/src/main/java/com/java110/common/cmd/carInout/ListCarInParkingAreaCmd.java
@@ -20,15 +20,24 @@
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.AbstractServiceCmdListener;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.smo.IComputeFeeSMO;
 import com.java110.dto.machine.CarInoutDto;
-import com.java110.intf.common.ICarInoutInnerServiceSMO;
+import com.java110.dto.parkingBoxArea.ParkingBoxAreaDto;
+import com.java110.intf.common.ICarInoutV1InnerServiceSMO;
+import com.java110.intf.community.IParkingBoxAreaV1InnerServiceSMO;
 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.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 绫昏〃杩帮細鏌ヨ 鍦ㄥ満杞﹁締
@@ -46,7 +55,13 @@
     private static Logger logger = LoggerFactory.getLogger(ListCarInParkingAreaCmd.class);
 
     @Autowired
-    private ICarInoutInnerServiceSMO carInoutInnerServiceSMOImpl;
+    private ICarInoutV1InnerServiceSMO carInoutV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IParkingBoxAreaV1InnerServiceSMO parkingBoxAreaV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IComputeFeeSMO computeFeeSMOImpl;
 
 
     @Override
@@ -58,9 +73,47 @@
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
         CarInoutDto carInoutDto = BeanConvertUtil.covertBean(reqJson, CarInoutDto.class);
+        carInoutDto.setStates(new String[]{CarInoutDto.STATE_IN, CarInoutDto.STATE_PAY, CarInoutDto.STATE_REPAY});
+        carInoutDto.setPaIds(getPaIds(reqJson));
+        int count = carInoutV1InnerServiceSMOImpl.queryCarInoutsCount(carInoutDto);
 
-        //carInoutInnerServiceSMOImpl.queryCarInCount(carInoutDto);
+        List<CarInoutDto> carInoutDtos = null;
 
-        cmdDataFlowContext.setResponseEntity(ResultVo.success());
+        if (count > 0) {
+            carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(carInoutDto);
+            carInoutDtos = computeCarInouts(carInoutDtos);
+        } else {
+            carInoutDtos = new ArrayList<>();
+        }
+
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, carInoutDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        cmdDataFlowContext.setResponseEntity(responseEntity);
+    }
+
+    private String[] getPaIds(JSONObject reqJson) {
+        if (reqJson.containsKey("boxId") && !StringUtil.isEmpty(reqJson.getString("boxId"))) {
+            ParkingBoxAreaDto parkingBoxAreaDto = new ParkingBoxAreaDto();
+            parkingBoxAreaDto.setBoxId(reqJson.getString("boxId"));
+            parkingBoxAreaDto.setCommunityId(reqJson.getString("communityId"));
+            List<ParkingBoxAreaDto> parkingBoxAreaDtos = parkingBoxAreaV1InnerServiceSMOImpl.queryParkingBoxAreas(parkingBoxAreaDto);
+
+            if (parkingBoxAreaDtos == null || parkingBoxAreaDtos.size() < 1) {
+                throw new CmdException("鏈煡鍒板仠杞﹀満淇℃伅");
+            }
+            List<String> paIds = new ArrayList<>();
+            for (ParkingBoxAreaDto parkingBoxAreaDto1 : parkingBoxAreaDtos) {
+                paIds.add(parkingBoxAreaDto1.getPaId());
+            }
+            String[] paIdss = paIds.toArray(new String[paIds.size()]);
+            return paIdss;
+        }
+        return null;
+    }
+
+    private List<CarInoutDto> computeCarInouts(List<CarInoutDto> carInoutDtos) {
+        return computeFeeSMOImpl.computeTempCarStopTimeAndFee(carInoutDtos);
     }
 }

--
Gitblit v1.8.0