module_meta_date_changed.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #ifndef MODULE_META_DATE_CHANGED_H
  2. #define MODULE_META_DATE_CHANGED_H
  3. /**
  4. * @brief 简要说明
  5. * @author 戴月腾
  6. * @date 2018-10-18
  7. */
  8. #include"module_singleton_base.h"
  9. #include"websocket/sio/sio_client.h"
  10. struct card_location_base;
  11. struct area;
  12. enum EDIT_TYPE_ID
  13. {
  14. ET_INSERT = 0, // 新增
  15. ET_UPDATE, // 修改
  16. ET_DELETE // 删除
  17. };
  18. class module_meta_date_changed:public singleton_base<module_meta_date_changed>
  19. {
  20. private:
  21. friend class singleton_base<module_meta_date_changed>;
  22. module_meta_date_changed()
  23. {
  24. }
  25. ///已经实现的:'card', 'staff', 'vehicle', 'vehicle_extend', 'staff_extend', 'area', 'reader',
  26. /// map antenna path
  27. ///提供了接口未实现的: setting light lights_group
  28. ///下面的是暂时不要处理的
  29. ///'drivingface', 'drivingface_render', 'dat_drivingface_warning_point',
  30. ///'rules', 'drivingface_vehicle', 'dat_handup_vehicle', 'lights_binding'
  31. public:
  32. ///基础数据
  33. void accept(sio::message::ptr const& data);
  34. ///3.清除卡相关信息,区域相关,分站相关,考勤相关,清除定时器,
  35. ///速度,状态 呼救 呼叫 告警相关。即保留基础信息,其他的重置。
  36. static void clear_card(std::shared_ptr<card_location_base> card_ptr);
  37. private:
  38. /*
  39. * 修改车及卡的数据
  40. * 在 ET_INSERT | ET_DELETE id64 = 卡ID =10000001198
  41. * ET_UPDATE id64 = 卡ID;员工ID或者车ID=10000001198;101 分号间隔
  42. */
  43. void deal_call_edit_vehicle_or_staff(const std::string & id64, EDIT_TYPE_ID edit_type_id);
  44. ///id64格式为10000006666
  45. void deal_call_edit_card(std::string & id64, EDIT_TYPE_ID edit_type_id);
  46. void deal_call_edit_reader(int id, EDIT_TYPE_ID edit_type_id);
  47. ///待实现
  48. void deal_call_edit_path(int id, EDIT_TYPE_ID edit_type_id);
  49. void deal_call_edit_antenna(int id,EDIT_TYPE_ID edit_type_id);
  50. void deal_call_edit_area(int id, EDIT_TYPE_ID edit_type_id);
  51. void deal_call_edit_map(int id, EDIT_TYPE_ID edit_type_id);
  52. ///待实现
  53. void deal_call_edit_light(int id,EDIT_TYPE_ID edit_type_id);
  54. ///待实现
  55. void deal_call_edit_lights_group(int 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. bool is_monkeycar_area(int area_id);
  62. ///删除区域所有报警信息
  63. static void delete_area_event(std::shared_ptr<area> area_ptr);
  64. void delete_antenna(int id);
  65. bool is_cur_map(int id);
  66. int cur_map_id();
  67. void update_map_info(int id);
  68. };
  69. #endif // MODULE_META_DATE_CHANGED_H