From d516e38fd44e186f393bbb05c4e7ca34b323b609 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 16 五月 2023 18:50:52 +0800
Subject: [PATCH] optimize report

---
 service-job/src/main/java/com/java110/job/task/parkingSpace/ReleaseParkingSpaceTemplate.java |  113 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 63 insertions(+), 50 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/task/parkingSpace/ReleaseParkingSpaceTemplate.java b/service-job/src/main/java/com/java110/job/task/parkingSpace/ReleaseParkingSpaceTemplate.java
index 89eb9d0..8cd4466 100644
--- a/service-job/src/main/java/com/java110/job/task/parkingSpace/ReleaseParkingSpaceTemplate.java
+++ b/service-job/src/main/java/com/java110/job/task/parkingSpace/ReleaseParkingSpaceTemplate.java
@@ -1,45 +1,48 @@
 package com.java110.job.task.parkingSpace;
 
+import com.alibaba.fastjson.JSONObject;
 import com.java110.core.log.LoggerFactory;
 import com.java110.dto.community.CommunityDto;
-import com.java110.dto.owner.OwnerCarDto;
-import com.java110.dto.ownerCarAttr.OwnerCarAttrDto;
+import com.java110.dto.machine.CarBlackWhiteDto;
 import com.java110.dto.parking.ParkingSpaceDto;
 import com.java110.dto.task.TaskDto;
+import com.java110.dto.visit.VisitDto;
 import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
-import com.java110.intf.user.IOwnerCarAttrInnerServiceSMO;
-import com.java110.intf.user.IOwnerCarAttrV1InnerServiceSMO;
-import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
+import com.java110.intf.community.IVisitInnerServiceSMO;
+import com.java110.intf.user.ICarBlackWhiteV1InnerServiceSMO;
+import com.java110.job.adapt.hcIot.asyn.IIotSendAsyn;
 import com.java110.job.quartz.TaskSystemQuartz;
-import com.java110.po.car.OwnerCarPo;
-import com.java110.po.ownerCarAttr.OwnerCarAttrPo;
+import com.java110.po.car.CarBlackWhitePo;
 import com.java110.po.parking.ParkingSpacePo;
