1
0
daiyueteng 6 rokov pred
rodič
commit
67bab23f20
4 zmenil súbory, kde vykonal 29 pridanie a 19 odobranie
  1. 4 0
      area.h
  2. 18 13
      event.cpp
  3. 4 0
      event.h
  4. 3 6
      mine.h

+ 4 - 0
area.h

@@ -43,6 +43,10 @@ struct area
     {
         return m_area_type == AREA_TYPE_NO_COVER;
     }
+    bool is_mine()//是矿井区域
+    {
+        return 0 == m_id;
+    }
     virtual ~area()
     {}
 

+ 18 - 13
event.cpp

@@ -123,19 +123,7 @@ void Event::handle_alarm_event(EVENT_TYPE et,uint64_t id,double limit_value,doub
     }
     if(ev_ptr)
     {
-        char sql[LENGTH_SQL] = {0};
-        std::string _time = tool_time::to_str_ex(ev_ptr->m_cur_time);
-        sprintf(sql,
-                "INSERT IGNORE INTO his_event_data(event_id, stat, event_type_id, obj_type_id, obj_id, \
-                map_id, area_id, limit_value, cur_value, x, y, cur_time, description, \
-                landmark_id, landmark_dist,direction_mapper_id )\
-                VALUES(%ld, %d, %d, %d, %s, %d, %d, %.2f, %.2f, %f, %f, '%s', '%s', %d, %10.3f, %d);",
-        ev_ptr->get_id(), ev_ptr->m_status, ev_ptr->m_ev_type, ev_ptr->m_obj_type, ev_ptr->m_obj_id.c_str(),
-                ev_ptr->m_map_id, ev_ptr->m_area_id, ev_ptr->m_limit_value, ev_ptr->m_cur_value, ev_ptr->x, ev_ptr->y,
-                _time.c_str(), ev_ptr->m_desc.c_str(),
-                ev_ptr->m_landmarkid, ev_ptr->m_landmarkdist, ev_ptr->m_landmarkdirect);
-
-        db_tool::PushAsync(sql);
+        event_list::save_event(ev_ptr);
     }
 }
 
@@ -228,6 +216,23 @@ std::shared_ptr<ya_event> event_list::get_event_card(uint32_t card_id, int card_
     return base::get(to_list_id(ev_type, OT_CARD, id64));
 }
 
+void event_list::save_event(std::shared_ptr<ya_event> ev_ptr)
+{
+    char sql[LENGTH_SQL] = {0};
+    std::string _time = tool_time::to_str_ex(ev_ptr->m_cur_time);
+    sprintf(sql,
+            "INSERT IGNORE INTO his_event_data(event_id, stat, event_type_id, obj_type_id, obj_id, \
+            map_id, area_id, limit_value, cur_value, x, y, cur_time, description, \
+            landmark_id, landmark_dist,direction_mapper_id )\
+            VALUES(%ld, %d, %d, %d, %s, %d, %d, %.2f, %.2f, %f, %f, '%s', '%s', %d, %10.3f, %d);",
+    ev_ptr->get_id(), ev_ptr->m_status, ev_ptr->m_ev_type, ev_ptr->m_obj_type, ev_ptr->m_obj_id.c_str(),
+            ev_ptr->m_map_id, ev_ptr->m_area_id, ev_ptr->m_limit_value, ev_ptr->m_cur_value, ev_ptr->x, ev_ptr->y,
+            _time.c_str(), ev_ptr->m_desc.c_str(),
+            ev_ptr->m_landmarkid, ev_ptr->m_landmarkdist, ev_ptr->m_landmarkdirect);
+
+    db_tool::PushAsync(sql);
+}
+
 void event_list::load_his_data_from_db()
 {
     std::unordered_map<uint64_t, std::shared_ptr<ya_event>> map;

+ 4 - 0
event.h

@@ -51,6 +51,8 @@ enum EVENT_TYPE{ // 事件类型
     ET_CARD_MOTIONLESS=32,//静止不动告警
 
     ET_VEHICLE_NEAR_GEOFAULT=38,//靠近断层告警
+
+    CARD_EVENT_COUNT_MAX
 };
 
 struct ya_event
@@ -170,6 +172,8 @@ public:
         return base::get(to_list_id(ev_type,OT_DEVICE_READER, static_cast<uint64_t>(reader_id)));
     }
 
+    static void save_event(std::shared_ptr<ya_event> event_ptr);
+
     void load_his_data_from_db();
 
     ~event_list(){}

+ 3 - 6
mine.h

@@ -20,7 +20,7 @@ struct mine_tool
 		:m_over_speed_count(0)
 		,m_normal_speed_count(0)
 		,m_status_call(0)
-		,m_stat_attendance(AS_INIT)
+        ,m_is_attendance(false)
 		,m_attendance_start_time(std::chrono::seconds(0))
 		,m_is_overtime(false)
 		,m_overtime(std::chrono::seconds(0))
@@ -34,7 +34,7 @@ struct mine_tool
     int m_status_call;
 
     ///考勤状态  0初始状态 1 没在考勤 2 考勤;参看ATTENDANCE_STATUS
-    int m_stat_attendance;
+    bool m_is_attendance;
     ///考勤开始时间
     std::chrono::system_clock::time_point m_attendance_start_time;
     //井下是否超时
@@ -49,9 +49,6 @@ struct mine_tool
 	uint64_t get_down_time();
 	uint64_t get_work_time();
 	int32_t is_on_duty();
-    bool is_attendance()
-    {
-        return AS_ATTENDANCE == m_stat_attendance;
-    }
+
 };
 #endif // MINE_H