12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #ifndef MODULE_ATTENDANCE_VEHICLE_H
- #define MODULE_ATTENDANCE_VEHICLE_H
- /**
- *@brief 车辆考勤模块
- *车辆进入某些特定区域,结束考勤;从特定区域进入其他区域,开始考勤
- *@author 戴月腾
- *@date 2018-08-07
- */
- #include <memory>
- #include <mutex>
- #include <map>
- #include <string>
- #include <chrono>
- #include <vector>
- #include <set>
- #include "module_const.h"
- /**
- * @brief 车辆进入某些特定区域,结束考勤;从特定区域进入其他区域,开始考勤, 单例
- */
- class module_attendance_vehicle:public singleton_base<module_attendance_vehicle>
- {
- private:
- friend class singleton_base<module_attendance_vehicle>;
- module_attendance_vehicle()
- {
- }
- public:
- void on_enter(std::shared_ptr<card_location_base> card_ptr,std::shared_ptr<area_hover>&c,double speed)
- {
- //card_ptr->m_attendance_start_time=std::chrono::system_clock::now();
- }
- void on_hover(std::shared_ptr<card_location_base> card_ptr,std::shared_ptr<area_hover>&c,double speed,
- event_map& ev_map)
- {
- // auto area_ptr = c->m_area;
- // //从考勤状态转换为结束考勤
- // if(AT_NOT_ATTENDANCE == area_ptr->m_area_type)
- // {
- // if(AS_ATTENDANCE == card_ptr->m_stat_attendance)
- // {
- // card_ptr->m_stat_attendance = AS_NOT_ATTENDANCE;
- // //作为一条结束考勤记录保存到数据库
- // tool_db::save_attendance(card_ptr);
- // }
- // }
- // else //没在考勤状态转换为考勤状态
- // {
- // if(AS_ATTENDANCE != card_ptr->m_stat_attendance)
- // {
- // card_ptr->m_stat_attendance = AS_ATTENDANCE;
- // //作为一条考勤记录保存到数据库
- // tool_db::save_attendance(card_ptr);
- // }
- // }
- }
- void on_leave(std::shared_ptr<card_location_base> card_ptr,std::shared_ptr<area_hover>&c,double speed)
- {
- }
- };
- typedef std::shared_ptr<module_attendance_vehicle> module_attendance_vehicle_ptr;
- #endif // MODULE_ATTENDANCE_VEHICLE_H
|