123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- //---------------------------------------------------------------------------
- #ifndef CDSIncidentFH
- #define CDSIncidentFH
- //---------------------------------------------------------------------------
- #include <Classes.hpp>
- #include <ADODB.hpp>
- #include <DB.hpp>
- #include "cxCustomData.hpp"
- #include "ITSLibF.h"
- #include "ITSDbF.h"
- //---------------------------------------------------------------------------
- /*
- * Incident class
- */
- class TItsAutoIncident
- {
- public :
- TItsAutoIncident(){}
- virtual ~TItsAutoIncident(){}
- public :
- String LINK_ID; //NUMBER(10) N 링크ID
- String DETC_DT; //VARCHAR2(14) N 검지 일시
- String CLCT_SPED_AVRG; //NUMBER(3) Y 0 수집 속도 평균
- String ESTM_SPED_AVRG; //NUMBER(3) Y 0 예상 속도 평균
- String REAL_YN; //CHAR(1) Y 'N' 사실 여부
- String X_CRDN;
- String Y_CRDN;
- String ROAD_NAME;
- String STNAME;
- String EDNAME;
- };
- //---------------------------------------------------------------------------
- /*
- * Vms Incident class
- */
- class TItsVmsIncident
- {
- public:
- TItsVmsIncident(){}
- virtual ~TItsVmsIncident(){}
- public:
- String INCD_OCRR_ID; //돌발상황 발생 ID
- String STRT_LCTN_NM; //시작 위치 명
- String END_LCTN_NM; //종료 위치 명
- String OCRR_LCTN_NM; //발생 위치 명
- String CMTR_GRAD_CD; //소통 등급 코드
- String INCD_CLSR_LANE; //돌발상황 차단 차로
- String VMS_DSPL_YN; //VMS 표출 여부
- String INCD_PRGR_STEP_CD; //돌발상황 진행 단계 코드
- String INCD_STRT_DT; //돌발상황 시작 일시
- String INCD_END_PRAR_DT; //돌발상황 종료 예정 일시
- String LINK_ID; //링크ID
- String VMS_INCD_TYPE_CD; //VMS 돌발유형코드
- String VMS_INCD_DETL_TYPE_CD; //VMS 돌발세부유형코드
- String VMS_INCD_RSTR_TYPE_CD;
- };
- //---------------------------------------------------------------------------
- /*
- * Incident class
- */
- class TItsIncident
- {
- public:
- TItsIncident();
- virtual ~TItsIncident();
- void Clear();
- private:
- bool FModified;
- bool FCompleted;
- public:
- String INCD_OCRR_ID; //돌발상황 발생 ID
- String RGST_DT; //등록 일시
- String INCD_ORGN_CD; //돌발상황 원본 코드 : IST
- String OCRR_LCTN_NM; //발생 위치 명
- String X_CRDN; //X 좌표
- String Y_CRDN; //Y 좌표
- String INCD_EXPL; //돌발상황 설명
- String CMTR_GRAD_CD; //소통 등급 코드 : LTCU
- String IFMR_NM; //제보자 명
- String INCD_CNFM_MTHD_CD; //돌발상황 확인 방법 코드 : ICM
- String INCD_CNFM_DT; //돌발상황 확인 일시
- String INCD_STRT_DT; //돌발상황 시작 일시
- String INCD_END_PRAR_DT; //돌발상황 종료 예정 일시
- String INCD_TYPE_CLSF_CD; //돌발상황 유형 분류 코드 : IDTU
- String INCD_TYPE_CD; //돌발상황 유형 코드 : ACTU, CRTU, EVTU, WETU 중 하나
- String INCD_TITL; //돌발상황 제목
- String INCD_SERN_CD; //돌발상황 심각도 코드 : SRLU
- String DELY_LNGT; //지체 길이
- String INCD_LNGT; //돌발상황 길이
- String INCD_OCRR_LANE; //돌발상황 발생 차로
- String INCD_CLSR_LANE; //돌발상황 차단 차로
- String TRVL_LMNT_TYPE_CD; //통행 제한 유형 코드 : PRTU
- String TRUB_VHCL_YN; //고장 차량 여부
- String FALT_YN; //낙하물 여부
- String FRWT_YN; //화재위험물 여부
- String UTIS_CNCT_YN; //UTIS 연계 여부
- String SMLT_VHCL_UNUM; //소형 차량 대수
- String MDLT_VHCL_UNUM; //중대형 차량 대수
- String INJR_PNUM; //부상자 인원수
- String FTLT_PNUM; //사망자 인원수
- String WTHR_CD; //기상 코드 : DFW
- String RESP_LVL_CD; //대응 수준 코드 : RSL
- String VMS_DSPL_YN; //VMS 표출 여부
- String INCD_PRGR_STEP_CD; //돌발상황 진행 단계 코드 : ISS
- String INCD_END_CNFM_MTHD_CD; //돌발상황 종료 확인 방법 코드 : ICM
- String INCD_END_DT; //돌발상황 종료 일시
- String MBLZ_EQPM_CONT; //출동 장비 내용
- String MBLZ_PNUM; //출동 인원수
- String RECR_CONT; //복구 내용
- String RECR_PERD; //복구 기간
- String LINK_ID; //돌발발생 LINK ID
- String DISP_INCD; //현재 돌발 진행 여부
- void *FMarker;
- public:
- __property bool Modified = {read = FModified};
- __property bool Completed = {read = FCompleted, write = FCompleted};
- };
- //---------------------------------------------------------------------------
- /*
- * Incident Manager
- */
- class TItsIncidentManager
- {
- public:
- TItsIncidentManager();
- virtual ~TItsIncidentManager();
- public:
- TItsMap<String, TItsVmsIncident*> FVmsLists;
- TItsMap<String, TItsAutoIncident*> FAutoLists;
- TItsMap<String, TItsIncident*> FLists;
- int FAutoIncident;
- public:
- bool LoadFromDb(TADOConnection *ADbConn=NULL);
- bool LoadFromAutoIncident(TADOConnection *ADbConn=NULL);
- bool LoadFromVmsIncident(TADOConnection *ADbConn=NULL);
- bool UpdateIncidentInfo(TItsIncident *AObj, TADOConnection *ADbConn=NULL);
- bool DeleteIncidentLoc(String AIncidId, TADOConnection *ADbConn=NULL);
- bool UpdateIncidentLoc(TItsIncident *AObj, TADOConnection *ADbConn=NULL);
- bool MergeVmsIncidentInfo(String AINCD_OCRR_ID, // '돌발상황 발생 ID
- String ASTRT_LCTN_NM, // '시작 위치 명
- String AEND_LCTN_NM, // '종료 위치 명
- String AOCRR_LCTN_NM, // '발생 위치 명
- String ACMTR_GRAD_CD, // '소통 등급 코드
- String AINCD_CLSR_LANE, // '돌발상황 차단 차로
- String AVMS_DSPL_YN, // 'VMS 표출 여부
- String AINCD_PRGR_STEP_CD, // '돌발상황 진행 단계 코드
- String AINCD_STRT_DT, // '돌발상황 시작 일시
- String AINCD_END_PRAR_DT, // '돌발상황 종료 예정 일시
- String ALINK_ID, // '링크ID
- String AVMS_INCD_TYPE_CD, // 'VMS 돌발유형코드
- String AVMS_INCD_DETL_TYPE_CD, // 'VMS 돌발세부유형코드
- String AVMS_INCD_RSTR_TYPE_CD, // 'VMS 돌발통제코드
- TADOConnection *ADbConn=NULL);
- bool UpdateVmsIncidentInfo(String AINCD_OCRR_ID, String AINCD_PRGR_STEP_CD, TADOConnection *ADbConn=NULL);
- bool GetNextIncidentId(String ACenterId, String &AIncidentId, TADOConnection *ADbConn=NULL);
- };
- //---------------------------------------------------------------------------
- extern TItsIncidentManager *ItsIncidentManager;
- //---------------------------------------------------------------------------
- #endif
|