#ifndef MODULE_SITE_H #define MODULE_SITE_H #include"math.h" #include #include #include #include #include #include #include #include"ant.h" #include"area.h" #include"site_area.h" #include"module_const.h" #include"module_attendance_person.h" class module_site : public singleton_base { private: friend class singleton_base; module_site() { } public: /** * @brief 进入分站覆盖区域处理,考勤 * @param card_id * @param enter_site */ static void enter_site(uint32_t card_id,int enter_site,int32_t type) { auto card_ptr=card_list::instance()->get(card_list::to_id64(type, card_id)); if(!card_ptr) { log_error("卡不存在card_id=%ld, type=%ld", card_id, type); return; } auto site_ptr=sit_list::instance()->get(enter_site); if(!site_ptr) { log_error("[enter site]%d,%d在分站列表中找不到分站,分站id=%d",card_id, type,enter_site); return; } if(card_ptr->is_person()) { module_attendance_person::instance()->enter_site(card_ptr, site_ptr); } if(card_ptr->is_vehicle()) { } } /** * @brief 离开现有分站处理,记录现有分站的进出时间和地点 * @param card_id * @param enter_site */ static void leave_site(uint32_t card_id,int enter_site, int32_t type) { auto card_ptr=card_list::instance()->get(card_list::to_id64(type, card_id)); if(!card_ptr) { log_error("卡不存在card_id=%ld, type=%ld", card_id, type); return; } auto site_ptr=sit_list::instance()->get(enter_site); if(!site_ptr) { log_error("[leave site]%d,%d在分站列表中找不到分站,分站id=%d",card_id,type, enter_site); return; } if(card_ptr->is_person()) { } if(card_ptr->is_vehicle()) { } } }; #endif // MODULE_SITE_H