//--------------------------------------------------------------------------- #ifndef CDSVmsCtlrFH #define CDSVmsCtlrFH //--------------------------------------------------------------------------- #include #include #include #include #include "ITSLibF.h" #include "ITSDbF.h" #include "CDSObjectF.h" //--------------------------------------------------------------------------- #include "CenterCommF.h" //--------------------------------------------------------------------------- typedef enum enVmsState { state_normal = 0, state_error, state_module, } EN_VMS_STATE; //--------------------------------------------------------------------------- typedef enum _e_schedule_mode { enScheduleAuto, enScheduleFix, enScheduleBase, enScheduleMax, } e_schedule_mode; //--------------------------------------------------------------------------- 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 struct tagScheduleUsage { int Total[eSchTp_max]; int Use[eSchTp_max]; } SCHEDULE_USAGE, *PSCHEDULE_USAGE; //--------------------------------------------------------------------------- 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 { int DSPL_HH; //Ç¥Ãâ½Ã°£ String DNLD_YN; //´Ù¿î·Îµå¼º°ø¿©ºÎ String DSPL_CD; //Ç¥Ãâ¹æ¹ý int VMS_SCH_FORM_TYPE; String VMS_DSPL_MSG_TXT; Graphics::TBitmap *pVmsBmp; //Ç¥Ãâ¸Þ½ÃÁö(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 BOX_DOOR_STTS; // N VARCHAR2(3) Y ÇÔü¹®»óÅ String BOX_FAN_STTS; // N VARCHAR2(3) Y ÇÔüÆÒ»óÅ String BOX_HTER_STTS; // N VARCHAR2(3) Y ÇÔüÈ÷ÅÍ»óÅ String SGNBRD_ON; // N VARCHAR2(3) Y Àü±¤ÆÇON String SGNBRD_STTS; // N VARCHAR2(3) Y Àü±¤ÆÇ»óÅ int BOX_TMPR; // N NUMBER(3) Y ÇÔü¿Âµµ int BOX_HMD; // N NUMBER(3) Y ÇÔü½Àµµ int VMS_TMPR; // N NUMBER(3) Y VMS¿Âµµ }; //--------------------------------------------------------------------------- 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 USE_YN; //N CHAR(1) N »ç¿ë¿©ºÎ 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; SCHEDULE_USAGE FormCnt[enScheduleMax]; TVmsMsg *VmsMsg; INT_VMS_STATE STATE; int RunState; public: void InitFormCount() { for (int ii = 0; ii < eSchTp_max; ii++) { for (int jj = 0; jj < enScheduleMax; jj++) { FormCnt[jj].Total[ii] = 0; FormCnt[jj].Use[ii] = 0; } } }; void CheckRunState(); TItsMap FIfscRltn; TItsMap FEvspRltn; public: void Lock(); void UnLock(); }; //--------------------------------------------------------------------------- typedef std::map::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 FLists; }; //--------------------------------------------------------------------------- class TVmsCtlrManager { public: TVmsCtlrManager(); ~TVmsCtlrManager(); private: TStream *FImgStream; public: TItsMap FVmsSize; TItsMap FLists; void InitFormCount(); int FMinWidth, FMinHeight; int FMaxWidth, FMaxHeight; public: bool LoadVmsModlSize(TADOConnection *ADbConn=NULL); bool LoadFromDb(TADOConnection *ADbConn=NULL); bool LoadStatusFromDb(TADOConnection *ADbConn=NULL); bool DeleteVms(TVmsCtlr *AObj, TADOConnection *ADbConn=NULL); bool InsertVms(TVmsCtlr *AObj, TADOConnection *ADbConn=NULL); bool UpdateVms(TVmsCtlr *AObj, TADOConnection *ADbConn=NULL); bool MergeVms(TVmsCtlr *AObj, TADOConnection *ADbConn=NULL); bool MergeFcltInfo(TVmsCtlr *AObj, TADOConnection *ADbConn=NULL); bool GetNextVmsId(int &ANmbr, int &AId, TADOConnection *ADbConn=NULL); bool UpdateCtlrInfo(TVmsCtlr *AObj, TADOConnection *ADbConn=NULL); bool UpdateIfscCngsSpeedInfo(int ACngsSpd, TADOConnection *ADbConn=NULL); bool LoadIfscRltn(TADOConnection *ADbConn=NULL); bool SaveIfscRltn(TVmsCtlr *AObj, TADOConnection *ADbConn=NULL); bool LoadEvspRltn(TADOConnection *ADbConn=NULL); bool SaveEvspRltn(TVmsCtlr *AObj, TADOConnection *ADbConn=NULL); bool LoadVmsMsg(TADOConnection *ADbConn=NULL); bool LoadVmsFormUsage(TADOConnection *ADbConn=NULL); bool InsVmsControlHs(String ACtlDt, String AVmsNmbr, String ACtlType, String ACtlVal, String ACtlRes, String AUserId, TADOConnection *ADbConn=NULL); }; //--------------------------------------------------------------------------- extern TVmsCtlrManager *VmsCtlrManager; //--------------------------------------------------------------------------- void VmsInitStatus(INT_VMS_STATE *AState); int VmsGetFormTypeIdx(int AFormType); //--------------------------------------------------------------------------- #endif