Browse Source

Merge branch 'master' of http://local.beijingyongan.com:3000/linux-dev/ya-serv

zzj 6 years ago
parent
commit
ed1fd5ebbb
3 changed files with 40 additions and 24 deletions
  1. 8 0
      card_base.cpp
  2. 9 1
      main.cpp
  3. 23 23
      module_service/area_business_count_checker.cpp

+ 8 - 0
card_base.cpp

@@ -158,6 +158,14 @@ void card_location_base::put_three_rates(card_pos & cp)
 	cp.rec_time=m_time;cp.type=m_type;cp.id=m_id;
 	cp.identifier_id=m_cid;cp.running_stat=m_stat;cp.final_v=m_speed;
 	cp.dpt_id = m_deptid;
+	std::shared_ptr<area_tool> _areatool = get_area_tool();
+	if(nullptr != _areatool && nullptr != _areatool->m_site)
+	{
+		cp.reader_x = _areatool->m_site->x;
+		cp.reader_y = _areatool->m_site->y;
+		cp.reader_id = _areatool->m_site->m_id;
+	}
+
 	log_info("three_rates:type:%d,id:%d,cid:%d",cp.type,cp.id,cp.identifier_id);
 	three_rates::get_instance()->put(cp);
 }

+ 9 - 1
main.cpp

@@ -22,10 +22,17 @@
 #include "ya_setting.h"
 
 config_file config;
-static void handlereader(uint32_t readerid,bool duration,uint32_t t)
+void handlereader(uint32_t readerid,bool duration,uint32_t t)
 {
 
 }
+//三率模块中告警回调
+void Handle_ThreeRates_Event_Callback(const int evType, const int evId, uint64_t id
+        , double limitVal, double curVal, bool bFalg)
+{
+    event_tool::instance()->handle_event(evType,evId,id,limitVal,curVal,bFalg);
+}
+
 struct Init_Setting
 {
     void init()
@@ -82,6 +89,7 @@ struct Init_Setting
 		std_info("three_rates ...................");
 		init_para ip;
 		ip.send_pt = handlereader;
+		ip.driving_face_alarm = Handle_ThreeRates_Event_Callback;
 		three_rates::get_instance()->init(ip,dbs);
 		three_rates::get_instance()->start();
 	}

+ 23 - 23
module_service/area_business_count_checker.cpp

@@ -14,31 +14,31 @@
 //服务器重启加载数据
 void area_business_count_checker::on_load_his(const std::shared_ptr<area_hover>&a,const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data>&ptr)
 {
-	if (nullptr == a->m_area )
-		return ;
-	if (c->is_person() && !a->m_area->m_event_person_count)
-	{
-		EVENT_TYPE ev = a->m_area->is_mine()?EVENT_TYPE::ET_OVER_COUNT_PERSON : EVENT_TYPE::ET_AREA_OVER_COUNT_PERSON ;
-		auto ev_ptr_temp = event_list::instance()->get_event_area(a->m_area->id(),ev);
-		if (ev_ptr_temp && !ev_ptr_temp->is_end())
-			a->m_area->m_event_person_count = true;
+    if (nullptr == a->m_area )
+        return ;
+    if (c->is_person() && !a->m_area->m_event_person_count)
+    {
+        EVENT_TYPE ev = a->m_area->is_mine()?EVENT_TYPE::ET_OVER_COUNT_PERSON : EVENT_TYPE::ET_AREA_OVER_COUNT_PERSON ;
+        auto ev_ptr_temp = event_list::instance()->get_event_area(a->m_area->id(),ev);
+        if (ev_ptr_temp && !ev_ptr_temp->is_end())
+            a->m_area->m_event_person_count = true;
 
-	}
-	else if (c->is_vehicle() && !a->m_area->m_event_vehicle_count)
-	{
-		EVENT_TYPE ev = a->m_area->is_mine()?EVENT_TYPE::ET_OVER_COUNT_VEHICLE : EVENT_TYPE::ET_AREA_OVER_COUNT_VEHICLE ;
-		auto ev_ptr_temp = event_list::instance()->get_event_area(a->m_area->id(),ev);
-		if (ev_ptr_temp && !ev_ptr_temp->is_end())
-		{
-			a->m_area->m_event_vehicle_count = true;
-		}
-	}
-	on_enter(a,c,ptr);
+    }
+    else if (c->is_vehicle() && !a->m_area->m_event_vehicle_count)
+    {
+        EVENT_TYPE ev = a->m_area->is_mine()?EVENT_TYPE::ET_OVER_COUNT_VEHICLE : EVENT_TYPE::ET_AREA_OVER_COUNT_VEHICLE ;
+        auto ev_ptr_temp = event_list::instance()->get_event_area(a->m_area->id(),ev);
+        if (ev_ptr_temp && !ev_ptr_temp->is_end())
+        {
+            a->m_area->m_event_vehicle_count = true;
+        }
+    }
+    on_enter(a,c,ptr);
 }
 
 //增加计数,并进行判断
 void area_business_count_checker::on_enter(const std::shared_ptr<area_hover>&a,
-						const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data>&ptr)
+                                           const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data>&ptr)
 {
 	if (nullptr == a->m_area )
 		return ;
@@ -72,13 +72,13 @@ void area_business_count_checker::on_enter(const std::shared_ptr<area_hover>&a,
 }
 
 void area_business_count_checker::on_hover(const std::shared_ptr<area_hover>&a,
-						const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr)
+                                           const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr)
 {
 }
 
-	//减少计数
+//减少计数
 void area_business_count_checker::on_leave(const std::shared_ptr<area_hover>&a,
-						const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr)
+                                           const std::shared_ptr<card_location_base>&c,std::shared_ptr<business_data> ptr)
 {
 	if (nullptr == a->m_area )
 	{