package org.sxkj.common.enums; /** * 航线任务执行步骤枚举 */ public enum FlightTaskStepEnum { INITIAL_STATE(0, "初始状态"), PRE_CHECK_AIRCRAFT_IN_WAYLINE(1, "启动前检查,飞行器是否在执行航线中"), PRE_CHECK_DOCK_EXIT_WORK_MODE(2, "启动前检查,机场是否退出工作模式"), PRE_CHECK_WAYLINE_RUNNING(3, "启动前检查,航线执行中"), PRE_CHECK_RETURNING_HOME(4, "启动前检查,返航中"), WAYLINE_READY_WAITING_TASK(5, "航线执行进入准备状态,开始等待任务下发"), DOCK_ENTER_WORK_MODE(6, "机场进入工作状态"), POWER_ON_CHECK_AND_OPEN_COVER(7, "进入开机检查准备工作和开盖准备工作"), VIDEO_TRANSMISSION_REMOTE_FREQ(8, "图传远程对频"), WAIT_PUSH_CONNECTION(9, "等待飞行系统准备就绪,推送连接建立"), WAIT_RTK_SOURCE_REPORT(10, "等待 RTK 源监听有值上报"), CHECK_RTK_SOURCE(11, "检查 RTK 源是否是机场源,如果不是要重新设置"), WAIT_FLIGHT_CONTROL_AUTHORITY(12, "等待飞行控制权通知"), GRAB_CONTROL_AUTHORITY(13, "机场无控制权,抢夺飞行器控制权"), CUSTOM_FLIGHT_AREA_CHECK(14, "自定义飞行区一致性检查"), OFFLINE_MAP_CHECK(15, "离线地图一致性检查"), GET_LATEST_KMZ_URL(16, "获取最新 KMZ URL"), DOWNLOAD_KMZ(17, "下载 KMZ"), UPLOAD_KMZ(18, "KMZ 上传中"), DYEING_CONFIG(19, "染色配置"), AIRCRAFT_TAKEOFF_SETTINGS(20, "飞行器起飞参数设置,备降点设置,起飞高度设置,染色设置"), AIRCRAFT_FLYTO_TAKEOFF(21, "飞行器 flyto 起飞参数设置"), CHECK_LANDING_AIRPORT_STATUS(22, "起飞机场检查降落机场准备状态"), SET_HOME_POINT(23, "Home 点设置"), TRIGGER_EXECUTE_WAYLINE(24, "触发执行航线"), RETURN_HOME_PREPARATION(26, "进入返航的检查准备工作"), AIRCRAFT_LAND_AT_DOCK(27, "飞行器降落机场"), CLOSE_COVER_AFTER_LANDING(28, "降落以后的关盖"), DOCK_EXIT_WORK_MODE(29, "机场退出工作模式"), DOCK_EXCEPTION_RECOVERY(30, "机场异常恢复"), UPLOAD_FLIGHT_SYSTEM_LOG(31, "机场上传飞行系统日志"), CAMERA_RECORD_CHECK(32, "相机录像状态检查"), GET_MEDIA_FILE_COUNT(33, "获取媒体文件数量"), TAKEOFF_OPEN_COVER_EXCEPTION_RECOVERY(34, "机场起飞开盖的异常恢复"), NOTIFY_TASK_RESULT(35, "通知任务结果"), FETCH_FLIGHT_LOG_LIST(36, "日志列表拉取 - 飞行器列表"), FETCH_DOCK_LOG_LIST(37, "日志列表拉取 - 拉取机场列表"), UPLOAD_LOG_LIST_RESULT(38, "日志列表拉取 - 上传日志列表结果"), FETCH_FLIGHTER_LOG(39, "日志拉取-拉取飞行器日志"), FETCH_DOCK_LOG(40, "日志拉取-拉取机场日志"), COMPRESS_FLIGHTER_LOG(41, "日志拉取-压缩飞行器日志"), COMPRESS_DOCK_LOG(42, "日志拉取-压缩机场日志"), UPLOAD_FLIGHTER_LOG(43, "日志拉取-上传飞行器日志"), UPLOAD_DOCK_LOG(44, "日志拉取-上传机场日志"), NOTIFY_LOG_RESULT(45, "日志拉取-通知结果"), CUSTOM_FLIGHT_AREA_UPDATE_PREPARE(46, "自定义飞行区文件更新准备中"), CUSTOM_FLIGHT_AREA_UPDATING(47, "自定义飞行区更新中"), OFFLINE_MAP_UPDATE_PREPARE(48, "离线地图更新准备中"), OFFLINE_MAP_UPDATING(49, "离线地图更新中"), WAIT_SERVICE_RESPONSE_AFTER_FINISH(65533, "结束后等待服务回包"), NO_SPECIFIC_STATUS(65534, "无具体状态"), UNKNOWN(65535, "UNKNOWN"); private final int code; private final String message; FlightTaskStepEnum(int code, String message) { this.code = code; this.message = message; } public int getCode() { return code; } public String getMessage() { return message; } /** * 根据code获取对应的枚举值 * * @param code 步骤代码 * @return 对应的枚举值,找不到则返回UNKNOWN */ public static FlightTaskStepEnum fromCode(int code) { for (FlightTaskStepEnum step : FlightTaskStepEnum.values()) { if (step.getCode() == code) { return step; } } return UNKNOWN; } }