package com.yfd.platform.constant;

/**
 * 统一常量枚举类
 * 包含项目中所有字符串常量定义
 */
public enum SystemCode {

    TYPE_SYSTEM_MESSAGE_CODE("251", "系统消息编码"),

    ONLINE_CODE("1", "在线"),
    OFFLINE_CODE("0", "离线"),
    COMMAND_REGISTER_CODE("1", "注册"),
    COMMAND_HEARTBEAT_CODE("2", "心跳"),
    COMMAND_RESPONSE_CODE("3", "响应(无 Items)"),
    COMMAND_ITEM_RESPONSE_CODE("4", "响应(有 Items)"),

    TYPE_ROBOT_CONTROL_CODE("1", "机器人本体控制"),
    COMMAND_REMOTE_RESET_CODE("1", "远方复位"),
    COMMAND_SELF_CHECK_CODE("2", "系统自检"),
    COMMAND_TURN_BACK_CODE("3", "一键返航"),
    COMMAND_MANUAL_CHARGE_CODE("4", "手动充电"),
    COMMAND_MODE_SWITCH_CODE("5", "控制模式切换"),

    TYPE_MODEL_UPDATE_CODE("11", "模型更新"),

    TYPE_DRONE_CONTROL_CODE("20001", "无人机"),
    TYPE_FLIGHT_CONTROL_CODE("20002", "无人机飞行控制"),
    TYPE_DRONE_PTZ_CODE("20003", "无人机云台"),
    TYPE_DRONE_CAMERA_CODE("20004", "无人机相机"),
    TYPE_NEST_CODE("20005", "无人机机巢"),

    TYPE_TASK_CONTROL_CODE("41", "任务控制"),
    COMMAND_TASK_START_CODE("1", "任务启动"),
    COMMAND_TASK_PAUSE_CODE("2", "任务暂停"),
    COMMAND_TASK_RESUME_CODE("3", "任务继续"),
    COMMAND_TASK_STOP_CODE("4", "任务停止"),
    TASK_START_CODE("1", "任务启动"),
    TASK_PAUSE_CODE("pause", "任务暂停"),
    TASK_RESUME_CODE("resume", "任务继续"),
    TASK_STOP_CODE("stop", "任务停止"),
    TASK_DELETE_CODE("delete", "任务删除"),
    TASK_RUN_CODE("runNow", "任务立即执行"),

    TYPE_EXAMINE_ISSUED_CODE("81", "检修区域下发"),
    COMMAND_EXAMINE_CONFIG_CODE("4", "检修区域配置"),

    TYPE_TASK_ISSUED_CODE("101", "任务下发"),
    TYPE_LINKAGE_TASK_ISSUED_CODE("102", "联动任务下发"),
    COMMAND_TASK_CONFIG_CODE("1", "任务配置"),

    TYPE_MODEL_SYNC_CODE("61", "模型同步"),
    COMMAND_MODEL_HOST_CODE("1", "巡视主机模型"),
    COMMAND_MODEL_ROBOT_CODE("2", "机器人模型"),
    COMMAND_MODEL_CAMERA_CODE("3", "摄像机模型"),
    COMMAND_MODEL_DEVICE_CODE("4", "点位模型"),
    COMMAND_MODEL_DRONE_CODE("5", "无人机模型"),
    COMMAND_MODEL_VOICE_CODE("6", "声纹模型"),
    COMMAND_MODEL_TASK_CODE("7", "任务文件"),
    COMMAND_MODEL_EXAMINE_CODE("8", "检修区域配置文件"),
    COMMAND_MODEL_MAP_CODE("9", "地图文件"),

    COMMAND_HOST_FILE_PATH("host_file_path", "巡视主机模型路径"),
    COMMAND_ROBOT_FILE_PATH("robot_file_path", "机器人模型路径"),
    COMMAND_VIDEO_FILE_PATH("video_file_path", "摄像机模型路径"),
    COMMAND_DEVICE_FILE_PATH("device_file_path", "点位模型路径"),
    COMMAND_DRONE_FILE_PATH("drone_file_path", "无人机模型路径"),
    COMMAND_VOICE_FILE_PATH("voice_file_path", "声纹模型路径"),
    COMMAND_TASK_FILE_PATH("task_file_path", "任务文件路径"),
    COMMAND_OVERHAULAREA_FILE_PATH("overhaularea_file_path", "检修区域配置文件路径"),
    COMMAND_MAP_FILE_PATH("map_file_path", "地图文件路径"),

