From 89610234a2bdc56f60e0998045892ef2672edccc Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期五, 19 四月 2024 14:18:31 +0800
Subject: [PATCH] 最新版本
---
server/dmvisit_screen/src/main/java/com/doumee/service/impl/ScreenServiceImpl.java | 74 +++++++++++++++++++++++++++++++------
1 files changed, 62 insertions(+), 12 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 b42f62c..2081ede 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,13 +47,13 @@
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(create_date)=TO_DAYS(now()) and status not in(5,6,8)) as applyPassNum");
- queryWrapper.select("(select count(1) from visits where TO_DAYS(create_date)=TO_DAYS(now()) and status in (5)) as visitInNum");
- queryWrapper.select("(select count(1) from visits where TO_DAYS(create_date)=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(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 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(create_date)=TO_DAYS(now())" );
+ 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());//浠婃棩璁垮鎬绘暟
@@ -56,10 +65,33 @@
wrapper.last("limit 1");
CountDataResponse cModel =carEventMapper.selectJoinOne(CountDataResponse.class,wrapper);
vModel.setMemberCarNum(vModel.getMemberCarNum());//浠婃棩鍛樺伐杞﹁締杩涘満鏁�
- vModel.setMemberCarNum(vModel.getCarInNum() - vModel.getMemberCarNum());//浠婃棩棰勭害杞﹁締杩涘満鏁�
+ vModel.setVisitCarNum(vModel.getCarInNum() - vModel.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<>();
@@ -99,7 +131,7 @@
wrapper.selectAll(VisitEvent.class) ;
wrapper.apply("TO_DAYS(create_date)=TO_DAYS(now())" );
wrapper.last("limit 50");
- wrapper.orderByDesc(VisitEvent::getCreateDate);
+ wrapper.orderByDesc(VisitEvent::getStartTime);
List<VisitEvent> result =visitEventMapper.selectList( wrapper);
if(result!=null){
for(VisitEvent event :result){
@@ -202,7 +234,7 @@
MPJLambdaWrapper<CarEvent> wrapper = new MPJLambdaWrapper<>();
wrapper.select("count(id) as num, create_date");
wrapper.apply("TO_DAYS(create_date)+"+days+" >= TO_DAYS(now()) " );
- wrapper.eq(CarEvent::getEventType, HKConstants.EventTypes.PARK_LINE_IN.getKey());
+ wrapper.in(CarEvent::getEventType, HKConstants.EventTypes.PARK_PASS_IN.getKey(), HKConstants.EventTypes.PARK_PASS_OUT.getKey());
wrapper.groupBy("TO_DAYS(create_date)");
wrapper.orderByDesc(CarEvent::getCreateDate);
List<CarEvent> result =carEventMapper.selectJoinList(CarEvent.class,wrapper);
@@ -210,12 +242,22 @@
}
private List<VisitEvent> getVisitEventListByDays(int days) {
MPJLambdaWrapper<VisitEvent> wrapper = new MPJLambdaWrapper<>();
- wrapper.select("count(id) as num, create_date");
- wrapper.apply("TO_DAYS(create_date)+"+days+" >= TO_DAYS(now()) " );
+ wrapper.select("count(id) as num, starttime");
+ wrapper.apply("TO_DAYS(starttime)+"+days+" >= TO_DAYS(now()) " );
wrapper.eq(VisitEvent::getEventType, HKConstants.EventTypes.VISIT_SIGN_IN.getKey());
- wrapper.groupBy("TO_DAYS(create_date)");
+ wrapper.groupBy("TO_DAYS(starttime)");
wrapper.orderByDesc(CarEvent::getCreateDate);
List<VisitEvent> result =visitEventMapper.selectJoinList(VisitEvent.class,wrapper);
+ return result;
+ }
+ private List<Visits> getVisitListByDays(int days) {
+ 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.groupBy("TO_DAYS(starttime)");
+ wrapper.orderByDesc(CarEvent::getCreateDate);
+ List<Visits> result =visitsMapper.selectJoinList(Visits.class,wrapper);
return result;
}
@Override
@@ -254,9 +296,17 @@
}
return 0;
}
- private Integer getVisistNumByDate(String s, List<VisitEvent> result) {
+ private Integer getVisistEventNumByDate(String s, List<VisitEvent> result) {
for(VisitEvent event:result){
if(StringUtils.equals(s,DateUtil.formatDate(event.getCreateDate(),"MM.dd"))){
+ return event.getNum();
+ }
+ }
+ return 0;
+ }
+ private Integer getVisistNumByDate(String s, List<Visits> result) {
+ for(Visits event:result){
+ if(StringUtils.equals(s,DateUtil.formatDate(event.getStarttime(),"MM.dd"))){
return event.getNum();
}
}
@@ -287,7 +337,7 @@
times.add(DateUtil.formatDate(DateUtil.dateDayAdd(new Date(), -(days-i)+1),"MM.dd"));
numList.add(0);
}
- List<VisitEvent> result = getVisitEventListByDays(days);
+ List<Visits> result = getVisitListByDays(days);
if(result!=null&& result.size()>0){
for (int i = 0; i < days; i++) {
numList.set(i,getVisistNumByDate(times.get(i),result));
--
Gitblit v1.9.3