| | |
| | | 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 net.sourceforge.pinyin4j.PinyinHelper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.io.IOException; |
| | | import java.math.BigDecimal; |
| | | import java.net.URLDecoder; |
| | | import java.text.Collator; |
| | | 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; |
| | |
| | | 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 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" ; |
| | | 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 VISIT_CONFIG = "VISIT_CONFIG"; |
| | | public static final String MEMBER_IMG = "MEMBER_IMG"; |
| | | 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 HEALTH_CARD = "HEALTH_CARD"; |
| | |
| | | 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 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" ; |
| | |
| | | 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 WMS_PARAM ="WMS_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 final String TSM_PARAM ="TSM_PARAM" ; |
| | | 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 TEMPERATURE_HUMIDITY ="TEMPERATURE_HUMIDITY" ; |
| | | |
| | | 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 WMS_LIQUID_LEVEL ="WMS_LIQUID_LEVEL" ; |
| | | public static final String WMS_PRESSURE_LEVEL ="WMS_PRESSURE_LEVEL" ; |
| | | public static final String WX_REDIRECT_URL = "WX_REDIRECT_URL"; |
| | | public static final String HK_CHANGNEI_SCREEN_INDEXCODES = "HK_CHANGNEI_SCREEN_INDEXCODES"; |
| | | public static final String CITY_XH_REASON_ID ="CITY_XH_REASON_ID" ; |
| | | public static final String ATWL_XH_PLATFORM_ID ="ATWL_XH_PLATFORM_ID" ; |
| | | 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 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,"UTF-8"); |
| | | // }catch (Exception e){ |
| | | // |
| | | // } |
| | | return url; |
| | | } |
| | | |
| | | public interface VisitIccmStatus{ |
| | | //访客状态(0:未签到,1:已签到,2:已签退,3:滞留,4:未访问,5:自动签离,6:未签退) |
| | | int waitSign = 0; |
| | |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 判断是否为有效车牌号 |
| | | */ |
| | |
| | | } |
| | | return s.substring(0,5)+"*******"+s.substring(l-6,l); |
| | | } |
| | | |
| | | |
| | | public static String carCodeTuominStr(String s){ |
| | | if(StringUtils.isEmpty(s)){ |
| | | return ""; |
| | | } |
| | | int l = s.length(); |
| | | if(l >= 7){ |
| | | String tt = ""; |
| | | for (int i = 0; i < l-6; i++) { |
| | | tt = tt+"*"; |
| | | } |
| | | return s.substring(0,2)+tt+s.substring(l-4,l); |
| | | } |
| | | return s; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 切分逗号拼接的整形集合 |
| | |
| | | int invalid =9; |
| | | } |
| | | |
| | | /** |
| | | * 0=访客车辆-访客车辆 |
| | | * 1=wms推送的物流车辆(非自有车):货运车辆-外协运输车辆 |
| | | * 2= 市公司的预约入园车辆:货运车辆-市公司卸货车辆 |
| | | * 3= 安泰的预约入园车辆:货运车辆-加工烟卸货车辆 |
| | | * 4= 安泰公务车:公务车-安泰物流公务用车 |
| | | * 5= 安泰自有车:货运车辆-安泰物流货运车辆 |
| | | */ |
| | | public interface RetentionCarType{ |
| | | //车辆类型 0内部车辆 1相关方车辆 2访客车辆 3内运物流车 4外协车辆 5市公司卸货车 |
| | | //作业类型 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;//货运司机 |
| | | } |
| | | |
| | | |
| | | 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; |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 运单了单位类型 0万支 1箱 |
| | | */ |
| | | public static final int UNIT_TYPE =1; |
| | | public interface memberType{ |
| | | int driver = 0;//司机人员 |
| | | int visitor = 1;//普通访客 |
| | | int internal = 2;//内部人员 |
| | | int gkuser = 3;//管控人员(运单查询) |
| | | } |
| | | |
| | | |
| | |
| | | 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){ |
| | |
| | | |
| | | |
| | | |
| | | public interface noticesObjectType{ |
| | | int visit = 0;//访客申请 |
| | | int visitReporting = 1;//访客报备 |
| | | int useCar = 2;//用车申请 |
| | | int dangerDeal = 3;//隐患处理 |
| | | int logisticsCarUse = 4;//物流车审批 |
| | | int system = 5;//系统消息 |
| | | int reason = 6;//入园原因 |
| | | } |
| | | |
| | | |
| | | public interface approveStatus{ |
| | |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | System.out.println(Constants.getVehiclePlateNo("皖AA10991").getDescription()); |
| | | // getChinesePingyin("DDaa江萍的对对对"); |
| | | // System.out.println(DateUtil.getShortTime(new Date())); |
| | | // System.out.println( "2025-01-14 10:50:56".substring(0,10)); |
| | | // System.out.println(Constants.checkCarNo("皖AA10991")); |
| | | // System.out.println(Constants.getVehiclePlateNo("湘B140D17").getDescription()); |
| | | // System.out.println(Constants.getVehiclePlateNo("宿AP0637").getDescription()); |
| | | |
| | | |
| | | System.out.println( "{\"data\":{\"paramValues\":{\"accessType\":\"2\",\"certTypes\":\"111\",\"certificateNos\":\"340122199904297373\",\"defineEventType\":\"771760131\",\"eventId\":\"6eb4a18bf3744c4385adb37eecdc9d37_634acece3fcf0_3d87\",\"eventType\":\"541200060\",\"eventTypeName\":\"\",\"extEventCardNo\":\"\",\"extEventPictureURL\":\"/pic?9d9c568c1a2do-4el*71-871o9=1524*7l9=0507*3607416=7147*=t212**ps5=2*8b9=559838d9837371-b162of-5pi2dc3=88=20c\",\"extEventReaderID\":\"\",\"extEventReaderKind\":\"\",\"gateIndex\":\"fc92c663ffb9420994f2574469f35e2d\",\"gateName\":\"安泰西门\",\"happenTime\":\"2025-05-09T13:06:13.000+08:00\",\"inOrOut\":\"0\",\"invoicesIds\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"parkIndex\":\"1c4cdb8b66ed4c23bacb385c3fb6c46b\",\"parkName\":\"停车场\",\"phones\":\"19956520776\",\"plateNos\":\"皖AAA1652\",\"srcIndex\":\"6eb4a18bf3744c4385adb37eecdc9d37\",\"srcName\":\"\",\"srcParentIndex\":\"\",\"srcType\":\"roadway\",\"svrIndexCode\":\"eae18a71-1ffd-4e72-bcf6-998c5977630d\",\"userType\":\"\",\"visitorNames\":\"俞扬\"},\"targetPerson\":{\"certType\":\"111\",\"createTime\":\"2024-08-19T17:43:09.966+08:00\",\"jobNo\":\"18055162696\",\"mobile\":\"18055162696\",\"name\":\"朱之萌\",\"orgId\":\"d815b989-877a-40e7-8f34-a5388295a3d2\",\"orgPathName\":\"安泰物流园区/安泰物流/综合管理科\",\"personId\":\"1d8d42233bce4722a741917de4195084\",\"personNumber\":\"18055162696\",\"pinyin\":\"zhuzhimeng\",\"sex\":\"1\",\"updateTime\":\"2025-05-09T11:20:42.000+08:00\",\"userName\":\"18055162696\"},\"visitorInformationList\":[{\"appointmentCode\":\"947384\",\"cardNo\":\"6206767065588\",\"certNo\":\"340122199904297373\",\"certType\":111,\"companionPerson\":\"0\",\"createTime\":\"2025-05-09T13:04:26.740+08:00\",\"faceUrl\":\"2ffa5b542ec2448f9033e6901b326f44\",\"phone\":\"19956520776\",\"plateNo\":\"皖AAA1652\",\"sex\":1,\"unit\":\"安徽东百保安服务有限公司\",\"updateTime\":\"2025-05-09T13:05:36.472+08:00\",\"visitNum\":\"0\",\"visitorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"visitorName\":\"俞扬\"}],\"visitorInvoices\":{\"appointmentType\":\"3\",\"authIssueStatus\":\"1\",\"beginTime\":\"2025-05-09T13:01:00.000+08:00\",\"campusId\":\"root000000\",\"campusName\":\"默认园区\",\"createTime\":\"2025-05-09T13:04:26.693+08:00\",\"extendJson\":\"\",\"finishTime\":\"2025-05-09T14:01:00.000+08:00\",\"ifInfoAbnormal\":\"0\",\"invoicesId\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"invoicesNo\":\"FK20250509130002\",\"invoicesStatus\":\"1\",\"isRepast\":\"0\",\"type\":\"0\",\"updateTime\":\"2025-05-09T13:05:30.372+08:00\",\"visitReason\":\"-1\",\"visitReasonName\":\"其他\",\"visitTargetId\":\"1d8d42233bce4722a741917de4195084\",\"workflowInitiatorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"workflowInitiatorType\":\"0\",\"workflowInstanceId\":\"7010a8521de54f088331e7176b82fd10\"}},\"eventId\":\"b5024c7b6c8b4b5587baf42dc5bce025\",\"eventType\":541200060,\"happenTime\":\"2025-05-09T13:06:14+08:00\",\"srcIndex\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"srcType\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"status\":0,\"timeout\":0}"); |
| | | System.out.println("{\"data\":{\"paramValues\":{\"accessType\":\"2\",\"certTypes\":\"111\",\"certificateNos\":\"340122199904297373\",\"defineEventType\":\"771760134\",\"eventId\":\"6cf8a9b5cb614bddb74f338701975ade_634ad693b6b33_3db4\",\"eventType\":\"541200060\",\"eventTypeName\":\"\",\"extEventCardNo\":\"\",\"extEventPictureURL\":\"/pic?9d9c568c1a2do-4el*81-891*9o3=5563*4l0=0206706794t6=318**ps==515b*=5698*8d9835393-b9667f-1pi1dco=852c2=083\",\"extEventReaderID\":\"\",\"extEventReaderKind\":\"\",\"gateIndex\":\"fc92c663ffb9420994f2574469f35e2d\",\"gateName\":\"安泰西门\",\"happenTime\":\"2025-05-09T13:40:59.000+08:00\",\"inOrOut\":\"1\",\"invoicesIds\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"parkIndex\":\"1c4cdb8b66ed4c23bacb385c3fb6c46b\",\"parkName\":\"停车场\",\"phones\":\"19956520776\",\"plateNos\":\"皖AAA1652\",\"srcIndex\":\"6cf8a9b5cb614bddb74f338701975ade\",\"srcName\":\"\",\"srcParentIndex\":\"\",\"srcType\":\"roadway\",\"svrIndexCode\":\"eae18a71-1ffd-4e72-bcf6-998c5977630d\",\"userType\":\"\",\"visitorNames\":\"俞扬\"},\"targetPerson\":{\"certType\":\"111\",\"createTime\":\"2024-08-19T17:43:09.966+08:00\",\"jobNo\":\"18055162696\",\"mobile\":\"18055162696\",\"name\":\"朱之萌\",\"orgId\":\"d815b989-877a-40e7-8f34-a5388295a3d2\",\"orgPathName\":\"安泰物流园区/安泰物流/综合管理科\",\"personId\":\"1d8d42233bce4722a741917de4195084\",\"personNumber\":\"18055162696\",\"pinyin\":\"zhuzhimeng\",\"sex\":\"1\",\"updateTime\":\"2025-05-09T11:20:42.000+08:00\",\"userName\":\"18055162696\"},\"visitorInformationList\":[{\"appointmentCode\":\"947384\",\"cardNo\":\"6206767065588\",\"certNo\":\"340122199904297373\",\"certType\":111,\"companionPerson\":\"0\",\"createTime\":\"2025-05-09T13:04:26.740+08:00\",\"faceUrl\":\"2ffa5b542ec2448f9033e6901b326f44\",\"phone\":\"19956520776\",\"plateNo\":\"皖AAA1652\",\"sex\":1,\"unit\":\"安徽东百保安服务有限公司\",\"updateTime\":\"2025-05-09T13:05:36.472+08:00\",\"visitNum\":\"0\",\"visitorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"visitorName\":\"俞扬\"}],\"visitorInvoices\":{\"appointmentType\":\"3\",\"authIssueStatus\":\"1\",\"beginTime\":\"2025-05-09T13:01:00.000+08:00\",\"campusId\":\"root000000\",\"campusName\":\"默认园区\",\"createTime\":\"2025-05-09T13:04:26.693+08:00\",\"extendJson\":\"\",\"finishTime\":\"2025-05-09T14:01:00.000+08:00\",\"ifInfoAbnormal\":\"0\",\"invoicesId\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"invoicesNo\":\"FK20250509130002\",\"invoicesStatus\":\"5\",\"isRepast\":\"0\",\"type\":\"0\",\"updateTime\":\"2025-05-09T13:41:00.369+08:00\",\"visitReason\":\"-1\",\"visitReasonName\":\"其他\",\"visitTargetId\":\"1d8d42233bce4722a741917de4195084\",\"workflowInitiatorId\":\"6424f11498de48228fb2a418d3fc3bb1\",\"workflowInitiatorType\":\"0\",\"workflowInstanceId\":\"7010a8521de54f088331e7176b82fd10\"}},\"eventId\":\"2bb6700a9e4f48849227100243f470b2\",\"eventType\":541200060,\"happenTime\":\"2025-05-09T13:41:00+08:00\",\"srcIndex\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"srcType\":\"9857A54DAD5947EDB032575ECDD9EA4Bf4ebb8b61e344cd09118bfbdb5ff285c\",\"status\":0,\"timeout\":0}"); |
| | | } |
| | | |
| | | |
| | |
| | | LW_FK(0,"劳务访客"), |
| | | PT_FK(1,"普通访客"), |
| | | NB_FK(2,"内部人员"), |
| | | |
| | | COMPANY_TYPE_REL(0,"相关方组织"), |
| | | COMPANY_TYPE_INTERNAL(1,"内部人员"), |
| | | COMPANY_TYPE_FK(3,"访客"), |
| | | |
| | | /** 进场类型 **/ |
| | | OUT(0,"出"), |
| | |
| | | } |
| | | |
| | | |
| | | public enum NoticeType { |
| | | |
| | | ZERO(0, "待审核","","","待审核","待处理","处理中"), |
| | | ONE(1, "企业待签署","","","工种待审核","","已结案"), |
| | | TWO(2, "待出单","待审核","待审核","","",""), |
| | | THREE(3, "申请退回","申请退回","申请退回","","",""), |
| | | FOUR(4, "已退回","已退回","已退回","","","已撤销"), |
| | | FIVE(5, "申请驳回","申请驳回","申请驳回","","",""), |
| | | //续保通知 |
| | | SIX(6, "","","","","",""), |
| | | //商户端 委托保 - 投保待审核 加减保 换厂 待审核 |
| | | SEVEN(7, "待审核","待审核","待审核","","",""), |
| | | EIGHT(8, "","","","","",""), |
| | | NINE(9, "","","","","",""), |
| | | ; |
| | | public enum PlatformWarnEvent { |
| | | STOP_TIMEOUT(0, "停靠超时","${carCode}月台停靠超时" ), |
| | | STOP_ERROR(1, "停靠错误","${carCode}月台停靠错误" ), |
| | | WORK_TIMEOUT(2, "作业超时","${carCode}作业超时" ); |
| | | |
| | | // 成员变量 |
| | | private int status; |
| | | private String insuranceApplyDetail; |
| | | private String applyChangeDetail; |
| | | private String changeFactoryDetail; |
| | | private String dispatchUnitDetail; |
| | | private String taxesDetail; |
| | | private String settleClaimsDetail; |
| | | private int key; |
| | | private String name; |
| | | private String info; |
| | | |
| | | // 构造方法 |
| | | NoticeType(int status, String insuranceApplyDetail,String applyChangeDetail |
| | | , String changeFactoryDetail,String dispatchUnitDetail |
| | | , String taxesDetail,String settleClaimsDetail) { |
| | | this.status = status; |
| | | this.insuranceApplyDetail = insuranceApplyDetail; |
| | | this.applyChangeDetail = applyChangeDetail; |
| | | this.changeFactoryDetail = changeFactoryDetail; |
| | | this.dispatchUnitDetail = dispatchUnitDetail; |
| | | this.taxesDetail = taxesDetail; |
| | | this.settleClaimsDetail = settleClaimsDetail; |
| | | 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; |
| | | } |
| | | |
| | | |
| | | // get set 方法 |
| | | public int getStatus() { |
| | | return status; |
| | | public int getKey() { |
| | | return key; |
| | | } |
| | | |
| | | public void setStatus(int status) { |
| | | this.status = status; |
| | | public void setKey(int key) { |
| | | this.key = key; |
| | | } |
| | | |
| | | public String getInsuranceApplyDetail() { |
| | | return insuranceApplyDetail; |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setInsuranceApplyDetail(String name) { |
| | | this.insuranceApplyDetail = insuranceApplyDetail; |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | } |
| | | |
| | | public String getApplyChangeDetail() { |
| | | return applyChangeDetail; |
| | | public String getInfo() { |
| | | return info; |
| | | } |
| | | |
| | | public void setApplyChangeDetail(String info) { |
| | | this.applyChangeDetail = applyChangeDetail; |
| | | public void setInfo(String info) { |
| | | this.info = info; |
| | | } |
| | | |
| | | public String getChangeFactoryDetail() { |
| | | return changeFactoryDetail; |
| | | } |
| | | |
| | | public void setChangeFactoryDetail(String info) { |
| | | this.changeFactoryDetail = changeFactoryDetail; |
| | | } |
| | | |
| | | public String getDispatchUnitDetail() { |
| | | return dispatchUnitDetail; |
| | | } |
| | | |
| | | public void setDispatchUnitDetail(String info) { |
| | | this.dispatchUnitDetail = dispatchUnitDetail; |
| | | } |
| | | |
| | | public String getTaxesDetail() { |
| | | return taxesDetail; |
| | | } |
| | | |
| | | public void setTaxesDetail(String info) { |
| | | this.taxesDetail = taxesDetail; |
| | | } |
| | | |
| | | public String getSettleClaimsDetail() { |
| | | return settleClaimsDetail; |
| | | } |
| | | |
| | | public void setSettleClaimsDetail(String info) { |
| | | this.settleClaimsDetail = settleClaimsDetail; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | this.info = info; |
| | | } |
| | | } |
| | | /** |
| | | * 月台作业大屏文案 状态 |
| | | * 1、月台空闲:1号月台(月台名称) |
| | | * 2、叫号中:1号月台 皖A12345 叫号中 |
| | | * 3、作业中:1号月台 皖A12345 作业中 |
| | | * 4、错误停靠:1号月台 皖A12345 当前车辆错误停靠,请尽快驶离 |
| | | * 5、超时停靠:1号月台 皖A12345 当前车辆超时停靠,请尽快驶离 |
| | | */ |
| | | public enum PlatformLedContent { |
| | | IDEL_CONTNET(1, "空闲中","安泰物流有限责任公司" ), |
| | | CALLING(2, "叫号中","${param} ${param2} 叫号中"), |
| | | WORKING(3, "作业中","${param} ${param2} 作业中" ), |
| | | WRONG_IN(4, "错误停靠","${param} ${param2} 当前车辆错误停靠,请尽快驶离" ), |
| | | TIMEOUT_IN(5, "超时停靠","${param} ${param2} 当前车辆超时停靠,请尽快驶离" ), |
| | | TIMEOUT_WORK(6, "作业超时","${param} ${param2} 当前车辆作业超时" ), |
| | | DONE(7, "作业完成","${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月台停靠超时,请尽快驶离请尽快驶离 |
| | | 5. 作业超时:皖A12345月台停靠超时,请尽快驶离请尽快驶离 |
| | | */ |
| | | public enum PlatformBroadcastContent { |
| | | CALLING(1, "叫号中","${param}请前往${param2}等待作业"), |
| | | DONE(2, "作业完成","${param}作业完成,请尽快驶离" ), |
| | | WRONG_IN(3, "错误停靠","${param}月台停靠错误,请尽快驶离" ), |
| | | TIMEOUT_IN(4, "超时停靠","${param}月台停靠超时,请尽快驶离" ), |
| | | TIMEOUT_WORK(5, "作业超时","${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 static String getChinesePingyin(String chinese) { |
| | | if(StringUtils.isBlank(chinese)){ |
| | | return null; |
| | | } |
| | | StringBuilder result = new StringBuilder(); |
| | | for (char ch : chinese.toCharArray()) { |
| | | String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(ch); |
| | | |
| | | // 如果字符是中文,则获取其拼音的首字母 |
| | | if (pinyinArray != null && pinyinArray.length > 0) { |
| | | result.append(pinyinArray[0].charAt(0)); |
| | | } else { |
| | | // 非中文字符直接拼接 |
| | | result.append(ch); |
| | | } |
| | | } |
| | | System.out.println(result.toString()); |
| | | return result.toString().toUpperCase(); |
| | | } |
| | | |
| | | /** |
| | | * 月台作业 状态 |
| | | * 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, "待确认","待确认" ), |
| | |
| | | WAIT_CALL(2, "已签到","已签到"), |
| | | IN_WAIT(3, "入园等待","入园等待" ), |
| | | CALLED(4, "已叫号","已叫号" ), |
| | | WORKING(5, "作业中","作业中" ), |
| | | DONE(6, "作业完成 ","作业完成 " ), |
| | | WORKING(5, "作业中","作业中" ), |
| | | DONE(6, "作业完成 ","作业完成" ), |
| | | TRANSFERING(7, "转移中","转移中" ), |
| | | EXCEPTION(8, "异常挂起","异常挂起" ), |
| | | AUTHED_LEAVE(9, "已授权离园","已授权离园" ), |
| | | LEAVED(10, "已离园 ","已离园 " ), |
| | | OVER_NUMBER(11, "已过号","已过号" ), |
| | | CANCEL(12, "已取消","已取消" ), |
| | | ; |
| | | |
| | | // 成员变量 |
| | |
| | | } |
| | | |
| | | } |
| | | 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); |
| | |
| | | IMPORT_TRAIMETIME(14, "导入培训有效","由【${param1}】于【${param2}】,进行【导入培训有效】操作" ), |
| | | BE_HEAD(15, "设为主管","由【${param1}】于【${param2}】,进行【设为主管】操作" ), |
| | | NOT_HEAD(16, "取消主管","由【${param1}】于【${param2}】,进行【取消主管】操作" ), |
| | | MEET_BOOK_DEL(17, "删除会议室申请","由【${param1}】于【${param2}】,进行【删除会议室申请】操作,对象信息${param3}" ), |
| | | VISIT_DEL(18, "删除访客申请","由【${param1}】于【${param2}】,进行【删除访客申请】,对象信息:${param3}" ), |
| | | VISIT_CAR_DEL(19, "删除访客报备","由【${param1}】于【${param2}】,进行【删除访客报备】,对象信息:${param3}" ), |
| | | PLATFROM_BOOK_DEL(20, "删除月台预约任务","由【${param1}】于【${param2}】,进行【删除月台预约任务】,对象信息:${param3}" ), |
| | | CAR_BOOK_DEL(21, "删除公车申请","由【${param1}】于【${param2}】,进行【删除公车申请】,对象信息:${param3}"), |
| | | PLATFROM_JOB_DEL(22, "删除安泰物流作业任务","由【${param1}】于【${param2}】,进行【删除安泰物流作业任务】,对象信息:${param3}" ), |
| | | HIDEN_DANGER_DEL(23, "删除隐患随手拍","由【${param1}】于【${param2}】,进行【删除隐患随手拍】,对象信息:${param3}"), |
| | | ; |
| | | |
| | | // 成员变量 |
| | |
| | | HIDDEN_DANGER_SUBMIT(0, "隐患随手拍提报", "隐患随手拍提报"), |
| | | HIDDEN_DANGER_DEAL_BEFORE(1, "隐患随手拍处理前", "隐患随手拍处理前"), |
| | | HIDDEN_DANGER_DEAL_AFTER(2, "隐患随手拍处理后 ", "隐患随手拍处理后 "), |
| | | MEETING_BOOKS(4, "会议文件 ", "会议文件 "), |
| | | ; |
| | | // 成员变量 |
| | | private String name; |