#ifndef _SERVER_CONST_DEF_H_
#define _SERVER_CONST_DEF_H_

#define MAXCRITICALSECTIONSPINCOUNT 4000
#define INTERFACE_VERSION "1.0.0.2"
#define INTERFACE_VERSION_1_1 "1.0.0.1"
#define INTERFACE_VERSION_1_3 "1.0.0.3"
#define INTERFACE_VERSION_1_4 "1.0.0.4"

#define TEST_WS_URL  "ws://182.92.224.191:8086"
#define JSON_ROOT_KEY_CMD "cmd"
#define JSON_ROOT_KEY_VERSION "version"
#define JSON_ROOT_KEY_DATA "data"
#define JSON_ROOT_KEY_TOTAL "total"
#define JSON_ROOT_KEY_STATISTIC_VEHICLE_DATA "v"
#define JSON_ROOT_KEY_STATISTIC_STAFF_DATA "s"
#define JSON_ROOT_KEY_STATISTIC_STAT "stat"
#define JSON_ROOT_KEY_STATISTIC_DETAIL "detail"
#define JSON_ROOT_KEY_STATISTIC_GLOBAL "glbl"
#define JSON_ROOT_KEY_STATISTIC_DEPT "dept"
#define JSON_ROOT_KEY_STATISTIC_SUM "sum"
#define JSON_ROOT_KEY_STATISTIC_AREA "area"
#define JSON_ROOT_KEY_STATISTIC_LEVEL "occupation_level"

// �ɼ��˽��սӿ�
#define JSON_CMD_VALUE_CLEAR_CARD "clear_card"
#define JSON_CMD_VALUE_DEAL_HELP "helpme_done"   //deal_help
#define JSON_CMD_VALUE_DEAL_HELP_RESPONSE "helpme_done_rsp"   //deal_help
#define JSON_CMD_VALUE_REQUEST_ALL_POSTION "request_all_postion"
#define JSON_CMD_VALUE_REQUEST_ALL_DATA "req_all_data"
#define JSON_CMD_VALUE_RESPONSE_ALL_DATA "resp_all_data"
#define JSON_CMD_VALUE_CALL_CARD_START "call_card_start"
#define JSON_CMD_VALUE_CALL_CARD_CANCEL "call_card_cancel"
#define  JSON_CMD_VALUE_LEADER_ARRANGE "leader_arrange"
//��������
#define JSON_CMD_VALUE_CALL_CARD_REQUEST "call_card_req"
#define JSON_CMD_VALUE_CALL_CARD_RESPONSE "call_card_resp"
#define JSON_CMD_VALUE_CALL_CARD_CANCEL_REQUEST "call_card_cancel_req"
#define JSON_CMD_VALUE_CALL_CARD_CANCEL_RESPONSE "call_card_cancel_resp"
#define JSON_CMD_VALUE_CALL_CARD_LIST "callcardlist"

#define JSON_CMD_VALUE_META_DATA_CHANGED "meta_data_changed"
#define JSON_CMD_VALUE_LIGHTS_CTRL_REQUEST "light_control"
#define JSON_CMD_VALUE_LIGHTS_CTRL_RESPONSE "lights_ctrl_res"
#define JSON_CMD_VALUE_HAND_UP_RESPONSE "deal_hand_up_res"

#define JSON_KEY_ID "id"
#define JSON_KEY_OP_TYPE "op_type"
#define JSON_KEY_OP_TYPE_INSERT "INSERT"
#define JSON_KEY_OP_TYPE_UPDATE "UPDATE"
#define JSON_KEY_OP_TYPE_DELETE "DELETE"

#define JSON_KEY_NAME "name"
#define JSON_KEY_NAME_MAP_GIS "map_gis"
#define JSON_KEY_NAME_MAP "map"
#define JSON_KEY_NAME_AREA "area"
#define JSON_KEY_NAME_PATH "reader_path_tof_n"
#define JSON_KEY_NAME_READER "reader"
#define JSON_KEY_NAME_CARD "card"
#define JSON_KEY_NAME_STAFF "staff"
#define JSON_KEY_NAME_STAFF_EXTEND "staff_extend"
#define JSON_KEY_NAME_VEHICLE "vehicle"
#define JSON_KEY_NAME_ANTENNA "antenna"

