doum
2025-09-28 9ab109b9ee96e7ff2bf2b935a044aee5842a3ddc
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;
@@ -35,7 +26,10 @@
    public static final int ZERO = 0 ;
    public static final int ONE = 1 ;
    public static final int TWO = 2 ;
    public static final Integer DD_STATUS_SUCCESS_CODE = 200 ;
    public static final Long DD_ERR_CODE = 0L ;
    public static final String HK_PARAM ="HK_PARAM" ;
    public static final String HK_WEBSITE_DOMAIN_URL ="HK_WEBSITE_DOMAIN_URL" ;
    public static final String LED_CONTENT_SPEED ="LED_CONTENT_SPEED" ;
    public static final String HK_HOST ="HK_HOST" ;
    public static final String HK_APPKEY ="HK_APPKEY" ;
@@ -57,6 +51,8 @@
    public static final String SIGN_IN_PLACE_LNT ="SIGN_IN_PLACE_LNT" ;
    public static final String SIGN_IN_PLACE_DISTANCE ="SIGN_IN_PLACE_DISTANCE" ;
    public static final String SIGN_IN_QRCODE ="SIGN_IN_QRCODE" ;
    public static final String SIGN_IN_ATTENTION ="SIGN_IN_ATTENTION" ;
    public static final String SIGN_IN_QRCODE_PREFIX ="SIGN_IN_QRCODE_PREFIX" ;
    //被拜访人信息校验方式(0手机号单独校验 1手机号和姓名组合校验)
@@ -80,6 +76,8 @@
    public static final String PLATFORM_EVENT_IMG = "PLATFORM_EVENT_IMG";
    public static final String VISIT_NOTICE = "VISIT_NOTICE";
    public static final String TIME_OUT_CONFIG = "TIME_OUT_CONFIG";
    public static final String VISIT_REPORT_TIME_OUT_MOBILE = "VISIT_REPORT_TIME_OUT_MOBILE";
    public static final String VISIT_TIME_OUT_MOBILE = "VISIT_TIME_OUT_MOBILE";
    //健康证配置
    public static final String LW_HEALTH_CARD = "LW_HEALTH_CARD";
@@ -109,16 +107,20 @@
    public static final String FTP_PORT ="FTP_PORT" ;
    public static final String FTP_USERNAME ="FTP_USERNAME" ;
    public static final String FTP_PWD ="FTP_PWD" ;
    public static final String COMPANY_DOCUMENTS ="COMPANY_DOCUMENTS" ;
    public static final String FTP_RESOURCE_PATH ="FTP_RESOURCE_PATH" ;
    public static final String FTP_LOCAL_RESOURCE_PATH ="FTP_LOCAL_RESOURCE_PATH" ;
    public static final String ERP_ORGLIST_URL ="ERP_ORGLIST_URL" ;
    public static final String ERP_USERLIST_URL ="ERP_USERLIST_URL" ;
    public static final String ERP_APPROVE_URL ="ERP_APPROVE_URL" ;
    public static final String ERP_USERSTATUS_RL ="ERP_USERSTATUS_RL" ;
    public static final String ERP ="ERP" ;
    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" ;
@@ -136,17 +138,30 @@
    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 final String OUT_HY_LOT_TOTAL ="OUT_HY_LOT_TOTAL" ;
    public static final String BANNER_IMG ="BANNER_IMG" ;
    public static  boolean DEALING_HK_SYNCPRIVILEGE= false;
    public static  boolean DEALING_HK_SYNCDEVICE = false;
    public static  boolean DEALING_HK_SYNCPLATFORM = false;
@@ -197,6 +212,24 @@
        return sb.toString();
    }
    /**
     * 获取公众号跳转重定向业务地址
     * @param code
     * @param paramCode
     * @param ywid
     * @return
     */
    public static String getWxUrl(String code, WxUrlParams paramCode, String 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{
        //访客状态(0:未签到,1:已签到,2:已签退,3:滞留,4:未访问,5:自动签离,6:未签退)
        int waitSign = 0;
@@ -312,11 +345,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;
    }
@@ -387,14 +421,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;//货运司机
    }
