#ifndef MODULE_META_DATE_CHANGED_H #define MODULE_META_DATE_CHANGED_H #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(const std::shared_ptr &card_ptr); private: /* * 修改车及卡的数据 * id64 = ;员工ID或者车ID;卡ID=101;0010000001198 分号间隔 */ void deal_call_edit_vehicle_or_staff(const std::string & id64, EDIT_TYPE_ID edit_type_id); ///id64格式为10000006666 void deal_call_edit_card(std::string & id64, EDIT_TYPE_ID edit_type_id); void deal_call_edit_reader(const std::string & areaids, 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(const std::string & 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 deal_call_edit_forbid_person_down_mine(const std::string & lszId,EDIT_TYPE_ID edit_type_id); //地标 void deal_call_edit_landmark(const std::string & landmarkid, EDIT_TYPE_ID edit_type_id); // 设置区域中时间段人员超员阈值等数据 void deal_call_edit_persons_dynamic_thre(int area_id,EDIT_TYPE_ID edit_type_id); ///待实现 void init_setting(); void remove_card(uint32_t id, int32_t type); void remove_card(std::shared_ptr card_ptr); bool try_get_edit_type_id(const std::string& op_type, EDIT_TYPE_ID& out_edit_type_id); //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