| | |
| | | .eq(Device::getIsdeleted,Constants.ZERO) |
| | | .last("limit 1" )); |
| | | delRetentionLis.add(member.getId()); |
| | | if(!(Constants.equalsInteger(d.getIsEntrance(),Constants.ONE) && Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE)){ |
| | | if(d!=null && !(Constants.equalsInteger(d.getIsEntrance(),Constants.ONE) && Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE)){ |
| | | //如果是进门,录入人员的在场数据记录 |
| | | retentionList.add(getRetentionModelByRequest(member,request)); |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public String dealVisitEventIccm(EventVisitIccmRequest param, HttpServletResponse response){ |
| | | public String dealVisitEventIccm(EventVisitIccmRequest param, HttpServletResponse response){ |
| | | log.info("【海康访客事件推送】==========开始=======:\n"+JSONObject.toJSONString(param)); |
| | | String result = null; |
| | | try { |
| | |
| | | continue; |
| | | } |
| | | //海康访客记录编码 |
| | | dealVisitDataByRequstIccm(request,delRetentionLis,retentionList,list); |
| | | dealVisitDataByRequstIccm(request,delRetentionLis,retentionList); |
| | | list.add(getVisitEventModelByRequestIccm(request,request.getData().getVisitorInformationList().get(0))); |
| | | } |
| | | if(list.size()>0){ |
| | | //插入门禁记录 |
| | |
| | | /** |
| | | * 根据访客推送访客记录编码,处理访客记录、在场人员等信息 |
| | | */ |
| | | private void dealVisitDataByRequstIccm(EventVisitIccmInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList,List<VisitEvent> list) { |
| | | private void dealVisitDataByRequstIccm(EventVisitIccmInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList ) { |
| | | |
| | | EventVisitIccmDataRequest model = request.getData(); |
| | | EventVisitIccmInvoiceParamRequest data = request.getData().getVisitorInvoices(); |
| | | MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(Visits.class); |
| | | queryWrapper.selectAs(Member::getType,Visits::getMemberType); |
| | | queryWrapper.eq(Visits::getHkId,model.getVisitorInvoices().getInvoicesId() );//访客单号 |
| | | queryWrapper.eq(Visits::getHkId,model.getVisitorInvoices().getInvoicesNo() );//访客单号 |
| | | queryWrapper.leftJoin(Member.class,Member::getId,Visits::getMemberId ); |
| | | queryWrapper.last("limit 1"); |
| | | Visits visits = visitsMapper.selectJoinOne(Visits.class,queryWrapper); |
| | |
| | | updateVistis.setEditDate(new Date()); |
| | | //更新访客来访或者签离时间信息 |
| | | visitsMapper.updateById(updateVistis) ; |
| | | |
| | | } |
| | | } |
| | | private Retention getRetentionModelByVisitRequest(Visits visits, String happentTime,String srcType) { |
| | |
| | | |
| | | return retention; |
| | | } |
| | | private VisitEvent getVisitEventModelByRequest(EventVisitIccmInfoRequest request,EventVisitIccmDetailParamRequest detail) { |
| | | private VisitEvent getVisitEventModelByRequestIccm(EventVisitIccmInfoRequest request,EventVisitIccmDetailParamRequest detail) { |
| | | if(request.getData().getTargetPerson() ==null){ |
| | | request.getData().setTargetPerson(new EventVisitIccmTargetParamRequest()); |
| | | } |
| | | VisitEvent event = new VisitEvent(); |
| | | event.setIsdeleted(Constants.ZERO); |
| | | event.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime())); |
| | | event.setCreateDate(DateUtil.getISO8601DateByStr2(request.getHappenTime())); |
| | | if(event.getCreateDate() == null){ |
| | | event.setCreateDate(new Date()); |
| | | } |
| | | event.setVisitorWorkUint(detail.getUnit()); |
| | | event.setVisitorId(detail.getVisitorId()); |
| | | event.setVisitorCode(detail.getAppointmentCode()); |
| | |
| | | List<EventPlatformInfoRequest> events = param.getParams().getEvents(); |
| | | List<Platform> list = new ArrayList<>(); |
| | | for(EventPlatformInfoRequest request : events){ |
| | | List<EventPlatformDataRequest> dataList = request.getData(); |
| | | if(dataList ==null || dataList.size()==0){ |
| | | EventPlatformDataRequest data = request.getData(); |
| | | if(data ==null ){ |
| | | continue; |
| | | } |
| | | Integer workStatus = 0; |
| | | for(EventPlatformDataRequest data : dataList){ |
| | | if( data.getHPWorkingStatus() ==null || data.getHPWorkingStatus().size() ==0){ |
| | | continue;//如何推送状态集合为空,不处理跳过 |
| | | } |
| | |
| | | .last("limit 1")); |
| | | if(model ==null){ |
| | | continue;//监控点未同步,跳过处理 |
| | | |
| | | } |
| | | //各车道车辆状态 |
| | | for(EventPlatformStatusInfoRequest status : data.getHPWorkingStatus()){ |
| | | |
| | | |
| | | } |
| | | break;//只处理第一个数据状态 |
| | | } |
| | | } |
| | | result = "成功"; |
| | | log.error("【海康月台工作状态事件推送】========成功======="); |
| | |
| | | update.setId(job.getId()); |
| | | update.setEditDate(new Date()); |
| | | if(StringUtils.equals(status.getMotionStatus(),"leave")){ |
| | | //如果是车辆离开 |
| | | if(job ==null && !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){ |
| | | //如果是车辆离开,不做相关自动完成作业业务处理 |
| | | /* if(job ==null && !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){ |
| | | continue;//如果没查到对应的作业或者作业并非作业中,不做业务处理 |
| | | } |
| | | if(Constants.equalsInteger(job.getType(), Constants.THREE) || Constants.equalsInteger(job.getType(), Constants.TWO)){ |
| | |
| | | } |
| | | //如果是正在作业的状态,标记作业已完成 |
| | | update.setStatus(Constants.PlatformJobStatus.DONE.getKey());//作业已完成 |
| | | update.setDoneDate(update.getEditDate()); |
| | | update.setDoneDate(update.getEditDate());*/ |
| | | }else if(StringUtils.equals(status.getMotionStatus(),"enter")){ |
| | | //如果是车辆进入 |
| | | if(job ==null || !Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){ |
| | |
| | | }else{ |
| | | continue;//其他状态不处理,跳过 |
| | | } |
| | | dealPlatformJobLogBiz(update,status);//记录作业日志 |
| | | //暂时不做相关自动完成作业业务处理 |
| | | // dealPlatformJobLogBiz(update,status);//记录作业日志 |
| | | } |
| | | break;//只处理第一个数据状态 |
| | | } |