//--------------------------------------------------------------------------- #ifndef CDSVmsCtlrFH #define CDSVmsCtlrFH //--------------------------------------------------------------------------- #include #include #include #include #include "LibSTLF.hpp" #include "ITSDbF.h" //--------------------------------------------------------------------------- #include "VitzroCommF.h" //--------------------------------------------------------------------------- #define MAX_FORM_TYPE 8 #define MAX_FORM_SCHED MAX_FORM_TYPE typedef enum enVmsState { state_normal = 0, state_error, state_module, } EN_VMS_STATE; //--------------------------------------------------------------------------- typedef enum enFormType { enFormTraffic = 0, enFormDolbal, enFormGongsa, enFormHongbo, enFormDeture, enFormFixed, enFormBase, enFormCongest, } EN_FORM_TYPE; //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- class TVmsIfscRltn { public: TVmsIfscRltn(); ~TVmsIfscRltn(); public: int VMS_CTLR_NMBR; //NUMBER(10) N VMS Á¦¾î±â ¹øÈ£ int VMS_IFSC_ID; //NUMBER(10) N VMS Á¤º¸Á¦°ø±¸°£ ID int DSPL_PRRT; //NUMBER(2) Y Ç¥Ãâ ¿ì¼±¼øÀ§ }; //--------------------------------------------------------------------------- typedef struct tagVmsPhase { int DSPL_HH; //Ç¥Ãâ½Ã°£ String DNLD_YN; //´Ù¿î·Îµå¼º°ø¿©ºÎ String DSPL_CD; //Ç¥Ãâ¹æ¹ý Graphics::TBitmap *pVmsBmp; //Ç¥Ãâ¸Þ½ÃÁö(Bitmap À̹ÌÁö) } VMS_PHASE; class TVmsMsg { public: TVmsMsg(); ~TVmsMsg(); public: void Init(); int Total; //Àüü¸Þ½ÃÁö °¹¼ö int Curr; //ÇöÀçÇ¥Ãâ°¹¼ö(»ç¿ë¾ÈÇÔ) String OFFER_DT; //Á¦°ø½Ã°¢ bool OFFER_YN; //Á¤½ÃÁ¦°ø¿©ºÎ(true:Á¤½ÃÁ¦°ø,false:5ºÐÀÌ»óÀÌÀüÁ¦°øµ¥ÀÌÅÍ) VMS_PHASE PHASE[INT_MAX_VMS_FORM]; }; //--------------------------------------------------------------------------- typedef struct tagWinVmsState { BYTE OprMode; /* VMS¿î¿µ¸ðµå, 0:auto, 1:Fix */ BYTE Comm; /* À¯¼±Åë½Å»óÅÂ, 0:Á¤»ó 1:Àå¾Ö */ BYTE Wcomm; /* ¹«¼±Åë½Å»óÅÂ, 0:Á¤»ó 1:Àå¾Ö */ BYTE DoorStatus; /* µµ¾î»óÅÂÁ¤º¸ÄÚµå, 0:¿­¸² 1:´ÝÈû 2:¾Ë¼ö¾øÀ½ */ BYTE ModulePowerStatus; /* ¸ðµâÀü¿ø»óÅÂÁ¤º¸ÄÚµå, 0:ÄÑÁü 1:²¨Áü 2:¾Ë¼ö¾øÀ½ */ short BodyTemp; /* ÇÔü¿Âµµ°ª(¡É), ¹üÀ§(-128~127) */ BYTE LuminanceStatus; /* È­¸éÀÇ ¹à±â°ª (ÃÖ´ë ÈÖµµ°ªÀ» 100À¸·Î ÇßÀ» ¶§ÀÇ ¹éºÐÀ² °ª), ¹üÀ§(0~100) */ BYTE FanStatus; /* Fan µ¿ÀÛ»óÅÂÁ¤º¸ÄÚµå, 0:ÄÑÁü, 1:²¨Áü 2:¾Ë¼ö¾øÀ½ */ BYTE HeaterStatus; /* Heater µ¿ÀÛ»óÅÂÁ¤º¸ÄÚµå, 0:ÄÑÁü, 1:²¨Áü 2:¾Ë¼ö¾øÀ½ */ BYTE ExternalLightStatus; /* ¼±Åà ¿ÜºÎÁ¶¸í µ¿ÀÛ»óÅÂÁ¤º¸ÄÚµå 0:ÄÑÁü, 1:²¨Áü, 2:ÀÚµ¿(°ø´ÜÀº ¹Ì»ç¿ë) */ BYTE AlarmLightStatus; /* ¼±Åà °æ±¤µî µ¿ÀÛ»óÅÂÁ¤º¸ÄÚµå 0:ÄÑÁü, 1:²¨Áü */ BYTE SpeakerStatus; /* ¼±Åà ½ºÇÇÄ¿ µ¿ÀÛ»óÅÂÁ¤º¸ÄÚµå 0:ÄÑÁü, 1:²¨Áü */ BYTE ControllerCurrentTime[INT_VMS_MAX_DATETIME]; /* ¼±Åà Á¦¾î±â ½Ã°£ (YYYYMMDDHHMMSS) */ BYTE Voltage; /* Àü¾Ð, ¹üÀ§(0~255), »ç¿ë¾ÈÇÔ */ BYTE ModuleState; /* ¸ðµâ »óÅÂ, 0:Á¤»ó 1:Àå¾Ö 2:¾Ë¼ö¾øÀ½ */ BYTE ModuleHorizontal; /* °¡·Î ¸ðµâ¼ö */ BYTE ModuleVertical; /* ¼¼·Î ¸ðµâ¼ö */ BYTE ModuleStatus[INT_VMS_MAX_MODULE_BIT]; /* ¸ðµâ °³º° »óÅÂ, 0:Á¤»ó 1:Àå¾Ö 2:¾Ë¼ö¾øÀ½ */ BYTE PowerCount; /* Àü¿ø °¹¼ö */ BYTE PowerStatus[INT_VMS_MAX_POWER_BIT]; /* Àü¿ø °³º° »óÅÂ, 0:ÄÑÁü 1:²¨Áü 2:¾Ë¼ö¾øÀ½ */ short ScheduledMessageOperatingTime; /* Çʼö °èȹµÈ ¸Þ½ÃÁöÀÇ µ¿À۽ð£(ÃÊ) */ short ModuleOperatingTemperature; /* Çʼö ¸ðµâ Àü¿øÀÌ ²¨Áö´Â ¿Âµµ°ª(¡É) */ short FanOperatingTemperature; /* Çʼö Fan µ¿ÀÛ ±âÁØ ¿Âµµ°ª(¡É) */ short HeaterOperatingTemperature; /* Çʼö Heater µ¿ÀÛ ±âÁØ ¿Âµµ°ª(¡É) */ short ExternalLightOperatingLuminance; /* ¼±Åà ¿ÜºÎÀüµî µ¿ÀÛ ±âÁØ ÈÖµµ°ª */ short ModuleBasicFailureRate; /* ¼±Åà ¸ðµâ Àå¾ÖÀ² (ÇÑ °³ÀÇ ¸ðµâÀ» Àå¾Ö·Î ó¸®Çϱâ À§ÇÑ Çȼ¿ÀÇ ¹éºÐÀ²°ª) */ short MaximumRetry; /* ¼±Åà ÃÖ´ë Àç½Ãµµ Ƚ¼ö(ȸ) */ short ResponseTimeOut; /* ¼±Åà ÃÖ´ëÀÀ´ä´ë±â½Ã°£ (ÃÊ) */ short BlinkingCycleTime; /* ¼±Åà Á¡¸ê½Ã°£ ÁÖ±â ( 1/10ÃÊ´ÜÀ§) */ } WIN_VMS_STATE; class TVmsCtlr { public: TVmsCtlr(); ~TVmsCtlr(); private: CRITICAL_SECTION FCS; bool FCompleted; int FEditMode; int FGridIndex; String FMEM_DEL; public: int VMS_CTLR_NMBR; // NUMBER(10); // VMS Á¦¾î±â ¹øÈ£ String VMS_ID; // VARCHAR2(4) Y VMS ID String VMS_CTLR_ID; // VARCHAR2(30) Y VMS Á¦¾î±â ID String VMS_NM; // VARCHAR2(40) Y VMS ¸í String VMS_CTLR_IP; // VARCHAR2(20) Y VMS Á¦¾î±â ¾ÆÀÌÇÇ String VMS_CMNC_PORT; // VARCHAR2(5) Y VMS Åë½Å Æ÷Æ® String VMS_USAG_TYPE_CD; // VARCHAR2(7) Y VMS ¿ëµµ À¯Çü ÄÚµå String VMS_FRM_TYPE_CD; // VARCHAR2(7) Y VMS Çü½Ä À¯Çü ÄÚµå String VMS_TYPE_CD; // VARCHAR2(7) Y VMS À¯Çü ÄÚµå String VMS_MODL_TYPE_CD; // VARCHAR2(7) Y VMS ¸ðµâ À¯Çü ÄÚµå String OPER_MODE; // VARCHAR2(7) Y ¿î¿µ ¸ðµå int VMS_CMNC_ERR_BASS_VAL; // NUMBER(3) Y VMS Åë½Å ¿À·ù ±âº» °ª int VMS_NGHT_BRGH_STEP; // NUMBER(2) Y VMS ¾ß°£ ÈÖµµ ´Ü°è int VMS_WEEK_BRGH_STEP; // NUMBER(2) Y VMS ÁÖ°£ ÈÖµµ ´Ü°è int VMS_PHSE_CHNG_CYCL; // NUMBER(3) Y VMS Ç¥Ãâ¸é º¯°æ ÁÖ±â int VMS_MODL_ERR_RATE; // NUMBER(3) Y VMS ¸ðµâ ¿À·ù À² int VMS_MODL_CHK_CYCL; // NUMBER(3) Y 30 ¸ðµâüũÁÖ±â(ÃÊ) int CMNCFAIL_SLOT_NMBR; // NUMBER(4) Y 0 Åë½ÅÀå¾Ö SLOT ¹øÈ£ int PWER_FAIL_SLOT_NMBR; // NUMBER(4) Y 0 Àü¿ø Àå¾Ö SLOT ¹øÈ£ String CMTRINFR_CNCT_YN; // CHAR(1) Y 'N' ¼ÒÅëÁ¤º¸ ¿¬°è ¿©ºÎ String WTHRINFR_CNCT_YN; // CHAR(1) Y 'N' ±â»óÁ¤º¸ ¿¬°è ¿©ºÎ String ENVRINFR_CNCT_YN; // CHAR(1) Y 'N' ȯ°æÁ¤º¸ ¿¬°è ¿©ºÎ int VMS_MAX_PHSE_NUM; // NUMBER(2) Y VMS ÃÖ´ë Ç¥Ãâ¸é °³¼ö String FRST_REGR_NMBR; // VARCHAR2(20) Y ÃÖÃÊ µî·ÏÀÚ ¹øÈ£ String FRST_RGST_DT; // VARCHAR2(14) Y ÃÖÃÊ µî·Ï ÀϽà String LAST_CRPR_NMBR; // VARCHAR2(20) Y ÃÖÁ¾ ¼öÁ¤ÀÚ ¹øÈ£ String LAST_CRCT_DT; // VARCHAR2(14) Y ÃÖÁ¾ ¼öÁ¤ ÀϽà String PANL_ON_TIME; // VARCHAR2(4) Y Àü±¤ÆÇ ON TIME String PANL_OFF_TIME; // VARCHAR2(4) Y Àü±¤ÆÇ OFF TIME String PANL_PWER_MODE; // VARCHAR2(7) Y Àü±¤ÆÇ Àü¿ø ¸ðµå String BRGH_MODE; // VARCHAR2(7) Y ÈÖµµ ¸ðµå String WEB_CMRA_IP; // VARCHAR2(20) Y À¥ Ä«¸Þ¶ó ¾ÆÀÌÇÇ double X_CRDN; // NUMBER(11,8) Y X ÁÂÇ¥ double Y_CRDN; // NUMBER(10,8) Y Y ÁÂÇ¥ String ISTL_LCTN_NM; // VARCHAR2(40) Y ¼³Ä¡ À§Ä¡ ¸í String TRFC_STRG_USE_YN; // CHAR(1) Y 'N' ±³Åë Àü·« »ç¿ë ¿©ºÎ String VMS_LOC_IFSC_ID; // NUMBER(10) Y VMS À§Ä¡ Á¤º¸Á¦°ø±¸°£ ID int FAN_MTNS_TMPR; // NUMBER(6,3) Y ÆÒ µ¿ÀÛ ¿Âµµ int HETR_MTNS_TMPR; // NUMBER(6,3) Y È÷ÅÍ µ¿ÀÛ ¿Âµµ int WEB_CMRA_PORT; // NUMBER(5) Y String WEB_CMRA_ID; // VARCHAR2(20) Y String WEB_CMRA_PWD; // VARCHAR2(20) Y String STRM_SESN_NM; // VARCHAR2(200) Y ½ºÆ®¸®¹Ö ¼¼¼Ç ¸í String WEB_CMRA_CMPY; String WEB_CMRA_MDL; String DEL_YN; // CHAR(1) Y 'N' »èÁ¦ ¿©ºÎ int DEF_PHSE_CHNG_CYCL; //Å©±â int WIDTH; int HEIGHT; int ModHorCnt; int ModVerCnt; int FormCnt[MAX_FORM_TYPE][2]; TVmsMsg *VmsMsg; void *FData1; void *FData2; void *FData3; WIN_VMS_STATE WSTATE; int RunState; public: void Lock(); void UnLock(); void InitFormCount() { for (int ii = 0; ii < MAX_FORM_TYPE; ii++) { FormCnt[ii][0] = 0; FormCnt[ii][1] = 0; } }; void CheckRunState(); IntMap FIfscRltn; public: __property bool Completed = {read = FCompleted, write = FCompleted}; __property int EditMode = {read = FEditMode, write = FEditMode }; __property int GridIndex = {read = FGridIndex, write = FGridIndex }; __property String MEM_DEL = {read = FMEM_DEL, write = FMEM_DEL }; }; //--------------------------------------------------------------------------- typedef std::map::iterator VmsIterator; //--------------------------------------------------------------------------- class TVmsSize { public: // User declarations String TypeCd; String TypeNm; int Width; int Height; public: // User declarations TVmsSize(); }; //--------------------------------------------------------------------------- class TVmsCtlrManager { public: TVmsCtlrManager(); ~TVmsCtlrManager(); private: TStream *FImgStream; public: StrMap FVmsSize; ListMap FLists; void InitFormCount(); int FMinWidth, FMinHeight; int FMaxWidth, FMaxHeight; public: bool LoadVmsSize(TADOConnection *ADbConn=NULL); bool LoadFromDb(TADOConnection *ADbConn=NULL); bool LoadVmsStatusFromDb(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 LoadIfscRltn(TADOConnection *ADbConn=NULL); bool SaveIfscRltn(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 *VmsManager; //--------------------------------------------------------------------------- void VmsInitStatus(WIN_VMS_STATE *AState); void VmsStatusCopy(WIN_VMS_STATE *AState, INT_VMS_STATE *ASrc); //--------------------------------------------------------------------------- #endif