|
@@ -112,7 +112,7 @@ void CMineCardManager::CancelEvent(int evType,int curVal)
|
|
|
* @brief 人员下井
|
|
|
* @param card 卡
|
|
|
**/
|
|
|
-void CMineCardManager::OnPersonDown(std::shared_ptr<card> card)
|
|
|
+void CMineCardManager::OnPersonDown(std::shared_ptr<card> card,bool bInit/* = false*/)
|
|
|
{
|
|
|
if (nullptr == card)
|
|
|
{
|
|
@@ -130,24 +130,10 @@ void CMineCardManager::OnPersonDown(std::shared_ptr<card> card)
|
|
|
m_minecards->m_up_person.erase(key);
|
|
|
//加入到井下列表中
|
|
|
m_minecards->m_down_person.insert(key);
|
|
|
- int max_person = CYaSetting::m_sys_setting.over_count_person;
|
|
|
- //井下超员判断
|
|
|
- if (max_person != 0 && (int)m_minecards->m_down_person.size() > max_person )
|
|
|
+ if(!bInit)
|
|
|
{
|
|
|
- std::string log = "";
|
|
|
- for (uint64_t id : m_minecards->m_down_person)
|
|
|
- {
|
|
|
- std::shared_ptr<card_location_base> pitcard = card_list::instance()->get(id);
|
|
|
- if (nullptr != pitcard)
|
|
|
- {
|
|
|
- log += card_list::to_id64_str(pitcard->m_type,pitcard->m_id);
|
|
|
- log += "&";
|
|
|
- }
|
|
|
- }
|
|
|
- //打印日志
|
|
|
- log_info("[lemon mp_card_list_down_person:]:%s",log.c_str());
|
|
|
-
|
|
|
- this->StartEvent(EVENT_TYPE::ET_OVER_COUNT_PERSON,max_person,(int)m_minecards->m_down_person.size());
|
|
|
+ //井下超员判断
|
|
|
+ this->OnPersonOvercrowdingWarning();
|
|
|
}
|
|
|
}
|
|
|
/**
|
|
@@ -178,12 +164,38 @@ void CMineCardManager::OnPersonUp(std::shared_ptr<card> card)
|
|
|
this->CancelEvent(EVENT_TYPE::ET_OVER_COUNT_PERSON,(int)m_minecards->m_down_person.size());
|
|
|
}
|
|
|
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @brief 人员超员警告
|
|
|
+**/
|
|
|
+void CMineCardManager::OnPersonOvercrowdingWarning()
|
|
|
+{
|
|
|
+ int max_person = CYaSetting::m_sys_setting.over_count_person;
|
|
|
+ //井下超员判断
|
|
|
+ if (max_person != 0 && (int)m_minecards->m_down_person.size() > max_person )
|
|
|
+ {
|
|
|
+ std::string log = "";
|
|
|
+ for (uint64_t id : m_minecards->m_down_person)
|
|
|
+ {
|
|
|
+ std::shared_ptr<card_location_base> pitcard = card_list::instance()->get(id);
|
|
|
+ if (nullptr != pitcard)
|
|
|
+ {
|
|
|
+ log += card_list::to_id64_str(pitcard->m_type,pitcard->m_id);
|
|
|
+ log += "&";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //打印日志
|
|
|
+ log_info("[lemon mp_card_list_down_person:]:%s",log.c_str());
|
|
|
+
|
|
|
+ this->StartEvent(EVENT_TYPE::ET_OVER_COUNT_PERSON,max_person,(int)m_minecards->m_down_person.size());
|
|
|
+ }
|
|
|
}
|
|
|
/**
|
|
|
* @brief 车下井
|
|
|
* @param card 卡
|
|
|
**/
|
|
|
-void CMineCardManager::OnVehicleDown(std::shared_ptr<card> card)
|
|
|
+void CMineCardManager::OnVehicleDown(std::shared_ptr<card> card,bool bInit/* = false*/)
|
|
|
{
|
|
|
if (nullptr == card)
|
|
|
{
|
|
@@ -200,4 +212,12 @@ void CMineCardManager::OnVehicleUp(std::shared_ptr<card> card)
|
|
|
{
|
|
|
return ;
|
|
|
}
|
|
|
+}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief 车辆超员警告
|
|
|
+ **/
|
|
|
+void CMineCardManager::OnVehicleOvercrowdingWarning()
|
|
|
+{
|
|
|
+
|
|
|
}
|