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