CDSAviF.h 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  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 "LibSTLF.hpp"
  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 FRST_REGR_NMBR; //VARCHAR2(20) Y 최초 등록자 번호
  65. String FRST_RGST_DT; //VARCHAR2(14) Y 최초 등록 일시
  66. String LAST_CRPR_NMBR; //VARCHAR2(20) Y 최종 수정자 번호
  67. String LAST_CRCT_DT; //VARCHAR2(14) Y 최종 수정 일시
  68. String MEM_DEL;
  69. IntMap<TItsAviLink> FLinkLists;
  70. public:
  71. __property bool Completed = {read = FCompleted, write = FCompleted};
  72. __property int EditMode = {read = FEditMode, write = FEditMode };
  73. __property int GridIndex = {read = FGridIndex, write = FGridIndex };
  74. };
  75. /*
  76. * AviDtct class
  77. */
  78. class TItsAviDtct
  79. {
  80. public:
  81. TItsAviDtct();
  82. virtual ~TItsAviDtct();
  83. void Clear();
  84. private:
  85. bool FCompleted;
  86. int FEditMode;
  87. int FGridIndex;
  88. public:
  89. String DTCT_NMBR; //VARCHAR2(8) N 검지기 번호
  90. String DTCT_NM; //VARCHAR2(40) N 검지기 명
  91. String CTLR_MNGM_NMBR; //VARCHAR2(20) Y 제어기 관리 번호
  92. String DTCT_TYPE_CD; //VARCHAR2(7) Y 검지기 유형 코드
  93. String ISTL_LANE; //NUMBER(2) Y 설치 차로
  94. String USE_YN; //CHAR(1) Y 'N' 사용 여부
  95. String DEL_YN; //CHAR(1) Y 'N' 삭제 여부
  96. int MAX_TFVL; //NUMBER(6) Y 0 최대 교통량
  97. int MIN_TFVL; //NUMBER(6) Y 0 최소 교통량
  98. float MAX_OCPY_RATE; //NUMBER(6,2) Y 최대 점유 율
  99. float MIN_OCPY_RATE; //NUMBER(6,2) Y 최소 점유 율
  100. int MIN_SPED; //NUMBER(3) Y 0 최소 속도
  101. int MAX_SPED; //NUMBER(3) Y 0 최대 속도
  102. String MEM_DEL;
  103. public:
  104. __property bool Completed = {read = FCompleted, write = FCompleted};
  105. __property int EditMode = {read = FEditMode, write = FEditMode };
  106. __property int GridIndex = {read = FGridIndex, write = FGridIndex };
  107. };
  108. //---------------------------------------------------------------------------
  109. /*
  110. * Avi class
  111. */
  112. class TItsAvi
  113. {
  114. public:
  115. TItsAvi();
  116. virtual ~TItsAvi();
  117. void Clear();
  118. private:
  119. bool FCompleted;
  120. int FEditMode;
  121. int FGridIndex;
  122. public:
  123. String AVI_CTLR_MNGM_NMBR; //VARCHAR2(20) N AVI 제어기 관리 번호
  124. String AVI_ID; //VARCHAR2(10) Y AVI ID
  125. String LINK_ID; //NUMBER(10) Y 링크 ID
  126. String AVI_LCTN_NM; //VARCHAR2(60) Y AVI 위치 명
  127. String AVI_VALD_YN; //CHAR(1) Y 'N' AVI 유효 여부
  128. String AVI_CTLR_IP; //VARCHAR2(20) Y AVI 제어기 아이피
  129. String AVI_CTLR_CMNC_PORT; //VARCHAR2(5) Y AVI 제어기 통신 포트
  130. String AVI_MAIN_CTLR_YN; //CHAR(1) Y 'N' AVI 주 제어기 여부
  131. String AVI_MNGM_LANE_NUM; //NUMBER(2) Y AVI 관리 차로 개수
  132. String AVI_CMRA_NUM; //NUMBER(2) Y AVI 카메라 개수
  133. String AVI_DTCT_NUM; //NUMBER(2) Y AVI 검지기 개수
  134. String AVI_DTCT_NM; //VARCHAR2(60) Y AVI 검지기 명
  135. String AVI_CLCT_CYCL; //NUMBER(3) Y AVI 수집 주기
  136. String AVI_LAMP_AUTO_YN; //CHAR(1) Y 'N' AVI 조명장치 자동 여부
  137. String AVI_LAMP_ON_HMS; //VARCHAR2(6) Y AVI 조명장치 ON 시각
  138. String AVI_LAMP_OFF_HMS; //VARCHAR2(6) Y AVI 조명장치 OFF 시각
  139. String AVI_LAMP_ON_YN; //CHAR(1) Y 'N' AVI 조명장치 ON 여부
  140. String X_CRDN; //NUMBER(11,8) Y X 좌표
  141. String Y_CRDN; //NUMBER(10,8) Y Y 좌표
  142. String RMRK; //VARCHAR2(600) Y 비고
  143. String DEL_YN; //CHAR(1) Y 'N' 삭제 여부
  144. String FRST_REGR_NMBR; //VARCHAR2(20) Y 최초 등록자 번호
  145. String FRST_RGST_DT; //VARCHAR2(14) Y 최초 등록 일시
  146. String LAST_CRPR_NMBR; //VARCHAR2(20) Y 최종 수정자 번호
  147. String LAST_CRCT_DT; //VARCHAR2(14) Y 최종 수정 일시
  148. String MEM_DEL;
  149. ListMap<TItsAviDtct> FDtctLists;
  150. ListMap<TItsAviSect> FSubLists;
  151. public:
  152. __property bool Completed = {read = FCompleted, write = FCompleted};
  153. __property int EditMode = {read = FEditMode, write = FEditMode };
  154. __property int GridIndex = {read = FGridIndex, write = FGridIndex };
  155. };
  156. //---------------------------------------------------------------------------
  157. /*
  158. * Avi Manager
  159. */
  160. class TItsAviManager
  161. {
  162. public:
  163. TItsAviManager();
  164. virtual ~TItsAviManager();
  165. public:
  166. ListMap<TItsAvi> FLists;
  167. ListMap<TItsAviSect> FSectLists;
  168. public:
  169. bool LoadFromDb(TADOConnection *ADbConn=NULL);
  170. bool LoadFromDtctDb(TADOConnection *ADbConn=NULL);
  171. bool LoadFromSectDb(TADOConnection *ADbConn=NULL);
  172. bool LoadFromSectLinkDb(TADOConnection *ADbConn=NULL);
  173. bool GetNextAviId(String &ANewId, TADOConnection *ADbConn=NULL);
  174. bool GetNextAviSectId(String &ANewId, TADOConnection *ADbConn=NULL);
  175. bool DeleteAvi(TItsAvi *AObj, TADOConnection *ADbConn=NULL);
  176. bool UpdateAvi(TItsAvi *AObj, TADOConnection *ADbConn=NULL);
  177. bool InsertAvi(TItsAvi *AObj, TADOConnection *ADbConn=NULL);
  178. bool DeleteAviSectSubTable(TItsAviSect *AObj, TADOConnection *ADbConn=NULL);
  179. bool DeleteAviSect(TItsAviSect *AObj, TADOConnection *ADbConn=NULL);
  180. bool SaveAviSect(TItsAviSect *AObj, TADOConnection *ADbConn=NULL);
  181. };
  182. //---------------------------------------------------------------------------
  183. extern TItsAviManager *ItsAviManager;
  184. //---------------------------------------------------------------------------
  185. #endif