CDSPrltCtlrF.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. //---------------------------------------------------------------------------
  2. #ifndef CDSPrltCtlrFH
  3. #define CDSPrltCtlrFH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <ADODB.hpp>
  7. #include <DB.hpp>
  8. #include "ITSLibF.h"
  9. #include "CDSObjectF.h"
  10. //---------------------------------------------------------------------------
  11. #include "CenterCommF.h"
  12. //---------------------------------------------------------------------------
  13. /*
  14. * 주차장 실시간 정보
  15. */
  16. class TPrltRtInfr
  17. {
  18. public:
  19. TPrltRtInfr(){}
  20. virtual ~TPrltRtInfr(){}
  21. public:
  22. String PRLT_CTLR_NMBR; // N NUMBER(10) N 주차장 제어기 번호
  23. String FLOR_NMBR; // N VARCHAR2(20) N 층 번호
  24. String UPDT_DT; // N VARCHAR2(14) Y 갱신 일시
  25. int GNRL_RMND_PRZN_NUM; // N NUMBER(3) Y 0 일반 잔여 주차구역 개수
  26. int LGVH_RMND_PRZN_NUM; // N NUMBER(3) Y 0 경차 잔여 주차구역 개수
  27. int HVVH_RMND_PRZN_NUM; // N NUMBER(3) Y 0 대형 잔여 주차구역 개수
  28. int EMVH_RMND_PRZN_NUM; // N NUMBER(3) Y 0 긴급차량 잔여 주차구역 개수
  29. int HNDC_RMND_PRZN_NUM; // N NUMBER(3) Y 0 장애인 잔여 주차구역 개수
  30. int WMON_RMND_PRZN_NUM; // N NUMBER(3) Y 0 여성전용 잔여 주차구역 개수
  31. int ELVH_RMND_PRZN_NUM; // N NUMBER(3) Y 0 전기차 잔여 주차구역 개수
  32. int ETC_RMND_PRZN_NUM; // N NUMBER(3) Y 0 기타 잔여 주차구역 개수
  33. };
  34. //---------------------------------------------------------------------------
  35. /*
  36. * 주차장 제어기
  37. */
  38. class TPrltCtlr : public TCDSObject
  39. {
  40. public:
  41. TPrltCtlr();
  42. virtual ~TPrltCtlr();
  43. public:
  44. //182 POT 주차장 운영 구분 Parking Lot Operation Type Y
  45. // 1 POT0 POT 공영 Y
  46. // 2 POT1 POT 민영 Y
  47. // 3 POT2 POT 해상케이블카 Y
  48. //183 PFT 주차장 시설 유형 구분 Parking Lot Facility Type Y
  49. // 1 PFT0 PFT 노상 Y
  50. // 2 PFT1 PFT 노외 Y
  51. // 3 PFT2 PFT 부설 Y
  52. String PRLT_OPER_DVSN_CD; // N VARCHAR2(7) Y 주차장 운영 구분 코드
  53. String PRLT_TYPE_DVSN_CD; // N VARCHAR2(7) Y 주차장 유형 구분 코드
  54. String PRLT_TEL; // N VARCHAR2(128) Y 전화번호
  55. String ISTL_LCTN_ADDR; // N VARCHAR2(200) Y 설치 위치 주소
  56. int WHOL_NPLS; // N NUMBER(3) Y 0 전체 주차면수
  57. int GNRL_NPLS; // N NUMBER(3) Y 0 일반 주차면수
  58. int LGVH_NPLS; // N NUMBER(3) Y 0 경차 주차면수
  59. int HVVH_NPLS; // N NUMBER(3) Y 0 대형 주차면수
  60. int EMVH_NPLS; // N NUMBER(3) Y 0 긴급차량 주차면수
  61. int HNDC_NPLS; // N NUMBER(3) Y 0 장애인 주차면수
  62. int WMON_NPLS; // N NUMBER(3) Y 0 여성전용 주차면수
  63. int ELVH_NPLS; // N NUMBER(3) Y 0 전기차 주차면수
  64. int ETC_NPLS; // N NUMBER(3) Y 0 기타 주차면수
  65. int CNGT_NPLS; // N NUMBER(3) Y 10 혼잡기준차 주차면수
  66. String PRLT_CHARGE_DESC; // N VARCHAR2(512) Y 요금정보
  67. String PRLT_OPER_DESC; // N VARCHAR2(512) Y 운영정보
  68. String PRLT_ETC_DESC; // N VARCHAR2(512) Y 기타부가정보
  69. String REAL_DATA_YN; // N CHAR(1) Y 실시간주차정보제공여부
  70. int CTLR_CLCT_CYCL; // N NUMBER(3) Y 0 제어기 수집 주기
  71. int CTLR_STTS_CYCL; // N NUMBER(3) Y 0 제어기 상태 주기
  72. String CHNG_DT; // N VARCHAR2(14) Y to_char(sysdate, 'yyyymmddhh24miss') 정보등록(수정)일자
  73. //실시간주차정보, 일반주차정보
  74. //주차장명
  75. //전화번호
  76. //주소
  77. //지번
  78. //전체주차면(총주차대수, 일반, 경차, 대형, 긴급차량, 장애인, 여성, 기타)
  79. //요금정보
  80. //운영정보
  81. //기타정보
  82. //정보등록(수정)일자
  83. public:
  84. INT_PARK_STATE STATE;
  85. public:
  86. __property String PRLT_CTLR_NMBR = { read = CTLR_NMBR, write = CTLR_NMBR };
  87. __property String PRLT_CTLR_ID = { read = CTLR_ID, write = CTLR_ID };
  88. __property String PRLT_NM = { read = NAME, write = NAME };
  89. __property String PRLT_CTLR_IP = { read = CTLR_IP, write = CTLR_IP };
  90. __property int PRLT_CTLR_PORT = { read = CTLR_PORT, write = CTLR_PORT };
  91. __property int PRLT_CTLR_LOCAL_NO = { read = CTLR_LOCAL_NO, write = CTLR_LOCAL_NO };
  92. __property String PRLT_TYPE_CD = { read = TYPE_CD, write = TYPE_CD };
  93. };
  94. //---------------------------------------------------------------------------
  95. /*
  96. * Prlt Manager
  97. */
  98. class TPrltCtlrManager
  99. {
  100. public:
  101. TPrltCtlrManager();
  102. virtual ~TPrltCtlrManager();
  103. public:
  104. TItsMap<String, TPrltCtlr*> FLists;
  105. public:
  106. bool LoadFromDb(TADOConnection *ADbConn=NULL);
  107. bool LoadStatusFromDb(TADOConnection *ADbConn=NULL);
  108. bool GetNextPrltId(int &ANmbr, int &AId, TADOConnection *ADbConn=NULL);
  109. bool DeletePrlt(TPrltCtlr *AObj, TADOConnection *ADbConn=NULL);
  110. bool InsertPrlt(TPrltCtlr *AObj, TADOConnection *ADbConn=NULL);
  111. bool UpdatePrlt(TPrltCtlr *AObj, TADOConnection *ADbConn=NULL);
  112. bool MergePrlt(TPrltCtlr *AObj, TADOConnection *ADbConn=NULL);
  113. bool MergeFcltInfo(TPrltCtlr *AObj, TADOConnection *ADbConn=NULL);
  114. };
  115. //---------------------------------------------------------------------------
  116. extern TPrltCtlrManager *PrltCtlrManager;
  117. //---------------------------------------------------------------------------
  118. #endif