Ver Fonte

修复分站bug

lixioayao há 5 anos atrás
pai
commit
7d0f2a217b
4 ficheiros alterados com 7 adições e 3 exclusões
  1. 1 1
      card.cpp
  2. 1 1
      card_person.cpp
  3. 4 0
      event.cpp
  4. 1 1
      module_service/module_web.cpp

+ 1 - 1
card.cpp

@@ -321,7 +321,7 @@ void card_list::load_his_card_postion_staff()
             auto mine_tool_ptr = card_ptr->get_mine_tool();
             mine_tool_ptr->m_attendance_start_time = tool_time::to_time_ex(start_time);
             mine_tool_ptr->m_is_attendance = true;
-            log_info("person加载考勤,考勤开始时间:%s,卡id=%s areainfo=%s", start_time.c_str(), card_id.c_str(),strAreaInfo.c_str());
+            log_info("person加载考勤,考勤开始时间:%s,[%s]cur_time:%s 卡id=%s areainfo=%s",start_time.c_str(),tool_time::to_str(mine_tool_ptr->m_attendance_start_time).c_str(),cur_time.c_str(),card_id.c_str(),strAreaInfo.c_str());
 
             //分站设置
             auto area_tool=card_ptr->get_area_tool();

+ 1 - 1
card_person.cpp

@@ -18,7 +18,7 @@
 #include "forbid_staff_down_mine.h"
 #include <config_file.h>
 #include "cardMgr.h"
-
+#include "card.h"
 extern config_file config;
 int person::m_limit_detained_time=-1;
 int person::m_auto_up_mine_time=-1;

+ 4 - 0
event.cpp

@@ -378,6 +378,10 @@ void event_list::load_his_data_from_db(bool init /*=true*/)
             if(ev->m_ev_type==ET_READER_POWER_BY_BATTERY)
                 if(auto r=sit_list::instance()->get(std::stoi(obj_id)))
                     r->m_power_ac_down=true;
+            if(ev->m_ev_type==ET_READER_ERROR)
+                if(auto r=sit_list::instance()->get(std::stoi(obj_id)))
+                    r->m_time=tool_time::to_ms(ev->m_cur_time)/1000;
+        
             if(!flag) 
                 map.insert(std::make_pair(id, ev));
             log_info("event_list %lld,%lld,%d,%d,%d,%s,%d,%d,%d,%.2f,%.2f,%.2f,%.2f,%s"

+ 1 - 1
module_service/module_web.cpp

@@ -123,7 +123,7 @@ void module_web::_get_all_events(std::vector<std::shared_ptr<ya_event>>& arr,boo
     auto it_map = _map.begin();
     for(;it_map!=_map.end();++it_map)
     {
-        if(f && it_map->second->m_is_sent)continue;
+        if(f && it_map->second->m_is_sent && !it_map->second->is_end())continue;
         else it_map->second->m_is_sent=true;
         arr.push_back(it_map->second);
     }