From 2079ba28f20bde46f7736699c97abf0e1564770d Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 14 十月 2024 09:30:46 +0800 Subject: [PATCH] 最新版本 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 44 insertions(+), 15 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java index 4facbb1..99d6c49 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java @@ -182,20 +182,39 @@ //娴峰悍浜哄憳缂栫爜 String userNo = request.getData().getExtEventPersonNo(); if(StringUtils.isNotBlank(userNo)){ - Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getHkId,userNo).last("limit 1")); + Member member = memberMapper.selectJoinOne(Member.class,new MPJLambdaWrapper<Member>() + .selectAll(Member.class) + .selectAs(Member::getCompanyType,Company::getType) + .leftJoin(Company.class,Company::getId,Member::getCompanyId) + .eq(Member::getHkId,userNo) + .last("limit 1")); + //濡傛灉浜哄憳淇℃伅瀛樺湪锛屽垯鍒犻櫎涔嬪墠鐨勬墍鏈夎繘鍦烘暟鎹紙鏃犺姝ゆ鎺ㄩ�佹槸杩涘巶杩樻槸鍑哄満鎺ㄩ�佷簨浠讹級 + Device d = deviceMapper.selectOne(new QueryWrapper<Device>().lambda() + .eq(Device::getDoorId,request.getSrcIndex()) + .eq(Device::getIsdeleted,Constants.ZERO) + .last("limit 1" )); + if(d!=null && !(Constants.equalsInteger(d.getIsEntrance(),Constants.ONE) && Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE)){ + //濡傛灉鏄繘闂紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰� + inoutDayCount.setInMemberNum(Constants.formatIntegerNum(inoutDayCount.getInMemberNum())+1);//鍏ュ満浜烘 + }else{ + inoutDayCount.setOutMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutMemberNum())+1);//绂诲満浜烘 + } if(member !=null){ - //濡傛灉浜哄憳淇℃伅瀛樺湪锛屽垯鍒犻櫎涔嬪墠鐨勬墍鏈夎繘鍦烘暟鎹紙鏃犺姝ゆ鎺ㄩ�佹槸杩涘巶杩樻槸鍑哄満鎺ㄩ�佷簨浠讹級 - Device d = deviceMapper.selectOne(new QueryWrapper<Device>().lambda() - .eq(Device::getDoorId,request.getSrcIndex()) - .eq(Device::getIsdeleted,Constants.ZERO) - .last("limit 1" )); delRetentionLis.add(member.getId()); if(d!=null && !(Constants.equalsInteger(d.getIsEntrance(),Constants.ONE) && Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE)){ //濡傛灉鏄繘闂紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰� retentionList.add(getRetentionModelByRequest(member,request)); - inoutDayCount.setInMemberNum(1);//鍏ュ満浜烘 + if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){ + inoutDayCount.setInSelfMemberNum(Constants.formatIntegerNum(inoutDayCount.getInSelfMemberNum())+1);//鍐呴儴浜哄憳鍏ュ満浜烘 + }else{ + inoutDayCount.setInOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getInOtherMemberNum())+1);//鐩稿叧鏂瑰叆鍦轰汉娆� + } }else{ - inoutDayCount.setOutMemberNum(1);//绂诲満浜烘 + if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){ + inoutDayCount.setOutSelfMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutSelfMemberNum())+1);//鍐呴儴浜哄憳鍑哄満浜烘 + }else{ + inoutDayCount.setOutOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutOtherMemberNum())+1);//鐩稿叧鏂瑰嚭鍦轰汉娆� + } } } } @@ -384,6 +403,7 @@ List<VisitEvent> list = new ArrayList<>(); List<Integer> delRetentionLis = new ArrayList<>(); List<Retention> retentionList = new ArrayList<>(); + InoutDayCount inoutDayCount = new InoutDayCount(); for(EventVisitIccmInfoRequest request : events){ if(request.getData() ==null || request.getData().getVisitorInvoices() ==null){ continue; @@ -392,7 +412,7 @@ continue; } //娴峰悍璁垮璁板綍缂栫爜 - dealVisitDataByRequstIccm(request,delRetentionLis,retentionList); + dealVisitDataByRequstIccm(request,delRetentionLis,retentionList,inoutDayCount); list.add(getVisitEventModelByRequestIccm(request,request.getData().getVisitorInformationList().get(0))); } if(list.size()>0){ @@ -409,6 +429,7 @@ //鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳 retentionMapper.insert(retentionList); } + dealInoutDayCountBiz(inoutDayCount); log.info("銆愭捣搴疯瀹簨浠舵帹閫併��========鎴愬姛======="); }catch (Exception e){ log.error("銆愭捣搴疯瀹簨浠舵帹閫併��========澶辫触=======锛歕n"+e.getMessage()); @@ -421,7 +442,7 @@ /** * 鏍规嵁璁垮鎺ㄩ�佽瀹㈣褰曠紪鐮侊紝澶勭悊璁垮璁板綍銆佸湪鍦轰汉鍛樼瓑淇℃伅 */ - private void dealVisitDataByRequstIccm(EventVisitIccmInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList ) { + private void dealVisitDataByRequstIccm(EventVisitIccmInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList, InoutDayCount inoutDayCount) { EventVisitIccmDataRequest model = request.getData(); EventVisitIccmInvoiceParamRequest data = request.getData().getVisitorInvoices(); @@ -443,6 +464,7 @@ //濡傛灉鏄瀹㈢櫥璁帮紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰� // retentionList.add(getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType())); //鏉ヨ鏃堕棿 + inoutDayCount.setSigninVisitorNum(Constants.formatIntegerNum(inoutDayCount.getSigninVisitorNum())+1); updateVistis.setStatus(Constants.VisitStatus.signin); updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime())); updateVistis.setOutDate(DateUtil.getISO8601DateByStr(data.getFinishTime())); @@ -453,6 +475,7 @@ memberMapper.updateById(member); }else if (Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_ICCM_OUT.getKey()) { //濡傛灉鏄瀹㈢绂讳簨浠� + inoutDayCount.setLeaveVisitorNum(Constants.formatIntegerNum(inoutDayCount.getLeaveVisitorNum())+1); updateVistis.setStatus(Constants.VisitStatus.signout); updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime())); updateVistis.setOutDate(DateUtil.getISO8601DateByStr(data.getFinishTime())); @@ -471,6 +494,11 @@ r.setDeviceName(request.getData().getParamValues().getSrcName()); r.setDeviceIndex(request.getData().getParamValues().getSrcIndex()); retentionList.add(r); + inoutDayCount.setInVisitorNum(Constants.formatIntegerNum(inoutDayCount.getInVisitorNum())+1); + } + if(request.getData()!=null&&request.getData().getParamValues()!=null && + StringUtils.equals(request.getData().getParamValues().getInOrOut(),"2")){ + inoutDayCount.setOutVisitorNum(Constants.formatIntegerNum(inoutDayCount.getOutVisitorNum())+1); } } updateVistis.setEditDate(new Date()); @@ -497,9 +525,6 @@ retention.setImgurl(visits.getImgurl()); retention.setPhone(visits.getPhone()); retention.setMemberId(visits.getMemberId()); -// retention.setDeviceName(request.getSrcName()); -// retention.setDeviceIndex(request.getSrcIndex()); - return retention; } private VisitEvent getVisitEventModelByRequestIccm(EventVisitIccmInfoRequest request,EventVisitIccmDetailParamRequest detail) { @@ -692,12 +717,13 @@ List<CarEvent> list = new ArrayList<>(); List<Retention> retentionList = new ArrayList<>(); List<String> delRetentionList = new ArrayList<>(); + InoutDayCount inoutDayCount = new InoutDayCount(); for(EventParkInfoRequest request : events){ if(request.getData() ==null ||StringUtils.isBlank(request.getData().getPlateNo())){ continue; } //灏佽浜嬩欢淇℃伅琛ㄥ璞� - list.add(getParkEventModelByRequest(request,delRetentionList,retentionList)); + list.add(getParkEventModelByRequest(request,delRetentionList,retentionList,inoutDayCount)); } if(list.size()>0){ //鎻掑叆闂ㄧ璁板綍 @@ -713,6 +739,7 @@ //鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳 retentionMapper.insert(retentionList); } + dealInoutDayCountBiz(inoutDayCount); log.info("銆愭捣搴峰仠杞﹀満浜嬩欢鎺ㄩ�併��========鎴愬姛======="); }catch (Exception e){ @@ -727,7 +754,7 @@ * @param request * @return */ - private CarEvent getParkEventModelByRequest(EventParkInfoRequest request, List<String> delRetentionList , List<Retention> retentionList ) { + private CarEvent getParkEventModelByRequest(EventParkInfoRequest request, List<String> delRetentionList , List<Retention> retentionList,InoutDayCount inoutDayCount ) { CarEvent event = new CarEvent(); event.setIsdeleted(Constants.ZERO); event.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime())); @@ -803,9 +830,11 @@ //濡傛灉鏄叆鍘傛斁琛� delRetentionList.add(event.getPlateNos()); retentionList.add(getRetentionModelByParkRequest(request)); + inoutDayCount.setInCarNum(Constants.formatIntegerNum(inoutDayCount.getInCarNum())+1); }else if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_OUT.getKey()){ //濡傛灉鏄嚭鍦烘斁琛� delRetentionList.add(event.getPlateNos()); + inoutDayCount.setOutCarNum(Constants.formatIntegerNum(inoutDayCount.getOutCarNum())+1); } } return event; -- Gitblit v1.9.3