吉安感知网项目-后端
xiebin
2026-01-06 d207a86cdf1ab52ef8cb7cd83bad8fceab8038cf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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;
    }
}