    TYPE_DEVICE_STATUS_CODE("1", "巡视设备状态数据"),
    TYPE_DEVICE_RUN_CODE("2", "巡视设备运行数据"),
    TYPE_DEVICE_COORDINATE_CODE("3", "巡视设备坐标"),
    TYPE_PATROL_ROUTE_CODE("4", "巡视路线"),
    TYPE_ABNORMAL_ALARM_CODE("5", "巡视设备异常告警数据"),
    TYPE_ENVIRONMENT_CODE("21", "环境数据"),
    TYPE_TASK_STATUS_CODE("41", "任务状态数据"),
    TYPE_TASK_RESULT_CODE("61", "巡视结果"),
    TYPE_HOST_ALARM_CODE("62", "巡视主机告警数据"),
    TYPE_SILENT_ALARM_CODE("63", "静默监视告警数据"),
    TYPE_NORMAL_REPORT_CODE("68", " 正常样本信息上报"),
    TYPE_NEST_STATUS_CODE("20001", "无人机机巢状态数据"),
    TYPE_NEST_RUN_CODE("10004", "无人机机巢运行数据"),

    ITEM_BEGIN_TIME("begin_time", "统计开始时间"),
    ITEM_END_TIME("end_time", "统计结束时间"),
    ITEM_TOTAL_NUM("total_num", "满足查询条件总数"),
    ITEM_VALID_NUM("valid_num", "查询有效数据"),
    ITEM_PERCENT("percent", "统计百分比，有效值保留小数点后3位，如90.005%"),
    ITEM_COMMISSION_TIME("commission_time", "投运时间"),
    ITEM_REPORT_TIME("report_time", "上报时间"),


    TYPE_DEVICE_REPORT_CODE("81", "巡视设备统计信息上报"),
    ADD_ONLINE_DURATION("1", "累积在线时长总和"),
    ADD_OFFLINE_DURATION("2", "累积离线次数总和"),
    ADD_NORMAL_RUN_CODE("3", "累计连续正常运行天数"),
    NORMAL_PATROL_CODE("4", "正常巡检天数"),
    PATROL_ATTENDANCE_RATE_CODE("5", "巡检出勤率"),
    VIDEO_INTEGRITY_RATE_CODE("6", "录像完整率"),
    OTHER_RATE_CODE("7", "其他统计率"),


    TYPE_TASK_COUNT_CODE("121", "巡视结果统计查询"),
    COMMAND_CLOSE_LOOP_CODE("1", "巡视任务执行闭环率"),
    COMMAND_ALARM_COMPLETE_CODE("2", "巡视告警人工审核完成率"),
    COMMAND_ALARM_ACCURATE_CODE("3", "巡视告警准确率"),
    COMMAND_PERSON_EXAMINE_CODE("4", "巡视结果人工审核完成率"),
    COMMAND_MISS_CHECK_CODE("5", "巡检点位漏检率"),

    TYPE_SOLIDITY_INDEX_CODE("317", "可靠性指标统计查询"),
    COMMAND_ALARM_EXACT_CODE("1", "巡视告警准确率"),
    COMMAND_ALGORITHM_EXACT_CODE("2", "算法标签对应准确率"),

    TYPE_RELIABILITY_COUNT_CODE("318", "可靠性指标统计上报"),
    ALARM_EXACT_CODE("1", "巡视告警准确率"),
    ALGORITHM_EXACT_CODE("2", "算法标签对应准确率"),

    TYPE_ALGORITHM_REPORT_CODE("313", "算法资源信息上报"),
    TYPE_ALGORITHM_PARAM_CODE("314", "获取当前该区域某站点的运行算法参数"),
    TYPE_ALGORITHM_VERSION_CODE("315", "算法版本获取接口"),
    TYPE_ALGORITHM_UPDATE_CODE("316", " 算法版本切换接口"),

    TYPE_ALARM_REPORT_CODE("312", "告警消息上报"),

    REPEAT_STATUS_CODE("100", "重发"),
    SUCCESS_STATUS_CODE("200", "成功"),
    REFUSE_STATUS_CODE("400", "拒绝"),
    ERROR_STATUS_CODE("500", "错误");

    private final String code;
    private final String description;

    SystemCode(String code, String description) {
        this.code = code;
        this.description = description;
    }

    public String getCode() {
        return code;
    }

    public String getDescription() {
        return description;
    }

}