@@ -430,6 +495,10 @@
    public static final String HOME_IMAGE ="HOME_IMAGE";
    public static final String DD_TALK ="DD_TALK";
    public static final String APP_KEY ="APP_KEY";
    public static final String APP_SECRET ="APP_SECRET";
    public static final String ACCESS_TOKEN ="ACCESS_TOKEN";
@@ -449,6 +518,7 @@
    public interface RedisKeys {
        public static final String IMPORTING_CARS ="IMPORTING_CARS";
        public static final String IMPORTING_MEMBER ="IMPORTING_MEMBER";
        public static final String BIGSCREEN_UUID ="BIGSCREEN_UUID";
        public static final String IMPORTING_GAS ="IMPORTING_GAS";
        public static final String ERP_TOKEN ="ERP_TOKEN";
        public static final long EXPIRE_TIME = 7200;
@@ -518,10 +588,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;//管控人员(运单查询)
}
@@ -535,6 +610,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){
@@ -558,16 +643,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{
@@ -648,12 +723,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\":\"340122199904297373\",\"defineEventType\":\"771760131\",\"eventId\":\"6eb4a18bf3744c4385adb37eecdc9d37_634acece3fcf0_3d87\",\"eventType\":\"541200060\",\"eventTypeName\":\"\",\"extEventCardNo\":\"\",\"extEventPictureURL\":\"/pic?9d9c568c1a2do-4el*71-871o9=1524*7l9=0507*3607416=7147*=t212**ps5=2*8b9=559838d9837371-b162of-5pi2dc3=88=20c\",\"extEventReaderID\":\"\",\"extEventReaderKind\":\"\",\"gateIndex\":\"fc92c663ffb9420994f2574469f35e2d\",\"gateName\":\"安泰西门\",\"happenTime\":\"2025-05-09T13:06:13.000+08:00\",\"inOrOut\":\"0\",\"invoicesIds\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"parkIndex\":\"1c4cdb8b66ed4c23bacb385c3fb6c46b\",\"parkName\":\"停车场\",\"phones\":\"19956520776\",\"plateNos\":\"皖AAA1652\",\"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\":\"18055162696\",\"mobile\":\"18055162696\",\"name\":\"朱之萌\",\"orgId\":\"d815b989-877a-40e7-8f34-a5388295a3d2\",\"orgPathName\":\"安泰物流园区/安泰物流/综合管理科\",\"personId\":\"1d8d42233bce4722a741917de4195084\",\"personNumber\":\"18055162696\",\"pinyin\":\"zhuzhimeng\",\"sex\":\"1\",\"updateTime\":\"2025-05-09T11:20:42.000+08:00\",\"userName\":\"18055162696\"},\"visitorInformationList\":[{\"appointmentCode\":\"947384\",\"cardNo\":\"6206767065588\",\"certNo\":\"340122199904297373\",\"certType\":111,\"companionPerson\":\"0\",\"createTime\":\"2025-05-09T13:04:26.740+08:00\",\"faceUrl\":\"2ffa5b542ec2448f9033e6901b326f44\",\"phone\":\"19956520776\",\"plateNo\":\"皖AAA1652\",\"sex\":1,\"unit\":\"安徽东百保安服务有限公司\",\"updateTime\":\"2025-05-09T13:05:36.472+08:00\",\"visitNum\":\"0\",\"visitorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"visitorName\":\"俞扬\"}],\"visitorInvoices\":{\"appointmentType\":\"3\",\"authIssueStatus\":\"1\",\"beginTime\":\"2025-05-09T13:01:00.000+08:00\",\"campusId\":\"root000000\",\"campusName\":\"默认园区\",\"createTime\":\"2025-05-09T13:04:26.693+08:00\",\"extendJson\":\"\",\"finishTime\":\"2025-05-09T14:01:00.000+08:00\",\"ifInfoAbnormal\":\"0\",\"invoicesId\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"invoicesNo\":\"FK20250509130002\",\"invoicesStatus\":\"1\",\"isRepast\":\"0\",\"type\":\"0\",\"updateTime\":\"2025-05-09T13:05:30.372+08:00\",\"visitReason\":\"-1\",\"visitReasonName\":\"其他\",\"visitTargetId\":\"1d8d42233bce4722a741917de4195084\",\"workflowInitiatorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"workflowInitiatorType\":\"0\",\"workflowInstanceId\":\"7010a8521de54f088331e7176b82fd10\"}},\"eventId\":\"b5024c7b6c8b4b5587baf42dc5bce025\",\"eventType\":541200060,\"happenTime\":\"2025-05-09T13:06:14+08:00\",\"srcIndex\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"srcType\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"status\":0,\"timeout\":0}");
        System.out.println("{\"data\":{\"paramValues\":{\"accessType\":\"2\",\"certTypes\":\"111\",\"certificateNos\":\"340122199904297373\",\"defineEventType\":\"771760134\",\"eventId\":\"6cf8a9b5cb614bddb74f338701975ade_634ad693b6b33_3db4\",\"eventType\":\"541200060\",\"eventTypeName\":\"\",\"extEventCardNo\":\"\",\"extEventPictureURL\":\"/pic?9d9c568c1a2do-4el*81-891*9o3=5563*4l0=0206706794t6=318**ps==515b*=5698*8d9835393-b9667f-1pi1dco=852c2=083\",\"extEventReaderID\":\"\",\"extEventReaderKind\":\"\",\"gateIndex\":\"fc92c663ffb9420994f2574469f35e2d\",\"gateName\":\"安泰西门\",\"happenTime\":\"2025-05-09T13:40:59.000+08:00\",\"inOrOut\":\"1\",\"invoicesIds\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"parkIndex\":\"1c4cdb8b66ed4c23bacb385c3fb6c46b\",\"parkName\":\"停车场\",\"phones\":\"19956520776\",\"plateNos\":\"皖AAA1652\",\"srcIndex\":\"6cf8a9b5cb614bddb74f338701975ade\",\"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\":\"18055162696\",\"mobile\":\"18055162696\",\"name\":\"朱之萌\",\"orgId\":\"d815b989-877a-40e7-8f34-a5388295a3d2\",\"orgPathName\":\"安泰物流园区/安泰物流/综合管理科\",\"personId\":\"1d8d42233bce4722a741917de4195084\",\"personNumber\":\"18055162696\",\"pinyin\":\"zhuzhimeng\",\"sex\":\"1\",\"updateTime\":\"2025-05-09T11:20:42.000+08:00\",\"userName\":\"18055162696\"},\"visitorInformationList\":[{\"appointmentCode\":\"947384\",\"cardNo\":\"6206767065588\",\"certNo\":\"340122199904297373\",\"certType\":111,\"companionPerson\":\"0\",\"createTime\":\"2025-05-09T13:04:26.740+08:00\",\"faceUrl\":\"2ffa5b542ec2448f9033e6901b326f44\",\"phone\":\"19956520776\",\"plateNo\":\"皖AAA1652\",\"sex\":1,\"unit\":\"安徽东百保安服务有限公司\",\"updateTime\":\"2025-05-09T13:05:36.472+08:00\",\"visitNum\":\"0\",\"visitorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"visitorName\":\"俞扬\"}],\"visitorInvoices\":{\"appointmentType\":\"3\",\"authIssueStatus\":\"1\",\"beginTime\":\"2025-05-09T13:01:00.000+08:00\",\"campusId\":\"root000000\",\"campusName\":\"默认园区\",\"createTime\":\"2025-05-09T13:04:26.693+08:00\",\"extendJson\":\"\",\"finishTime\":\"2025-05-09T14:01:00.000+08:00\",\"ifInfoAbnormal\":\"0\",\"invoicesId\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"invoicesNo\":\"FK20250509130002\",\"invoicesStatus\":\"5\",\"isRepast\":\"0\",\"type\":\"0\",\"updateTime\":\"2025-05-09T13:41:00.369+08:00\",\"visitReason\":\"-1\",\"visitReasonName\":\"其他\",\"visitTargetId\":\"1d8d42233bce4722a741917de4195084\",\"workflowInitiatorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"workflowInitiatorType\":\"0\",\"workflowInstanceId\":\"7010a8521de54f088331e7176b82fd10\"}},\"eventId\":\"2bb6700a9e4f48849227100243f470b2\",\"eventType\":541200060,\"happenTime\":\"2025-05-09T13:41:00+08:00\",\"srcIndex\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"srcType\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"status\":0,\"timeout\":0}");
    }
