1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /*
- ** 井中卡的数据:人员下井 ,人员升进,车下井升井数据
- ** 对应的操作,井下人员超时,井下超员等
- */
- #ifndef __MINECARDMANAGER_H
- #define __MINECARDMANAGER_H
- #include "minestruct.h"
- #include "card.h"
- #include "module_service/module_const.h"
- //井下警告类型数量
- #define MAX_MINE_EVENT_NUM 3
- class CMineCardManager : public singleton_base<CMineCardManager>
- {
- private:
- friend class singleton_base<CMineCardManager>;
- CMineCardManager();
- private:
- std::shared_ptr<mine_card_info> m_minecards;
- //井下警告列表ID(下标为实践类型)
- uint64_t m_evlist[MAX_MINE_EVENT_NUM];
- private:
- /**
- * @brief 获取事件ID
- **/
- uint64_t GetMineEventId(int evType);
- /**
- * @brief 判断是否已存在
- **/
- bool Exist(SET_CARDID &list,uint64_t id);
- bool Exist(SET_CARDID &list,int card_id,int card_type);
- /**
- * @brief 创建警告事件
- * @param evType 警告类型
- * @param limitVal 限制数据(阀门值)
- * @param curVal 当前数据
- **/
- void StartEvent(int evType,int limitVal,int curVal);
- /**
- * @brief 取消警告事件
- * @param evType 警告类型
- * @param curVal 当前数据
- **/
- void CancelEvent(int evType,int curVal);
- public:
- //TODO: 获取信息
- std::shared_ptr<mine_card_info> GetMineCards() ;
- /**
- * @brief 人员下井,超员警告
- * @param card 卡
- * @param bInit 是否初始化(程序启动加载井下人员)
- **/
- void OnPersonDown(std::shared_ptr<card> card,bool bInit = false);
- /**
- * @brief 人员升井,取消超员警告
- * @param card 卡
- **/
- void OnPersonUp(std::shared_ptr<card> card);
- /**
- * @brief 人员超员警告
- **/
- void OnPersonOvercrowdingWarning();
- /**
- * @brief 人员井下超时
- **/
- void OnPersonInMineOverTime(int card_id,int card_type);
- public:
- /**
- * @brief 车下井 ,车辆超员警告
- * @param card 卡
- * @param bInit 是否初始化(程序启动加载井下车辆)
- **/
- void OnVehicleDown(std::shared_ptr<card> card,bool bInit = false);
- /**
- * @brief 车升井,车辆超员警告取消
- * @param card 卡
- **/
- void OnVehicleUp(std::shared_ptr<card> card);
- /**
- * @brief 车辆超员警告
- **/
- void OnVehicleOvercrowdingWarning();
- };
- #endif //__MINECARDMANAGER_H
|