site_area.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include "site_area.h"
  2. #include "card.h"
  3. #include "module_service/module_site.h"
  4. //每张卡包含这样一个对象,保存最后一个分站区域
  5. //1、记录卡进出分站的时间,地点
  6. //2、用于考勤
  7. void site_area_hover::on_point(uint32_t card_id,int site_id,const point*pt,int32_t type)
  8. {
  9. if(pt!=nullptr)
  10. {
  11. if(m_enter_point.empty())
  12. m_enter_point=*pt;
  13. m_last_point=*pt;
  14. }
  15. else
  16. {
  17. if(m_site_id==site_id)
  18. return;
  19. int last_id = m_site_id;
  20. m_site_id = site_id;
  21. //离开现有分站处理,记录现有分站的进出时间和地点
  22. leave_site(card_id,last_id,type);
  23. //进入分站覆盖区域处理,考勤
  24. enter_site(card_id,site_id,type);
  25. //m_site_id=site_id;
  26. m_enter_time=m_last_time=time(nullptr);
  27. log_info("---thread_id onpoint:%d,%x",card_id,std::this_thread::get_id());
  28. m_enter_point.set(0,0);
  29. m_last_point.set(0,0);
  30. }
  31. }
  32. void site_area_hover::enter_site(uint32_t card_id,int enter_site,int32_t type)
  33. {
  34. module_site::enter_site(card_id, enter_site, type);
  35. }
  36. void site_area_hover::leave_site(uint32_t card_id,int enter_site,int32_t type)
  37. {
  38. module_site::leave_site(card_id, enter_site, type);
  39. }