#ifndef MODULE_META_DATE_CHANGED_H #define MODULE_META_DATE_CHANGED_H /** * @brief 简要说明 * @author 戴月腾 * @date 2018-10-18 */ #include"module_singleton_base.h" #include"websocket/sio/sio_client.h" struct card_location_base; struct area; enum EDIT_TYPE_ID { ET_INSERT = 0, // 新增 ET_UPDATE, // 修改 ET_DELETE // 删除 }; class module_meta_date_changed:public singleton_base { private: friend class singleton_base; module_meta_date_changed() { } ///已经实现的:'card', 'staff', 'vehicle', 'vehicle_extend', 'staff_extend', 'area', 'reader', /// map antenna path ///提供了接口未实现的: setting light lights_group ///下面的是暂时不要处理的 ///'drivingface', 'drivingface_render', 'dat_drivingface_warning_point', ///'rules', 'drivingface_vehicle', 'dat_handup_vehicle', 'lights_binding' public: ///基础数据 void accept(sio::message::ptr const& data); ///3.清除卡相关信息,区域相关,分站相关,考勤相关,清除定时器, ///速度,状态 呼救 呼叫 告警相关。即保留基础信息,其他的重置。 static void clear_card(std::shared_ptr card_ptr); private: ///id64格式为:10000001016 void deal_call_edit_vehicle(int64_t id64, EDIT_TYPE_ID edit_type_id); ///id64格式为:10000001016 void deal_call_edit_staff(int64_t id64, EDIT_TYPE_ID edit_type_id); ///id64格式为10000006666 void deal_call_edit_card(int64_t id64, EDIT_TYPE_ID edit_type_id); void deal_call_edit_reader(int id, EDIT_TYPE_ID edit_type_id); ///待实现 void deal_call_edit_path(int id, EDIT_TYPE_ID edit_type_id); void deal_call_edit_antenna(int id,EDIT_TYPE_ID edit_type_id); void deal_call_edit_area(int id, EDIT_TYPE_ID edit_type_id); void deal_call_edit_map(int id, EDIT_TYPE_ID edit_type_id); ///待实现 void deal_call_edit_light(int id,EDIT_TYPE_ID edit_type_id); ///待实现 void deal_call_edit_lights_group(int id,EDIT_TYPE_ID edit_type_id); ///待实现 void init_setting(); void remove_card(uint32_t id, int32_t type); bool try_get_edit_type_id(const std::string& op_type, EDIT_TYPE_ID& out_edit_type_id); bool is_monkeycar_area(int area_id); ///删除区域所有报警信息 static void delete_area_event(std::shared_ptr area_ptr); void delete_antenna(int id); bool is_cur_map(int id); int cur_map_id(); void update_map_info(int id); }; #endif // MODULE_META_DATE_CHANGED_H