1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #ifndef MODULE_SITE_H
- #define MODULE_SITE_H
- #include"math.h"
- #include <memory>
- #include <mutex>
- #include <map>
- #include <string>
- #include <chrono>
- #include <vector>
- #include<card.h>
- #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<module_site>
- {
- private:
- friend class singleton_base<module_site>;
- 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
|