doum
2 天以前 0c3e6b2d5edd46c3476a1a51a70540258b3c39dc
server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -1,6 +1,7 @@
package com.doumee.core.utils;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -10,6 +11,7 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.Collator;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -19,6 +21,7 @@
public class Constants {
    public static final String HEADER_USER_TOKEN = "dm_user_token";
    public static final String REDIS_USER_KEY = "user_token_list_";
    public static final String REDIS_TOKEN_KEY = "token_";
    public static final String REDIS_HK_TOKEN_KEY = "hk_token_";
    public static final String HK_TOKEN_VALIDITY = "HK_TOKEN_VALIDITY";
@@ -26,7 +29,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" ;
@@ -35,6 +41,7 @@
    public static final String HK_HTTPS ="HK_HTTPS" ;
    public static final String HK_PUSH_URL = "HK_PUSH_URL";
    public static final String HK_CARS_OPENAPI_ACCESS_KEY = "HK_CARS_OPENAPI_ACCESS_KEY";
    public static final String GAODE_DISTANCE_GEOAPI_URL = "GAODE_DISTANCE_GEOAPI_URL";
    public static final String HK_CARS_OPENAPI_ACCESS_SECRET = "HK_CARS_OPENAPI_ACCESS_SECRET";
    public static final String HK_CARS_OPENAPI_URL = "HK_CARS_OPENAPI_URL";
    public static final String HK_ROOTORG_CODE ="HK_ROOTORG_CODE" ;
@@ -51,7 +58,37 @@
    public static final String SIGN_IN_ATTENTION ="SIGN_IN_ATTENTION" ;
    public static final String SIGN_IN_QRCODE_PREFIX ="SIGN_IN_QRCODE_PREFIX" ;
    /**
     * 操作类型,用于做接口验证分组
     */
    public interface OperaType {
        /**
         * 创建
         */
        interface Create {}
        /**
         * 修改
         */
        interface Update {}
        /**
         * 修改状态
         */
        interface UpdateStatus {}
    }
    public static final String WEATHER_CONFIG ="WEATHER_CONFIG" ;
    public static final String REQUEST_URL ="REQUEST_URL" ;
    public static final String LOCATION ="LOCATION" ;
    public static final String API_KEY ="API_KEY" ;
    public static final String CABINET_CONFIG ="CABINET_CONFIG" ;
    public static final String BLOW_TIME ="BLOW_TIME" ;
    public static final String PRESSURE ="PRESSURE" ;
    public static final String CONCENTRATION ="CONCENTRATION" ;
    public static final String THRESHOLD ="THRESHOLD" ;
    public static final String LINK_PHONE ="LINK_PHONE" ;
    //被拜访人信息校验方式(0手机号单独校验 1手机号和姓名组合校验)
    public static final String BEVISITED_USER_VALID = "BEVISITED_USER_VALID";
    public static final String LW_BEVISITED_USER_VALID = "LW_BEVISITED_USER_VALID";
@@ -104,16 +141,21 @@
    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 APP_FILE ="APP_FILE" ;
    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" ;
@@ -150,6 +192,12 @@
    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 final String COMPANY_LOCATION = "COMPANY_LOCATION";
    public static final String GAODE_LOCATION_GEOAPI_URL = "GAODE_LOCATION_GEOAPI_URL";
    public static  boolean DEALING_HK_SYNCPRIVILEGE= false;
    public static  boolean DEALING_HK_SYNCDEVICE = false;
@@ -410,15 +458,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;
         int unknown = 6;
        //作业类型 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;//货运司机
    }
@@ -454,6 +532,11 @@
    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";
    public static final String AGENT_ID ="AGENT_ID";
