module_meta_date_changed.h 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. * id64 = ;员工ID或者车ID;卡ID=101;0010000001198 分号间隔
  41. */
  42. void deal_call_edit_vehicle_or_staff(const std::string & id64, EDIT_TYPE_ID edit_type_id);
  43. ///id64格式为10000006666
  44. void deal_call_edit_card(std::string & id64, EDIT_TYPE_ID edit_type_id);
  45. void deal_call_edit_reader(int id, EDIT_TYPE_ID edit_type_id);
  46. ///待实现
  47. void deal_call_edit_path(int id, EDIT_TYPE_ID edit_type_id);
  48. void deal_call_edit_antenna(int id,EDIT_TYPE_ID edit_type_id);
  49. void deal_call_edit_area(int id, EDIT_TYPE_ID edit_type_id);
  50. void deal_call_edit_map(int id, EDIT_TYPE_ID edit_type_id);
  51. ///待实现
  52. void deal_call_edit_light(int id,EDIT_TYPE_ID edit_type_id);
  53. ///待实现
  54. void deal_call_edit_lights_group(int id,EDIT_TYPE_ID edit_type_id);
  55. // 禁止指定人员下井
  56. void deal_call_edit_forbid_person_down_mine(int id,EDIT_TYPE_ID edit_type_id);
  57. ///待实现
  58. void init_setting();
  59. void remove_card(uint32_t id, int32_t type);
  60. void remove_card(std::shared_ptr<card_location_base> card_ptr);
  61. bool try_get_edit_type_id(const std::string& op_type, EDIT_TYPE_ID& out_edit_type_id);
  62. bool is_monkeycar_area(int area_id);
  63. ///删除区域所有报警信息
  64. static void delete_area_event(std::shared_ptr<area> area_ptr);
  65. void delete_antenna(int id);
  66. bool is_cur_map(int id);
  67. int cur_map_id();
  68. void update_map_info(int id);
  69. };
  70. #endif // MODULE_META_DATE_CHANGED_H