jiangping
2024-05-31 6be28040e74e1ff7764478174a9b5d706fe4fc39
server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -5,22 +5,27 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URLDecoder;
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;
import java.util.regex.Pattern;
public class Constants {
    public static final String HEADER_USER_TOKEN = "dm_user_token";
    public static final String REDIS_TOKEN_KEY = "token_";
    public static final String REDIS_HK_TOKEN_KEY = "hk_token_";
    public static final String[]  ALL_SPELL_LIST_FIRST = new String[]{"A", "B", "C", "D", "E", "F", "G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
    public static final int ZERO = 0 ;
    public static final int ONE = 1 ;
@@ -66,6 +71,8 @@
    public static final String WORK_START = "WORK_START";
    public static final String WORK_END = "WORK_END";
    public static final String INTERVAL = "INTERVAL";
    public static final String USE_CAR_TAKE_CARE = "USE_CAR_TAKE_CARE";
@@ -93,6 +100,10 @@
    public static final String CLOUD_SERVICE_URL_INDEX = "/cloudService";
    public static final String VISIT_TIPS = "VISIT_TIPS";
    public static final String VISIT_GUIDEMAP = "VISIT_GUIDEMAP";
    public static final String HIDDEN_DANGER_FILE = "HIDDEN_DANGER_FILE";
    public static final String LOG_DEL_DAYS_LIMIT ="LOG_DEL_DAYS_LIMIT" ;
    public static final String HK_LOG_DEL_DAYS_LIMIT ="HK_LOG_DEL_DAYS_LIMIT" ;
    public static final String HK_NGINX_URL = "HK_NGINX_URL";
    public static  boolean DEALING_HK_SYNCPRIVILEGE= false;
    public static  boolean DEALING_HK_SYNCDEVICE = false;
    public static  boolean DEALING_HK_SYNCDEVICE_STATUS = false;
@@ -140,6 +151,14 @@
        return sb.toString();
    }
    public interface DATAPERMISSION_TYPE{
        public static final  int all = 0;
        public static final  int departAndChild = 1;
        public static final  int departAndLeaf = 2;
        public static final  int depart = 3;
        public static final  int custom = 4;
        public static final  int self = -1;
    }
    public static  Date  getBirthdyByCardNo(String idCard){
    if(idCard ==null || idCard.length()<14){
        return null;
@@ -217,6 +236,29 @@
        return s.substring(0,5)+"*******"+s.substring(l-6,l);
}
    /**
     * 切分逗号拼接的整形集合
     * @param memberIds
     * @return
     */
    public static List<Integer> getIntegerListByStrs(String memberIds) {
        List<Integer> idsList = null;
        try {
            String[] strs = memberIds.split(",");
            for(String id :strs){
                if(idsList == null){
                    idsList = new ArrayList<>();
                }
                idsList.add(Integer.parseInt(id));
            }
        }catch (Exception e){
        }
        return idsList;
    }
    /**
     * mq tag
@@ -256,14 +298,6 @@
         int signin= 7;
         int signout =  8;
         int invalid =9;
    }
    public interface multifileObjType{
        //0隐患现场情况 1隐患处理前情况 2隐患处理后情况 3隐患退回说明
        int zero = 0;
        int one = 1;
        int two = 2;
        int three = 3;
    }
@@ -345,15 +379,6 @@
        return  d;
    }
    public static boolean equalsObject(Object a, Object b) {
        if (a == null && b == null) {
            return true;
        }
        if (a != null){
            return a.equals(b);
        }
        return false;
    }
    public static boolean equalsInteger(Integer a, Integer b) {
@@ -385,12 +410,52 @@
}
public interface  approveObjectType{
    int unConstructionVisit = 0;//非施工人员访客申请
    int constructionVisit = 1;//工人员访客申请
    int visitReporting = 2;//访客报备
    int cityUseCar = 3;//市内用车
    int unCityUseCar = 4;//市外用车
    int logisticsCarUse = 5;//物流车预约
}
public static Integer  approveTypeToNoticeType(Integer approveType){
    if(Constants.equalsInteger(approveType,Constants.approveObjectType.unConstructionVisit)
            ||Constants.equalsInteger(approveType,Constants.approveObjectType.constructionVisit)){
        return Constants.noticesObjectType.visit;
    }else if(Constants.equalsInteger(approveType,Constants.approveObjectType.visitReporting)){
        return Constants.noticesObjectType.visitReporting;
    }else if(Constants.equalsInteger(approveType,Constants.approveObjectType.cityUseCar)
            ||Constants.equalsInteger(approveType,Constants.approveObjectType.unCityUseCar)){
        return Constants.noticesObjectType.useCar;
    }else {
        return Constants.noticesObjectType.system;
    }
}
    public interface  noticesObjectType{
    int visit = 0;//访客申请
    int visitReporting = 1;//访客报备
    int useCar = 2;//用车申请
    int dangerDeal = 3;//隐患处理
    int logisticsCarUse = 4;//物流车审批
    int system = 5;//系统消息
}
public interface  approveStatus{
    int wait = 0;//待审批
    int auditIng = 1;//审批中
    int pass = 2;//审批通过
    int unPass = 3;//审批未通过
    int otherDeal = 4;//他人已处理
    int cancel = 4;//已取消
    int otherDeal = 5;//他人已处理
    int otherUnPass = 6;//他人拒绝
}
    /**
@@ -529,6 +594,8 @@
        String reqJson = mapper.writeValueAsString(object);
        return reqJson;
    }
    public  enum NoticeType {
@@ -697,7 +764,138 @@
            this.info = info;
        }
    }
    /**
     * 关联对象类型
     关联对象类型 0企业营业执照 1理赔报案事故视频或图片 2理赔员工关系证明材料 3理赔门诊资料 4理赔住院资料 5理赔伤残资料 6理赔赔付结案材料 7企业身份证号 8保单申请表PDF 9签署后保单申请表PDF 10企业签章 11最终报单
     */
    public  enum MultiFile{
        HIDDEN_DANGER_SUBMIT(0, "隐患随手拍提报", "隐患随手拍提报"),
        HIDDEN_DANGER_DEAL_BEFORE(1, "隐患随手拍处理前", "隐患随手拍处理前"),
        HIDDEN_DANGER_DEAL_AFTER(2, "隐患随手拍处理后 ", "隐患随手拍处理后 "),
        ;
        // 成员变量
        private String name;
        private int key;
        private String noteinfo;// 描述
        // 构造方法
        MultiFile(int key, String name, String noteinfo) {
            this.name = name;
            this.key = key;
            this.noteinfo = noteinfo;
        }
        // 普通方法
        public static String getName(int index) {
            for (MultiFile c : MultiFile.values()) {
                if (c.getKey() == index) {
                    return c.name;
                }
            }
            return null;
        }
        // 普通方法
        public static String getInfo(int index) {
            for (MultiFile c : MultiFile.values()) {
                if (c.getKey() == index) {
                    return c.noteinfo;
                }
            }
            return null;
        }
        // get set 方法
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getKey() {
            return key;
        }
        public void setKey(int key) {
            this.key = key;
        }
        public String getNoteinfo() {
            return noteinfo;
        }
    }
    /**
     * 审批模拟类型 0非施工人员访客申请 1非施工人员访客申请 2访客报备 3公车市内用车 4公车室外用车 5市公司物流车预约
     */
    public  enum ApproveTmplType{
        NOT_SG_VISIT(0, "非施工人员访客申请", "非施工人员访客申请"),
        SG_VISIT(1, "施工人员访客申请", "施工人员访客申请"),
        CAR_VISIT(2, "访客报备 ", "访客报备 "),
        IN_CITY_CAR_USE(3, "公车市内用车 ", "公车市内用车 "),
        OUT_CITY_CAR_USE(4, "公车室外用车 ", "公车室外用车 "),
        CITY_WLC_BOOK(5, "市公司物流车预约 ", "5市公司物流车预约 "),
        ;
        // 成员变量
        private String name;
        private int key;
        private String noteinfo;// 描述
        // 构造方法
        ApproveTmplType(int key, String name, String noteinfo) {
            this.name = name;
            this.key = key;
            this.noteinfo = noteinfo;
        }
        // 普通方法
        public static String getName(int index) {
            for (ApproveTmplType c : ApproveTmplType.values()) {
                if (c.getKey() == index) {
                    return c.name;
                }
            }
            return null;
        }
        // 普通方法
        public static String getInfo(int index) {
            for (ApproveTmplType c : ApproveTmplType.values()) {
                if (c.getKey() == index) {
                    return c.noteinfo;
                }
            }
            return null;
        }
        // get set 方法
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getKey() {
            return key;
        }
        public void setKey(int key) {
            this.key = key;
        }
        public String getNoteinfo() {
            return noteinfo;
        }
    }
    public  enum NoticeObjectType {
        MEETING_BOOK_SUCCESS(0, "会与预定成功","会与预定成功"),
        MEETING_CACEL(1, "会议取消","会议取消"),