@@ -468,10 +551,20 @@
    public static final String PROHIBIT_TIME = "PROHIBIT_TIME";
    public static final String ERR_TIMES = "ERR_TIMES";
    public static final String PROHIBIT_LOGIN_OPEN = "PROHIBIT_LOGIN_OPEN";
    public static final String OPEN_JOINT_ACCOUNT = "OPEN_JOINT_ACCOUNT";
    public interface RedisKeys {
        public static final String IMPORTING_CARS ="IMPORTING_CARS";
        public static final String CHECKING_JKCUSTOMER_LOCATION ="CHECKING_JKCUSTOMER_LOCATION";
        public static final String JKLINE_JOB ="JKLINE_JOB_";
        public static final String IMPORTING_JKCUSTOMER ="IMPORTING_JKCUSTOMER";
        public static final String IMPORTING_JKORDERS ="IMPORTING_JKORDERS";
        public static final String IMPORTING_JKLINE ="IMPORTING_JKLINE";
        public static final String IMPORTING_MEMBER ="IMPORTING_MEMBER";
        public static final String BIGSCREEN_UUID ="BIGSCREEN_UUID";
        public static final String IMPORTING_GAS ="IMPORTING_GAS";
@@ -495,28 +588,21 @@
        return  d;
    }
    public static BigDecimal formatBigdecimal4Float(BigDecimal d) {
        return  formatBigdecimalScale(d,4);
    }
    public static BigDecimal formatBigdecimalScale(BigDecimal d,int scale) {
        if (d == null) {
            d = new BigDecimal(0.0);
        }
        //保留两位小数且四舍五入
        d = d.setScale(4, BigDecimal.ROUND_HALF_UP);
        d = d.setScale(scale, BigDecimal.ROUND_HALF_UP);
        return  d;
    }
    public static BigDecimal formatBigdecimal0Float(BigDecimal d) {
        if (d == null) {
            d = new BigDecimal(0.0);
        }
        //保留两位小数且四舍五入
        d = d.setScale(0, BigDecimal.ROUND_HALF_UP);
        return  d;
        return  formatBigdecimalScale(d,0);
    }
    public static BigDecimal formatBigdecimal2Float(BigDecimal d) {
        if (d == null) {
            d = new BigDecimal(0.0);
        }
        //保留两位小数且四舍五入
        d = d.setScale(2, BigDecimal.ROUND_HALF_UP);
        return  d;
        return  formatBigdecimalScale(d,2);
    }
@@ -565,6 +651,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){
@@ -588,16 +684,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{
@@ -685,56 +771,31 @@
//        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 = 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>");
//        0789150665 C97B092F 0789150561
        System.out.println(getRFIDNumber("0789150745")); // 输出反转后的十六进制数
    }
    public static String getRFIDNumber(String no) {
        try {
            int number = Integer.parseInt(no);
            String hexString = Integer.toHexString(number);
            BigInteger bigInteger = new BigInteger(hexString, 16); // 示例十六进制数
            String reversedHex = new StringBuilder(bigInteger.toString(16)).reverse().toString();
            String result = "";
            for (int i =0;i< 4;i++){
                String t = reversedHex.substring(i*2,i*2+2);
                result += new StringBuilder(t).reverse().toString();
            }
            return result;
        }catch (Exception e){
        }
        return  null;
    }
    /**
     * 数据状态枚举
@@ -751,6 +812,10 @@
        LW_FK(0,"劳务访客"),
        PT_FK(1,"普通访客"),
        NB_FK(2,"内部人员"),
        COMPANY_TYPE_REL(0,"相关方组织"),
        COMPANY_TYPE_INTERNAL(1,"内部人员"),
        COMPANY_TYPE_FK(3,"访客"),
        /** 进场类型 **/
        OUT(0,"出"),
@@ -865,6 +930,7 @@
        AUTHED_LEAVE(9, "下发授权离园","下发授权离园" ),
        LEAVED(10, "已离园 ","车辆从{data}离场 " ),
        OVER_NUMBER(11, "已过号","超时未到指定月台自动过号" ),
        CHANGE_GROUP(12, "更换月台组","从【{data}】更换到【{data1}】" ),
        ;
        // 成员变量
@@ -1391,6 +1457,7 @@
        HIDDEN_DANGER_SUBMIT(0, "隐患随手拍提报", "隐患随手拍提报"),
        HIDDEN_DANGER_DEAL_BEFORE(1, "隐患随手拍处理前", "隐患随手拍处理前"),
        HIDDEN_DANGER_DEAL_AFTER(2, "隐患随手拍处理后 ", "隐患随手拍处理后 "),
        MEETING_BOOKS(4, "会议文件 ", "会议文件 "),
        ;
        // 成员变量
        private String name;
@@ -1444,8 +1511,51 @@
        public String getNoteinfo() {
            return noteinfo;
        }
    }
    public static String strToJson(String key,String val){
        Map<String,Object> map = new HashMap<>();
        map.put(key,val);
        return JSONObject.toJSONString(map);
    }
    public  enum WarningConfig {
        ALARM_TEST(10002, "酒精测试"),
        GRID_TIME_OUT_INFO(10003, "开门超时未关闭"),
        KEY_TIME_OUT_BACK(10004, "钥匙超时未归还"),
        ;
        // 成员变量
        private int key;
        private String info;
        // 构造方法
        WarningConfig(int key,String info) {
            this.key = key;
            this.info = info;
        }
        public int getKey() {
            return key;
        }
        public void setKey(int key) {
            this.key = key;
        }
        public String getInfo() {
            return info;
        }
        public void setInfo(String info) {
            this.info = info;
        }
    }
}