#ifndef AREA_BUSINESS_CAR_ATTENDANCE_H #define AREA_BUSINESS_CAR_ATTENDANCE_H #include"area_business.h" class area_business_car_attendance:public area_business { public: area_business_car_attendance(); virtual int area_business_type() { return 6; } //记录进入时间等信息,结束考勤,根据离开的时间和距离,判断是否记录一条新的考勤记录 void on_enter(const std::shared_ptr&a,const std::shared_ptr&c,std::shared_ptr&ptr); void on_hover(const std::shared_ptr&a,const std::shared_ptr&c,std::shared_ptr ptr); //记录离开考勤区域信息,开始考勤 void on_leave(const std::shared_ptr&a,const std::shared_ptr&c,std::shared_ptr ptr); // static void init_attendance_area_from_db(); ///area_hover_ptr==nullptr 表示接收到 web的删除卡命令 static void save_attendance(const std::shared_ptr& card_ptr, const std::shared_ptr area_hover_ptr); //private: // bool is_not_attendance_area(int area_id, int vehicle_type_id) // { // return m_map.end() != m_map.find(to_list_id(area_id, vehicle_type_id)); // } // uint64_t to_list_id(int area_id, int vehicle_type_id) // { // return (static_cast(area_id)<<32) | static_cast(vehicle_type_id); // } // ///area_id<<32| vehicle_type_id; att_rule_id // std::unordered_map m_map; }; #endif // AREA_BUSINESS_CAR_ATTENDANCE_H