jiangping
2025-05-08 ea0698e0384aa60d3e2bad7da5efd7ea4fb8cf71
最新版本541200007
已修改6个文件
303 ■■■■■ 文件已修改
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/Constants.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/pom.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java 226 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -1312,11 +1312,15 @@
     */
    @Override
    public void autoStart(){
        List<Rooms> roomList = roomsMapper.selectList(new QueryWrapper<Rooms>().lambda().eq(Rooms::getIsdeleted,Constants.ZERO).eq(Rooms::getStatus,Constants.ZERO));
        List<Rooms> roomList = roomsMapper.selectList(new QueryWrapper<Rooms>()
                .lambda().eq(Rooms::getIsdeleted,Constants.ZERO).eq(Rooms::getStatus,Constants.ZERO));
        for (Rooms rooms:roomList) {
            //查询当前会议室是否存在进行中的会议
            if(bookingsMapper.selectCount(new QueryWrapper<Bookings>().lambda().eq(Bookings::getIsdeleted,Constants.ZERO)
                    .eq(Bookings::getStatus,Constants.ZERO).isNotNull(Bookings::getStartTimeReal).apply(" DATE_FORMAT(NOW(), '%Y-%m-%d') = DATE_FORMAT(START_TIME, '%Y-%m-%d') ")
            if(bookingsMapper.selectCount(new QueryWrapper<Bookings>().lambda()
                    .eq(Bookings::getIsdeleted,Constants.ZERO)
                    .eq(Bookings::getStatus,Constants.ZERO)
                    .isNotNull(Bookings::getStartTimeReal)
                    .apply(" DATE_FORMAT(NOW(), '%Y-%m-%d') = DATE_FORMAT(START_TIME, '%Y-%m-%d') ")
            )<=Constants.ZERO){
                //根据会议室获取可以开启的会议记录(第一条记录)
                Bookings bookings = bookingsMapper.selectOne(new QueryWrapper<Bookings>().lambda()
server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -718,53 +718,8 @@
//        System.out.println(Constants.getVehiclePlateNo("湘B140D17").getDescription());
//        System.out.println(Constants.getVehiclePlateNo("宿AP0637").getDescription());
        System.out.println("<script> SELECT \n" +
                "t1.REALNAME `REALNAME`,\n" +
                "MAX(t1.`01`) `januaryCount`,\n" +
                "MAX(t1.`02`) `februaryCount`,\n" +
                "MAX(t1.`03`) `marchCount`,\n" +
                "MAX(t1.`04`) `aprilCount`,\n" +
                "MAX(t1.`05`) `mayCount`,\n" +
                "MAX(t1.`06`) `juneCount`,\n" +
                "MAX(t1.`07`) `julyCount`,\n" +
                "MAX(t1.`08`) `augustCount`,\n" +
                "MAX(t1.`09`) `septemberCount`,\n" +
                "MAX(t1.`10`) `octoberCount`,\n" +
                "MAX(t1.`11`) `novemberCount`,\n" +
                "MAX(t1.`12`) `decemberCount`\n" +
                "FROM(\n" +
                "SELECT \n" +
                "t.id,\n" +
                "t.REALNAME,\n" +
                "CASE  WHEN t.yue='01' THEN t.c ELSE 0 END AS `01`,\n" +
                "CASE  WHEN t.yue='02' THEN t.c ELSE 0 END AS `02`,\n" +
                "CASE  WHEN t.yue='03' THEN t.c ELSE 0 END AS `03`,\n" +
                "CASE  WHEN t.yue='04' THEN t.c ELSE 0 END AS `04`,\n" +
                "CASE  WHEN t.yue='05' THEN t.c ELSE 0 END AS `05`,\n" +
                "CASE  WHEN t.yue='06' THEN t.c ELSE 0 END AS `06`,\n" +
                "CASE  WHEN t.yue='07' THEN t.c ELSE 0 END AS `07`,\n" +
                "CASE  WHEN t.yue='08' THEN t.c ELSE 0 END AS `08`,\n" +
                "CASE  WHEN t.yue='09' THEN t.c ELSE 0 END AS `09`,\n" +
                "CASE  WHEN t.yue='10' THEN t.c ELSE 0 END AS `10`,\n" +
                "CASE  WHEN t.yue='11' THEN t.c ELSE 0 END AS `11`,\n" +
                "CASE  WHEN t.yue='12' THEN t.c ELSE 0 END AS `12`  \n" +
                "FROM   \n" +
                "(SELECT \n" +
                "su.id,\n" +
                "su.REALNAME,\n" +
                "DATE_FORMAT(b.START_TIME,'%m') yue,\n" +
                "SUM(" +
                "CONVERT( (UNIX_TIMESTAMP(b.END_TIME) - UNIX_TIMESTAMP(b.START_TIME))/(60*60), DECIMAL(5,1))) c\n" +
                "FROM \n" +
                "meeting_user_rel ur\n" +
                "LEFT JOIN `SYSTEM_USER` su ON ur.USER_ID = su.id \n" +
                "LEFT JOIN meeting_book b ON ur.OBJ_ID = b.id \n" +
                "WHERE DATE_FORMAT(b.START_TIME,'%Y') = #{yearNum} AND b.STATUS in(0,2) and b.isdeleted=0" +
                "<if test='userId != null'>"+
                "and ur.USER_ID = #{userId}\n" +
                "</if>"+
                "GROUP BY su.id, DATE_FORMAT(b.START_TIME,'%m')) t) t1 GROUP BY t1.id" +
                "</script>");
        System.out.println("{\"data\":{\"paramValues\":{\"accessType\":\"2\",\"certTypes\":\"111\",\"certificateNos\":\"340621198301259374\",\"defineEventType\":\"771760131\",\"eventId\":\"6eb4a18bf3744c4385adb37eecdc9d37_634958cfeb68a_3a38\",\"eventType\":\"541200060\",\"eventTypeName\":\"\",\"extEventCardNo\":\"\",\"extEventPictureURL\":\"/pic?9d9c568c1a2do-4el*41-852o9=4586*2l9=0408*0606476=6137*=t213**ps5=0*1b9=559838d9837397-b106of-5pi2dc3=88=20c\",\"extEventReaderID\":\"\",\"extEventReaderKind\":\"\",\"gateIndex\":\"fc92c663ffb9420994f2574469f35e2d\",\"gateName\":\"安泰西门\",\"happenTime\":\"2025-05-08T09:13:00.000+08:00\",\"inOrOut\":\"0\",\"invoicesIds\":\"9857A54DAD5947EDB032575ECDD9EA4B447f2a7ce6c043c393d0d3c372c545d9\",\"parkIndex\":\"1c4cdb8b66ed4c23bacb385c3fb6c46b\",\"parkName\":\"停车场\",\"phones\":\"18756162028\",\"plateNos\":\"皖B3X003\",\"srcIndex\":\"6eb4a18bf3744c4385adb37eecdc9d37\",\"srcName\":\"\",\"srcParentIndex\":\"\",\"srcType\":\"roadway\",\"svrIndexCode\":\"eae18a71-1ffd-4e72-bcf6-998c5977630d\",\"userType\":\"\",\"visitorNames\":\"魏礼\"},\"targetPerson\":{\"certType\":\"111\",\"createTime\":\"2024-08-19T17:43:09.966+08:00\",\"jobNo\":\"13856591439\",\"mobile\":\"13856591439\",\"name\":\"陈鸿飞\",\"orgId\":\"986364bf-7d4c-49a4-91c8-2818c65885f3\",\"orgPathName\":\"安泰物流园区/安泰物流/信息工程科\",\"personId\":\"a3b3381325834e55a18ede6f4eac9552\",\"personNumber\":\"13856591439\",\"pinyin\":\"chenhongfei\",\"sex\":\"1\",\"updateTime\":\"2025-04-03T15:18:21.721+08:00\",\"userName\":\"13856591439\"},\"visitorInformationList\":[{\"appointmentCode\":\"763586\",\"cardNo\":\"5856663501660\",\"certNo\":\"340621198301259374\",\"certType\":111,\"companionPerson\":\"0\",\"createTime\":\"2025-05-08T08:18:22.857+08:00\",\"faceUrl\":\"822f9386e3f0494fa17ff012dc8c5ed4\",\"phone\":\"18756162028\",\"plateNo\":\"皖B3X003\",\"sex\":1,\"unit\":\"中移集成\",\"updateTime\":\"2025-05-08T09:12:49.255+08:00\",\"visitNum\":\"0\",\"visitorId\":\"6531b8ce08db4975b47250d2f3da4bc2\",\"visitorName\":\"魏礼\"}],\"visitorInvoices\":{\"appointmentType\":\"3\",\"authIssueStatus\":\"1\",\"beginTime\":\"2025-05-08T07:00:00.000+08:00\",\"campusId\":\"root000000\",\"campusName\":\"默认园区\",\"createTime\":\"2025-05-08T08:18:22.828+08:00\",\"extendJson\":\"\",\"finishTime\":\"2025-05-08T18:00:00.000+08:00\",\"ifInfoAbnormal\":\"0\",\"invoicesId\":\"9857A54DAD5947EDB032575ECDD9EA4B447f2a7ce6c043c393d0d3c372c545d9\",\"invoicesNo\":\"FK20250508080001\",\"invoicesStatus\":\"1\",\"isRepast\":\"0\",\"type\":\"0\",\"updateTime\":\"2025-05-08T09:12:42.215+08:00\",\"visitReason\":\"-1\",\"visitReasonName\":\"其他\",\"visitTargetId\":\"a3b3381325834e55a18ede6f4eac9552\",\"workflowInitiatorId\":\"6531b8ce08db4975b47250d2f3da4bc2\",\"workflowInitiatorType\":\"0\",\"workflowInstanceId\":\"946d456ce7ce44d58cca440e1093a8c7\"}},\"eventId\":\"3d337efbb8844b7dbd8ee280ee9d6b52\",\"eventType\":541200060,\"happenTime\":\"2025-05-08T09:13:00+08:00\",\"srcIndex\":\"9857A54DAD5947EDB032575ECDD9EA4B447f2a7ce6c043c393d0d3c372c545d9\",\"srcType\":\"9857A54DAD5947EDB032575ECDD9EA4B447f2a7ce6c043c393d0d3c372c545d9\",\"status\":0,\"timeout\":0}");
        System.out.println( "{\"data\":{\"paramValues\":{\"accessType\":\"1\",\"certTypes\":\"111\",\"certificateNos\":\"341122198804270428\",\"defineEventType\":\"196893\",\"eventId\":\"ec091e3c4bafd53b4f88563f28926ec1\",\"eventType\":\"541200060\",\"eventTypeName\":\"\",\"extEventCardNo\":\"5876663983160\",\"extEventInOut\":\"1\",\"extEventPictureURL\":\"/pic?0d9c111c1a7do-4el*61-821o9=6211*8l7=9180*7668406=6137*=t114**ps5=0*8b9=559838d9837373-b101of-5pi4dc3=68=25c\",\"extEventReaderID\":\"1\",\"extEventReaderKind\":\"0\",\"gateIndex\":\"\",\"gateName\":\"\",\"happenTime\":\"2025-05-08T09:33:24.000+08:00\",\"inOrOut\":\"0\",\"invoicesIds\":\"9857A54DAD5947EDB032575ECDD9EA4B833eb84a3b2b49cda6cc5b24837e747f\",\"parkIndex\":\"\",\"parkName\":\"\",\"phones\":\"15056231084\",\"plateNos\":\"皖A90LL0\",\"regionName\":\"安泰物流\",\"srcIndex\":\"ccba405a829d4814a3e050f9db0c6977\",\"srcName\":\"西门人行入口_门_1\",\"srcParentIndex\":\"c5cda4e972c54711a89a2b557bb0e6bc\",\"srcType\":\"door\",\"svrIndexCode\":\"02591f1d-456e-4816-b988-72e7bed62129\",\"userType\":\"2\",\"visitorNames\":\"施旭辉\"},\"targetPerson\":{\"certType\":\"111\",\"createTime\":\"2024-08-19T17:43:09.966+08:00\",\"jobNo\":\"13856591439\",\"mobile\":\"13856591439\",\"name\":\"陈鸿飞\",\"orgId\":\"986364bf-7d4c-49a4-91c8-2818c65885f3\",\"orgPathName\":\"安泰物流园区/安泰物流/信息工程科\",\"personId\":\"a3b3381325834e55a18ede6f4eac9552\",\"personNumber\":\"13856591439\",\"pinyin\":\"chenhongfei\",\"sex\":\"1\",\"updateTime\":\"2025-04-03T15:18:21.721+08:00\",\"userName\":\"13856591439\"},\"visitorInformationList\":[{\"appointmentCode\":\"594451\",\"cardNo\":\"5876663983160\",\"certNo\":\"341122198804270428\",\"certType\":111,\"companionPerson\":\"0\",\"createTime\":\"2025-05-08T08:26:23.957+08:00\",\"faceUrl\":\"59f5ef5d9d374ef3896fdc1a551189c4\",\"phone\":\"15056231084\",\"plateNo\":\"皖A90LL0\",\"sex\":2,\"unit\":\"豆米\",\"updateTime\":\"2025-05-08T09:33:17.148+08:00\",\"visitNum\":\"0\",\"visitorId\":\"5f3efa09d4114788ab46bc619a4950ee\",\"visitorName\":\"施旭辉\"}],\"visitorInvoices\":{\"appointmentType\":\"3\",\"authIssueStatus\":\"1\",\"beginTime\":\"2025-05-08T08:24:50.000+08:00\",\"campusId\":\"root000000\",\"campusName\":\"默认园区\",\"createTime\":\"2025-05-08T08:26:23.935+08:00\",\"extendJson\":\"\",\"finishTime\":\"2025-05-08T23:01:00.000+08:00\",\"ifInfoAbnormal\":\"0\",\"invoicesId\":\"9857A54DAD5947EDB032575ECDD9EA4B833eb84a3b2b49cda6cc5b24837e747f\",\"invoicesNo\":\"FK20250508080003\",\"invoicesStatus\":\"1\",\"isRepast\":\"0\",\"type\":\"0\",\"updateTime\":\"2025-05-08T09:33:12.509+08:00\",\"visitReason\":\"-1\",\"visitReasonName\":\"其他\",\"visitTargetId\":\"a3b3381325834e55a18ede6f4eac9552\",\"workflowInitiatorId\":\"5f3efa09d4114788ab46bc619a4950ee\",\"workflowInitiatorType\":\"0\",\"workflowInstanceId\":\"a2397bfd491d440fabc24cedea8033f5\"}},\"eventId\":\"a3369228dc6b4e3ba212eeab6774e545\",\"eventType\":541200060,\"happenTime\":\"2025-05-08T09:33:27+08:00\",\"srcIndex\":\"9857A54DAD5947EDB032575ECDD9EA4B833eb84a3b2b49cda6cc5b24837e747f\",\"srcType\":\"9857A54DAD5947EDB032575ECDD9EA4B833eb84a3b2b49cda6cc5b24837e747f\",\"status\":0,\"timeout\":0}");
    }
server/visits/dmvisit_admin/pom.xml
@@ -8,9 +8,7 @@
        <artifactId>visits</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>
    <artifactId>dmvisit_admin</artifactId>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
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;
@@ -576,7 +572,6 @@
                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);
@@ -585,21 +580,8 @@
                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(),"访客车辆"));
                }
                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")){
@@ -613,22 +595,44 @@
                    inoutDayCount.setInVisitorNum(Constants.formatIntegerNum(inoutDayCount.getInVisitorNum())+1);
                }
                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(record.getCarCode()!=null){
                if(StringUtils.isNotBlank(record.getCarCode())
                        &&request.getData().getParamValues()!=null
                        && StringUtils.isNotBlank(request.getData().getParamValues().getParkIndex())){
                    //如果是停车场事件,记录车辆类型
                    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(),"访客车辆"));
                    }
                    record.setCarBizType(Constants.RetentionCarType.fkCar);
                    record.setCategoryId(category.getId());
                    record.setCarCode(request.getData().getVisitorInformationList().get(0).getPlateNo());
                    record.setDeviceName(request.getData().getParamValues().getGateName());
                    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());
                    if(Constants.equalsInteger(record.getInOrOut(),Constants.ONE)){
                        record.setRemark("访客跟随车辆离园并自动签离");
                        try {
                            //访客申请自动签离
                            visitsService.visitLevelForCarOut(visits);
                        }catch (Exception e){
                            log.error("访客跟随车辆出园自动签离失败:==========="+e.getMessage());
                        }
                    }
                }
                inoutRecordList.add(record);