#define JSON_KEY_NAME_VEHICLE_EXTEND "vehicle_extend"
#define JSON_KEY_NAME_SECTION "section"
#define JSON_KEY_NAME_LIGHT   "light"
#define JSON_KEY_NAME_LIGHTS_GROUP "lights_group"
#define JSON_KEY_NAME_CHAMBER "chamber"
#define JSON_KEY_NAME_SHIFT "shift"
#define JSON_KEY_NAME_PATROL_TASK "patrol_task"
#define JSON_KEY_NAME_RULES "rules"
#define JSON_KEY_NAME_SETTING "setting"
#define JSON_KEY_NAME_DRIVINGFACE "drivingface_vehicle"
#define JSON_KEY_NAME_DRIVINGFACE_WARNING_POINT "dat_drivingface_warning_point"
#define JSON_KEY_NAME_HAND_UP "dat_handup_vehicle"

#define JSON_KEY_NAME_GEO_FAULT "geofault"
#define JSON_KEY_NAME_LANDMARK "landmark"

#define JSON_KEY_NAME_COALFACE "coalface"
#define JSON_KEY_NAME_COALFACE_VEHICLE "coalface_vehicle"
#define JSON_KEY_NAME_DRIVING_FACE "drivingface"
#define JSON_KEY_NAME_DRIVINGFACE_VEHICLE "drivingface_vehicle"
//掘进面基准点
#define JSON_KEY_NAME_DRIVINGFACE_REF_POINT "drivingface_ref_point"

//禁止指定人员下井
#define JSON_KEY_NAME_FORBID_PERSON_DOWN_MINE "rt_person_forbid_down_mine"
//设置区域中时间段人员超员阈值等数据
#define JSON_KEY_NAME_PERSONS_DYNAMIC_THRE "area_persons_dynamic_thre"

#define JSON_KEY_CALL_CARD_CALL_TYPE "call_type_id"
#define JSON_KEY_CALL_CARD_CALL_TIME_OUT "call_time_out"
#define JSON_KEY_CALL_CARD_CALL_TIME "call_time"
#define JSON_KEY_CALL_CARD_CALL_LEVEL "call_level_id"
#define JSON_KEY_CALL_CARD_USER_NAME "user_name"
#define JSON_KEY_CALL_CARD_STATIONS "stations"
#define JSON_KEY_CALL_CARD_STATION_ID "stationid"
#define JSON_KEY_CALL_CARD_CARDS "cards"
#define JSON_KEY_CALL_CARD_CARD_ID "cardid"
#define JSON_KEY_CALL_CARD_CARD_TYPE_ID "cardtype"

#define JSON_KEY_CALL_LIGHT_TASK_ID "task_id"
#define JSON_KEY_CALL_LIGHT_OBJ_TYPE "obj_type"
#define JSON_KEY_CALL_LIGHT_CTRL_TYPE "ctrl_type"
#define JSON_KEY_CALL_LIGHT_LIGHT_STATE "light_state"
#define JSON_KEY_CALL_LIGHT_USER_ID "user_id"
#define JSON_KEY_CALL_LIGHT_LIGHTS "lights"
#define JSON_KEY_CALL_LIGHT_ID "id"

#define JSON_KEY_EDIT_CARD_ID "cardid"
#define JSON_KEY_EDIT_EDIT_TYPE_ID "edittype"

// �ɼ��˵��ýӿ�
#define JSON_CMD_VALUE_LOGIN "login"
#define JSON_CMD_VALUE_LOGOUT "logout"
#define JSON_KEY_USERNAME "user_name"
#define JSON_KEY_PASSWORD "user_pass"
#define JSON_VALUE_USERNAME "COLLECTOR"
#define JSON_VALUE_PASSWORD "666666"  //"666666"
#define JSON_KEY_CARD_ID "card_id" //"����"
#define JSON_KEY_CARD_TYPE_ID "card_type_id"
#define JSON_KEY_REC_TIME "rec_time" // "����ʱ��"
#define JSON_KEY_DOWN_TIME "down_time" // "�뾮ʱ��"
#define JSON_KEY_WORK_TIME "work_time" // "����ʱ��"
#define JSON_KEY_ENTER_AREA_TIME "enter_area_time" // "��������ʱ��"
#define JSON_KEY_CORDINATE_X "x"
#define JSON_KEY_CORDINATE_Y "y"
#define JSON_KEY_CORDINATE_Z "z"
#define JSON_KEY_STATE "state" // "״̬"
#define JSON_KEY_STATE_MOVING "state_moving" // �˶�״̬
#define JSON_KEY_STATE_BIZ "state_biz" // ҵ��״̬
#define JSON_KEY_MAP_ID "map_id" // "��ͼ���"
#define JSON_KEY_DEPT_ID "dept_id"
#define JSON_KEY_SPEED "speed"	//�ٶ�
#define JSON_KEY_LANDMARK_ID "landmark_id"
#define JSON_KEY_DIRECTORY_ID "landmark_direction_id"
#define JSON_KEY_LANDMARK_DIS "landmark_distance"
#define JSON_KEY_NAME_ANTI_COLLISION "anti_collision"

