|
@@ -182,29 +182,24 @@ void module_meta_date_changed::remove_card(uint32_t id, int32_t type)
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ auto area_hover_ptr = card_ptr->get_area_hover();
|
|
|
+ if(area_hover_ptr && 0!=area_hover_ptr->id() && 0!=area_hover_ptr->mapid())
|
|
|
+ {
|
|
|
+ module_area::on_leave(card_ptr->m_id, area_hover_ptr, card_ptr->m_type);
|
|
|
+ }
|
|
|
+
|
|
|
if(card_ptr->is_person())
|
|
|
{
|
|
|
module_attendance_person::up_mine(card_ptr, nullptr);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- clear_card_vehicle(card_ptr);
|
|
|
+ module_attendance_vehicle::save_attendance(card_ptr, nullptr);
|
|
|
+
|
|
|
+ module_meta_date_changed::clear_card(card_ptr);
|
|
|
}
|
|
|
|
|
|
// 避免状态重置
|
|
|
card_list::instance()->remove(card_id);
|
|
|
log_info("基础数据, 在全局列表中删除卡成功, id=%d, type=%d", id, type);
|
|
|
}
|
|
|
-
|
|
|
-void module_meta_date_changed::clear_card_vehicle(std::shared_ptr<card_location_base> card_ptr)
|
|
|
-{
|
|
|
- module_attendance_vehicle::save_attendance(card_ptr, nullptr);
|
|
|
-
|
|
|
- auto area_hover_ptr = card_ptr->get_area_hover();
|
|
|
- if(area_hover_ptr && 0!=area_hover_ptr->id() && 0!=area_hover_ptr->mapid())
|
|
|
- {
|
|
|
- module_area::save_his_area_location_leave(card_ptr);
|
|
|
- }
|
|
|
-
|
|
|
- module_meta_date_changed::clear_card(card_ptr);
|
|
|
-}
|