|
@@ -103,7 +103,7 @@ void Event::handle_alarm_event(EVENT_TYPE et,uint64_t id,double limit_value,doub
|
|
|
{
|
|
|
uint64_t _id=id;
|
|
|
log_info("Create_Event:desc[%s],id:%d,et:%d",desc.c_str(),id,et);
|
|
|
- if(et == ET_VEHICLE_REAR_END&&!desc.empty())
|
|
|
+ if((et==ET_UWB_MORE_CARD||et == ET_VEHICLE_REAR_END)&&!desc.empty())//防追尾告警特殊处理
|
|
|
{
|
|
|
std::string cardid = desc.substr(0,desc.find_first_of('&'));
|
|
|
_id = tool_other::card_id_to_u64(cardid);
|
|
@@ -115,7 +115,7 @@ void Event::handle_alarm_event(EVENT_TYPE et,uint64_t id,double limit_value,doub
|
|
|
ev_ptr->m_desc=desc;
|
|
|
ev_ptr->m_id=eid;
|
|
|
ev_ptr->m_dis_type=edt;
|
|
|
- if(et==ET_UWB_MORE_CARD)
|
|
|
+ if(et==ET_UWB_MORE_CARD)//一人多卡特殊处理
|
|
|
{
|
|
|
ev_ptr->m_obj_id=desc;
|
|
|
ev_ptr->m_cur_time=std::chrono::system_clock::time_point(std::chrono::milliseconds((time_t)limit_value * 1000));
|
|
@@ -148,8 +148,20 @@ void Event::handle_alarm_event(EVENT_TYPE et,uint64_t id,double limit_value,doub
|
|
|
std::shared_ptr<ya_event> mine_event::on_message(EVENT_TYPE et,uint64_t id,bool f)
|
|
|
{
|
|
|
std::shared_ptr<ya_event> event_ptr=nullptr;
|
|
|
- if(f)
|
|
|
+ if(f){
|
|
|
event_ptr=create_event(std::to_string(id), et);
|
|
|
+ auto card_ptr = card_list::instance()->get(id);
|
|
|
+ if(!card_ptr)
|
|
|
+ {
|
|
|
+ event_ptr->m_map_id=5;
|
|
|
+ return event_ptr;
|
|
|
+ }
|
|
|
+ if(auto site_ptr=card_ptr->get_area_tool()->m_site)
|
|
|
+ {
|
|
|
+ event_ptr->m_area_id = site_ptr->m_area_id;
|
|
|
+ event_ptr->m_map_id = site_ptr->m_map_id;
|
|
|
+ }
|
|
|
+ }
|
|
|
return event_ptr;
|
|
|
}
|
|
|
|
|
@@ -208,12 +220,10 @@ std::shared_ptr<ya_event> card_event::on_message(EVENT_TYPE et,uint64_t id,bool
|
|
|
event_ptr->y = card_ptr->y;
|
|
|
//event_ptr->m_is_display = card_ptr->m_display;
|
|
|
|
|
|
- auto area_info_map = card_ptr->get_area_tool()->m_area_info;
|
|
|
- if(!area_info_map.empty())
|
|
|
+ if(auto site_ptr=card_ptr->get_area_tool()->m_site)
|
|
|
{
|
|
|
- auto lm = area_info_map.begin()->second;
|
|
|
- event_ptr->m_area_id = std::get<0>(lm);
|
|
|
- event_ptr->m_map_id = card_ptr->get_area_tool()->get_mapid();
|
|
|
+ event_ptr->m_area_id = site_ptr->m_area_id;
|
|
|
+ event_ptr->m_map_id = site_ptr->m_map_id;
|
|
|
}
|
|
|
}
|
|
|
return event_ptr;
|