CDSFacilityF.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  1. //---------------------------------------------------------------------------
  2. #ifndef CDSFacilityFH
  3. #define CDSFacilityFH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <ADODB.hpp>
  7. #include <DB.hpp>
  8. #include "ITSLibF.h"
  9. #include "ITSDbF.h"
  10. #include "CDSDsrcF.h"
  11. #include "CDSVdsCtlrF.h"
  12. #include "CDSAviF.h"
  13. #include "CDSEventF.h"
  14. #include "CDSVmsCtlrF.h"
  15. #include "CDSPrltCtlrF.h"
  16. #include "CDSPrkPlceF.h"
  17. #include "CDSCctvCtlrF.h"
  18. #include "CDSIncCctvCtlrF.h"
  19. #include "CDSWCamCtlrF.h"
  20. #include "CDSCCamCtlrF.h"
  21. #include "CDSCrossF.h"
  22. #include "CDSSgnlCtlrF.h"
  23. //---------------------------------------------------------------------------
  24. #define str_state_normal "0"
  25. #define str_state_error "1"
  26. #define str_state_module "2"
  27. #define str_state_unknown "3"
  28. #define str_state_collect "4"
  29. #define str_state_default "5"
  30. #define str_state_sensor "9"
  31. /*
  32. * Rse class
  33. */
  34. class TItsRse
  35. {
  36. public:
  37. TItsRse(){}
  38. virtual ~TItsRse(){}
  39. String RSEID;
  40. String INSTDT;
  41. String CITYCD;
  42. String REGIONCD;
  43. String AREACD;
  44. String RSEIP;
  45. String COORDX;
  46. String COORDY;
  47. String RADIUS1;
  48. String RADIUS2;
  49. String COMPCD;
  50. String LOCATION;
  51. String RSECONFIGID;
  52. String OBEPARAMID;
  53. String PORT;
  54. String BRIDGE;
  55. String COMYN;
  56. };
  57. //---------------------------------------------------------------------------
  58. /*
  59. * Avi class
  60. */
  61. class TItsFAvi
  62. {
  63. public:
  64. TItsFAvi(){}
  65. virtual ~TItsFAvi(){}
  66. String AVI_CTLR_MNGM_NMBR; //VARCHAR2(20) N AVI 제어기 관리 번호
  67. String AVI_ID; //VARCHAR2(10) Y AVI ID
  68. String LINK_ID; //NUMBER(10) Y 링크 ID
  69. String AVI_LCTN_NM; //VARCHAR2(60) Y AVI 위치 명
  70. String AVI_VALD_YN; //CHAR(1) Y 'N' AVI 유효 여부
  71. String AVI_CTLR_IP; //VARCHAR2(20) Y AVI 제어기 아이피
  72. String AVI_CTLR_CMNC_PORT; //VARCHAR2(5) Y AVI 제어기 통신 포트
  73. String AVI_MAIN_CTLR_YN; //CHAR(1) Y 'N' AVI 주 제어기 여부
  74. String AVI_MNGM_LANE_NUM; //NUMBER(2) Y AVI 관리 차로 개수
  75. String AVI_CMRA_NUM; //NUMBER(2) Y AVI 카메라 개수
  76. String AVI_DTCT_NUM; //NUMBER(2) Y AVI 검지기 개수
  77. String AVI_DTCT_NM; //VARCHAR2(60) Y AVI 검지기 명
  78. String AVI_CLCT_CYCL; //NUMBER(3) Y AVI 수집 주기
  79. String AVI_LAMP_AUTO_YN; //CHAR(1) Y 'N' AVI 조명장치 자동 여부
  80. String AVI_LAMP_ON_HMS; //VARCHAR2(6) Y AVI 조명장치 ON 시각
  81. String AVI_LAMP_OFF_HMS; //VARCHAR2(6) Y AVI 조명장치 OFF 시각
  82. String AVI_LAMP_ON_YN; //CHAR(1) Y 'N' AVI 조명장치 ON 여부
  83. String X_CRDN; //NUMBER(11,8) Y X 좌표
  84. String Y_CRDN; //NUMBER(10,8) Y Y 좌표
  85. String RMRK; //VARCHAR2(600) Y 비고
  86. String DEL_YN; //CHAR(1) Y 'N' 삭제 여부
  87. };
  88. //---------------------------------------------------------------------------
  89. /*
  90. * Dsrc class
  91. */
  92. class TItsFDsrc
  93. {
  94. public:
  95. TItsFDsrc(){}
  96. virtual ~TItsFDsrc(){}
  97. String ID; //VARCHAR2(3) N 아이디
  98. String RSE_ID; //VARCHAR2(8) N RSE 아이디
  99. String ROAD_SPOT_ID; //VARCHAR2(30) N 도로 지점 아이디
  100. String LOG_CNNC_ID; //VARCHAR2(64) Y 로그 접속 아이디
  101. String LOG_CNNC_PW; //VARCHAR2(64) Y 로그 접속 비밀번호
  102. String ISTL_LCTN_NM; //VARCHAR2(40) Y 설치 위치 명
  103. String LCTN_X; //NUMBER(11,8) Y 위치 X
  104. String LCTN_Y; //NUMBER(10,8) Y 위치 Y
  105. String IP; //VARCHAR2(20) Y IP
  106. String PORT; //VARCHAR2(5) Y PORT
  107. String MNFC_CMPY_CD; //NUMBER(5) Y 제조 업체 코드
  108. String DEL_YN; //CHAR(1) Y 'N' 삭제 여부
  109. };
  110. //---------------------------------------------------------------------------
  111. /*
  112. * EtcFacility class
  113. */
  114. class TItsRegFacility
  115. {
  116. public:
  117. TItsRegFacility();
  118. virtual ~TItsRegFacility();
  119. void Clear();
  120. private:
  121. public:
  122. String Type;
  123. String Id;
  124. String Name;
  125. String DelYn;
  126. String UnRegisterd;
  127. int GridIndex;
  128. };
  129. //---------------------------------------------------------------------------
  130. /*
  131. * Facility class
  132. */
  133. class TItsFacility
  134. {
  135. public:
  136. TItsFacility();
  137. virtual ~TItsFacility();
  138. void Clear();
  139. private:
  140. int FEditMode;
  141. bool FModified;
  142. bool FCompleted;
  143. public:
  144. String FCLT_ID; // FCLT_ID VARCHAR(50 BYTE) NOT NULL, '시설물 ID';
  145. String RFID_ID; // RFID_ID VARCHAR(50 BYTE) NOT NULL, '시설물 ID';
  146. String FCLT_TYPE; // FCLT_TYPE VARCHAR(7 BYTE) NOT NULL, '시설물유형';
  147. String FCLT_LCTN; // FCLT_LCTN VARCHAR(100 BYTE), '시설물 위치';
  148. String RSCE_YN; // RSCE_YN CHAR(1 BYTE) DEFAULT 'N', '현장자산유무';
  149. String MDL_NM; // MDL_NM VARCHAR(30 BYTE), '모델명';
  150. String USE_YEAR; // USE_YEAR NUMBER(3), '사용년수';
  151. String INWR_DT; // INWR_DT VARCHAR(14 BYTE), '입고일시';
  152. String OTWR_DT; // OTWR_DT VARCHAR(14 BYTE), '출고일시';
  153. String ISTL_DT; // ISTL_DT VARCHAR(14 BYTE), '설치일시';
  154. String TAKT_DT; // TAKT_DT VARCHAR(14 BYTE), '반출일시';
  155. String TAKT_RESN; // TAKT_RESN VARCHAR(100 BYTE), '반출사유';
  156. String TAKN_DT; // TAKN_DT VARCHAR(14 BYTE), '반입일시';
  157. String ABDN_DT; // ABDN_DT VARCHAR(14 BYTE), '폐기일시';
  158. String ADTN_NM; // ADTN_NM VARCHAR(30 BYTE), '추가자명';
  159. String ADTN_DT; // ADTN_DT VARCHAR(14 BYTE), '추가일시';
  160. String CHNG_NM; // CHNG_NM VARCHAR(30 BYTE), '변경자명';
  161. String CHNG_DT; // CHNG_DT VARCHAR(14 BYTE), '변경일시';
  162. String AMT; // AMT NUMBER(15), '금액';
  163. String DEL_YN; // DEL_YN CHAR(1 BYTE) DEFAULT 'N', '삭제여부';
  164. String ISTL_CMPY_ID; // ISTL_CMPY_ID VARCHAR(30 BYTE), '설치업체ID';
  165. String MNFC_CMPY_ID; // PRDC_CMPY_ID VARCHAR(30 BYTE) '제조업체ID';
  166. String ISTL_LCTN_ADDR; // '설치 위치 주소'
  167. String FCommStatus; // 장비 통신상태값
  168. String FDoorStatus; // 장비 Door상태값
  169. String FComm;
  170. String FDoor;
  171. int FCBoxTmpr;
  172. int FCollCntBase;
  173. int FCollCntCurr;
  174. bool FCollError;
  175. String FCLT_KIND;
  176. String Sts00;
  177. String Sts01;
  178. String Sts02;
  179. String Sts03;
  180. String Sts04;
  181. String Sts05;
  182. String Sts06;
  183. String Sts07;
  184. String Sts08;
  185. String Sts09;
  186. String Sts10;
  187. String Deleted; // 마스터정보가 삭제된것
  188. int GridIndex; // 메인폼에 뿌려지는 그리드 인덱스
  189. int StatusGridIndex;
  190. TCDSObject *Object;
  191. String FOldComm;
  192. protected:
  193. public:
  194. __property bool Modified = {read = FModified};
  195. __property bool Completed = {read = FCompleted, write = FCompleted};
  196. __property int EditMode = {read = FEditMode, write = FEditMode };
  197. };
  198. //---------------------------------------------------------------------------
  199. class TFacilityStatus
  200. {
  201. public:
  202. TFacilityStatus()
  203. {
  204. Type = "";
  205. Total = 0;
  206. Normal = 0;
  207. Error = 0;
  208. Module = 0;
  209. Collect= 0;
  210. };
  211. virtual ~TFacilityStatus() {};
  212. String Type;
  213. int Total;
  214. int Normal;
  215. int Error;
  216. int Module;
  217. int Collect;
  218. };
  219. //---------------------------------------------------------------------------
  220. class TItsBit
  221. {
  222. public:
  223. TItsBit(){}
  224. virtual ~TItsBit(){}
  225. String FCLT_ID;
  226. String FCLT_LCTN;
  227. String BIT_ID;
  228. String X_CRDN;
  229. String Y_CRDN;
  230. String STOP_ID;
  231. String STOP_EXPLAIN;
  232. String LINK_ID;
  233. String BIT_TYPE;
  234. int FAN_MIN_TEMPERATURE;
  235. int FAN_MAX_TEMPERATURE;
  236. int HEATER_MIN_TEMPERATURE;
  237. int HEATER_MAX_TEMPERATURE;
  238. String INSTALL_STOP_ID;
  239. String SERVICE_ID;
  240. String STOP_TYPE;
  241. String STOP_NAME;
  242. String STOP_SHORTNAME;
  243. String DEL_YN;
  244. };
  245. //---------------------------------------------------------------------------
  246. class TItsSig
  247. {
  248. public:
  249. TItsSig(){}
  250. virtual ~TItsSig(){}
  251. String FCLT_ID;
  252. String FCLT_LCTN;
  253. String SIG_ID;
  254. String X_CRDN;
  255. String Y_CRDN;
  256. String MDL_NM;
  257. String DEL_YN;
  258. };
  259. //---------------------------------------------------------------------------
  260. class TItsSigDet
  261. {
  262. public:
  263. TItsSigDet(){}
  264. virtual ~TItsSigDet(){}
  265. String FCLT_ID;
  266. String FCLT_LCTN;
  267. String SDET_ID;
  268. String X_CRDN;
  269. String Y_CRDN;
  270. String SIG_ID;
  271. String MDL_NM;
  272. String DEL_YN;
  273. };
  274. //---------------------------------------------------------------------------
  275. class TItsPis
  276. {
  277. public:
  278. TItsPis(){}
  279. virtual ~TItsPis(){}
  280. String FCLT_ID;
  281. String FCLT_LCTN;
  282. String PIS_ID;
  283. String X_CRDN;
  284. String Y_CRDN;
  285. String SIG_ID;
  286. String MDL_NM;
  287. String DEL_YN;
  288. };
  289. //---------------------------------------------------------------------------
  290. class TItsPcs
  291. {
  292. public:
  293. TItsPcs(){}
  294. virtual ~TItsPcs(){}
  295. String FCLT_ID;
  296. String FCLT_LCTN;
  297. String PCS_ID;
  298. String X_CRDN;
  299. String Y_CRDN;
  300. String SIG_ID;
  301. String MDL_NM;
  302. String DEL_YN;
  303. };
  304. //---------------------------------------------------------------------------
  305. /*
  306. * Facility Manager
  307. */
  308. class TItsFacilityManager
  309. {
  310. public:
  311. TItsFacilityManager();
  312. virtual ~TItsFacilityManager();
  313. public:
  314. String CenterId;
  315. int FLocalCctvCnt;
  316. TItsMap<String, TItsFacility*> FLists;
  317. TItsMap<String, TItsRse*> FRseLists;
  318. TItsMap<String, TItsAvi*> FAviLists;
  319. TItsMap<String, TItsBit*> FBitLists;
  320. TItsMap<String, TItsSig*> FSigLists;
  321. TItsMap<String, TItsSigDet*> FSigDetLists;
  322. TItsMap<String, TItsPis*> FPisLists;
  323. TItsMap<String, TItsPcs*> FPcsLists;
  324. TItsMap<String, TItsRegFacility*> FRegLists;
  325. TItsMap<String, TFacilityStatus*> FListStatus;
  326. public:
  327. void SetCenterId(String ACenterId);
  328. bool LoadFromDb(TADOConnection *ADbConn=NULL);
  329. bool LoadFacilityReg(TADOConnection *ADbConn=NULL);
  330. bool LoadFacilityMaster(TADOConnection *ADbConn=NULL);
  331. bool LoadFacilityWebCam(TADOConnection *ADbConn=NULL);
  332. bool LoadFacilityCrsCam(TADOConnection *ADbConn=NULL);
  333. bool LoadFacilityCctv(TADOConnection *ADbConn=NULL);
  334. bool LoadFacilityIncCctv(TADOConnection *ADbConn=NULL);
  335. bool LoadFacilityVms(TADOConnection *ADbConn=NULL);
  336. bool LoadFacilityRse(TADOConnection *ADbConn=NULL);
  337. bool LoadFacilityVds(TADOConnection *ADbConn=NULL);
  338. bool LoadFacilityAvi(TADOConnection *ADbConn=NULL);
  339. bool LoadFacilityDsrc(TADOConnection *ADbConn=NULL);
  340. bool LoadFacilityBit(TADOConnection *ADbConn=NULL);
  341. bool LoadFacilitySig(TADOConnection *ADbConn=NULL);
  342. bool LoadFacilitySigDet(TADOConnection *ADbConn=NULL);
  343. bool LoadFacilityPvms(TADOConnection *ADbConn=NULL);
  344. bool LoadFacilityPvds(TADOConnection *ADbConn=NULL);
  345. bool LoadFacilityPark(TADOConnection *ADbConn=NULL);
  346. bool LoadFacilityCross(TADOConnection *ADbConn=NULL);
  347. bool LoadFacilitySgnlCtlr(TADOConnection *ADbConn=NULL);
  348. bool CheckFacility();
  349. bool LoadFacilityStatusFromDb(TADOConnection *ADbConn=NULL);
  350. bool LoadDsrcCollectStatusFromDb(TADOConnection *ADbConn=NULL);
  351. bool LoadVdsCollectStatusFromDb(TADOConnection *ADbConn=NULL);
  352. bool LoadAviCollectStatusFromDb(TADOConnection *ADbConn=NULL);
  353. bool LoadParkSensorStatusFromDb(TADOConnection *ADbConn=NULL);
  354. bool LoadDsrcCollectStatusFromDb_OLD(TADOConnection *ADbConn=NULL);
  355. bool LoadAviCollectStatusFromDb_OLD(TADOConnection *ADbConn=NULL);
  356. };
  357. //---------------------------------------------------------------------------
  358. extern TItsFacilityManager *ItsFacilityManager;
  359. //---------------------------------------------------------------------------
  360. #endif