jiangping
2025-05-08 ea0698e0384aa60d3e2bad7da5efd7ea4fb8cf71
server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -1,26 +1,17 @@
package com.doumee.core.utils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.doumee.core.model.LoginUserInfo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import io.swagger.models.auth.In;
import org.apache.batik.util.Platform;
import net.sourceforge.pinyin4j.PinyinHelper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URLDecoder;
import java.text.Collator;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import  java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.*;
import java.util.Date;
import java.util.regex.Matcher;
@@ -123,6 +114,7 @@
    public static final Integer THREE =3 ;
    public static final Integer FOUR =4 ;
    public static final Integer FIVE =5 ;
    public static final Integer SIX =6 ;
    public static final String ORG_USER_ORIGIN = "ORG_USER_ORIGIN";
    public static final String VIRTUAL_CARD_INDEX = "02098469790";
    public static final String RETRY_CONNECT_NUM ="RETRY_CONNECT_NUM" ;
@@ -140,18 +132,28 @@
    public static final String WMS_GET_INVENTORYLIST_URL ="WMS_GET_INVENTORYLIST_URL" ;
    public static final String WMS_OUTBOUND_PLATFROM_URL ="WMS_OUTBOUND_PLATFROM_URL" ;
    public static final String TSM_PARAM ="TSM_PARAM" ;
    public static final String TMS_ORDER_LIST_URL ="TMS_ORDER_LIST_URL" ;
    public static final String TMS_ORDER_DETAIL_URL ="TMS_ORDER_DETAIL_URL" ;
    public static final String TMS_LOCK_STATUS_URL ="TMS_LOCK_STATUS_URL" ;
    public static final String TMS_INTERFACE_URL_PREFIX ="TMS_INTERFACE_URL_PREFIX" ;
    public static final String MYSQL_BACKUP_CDOE ="MYSQL_BACKUP_CDOE" ;
    public static final String MYSQL_BACKUP_DIR ="MYSQL_BACKUP_DIR" ;
    public static final String EVENT_FILES_PRIVATE_DOMAIN ="EVENT_FILES_PRIVATE_DOMAIN" ;
    public static final String EVENT_FILES_PUBLIC_DOMAIN ="EVENT_FILES_PUBLIC_DOMAIN" ;
    public static final String TEMPERATURE_HUMIDITY ="TEMPERATURE_HUMIDITY" ;
    public static final String HK_WXTOKEN_CONFIGID ="HK_WXTOKEN_CONFIGID" ;
    public static final String HK_WXTOKEN_TAGID ="HK_WXTOKEN_TAGID" ;
    public static final String WMS_TOTAL_STOCK_NUM ="WMS_TOTAL_STOCK_NUM" ;
    public static final String WMS_LIQUID_LEVEL ="WMS_LIQUID_LEVEL" ;
    public static final String WMS_PRESSURE_LEVEL ="WMS_PRESSURE_LEVEL" ;
    public static final String WX_REDIRECT_URL = "WX_REDIRECT_URL";
    public static final String HK_CHANGNEI_SCREEN_INDEXCODES = "HK_CHANGNEI_SCREEN_INDEXCODES";
    public static final String CITY_XH_REASON_ID ="CITY_XH_REASON_ID" ;
    public static final String ATWL_XH_PLATFORM_ID ="ATWL_XH_PLATFORM_ID" ;
    public static final String SCREEN_SEVENT_ARRIVAL_STARTDATE = "SCREEN_SEVENT_ARRIVAL_STARTDATE";
    public static final String EARLY_START_WX_NOTICE = "EARLY_START_WX_NOTICE";
    public static final String OVER_NOTICE_WX = "OVER_NOTICE_WX";
    public static final String PRESSURE_LEVEL_UNIT = "PRESSURE_LEVEL_UNIT";
    public static final String LIQUID_LEVEL_UNIT ="LIQUID_LEVEL_UNIT" ;
    public static  boolean DEALING_HK_SYNCPRIVILEGE= false;
    public static  boolean DEALING_HK_SYNCDEVICE = false;
    public static  boolean DEALING_HK_SYNCPLATFORM = false;
@@ -211,7 +213,13 @@
     * @return
     */
    public static String getWxUrl(String code, WxUrlParams paramCode, String ywid) {
        return  code.replace("${type}",paramCode.type+"").replace("${yw}",paramCode.yw).replace("${ywid}",ywid);
        String url = code.replace("${type}",paramCode.type+"").replace("${yw}",paramCode.yw).replace("${ywid}",ywid);
//        try {
//            url = URLEncoder.encode(code,"UTF-8");
//        }catch (Exception e){
//
//        }
        return url;
    }
    public interface VisitIccmStatus{
@@ -329,11 +337,12 @@
            return "";
        }
        int l = s.length();
        if(Constants.equalsInteger(l,7)){
            return s.substring(0,3)+"**"+s.substring(l-2,l);
        }
        if(l <= 8){
            return s.substring(0,3)+"***"+s.substring(l-2,l);
        if(l >= 7){
            String tt = "";
            for (int i = 0; i < l-6; i++) {
                tt = tt+"*";
            }
            return s.substring(0,2)+tt+s.substring(l-4,l);
        }
        return s;
    }
