CDSAviF.h 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. //---------------------------------------------------------------------------
  2. #ifndef CDSAviFH
  3. #define CDSAviFH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <ADODB.hpp>
  7. #include <DB.hpp>
  8. #include "cxCustomData.hpp"
  9. #include "ITSLibF.h"
  10. //---------------------------------------------------------------------------
  11. /*
  12. * Avi Sect Link class
  13. */
  14. class TItsAviLink
  15. {
  16. public:
  17. TItsAviLink();
  18. virtual ~TItsAviLink();
  19. void Clear();
  20. private:
  21. bool FCompleted;
  22. int FEditMode;
  23. int FGridIndex;
  24. public:
  25. String AVI_CTLR_MNGM_NMBR; //VARCHAR2(20) N AVI 제어기 관리 번호
  26. String AVI_SECT_NMBR; //VARCHAR2(10) N AVI 구간 번호
  27. String LINK_ID; //NUMBER(10) N 링크 ID
  28. int ORD; //NUMBER(3) Y 0 순서
  29. String MEM_DEL;
  30. public:
  31. __property bool Completed = {read = FCompleted, write = FCompleted};
  32. __property int EditMode = {read = FEditMode, write = FEditMode };
  33. __property int GridIndex = {read = FGridIndex, write = FGridIndex };
  34. };
  35. /*
  36. * Avi Sect class
  37. */
  38. class TItsAviSect
  39. {
  40. public:
  41. TItsAviSect();
  42. virtual ~TItsAviSect();
  43. void Clear();
  44. private:
  45. bool FCompleted;
  46. int FEditMode;
  47. int FGridIndex;
  48. public:
  49. String AVI_CTLR_MNGM_NMBR; //VARCHAR2(20) N AVI 제어기 관리 번호
  50. int ORD; //NUMBER(3) Y 0 순서
  51. String AVI_SECT_NMBR; //VARCHAR2(10) N AVI 구간 번호
  52. String STRT_SPOT_NM; //VARCHAR2(60) Y 시작 지점 명
  53. String END_SPOT_NM; //VARCHAR2(60) Y 종료 지점 명
  54. String AVI_SECT_NM; //VARCHAR2(60) Y AVI 구간 명
  55. String AVI_SECT_DSTC; //NUMBER(6) Y 0 AVI 구간 거리
  56. String SHRT_PASS_HH; //NUMBER(6) Y 0 최단 통과 시간
  57. String LNST_PASS_HH; //NUMBER(6) Y 0 최장 통과 시간
  58. String SPOT_NUM; //NUMBER(3) Y 0 지점 개수
  59. String STND_DRFT_VAL; //NUMBER(9) Y 표준 편차 값
  60. String MIN_SPED; //NUMBER(3) Y 0 최소 속도
  61. String MAX_SPED; //NUMBER(3) Y 0 최대 속도
  62. String SMTH_FCTR; //NUMBER(5,2) Y 0 평활화 계수
  63. String DEL_YN; //CHAR(1) Y 'N' 삭제 여부
  64. String MEM_DEL;
  65. TItsMap<int, TItsAviLink*> FLinkLists;
  66. public:
  67. __property bool Completed = {read = FCompleted, write = FCompleted};
  68. __property int EditMode = {read = FEditMode, write = FEditMode };
  69. __property int GridIndex = {read = FGridIndex, write = FGridIndex };
  70. };
  71. /*
  72. * AviDtct class
  73. */
  74. class TItsAviDtct
  75. {
  76. public:
  77. TItsAviDtct();
  78. virtual ~TItsAviDtct();
  79. void Clear();
  80. private:
  81. bool FCompleted;
  82. int FEditMode;
  83. int FGridIndex;
  84. public:
  85. String DTCT_NMBR; //VARCHAR2(8) N 검지기 번호
  86. String DTCT_NM; //VARCHAR2(40) N 검지기 명
  87. String CTLR_MNGM_NMBR; //VARCHAR2(20) Y 제어기 관리 번호
  88. String DTCT_TYPE_CD; //VARCHAR2(7) Y 검지기 유형 코드
  89. String ISTL_LANE; //NUMBER(2) Y 설치 차로
  90. String USE_YN; //CHAR(1) Y 'N' 사용 여부
  91. String DEL_YN; //CHAR(1) Y 'N' 삭제 여부
  92. int MAX_TFVL; //NUMBER(6) Y 0 최대 교통량
  93. int MIN_TFVL; //NUMBER(6) Y 0 최소 교통량
  94. float MAX_OCPY_RATE; //NUMBER(6,2) Y 최대 점유 율
  95. float MIN_OCPY_RATE; //NUMBER(6,2) Y 최소 점유 율
  96. int MIN_SPED; //NUMBER(3) Y 0 최소 속도
  97. int MAX_SPED; //NUMBER(3) Y 0 최대 속도
  98. String MEM_DEL;
  99. public:
  100. __property bool Completed = {read = FCompleted, write = FCompleted};
  101. __property int EditMode = {read = FEditMode, write = FEditMode };
  102. __property int GridIndex = {read = FGridIndex, write = FGridIndex };
  103. };
  104. //---------------------------------------------------------------------------
  105. /*
  106. * Avi class
  107. */
  108. class TItsAvi
  109. {
  110. public:
  111. TItsAvi();
  112. virtual ~TItsAvi();
  113. void Clear();
  114. private:
  115. bool FCompleted;
  116. int FEditMode;
  117. int FGridIndex;
  118. public:
  119. String AVI_CTLR_MNGM_NMBR; //VARCHAR2(20) N AVI 제어기 관리 번호
  120. String AVI_ID; //VARCHAR2(10) Y AVI ID
  121. String LINK_ID; //NUMBER(10) Y 링크 ID
  122. String AVI_LCTN_NM; //VARCHAR2(60) Y AVI 위치 명
  123. String AVI_VALD_YN; //CHAR(1) Y 'N' AVI 유효 여부
  124. String AVI_CTLR_IP; //VARCHAR2(20) Y AVI 제어기 아이피
  125. String AVI_CTLR_CMNC_PORT; //VARCHAR2(5) Y AVI 제어기 통신 포트
  126. String AVI_MAIN_CTLR_YN; //CHAR(1) Y 'N' AVI 주 제어기 여부
  127. String AVI_MNGM_LANE_NUM; //NUMBER(2) Y AVI 관리 차로 개수
  128. String AVI_CMRA_NUM; //NUMBER(2) Y AVI 카메라 개수
  129. String AVI_DTCT_NUM; //NUMBER(2) Y AVI 검지기 개수
  130. String AVI_DTCT_NM; //VARCHAR2(60) Y AVI 검지기 명
  131. String AVI_CLCT_CYCL; //NUMBER(3) Y AVI 수집 주기
  132. String AVI_LAMP_AUTO_YN; //CHAR(1) Y 'N' AVI 조명장치 자동 여부
  133. String AVI_LAMP_ON_HMS; //VARCHAR2(6) Y AVI 조명장치 ON 시각
  134. String AVI_LAMP_OFF_HMS; //VARCHAR2(6) Y AVI 조명장치 OFF 시각
  135. String AVI_LAMP_ON_YN; //CHAR(1) Y 'N' AVI 조명장치 ON 여부
  136. String X_CRDN; //NUMBER(11,8) Y X 좌표
  137. String Y_CRDN; //NUMBER(10,8) Y Y 좌표
  138. String RMRK; //VARCHAR2(600) Y 비고
  139. String DEL_YN; //CHAR(1) Y 'N' 삭제 여부
  140. String MEM_DEL;
  141. TItsMap<String, TItsAviDtct*> FDtctLists;
  142. TItsMap<String, TItsAviSect*> FSubLists;
  143. public:
  144. __property bool Completed = {read = FCompleted, write = FCompleted};
  145. __property int EditMode = {read = FEditMode, write = FEditMode };
  146. __property int GridIndex = {read = FGridIndex, write = FGridIndex };
  147. };
  148. //---------------------------------------------------------------------------
  149. /*
  150. * Avi Manager
  151. */
  152. class TItsAviManager
  153. {
  154. public:
  155. TItsAviManager();
  156. virtual ~TItsAviManager();
  157. public:
  158. TItsMap<String, TItsAvi*> FLists;
  159. TItsMap<String, TItsAviSect*> FSectLists;
  160. public:
  161. bool LoadFromDb(TADOConnection *ADbConn=NULL);
  162. bool LoadFromDtctDb(TADOConnection *ADbConn=NULL);
  163. bool LoadFromSectDb(TADOConnection *ADbConn=NULL);
  164. bool LoadFromSectLinkDb(TADOConnection *ADbConn=NULL);
  165. bool GetNextAviId(String &ANewId, TADOConnection *ADbConn=NULL);
  166. bool GetNextAviSectId(String &ANewId, TADOConnection *ADbConn=NULL);
  167. bool DeleteAvi(TItsAvi *AObj, TADOConnection *ADbConn=NULL);
  168. bool UpdateAvi(TItsAvi *AObj, TADOConnection *ADbConn=NULL);
  169. bool InsertAvi(TItsAvi *AObj, TADOConnection *ADbConn=NULL);
  170. bool DeleteAviSectSubTable(TItsAviSect *AObj, TADOConnection *ADbConn=NULL);
  171. bool DeleteAviSect(TItsAviSect *AObj, TADOConnection *ADbConn=NULL);
  172. bool SaveAviSect(TItsAviSect *AObj, TADOConnection *ADbConn=NULL);
  173. };
  174. //---------------------------------------------------------------------------
  175. extern TItsAviManager *ItsAviManager;
  176. //---------------------------------------------------------------------------
  177. #endif