From 6c5d0a4a9264b7508c7ffe81b45ba239cabf2244 Mon Sep 17 00:00:00 2001 From: nidapeng <jp@doumee.com> Date: 星期三, 10 四月 2024 17:59:08 +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