| | |
| | | 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 org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.io.IOException; |
| | | import java.math.BigDecimal; |
| | |
| | | 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 HK_TOKEN_VALIDITY = "HK_TOKEN_VALIDITY"; |
| | | 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 ; |
| | |
| | | public static final String HK_PUSH_URL = "HK_PUSH_URL"; |
| | | public static final String HK_ROOTORG_CODE ="HK_ROOTORG_CODE" ; |
| | | public static final String HK_ROOTORG_NAME ="HK_ROOTORG_NAME" ; |
| | | public static final String PLATFORM ="PLATFORM" ; |
| | | public static final String RESERVATION_TOTAL_NUM ="RESERVATION_TOTAL_NUM" ; |
| | | public static final String SIGN_IN_PLACE_LAT ="SIGN_IN_PLACE_LAT" ; |
| | | 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" ; |
| | | |
| | | |
| | | //被拜访人信息校验方式(0手机号单独校验 1手机号和姓名组合校验) |
| | | public static final String BEVISITED_USER_VALID = "BEVISITED_USER_VALID"; |
| | |
| | | //答题主题 |
| | | public static final String LW_THEME = "LW_THEME"; |
| | | public static final String THEME = "THEME"; |
| | | //上下班 间隔时间 |
| | | 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"; |
| | | |
| | | |
| | | |
| | | |
| | | // 劳务来访配置 |
| | | public static final String LABOR_CONFIG = "LABOR_CONFIG"; |
| | |
| | | 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 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" ; |
| | | 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 final String PLATFORM_BOOKING_TIPS = "PLATFORM_BOOKING_TIPS"; |
| | | public static final String PLATFORM_GUIDEMAP = "PLATFORM_GUIDEMAP"; |
| | | public static final String WSM_PARAM ="WSM_PARAM" ; |
| | | public static final String WMS_INBOUND_PLATFROM_URL ="WMS_INBOUND_PLATFROM_URL" ; |
| | | 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 boolean DEALING_HK_SYNCPRIVILEGE= false; |
| | | public static boolean DEALING_HK_SYNCDEVICE = false; |
| | | public static boolean DEALING_HK_SYNCPLATFORM = false; |
| | | public static boolean DEALING_HK_SYNCDEVICE_STATUS = false; |
| | | public static boolean DEALING_HK_SYNCPLATFORM_STATUS = false; |
| | | public static boolean DEALING_HK_SYNCPARK = false; |
| | | public static boolean DEALING_HK_IMG = false; |
| | | public static boolean DEALING_HK_ORG = false; |
| | |
| | | public static boolean DEALING_HK_EMPOWER_DETAIL = false; |
| | | public static boolean DEALING_HK_EMPOWER_RESULT = false; |
| | | public static boolean DEALING_HK_PARKBOOK = false; |
| | | public static final String SMS ="SMS" ; |
| | | public static final String SMS_COMNAME = "SMS_COMNAME"; |
| | | public static final String SMS_IP ="SMS_IP" ; |
| | | public static final String SMS_PORT ="SMS_PORT" ; |
| | | public static final String SMS_APPKEY="SMS_APPKEY"; |
| | | public static final String SMS_APPSECRET ="SMS_APPSERECT" ; |
| | | // ERP接口配置 |
| | | public static final String ERP_CONFIG = "ERP_CONFIG"; |
| | | // ERP ACCESS_KEY |
| | |
| | | // 超时预警配置 |
| | | public static final String TIMEOUT_WARNING = "TIMEOUT_WARNING"; |
| | | // FTP文件服务器资源访问地址 |
| | | |
| | | |
| | | public static String getRandom6Num( ) { |
| | | Random random = new Random(); |
| | | StringBuilder sb = new StringBuilder(); |
| | | |
| | | for (int i = 0; i < 6; i++) { |
| | | int digit = random.nextInt(10); |
| | | sb.append(digit); |
| | | } |
| | | |
| | | return sb.toString(); |
| | | } |
| | | public interface VisitIccmStatus{ |
| | | //访客状态(0:未签到,1:已签到,2:已签退,3:滞留,4:未访问,5:自动签离,6:未签退) |
| | | int waitSign = 0; |
| | | int signin= 1; |
| | | int signout = 2; |
| | | int noleave =3; |
| | | int novisit =4; |
| | | int autoOut =5; |
| | | int noSignout =6; |
| | | } |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | | * 作业类型 0自有车卸货 1自有车装货 2外协车卸货 3外协车装货 4市公司外协车卸货 |
| | | */ |
| | | public interface platformJobType{ |
| | | int zycxh = 0; |
| | | int zyczh = 1; |
| | | int wxcxh = 2; |
| | | int wxczh = 3; |
| | | int sgscxh = 4; |
| | | } |
| | | |
| | | |
| | | public static Date getBirthdyByCardNo(String idCard){ |
| | | if(idCard ==null || idCard.length()<14){ |
| | |
| | | int signout = 8; |
| | | int invalid =9; |
| | | } |
| | | |
| | | |
| | | public interface EmpowerStatus{ |
| | | //一卡通授权下发状态 0待下发 1已下发 2下发成功 3已取消 4下发失败 5任务下载已结束 |
| | | int wait = 0; |
| | |
| | | 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) { |
| | |
| | | |
| | | |
| | | public interface memberType{ |
| | | int lw_visitor = 0;//劳务访客 |
| | | int driver = 0;//司机人员 |
| | | int visitor = 1;//普通访客 |
| | | int internal = 2;//内部人员 |
| | | } |
| | | |
| | | |
| | | public interface approveObjectType{ |
| | | int unConstructionVisit = 0;//非施工人员访客申请 |
| | | int constructionVisit = 1;//工人员访客申请 |
| | | int visitReporting = 2;//访客报备 |
| | | int cityUseCar = 3;//市内用车 |
| | | int unCityUseCar = 4;//市外用车 |
| | | int logisticsCarUse = 5;//物流车预约 |
| | | int reason = 6;//入园原因 |
| | | } |
| | | |
| | | |
| | | |
| | | 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 if(Constants.equalsInteger(approveType,Constants.approveObjectType.logisticsCarUse)){ |
| | | return Constants.noticesObjectType.logisticsCarUse; |
| | | }else if(Constants.equalsInteger(approveType, approveObjectType.reason)){ |
| | | return noticesObjectType.reason; |
| | | }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;//系统消息 |
| | | int reason = 6;//入园原因 |
| | | } |
| | | |
| | | |
| | |
| | | int auditIng = 1;//审批中 |
| | | int pass = 2;//审批通过 |
| | | int unPass = 3;//审批未通过 |
| | | int otherDeal = 4;//他人已处理 |
| | | int cancel = 4;//已取消 |
| | | int otherDeal = 5;//他人已处理 |
| | | int otherUnPass = 6;//他人拒绝 |
| | | } |
| | | |
| | | /** |
| | |
| | | return reqJson; |
| | | } |
| | | |
| | | |
| | | public enum NoticeType { |
| | | |
| | | ZERO(0, "待审核","","","待审核","待处理","处理中"), |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 月台作业 状态 |
| | | * 0任务创建 1司机确认任务 2司机签到 3入园等待 4月台叫号 5开始作业 6作业完成 7月台转移 8任务挂起 9下发授权离园 10离园 |
| | | */ |
| | | public enum PlatformJobLogType { |
| | | CREATE(0, "任务创建","入园预约成功" ), |
| | | CONFIRM_TASK(1, "司机确认任务","已完成时间确认" ), |
| | | SIGN(2, "司机签到","排队等待叫号"), |
| | | IN_WAIT(3, "入园等待","叫号入园等待" ), |
| | | CALLED(4, "月台叫号","{data}叫号" ), |
| | | WORKING(5, "开始作业","进入{data}开始作业" ), |
| | | DONE(6, "作业完成 ","月台作业完成,驶离月台" ), |
| | | TRANSFERING(7, "月台转移","{data}发起月台转移" ), |
| | | EXCEPTION(8, "任务挂起","作业异常被挂起" ), |
| | | AUTHED_LEAVE(9, "下发授权离园","下发授权离园" ), |
| | | LEAVED(10, "已离园 ","车辆从{data}离场 " ), |
| | | OVER_NUMBER(11, "已过号","超时未到指定月台自动过号" ), |
| | | ; |
| | | |
| | | // 成员变量 |
| | | private int key; |
| | | private String name; |
| | | private String info; |
| | | |
| | | // 构造方法 |
| | | PlatformJobLogType(int key, String name,String info ) { |
| | | this.key = key; |
| | | this.info = info; |
| | | this.name = name; |
| | | } |
| | | public static String getName(int index) { |
| | | for (PlatformJobLogType c : PlatformJobLogType.values()) { |
| | | if (c.getKey() == index) { |
| | | return c.name; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public int getKey() { |
| | | return key; |
| | | } |
| | | |
| | | public void setKey(int key) { |
| | | this.key = key; |
| | | } |
| | | |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | } |
| | | |
| | | public String getInfo() { |
| | | return info; |
| | | } |
| | | |
| | | public void setInfo(String info) { |
| | | this.info = info; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 月台作业 状态 |
| | | * 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 已过号 |
| | | */ |
| | | public enum PlatformJobStatus { |
| | | WAIT_CONFIRM(0, "待确认","待确认" ), |
| | | WART_SIGN_IN(1, "待签到","待签到" ), |
| | | WAIT_CALL(2, "已签到","已签到"), |
| | | IN_WAIT(3, "入园等待","入园等待" ), |
| | | CALLED(4, "已叫号","已叫号" ), |
| | | WORKING(5, "作业中","作业中" ), |
| | | DONE(6, "作业完成 ","作业完成 " ), |
| | | TRANSFERING(7, "转移中","转移中" ), |
| | | EXCEPTION(8, "异常挂起","异常挂起" ), |
| | | AUTHED_LEAVE(9, "已授权离园","已授权离园" ), |
| | | LEAVED(10, "已离园 ","已离园 " ), |
| | | OVER_NUMBER(11, "已过号","已过号" ), |
| | | CANCEL(12, "已取消","已取消" ), |
| | | ; |
| | | |
| | | // 成员变量 |
| | | private int key; |
| | | private String name; |
| | | private String info; |
| | | |
| | | // 构造方法 |
| | | PlatformJobStatus(int key, String name,String info ) { |
| | | this.key = key; |
| | | this.info = info; |
| | | this.name = name; |
| | | } |
| | | public static String getName(int index) { |
| | | for (PlatformJobStatus c : PlatformJobStatus.values()) { |
| | | if (c.getKey() == index) { |
| | | return c.name; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public int getKey() { |
| | | return key; |
| | | } |
| | | |
| | | public void setKey(int key) { |
| | | this.key = key; |
| | | } |
| | | |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | } |
| | | |
| | | public String getInfo() { |
| | | return info; |
| | | } |
| | | |
| | | public void setInfo(String info) { |
| | | this.info = info; |
| | | } |
| | | } |
| | | /** |
| | | * 审批模拟类型 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市公司物流车预约 "), |
| | | PLATFROM_REASON(6, "月台入园原因审批 ", "月台入园原因审批 "), |
| | | ; |
| | | // 成员变量 |
| | | 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, "会议取消","会议取消"), |
| | | MEETING_START(2, "会议即将开始","会议即将开始"), |
| | | ; |
| | | // 成员变量 |
| | | private int key; |
| | | private String name; |
| | | private String info; |
| | | |
| | | // 构造方法 |
| | | NoticeObjectType(int key, String name,String info) { |
| | | this.name = name; |
| | | this.key = key; |
| | | this.info = info; |
| | | } |
| | | |
| | | // 普通方法 |
| | | public static String getName(int index) { |
| | | for (NoticeObjectType c : NoticeObjectType.values()) { |
| | | if (c.getKey() == index) { |
| | | return c.name; |
| | | } |
| | | } |
| | | 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 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); |
| | | T reqJson = mapper.readValue(json, clazz); |
| | | return reqJson; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 员工信息维护操作历史类型 0解冻 1冻结 2拉黑 3恢复 4设为拜访人 5取消拜访人 6设为高级审批人 7取消高级审批人 8手动离场 9删除 10更新 11授权门禁权限 12离职 13恢复在职 |
| | | */ |
| | |
| | | this.info = info; |
| | | } |
| | | } |
| | | |
| | | public enum NoticeObjectType { |
| | | MEETING_BOOK_SUCCESS(0, "会与预定成功","会与预定成功"), |
| | | MEETING_CACEL(1, "会议取消","会议取消"), |
| | | MEETING_START(2, "会议即将开始","会议即将开始"), |
| | | /** |
| | | * 关联对象类型 |
| | | 关联对象类型 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 int key; |
| | | private String name; |
| | | private String info; |
| | | private int key; |
| | | private String noteinfo;// 描述 |
| | | |
| | | // 构造方法 |
| | | NoticeObjectType(int key, String name,String info) { |
| | | MultiFile(int key, String name, String noteinfo) { |
| | | this.name = name; |
| | | this.key = key; |
| | | this.info = info; |
| | | this.noteinfo = noteinfo; |
| | | } |
| | | |
| | | // 普通方法 |
| | | public static String getName(int index) { |
| | | for (NoticeObjectType c : NoticeObjectType.values()) { |
| | | 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() { |
| | |
| | | this.key = key; |
| | | } |
| | | |
| | | public String getInfo() { |
| | | return info; |
| | | public String getNoteinfo() { |
| | | return noteinfo; |
| | | } |
| | | |
| | | 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); |
| | | T reqJson = mapper.readValue(json, clazz); |
| | | return reqJson; |
| | | } |
| | | |
| | | } |