|  |  |  | 
|---|
|  |  |  | import java.io.IOException; | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.net.URLDecoder; | 
|---|
|  |  |  | import java.net.URLEncoder; | 
|---|
|  |  |  | import java.text.SimpleDateFormat; | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.Arrays; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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" ; | 
|---|
|  |  |  | public static final String LOGIN_OUT_URL ="LOGIN_OUT" ; | 
|---|
|  |  |  | public static final String HK_APPSECRET ="HK_APPSECRET" ; | 
|---|
|  |  |  | 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 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" ; | 
|---|
|  |  |  | public static final String HK_ROOTORG_NAME ="HK_ROOTORG_NAME" ; | 
|---|
|  |  |  | public static final String PLATFORM ="PLATFORM" ; | 
|---|
|  |  |  | public static final String POWER_MINUTE ="POWER_MINUTE" ; | 
|---|
|  |  |  | public static final String SPECIAL_COMPANY_ID ="SPECIAL_COMPANY_ID" ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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" ; | 
|---|
|  |  |  | public static final String SIGN_IN_ATTENTION ="SIGN_IN_ATTENTION" ; | 
|---|
|  |  |  | public static final String SIGN_IN_QRCODE_PREFIX ="SIGN_IN_QRCODE_PREFIX" ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //被拜访人信息校验方式(0手机号单独校验 1手机号和姓名组合校验) | 
|---|
|  |  |  | 
|---|
|  |  |  | 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"; | 
|---|
|  |  |  | 
|---|
|  |  |  | public static final String FTP_USERNAME ="FTP_USERNAME" ; | 
|---|
|  |  |  | public static final String FTP_PWD ="FTP_PWD" ; | 
|---|
|  |  |  | 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 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 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 WX_REDIRECT_URL = "WX_REDIRECT_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_DEL_USER = false; | 
|---|
|  |  |  | public static  boolean DEALING_HK_VISIT = false; | 
|---|
|  |  |  | public static  boolean DEALING_HK_VISIT_EXPIRE = false; | 
|---|
|  |  |  | public static  boolean DEALING_HK_NOTICE_LIST = false; | 
|---|
|  |  |  | public static  boolean DEALING_FROM_HK_VISIT = false; | 
|---|
|  |  |  | public static  boolean DEALING_HK_EMPOWER = false; | 
|---|
|  |  |  | public static  boolean DEALING_HK_EMPOWER_DETAIL = false; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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.replace("${type}",paramCode.type+"").replace("${yw}",paramCode.yw).replace("${ywid}",ywid),"UTF-8"); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return url; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public interface VisitIccmStatus{ | 
|---|
|  |  |  | //访客状态(0:未签到,1:已签到,2:已签退,3:滞留,4:未访问,5:自动签离,6:未签退) | 
|---|
|  |  |  | int waitSign = 0; | 
|---|
|  |  |  | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *   判断是否为有效车牌号 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | int l = s.length(); | 
|---|
|  |  |  | if(Constants.equalsInteger(l,7)){ | 
|---|
|  |  |  | return s.substring(0,3)+"***"+s.substring(l-1,l); | 
|---|
|  |  |  | return s.substring(0,3)+"**"+s.substring(l-2,l); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(l <= 8){ | 
|---|
|  |  |  | return s.substring(0,3)+"****"+s.substring(l-1,l); | 
|---|
|  |  |  | return s.substring(0,3)+"***"+s.substring(l-2,l); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return s; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | int invalid =9; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public interface EmpowerStatus{ | 
|---|
|  |  |  | //一卡通授权下发状态 0待下发 1已下发 2下发成功   3已取消 4下发失败 5任务下载已结束 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //保留两位小数且四舍五入 | 
|---|
|  |  |  | d = d.setScale(4, 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static BigDecimal formatBigdecimal2Float(BigDecimal d) { | 
|---|
|  |  |  | if (d == null) { | 
|---|
|  |  |  | d = new BigDecimal(0.0); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //保留两位小数且四舍五入 | 
|---|
|  |  |  | d = d.setScale(2, BigDecimal.ROUND_HALF_UP); | 
|---|
|  |  |  | return  d; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | int logisticsCarUse = 4;//物流车审批 | 
|---|
|  |  |  | int system = 5;//系统消息 | 
|---|
|  |  |  | int reason = 6;//入园原因 | 
|---|
|  |  |  | int hknotice = 7;//海康考勤代办 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static void main(String[] args) { | 
|---|
|  |  |  | System.out.println(Constants.carCodeTuominStr("皖A10991")); | 
|---|
|  |  |  | System.out.println(Constants.carCodeTuominStr("皖AA10991")); | 
|---|
|  |  |  | System.out.println(Constants.checkCarNo("皖A10991")); | 
|---|
|  |  |  | System.out.println(Constants.checkCarNo("皖AA10991")); | 
|---|
|  |  |  | //        System.out.println(Constants.getVehiclePlateNo("湘B140D17").getDescription()); | 
|---|
|  |  |  | //        System.out.println(Constants.getVehiclePlateNo("宿AP0637").getDescription()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | * 5、超时停靠:1号月台 皖A12345 当前车辆超时停靠,请尽快驶离 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  enum PlatformLedContent { | 
|---|
|  |  |  | IDEL_CONTNET(1, "空闲中","{param}" ), | 
|---|
|  |  |  | IDEL_CONTNET(1, "空闲中","安泰物流有限责任公司" ), | 
|---|
|  |  |  | CALLING(2, "叫号中","${param} ${param2}  叫号中"), | 
|---|
|  |  |  | WORKING(3, "作业中","${param} ${param2} 作业中" ), | 
|---|
|  |  |  | WRONG_IN(4, "错误停靠","${param} ${param2} 当前车辆错误停靠,请尽快驶离" ), | 
|---|
|  |  |  | 
|---|
|  |  |  | CALLING(1, "叫号中","${param}请前往${param2}等待作业"), | 
|---|
|  |  |  | DONE(2, "作业完成","${param}作业完成,请尽快驶离" ), | 
|---|
|  |  |  | WRONG_IN(3, "错误停靠","${param}月台停靠错误,请尽快驶离" ), | 
|---|
|  |  |  | TIMEOUT_IN(4, "超时停靠","${param}月台停靠超时,请尽快驶离请尽快驶离" ), | 
|---|
|  |  |  | TIMEOUT_IN(4, "超时停靠","${param}月台停靠超时,请尽快驶离" ), | 
|---|
|  |  |  | TIMEOUT_WORK(5, "作业超时","${param}作业超时" ), | 
|---|
|  |  |  | ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | this.info = info; | 
|---|
|  |  |  | this.name = name; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static String getName(int index) { | 
|---|
|  |  |  | for (PlatformBroadcastContent c : PlatformBroadcastContent.values()) { | 
|---|
|  |  |  | if (c.getKey() == index) { | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 月台作业 状态 | 
|---|
|  |  |  | * 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 已过号 | 
|---|
|  |  |  | * 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 已过号 12已取消 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  enum PlatformJobStatus { | 
|---|
|  |  |  | WAIT_CONFIRM(0, "待确认","待确认" ), | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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); | 
|---|