@@ -404,14 +413,45 @@
         int invalid =9;
    }
    /**
     *   0=访客车辆-访客车辆
     *   1=wms推送的物流车辆(非自有车):货运车辆-外协运输车辆
     *   2= 市公司的预约入园车辆:货运车辆-市公司卸货车辆
     *   3= 安泰的预约入园车辆:货运车辆-加工烟卸货车辆
     *   4= 安泰公务车:公务车-安泰物流公务用车
     *   5= 安泰自有车:货运车辆-安泰物流货运车辆
     */
    public interface RetentionCarType{
        //车辆类型 0内部车辆 1相关方车辆 2访客车辆 3内运物流车 4外协车辆 5市公司卸货车
         int internal = 0;
         int relation = 1;
         int visitor = 2;
         int selfTruck = 3;
         int outTruck = 4;
         int cityComTruck = 5;
        //作业类型 0自有车卸货 1自有车装货 2外协车卸货 3外协车装货 4市公司外协车卸货
//         int internal = 0;
//         int relation = 1;
//         int visitor = 2;
//         int selfTruck = 3;
//         int outTruck = 4;
//         int cityComTruck = 5;
//         int unknown = 6;
        int fkCar = 0;//访客车辆-访客车辆
        int wxysCar = 1;//推送的物流车辆(非自有车):货运车辆-外协运输车辆
        int sgsxhCar = 2;//市公司的预约入园车辆:货运车辆-市公司卸货车辆
         int jgyxhCar = 3;//安泰的预约入园车辆:货运车辆-加工烟卸货车辆
         int atwlgwCar = 4;//安泰公务车:公务车-安泰物流公务用车
         int atwlzyCar = 5;//安泰自有车:货运车辆-安泰物流货运车辆
         int other = 6;//未知车辆
         int self = 7;//自有车
    }
    /**
     * 在场人员类型
     */
    public interface RetentionMemberType{
        //类型 0劳务访客 1普通访客 2内部员工 3车辆信息 4相关方人员 5货运司机
        int lwfk = 0;//0劳务访客
        int fk = 1;//1普通访客
        int internalMember = 2;//内部员工
         int car = 3;//车辆信息
         int relMember = 4;//相关方人员
         int driver = 5;//货运司机
    }
@@ -536,10 +576,15 @@
    }
    /**
     * 运单了单位类型 0万支 1箱
     */
    public static final  int UNIT_TYPE =1;
public interface  memberType{
    int driver = 0;//司机人员
    int visitor = 1;//普通访客
    int internal = 2;//内部人员
    int gkuser = 3;//管控人员(运单查询)
}
@@ -553,6 +598,16 @@
    int reason = 6;//入园原因
}
public interface  noticesObjectType{
    int visit = 0;//访客申请
    int visitReporting = 1;//访客报备
    int useCar = 2;//用车申请
    int dangerDeal = 3;//隐患处理
    int logisticsCarUse = 4;//物流车审批
    int system = 5;//系统消息
    int reason = 6;//入园原因
    int hknotice = 7;//海康考勤代办
}
public static Integer  approveTypeToNoticeType(Integer approveType){
@@ -576,16 +631,6 @@
    public interface  noticesObjectType{
    int visit = 0;//访客申请
    int visitReporting = 1;//访客报备
    int useCar = 2;//用车申请
    int dangerDeal = 3;//隐患处理
    int logisticsCarUse = 4;//物流车审批
    int system = 5;//系统消息
    int reason = 6;//入园原因
    int hknotice = 7;//海康考勤代办
}
public interface  approveStatus{
@@ -666,12 +711,15 @@
    }
    public static void main(String[] args) {
        System.out.println(Constants.checkCarNo("皖A10991"));
        System.out.println(Constants.checkCarNo("皖AA10991"));
//        getChinesePingyin("DDaa江萍的对对对");
//        System.out.println(DateUtil.getShortTime(new Date()));
//        System.out.println( "2025-01-14 10:50:56".substring(0,10));
//        System.out.println(Constants.checkCarNo("皖AA10991"));
//        System.out.println(Constants.getVehiclePlateNo("湘B140D17").getDescription());
//        System.out.println(Constants.getVehiclePlateNo("宿AP0637").getDescription());
        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}");
    }