// id, name, type, map_id
#define JSON_KEY_AREA_ID "area_id" // "������"
#define JSON_KEY_AREA_IS_SPECIAL "is_special_area" // "��������"
// down_mine,up_mine
#define JSON_CMD_VALUE_DOWN_MINE "down_mine"
#define JSON_CMD_VALUE_UP_MINE "up_mine"
#define JSON_CMD_VALUE_SPECIAL_AREA_UP_MINE "special_area_up_mine"
#define JSON_CMD_VALUE_DEV_STATE "device_state"
#define JSON_CMD_VALUE_EVENT "event"
#define JSON_CMD_VALUE_CALL "CALL"
#define JSON_CMD_VALUE_PUSH "PUSH"
#define JSON_CMD_VALUE_USER "USER"
#define JSON_CMD_DRIVING_FACE_STATE "tunneller_stat"
// pos_map
#define JSON_CMD_VALUE_POS_MAP "pos_map"

// �澯�¼�
#define JSON_KEY_EVENT_EVENT_ID "event_id"
#define JSON_KEY_EVENT_STATUS "status"
#define JSON_KEY_EVENT_TYPE_ID "type_id"
#define JSON_KEY_EVENT_OBJ_TYPE_ID "obj_type_id"
#define JSON_KEY_EVENT_OBJ_ID "obj_id"
#define JSON_KEY_EVENT_DIS_TYPE_ID "dis_type_id"
#define JSON_KEY_EVENT_MAP_ID "map_id"
#define JSON_KEY_EVENT_AREA_ID "area_id"
#define JSON_KEY_EVENT_X "x"
#define JSON_KEY_EVENT_Y "y"
#define JSON_KEY_EVENT_LIMIT_VALUE "limit_value"
#define JSON_KEY_EVENT_CUR_VALUE "cur_value"
#define JSON_KEY_EVENT_CUR_TIME "cur_time"
#define JSON_KEY_EVENT_LANDMARK_ID "lmid"
#define JSON_KEY_EVENT_LANDMARK_DIRECTION "lmdirect"
#define JSON_KEY_EVENT_LANDMARK_DISTANCE "lmdistance"
#define JSON_KEY_EVENT_READER_POS_CHANGE    "reader_pos_change"

// alarm
#define JSON_KEY_ALARM_OVER_COUNT_PERSON "over_count_person"
#define JSON_KEY_ALARM_OVER_COUNT_VEHICLE "over_count_vehicle"
#define JSON_KEY_ALARM_OVER_TIME_PERSON "over_time_person"
#define JSON_KEY_ALARM_OVER_TIME_VEHICLE "over_time_vehicle"
#define JSON_KEY_ALARM_OVER_SPEED_VEHICLE "over_speed_vehicle"

#define JSON_KEY_ALARM_START_TIME "alarm_start_time"

#define JSON_KEY_ALARM_STAFFER_ID "staffer_id"
#define JSON_KEY_ALARM_VEHICLE_ID "vehicle_id"

#define JSON_KEY_ALARM_SECTION "section_info"
#define JSON_KEY_ALARM_SECTION_ID "section_id"
#define JSON_KEY_ALARM_SECTION_VEHICLE_COUNTS "vehicle_counts"
#define JSON_KEY_ALARM_SECTION_STAFFER_COUNTS "staffer_counts"
#define JSON_KEY_ALARM_SECTION_STATE "state"

#define JSON_KEY_ALARM_LIGHT "light_info"
#define JSON_KEY_ALARM_LIGHT_ID "light_id"
#define JSON_KEY_ALARM_LIGHT_GROUP_ID "light_group_id"
#define JSON_KEY_ALARM_LIGHT_GROUP_NAME	"light_group_name"

#define JSON_KEY_ALARM_TRAFFIC_RED_LIGHT "traffic_red_light"
// �����
#define JSON_KEY_DRIVINGFACE_DIS "driving_face_moving_dis"
#define JSON_KEY_DRIVINGFACE_WARNING_POINT_ID "driving_face_warning_point_id"
#define JSON_KEY_DRIVINGFACE_WARNING_POINT_DIS "driving_face_warning_point_dis"

#define JSON_KEY_DRIVINGFACE_CURSHIFT_LENGTH "drivingface_curshift_length"

//���ϳ�״̬
#define JSON_KEY_PERSON_ON_CAR "person_on_car"
#define JSON_CMD_REQ_ALL_PERSON_ON_CAR "req_all_person_on_car"
#define JSON_CMD_RESP_ALL_PERSON_ON_CAR "resp_all_person_on_car"

#endif // !_SERVER_CONST_DEF_H_