|  |  |  | 
|---|
|  |  |  | 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 org.apache.commons.collections4.CollectionUtils; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 int TWO = 2 ; | 
|---|
|  |  |  | public static final String HK_PARAM ="HK_PARAM" ; | 
|---|
|  |  |  | 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 HK_APPSECRET ="HK_APPSECRET" ; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 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 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 final String TIMEOUT_WARNING = "TIMEOUT_WARNING"; | 
|---|
|  |  |  | // FTP文件服务器资源访问地址 | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static String getRandom6Num( ) { | 
|---|
|  |  |  | Random random = new Random(); | 
|---|
|  |  |  | 
|---|
|  |  |  | int cityUseCar = 3;//市内用车 | 
|---|
|  |  |  | int unCityUseCar = 4;//市外用车 | 
|---|
|  |  |  | int logisticsCarUse = 5;//物流车预约 | 
|---|
|  |  |  | int reason = 6;//入园原因 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | }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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | int dangerDeal = 3;//隐患处理 | 
|---|
|  |  |  | int logisticsCarUse = 4;//物流车审批 | 
|---|
|  |  |  | int system = 5;//系统消息 | 
|---|
|  |  |  | int reason = 6;//入园原因 | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public  enum PlatformWarnEvent { | 
|---|
|  |  |  | STOP_TIMEOUT(0, "停靠超时","${carCode}月台停靠超时" ), | 
|---|
|  |  |  | STOP_ERROR(1, "停靠错误","${carCode}月台停靠错误" ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | private int key; | 
|---|
|  |  |  | private String name; | 
|---|
|  |  |  | private String info; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 构造方法 | 
|---|
|  |  |  | PlatformWarnEvent(int key, String name,String info ) { | 
|---|
|  |  |  | this.key = key; | 
|---|
|  |  |  | this.info = info; | 
|---|
|  |  |  | this.name = name; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static String getName(int index) { | 
|---|
|  |  |  | for (PlatformWarnEvent c : PlatformWarnEvent.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离园 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 月台作业大屏文案 状态 | 
|---|
|  |  |  | * 1、月台空闲:1号月台(月台名称) | 
|---|
|  |  |  | * 2、叫号中:1号月台 皖A12345  叫号中 | 
|---|
|  |  |  | * 3、作业中:1号月台 皖A12345 作业中 | 
|---|
|  |  |  | * 4、错误停靠:1号月台 皖A12345 当前车辆错误停靠,请尽快驶离 | 
|---|
|  |  |  | * 5、超时停靠:1号月台 皖A12345 当前车辆超时停靠,请尽快驶离 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  enum PlatformLedContent { | 
|---|
|  |  |  | IDEL_CONTNET(1, "空闲中","{param}" ), | 
|---|
|  |  |  | CALLING(2, "叫号中","${param} ${param2}  叫号中"), | 
|---|
|  |  |  | WORKING(3, "作业中","${param} ${param2} 作业中" ), | 
|---|
|  |  |  | WRONG_IN(4, "错误停靠","${param} ${param2} 当前车辆错误停靠,请尽快驶离" ), | 
|---|
|  |  |  | TIMEOUT_IN(5, "超时停靠","${param} ${param2} 当前车辆超时停靠,请尽快驶离" ), | 
|---|
|  |  |  | ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | private int key; | 
|---|
|  |  |  | private String name; | 
|---|
|  |  |  | private String info; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 构造方法 | 
|---|
|  |  |  | PlatformLedContent(int key, String name,String info ) { | 
|---|
|  |  |  | this.key = key; | 
|---|
|  |  |  | this.info = info; | 
|---|
|  |  |  | this.name = name; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static String getName(int index) { | 
|---|
|  |  |  | for (PlatformLedContent c : PlatformLedContent.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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 广播通知内容 | 
|---|
|  |  |  | 1. 叫号中:皖A12345请前往1号月台等待作业 | 
|---|
|  |  |  | 2. 作业完成:皖A12345作业完成,请尽快驶离 | 
|---|
|  |  |  | 3. 错误停靠:皖A12345月台停靠错误,请尽快驶离 | 
|---|
|  |  |  | 4. 超时停靠:皖A12345月台停靠超时,请尽快驶离请尽快驶离 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  enum PlatformBroadcastContent { | 
|---|
|  |  |  | CALLING(1, "叫号中"," ${param}请前往${param2}等待作业"), | 
|---|
|  |  |  | DONE(2, "作业完成","${param}作业完成,请尽快驶离" ), | 
|---|
|  |  |  | WRONG_IN(3, "错误停靠","${param}月台停靠错误,请尽快驶离" ), | 
|---|
|  |  |  | TIMEOUT_IN(4, "超时停靠","${param}月台停靠超时,请尽快驶离请尽快驶离" ), | 
|---|
|  |  |  | ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | private int key; | 
|---|
|  |  |  | private String name; | 
|---|
|  |  |  | private String info; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 构造方法 | 
|---|
|  |  |  | PlatformBroadcastContent(int key, String name,String info ) { | 
|---|
|  |  |  | this.key = key; | 
|---|
|  |  |  | this.info = info; | 
|---|
|  |  |  | this.name = name; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public static String getName(int index) { | 
|---|
|  |  |  | for (PlatformBroadcastContent c : PlatformBroadcastContent.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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 月台作业 状态 | 
|---|
|  |  |  | 
|---|
|  |  |  | public  enum PlatformJobStatus { | 
|---|
|  |  |  | WAIT_CONFIRM(0, "待确认","待确认" ), | 
|---|
|  |  |  | WART_SIGN_IN(1, "待签到","待签到" ), | 
|---|
|  |  |  | WAIT_CALL(2, "已签到","已签到"), //等待叫号入园 | 
|---|
|  |  |  | IN_WAIT(3, "入园等待","入园等待" ),//已入园 未叫号进入月台 | 
|---|
|  |  |  | WAIT_CALL(2, "已签到","已签到"), | 
|---|
|  |  |  | IN_WAIT(3, "入园等待","入园等待" ), | 
|---|
|  |  |  | CALLED(4, "已叫号","已叫号" ), | 
|---|
|  |  |  | WORKING(5, "作业中","作业中" ), | 
|---|
|  |  |  | DONE(6, "作业完成 ","作业完成 " ), | 
|---|
|  |  |  | DONE(6, "作业完成 ","作业完成" ), | 
|---|
|  |  |  | TRANSFERING(7, "转移中","转移中" ), | 
|---|
|  |  |  | EXCEPTION(8, "异常挂起","异常挂起" ), | 
|---|
|  |  |  | AUTHED_LEAVE(9, "已授权离园","已授权离园" ), | 
|---|
|  |  |  | LEAVED(10, "已离园 ","已离园 " ), | 
|---|
|  |  |  | OVER_NUMBER(11, "已过号","已过号" ), | 
|---|
|  |  |  | CANCEL(12, "已取消","已取消" ), | 
|---|
|  |  |  | ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | 
|---|
|  |  |  | IN_CITY_CAR_USE(3, "公车市内用车 ", "公车市内用车 "), | 
|---|
|  |  |  | OUT_CITY_CAR_USE(4, "公车室外用车 ", "公车室外用车 "), | 
|---|
|  |  |  | CITY_WLC_BOOK(5, "市公司物流车预约 ", "5市公司物流车预约 "), | 
|---|
|  |  |  | PLATFROM_REASON(6, "月台入园原因审批 ", "月台入园原因审批 "), | 
|---|
|  |  |  | ; | 
|---|
|  |  |  | // 成员变量 | 
|---|
|  |  |  | private String name; | 
|---|
|  |  |  | 
|---|
|  |  |  | T reqJson =  mapper.readValue(json, clazz); | 
|---|
|  |  |  | return reqJson; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 员工信息维护操作历史类型 0解冻 1冻结 2拉黑 3恢复 4设为拜访人 5取消拜访人 6设为高级审批人 7取消高级审批人 8手动离场 9删除 10更新 11授权门禁权限 12离职 13恢复在职 | 
|---|
|  |  |  | */ | 
|---|