jiangping
2025-05-09 e4ed89aae12459bd54fd3d53a7a46ce48f74e37f
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -1,7 +1,6 @@
package com.doumee.service.business.impl.hksync;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.C;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.biz.system.SystemDictDataBiz;
@@ -25,7 +24,6 @@
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO;
import com.doumee.service.business.CategoryService;
import com.doumee.service.business.VisitsService;
import com.doumee.service.business.impl.PlatformWarnEventServiceImpl;
import com.doumee.service.business.third.TmsService;
@@ -33,9 +31,7 @@
import com.doumee.service.business.third.model.response.TmsOrderInfoResponse;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.net.ftp.FTP;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -239,12 +235,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);//入场人次
@@ -283,9 +280,11 @@
                            inoutDayCount.setOutOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutOtherMemberNum())+1);//相关方出场人次
                        }
                    }
                    if(record.getMemberType()!=null){
                        inoutRecordList.add(record);
                    }
                }
            }
            inoutRecordList.add(record);
        }
    }
@@ -565,10 +564,12 @@
                //如果人员信息存在,切是访客通行,则删除之前的所有进场数据(无论此次推送是进厂还是出场推送事件)
                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.setMemberType(Constants.RetentionMemberType.fk);
                record.setIsdeleted(Constants.ZERO);
                record.setMemberName(visits.getName());
                record.setObjId(visits.getId());
@@ -579,10 +580,12 @@
                record.setInOrOut(Constants.ZERO);
                record.setHkEventId(request.getEventId());
                record.setHkId(visits.getHkId());
                record.setDeviceName((request.getData()!=null &&request.getData().getParamValues()!=null)?
                        request.getData().getParamValues().getSrcName():request.getSrcName());
                //如果是访客通行
                if(request.getData()!=null&&request.getData().getParamValues()!=null &&
                        StringUtils.equals(request.getData().getParamValues().getInOrOut(),"0")){
                    //如果是访客登记,录入人员的在场数据记录
                    //如果是访客进入,录入人员的在场数据记录
                    Retention r = getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType());
                    r.setCarNo(request.getData().getParamValues().getPlateNos());
                    r.setAccessType(request.getData().getParamValues().getAccessType());
@@ -590,11 +593,48 @@
                    r.setDeviceIndex(request.getData().getParamValues().getSrcIndex());
                    retentionList.add(r);
                    inoutDayCount.setInVisitorNum(Constants.formatIntegerNum(inoutDayCount.getInVisitorNum())+1);
                    record.setInOrOut(Constants.ZERO);//进入园区
                }
                if(request.getData()!=null&&request.getData().getParamValues()!=null &&
                         !StringUtils.equals(request.getData().getParamValues().getInOrOut(),"0")){
                        !StringUtils.equals(request.getData().getParamValues().getInOrOut(),"0")){
                    inoutDayCount.setOutVisitorNum(Constants.formatIntegerNum(inoutDayCount.getOutVisitorNum())+1);
                    record.setInOrOut(Constants.ONE);
                }
                if( request.getData().getParamValues()!=null
                        && StringUtils.isNotBlank(request.getData().getParamValues().getPlateNos())
                        && StringUtils.isNotBlank(request.getData().getParamValues().getParkIndex())){
                    //如果是停车场事件,记录车辆类型
                    Category category = null;
                    record.setCarCode(request.getData().getParamValues().getPlateNos());
                    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(),"访客车辆"));
                    }
                    record.setCarBizType(Constants.RetentionCarType.fkCar);
                    record.setCategoryId(category.getId());
                    record.setDeviceName(request.getData().getParamValues().getGateName());
                    record.setCategoryName(category.getName());
                    record.setCategoryParentId(category.getParentId());
                    record.setCategoryParentName(category.getParentName());
                    if(Constants.equalsInteger(record.getInOrOut(),Constants.ONE)){
                        record.setRemark("访客跟随车辆离园并自动签离");
                        try {
                            //访客申请自动签离
                            visitsService.visitLevelForCarOut(visits);
                        }catch (Exception e){
                            log.error("访客跟随车辆出园自动签离失败:==========="+e.getMessage());
                        }
                    }
                }
                inoutRecordList.add(record);
            }
@@ -660,6 +700,10 @@
        event.setSrcParentIndex(request.getSrcParentIndex());
        event.setSrcName((request.getData()!=null &&request.getData().getParamValues()!=null)?
                request.getData().getParamValues().getSrcName():request.getSrcName());
        if(StringUtils.isBlank(event.getSrcName())){
            event.setSrcName((request.getData()!=null &&request.getData().getParamValues()!=null)?
                    request.getData().getParamValues().getGateName()+ request.getData().getParamValues().getParkIndex():request.getSrcName());
        }
        event.setSrcIndex(request.getSrcIndex());
        event.setSex(detail.getSex());
        event.setPurpose(request.getData().getVisitorInvoices().getVisitReason());
@@ -847,9 +891,11 @@
                        .in(Retention::getCarNo,delRetentionList));
            }
            if(delMemberRetentionList.size()>0){
                //先删除原有的在场人员(内部人员和访客)
                //先删除原有的在场人员(内部人员、相关方和访客)
                retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
                        .in(Retention::getType,Constants.memberType.internal,Constants.memberType.visitor)
                        .in(Retention::getType,Constants.RetentionMemberType.internalMember
                                ,Constants.RetentionMemberType.relMember
                                ,Constants.RetentionMemberType.fk)
                        .in(Retention::getMemberId,delMemberRetentionList));
            }
            if(retentionList.size()>0){
@@ -885,11 +931,11 @@
        if(StringUtils.isNotBlank(event.getPlateNos())){
            //标记车辆进出记录
            List<Category> categoryList = categoryMapper.selectJoinList(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)
                        .isNotNull(Category::getBizType));//查询所有带有业务类型的车辆分类编码
                    .selectAll(Category.class)
                    .select("t4.name",Category::getParentName)
                    .leftJoin("category t4 on t.parent_id=t4.id")
                    .eq(Category::getIsdeleted,Constants.ZERO)
                    .isNotNull(Category::getBizType));//查询所有带有业务类型的车辆分类编码
            List<Visits> visitsList = null;
            InoutRecord carrecord = new InoutRecord();
            carrecord.setCreateDate(DateUtil.getISO8601DateByStr2(request.getHappenTime()));
@@ -897,36 +943,37 @@
            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>()
                            .selectAll(Cars.class )
                            .selectAs(Company::getType,Cars::getCompanyType)
                            .selectAs(Member::getName,Cars::getMemberName)
                            .selectAs(Member::getIdcardDecode,Cars::getIdcardDecode)
                            .selectAs(Member::getCode,Cars::getMemberCode)
                            .selectAs(Member::getFaceImg,Cars::getFaceImg)
                            .selectAs(Member::getIdcardNo,Cars::getIdcardNo)
                            .selectAs(Member::getName,Cars::getMemberName)
                            .selectAs(Member::getPhone,Cars::getMemberPhone)
                            .selectAs(Company::getCompanyNamePath,Cars::getCompanyName)
                            .selectAs(Category::getBizType,Cars::getBizType)
                            .selectAs(Category::getName,Cars::getCateName)
                            .select("t4.id",Cars::getCatePId)
                            .select("t4.name",Cars::getCatePName)
                            .leftJoin(Company.class,Company::getId,Cars::getGroupId)
                            .leftJoin(Member.class,Member::getId,Cars::getMemberId)
                            .leftJoin(Category.class,Category::getId,Cars::getCateId)
                            .leftJoin("category t4 on t3.parent_id=t4.id")
                            .eq(Cars::getCode,event.getPlateNos())
                            .eq(Cars::getIsdeleted,Constants.ZERO)
                            .last(" limit 1"));
                    .selectAll(Cars.class )
                    .selectAs(Company::getType,Cars::getCompanyType)
                    .selectAs(Member::getName,Cars::getMemberName)
                    .selectAs(Member::getIdcardDecode,Cars::getIdcardDecode)
                    .selectAs(Member::getCode,Cars::getMemberCode)
                    .selectAs(Member::getFaceImg,Cars::getFaceImg)
                    .selectAs(Member::getIdcardNo,Cars::getIdcardNo)
                    .selectAs(Member::getName,Cars::getMemberName)
                    .selectAs(Member::getPhone,Cars::getMemberPhone)
                    .selectAs(Company::getCompanyNamePath,Cars::getCompanyName)
                    .selectAs(Category::getBizType,Cars::getBizType)
                    .selectAs(Category::getName,Cars::getCateName)
                    .select("t4.id",Cars::getCatePId)
                    .select("t4.name",Cars::getCatePName)
                    .leftJoin(Company.class,Company::getId,Cars::getGroupId)
                    .leftJoin(Member.class,Member::getId,Cars::getMemberId)
                    .leftJoin(Category.class,Category::getId,Cars::getCateId)
                    .leftJoin("category t4 on t3.parent_id=t4.id")
                    .eq(Cars::getCode,event.getPlateNos())
                    .eq(Cars::getIsdeleted,Constants.ZERO)
                    .last(" limit 1"));
            if(carModel!=null){
                //0安泰公务车 1安泰自有物流车 2其它
                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());//司机
@@ -942,7 +989,7 @@
                carrecord.setCategoryId(carModel.getCateId());
                carrecord.setCategoryName(carModel.getCateName());
                carrecord.setCategoryParentId(carModel.getCatePId());
                carrecord.setCategoryParentName(carModel.getCatePName());
                carrecord.setCategoryParentName(StringUtils.defaultString(carModel.getCatePName(),carModel.getCateName()));
                carrecord.setType( Constants.RetentionMemberType.car);//只是车辆的记录
                if(carModel.getMemberId()!=null){
                    if(Constants.equalsInteger(carModel.getCompanyType(),Constants.ONE)){
@@ -982,7 +1029,7 @@
                    carrecord.setCompanyId(carTypeJob.getCompanyId());
                    carrecord.setCompanyName(carTypeJob.getCompanyNamePath());
                    carrecord.setType(Constants.RetentionMemberType.car);
                    if(carModel.getMemberPhone()!=null || StringUtils.isNotBlank(carModel.getMemberName())){
                    if(carTypeJob.getDriverName()!=null || StringUtils.isNotBlank(carTypeJob.getDrivierPhone())){
                        //货运司机(如果司机手机号或者姓名不为空)
                        carrecord.setMemberType(Constants.RetentionMemberType.driver);
                    }
@@ -1021,7 +1068,7 @@
                //如果是入厂放行
                delRetentionList.add(event.getPlateNos());
                delMemberRetentionList.add(event.getMemberId());
                retentionList.add(getRetentionModelByParkRequest(request,event));//在厂车辆信息
                retentionList.add(getRetentionModelByParkRequest(request,event,carrecord));//在厂车辆信息
                inoutDayCount.setInCarNum(Constants.formatIntegerNum(inoutDayCount.getInCarNum())+1);
                carrecord.setInOrOut(Constants.ZERO);
            }else if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_OUT.getKey()){
@@ -1029,10 +1076,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(event.getCarType() ==null || event.getCarType().equals(Constants.RetentionCarType.other)){
            if( isCarInOrOutEvent(request) &&( event.getCarType() ==null || event.getCarType().equals(Constants.RetentionCarType.other))){
                //如果未识别到车型,不是固定车 也不是货运车辆,则检查是否是访客车
                visitsList =  visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
                                .eq(Visits::getCarNos,event.getPlateNos())
@@ -1048,51 +1095,61 @@
                    event.setCarType(Constants.RetentionCarType.fkCar);
                    int index =0;
                    carrecord.setCarBizType(Constants.RetentionCarType.fkCar);
                    Category category =findCategoryByBizType(Constants.RetentionCarType.fkCar,"访客车辆","访客车辆",categoryList);
                    carrecord.setCategoryId(category.getId());
                    carrecord.setCategoryName(category.getName());
                    carrecord.setCategoryParentName(category.getParentName());
                    carrecord.setCategoryParentId(category.getParentId());
                    for(Visits v :visitsList){
                        delMemberRetentionList.add(event.getMemberId());
                        InoutRecord copyObj = new InoutRecord();
                        BeanUtils.copyProperties(carrecord,copyObj);
                        copyObj.setMemberId(v.getMemberId());
                        copyObj.setMemberName(v.getName());
                        copyObj.setMemberPhone(v.getPhone());
                        copyObj.setCompanyName(v.getCompanyName());
                        copyObj.setType(Constants.ONE);
                        copyObj.setRemark(carrecord.getCarCode());
                        copyObj.setCarCode(index>=0?null:carrecord.getCarCode());
                        copyObj.setMemberType(Constants.RetentionMemberType.fk);
                        inoutRecordList.add(copyObj);
                        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());
                    if(1==2){
                        Category category =findCategoryByBizType(Constants.RetentionCarType.fkCar,"访客车辆","访客车辆",categoryList);
                        carrecord.setCategoryId(category.getId());
                        carrecord.setCategoryName(StringUtils.defaultString(category.getName(),"访客车辆"));
                        carrecord.setCategoryParentName(StringUtils.defaultString(category.getParentName(),"访客车辆"));
                        carrecord.setCategoryParentId(category.getParentId());
                        for(Visits v :visitsList){
                            delMemberRetentionList.add(event.getMemberId());
                            InoutRecord copyObj = new InoutRecord();
                            BeanUtils.copyProperties(carrecord,copyObj);
                            copyObj.setMemberId(v.getMemberId());
                            copyObj.setMemberName(v.getName());
                            copyObj.setMemberPhone(v.getPhone());
                            copyObj.setCompanyName(v.getCompanyName());
                            copyObj.setType(Constants.ONE);
                            copyObj.setRemark("访客跟随车辆【"+carrecord.getCarCode()+"】离园");
                            copyObj.setCarCode(index>0?null:carrecord.getCarCode());
                            copyObj.setMemberType(Constants.RetentionMemberType.fk);
                            inoutRecordList.add(copyObj);
                            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);
                            }
                        }else{
                            //如果是进入园区,访客录入在园人员记录
                            retentionList.add(getRetentionModelByRequest(copyObj,request));
                            //统计访客出行数
                            inoutDayCount.setInVisitorNum(Constants.formatIntegerNum(inoutDayCount.getInVisitorNum())+1);
                        }
                    }
                }
            }
            if(event.getCarType() !=null && !event.getCarType().equals(Constants.RetentionCarType.fkCar)){
            if(isCarInOrOutEvent(request) && event.getCarType() !=null && !event.getCarType().equals(Constants.RetentionCarType.fkCar)){
                //录入非访客类型车辆进出记录
                dealNotFkCarMemberBiz(event,request,carrecord,retentionList,inoutDayCount,inoutRecordList);
            }
        }
        return event;
    }
    private boolean isCarInOrOutEvent(EventParkInfoRequest request) {
        if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey() ||
                Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_OUT.getKey()){
            return  true;
        }
        return  false;
    }
    private void dealNotFkCarMemberBiz( CarEvent event ,EventParkInfoRequest request, InoutRecord carrecord,List<Retention> retentionList,InoutDayCount inoutDayCount,List<InoutRecord> inoutRecordList) {
@@ -1114,7 +1171,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)){
                    //如果是相关方,统计今日累计数
@@ -1127,18 +1184,20 @@
                inoutDayCount.setOutMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutMemberNum())+1);
            }
        }
        if(carrecord.getInOrOut() !=null) {//如果是出入记录
            if(Constants.equalsInteger(carrecord.getCarBizType(),Constants.RetentionCarType.other)){
                carrecord.setCategoryName("未知车辆");//默认未知车辆
            }
            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) {
        if(categoryList!=null){
            for(Category category :categoryList){
                if(Constants.equalsInteger(carType,category.getBizType())){
                    if(StringUtils.isBlank(category.getParentName() )){
                        category.setParentName(category.getName());
                    }
                    return category;
                }
            }
@@ -1218,7 +1277,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());
@@ -1231,6 +1289,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());
@@ -1271,9 +1330,9 @@
            param.setContractNumber(detail.getContractNum());
            TmsOrderInfoResponse response = tmsService.orderInfo(param);
            if(response!=null &&( StringUtils.equals(response.getOrderStatus(),"3")  )
                ||StringUtils.equals(response.getOrderStatus(),"4")
                ||StringUtils.equals(response.getOrderStatus(),"5")
                ||StringUtils.equals(response.getOrderStatus(),"6")){
                    ||StringUtils.equals(response.getOrderStatus(),"4")
                    ||StringUtils.equals(response.getOrderStatus(),"5")
                    ||StringUtils.equals(response.getOrderStatus(),"6")){
                //如果合同在途,则自动签到
                jobAutoSignBiz(platformJob);
            }
@@ -1316,7 +1375,7 @@
        retention.setRemark("跟随车辆入园区");
        return retention;
    }
    private Retention getRetentionModelByParkRequest(EventParkInfoRequest request,CarEvent event  ) {
    private Retention getRetentionModelByParkRequest(EventParkInfoRequest request,CarEvent event ,InoutRecord carrecord ) {
        Retention retention = new Retention();
        retention.setIsdeleted(Constants.ZERO);
        retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
@@ -1325,6 +1384,10 @@
        retention.setMemberId(event.getMemberId());
        retention.setCarType(event.getCarType());
        retention.setCompanyId(event.getCompanyId());
        retention.setCategoryId(carrecord.getCategoryId());
        retention.setCategoryName(carrecord.getCategoryName());
        retention.setCategoryParentId(carrecord.getCategoryParentId());
        retention.setCategoryParentName(carrecord.getCategoryParentName());
//        retention.setDeviceName(request.getSrcName());
//        retention.setDeviceIndex(request.getSrcIndex());
@@ -1371,20 +1434,20 @@
                    continue;
                }
                Integer  workStatus = 0;
                    if( data.getHPWorkingStatus() ==null ||  data.getHPWorkingStatus().size() ==0){
                        continue;//如何推送状态集合为空,不处理跳过
                    }
                    PlatformDevice model = platformDeviceMapper.selectOne(new QueryWrapper<PlatformDevice>().lambda()
                            .eq(PlatformDevice::getDeviceId,request.getSrcIndex())
                            .eq(PlatformDevice::getIsdeleted,Constants.ZERO)
                            .last("limit 1"));
                    if(model ==null){
                        continue;//监控点未同步,跳过处理
                    }
                    //各车道车辆状态
                    for(EventPlatformStatusInfoRequest status : data.getHPWorkingStatus()){
                if( data.getHPWorkingStatus() ==null ||  data.getHPWorkingStatus().size() ==0){
                    continue;//如何推送状态集合为空,不处理跳过
                }
                PlatformDevice model = platformDeviceMapper.selectOne(new QueryWrapper<PlatformDevice>().lambda()
                        .eq(PlatformDevice::getDeviceId,request.getSrcIndex())
                        .eq(PlatformDevice::getIsdeleted,Constants.ZERO)
                        .last("limit 1"));
                if(model ==null){
                    continue;//监控点未同步,跳过处理
                }
                //各车道车辆状态
                for(EventPlatformStatusInfoRequest status : data.getHPWorkingStatus()){
                    }
                }
            }
            result = "成功";
            log.info("【海康月台工作状态事件推送】========成功=======");
@@ -1501,7 +1564,7 @@
                                platformJobMapper.updateById(update);
                            }
                            dealPlatformContentForLeave(job);
                         }
                        }
                    }
                }else  if(StringUtils.equals(status.getMotionStatus(),"enter")){
                    //如果是车辆进入
@@ -1526,7 +1589,7 @@
                }else{
                    continue;//其他状态不处理,跳过
                }
                        //暂时不做相关自动完成作业业务处理
                //暂时不做相关自动完成作业业务处理
//                        dealPlatformJobLogBiz(update,status);//记录作业日志
            }
            if(eventList.size()>0){