Browse Source

解决人卡告警历史加载逻辑异常bug

lixioayao 5 years ago
parent
commit
61172ea6d9
5 changed files with 11 additions and 13 deletions
  1. 1 1
      card.cpp
  2. 7 6
      event.cpp
  3. 1 1
      main.cpp
  4. 1 4
      message.cpp
  5. 1 1
      ya_setting.h

+ 1 - 1
card.cpp

@@ -378,7 +378,7 @@ void card_list::on_message(zloop<task*> *loop, message_locinfo&loc,bool is_histo
 			loc.m_site_id,loc.m_ant_id,loc.m_card_type,loc.m_card_id,loc.m_card_ct,loc.m_tof,dist_tof,
 			(loc.m_card_type==1?loc.m_callinfo:loc.m_rav),
 			loc.m_acc,loc.m_rssi,loc.m_batty_status,loc.m_time_stamp);
-    if(loc.m_card_type != CT_PERSON && CYaSetting::m_sys_setting.test_rav(loc.m_card_type,loc.m_card_id))
+    if(loc.m_card_type != CT_PERSON && CYaSetting::m_sys_setting.check_rav(loc.m_card_type,loc.m_card_id))
         loc.set_rav(0);
     
 	c->on_message(loop,loc,is_history);

+ 7 - 6
event.cpp

@@ -366,13 +366,14 @@ void event_list::load_his_data_from_db(bool init /*=true*/)
             if(ev->m_obj_type==OT_CARD){
                 uint64_t c_id= tool_other::card_id_to_u64(ev->m_obj_id);
                 if(auto c=card_list::instance()->get(c_id)){
-                    do{
-                        if(c->m_type==CT_PERSON){
-                            auto mine_tool_ptr = c->get_mine_tool();
-                            if(!mine_tool_ptr->m_is_attendance) break;
+                    if(c->m_type==CT_PERSON){
+                        auto mine_tool_ptr = c->get_mine_tool();
+                        if(!mine_tool_ptr->m_is_attendance) {
+                            log_warn("person_not_att:%s",obj_id.c_str());
+                            continue;
                         }
-                        c->set_event_flag(ev->m_ev_type);
-                    }while(0);
+                    }
+                    c->set_event_flag(ev->m_ev_type);
                 } else {
                     log_warn("load_evnet_history:card_id:%s not exist...",obj_id.c_str());
                     continue;

+ 1 - 1
main.cpp

@@ -90,8 +90,8 @@ struct Init_Setting
         //auto s = special_area_list::instance()->get_special_id(1013,point(4727,-254),2);
         //std_info("test special_area:%d",s);
 		mine_business::inst()->load();
-        event_list::instance()->load_his_data_from_db();
         card_list::instance()->load_his_card_postion_from_db();
+        event_list::instance()->load_his_data_from_db();
         if(three_rates_flag){
             db_para dp;	
             dp.Host=DBSetting.Host;

+ 1 - 4
message.cpp

@@ -24,12 +24,10 @@ void message_locinfo::zero_this()
 
 task* message_locinfo::clone(message_locinfo* ml)
 {
-    log_info("clone: enter");
     task* t = task::alloc<message_locinfo>(); 
     message_locinfo& m = t->body<message_locinfo>(); 
     m.zero_this();
    
-    log_info("clone: begin copy");
     m.m_time_stamp = ml->m_time_stamp;
     m.m_site_time = ml->m_site_time;
     m.m_tof = ml->m_tof;
@@ -44,7 +42,6 @@ task* message_locinfo::clone(message_locinfo* ml)
     m.m_ant_id = ml->m_ant_id;
     m.m_sync_ct = ml->m_sync_ct;
     m.m_rssi = ml->m_rssi;
-    log_info("clone: end copy");
 	return std::move(t);
 }
 
@@ -60,7 +57,7 @@ void message_locinfo::load(zistream&is,bool tdoa)
 	m_card_id &= 0xFFFF; //卡号不会大于65535,分站上传数据的bug
 
 	m_card_type=b;
-	m_batty_status&=0x3;
+	m_batty_status&=0x03;
 
 	is>>b;
 	if(m_card_type==1)

+ 1 - 1
ya_setting.h

@@ -28,7 +28,7 @@ struct  SSys_setting // system_limit_setting
     {
         init();
     }
-    bool test_rav(uint8_t type,uint32_t id)
+    bool check_rav(uint8_t type,uint32_t id)
     {
         bool f = false;
         std::string cardid=tool_other::type_id_to_str(type,id);