1
0
Преглед на файлове

升井、删除卡增加离开区域操作

daiyueteng преди 6 години
родител
ревизия
e8ad8f3bd5
променени са 3 файла, в които са добавени 11 реда и са изтрити 18 реда
  1. 2 1
      module_service/module_attendance_person.h
  2. 9 14
      module_service/module_meta_date_changed.cpp
  3. 0 3
      module_service/module_meta_date_changed.h

+ 2 - 1
module_service/module_attendance_person.h

@@ -78,6 +78,7 @@ public:
 //    }
 
     ///升井或收到web的删除卡命令  site_ptr==nullptr表示收到web的删除卡命令
+    /// 保存考勤记录,发升井json,清理卡
     static void up_mine(std::shared_ptr<card_location_base> card_ptr, std::shared_ptr<site> site_ptr)
     {
         auto mine_tool_ptr = card_ptr->get_mine_tool();
@@ -170,7 +171,7 @@ public:
                 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_area::on_leave(card_ptr->m_id, area_hover_ptr, card_ptr->m_type);
                 }
 
                 to_json_card_up_one(card_ptr, datas, allocator);

+ 9 - 14
module_service/module_meta_date_changed.cpp

@@ -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);
-}

+ 0 - 3
module_service/module_meta_date_changed.h

@@ -318,9 +318,6 @@ private:
             it.second->m_scale = scale;
         }
     }
-
-    ///收到web的删除车卡命令  保存考勤 入库  清理卡
-    void clear_card_vehicle(std::shared_ptr<card_location_base> card_ptr);
 };
 
 #endif // MODULE_META_DATE_CHANGED_H