jiangping
2025-05-07 a383a31892e2d3c43771f0d96eacba819411dc9b
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -239,12 +239,13 @@
            record.setCreateDate(DateUtil.getISO8601DateByStr2(request.getHappenTime()));
            record.setTimeInfo(Utils.Date.getStart(record.getCreateDate()));
            record.setType(Constants.ONE);//人员
            record.setDeviceName(request.getSrcName());
            record.setMemberType(Constants.RetentionMemberType.fk);//默认为未知人员(访客)
            record.setIsdeleted(Constants.ZERO);
            record.setHkEventId(request.getEventId());
            record.setHkId(userNo);
            if(d!=null && Constants.equalsInteger(d.getIsEntrance(),Constants.ONE)){
                if(Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE){
                if(Constants.formatIntegerNum(request.getData().getExtEventInOut()) == Constants.ONE){
                    //如果是进门,录入人员的在场数据记录
                    record.setInOrOut(Constants.ZERO);
                    inoutDayCount.setInMemberNum(Constants.formatIntegerNum(inoutDayCount.getInMemberNum())+1);//入场人次
@@ -567,12 +568,15 @@
                //如果人员信息存在,切是访客通行,则删除之前的所有进场数据(无论此次推送是进厂还是出场推送事件)
                delRetentionLis.add(visits.getMemberId());
                InoutRecord record = new InoutRecord();
                record.setDeviceName((request.getData()!=null &&request.getData().getParamValues()!=null)?
                        request.getData().getParamValues().getSrcName():request.getSrcName());
                record.setCreateDate(DateUtil.getISO8601DateByStr2(request.getHappenTime()));
                record.setTimeInfo(Utils.Date.getStart(record.getCreateDate()));
                record.setType(Constants.ONE);//人员
                record.setMemberType(Constants.ZERO);
                record.setIsdeleted(Constants.ZERO);
                record.setMemberName(visits.getName());
                record.setCarCode(request.getData().getVisitorInformationList().get(0).getPlateNo());
                record.setObjId(visits.getId());
                record.setMemberId(visits.getMemberId());
                record.setObjType(Constants.TWO);
@@ -581,6 +585,21 @@
                record.setInOrOut(Constants.ZERO);
                record.setHkEventId(request.getEventId());
                record.setHkId(visits.getHkId());
                Category category = null;
                if(StringUtils.isNotBlank(record.getCarCode())){
                      category = categoryMapper.selectJoinOne(Category.class, new MPJLambdaWrapper<Category>()
                            .selectAll(Category.class)
                            .select("t4.name",Category::getParentName)
                            .leftJoin("category t4 on t.parent_id=t4.id")
                            .eq(Category::getIsdeleted,Constants.ZERO)
                            .eq(Category::getBizType,Constants.RetentionCarType.fkCar)
                            .last("limit 1"));
                      if(category ==null){
                          category = new Category();
                          category.setName("访客车辆");
                      }
                    category.setParentName(StringUtils.defaultString(category.getParentName(),"访客车辆"));
                }
                //如果是访客通行
                if(request.getData()!=null&&request.getData().getParamValues()!=null &&
                        StringUtils.equals(request.getData().getParamValues().getInOrOut(),"0")){
@@ -597,6 +616,20 @@
                         !StringUtils.equals(request.getData().getParamValues().getInOrOut(),"0")){
                    inoutDayCount.setOutVisitorNum(Constants.formatIntegerNum(inoutDayCount.getOutVisitorNum())+1);
                    record.setInOrOut(Constants.ONE);
                }
                if(record.getCarCode()!=null){
                    record.setCarBizType(Constants.RetentionCarType.fkCar);
                    record.setCategoryId(category.getId());
                    record.setCategoryName(category.getName());
                    record.setCategoryParentId(category.getParentId());
                    record.setCategoryParentName(category.getParentName());
                    record.setRemark("访客跟随车辆离园并自动签离");
                    try {
                        //访客申请自动签离
                        visitsService.visitLevelForCarOut(visits);
                    }catch (Exception e){
                        log.error("访客跟随车辆出园自动签离失败:==========="+e.getMessage());
                    }
                }
                inoutRecordList.add(record);
            }
@@ -899,6 +932,7 @@
            carrecord.setType(Constants.ZERO);//车辆
            carrecord.setIsdeleted(Constants.ZERO);
            carrecord.setObjType(Constants.ZERO);
            carrecord.setDeviceName(request.getData().getGateName()+request.getData().getRoadwayName());//停车场和出入口
            carrecord.setHkEventId(request.getEventId());
            carrecord.setCarCode(event.getPlateNos());
            Cars carModel = carsMapper.selectJoinOne(Cars.class,new MPJLambdaWrapper<Cars>()
@@ -928,7 +962,7 @@
                event.setMemberId(carModel.getMemberId());
                event.setCompanyId(carModel.getGroupId());
                //-----------------20250429改造----start---------------
                event.setCarType(carModel.getBizType());//车辆业务类型
                event.setCarType(carModel.getBizType()==null?Constants.RetentionCarType.self : carModel.getBizType());//车辆业务类型
                carrecord.setObjType(Constants.FOUR);
                carrecord.setMemberName(carModel.getMemberName());//司机
                carrecord.setMemberPhone(carModel.getMemberPhone());//司机
@@ -1031,10 +1065,10 @@
                delRetentionList.add(event.getPlateNos());
                delMemberRetentionList.add(event.getMemberId());
                inoutDayCount.setOutCarNum(Constants.formatIntegerNum(inoutDayCount.getOutCarNum())+1);
                carrecord.setInOrOut(Constants.ZERO);
                carrecord.setInOrOut(Constants.ONE);
            }
            //车辆进入记录对应业务类型
            if(isCarInOrOutEvent(request) &&( event.getCarType() ==null || event.getCarType().equals(Constants.RetentionCarType.other))){
            if(1==2 && isCarInOrOutEvent(request) &&( event.getCarType() ==null || event.getCarType().equals(Constants.RetentionCarType.other))){
                //如果未识别到车型,不是固定车 也不是货运车辆,则检查是否是访客车
                visitsList =  visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
                                .eq(Visits::getCarNos,event.getPlateNos())
@@ -1064,8 +1098,8 @@
                        copyObj.setMemberPhone(v.getPhone());
                        copyObj.setCompanyName(v.getCompanyName());
                        copyObj.setType(Constants.ONE);
                        copyObj.setRemark(carrecord.getCarCode());
                        copyObj.setCarCode(index>=0?null:carrecord.getCarCode());
                        copyObj.setRemark("访客跟随车辆【"+carrecord.getCarCode()+"】离园");
                        copyObj.setCarCode(index>0?null:carrecord.getCarCode());
                        copyObj.setMemberType(Constants.RetentionMemberType.fk);
                        inoutRecordList.add(copyObj);
                        index++;
@@ -1124,7 +1158,7 @@
                }
                //统计今日入园总人次
                inoutDayCount.setInMemberNum(Constants.formatIntegerNum(inoutDayCount.getInMemberNum())+1);
            }else   if(carrecord.getMemberId()!=null &&  Constants.equalsInteger(carrecord.getInOrOut(),Constants.ONE)) {
            }else if( Constants.equalsInteger(carrecord.getInOrOut(),Constants.ONE)) {
                //如果是出园区
                if(Constants.equalsInteger(carrecord.getMemberType(),Constants.RetentionMemberType.relMember)){
                    //如果是相关方,统计今日累计数
@@ -1137,13 +1171,11 @@
                inoutDayCount.setOutMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutMemberNum())+1);
            }
        }
        if(carrecord.getInOrOut() !=null) {//如果是出入记录
            if(Constants.equalsInteger(carrecord.getCarBizType(),Constants.RetentionCarType.other)){
                carrecord.setCategoryName("未知车辆");//默认未知车辆
                carrecord.setCategoryParentName("未知车辆");//默认未知车辆
            }
            inoutRecordList.add(carrecord);//录入车辆以及携带人员的入园明细记录(非访客)
        if(Constants.equalsInteger(carrecord.getCarBizType(),Constants.RetentionCarType.other)){
            carrecord.setCategoryName("未知车辆");//默认未知车辆
            carrecord.setCategoryParentName("未知车辆");//默认未知车辆
        }
        inoutRecordList.add(carrecord);//录入车辆以及携带人员的入园明细记录(非访客)
    }
    private Category findCategoryByBizType(Integer carType,String tempname, String pName,List<Category> categoryList) {
@@ -1232,7 +1264,6 @@
        event.setSrcName(request.getSrcName());
        event.setSrcIndex(request.getSrcIndex());
        event.setRoadwayType(request.getData().getRoadwayType());
        event.setRoadwayName(request.getData().getRoadwayName());
        event.setRoadwayIndex(request.getData().getRoadwayIndex());
        event.setPlateType(request.getData().getPlateType());
        event.setTimeout(request.getTimeout());
@@ -1245,6 +1276,7 @@
        event.setInoutType(request.getData().getInoutType());
        event.setHappenTime(request.getHappenTime());
        event.setGateName(request.getData().getGateName());
        event.setRoadwayName(request.getData().getRoadwayName());
        event.setGateIndex(request.getData().getGateIndex());
        event.setEventType(request.getEventType());
        event.setEventIndex(request.getData().getEventIndex());