123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359 |
- //---------------------------------------------------------------------------
- #ifndef CDSIncidentFH
- #define CDSIncidentFH
- //---------------------------------------------------------------------------
- #include <Classes.hpp>
- #include <ADODB.hpp>
- #include <DB.hpp>
- #include "cxCustomData.hpp"
- #include "LibSTLF.hpp"
- #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 FINCD_OCRR_ID; //돌발상황 발생 ID
- String FRGST_DT; //등록 일시
- String FINCD_ORGN_CD; //돌발상황 원본 코드 : IST
- String FOCRR_LCTN_NM; //발생 위치 명
- String FX_CRDN; //X 좌표
- String FY_CRDN; //Y 좌표
- String FINCD_EXPL; //돌발상황 설명
- String FCMTR_GRAD_CD; //소통 등급 코드 : LTCU
- String FIFMR_NM; //제보자 명
- String FINCD_CNFM_MTHD_CD; //돌발상황 확인 방법 코드 : ICM
- String FINCD_CNFM_DT; //돌발상황 확인 일시
- String FINCD_STRT_DT; //돌발상황 시작 일시
- String FINCD_END_PRAR_DT; //돌발상황 종료 예정 일시
- String FINCD_TYPE_CLSF_CD; //돌발상황 유형 분류 코드 : IDTU
- String FINCD_TYPE_CD; //돌발상황 유형 코드 : ACTU, CRTU, EVTU, WETU 중 하나
- String FINCD_TITL; //돌발상황 제목
- String FINCD_SERN_CD; //돌발상황 심각도 코드 : SRLU
- String FDELY_LNGT; //지체 길이
- String FINCD_LNGT; //돌발상황 길이
- String FINCD_OCRR_LANE; //돌발상황 발생 차로
- String FINCD_CLSR_LANE; //돌발상황 차단 차로
- String FTRVL_LMNT_TYPE_CD; //통행 제한 유형 코드 : PRTU
- String FTRUB_VHCL_YN; //고장 차량 여부
- String FFALT_YN; //낙하물 여부
- String FFRWT_YN; //화재위험물 여부
- String FUTIS_CNCT_YN; //UTIS 연계 여부
- String FSMLT_VHCL_UNUM; //소형 차량 대수
- String FMDLT_VHCL_UNUM; //중대형 차량 대수
- String FINJR_PNUM; //부상자 인원수
- String FFTLT_PNUM; //사망자 인원수
- String FWTHR_CD; //기상 코드 : DFW
- String FRESP_LVL_CD; //대응 수준 코드 : RSL
- String FVMS_DSPL_YN; //VMS 표출 여부
- String FINCD_PRGR_STEP_CD; //돌발상황 진행 단계 코드 : ISS
- String FINCD_END_CNFM_MTHD_CD; //돌발상황 종료 확인 방법 코드 : ICM
- String FINCD_END_DT; //돌발상황 종료 일시
- String FMBLZ_EQPM_CONT; //출동 장비 내용
- String FMBLZ_PNUM; //출동 인원수
- String FRECR_CONT; //복구 내용
- String FRECR_PERD; //복구 기간
- String FLINK_ID; //돌발발생 LINK ID
- String DISP_INCD; //현재 돌발 진행 여부
- void *FMarker;
- void SetValue(String &AOrgValue, String AValue);
- //돌발상황 원본 코드 : IST
- //소통등급 코드 : LTCU
- //돌발상황 확인 방법 코드 : ICM
- //돌발상황 유형 분류 코드 : IDTU
- //돌발상황 유형 코드 : ACTU, CRTU, EVTU, WETU 중 하나
- //돌발상황 심각도 코드 : SRLU
- //통행 제한 유형 코드 : PRTU
- //대응 수준 코드 : RSL
- //돌발상황 진행 단계 코드 : ISS
- //돌발상황 종료 확인 방법 코드 : ICM
- #if 0
- INCD_OCRR_ID VARCHAR2(12) NOT NULL,
- RGST_DT VARCHAR2(14),
- INCD_ORGN_CD VARCHAR2(7),
- OCRR_LCTN_NM VARCHAR2(100),
- X_CRDN NUMBER(11,8),
- Y_CRDN NUMBER(10,8),
- INCD_EXPL VARCHAR2(600),
- CMTR_GRAD_CD VARCHAR2(7),
- IFMR_NM VARCHAR2(20),
- INCD_CNFM_MTHD_CD VARCHAR2(7),
- INCD_CNFM_DT VARCHAR2(14),
- INCD_STRT_DT VARCHAR2(14),
- INCD_END_PRAR_DT VARCHAR2(14),
- INCD_TYPE_CLSF_CD VARCHAR2(7),
- INCD_TYPE_CD VARCHAR2(7),
- INCD_TITL VARCHAR2(400),
- INCD_SERN_CD VARCHAR2(7),
- DELY_LNGT NUMBER(5),
- INCD_LNGT NUMBER(5),
- INCD_OCRR_LANE VARCHAR2(6),
- INCD_CLSR_LANE VARCHAR2(6),
- TRVL_LMNT_TYPE_CD VARCHAR2(7),
- TRUB_VHCL_YN CHAR(1) DEFAULT 'N',
- FALT_YN CHAR(1) DEFAULT 'N',
- FRWT_YN CHAR(1) DEFAULT 'N',
- UTIS_CNCT_YN CHAR(1) DEFAULT 'N',
- SMLT_VHCL_UNUM NUMBER(5),
- MDLT_VHCL_UNUM NUMBER(5),
- INJR_PNUM NUMBER(4) DEFAULT 0,
- FTLT_PNUM NUMBER(4) DEFAULT 0,
- WTHR_CD VARCHAR2(7),
- RESP_LVL_CD VARCHAR2(7),
- VMS_DSPL_YN CHAR(1) DEFAULT 'N',
- INCD_PRGR_STEP_CD VARCHAR2(7),
- INCD_END_CNFM_MTHD_CD VARCHAR2(7),
- INCD_END_DT VARCHAR2(14),
- MBLZ_EQPM_CONT VARCHAR2(400),
- MBLZ_PNUM NUMBER(5),
- RECR_CONT VARCHAR2(400),
- RECR_PERD NUMBER(5),
- LINK_ID NUMBER(10)
- comment on table TB_INCD_OCRR is '돌발상황 발생';
- comment on column TB_INCD_OCRR.incd_ocrr_id is '돌발상황 발생 ID';
- comment on column TB_INCD_OCRR.rgst_dt is '등록 일시';
- comment on column TB_INCD_OCRR.incd_orgn_cd is '돌발상황 원본 코드';
- comment on column TB_INCD_OCRR.ocrr_lctn_nm is '발생 위치 명';
- comment on column TB_INCD_OCRR.x_crdn is 'X 좌표';
- comment on column TB_INCD_OCRR.y_crdn is 'Y 좌표';
- comment on column TB_INCD_OCRR.incd_expl is '돌발상황 설명';
- comment on column TB_INCD_OCRR.cmtr_grad_cd is '소통 등급 코드';
- comment on column TB_INCD_OCRR.ifmr_nm is '제보자 명';
- comment on column TB_INCD_OCRR.incd_cnfm_mthd_cd is '돌발상황 확인 방법 코드';
- comment on column TB_INCD_OCRR.incd_cnfm_dt is '돌발상황 확인 일시';
- comment on column TB_INCD_OCRR.incd_strt_dt is '돌발상황 시작 일시';
- comment on column TB_INCD_OCRR.incd_end_prar_dt is '돌발상황 종료 예정 일시';
- comment on column TB_INCD_OCRR.incd_type_clsf_cd is '돌발상황 유형 분류 코드';
- comment on column TB_INCD_OCRR.incd_type_cd is '돌발상황 유형 코드';
- comment on column TB_INCD_OCRR.incd_titl is '돌발상황 제목';
- comment on column TB_INCD_OCRR.incd_sern_cd is '돌발상황 심각도 코드';
- comment on column TB_INCD_OCRR.dely_lngt is '지체 길이';
- comment on column TB_INCD_OCRR.incd_lngt is '돌발상황 길이';
- comment on column TB_INCD_OCRR.incd_ocrr_lane is '돌발상황 발생 차로';
- comment on column TB_INCD_OCRR.incd_clsr_lane is '돌발상황 차단 차로';
- comment on column TB_INCD_OCRR.trvl_lmnt_type_cd is '통행 제한 유형 코드';
- comment on column TB_INCD_OCRR.trub_vhcl_yn is '고장 차량 여부';
- comment on column TB_INCD_OCRR.falt_yn is '낙하물 여부';
- comment on column TB_INCD_OCRR.frwt_yn is '화재위험물 여부';
- comment on column TB_INCD_OCRR.utis_cnct_yn is 'UTIS 연계 여부';
- comment on column TB_INCD_OCRR.smlt_vhcl_unum is '소형 차량 대수';
- comment on column TB_INCD_OCRR.mdlt_vhcl_unum is '중대형 차량 대수';
- comment on column TB_INCD_OCRR.injr_pnum is '부상자 인원수';
- comment on column TB_INCD_OCRR.ftlt_pnum is '사망자 인원수';
- comment on column TB_INCD_OCRR.wthr_cd is '기상 코드';
- comment on column TB_INCD_OCRR.resp_lvl_cd is '대응 수준 코드';
- comment on column TB_INCD_OCRR.vms_dspl_yn is 'VMS 표출 여부';
- comment on column TB_INCD_OCRR.incd_prgr_step_cd is '돌발상황 진행 단계 코드';
- comment on column TB_INCD_OCRR.incd_end_cnfm_mthd_cd is '돌발상황 종료 확인 방법 코드';
- comment on column TB_INCD_OCRR.incd_end_dt is '돌발상황 종료 일시';
- comment on column TB_INCD_OCRR.mblz_eqpm_cont is '출동 장비 내용';
- comment on column TB_INCD_OCRR.mblz_pnum is '출동 인원수';
- comment on column TB_INCD_OCRR.recr_cont is '복구 내용';
- comment on column TB_INCD_OCRR.recr_perd is '복구 기간';
- comment on column TB_INCD_OCRR.link_id is '링크ID';
- #endif
- protected:
- void SetFINCD_OCRR_ID(String AValue); //돌발상황 발생 ID
- void SetFRGST_DT(String AValue); //등록 일시
- void SetFINCD_ORGN_CD(String AValue); //돌발상황 원본 코드 : IST
- void SetFOCRR_LCTN_NM(String AValue); //발생 위치 명
- void SetFX_CRDN(String AValue); //X 좌표
- void SetFY_CRDN(String AValue); //Y 좌표
- void SetFINCD_EXPL(String AValue); //돌발상황 설명
- void SetFCMTR_GRAD_CD(String AValue); //소통 등급 코드 : LTCU
- void SetFIFMR_NM(String AValue); //제보자 명
- void SetFINCD_CNFM_MTHD_CD(String AValue); //돌발상황 확인 방법 코드 : ICM
- void SetFINCD_CNFM_DT(String AValue); //돌발상황 확인 일시
- void SetFINCD_STRT_DT(String AValue); //돌발상황 시작 일시
- void SetFINCD_END_PRAR_DT(String AValue); //돌발상황 종료 예정 일시
- void SetFINCD_TYPE_CLSF_CD(String AValue); //돌발상황 유형 분류 코드 : IDTU
- void SetFINCD_TYPE_CD(String AValue); //돌발상황 유형 코드 : ACTU, CRTU, EVTU, WETU 중 하나
- void SetFINCD_TITL(String AValue); //돌발상황 제목
- void SetFINCD_SERN_CD(String AValue); //돌발상황 심각도 코드 : SRLU
- void SetFDELY_LNGT(String AValue); //지체 길이
- void SetFINCD_LNGT(String AValue); //돌발상황 길이
- void SetFINCD_OCRR_LANE(String AValue); //돌발상황 발생 차로
- void SetFINCD_CLSR_LANE(String AValue); //돌발상황 차단 차로
- void SetFTRVL_LMNT_TYPE_CD(String AValue); //통행 제한 유형 코드 : PRTU
- void SetFTRUB_VHCL_YN(String AValue); //고장 차량 여부
- void SetFFALT_YN(String AValue); //낙하물 여부
- void SetFFRWT_YN(String AValue); //화재위험물 여부
- void SetFUTIS_CNCT_YN(String AValue); //UTIS 연계 여부
- void SetFSMLT_VHCL_UNUM(String AValue); //소형 차량 대수
- void SetFMDLT_VHCL_UNUM(String AValue); //중대형 차량 대수
- void SetFINJR_PNUM(String AValue); //부상자 인원수
- void SetFFTLT_PNUM(String AValue); //사망자 인원수
- void SetFWTHR_CD(String AValue); //기상 코드 : DFW
- void SetFRESP_LVL_CD(String AValue); //대응 수준 코드 : RSL
- void SetFVMS_DSPL_YN(String AValue); //VMS 표출 여부
- void SetFINCD_PRGR_STEP_CD(String AValue); //돌발상황 진행 단계 코드 : ISS
- void SetFINCD_END_CNFM_MTHD_CD(String AValue); //돌발상황 종료 확인 방법 코드 : ICM
- void SetFINCD_END_DT(String AValue); //돌발상황 종료 일시
- void SetFMBLZ_EQPM_CONT(String AValue); //출동 장비 내용
- void SetFMBLZ_PNUM(String AValue); //출동 인원수
- void SetFRECR_CONT(String AValue); //복구 내용
- void SetFRECR_PERD(String AValue); //복구 기간
- void SetFLINK_ID(String AValue); //돌발발생 LINK ID
- public:
- __property bool Modified = {read = FModified};
- __property bool Completed = {read = FCompleted, write = FCompleted};
- __property String INCD_OCRR_ID = {read=FINCD_OCRR_ID , write=SetFINCD_OCRR_ID };
- __property String RGST_DT = {read=FRGST_DT , write=SetFRGST_DT };
- __property String INCD_ORGN_CD = {read=FINCD_ORGN_CD , write=SetFINCD_ORGN_CD };
- __property String OCRR_LCTN_NM = {read=FOCRR_LCTN_NM , write=SetFOCRR_LCTN_NM };
- __property String X_CRDN = {read=FX_CRDN , write=SetFX_CRDN };
- __property String Y_CRDN = {read=FY_CRDN , write=SetFY_CRDN };
- __property String INCD_EXPL = {read=FINCD_EXPL , write=SetFINCD_EXPL };
- __property String CMTR_GRAD_CD = {read=FCMTR_GRAD_CD , write=SetFCMTR_GRAD_CD };
- __property String IFMR_NM = {read=FIFMR_NM , write=SetFIFMR_NM };
- __property String INCD_CNFM_MTHD_CD = {read=FINCD_CNFM_MTHD_CD , write=SetFINCD_CNFM_MTHD_CD };
- __property String INCD_CNFM_DT = {read=FINCD_CNFM_DT , write=SetFINCD_CNFM_DT };
- __property String INCD_STRT_DT = {read=FINCD_STRT_DT , write=SetFINCD_STRT_DT };
- __property String INCD_END_PRAR_DT = {read=FINCD_END_PRAR_DT , write=SetFINCD_END_PRAR_DT };
- __property String INCD_TYPE_CLSF_CD = {read=FINCD_TYPE_CLSF_CD , write=SetFINCD_TYPE_CLSF_CD };
- __property String INCD_TYPE_CD = {read=FINCD_TYPE_CD , write=SetFINCD_TYPE_CD };
- __property String INCD_TITL = {read=FINCD_TITL , write=SetFINCD_TITL };
- __property String INCD_SERN_CD = {read=FINCD_SERN_CD , write=SetFINCD_SERN_CD };
- __property String DELY_LNGT = {read=FDELY_LNGT , write=SetFDELY_LNGT };
- __property String INCD_LNGT = {read=FINCD_LNGT , write=SetFINCD_LNGT };
- __property String INCD_OCRR_LANE = {read=FINCD_OCRR_LANE , write=SetFINCD_OCRR_LANE };
- __property String INCD_CLSR_LANE = {read=FINCD_CLSR_LANE , write=SetFINCD_CLSR_LANE };
- __property String TRVL_LMNT_TYPE_CD = {read=FTRVL_LMNT_TYPE_CD , write=SetFTRVL_LMNT_TYPE_CD };
- __property String TRUB_VHCL_YN = {read=FTRUB_VHCL_YN , write=SetFTRUB_VHCL_YN };
- __property String FALT_YN = {read=FFALT_YN , write=SetFFALT_YN };
- __property String FRWT_YN = {read=FFRWT_YN , write=SetFFRWT_YN };
- __property String UTIS_CNCT_YN = {read=FUTIS_CNCT_YN , write=SetFUTIS_CNCT_YN };
- __property String SMLT_VHCL_UNUM = {read=FSMLT_VHCL_UNUM , write=SetFSMLT_VHCL_UNUM };
- __property String MDLT_VHCL_UNUM = {read=FMDLT_VHCL_UNUM , write=SetFMDLT_VHCL_UNUM };
- __property String INJR_PNUM = {read=FINJR_PNUM , write=SetFINJR_PNUM };
- __property String FTLT_PNUM = {read=FFTLT_PNUM , write=SetFFTLT_PNUM };
- __property String WTHR_CD = {read=FWTHR_CD , write=SetFWTHR_CD };
- __property String RESP_LVL_CD = {read=FRESP_LVL_CD , write=SetFRESP_LVL_CD };
- __property String VMS_DSPL_YN = {read=FVMS_DSPL_YN , write=SetFVMS_DSPL_YN };
- __property String INCD_PRGR_STEP_CD = {read=FINCD_PRGR_STEP_CD , write=SetFINCD_PRGR_STEP_CD };
- __property String INCD_END_CNFM_MTHD_CD = {read=FINCD_END_CNFM_MTHD_CD , write=SetFINCD_END_CNFM_MTHD_CD };
- __property String INCD_END_DT = {read=FINCD_END_DT , write=SetFINCD_END_DT };
- __property String MBLZ_EQPM_CONT = {read=FMBLZ_EQPM_CONT , write=SetFMBLZ_EQPM_CONT };
- __property String MBLZ_PNUM = {read=FMBLZ_PNUM , write=SetFMBLZ_PNUM };
- __property String RECR_CONT = {read=FRECR_CONT , write=SetFRECR_CONT };
- __property String RECR_PERD = {read=FRECR_PERD , write=SetFRECR_PERD };
- __property String LINK_ID = {read=FLINK_ID , write=SetFLINK_ID };
- };
- //---------------------------------------------------------------------------
- /*
- * Incident Manager
- */
- class TItsIncidentManager
- {
- public:
- TItsIncidentManager();
- virtual ~TItsIncidentManager();
- public:
- ListMap<TItsVmsIncident> FVmsLists;
- ListMap<TItsAutoIncident> FAutoLists;
- ListMap<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
|