@@ -695,6 +699,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());
@@ -920,11 +928,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()));
@@ -936,27 +944,27 @@
            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());
@@ -1018,7 +1026,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);
                    }
@@ -1068,7 +1076,7 @@
                carrecord.setInOrOut(Constants.ONE);
            }
            //车辆进入记录对应业务类型
            if(1==2 && isCarInOrOutEvent(request) &&( 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())
@@ -1084,41 +1092,43 @@
                    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(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());
                    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);
                        }
                    }
                }
@@ -1317,9 +1327,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);
            }
@@ -1421,20 +1431,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("【海康月台工作状态事件推送】========成功=======");
@@ -1551,7 +1561,7 @@
                                platformJobMapper.updateById(update);
                            }
                            dealPlatformContentForLeave(job);
                         }
                        }
                    }
                }else  if(StringUtils.equals(status.getMotionStatus(),"enter")){
                    //如果是车辆进入
@@ -1576,7 +1586,7 @@
                }else{
                    continue;//其他状态不处理,跳过
                }
                        //暂时不做相关自动完成作业业务处理
                //暂时不做相关自动完成作业业务处理
//                        dealPlatformJobLogBiz(update,status);//记录作业日志
            }
            if(eventList.size()>0){
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
@@ -678,7 +678,7 @@
        }
        info.setPhoneNo(c.getPhone());
        info.setPlateNo(c.getCarNos());
        info.setGender(c.getSex()+"");
        info.setGender(c.getSex()==null?"1":c.getSex()+"");
        if(Constants.equalsInteger(c.getIdcardType(),Constants.ZERO)){
            info.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+"");
            info.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo()));
