ElcBaseEqpmt.h 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. #pragma once
  2. #include "../Global/NetMessageDefine.h"
  3. #include "../Global/BaseDefine.h"
  4. #include "ElectricBaseDefine.h"
  5. #include <algorithm>
  6. #define DH_CmdReplyStatus_Pass 100
  7. #define DH_CmdReplyStatus_Deny 101
  8. #define ISCS_SUBSYS_TYPE_ELC 0
  9. #define ISCS_SUBSYS_TYPE_JD 1
  10. #define ISCS_SUBSYS_TYPE_FIRE 2
  11. #define ISCS_SUBSYS_TYPE_TRAIN 3
  12. #define ISCS_SUBSYS_TYPE_PA 4
  13. #define ISCS_SUBSYS_TYPE_PIS 5
  14. #define ISCS_SUBSYS_TYPE_CCTV 6
  15. #define ISCS_SUBSYS_TYPE_PSD 7
  16. #define ISCS_SUBSYS_TYPE_AFC 8
  17. #define ISCS_SUBSYS_TYPE_ACS 9
  18. #define ISCS_SUBSYS_TYPE_TOOL 10
  19. //用于设备电气量位置显示
  20. #define ISCS_DD_EqpmtPosition_Eqpmt 0 //设备位置
  21. #define ISCS_DD_EqpmtPosition_ACBus_I 1 //交流I段母线位置
  22. #define ISCS_DD_EqpmtPosition_ACBus_II 2 //交流II段母线位置
  23. #define ISCS_DD_EqpmtPosition_DCBus 3 //直流母线位置
  24. class ElcBaseEqpmt
  25. {
  26. public:
  27. ElcBaseEqpmt(void);
  28. virtual ~ElcBaseEqpmt(void);
  29. public:
  30. int m_nInitCardStatus;
  31. EqpmtPowerValue m_EqpmtPowerValue; //设备各电气量值 xyx新增
  32. private:
  33. int m_nSystemType; //设备所属系统
  34. int m_nSubSystemType; //设备所属子系统
  35. int m_nBaseType; //基本类型:线类型设备 图片类型设备 图元工具中的设备图元类型
  36. int m_nSubType; //子类型:具体的设备类型 如:35kV输电线路分为:进线、出线、馈线等
  37. string m_strEqpmentID; //设备ID
  38. string m_strEqpmentName;//设备名称
  39. string m_strBaseTypeName;//设备类型名称
  40. string m_strSubTypeName;//设备子类型名称
  41. int m_nStationID; //所属车站ID
  42. int m_nViewID; //所属视图ID
  43. int m_nStatus; //设备状态
  44. int m_nInitStatus; //初始状态
  45. bool m_bIsPower; //是否带电:true 带电 false 不带电
  46. int m_nSourceStationID; //所属车站ID
  47. int m_nRegion; //设备控制区域
  48. CommandQueue* p_SendList; //消息发送列表
  49. int m_nTrianid; //训练ID
  50. //bool m_bControlLockStatus;//设备控制闭锁状态:true 闭锁 false 未闭锁
  51. //bool m_bCommunicationStatus;//设备通讯状态:true 正常 false 异常
  52. bool m_bFaultStatus; //设备故障状态:true 故障 false 正常
  53. int m_nControlType; //控制方式:人工控制 自动控制
  54. bool m_bControlLockStatus; //控制闭锁:true 闭锁;false 未闭锁
  55. bool m_bFaultLockStatus; //故障闭锁状态:true 故障闭锁;false 正常
  56. bool m_bCommunicationStatus;//通讯状态:true 正常;false 通讯故障
  57. int m_nControlLocation; //设备控制地点:中心控制 车站控制
  58. int m_nCardStatus; //挂牌状态
  59. bool m_bRemoteLockStatus; //遥信封锁状态
  60. int m_nControlArea;//控制区域
  61. vector<int> m_vecFaultSceneLock; //故障场景闭锁状态
  62. bool m_bIsConnectToRealEqpment; //是否连接真实设备:true是 false 未连接
  63. //int m_nRegion; //设备控制区域
  64. int m_nOperStationID; //客户端操作车站ID
  65. int m_nOperViewID; //客户端操作视图ID
  66. int m_nOperSubsysID; //客户端操作子系统ID
  67. int m_nEqpmentType; //设备区分类型:断路器设备 线路设备等等
  68. string m_strAutoBoltID; //关联备自投ID
  69. //xyx新增备自投断路器类型,begin
  70. private:
  71. int m_nRelationBreakerType; //备自投三合两闭逻辑的断路器类型:进线、出线、母联断路器
  72. public:
  73. void SetRelationBreakerType(int Type) //设置备自投断路器类型
  74. {
  75. m_nRelationBreakerType = Type;
  76. }
  77. int GetRelationBreakerType() //获取备自投断路器类型
  78. {
  79. return m_nRelationBreakerType;
  80. }
  81. //xyx新增备自投断路器类型,end
  82. public:
  83. void SetBaseType(int baseType) //设置基本类型
  84. {
  85. m_nBaseType=baseType;
  86. }
  87. int GetBaseType() //获取基本类型
  88. {
  89. return m_nBaseType;
  90. }
  91. void SetSubType(int subType) //设置子类型
  92. {
  93. m_nSubType=subType;
  94. }
  95. int GetSubType() //获取子类型
  96. {
  97. return m_nSubType;
  98. }
  99. void SetEqpmentID(string eqpmentID) //设置设备ID
  100. {
  101. m_strEqpmentID=eqpmentID;
  102. }
  103. string GetEqpmentID() //获取设备ID
  104. {
  105. return m_strEqpmentID;
  106. }
  107. void SetEqpmentName(string eqpmentName) //设置设备名称
  108. {
  109. m_strEqpmentName=eqpmentName;
  110. }
  111. string GetEqpmentName() //获取设备名称
  112. {
  113. return m_strEqpmentName;
  114. }
  115. void SetBaseTypeName(string eqpmentTypeName) //设备设备类型名称
  116. {
  117. m_strBaseTypeName=eqpmentTypeName;
  118. }
  119. string GetBaseTypeName() //获取设备类型名称
  120. {
  121. return m_strBaseTypeName;
  122. }
  123. void SetSubTypeName(string eqpmentSubTypeName) //设置设备子类型名称
  124. {
  125. m_strSubTypeName=eqpmentSubTypeName;
  126. }
  127. string GetSubTypeName() //获取设备子类型名称
  128. {
  129. return m_strSubTypeName;
  130. }
  131. void SetStationID(int stationID) //设置车站ID
  132. {
  133. m_nStationID=stationID;
  134. }
  135. int GetStationID() //获取车站ID
  136. {
  137. return m_nStationID;
  138. }
  139. void SetViewID(int viewID) //设置视图ID
  140. {
  141. m_nViewID=viewID;
  142. }
  143. int GetViewID() //获取视图ID
  144. {
  145. return m_nViewID;
  146. }
  147. void SetStatus(int status) //设置设备状态
  148. {
  149. m_nStatus=status;
  150. }
  151. int GetStatus() //获取设备状态
  152. {
  153. return m_nStatus;
  154. }
  155. void SetControlType(int controlType) //设置设备控制方式
  156. {
  157. m_nControlType=controlType;
  158. }
  159. int GetControlType() //获得设备控制方式
  160. {
  161. return m_nControlType;
  162. }
  163. void SetInitStatus(int status) //设置设备初始状态
  164. {
  165. m_nInitStatus=status;
  166. }
  167. int GetInitStatus() //获取设备初始状态
  168. {
  169. return m_nInitStatus;
  170. }
  171. void SetPower(bool isPower) //设置带电状态
  172. {
  173. m_bIsPower=isPower;
  174. }
  175. bool GetPower() //获取带电状态
  176. {
  177. return m_bIsPower;
  178. }
  179. void SetSourceStationID(int sourceStationID) //设置所属车站ID
  180. {
  181. m_nSourceStationID=sourceStationID;
  182. }
  183. const int GetSourceStationID() //获取所属车站ID
  184. {
  185. return m_nSourceStationID;
  186. }
  187. void SetFaultStatus(bool faultStatus) //设置故障状态
  188. {
  189. m_bFaultStatus=faultStatus;
  190. }
  191. bool GetFaultStatus() //获取故障状态
  192. {
  193. return m_bFaultStatus;
  194. }
  195. void SetRegion(int region) //设置控制区域
  196. {
  197. m_nRegion=region;
  198. }
  199. int GetRegion() //获取控制区域
  200. {
  201. return m_nRegion;
  202. }
  203. void SetFaultLockStatus(bool faultLockStatus) //设置设备故障闭锁状态
  204. {
  205. m_bFaultLockStatus=faultLockStatus;
  206. }
  207. bool GetFaultLockStatus() //获取设备故障闭锁状态
  208. {
  209. return m_bFaultLockStatus;
  210. }
  211. void SetFaultSceneLock(int nProtectID, bool bLock) //设置设备故障闭锁状态
  212. {
  213. if (bLock)
  214. {
  215. m_vecFaultSceneLock.push_back(nProtectID);
  216. }
  217. else
  218. {
  219. m_vecFaultSceneLock.erase(std::remove(m_vecFaultSceneLock.begin(), m_vecFaultSceneLock.end(), nProtectID), m_vecFaultSceneLock.end());
  220. }
  221. }
  222. bool GetFaultSceneLock() //获取设备故障闭锁状态
  223. {
  224. return m_vecFaultSceneLock.size() > 0;
  225. }
  226. void SetControlLock(bool controlLock) //设置控制闭锁
  227. {
  228. m_bControlLockStatus=controlLock;
  229. }
  230. bool GetControlLock() //获取控制闭锁状态
  231. {
  232. return m_bControlLockStatus;
  233. }
  234. void SetCommunicationStatus(int communicationStatus) //设置通讯状态
  235. {
  236. m_bCommunicationStatus=communicationStatus;
  237. }
  238. bool GetCommunicationStatus() //获取通讯状态
  239. {
  240. return m_bCommunicationStatus;
  241. }
  242. void SetControlArea(int controlArea) //设置控制区域
  243. {
  244. m_nControlArea=controlArea;
  245. }
  246. int GetControlArea() //获取控制区域
  247. {
  248. return m_nControlArea;
  249. }
  250. void SetCardStatus(int cardStatus) //设置挂牌状态
  251. {
  252. m_nCardStatus=cardStatus;
  253. }
  254. int GetCardStatus() //获取挂牌状态
  255. {
  256. return m_nCardStatus;
  257. }
  258. void SetRemoteLockStatus(bool remoteLockStatus) //设置遥信封锁状态
  259. {
  260. m_bRemoteLockStatus=remoteLockStatus;
  261. }
  262. bool GetRemoteLockStatus() //获取遥信封锁状态
  263. {
  264. return m_bRemoteLockStatus;
  265. }
  266. void SetOperStationID(int id)
  267. {
  268. if (id != -1 && id != m_nOperStationID)
  269. {
  270. m_nOperStationID = id;
  271. }
  272. }
  273. int GetOperStationID()
  274. {
  275. return m_nOperStationID;
  276. }
  277. void SetOperViewID(int id)
  278. {
  279. if (id != -1 && id != m_nOperViewID)
  280. {
  281. m_nOperViewID = id;
  282. }
  283. //m_OperViewID = id;
  284. }
  285. int GetOperViewID()
  286. {
  287. return m_nOperViewID;
  288. }
  289. void SetOperSubsysID(int id)
  290. {
  291. if (id != -1 && id != m_nOperSubsysID)
  292. {
  293. m_nOperSubsysID = id;
  294. }
  295. //m_OperSubsysID = id;
  296. }
  297. int GetOperSubsysID()
  298. {
  299. return m_nOperSubsysID;
  300. }
  301. void SetEqpmentType(int type) //设置设备区分类型
  302. {
  303. m_nEqpmentType=type;
  304. }
  305. int GetEqpmentType() //获取设备区分类型
  306. {
  307. return m_nEqpmentType;
  308. }
  309. void SetAutoBoltID(string id)
  310. {
  311. m_strAutoBoltID = id;
  312. }
  313. string GetAutoBoltID()
  314. {
  315. return m_strAutoBoltID;
  316. }
  317. public:
  318. //xyx新增:获取设备所属车站名称
  319. static ELECSTATIONMAP m_stationMap;
  320. string m_StationName;
  321. string GetStationName()
  322. {
  323. ELECSTATIONMAP::iterator iter=m_stationMap.find(m_nSourceStationID);
  324. if (iter!=m_stationMap.end())
  325. {
  326. m_StationName=iter->second.strstationname;
  327. }
  328. return m_StationName;
  329. }
  330. };