123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- //---------------------------------------------------------------------------
- #ifndef CDSFormFH
- #define CDSFormFH
- //---------------------------------------------------------------------------
- #include <Classes.hpp>
- #include <stdio.h>
- #include <ADODB.hpp>
- #include <DB.hpp>
- #include <SyncObjs.hpp>
- #include <ExtCtrls.hpp>
- #include <jpeg.hpp>
- #include <GIFimg.hpp>
- //---------------------------------------------------------------------------
- #include "ITSLibF.h"
- #include "CDSItsObjectF.h"
- //---------------------------------------------------------------------------
- typedef enum _e_form_type
- {
- eFormTp_traf_1 = 11, // 소통상황(1단)
- eFormTp_traf_2 = 12, // 소통상황(2단)
- eFormTp_traf_3 = 13, // 소통상황(3단)
- eFormTp_traf_4 = 14, // 소통상황(4단)
- eFormtp_figure = 15, // 소통상황(도형식배경소통정보)
- eFormTp_congest = 16, // 정체소통상황
- eFormTp_incident = 20, // 돌발문안
- eFormTp_gongsa = 30, // 공사/행사문안
- eFormTp_hongbo = 40, // 홍보문안
- eFormTp_deture = 50, // 우회도로
- eFormTp_safe = 60, // 재난안전
- eFormTp_video = 70, // 동영상
- eFormTp_stream = 80, // 스트리밍영상
- eFormTp_atmp = 90, // 대기환경
- eFormTp_park = 100, // 주차정보
- eFormTp_evehicle = 110, // 긴급차량우선신호
- } e_form_type;
- typedef enum _e_schedule_type
- {
- eSchTp_traffic = 0, //0:교통,
- eSchTp_incident = 1, //1:돌발,
- eSchTp_gongsa = 2, //2:공사행사,
- eSchTp_hongbo = 3, //3:홍보,
- eSchTp_deture = 4, //4:우회,
- eSchTp_congest = 5, //5:정체,
- eSchTp_safe = 6, //6:안전,
- eSchTp_video = 7, //7:동영상,
- eSchTp_stream = 8, //8:스트리밍영상
- eSchTp_atmp = 9, //9:대기환경
- eSchTp_park = 10, //10:주차정보
- eSchTp_evehicle = 11, //11:긴급차량우선신호
- eSchTp_max,
- } e_schedule_type;
- typedef enum _e_evehicle_form_type
- {
- eEVehicleFormOnMove = 0,
- eEVehicleFormEndOperation = 1,
- } e_evehicle_form_type;
- class TCDSFormObj
- {
- public:
- TCDSFormObj();
- ~TCDSFormObj();
- public:
- int VMS_FORM_OBJECT_ID; //NUMBER(5) N FORM OBJECT ID
- AnsiString VMS_FORM_ID; //NUMBER(5) N VMS FORM ID
- int VMS_FORM_DSPL_ROW; //NUMBER(2) Y VMS FORM 표출 행
- int VMS_FORM_DSPL_CLMN; //NUMBER(2) Y VMS FORM 표출 칼럼
- int VMS_FORM_OBJECT_TYPE_CD; //NUMBER(3) N VMS FORM OBJECT 유형 코드
- int VMS_FONT_NAME_CD; //NUMBER(3) N VMS 글꼴 유형 코드
- int VMS_FONT_COLR_CD; //NUMBER(3) N VMS 글꼴 색상 코드
- int VMS_FONT_BOLD; //NUMBER(1) Y VMS 글꼴 방식 코드(0:Normal,1:Bold)
- int VMS_FONT_SIZE; //NUMBER(3) Y 0 VMS 글꼴 크기
- int VMS_FONT_ALIGN; //NUMBER(1) Y 0 VMS 표출 문자열정열방식(0:LEFT,1:RIGHT,2:CENTER)
- AnsiString VMS_DSPL_TXT; //VARCHAR2(200) Y VMS 표출 텍스트
- int VMS_DSPL_XCRDN; //NUMBER(5) Y VMS 표출 X좌표
- int VMS_DSPL_YCRDN; //NUMBER(5) Y VMS 표출 Y좌표
- int VMS_DSPL_WIDTH; //NUMBER(5) Y 0 VMS 표출 넓이
- int VMS_DSPL_HEIGHT; //NUMBER(5) Y 0 VMS 표출 높이
- int VMS_DSPL_BLINKING; //NUMBER(1) Y 0 VMS 표출 점멸 여부(0:지속, 1:점멸)
- int VMS_DSPL_BKCOLOR; //NUMBER(1) Y 0 VMS 표출 배경색상코드
- int VMS_DSPL_SIZE; //NUMBER(7) Y 0 VMS 표출 크기(문자:문자길이,이미지:이미지전체크기)
- AnsiString TRFC_FILL_CD; //CHAR(1) Y 'N' FILL-IN 메시지 여부
- AnsiString SYMB_LIB_NMBR; //NUMBER(4) N 0 심벌라이브러리 번호
- AnsiString VMS_IFSC_ID; //NUMBER(10) Y VMS 정보제공구간 ID
- TImage *pImage;
- public:
- void Clear();
- };
- //---------------------------------------------------------------------------
- class TCDSForm
- {
- public:
- TCDSForm();
- ~TCDSForm();
- public:
- AnsiString VMS_FORM_ID; //NUMBER(5) N VMS FORM ID
- AnsiString VMS_TYPE_CD; //VARCHAR2(7) Y VMS 유형 코드
- int VMS_FORM_TYPE_CD; //NUMBER(3) N VMS FORM 유형 코드
- int VMS_FORM_COLR_CD; //NUMBER(3) N VMS FORM 배경 색상 코드
- int VMS_FORM_DSPL_DRCT_CD; //NUMBER(3) Y VMS 메시지 표출 방향 코드
- int VMS_FORM_DSPL_MTHD_CD; //NUMBER(3) Y 0 VMS 메시지 표출 방법 코드
- int VMS_FORM_SUB_TYPE_CD; // 긴급차량우선신호를 위해 추가, VMS_FORM_DSPL_DRCT_CD 컬럼을 사용함
- //int SYMB_LIB_NMBR; // N NUMBER(4) Y 심벌라이브러리 번호
- //AnsiString VMS_FORM_IMAG; // N BLOB Y VMS 폼 이미지
- AnsiString VMS_FORM_NM; // N VARCHAR2(60) Y VMS FORM 명
- AnsiString VMS_FORM_EXPL; // N VARCHAR2(200) Y VMS FORM 설명
- AnsiString UPDT_DT; //VARCHAR2(14) N TO_CHAR(sysdate, 'YYYYMMDDHH24MISS') 갱신 일시
- AnsiString LocalFileName;
- AnsiString FtpFileName;
- AnsiString TrfBakImgId;
- bool TrfIfsc; //도형식 하단 정보제공구간소통정보
- bool TrfAxis; //도형식 하단 축소통정보
- bool TrfFixed; //도형식 하단에 소통정보가 없을 경우 기본문자 표출여부, 20200515 추가함
- bool IsNewForm; //신규이거나 변경된 경우 true
- public:
- TItsMap<int, TCDSFormObj*> FLists;
- void Clear();
- };
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- class TCDSFormManager : public TCDSItsObject
- {
- public:
- TCDSFormManager();
- ~TCDSFormManager();
- private:
- public:
- TItsMap<AnsiString, TCDSForm*> FLists;
- private:
- int LoadVmsFormObjectInfo(TADOConnection *ADbConn);
- public:
- int LoadVmsFormInfo(TADOConnection *ADbConn);
- };
- //---------------------------------------------------------------------------
- extern TCDSFormManager *CDSFormManager;
- typedef std::map<AnsiString, TCDSForm*>::iterator FormItr;
- //---------------------------------------------------------------------------
- #endif
|