#pragma once #include #include #include //#include "EnvironmentBaseDefine.h" using namespace std; // 定义水泵类型 #define DrainPumpType_A 1 // A泵 #define DrainPumpType_B 2 // B泵 #define DrainPumpType_C 3 // C泵 #define DrainPumpType_D 4 // D泵 // 定义水位报警类型 #define DrainAlarm_Low 0 // 超低水位 #define DrainAlarm_Close 1 // 停泵水位 #define DrainAlarm_OpenOne 2 // 开单泵水位 #define DrainAlarm_OpenTwo 3 // 开双泵水位 #define DrainAlarm_OpenThree 4 // 开三泵水位 #define DrainAlarm_OpenFour 5 // 开四泵水位 // 定义给排水单元:由水箱水泵组成 struct CDrainPump { std::string m_strPoolStrID; std::string m_strEqpmtStrID; int m_nType; }; class CDrainPoolUnit { public: CDrainPoolUnit(); ~CDrainPoolUnit(); void AddDrainPump( const std::string& strPoolStrID, const std::string& strPumpStrID, int nType ); std::string GetPumpStrIDByType( int nType ); bool CheckRunPump( int nType ); void AddRunPumpType( int nType ); void DelRunPumpType( int nType ); void AddRunPumpStrID( const std::string& strEqpmtID ); int Size(); std::string GetFirstPumpStrID(); std::string GetSecondPumpStrID(); int GetWaterLevel(); bool Get_Water_FromTS() { return m_bWaterFromTS; } bool Get_Level_Change() { return m_bLevelChange; } void Set_Level_Change(bool bLevelChang) { m_bLevelChange = bLevelChang; } public: void SetWaterLevel_FronTS( float fWaterHeightPercent ); public: //add by yangs void SetWaterLevelByStatus(int nStatus); void setWaterLevel(float fLevel) { m_WaterLevel = fLevel; } void setWaterLevelAlarmLow(float fLevel) { m_fWaterLevelAlarmLow = fLevel; } void setWaterLevelAlarmHigh(float fLevel) { m_fWaterLevelAlarmHigh = fLevel; } void setWaterLevelClose(float fLevel) { m_fWaterLevelClose = fLevel; } void setWaterLevelOpenOne(float fLevel) { m_fWaterLevelOpenOne = fLevel; } void setWaterLevelOpenTwo(float fLevel) { m_fWaterLevelOpenTwo = fLevel; } void setWaterLevelOpenThree(float fLevel) { m_fWaterLevelOpenThree = fLevel; } void setWaterLevelOpenFour(float fLevel) { m_fWaterLevelOpenFour = fLevel; } bool checkWaterLevelAlarmHigh(); public: std::string m_strPoolStrID; //水箱编号 map< std::string, CDrainPump> m_mapDrainPump; //水泵集合 vector m_vecRunType; //轮流开启设备类型 float m_WaterLevel; // private: bool m_bWaterFromTS; //水池中的水是否来源态势模块(默认:FALSE) bool m_bLevelChange; //水位等级变化 float m_fWaterLevelAlarmLow; //低水位 float m_fWaterLevelAlarmHigh; //高水位 float m_fWaterLevelClose; //关泵 float m_fWaterLevelOpenOne; //单泵 float m_fWaterLevelOpenTwo; //双泵 float m_fWaterLevelOpenThree; //三泵 float m_fWaterLevelOpenFour; //四泵 };