123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337 |
- //---------------------------------------------------------------------------
- #ifndef CDSVmsCtlrFH
- #define CDSVmsCtlrFH
- //---------------------------------------------------------------------------
- #include <Classes.hpp>
- #include <stdio.h>
- #include <ADODB.hpp>
- #include <DB.hpp>
- #include "ITSLibF.h"
- #include "ITSDbF.h"
- #include "CDSObjectF.h"
- //---------------------------------------------------------------------------
- #include "CenterCommF.h"
- //---------------------------------------------------------------------------
- #define INT_VMS_MAX_FORM 10
- class TFormImage
- {
- public:
- TFormImage() {};
- ~TFormImage(){};
- public:
- String formId;
- int memIdx;
- Graphics::TBitmap *bitmap;
- };
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- class TVmsIfscRltn
- {
- public:
- TVmsIfscRltn();
- ~TVmsIfscRltn();
- public:
- String VMS_CTLR_NMBR; //NUMBER(10) N VMS 제어기 번호
- int VMS_IFSC_ID; //NUMBER(10) N VMS 정보제공구간 ID
- int DSPL_PRRT; //NUMBER(2) Y 표출 우선순위
- String CNGS_CNFM_YN; //CHAR(1) Y 'Y' 정체폼 정체판정 여부
- int CNGS_CNFM_SPED; //NUMBER(2) Y 5 정체폼 정체판정 속도
- };
- //---------------------------------------------------------------------------
- class TVmsEvspRltn
- {
- public:
- TVmsEvspRltn();
- ~TVmsEvspRltn();
- public:
- String VMS_CTLR_NMBR; //NUMBER(10) N VMS 제어기 번호
- int VMS_EVSP_ID; //NUMBER(10) N VMS 긴급차량우선신호구간 ID
- int DSPL_PRRT; //NUMBER(2) Y 표출 우선순위
- String CNGS_CNFM_YN; //CHAR(1) Y 'Y' 정체폼 정체판정 여부
- int CNGS_CNFM_SPED; //NUMBER(2) Y 5 정체폼 정체판정 속도
- };
- //---------------------------------------------------------------------------
- typedef struct tagVmsPhase
- {
- String CTLR_ID; // N VARCHAR2(10) N VMS제어기ID
- int SN; // N NUMBER(5) N 순번
- String PROV_DT_FMT; // N DATE N 제공일시
- int DSPL_HR; // N NUMBER(3) N 표출시간
- String DSPL_EFF; // N VARCHAR2(3) N 표출효과
- String BACK_CLR; // N VARCHAR2(3) Y 배경색상
- String VMS_FORM_ID; // N VARCHAR2(10) N VMS폼ID
- String DSPL_CN; // N VARCHAR2(256) N 표출내용
- String PROV_YN; // N CHAR(1) N 제공여부
- String OPER_MODE; // N VARCHAR2(3) N 운영모드
- String VMS_FORM_TYPE; // N VARCHAR2(3) N VMS폼유형
- Graphics::TBitmap *DSPL_PICT; // 표출메시지(Bitmap 이미지)
- } VMS_PHASE;
- class TVmsMsg
- {
- public:
- TVmsMsg();
- ~TVmsMsg();
- public:
- void Init();
- bool IsLoading;
- int Total; //전체메시지 갯수
- int Curr; //현재표출갯수(사용안함)
- String OFFER_DT; //제공시각
- bool OFFER_YN; //정시제공여부(true:정시제공,false:5분이상이전제공데이터)
- VMS_PHASE PHASE[INT_VMS_MAX_FORM];
- };
- //---------------------------------------------------------------------------
- class TVmsStts
- {
- public:
- TVmsStts(String AVMS_CTLR_ID);
- ~TVmsStts();
- public:
- void Init();
- bool IsLoading;
- String VMS_CTLR_ID; // N VARCHAR2(10)N VMS제어기ID
- String LAST_DT; // N DATE N 최종일시
- String LAST_DT_FMT; // N DATE N 최종일시
- String RPRS_STTS; // N VARCHAR2(3) N 대표상태
- String CMNC_STTS; // N VARCHAR2(3) Y 통신상태
- String PS_STTS; // N VARCHAR2(3) Y 전원상태
- String FAN_STTS; // N VARCHAR2(3) Y 팬상태
- String HTER_STTS; // N VARCHAR2(3) Y 히터상태
- String DOOR_STTS; // N VARCHAR2(3) Y 문상태
- String RSET_YN; // N CHAR(1) Y 재실행여부
- int TEMP; // N NUMBER(3,1) Y 온도
- int HUM; // N NUMBER(3,1) Y 습도
- int BOX_TEMP; // N NUMBER(3,1) Y 함체온도
- };
- //---------------------------------------------------------------------------
- class TVmsPara
- {
- public:
- TVmsPara(String AVMS_CTLR_ID);
- ~TVmsPara();
- public:
- void Init();
- bool IsLoading;
- String VMS_CTLR_ID; // N VARCHAR2(10)N VMS제어기ID
- String LAST_DT; // N DATE N 최종일시
- String LAST_DT_FMT; // N DATE N 최종일시
- String LUMI_MODE; // N VARCHAR2(3) Y 휘도모드
- int CUR_LUMI; // N NUMBER(3) Y 현재휘도
- int DAY_LUMI; // N NUMBER(3) Y 주간휘도
- int NGHT_LUMI; // N NUMBER(3) Y 야간휘도
- int CMNC_RTRY_NOCS; // N NUMBER(3) Y 통신재시도횟수
- int BLNK_TM; // N NUMBER(3) Y 점멸시간주기
- String FAN_MODE; // N VARCHAR2(3) Y 팬모드
- String HTER_MODE; // N VARCHAR2(3) Y 히터모드
- int ERR_MODL_RT; // N NUMBER(3) Y 장애모듈비율
- int DFLT_SCNR_RUN_TM;// N NUMBER(3) Y 디폴트시나리오동작시간
- };
- //---------------------------------------------------------------------------
- class TVmsModlStts
- {
- public:
- TVmsModlStts();
- ~TVmsModlStts();
- public:
- String VMS_CTLR_ID; // N VARCHAR2(10) N VMS제어기ID
- int ROW_NO; // N NUMBER(2) N 행번호
- int COL_NO; // N NUMBER(2) N 열번호
- String LAST_DT_FMT; // N DATE N 최종일시
- String MODL_STTS; // N VARCHAR2(3) N 모듈상태
- };
- class TLcsCtlr
- {
- public:
- TLcsCtlr();
- ~TLcsCtlr();
- public:
- String LCS_CTLR_ID; // N VARCHAR2(10) N LCS제어기ID
- String FCLT_ID; // N VARCHAR2(10) N 시설물ID
- String LCS_NM; // N VARCHAR2(32) N LCS명
- String VMS_MODL_KIND; // N VARCHAR2(10) N VMS모듈종류
- int INSTL_LANE_CNT; // N NUMBER(2) N 설치차로수
- String USE_YN; // N CHAR(1) N 사용여부
- public:
- String VMS_MODL_KIND_NM;
- int VMS_MODL_ROW;
- int VMS_MODL_COL;
- int MODL_PIXL_WDTH;
- int MODL_PIXL_HGHT;
- String MODL_CLR;
- int POWR_MODL_ROW;
- int POWR_MODL_COL;
- int WIDTH, HEIGHT;
- TVmsMsg *FVmsMsg;
- public:
- void Lock();
- void UnLock();
- };
- class TVmsCtlr
- {
- public:
- TVmsCtlr();
- ~TVmsCtlr();
- public:
- String VMS_CTLR_ID; //N VARCHAR2(10) N VMS제어기ID
- String FCLT_ID; //N VARCHAR2(10) N 시설물ID
- String VMS_NM; //N VARCHAR2(32) N VMS명
- String VMS_TYPE; //N VARCHAR2(3) N VMS유형
- String STD_SECT_ID; //N CHAR(10) N 표준구간ID
- int INSTL_MILE; //N NUMBER(5) Y 설치이정
- double CRDN_X; //N NUMBER(13,10) N 좌표X
- double CRDN_Y; //N NUMBER(12,10) N 좌표Y
- String VMS_MODL_KIND; //N VARCHAR2(10) N VMS모듈종류
- int CMNC_PORT; //N NUMBER(5) N 통신포트
- int EQMT_NO; //N NUMBER(3) N 장비번호
- String OPER_MODE; //N VARCHAR2(3) N 운영모드
- String CMRA_IND; //N CHAR(1) N 카메라유무
- String CMRA_IMG_ADDR; //N VARCHAR2(128) Y 카메라영상주소
- String CMRA_LGIN_ID; //N VARCHAR2(32) Y 카메라로그인ID
- String CMRA_LGIN_PW; //N VARCHAR2(32) Y 카메라로그인암호
- String VMS_SCNR_ID; //N VARCHAR2(10) Y VMS시나리오ID
- String VMS_ON_HM; //N CHAR(4) Y VMS ON시분
- String VMS_OFF_HM; //N CHAR(4) Y VMS OFF시분
- int MAX_DSPL_FORM_CNT; //N NUMBER(2) N 최대표출폼수
- String LCS_CTLR_ID; //N VARCHAR2(10) Y LCS제어기ID
- String USE_YN; //N CHAR(1) N 사용여부
- bool IsLcsUse;
- String VMS_CTLR_IP;
- String WEB_CMRA_IP;
- String VMS_TYPE_NM;
- String OPER_MODE_NM;
- String VMS_RTSP_ADDR;
- String FULL_STRM_SESN_NM;
- String VMS_MODL_KIND_NM;
- int VMS_MODL_ROW;
- int VMS_MODL_COL;
- int MODL_PIXL_WDTH;
- int MODL_PIXL_HGHT;
- String MODL_CLR;
- int POWR_MODL_ROW;
- int POWR_MODL_COL;
- int WIDTH, HEIGHT;
- String VMS_COMM_SERVER;
- int VMS_COMM_PORT;
- TVmsStts *Stts;
- TVmsPara *Para;
- TLcsCtlr *FLcsInfo;
- TItsMap<int, TVmsModlStts*> FModlSttsLists;
- TVmsMsg *FVmsMsg;
- public:
- TItsMap<int, TVmsIfscRltn*> FIfscRltn;
- TItsMap<int, TVmsEvspRltn*> FEvspRltn;
- public:
- void Lock();
- void UnLock();
- };
- //---------------------------------------------------------------------------
- typedef std::map<String, TVmsCtlr*>::iterator VmsIterator;
- //---------------------------------------------------------------------------
- class TVmsSize
- {
- public: // User declarations
- String TypeCd;
- String TypeNm;
- int Width;
- int Height;
- public: // User declarations
- TVmsSize();
- };
- class TVmsModlSize
- {
- public: // User declarations
- TVmsModlSize();
- ~TVmsModlSize();
- public: // User declarations
- String TypeCd;
- String TypeNm;
- int Width;
- int Height;
- public: // User declarations
- TItsMap<String, TVmsCtlr*> FLists;
- };
- //---------------------------------------------------------------------------
- class TVmsCtlrManager
- {
- public:
- TVmsCtlrManager();
- ~TVmsCtlrManager();
- private:
- TStream *FImgStream;
- public:
- TItsMap<String, TVmsSize*> FVmsSize;
- TItsMap<String, TVmsCtlr*> FLists;
- TItsMap<String, TLcsCtlr*> FLcsLists;
- int FMinWidth, FMinHeight;
- int FMaxWidth, FMaxHeight;
- public:
- bool LoadVmsModlSize(TADOConnection *ADbConn=NULL);
- bool LoadFromDb(TADOConnection *ADbConn=NULL);
- bool LcsLoadFromDb(TADOConnection *ADbConn=NULL);
- bool LoadStatusFromDb(TADOConnection *ADbConn=NULL);
- bool LoadParaFromDb(TADOConnection *ADbConn=NULL);
- bool LoadModlSttsFromDb(TADOConnection *ADbConn=NULL);
- bool LoadVmsMsg(TADOConnection *ADbConn=NULL);
- bool LoadLcsMsg(TADOConnection *ADbConn=NULL);
- bool LoadVmsPlanMsg(TADOConnection *ADbConn=NULL);
- bool LoadLcsPlanMsg(TADOConnection *ADbConn=NULL);
- bool UpdateCtlrInfo(TVmsCtlr *AObj, TADOConnection *ADbConn=NULL);
- bool InsVmsControlHs(String ACtlDt, String AVmsNmbr, String ACtlType, String ACtlVal, String ACtlRes, String AUserId, TADOConnection *ADbConn=NULL);
- };
- //---------------------------------------------------------------------------
- extern TVmsCtlrManager *VmsCtlrManager;
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- #endif
|