| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 访客权限组信息表Service实现 |
| | |
| | | .eq(Device::getDoorId,request.getSrcIndex()) |
| | | .eq(Device::getIsdeleted,Constants.ZERO) |
| | | .last("limit 1" )); |
| | | if(d!=null && !Constants.equalsInteger(d.getIsEntrance(),Constants.ONE)){ |
| | | if(d!=null && Constants.equalsInteger(d.getIsEntrance(),Constants.ONE)){ |
| | | if(Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE){ |
| | | //如果是进门,录入人员的在场数据记录 |
| | | inoutDayCount.setInMemberNum(Constants.formatIntegerNum(inoutDayCount.getInMemberNum())+1);//入场人次 |
| | |
| | | } |
| | | } |
| | | if(member !=null){ |
| | | if(d!=null && !Constants.equalsInteger(d.getIsEntrance(),Constants.ONE)){ |
| | | if(d!=null && Constants.equalsInteger(d.getIsEntrance(),Constants.ONE)){ |
| | | delRetentionLis.add(member.getId()); |
| | | if( Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE){ |
| | | if( Constants.formatIntegerNum(request.getData().getExtEventInOut()) == Constants.ONE){ |
| | | //如果是进门,录入人员的在场数据记录 |
| | | retentionList.add(getRetentionModelByRequest(member,request)); |
| | | if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){ |
| | |
| | | delRetentionLis.add(visits.getMemberId()); |
| | | //如果是访客通行 |
| | | if(request.getData()!=null&&request.getData().getParamValues()!=null && |
| | | StringUtils.equals(request.getData().getParamValues().getInOrOut(),"1")){ |
| | | StringUtils.equals(request.getData().getParamValues().getInOrOut(),"0")){ |
| | | //如果是访客登记,录入人员的在场数据记录 |
| | | Retention r = getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType()); |
| | | r.setCarNo(request.getData().getParamValues().getPlateNos()); |
| | |
| | | inoutDayCount.setInVisitorNum(Constants.formatIntegerNum(inoutDayCount.getInVisitorNum())+1); |
| | | } |
| | | if(request.getData()!=null&&request.getData().getParamValues()!=null && |
| | | StringUtils.equals(request.getData().getParamValues().getInOrOut(),"2")){ |
| | | !StringUtils.equals(request.getData().getParamValues().getInOrOut(),"0")){ |
| | | inoutDayCount.setOutVisitorNum(Constants.formatIntegerNum(inoutDayCount.getOutVisitorNum())+1); |
| | | } |
| | | } |
| | |
| | | event.setPhotoUrl(getHkImgUrl(detail.getFacePic())); |
| | | event.setPersonName(detail.getVisitorName()); |
| | | event.setCarNo(detail.getPlateNo()); |
| | | event.setRemark(JSONObject.toJSONString(request)); |
| | | event.setInvoicesNo(request.getData().getVisitorInvoices().getInvoicesNo());//访客单号 |
| | | event.setIdType(detail.getCertType()); |
| | | String idnum = detail.getCertNo(); |
| | |
| | | .last("limit 1" )); |
| | | if(cars!=null){ |
| | | event.setMemberId(cars.getMemberId()); |
| | | //自有车 查询当前是否有待签到的任务 |
| | | if(carsMapper.selectCount(new QueryWrapper<Cars>() |
| | | .lambda().eq(Cars::getCode,event.getPlateNos()) |
| | | .eq(Cars::getType,Constants.ONE) |
| | | .eq(Cars::getIsdeleted,Constants.ZERO) |
| | | )>Constants.ZERO){ |
| | | //查询车辆当前是否存在进行中的任务 |
| | | if( platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda() |
| | | .eq(PlatformJob::getCarCodeFront,event.getPlateNos()) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformJob::getStatus, |
| | | Constants.PlatformJobStatus.IN_WAIT.getKey(), |
| | | Constants.PlatformJobStatus.CALLED.getKey(), |
| | | Constants.PlatformJobStatus.WORKING.getKey(), |
| | | Constants.PlatformJobStatus.DONE.getKey(), |
| | | Constants.PlatformJobStatus.TRANSFERING.getKey(), |
| | | Constants.PlatformJobStatus.EXCEPTION.getKey(), |
| | | Constants.PlatformJobStatus.AUTHED_LEAVE.getKey() |
| | | ) |
| | | )<Constants.ZERO){ |
| | | PlatformJob platformJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda() |
| | | .eq(PlatformJob::getCarCodeFront,event.getPlateNos()) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformJob::getStatus, |
| | | Constants.PlatformJobStatus.WAIT_CONFIRM.getKey(), |
| | | Constants.PlatformJobStatus.WART_SIGN_IN.getKey() |
| | | ) |
| | | .orderByAsc(PlatformJob::getCreateDate) |
| | | .last(" limit 1") |
| | | ); |
| | | if(Objects.nonNull(platformJob)){ |
| | | platformJob.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey()); |
| | | platformJob.setArriveDate(new Date()); |
| | | platformJob.setSingType(Constants.TWO); |
| | | platformJob.setSignDate(new Date()); |
| | | List<PlatformJob> signList = platformJobMapper.selectList(new QueryWrapper<PlatformJob>().lambda().apply(" DATE(SIGN_DATE) = DATE(NOW()) and sign_date is not null ")); |
| | | if(CollectionUtils.isEmpty(signList)){ |
| | | platformJob.setSignNum(Constants.ONE); |
| | | } else{ |
| | | int maxNumber = Collections.max(signList.stream().map(i->i.getSignNum()).collect(Collectors.toList())); |
| | | platformJob.setSignNum(maxNumber + Constants.ONE); |
| | | } |
| | | platformJobMapper.updateById(platformJob); |
| | | } |
| | | } |
| | | }; |
| | | |
| | | |
| | | |
| | | }else{ |
| | | Visits visits = visitsMapper.selectOne(new QueryWrapper<Visits>().lambda() |
| | | .eq(Visits::getCarNos,event.getPlateNos()) |