+import com.java110.utils.util.StringUtil;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 
 /**
  * @author fqz
- * @Description 閲婃斁棰勭害杞﹁溅浣�
+ * @Description 閲婃斁棰勭害杞﹁溅浣嶏紙渚濇嵁鍋滆溅鍏嶈垂缁撴潫鏃堕棿锛�
  * @date 2022-04-18 17:08
  */
 @Component
 public class ReleaseParkingSpaceTemplate extends TaskSystemQuartz {
 
     @Autowired
-    private IOwnerCarAttrInnerServiceSMO ownerCarAttrInnerServiceSMOImpl;
-
-    @Autowired
-    private IOwnerCarAttrV1InnerServiceSMO ownerCarAttrV1InnerServiceSMOImpl;
-
-    @Autowired
-    private IOwnerCarV1InnerServiceSMO ownerCarV1InnerServiceSMOImpl;
+    private IVisitInnerServiceSMO visitInnerServiceSMOImpl;
 
     @Autowired
     private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
+
+    @Autowired
+    private ICarBlackWhiteV1InnerServiceSMO carBlackWhiteV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IIotSendAsyn hcCarBlackWhiteAsynImpl;
 
     private static Logger logger = LoggerFactory.getLogger(ReleaseParkingSpaceTemplate.class);
 
@@ -59,57 +62,67 @@
      * @param taskDto
      * @param communityDto
      */
-    private void doReleaseParkingSpace(TaskDto taskDto, CommunityDto communityDto) {
-        //鏌ヨ棰勭害杞︿俊鎭�
-        OwnerCarDto ownerCarDto = new OwnerCarDto();
-        ownerCarDto.setCommunityId(communityDto.getCommunityId());
-        ownerCarDto.setCarTypeCd(OwnerCarDto.CAR_TYPE_TEMP);//涓存椂杞�
-        List<OwnerCarDto> ownerCarDtos = ownerCarV1InnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
-        if (ownerCarDtos == null || ownerCarDtos.size() < 1) {
+    private void doReleaseParkingSpace(TaskDto taskDto, CommunityDto communityDto) throws ParseException {
+        //鏌ヨ灏忓尯涓嬬殑璁垮淇℃伅
+        VisitDto visitDto = new VisitDto();
+        visitDto.setCommunityId(communityDto.getCommunityId());
+        visitDto.setCarNumNoEmpty("1"); //杞﹁締涓嶄负绌�
+        visitDto.setFlag("1"); //杞︿綅涓嶄负绌�
+        List<VisitDto> visitDtos = visitInnerServiceSMOImpl.queryVisits(visitDto);
+        if (visitDtos == null || visitDtos.size() < 1) {
             return;
         }
-        for (OwnerCarDto ownerCar : ownerCarDtos) {
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        for (VisitDto visit : visitDtos) {
+            //鏌ョ湅鏄惁鏈夎溅浣�
             ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
-            parkingSpaceDto.setPsId(ownerCar.getPsId());
-            //鏌ヨ杞︿綅
+            parkingSpaceDto.setPsId(visit.getPsId());
             List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
-            if (parkingSpaceDtos == null || parkingSpaceDtos.size() < 1) { //杞︿綅涓嶅瓨鍦�
+            if (parkingSpaceDtos == null || parkingSpaceDtos.size() != 1) {
                 continue;
             }
-            OwnerCarAttrDto ownerCarAttrDto = new OwnerCarAttrDto();
-            ownerCarAttrDto.setCarId(ownerCar.getCarId());
-            ownerCarAttrDto.setSpecCd("6443000036"); //鏄惁鏄绾﹁溅
-            //鏌ヨ杞﹁締灞炴��
-            List<OwnerCarAttrDto> ownerCarAttrDtos = ownerCarAttrInnerServiceSMOImpl.queryOwnerCarAttrs(ownerCarAttrDto);
-            if (ownerCarAttrDtos == null || ownerCarAttrDtos.size() != 1) { //鍙湅鏄惁鏄绾﹁溅灞炴��
+            if (StringUtil.isEmpty(parkingSpaceDtos.get(0).getState()) || !parkingSpaceDtos.get(0).getState().equals("H")) { //鍑哄敭 S锛屽嚭绉� H 锛岀┖闂� F
                 continue;
             }
-            if (!ownerCarAttrDtos.get(0).getValue().equals("true")) { //涓嶆槸棰勭害杞︾殑涓嶈蛋瀹氭椂浠诲姟
+            if (StringUtil.isEmpty(visit.getFreeTime())) {
                 continue;
             }
-            //鑾峰彇杞﹁締鎴鏃堕棿
-            Date endTime = ownerCar.getEndTime();
+            //鏌ョ湅杞﹁締鏄惁鍦ㄩ粦鐧藉悕鍗曢噷
+            CarBlackWhiteDto carBlackWhiteDto = new CarBlackWhiteDto();
+            carBlackWhiteDto.setCarNum(visit.getCarNum());
+            carBlackWhiteDto.setCommunityId(visit.getCommunityId());
+            carBlackWhiteDto.setBlackWhite("2222"); //1111 榛戝悕鍗� 2222 鐧藉悕鍗�
+            carBlackWhiteDto.setStartTime(visit.getVisitTime());
+            carBlackWhiteDto.setEndTime(visit.getFreeTime());
+            List<CarBlackWhiteDto> carBlackWhiteDtos = carBlackWhiteV1InnerServiceSMOImpl.queryCarBlackWhites(carBlackWhiteDto);
+            if (carBlackWhiteDtos == null || carBlackWhiteDtos.size() != 1) {
+                continue;
+            }
+            //鑾峰彇棰勭害杞﹀厤璐规椂闂�
+            Date freeTime = df.parse(visit.getFreeTime());
             //褰撳墠鏃堕棿
             Date date = new Date();
-            if (endTime.getTime() <= date.getTime()) { //濡傛灉杞﹁締鎴鏃堕棿灏忎簬绛変簬褰撳墠鏃堕棿锛岃鏄庡埌鏈熶簡锛岄渶瑕侀噴鏀炬帀
-                OwnerCarPo car = new OwnerCarPo();
-                car.setCarId(ownerCar.getCarId());
-                car.setCommunityId(communityDto.getCommunityId());
-                car.setCarTypeCd(OwnerCarDto.CAR_TYPE_TEMP);
-                car.setState(OwnerCarDto.STATE_FINISH); //杞︿綅閲婃斁鐘舵��
-                car.setStatusCd("1"); //涓嶅彲鐢ㄧ姸鎬�
-                //淇敼杞﹁締鐘舵�侊紝鏀逛负杞﹁締閲婃斁鐘舵�佸苟鍒犻櫎
-                ownerCarV1InnerServiceSMOImpl.updateOwnerCar(car);
-                OwnerCarAttrPo ownerCarAttrPo = new OwnerCarAttrPo();
-                ownerCarAttrPo.setCarId(ownerCar.getCarId());
-                ownerCarAttrPo.setStatusCd("1");
-                //鍒犻櫎杩囨湡杞﹁締灞炴��
-                ownerCarAttrV1InnerServiceSMOImpl.updateOwnerCarAttr(ownerCarAttrPo);
+            if (freeTime.getTime() <= date.getTime()) { //濡傛灉棰勭害杞﹀厤璐规椂闂村皬浜庣瓑浜庡綋鍓嶆椂闂达紝璇存槑鍒版湡浜嗭紝闇�瑕侀噴鏀炬帀
                 ParkingSpacePo parkingSpacePo = new ParkingSpacePo();
-                parkingSpacePo.setPsId(ownerCar.getPsId());
+                parkingSpacePo.setPsId(visit.getPsId());
                 parkingSpacePo.setState("F");//杞︿綅鐘舵�� 鍑哄敭 S锛屽嚭绉� H 锛岀┖闂� F
                 //杞︿綅鐘舵�佹敼涓虹┖闂茬姸鎬�
                 parkingSpaceInnerServiceSMOImpl.updateParkingSpace(parkingSpacePo);
+                //鍒犻櫎鐧藉悕鍗�
+                CarBlackWhitePo carBlackWhitePo = new CarBlackWhitePo();
+                carBlackWhitePo.setBwId(carBlackWhiteDtos.get(0).getBwId());
+                carBlackWhitePo.setStatusCd("1");
+                carBlackWhiteV1InnerServiceSMOImpl.deleteCarBlackWhite(carBlackWhitePo);
+                //鍚戠涓夋柟鐗╄仈缃戞帹閫佸垹闄ょ櫧鍚嶅崟淇℃伅
+                JSONObject postParameters = new JSONObject();
+                postParameters.put("extBwId", carBlackWhiteDtos.get(0).getBwId());
+                postParameters.put("carNum", carBlackWhiteDtos.get(0).getCarNum());
+                postParameters.put("extPaId", carBlackWhiteDtos.get(0).getPaId());
+                postParameters.put("extCommunityId", carBlackWhiteDtos.get(0).getCommunityId());
+                postParameters.put("startTime", carBlackWhiteDtos.get(0).getStartTime());
+                postParameters.put("endTime", carBlackWhiteDtos.get(0).getEndTime());
+                postParameters.put("blackWhite", carBlackWhiteDtos.get(0).getBlackWhite());
+                hcCarBlackWhiteAsynImpl.deleteCarBlackWhite(postParameters);
             }
         }
     }

--
Gitblit v1.8.0