@@ -727,6 +727,7 @@
        info.setPhoneNo(c.getPhone());
        info.setPlateNo(c.getCarNos());
        info.setGender(c.getSex()+"");
        info.setGender(c.getSex()==null?"1":c.getSex()+"");
        if(Constants.equalsInteger(c.getIdcardType(),Constants.ZERO)){
            info.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+"");
            info.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo()));
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -2784,17 +2784,18 @@
                    t =new WholeProvinceMapVO();
                    t.setMonthNum( Constants.formatBigdecimal0Float(model.getMonthOutboundQuantity()));
                    t.setYearNum( Constants.formatBigdecimal0Float(model.getYearOutboundQuantity()));
                    if(Constants.UNIT_TYPE == 1) {
                        //处理单位成“箱”,一箱=5万支
                        t.setMonthNum(Constants.formatBigdecimal(t.getMonthNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
                        t.setYearNum(Constants.formatBigdecimal(t.getYearNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
                    }
                    t.setProvinceCode(model.getToProvinceCode());
                    t.setProvinceName(model.getToProvinceName());
                    result.add(t);
                }
            }
            if(Constants.UNIT_TYPE == 1) {
             for(WholeProvinceMapVO t : result){
                    //处理单位成“箱”,一箱=5万支
                    t.setMonthNum(Constants.formatBigdecimal(t.getMonthNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
                    t.setYearNum(Constants.formatBigdecimal(t.getYearNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
                }
            }
        }
        return result;
    }