module_attendance_vehicle.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #ifndef MODULE_ATTENDANCE_VEHICLE_H
  2. #define MODULE_ATTENDANCE_VEHICLE_H
  3. /**
  4. *@brief 车辆考勤模块
  5. *车辆进入某些特定区域,结束考勤;从特定区域进入其他区域,开始考勤
  6. *@author 戴月腾
  7. *@date 2018-08-07
  8. */
  9. #include <memory>
  10. #include <mutex>
  11. #include <map>
  12. #include <string>
  13. #include <chrono>
  14. #include <vector>
  15. #include <set>
  16. #include "module_const.h"
  17. /**
  18. * @brief 车辆进入某些特定区域,结束考勤;从特定区域进入其他区域,开始考勤, 单例
  19. */
  20. class module_attendance_vehicle:public singleton_base<module_attendance_vehicle>
  21. {
  22. private:
  23. friend class singleton_base<module_attendance_vehicle>;
  24. module_attendance_vehicle()
  25. {
  26. }
  27. public:
  28. void on_enter(std::shared_ptr<card_location_base> card_ptr,std::shared_ptr<area_hover>&c,double speed)
  29. {
  30. //card_ptr->m_attendance_start_time=std::chrono::system_clock::now();
  31. }
  32. void on_hover(std::shared_ptr<card_location_base> card_ptr,std::shared_ptr<area_hover>&c,double speed,
  33. event_map& ev_map)
  34. {
  35. // auto area_ptr = c->m_area;
  36. // //从考勤状态转换为结束考勤
  37. // if(AT_NOT_ATTENDANCE == area_ptr->m_area_type)
  38. // {
  39. // if(AS_ATTENDANCE == card_ptr->m_stat_attendance)
  40. // {
  41. // card_ptr->m_stat_attendance = AS_NOT_ATTENDANCE;
  42. // //作为一条结束考勤记录保存到数据库
  43. // tool_db::save_attendance(card_ptr);
  44. // }
  45. // }
  46. // else //没在考勤状态转换为考勤状态
  47. // {
  48. // if(AS_ATTENDANCE != card_ptr->m_stat_attendance)
  49. // {
  50. // card_ptr->m_stat_attendance = AS_ATTENDANCE;
  51. // //作为一条考勤记录保存到数据库
  52. // tool_db::save_attendance(card_ptr);
  53. // }
  54. // }
  55. }
  56. void on_leave(std::shared_ptr<card_location_base> card_ptr,std::shared_ptr<area_hover>&c,double speed)
  57. {
  58. }
  59. };
  60. typedef std::shared_ptr<module_attendance_vehicle> module_attendance_vehicle_ptr;
  61. #endif // MODULE_ATTENDANCE_VEHICLE_H