| | |
| | | carrecord.setInOrOut(Constants.ZERO); |
| | | } |
| | | //车辆进入记录对应业务类型 |
| | | if(event.getCarType() ==null || event.getCarType().equals(Constants.RetentionCarType.other)){//如果为识别到车型 |
| | | //如果不是固定车 也不是货运车辆,则检查是否是访客车 |
| | | if(event.getCarType() ==null || event.getCarType().equals(Constants.RetentionCarType.other)){ |
| | | //如果未识别到车型,不是固定车 也不是货运车辆,则检查是否是访客车 |
| | | visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda() |
| | | .eq(Visits::getCarNos,event.getPlateNos()) |
| | | .eq(Visits::getIsdeleted,Constants.ZERO ) |
| | |
| | | index++; |
| | | if(Constants.equalsInteger(carrecord.getInOrOut(),Constants.ONE)){ |
| | | //如果是车辆出园区,访客申请自动签离 |
| | | //统计访客进入数 |
| | | inoutDayCount.setOutVisitorNum(Constants.formatIntegerNum(inoutDayCount.getOutVisitorNum())+1); |
| | | try { |
| | | visitsService.visitLevelForCarOut(v); |
| | | //统计签离数 |
| | | inoutDayCount.setLeaveVisitorNum(Constants.formatIntegerNum(inoutDayCount.getLeaveVisitorNum())+1); |
| | | }catch (Exception e){ |
| | | log.error("访客跟随车辆出园自动签离失败:==========="+e.getMessage()); |
| | | } |
| | | }else{ |
| | | //如果是进入园区,访客录入在园人员记录 |
| | | retentionList.add(getRetentionModelByRequest(copyObj,request)); |
| | | //统计访客出行数 |
| | | inoutDayCount.setInVisitorNum(Constants.formatIntegerNum(inoutDayCount.getInVisitorNum())+1); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //车辆进入记录对应业务类型 |
| | | if(event.getCarType() !=null && event.getCarType().equals(Constants.RetentionCarType.fkCar)) { |
| | | if(event.getCarType() !=null && !event.getCarType().equals(Constants.RetentionCarType.fkCar)){ |
| | | //录入非访客类型车辆进出记录 |
| | | carrecord.setCarBizType(event.getCarType()==null?Constants.RetentionCarType.other:event.getCarType()); |
| | | if(Constants.equalsInteger(carrecord.getMemberType(),Constants.RetentionMemberType.internalMember) |
| | | ||Constants.equalsInteger(carrecord.getMemberType(),Constants.RetentionMemberType.relMember) |
| | | ||Constants.equalsInteger(carrecord.getMemberType(),Constants.RetentionMemberType.driver)){ |
| | | retentionList.add(getRetentionModelByRequest(carrecord,request)); |
| | | dealNotFkCarMemberBiz(event,request,carrecord,retentionList,inoutDayCount,inoutRecordList); |
| | | } |
| | | inoutRecordList.add(carrecord); |
| | | } |
| | | |
| | | } |
| | | return event; |
| | | } |
| | | |
| | | private void dealNotFkCarMemberBiz( CarEvent event ,EventParkInfoRequest request, InoutRecord carrecord,List<Retention> retentionList,InoutDayCount inoutDayCount,List<InoutRecord> inoutRecordList) { |
| | | //录入非访客类型车辆进出记录 |
| | | carrecord.setCarBizType(event.getCarType()==null?Constants.RetentionCarType.other:event.getCarType()); |
| | | if(carrecord.getMemberId()!=null |
| | | && (Constants.equalsInteger(carrecord.getMemberType(),Constants.RetentionMemberType.internalMember) |
| | | ||Constants.equalsInteger(carrecord.getMemberType(),Constants.RetentionMemberType.relMember) |
| | | ||Constants.equalsInteger(carrecord.getMemberType(),Constants.RetentionMemberType.driver))){ |
| | | if( Constants.equalsInteger(carrecord.getInOrOut(),Constants.ZERO)) { |
| | | //如果是进入 |
| | | retentionList.add(getRetentionModelByRequest(carrecord,request)); |
| | | if(Constants.equalsInteger(carrecord.getMemberType(),Constants.RetentionMemberType.relMember)){ |
| | | //如果是相关方人员,统计今日累计数 |
| | | inoutDayCount.setInOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getInOtherMemberNum())+1); |
| | | }else if(Constants.equalsInteger(carrecord.getMemberType(),Constants.RetentionMemberType.internalMember)){ |
| | | //如果是内部人员,统计今日累计数 |
| | | inoutDayCount.setInSelfMemberNum(Constants.formatIntegerNum(inoutDayCount.getInSelfMemberNum())+1); |
| | | } |
| | | //统计今日入园总人次 |
| | | inoutDayCount.setInMemberNum(Constants.formatIntegerNum(inoutDayCount.getInMemberNum())+1); |
| | | }else if(carrecord.getMemberId()!=null && Constants.equalsInteger(carrecord.getInOrOut(),Constants.ONE)) { |
| | | //如果是出园区 |
| | | if(Constants.equalsInteger(carrecord.getMemberType(),Constants.RetentionMemberType.relMember)){ |
| | | //如果是相关方,统计今日累计数 |
| | | inoutDayCount.setOutOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutOtherMemberNum())+1); |
| | | }else if(Constants.equalsInteger(carrecord.getMemberType(),Constants.RetentionMemberType.internalMember)){ |
| | | //如果是内部人员,统计今日累计数 |
| | | inoutDayCount.setOutSelfMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutSelfMemberNum())+1); |
| | | } |
| | | //统计今日出园总人次 |
| | | inoutDayCount.setOutMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutMemberNum())+1); |
| | | } |
| | | } |
| | | inoutRecordList.add(carrecord);//录入车辆以及携带人员的入园明细记录(非访客) |
| | | } |
| | | |
| | | private Category findCategoryByBizType(Integer carType,String tempname, String pName,List<Category> categoryList) { |
| | |
| | | //如果是自有车卸货 查询TMS合同状态,决定是否自动签到 |
| | | checkTmsContractStatusBiz(platformJob); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |