From eea92f23bf8ead897f346ae6ccc8603ac039e566 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 30 七月 2024 09:48:47 +0800
Subject: [PATCH] 修复bug

---
 server/dmvisit_screen/src/main/java/com/doumee/service/impl/ScreenServiceImpl.java |   51 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 43 insertions(+), 8 deletions(-)

diff --git a/server/dmvisit_screen/src/main/java/com/doumee/service/impl/ScreenServiceImpl.java b/server/dmvisit_screen/src/main/java/com/doumee/service/impl/ScreenServiceImpl.java
index 590c909..a7870ec 100644
--- a/server/dmvisit_screen/src/main/java/com/doumee/service/impl/ScreenServiceImpl.java
+++ b/server/dmvisit_screen/src/main/java/com/doumee/service/impl/ScreenServiceImpl.java
@@ -1,6 +1,15 @@
 package com.doumee.service.impl;
 
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseListPageResponse;
+import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.model.param.request.AcsDeviceStatusListRequest;
+import com.doumee.core.haikang.model.param.request.TempCarInRecordListRequest;
+import com.doumee.core.haikang.model.param.respose.AscDeviceStatusInfoResponse;
+import com.doumee.core.haikang.model.param.respose.TempCarInRecordInfoResponse;
+import com.doumee.core.haikang.service.HKService;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
 import com.doumee.dao.business.VisitEventMapper;
@@ -38,28 +47,52 @@
     public   CountDataResponse countData(BaseRequest param){
         MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper.select("count(1) as applyTotalNum");
-        queryWrapper.select("(select count(1) from visits where TO_DAYS(starttime)=TO_DAYS(now()) and status not in(5,6,8)) as applyPassNum");
-        queryWrapper.select("(select count(1) from visits where TO_DAYS(starttime)=TO_DAYS(now()) and status in (5)) as visitInNum");
-        queryWrapper.select("(select count(1) from visits where TO_DAYS(starttime)=TO_DAYS(now()) and status in (6,8)) as visitOutNum");
+        queryWrapper.select("(select count(1) from visits where TO_DAYS(starttime)=TO_DAYS(now()) and status not in(0)) as applyPassNum");
+        queryWrapper.select("(select count(1) from visits where TO_DAYS(starttime)=TO_DAYS(now()) and status not in(0,4)) as visitorNum");
+        queryWrapper.select("(select count(1) from visits where TO_DAYS(starttime)=TO_DAYS(now()) and status in (1,3,6)) as visitInNum");
+        queryWrapper.select("(select count(1) from visits where TO_DAYS(starttime)=TO_DAYS(now()) and status in (2,5)) as visitOutNum");
         queryWrapper.select("(select count(1) from car_event where TO_DAYS(create_date)=TO_DAYS(now()) and inout_type=0 and event_type="+ HKConstants.EventTypes.PARK_PASS_IN.getKey() +") as carInNum");
         queryWrapper.select("(select count(1) from car_event where TO_DAYS(create_date)=TO_DAYS(now()) and (inout_type !=0 ) and event_type="+ HKConstants.EventTypes.PARK_PASS_OUT.getKey() +") as carOutNum");
         queryWrapper.eq(Visits::getIsdeleted, Constants.ZERO );
         queryWrapper.apply("TO_DAYS(starttime)=TO_DAYS(now())" );
         queryWrapper.last("limit 1");
         CountDataResponse vModel =visitsMapper.selectJoinOne(CountDataResponse.class,queryWrapper);
-        vModel.setVisitorNum(vModel.getVisitInNum()+vModel.getVisitOutNum());//浠婃棩璁垮鎬绘暟
+//        vModel.setVisitorNum(vModel.getVisitInNum()+vModel.getVisitOutNum());//浠婃棩璁垮鎬绘暟
 
         MPJLambdaWrapper<CarEvent> wrapper = new MPJLambdaWrapper<>();
         wrapper.select("count(1) as memberCarNum");
         wrapper.exists("select b.id from cars b where b.code=t.plate_nos" );
-        wrapper.apply("TO_DAYS(create_date)=TO_DAYS(now())" );
+        wrapper.apply("TO_DAYS(create_date)=TO_DAYS(now()) and inout_type=0 and event_type="+ HKConstants.EventTypes.PARK_PASS_IN.getKey() );
         wrapper.last("limit 1");
         CountDataResponse cModel =carEventMapper.selectJoinOne(CountDataResponse.class,wrapper);
-        vModel.setMemberCarNum(vModel.getMemberCarNum());//浠婃棩鍛樺伐杞﹁締杩涘満鏁�
-        vModel.setVisitCarNum(vModel.getCarInNum() - vModel.getMemberCarNum());//浠婃棩棰勭害杞﹁締杩涘満鏁�
+        vModel.setMemberCarNum(Constants.formatIntegerNum(cModel.getMemberCarNum()));//浠婃棩鍛樺伐杞﹁締杩涘満鏁�
+        vModel.setVisitCarNum(vModel.getCarInNum() - cModel.getMemberCarNum());//浠婃棩棰勭害杞﹁締杩涘満鏁�
+        vModel.setCarNum(getCarInRecordCount());
         return vModel;
     }
+    public int getCarInRecordCount(){
+        try {
+            List<TempCarInRecordInfoResponse> allDoorList = new ArrayList<>();
+            Date date =DateUtil.getDateFromString(DateUtil.getShortTime(new Date()) +" 00:00:00");
 
+            int curPage = 1;
+            //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
+            TempCarInRecordListRequest param = new TempCarInRecordListRequest();
+            param.setStartTime(DateUtil.getISO8601Timestamp2(date));
+            param.setPageNo(curPage);
+            param.setPageSize(1);
+            BaseResponse<BaseListPageResponse<TempCarInRecordInfoResponse>> response = HKService.tempCarInRecords(param);
+            if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
+            }
+            BaseListPageResponse r = response.getData();
+            return  r.getTotal();
+        }catch (Exception e){
+
+        }
+
+        return  0;
+    }
     @Override
     public    List<CarsDataListResponse> carsDataList(BaseRequest param){
         List<CarsDataListResponse> list = new ArrayList<>();
@@ -97,6 +130,8 @@
         List<VisitDataListResponse> list = new ArrayList<>();
         MPJLambdaWrapper<VisitEvent> wrapper = new MPJLambdaWrapper<>();
         wrapper.selectAll(VisitEvent.class) ;
+        //鍙煡璇㈤�氳璁板綍
+        wrapper.eq(VisitEvent::getEventType,HKConstants.EventTypes.VISIT_SIGN_ICCM_PASS.getKey() );
         wrapper.apply("TO_DAYS(create_date)=TO_DAYS(now())" );
         wrapper.last("limit 50");
         wrapper.orderByDesc(VisitEvent::getStartTime);
@@ -222,7 +257,7 @@
         MPJLambdaWrapper<Visits> wrapper = new MPJLambdaWrapper<>();
         wrapper.select("count(id) as num, starttime");
         wrapper.apply("TO_DAYS(starttime)+"+days+" >= TO_DAYS(now()) " );
-        wrapper.in(Visits::getStatus,  5,6,7);
+        wrapper.in(Visits::getStatus,  1,2,3,5,6);
         wrapper.groupBy("TO_DAYS(starttime)");
         wrapper.orderByDesc(CarEvent::getCreateDate);
         List<Visits> result =visitsMapper.selectJoinList(Visits.class,wrapper);

--
Gitblit v1.9.3