1
0

area_business_work_rate.cpp 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #include"area_business_work_rate.h"
  2. #include<memory>
  3. #include<string>
  4. #include"log.h"
  5. #include"card.h"
  6. #include"struct_def.h"
  7. #include"three_rates.h"
  8. #include"area.h"
  9. #include"card.h"
  10. #include"tool_time.h"
  11. struct work_rate_data:business_data
  12. {
  13. work_rate_data()
  14. {
  15. }
  16. };
  17. void area_business_work_rate::on_load_his(const std::shared_ptr<area_hover>&area_hover_ptr,
  18. const std::shared_ptr<card_location_base>&card_ptr,std::shared_ptr<business_data>&ptr)
  19. {
  20. }
  21. void area_business_work_rate::on_enter(const std::shared_ptr<area_hover>&area_hover_ptr,
  22. const std::shared_ptr<card_location_base>&card_ptr,std::shared_ptr<business_data>& ptr)
  23. {
  24. if(!card_ptr->is_person())
  25. {
  26. return;
  27. }
  28. auto card = std::make_shared<card_pos>();
  29. card->id = card_ptr->m_id;
  30. card->type = card_ptr->m_type;
  31. card->work_line = card_ptr->get_workline();
  32. card->identifier_id = card_ptr->m_cid;
  33. auto area = std::make_shared<area_data>();
  34. area->area_id = area_hover_ptr->id();
  35. area->is_work_area = area_hover_ptr->m_area->m_is_work_area;
  36. area->enter_time = area_hover_ptr->m_enter_time/1000;
  37. three_rates::get_instance()->enter_area(card, area);
  38. }
  39. void area_business_work_rate::on_hover(const std::shared_ptr<area_hover>&area_hover_ptr,
  40. const std::shared_ptr<card_location_base>&card_ptr,std::shared_ptr<business_data> ptr)
  41. {
  42. }
  43. void area_business_work_rate::on_leave(const std::shared_ptr<area_hover>&area_hover_ptr,
  44. const std::shared_ptr<card_location_base>&card_ptr,std::shared_ptr<business_data> ptr)
  45. {
  46. if(!card_ptr->is_person())
  47. {
  48. return;
  49. }
  50. auto card = std::make_shared<card_pos>();
  51. card->id = card_ptr->m_id;
  52. card->type = card_ptr->m_type;
  53. card->work_line = card_ptr->get_workline();
  54. card->identifier_id = card_ptr->m_cid;
  55. auto area = std::make_shared<area_data>();
  56. area->area_id = area_hover_ptr->id();
  57. area->is_work_area = area_hover_ptr->m_area->m_is_work_area;
  58. area->leave_time = area_hover_ptr->m_last_time/1000;
  59. three_rates::get_instance()->leave_area(card, area);
  60. }