xCDSServiceLinkF.h 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. //---------------------------------------------------------------------------
  2. #ifndef CDSServiceLinkFH
  3. #define CDSServiceLinkFH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <ADODB.hpp>
  7. #include <DB.hpp>
  8. #include "cxCustomData.hpp"
  9. #include "ITSLibF.h"
  10. #include "ITSDbF.h"
  11. #include "CDSCoordF.h"
  12. #include "CDSTrafficF.h"
  13. //---------------------------------------------------------------------------
  14. /*
  15. * ServiceLink Traffic class
  16. */
  17. class TItsTrafficServiceLink
  18. {
  19. public:
  20. TItsTrafficServiceLink();
  21. TItsTrafficServiceLink(String AId);
  22. virtual ~TItsTrafficServiceLink();
  23. void Clear();
  24. private:
  25. bool FModified;
  26. bool FCompleted;
  27. public:
  28. String FIFSC_ID; // IFSC_ID NUMBER(10) NOT NULL, 정보제공구간 ID
  29. String FPRCN_DT; // PRCN_DT VARCHAR2(14 BYTE), 가공 일시
  30. int FTFVL; // TFVL NUMBER(6) DEFAULT 0, 교통량
  31. int FSPED; // SPED NUMBER(3) DEFAULT 0, 속도
  32. int FPTRN_SPED; // PTRN_SPED NUMBER(3) DEFAULT 0, 패턴 속도
  33. float FOCPY_RATE; // OCPY_RATE NUMBER(5,2) DEFAULT 0, 점유 율
  34. int FTRVL_HH; // TRVL_HH NUMBER(6) DEFAULT 0, 통행 시간
  35. String FCMTR_GRAD_CD; // CMTR_GRAD_CD VARCHAR2(7 BYTE) DEFAULT NULL, 소통 등급 코드
  36. int FDATA_NUM; // DATA_NUM NUMBER(5) 데이터 개수
  37. String FMISSING;
  38. String FLASTANS;
  39. String FMPRCN_DT;
  40. /*
  41. COMMENT ON TABLE CWUTIS.TB_IFSC_TRAF IS '정보제공구간 소통상황';
  42. IFSC_ID NUMBER(10) NOT NULL, 정보제공구간 ID
  43. PRCN_DT VARCHAR2(14 BYTE), 가공 일시
  44. TFVL NUMBER(6) DEFAULT 0, 교통량
  45. SPED NUMBER(3) DEFAULT 0, 속도
  46. PTRN_SPED NUMBER(3) DEFAULT 0, 패턴 속도
  47. OCPY_RATE NUMBER(5,2) DEFAULT 0, 점유 율
  48. TRVL_HH NUMBER(6) DEFAULT 0, 통행 시간
  49. CMTR_GRAD_CD VARCHAR2(7 BYTE) DEFAULT NULL, 소통 등급 코드
  50. DATA_NUM NUMBER(5) 데이터 개수
  51. */
  52. void SetValue(String &AOrgValue, String AValue);
  53. protected:
  54. void SetFIFSC_ID(String AValue);
  55. public:
  56. __property bool Modified = {read = FModified};
  57. __property bool Completed = {read = FCompleted, write = FCompleted};
  58. __property String IFSC_ID = {read = FIFSC_ID, write = FIFSC_ID }; // IFSC_ID NUMBER(10) NOT NULL, 정보제공구간 ID
  59. __property String PRCN_DT = {read = FPRCN_DT, write = FPRCN_DT }; // PRCN_DT VARCHAR2(14 BYTE), 가공 일시
  60. __property int TFVL = {read = FTFVL, write = FTFVL }; // TFVL NUMBER(6) DEFAULT 0, 교통량
  61. __property int SPED = {read = FSPED, write = FSPED }; // SPED NUMBER(3) DEFAULT 0, 속도
  62. __property int PTRN_SPED = {read = FPTRN_SPED, write = FPTRN_SPED }; // PTRN_SPED NUMBER(3) DEFAULT 0, 패턴 속도
  63. __property float OCPY_RATE = {read = FOCPY_RATE, write = FOCPY_RATE }; // OCPY_RATE NUMBER(5,2) DEFAULT 0, 점유 율
  64. __property int TRVL_HH = {read = FTRVL_HH, write = FTRVL_HH }; // TRVL_HH NUMBER(6) DEFAULT 0, 통행 시간
  65. __property String CMTR_GRAD_CD = {read = FCMTR_GRAD_CD, write = FCMTR_GRAD_CD }; // CMTR_GRAD_CD VARCHAR2(7 BYTE) DEFAULT NULL, 소통 등급 코드
  66. __property int DATA_NUM = {read = FDATA_NUM, write = FDATA_NUM }; // DATA_NUM NUMBER(5) 데이터 개수
  67. __property String MISSING = {read = FMISSING, write = FMISSING };
  68. __property String LASTANS = {read = FLASTANS, write = FLASTANS };
  69. __property String MPRCN_DT = {read = FMPRCN_DT, write = FMPRCN_DT };
  70. };
  71. //---------------------------------------------------------------------------
  72. /*
  73. * ServiceLink Traffic Manager
  74. */
  75. class TItsTrafficServiceLinkManager
  76. {
  77. public:
  78. TItsTrafficServiceLinkManager();
  79. virtual ~TItsTrafficServiceLinkManager();
  80. public:
  81. bool FFirst;
  82. TItsMap<String, TItsTrafficServiceLink> FLists;
  83. public:
  84. bool LoadFromDb(TADOConnection *ADbConn=NULL);
  85. };
  86. //---------------------------------------------------------------------------
  87. extern TItsTrafficServiceLinkManager *ItsTrafficServiceLinkManager;
  88. //---------------------------------------------------------------------------
  89. class TSubLink
  90. {
  91. public:
  92. TSubLink() {};
  93. virtual ~TSubLink() {};
  94. String FLinkId;
  95. };
  96. /*
  97. * ServiceLink class
  98. */
  99. class TItsServiceLink
  100. {
  101. public:
  102. TItsServiceLink();
  103. TItsServiceLink(String AId);
  104. virtual ~TItsServiceLink();
  105. void Clear();
  106. private:
  107. bool FModified;
  108. bool FCompleted;
  109. public:
  110. String IFSC_ID; // IFSC_ID NUMBER(10) NOT NULL, IFSC_ID IS '정보제공구간 ID';
  111. String IFSC_NM; // IIFSC_NM VARCHAR(100 BYTE), IFSC_NM IS '정보제공구간 명';
  112. String DRCT_CD; // IDRCT_CD VARCHAR(7 BYTE), DRCT_CD IS '방향 코드';
  113. String STRT_NM; // ISTRT_NM VARCHAR(100 BYTE), STRT_NM IS '시점 명';
  114. String END_NM; // IEND_NM VARCHAR(100 BYTE) END_NM IS '종점 명';
  115. String SECT_LNGT; // ISECT_LNGT NUMBER(5) DEFAULT 0, SECT_LNGT IS '구간 길이';
  116. String EXTR_CNCT_SECT_YN; // IEXTR_CNCT_SECT_YN CHAR(1 BYTE) DEFAULT 'N', EXTR_CNCT_SECT_YN IS '외부 연계 구간 여부';
  117. String DEL_YN; // IDEL_YN CHAR(1 BYTE) DEFAULT 'N', DEL_YN IS '삭제 여부';
  118. String RMRK; // IRMRK VARCHAR(600 BYTE), RMRK IS '비고';
  119. String F_NODE_ID; // IF_NODE_ID NUMBER(10), F_NODE_ID IS '시작노드ID';
  120. String T_NODE_ID; // IT_NODE_ID NUMBER(10), T_NODE_ID IS '종료노드ID';
  121. String SECT_GRAD_CD; // ISECT_GRAD_CD VARCHAR(7 BYTE), SECT_GRAD_CD IS '구간 등급 코드';
  122. String AREA_CD; // AREA_CD VARCHAR(7 BYTE)
  123. String REGN_YN;
  124. String ROAD_ID;
  125. TItsTraffic *TRAF;
  126. TItsBounds bounds;
  127. IntMap<TItsCoord> Coords;
  128. void *FPolyLine;
  129. std::map<int, String> FSubLists;
  130. protected:
  131. public:
  132. __property bool Modified = {read = FModified};
  133. __property bool Completed = {read = FCompleted, write = FCompleted};
  134. };
  135. //---------------------------------------------------------------------------
  136. /*
  137. * Link Manager
  138. */
  139. class TItsServiceLinkManager
  140. {
  141. public:
  142. TItsServiceLinkManager();
  143. virtual ~TItsServiceLinkManager();
  144. public:
  145. TItsMap<String, TItsServiceLink> FLists;
  146. public:
  147. bool LoadFromDb(TADOConnection *ADbConn=NULL);
  148. bool LoadCoordFromDb(TADOConnection *ADbConn=NULL);
  149. bool LoadLink(TADOConnection *ADbConn=NULL);
  150. bool LoadLinkList(TADOConnection *ADbConn=NULL);
  151. };
  152. //---------------------------------------------------------------------------
  153. extern TItsServiceLinkManager *ItsServiceLinkManager;
  154. //---------------------------------------------------------------------------
  155. #endif