1
0

module_meta_date_changed.h 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #ifndef MODULE_META_DATE_CHANGED_H
  2. #define MODULE_META_DATE_CHANGED_H
  3. #include"module_singleton_base.h"
  4. #include"websocket/sio/sio_client.h"
  5. struct card_location_base;
  6. struct area;
  7. enum EDIT_TYPE_ID
  8. {
  9. ET_INSERT = 0, // 新增
  10. ET_UPDATE, // 修改
  11. ET_DELETE // 删除
  12. };
  13. class module_meta_date_changed:public singleton_base<module_meta_date_changed>
  14. {
  15. private:
  16. friend class singleton_base<module_meta_date_changed>;
  17. module_meta_date_changed()
  18. {
  19. }
  20. ///已经实现的:'card', 'staff', 'vehicle', 'vehicle_extend', 'staff_extend', 'area', 'reader',
  21. /// map antenna path
  22. ///提供了接口未实现的: setting light lights_group
  23. ///下面的是暂时不要处理的
  24. ///'drivingface', 'drivingface_render', 'dat_drivingface_warning_point',
  25. ///'rules', 'drivingface_vehicle', 'dat_handup_vehicle', 'lights_binding'
  26. public:
  27. ///基础数据
  28. void accept(sio::message::ptr const& data);
  29. ///3.清除卡相关信息,区域相关,分站相关,考勤相关,清除定时器,
  30. ///速度,状态 呼救 呼叫 告警相关。即保留基础信息,其他的重置。
  31. static void clear_card(const std::shared_ptr<card_location_base> &card_ptr);
  32. private:
  33. /*
  34. * 修改车及卡的数据
  35. * id64 = ;员工ID或者车ID;卡ID=101;0010000001198 分号间隔
  36. */
  37. void deal_call_edit_vehicle_or_staff(const std::string & id64, EDIT_TYPE_ID edit_type_id);
  38. ///id64格式为10000006666
  39. void deal_call_edit_card(std::string & id64, EDIT_TYPE_ID edit_type_id);
  40. void deal_call_edit_reader(const std::string & areaids, EDIT_TYPE_ID edit_type_id);
  41. ///待实现
  42. void deal_call_edit_path(int id, EDIT_TYPE_ID edit_type_id);
  43. void deal_call_edit_antenna(int id,EDIT_TYPE_ID edit_type_id);
  44. void deal_call_edit_area(const std::string & id, EDIT_TYPE_ID edit_type_id);
  45. void deal_call_edit_map(int id, EDIT_TYPE_ID edit_type_id);
  46. ///待实现
  47. void deal_call_edit_light(int id,EDIT_TYPE_ID edit_type_id);
  48. ///待实现
  49. void deal_call_edit_lights_group(int id,EDIT_TYPE_ID edit_type_id);
  50. // 禁止指定人员下井
  51. void deal_call_edit_forbid_person_down_mine(const std::string & lszId,EDIT_TYPE_ID edit_type_id);
  52. //地标
  53. void deal_call_edit_landmark(const std::string & landmarkid, EDIT_TYPE_ID edit_type_id);
  54. // 设置区域中时间段人员超员阈值等数据
  55. void deal_call_edit_persons_dynamic_thre(int area_id,EDIT_TYPE_ID edit_type_id);
  56. ///待实现
  57. void init_setting();
  58. void remove_card(uint32_t id, int32_t type);
  59. void remove_card(std::shared_ptr<card_location_base> card_ptr);
  60. bool try_get_edit_type_id(const std::string& op_type, EDIT_TYPE_ID& out_edit_type_id);
  61. //void delete_antenna(int id);
  62. bool is_cur_map(int id);
  63. int cur_map_id();
  64. void update_map_info(int id);
  65. };
  66. #endif // MODULE_META_DATE_CHANGED_H