CDSIncidentF.h 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. //---------------------------------------------------------------------------
  2. #ifndef CDSIncidentFH
  3. #define CDSIncidentFH
  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. //---------------------------------------------------------------------------
  12. /*
  13. * Incident class
  14. */
  15. class TItsAutoIncident
  16. {
  17. public :
  18. TItsAutoIncident(){}
  19. virtual ~TItsAutoIncident(){}
  20. public :
  21. String LINK_ID; //NUMBER(10) N 링크ID
  22. String DETC_DT; //VARCHAR2(14) N 검지 일시
  23. String CLCT_SPED_AVRG; //NUMBER(3) Y 0 수집 속도 평균
  24. String ESTM_SPED_AVRG; //NUMBER(3) Y 0 예상 속도 평균
  25. String REAL_YN; //CHAR(1) Y 'N' 사실 여부
  26. String X_CRDN;
  27. String Y_CRDN;
  28. String ROAD_NAME;
  29. String STNAME;
  30. String EDNAME;
  31. };
  32. //---------------------------------------------------------------------------
  33. /*
  34. * Vms Incident class
  35. */
  36. class TItsVmsIncident
  37. {
  38. public:
  39. TItsVmsIncident(){}
  40. virtual ~TItsVmsIncident(){}
  41. public:
  42. String INCD_OCRR_ID; //돌발상황 발생 ID
  43. String STRT_LCTN_NM; //시작 위치 명
  44. String END_LCTN_NM; //종료 위치 명
  45. String OCRR_LCTN_NM; //발생 위치 명
  46. String CMTR_GRAD_CD; //소통 등급 코드
  47. String INCD_CLSR_LANE; //돌발상황 차단 차로
  48. String VMS_DSPL_YN; //VMS 표출 여부
  49. String INCD_PRGR_STEP_CD; //돌발상황 진행 단계 코드
  50. String INCD_STRT_DT; //돌발상황 시작 일시
  51. String INCD_END_PRAR_DT; //돌발상황 종료 예정 일시
  52. String LINK_ID; //링크ID
  53. String VMS_INCD_TYPE_CD; //VMS 돌발유형코드
  54. String VMS_INCD_DETL_TYPE_CD; //VMS 돌발세부유형코드
  55. String VMS_INCD_RSTR_TYPE_CD;
  56. };
  57. //---------------------------------------------------------------------------
  58. /*
  59. * Incident class
  60. */
  61. class TItsIncident
  62. {
  63. public:
  64. TItsIncident();
  65. virtual ~TItsIncident();
  66. void Clear();
  67. private:
  68. bool FModified;
  69. bool FCompleted;
  70. public:
  71. String INCD_OCRR_ID; //돌발상황 발생 ID
  72. String RGST_DT; //등록 일시
  73. String INCD_ORGN_CD; //돌발상황 원본 코드 : IST
  74. String OCRR_LCTN_NM; //발생 위치 명
  75. String X_CRDN; //X 좌표
  76. String Y_CRDN; //Y 좌표
  77. String INCD_EXPL; //돌발상황 설명
  78. String CMTR_GRAD_CD; //소통 등급 코드 : LTCU
  79. String IFMR_NM; //제보자 명
  80. String INCD_CNFM_MTHD_CD; //돌발상황 확인 방법 코드 : ICM
  81. String INCD_CNFM_DT; //돌발상황 확인 일시
  82. String INCD_STRT_DT; //돌발상황 시작 일시
  83. String INCD_END_PRAR_DT; //돌발상황 종료 예정 일시
  84. String INCD_TYPE_CLSF_CD; //돌발상황 유형 분류 코드 : IDTU
  85. String INCD_TYPE_CD; //돌발상황 유형 코드 : ACTU, CRTU, EVTU, WETU 중 하나
  86. String INCD_TITL; //돌발상황 제목
  87. String INCD_SERN_CD; //돌발상황 심각도 코드 : SRLU
  88. String DELY_LNGT; //지체 길이
  89. String INCD_LNGT; //돌발상황 길이
  90. String INCD_OCRR_LANE; //돌발상황 발생 차로
  91. String INCD_CLSR_LANE; //돌발상황 차단 차로
  92. String TRVL_LMNT_TYPE_CD; //통행 제한 유형 코드 : PRTU
  93. String TRUB_VHCL_YN; //고장 차량 여부
  94. String FALT_YN; //낙하물 여부
  95. String FRWT_YN; //화재위험물 여부
  96. String UTIS_CNCT_YN; //UTIS 연계 여부
  97. String SMLT_VHCL_UNUM; //소형 차량 대수
  98. String MDLT_VHCL_UNUM; //중대형 차량 대수
  99. String INJR_PNUM; //부상자 인원수
  100. String FTLT_PNUM; //사망자 인원수
  101. String WTHR_CD; //기상 코드 : DFW
  102. String RESP_LVL_CD; //대응 수준 코드 : RSL
  103. String VMS_DSPL_YN; //VMS 표출 여부
  104. String INCD_PRGR_STEP_CD; //돌발상황 진행 단계 코드 : ISS
  105. String INCD_END_CNFM_MTHD_CD; //돌발상황 종료 확인 방법 코드 : ICM
  106. String INCD_END_DT; //돌발상황 종료 일시
  107. String MBLZ_EQPM_CONT; //출동 장비 내용
  108. String MBLZ_PNUM; //출동 인원수
  109. String RECR_CONT; //복구 내용
  110. String RECR_PERD; //복구 기간
  111. String LINK_ID; //돌발발생 LINK ID
  112. String DISP_INCD; //현재 돌발 진행 여부
  113. void *FMarker;
  114. public:
  115. __property bool Modified = {read = FModified};
  116. __property bool Completed = {read = FCompleted, write = FCompleted};
  117. };
  118. //---------------------------------------------------------------------------
  119. /*
  120. * Incident Manager
  121. */
  122. class TItsIncidentManager
  123. {
  124. public:
  125. TItsIncidentManager();
  126. virtual ~TItsIncidentManager();
  127. public:
  128. TItsMap<String, TItsVmsIncident*> FVmsLists;
  129. TItsMap<String, TItsAutoIncident*> FAutoLists;
  130. TItsMap<String, TItsIncident*> FLists;
  131. int FAutoIncident;
  132. public:
  133. bool LoadFromDb(TADOConnection *ADbConn=NULL);
  134. bool LoadFromAutoIncident(TADOConnection *ADbConn=NULL);
  135. bool LoadFromVmsIncident(TADOConnection *ADbConn=NULL);
  136. bool UpdateIncidentInfo(TItsIncident *AObj, TADOConnection *ADbConn=NULL);
  137. bool DeleteIncidentLoc(String AIncidId, TADOConnection *ADbConn=NULL);
  138. bool UpdateIncidentLoc(TItsIncident *AObj, TADOConnection *ADbConn=NULL);
  139. bool MergeVmsIncidentInfo(String AINCD_OCRR_ID, // '돌발상황 발생 ID
  140. String ASTRT_LCTN_NM, // '시작 위치 명
  141. String AEND_LCTN_NM, // '종료 위치 명
  142. String AOCRR_LCTN_NM, // '발생 위치 명
  143. String ACMTR_GRAD_CD, // '소통 등급 코드
  144. String AINCD_CLSR_LANE, // '돌발상황 차단 차로
  145. String AVMS_DSPL_YN, // 'VMS 표출 여부
  146. String AINCD_PRGR_STEP_CD, // '돌발상황 진행 단계 코드
  147. String AINCD_STRT_DT, // '돌발상황 시작 일시
  148. String AINCD_END_PRAR_DT, // '돌발상황 종료 예정 일시
  149. String ALINK_ID, // '링크ID
  150. String AVMS_INCD_TYPE_CD, // 'VMS 돌발유형코드
  151. String AVMS_INCD_DETL_TYPE_CD, // 'VMS 돌발세부유형코드
  152. String AVMS_INCD_RSTR_TYPE_CD, // 'VMS 돌발통제코드
  153. TADOConnection *ADbConn=NULL);
  154. bool UpdateVmsIncidentInfo(String AINCD_OCRR_ID, String AINCD_PRGR_STEP_CD, TADOConnection *ADbConn=NULL);
  155. bool GetNextIncidentId(String ACenterId, String &AIncidentId, TADOConnection *ADbConn=NULL);
  156. };
  157. //---------------------------------------------------------------------------
  158. extern TItsIncidentManager *ItsIncidentManager;
  159. //---------------------------------------------------------------------------
  160. #endif