@@ -691,6 +739,10 @@
        LW_FK(0,"劳务访客"),
        PT_FK(1,"普通访客"),
        NB_FK(2,"内部人员"),
        COMPANY_TYPE_REL(0,"相关方组织"),
        COMPANY_TYPE_INTERNAL(1,"内部人员"),
        COMPANY_TYPE_FK(3,"访客"),
        /** 进场类型 **/
        OUT(0,"出"),
@@ -974,6 +1026,25 @@
            this.info = info;
        }
    }
    public static String getChinesePingyin(String chinese) {
        if(StringUtils.isBlank(chinese)){
            return null;
        }
        StringBuilder result = new StringBuilder();
        for (char ch : chinese.toCharArray()) {
            String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(ch);
            // 如果字符是中文,则获取其拼音的首字母
            if (pinyinArray != null && pinyinArray.length > 0) {
                result.append(pinyinArray[0].charAt(0));
            } else {
                // 非中文字符直接拼接
                result.append(ch);
            }
        }
        System.out.println(result.toString());
        return result.toString().toUpperCase();
    }
    /**
     * 月台作业 状态
@@ -985,7 +1056,7 @@
        WAIT_CALL(2, "已签到","已签到"),
        IN_WAIT(3, "入园等待","入园等待" ),
        CALLED(4, "已叫号","已叫号" ),
        WORKING(5, "作业中","作业中" ),
         WORKING(5, "作业中","作业中" ),
        DONE(6, "作业完成 ","作业完成" ),
        TRANSFERING(7, "转移中","转移中" ),
        EXCEPTION(8, "异常挂起","异常挂起" ),
@@ -1163,11 +1234,20 @@
    }
    public  enum WxUrlParams {
        BISCREEN_CODE(0,0, "0", "门口大屏二维码"),
        MEETING_CODE(1,1, "1","会议室大屏")
        MEETING_CODE(1,2, "1","会议室大屏"),
        VISIT_RECORD_VISIT(2,1, "2","访客记录-访客"),
        VISIT_RECORD_USER(3,2, "2","访客记录-员工"),
        VISIT_REPORT_RECORD_USER(5,2, "3","访客报备记录-员工"),
        HIDDEN_DANGER(6,2, "4","隐患随手拍"),
        CAR_USE(7,2, "5","用车申请"),
        MEETING(8,2, "6","会议详情"),
        PLATFORM_BOOK_DRIVER(9,0, "7","物流车预约-司机"),
        PLATFORM_BOOK(10,2, "7","物流车预约-员工"),
        PLATFORM_JOB_DRIVER(11,0, "8","月台作业-司机"),
        ;
        // 成员变量
        private int key;
        private int type;//用户类型 0员工 1司机
        private int type;//用户类型 0司机 1访客 2员工
        private String yw;//业务类型
        private String info;//说明
@@ -1242,6 +1322,13 @@
        IMPORT_TRAIMETIME(14, "导入培训有效","由【${param1}】于【${param2}】,进行【导入培训有效】操作" ),
        BE_HEAD(15, "设为主管","由【${param1}】于【${param2}】,进行【设为主管】操作" ),
        NOT_HEAD(16, "取消主管","由【${param1}】于【${param2}】,进行【取消主管】操作" ),
        MEET_BOOK_DEL(17, "删除会议室申请","由【${param1}】于【${param2}】,进行【删除会议室申请】操作,对象信息${param3}" ),
        VISIT_DEL(18, "删除访客申请","由【${param1}】于【${param2}】,进行【删除访客申请】,对象信息:${param3}" ),
        VISIT_CAR_DEL(19, "删除访客报备","由【${param1}】于【${param2}】,进行【删除访客报备】,对象信息:${param3}" ),
        PLATFROM_BOOK_DEL(20, "删除月台预约任务","由【${param1}】于【${param2}】,进行【删除月台预约任务】,对象信息:${param3}"  ),
        CAR_BOOK_DEL(21, "删除公车申请","由【${param1}】于【${param2}】,进行【删除公车申请】,对象信息:${param3}"),
        PLATFROM_JOB_DEL(22, "删除安泰物流作业任务","由【${param1}】于【${param2}】,进行【删除安泰物流作业任务】,对象信息:${param3}"  ),
        HIDEN_DANGER_DEL(23, "删除隐患随手拍","由【${param1}】于【${param2}】,进行【删除隐患随手拍】,对象信息:${param3}"),
        ;
        // 成员变量
@@ -1296,6 +1383,7 @@
        HIDDEN_DANGER_SUBMIT(0, "隐患随手拍提报", "隐患随手拍提报"),
        HIDDEN_DANGER_DEAL_BEFORE(1, "隐患随手拍处理前", "隐患随手拍处理前"),
        HIDDEN_DANGER_DEAL_AFTER(2, "隐患随手拍处理后 ", "隐患随手拍处理后 "),
        MEETING_BOOKS(4, "会议文件 ", "会议文件 "),
        ;
        // 成员变量
        private String name;