@@ -673,6 +751,10 @@
        LW_FK(0,"劳务访客"),
        PT_FK(1,"普通访客"),
        NB_FK(2,"内部人员"),
        COMPANY_TYPE_REL(0,"相关方组织"),
        COMPANY_TYPE_INTERNAL(1,"内部人员"),
        COMPANY_TYPE_FK(3,"访客"),
        /** 进场类型 **/
        OUT(0,"出"),
@@ -787,6 +869,7 @@
        AUTHED_LEAVE(9, "下发授权离园","下发授权离园" ),
        LEAVED(10, "已离园 ","车辆从{data}离场 " ),
        OVER_NUMBER(11, "已过号","超时未到指定月台自动过号" ),
        CHANGE_GROUP(12, "更换月台组","从【{data}】更换到【{data1}】" ),
        ;
        // 成员变量
@@ -956,6 +1039,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();
    }
    /**
     * 月台作业 状态
@@ -967,7 +1069,7 @@
        WAIT_CALL(2, "已签到","已签到"),
        IN_WAIT(3, "入园等待","入园等待" ),
        CALLED(4, "已叫号","已叫号" ),
        WORKING(5, "作业中","作业中" ),
         WORKING(5, "作业中","作业中" ),
        DONE(6, "作业完成 ","作业完成" ),
        TRANSFERING(7, "转移中","转移中" ),
        EXCEPTION(8, "异常挂起","异常挂起" ),
@@ -1143,6 +1245,66 @@
        }
    }
    public  enum WxUrlParams {
        BISCREEN_CODE(0,0, "0", "门口大屏二维码"),
        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访客 2员工
        private String yw;//业务类型
        private String info;//说明
        // 构造方法
        WxUrlParams(int key,int type, String yw,String  info) {
            this.yw = yw;
            this.key = key;
            this.type = type;
            this.info= info;
        }
        public int getKey() {
            return key;
        }
        public void setKey(int key) {
            this.key = key;
        }
        public int getType() {
            return type;
        }
        public void setType(int type) {
            this.type = type;
        }
        public String getYw() {
            return yw;
        }
        public void setYw(String yw) {
            this.yw = yw;
        }
        public String getInfo() {
            return info;
        }
        public void setInfo(String info) {
            this.info = info;
        }
    }
    public static <T> T toSnakeObject(String json, Class<T> clazz) throws IOException {
        ObjectMapper mapper = new ObjectMapper();
        mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
@@ -1173,6 +1335,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}"),
        ;
        // 成员变量
@@ -1227,6 +1396,7 @@
        HIDDEN_DANGER_SUBMIT(0, "隐患随手拍提报", "隐患随手拍提报"),
        HIDDEN_DANGER_DEAL_BEFORE(1, "隐患随手拍处理前", "隐患随手拍处理前"),
        HIDDEN_DANGER_DEAL_AFTER(2, "隐患随手拍处理后 ", "隐患随手拍处理后 "),
        MEETING_BOOKS(4, "会议文件 ", "会议文件 "),
        ;
        // 成员变量
        private String name;