//--------------------------------------------------------------------------- #pragma hdrstop #include "CDSFacilityF.h" #include "ITS_OPLibF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) TItsRegFacility::TItsRegFacility() { UnRegisterd = "N"; GridIndex = -1; Clear(); } //--------------------------------------------------------------------------- TItsRegFacility::~TItsRegFacility() { } //--------------------------------------------------------------------------- void TItsRegFacility::Clear() { #if 0 Type = ""; Id = ""; Name = ""; DelYn = "" UnRegisterd = "N"; #endif } //--------------------------------------------------------------------------- TItsFacility::TItsFacility() { FCommStatus = "CMS2"; // Àåºñ Åë½Å»óŰª FDoorStatus = "CMS2"; // Àåºñ Door»óŰª GridIndex = -1; // ±×¸®µå À妽º StatusGridIndex = -1; Deleted = "N"; Clear(); } //--------------------------------------------------------------------------- void TItsFacility::Clear() { #if 0 FCLT_ID = ""; // FCLT_ID VARCHAR(50 BYTE) NOT NULL, '½Ã¼³¹° ID'; RFID_ID = ""; // RFID_ID VARCHAR(50 BYTE) NOT NULL, '½Ã¼³¹° ID'; FCLT_TYPE = ""; // FCLT_TYPE VARCHAR(7 BYTE) NOT NULL, '½Ã¼³¹°À¯Çü'; FCLT_LCTN = ""; // FCLT_LCTN VARCHAR(100 BYTE), '½Ã¼³¹° À§Ä¡'; RSCE_YN = ""; // RSCE_YN CHAR(1 BYTE) DEFAULT 'N', 'ÇöÀåÀÚ»êÀ¯¹«'; MDL_NM = ""; // MDL_NM VARCHAR(30 BYTE), '¸ðµ¨¸í'; USE_YEAR = ""; // USE_YEAR NUMBER(3), '»ç¿ë³â¼ö'; INWR_DT = ""; // INWR_DT VARCHAR(14 BYTE), 'ÀÔ°íÀϽÃ'; OTWR_DT = ""; // OTWR_DT VARCHAR(14 BYTE), 'Ãâ°íÀϽÃ'; ISTL_DT = ""; // ISTL_DT VARCHAR(14 BYTE), '¼³Ä¡ÀϽÃ'; TAKT_DT = ""; // TAKT_DT VARCHAR(14 BYTE), '¹ÝÃâÀϽÃ'; TAKT_RESN = ""; // TAKT_RESN VARCHAR(100 BYTE), '¹ÝÃâ»çÀ¯'; TAKN_DT = ""; // TAKN_DT VARCHAR(14 BYTE), '¹ÝÀÔÀϽÃ'; ABDN_DT = ""; // ABDN_DT VARCHAR(14 BYTE), 'Æó±âÀϽÃ'; ADTN_NM = ""; // ADTN_NM VARCHAR(30 BYTE), 'Ãß°¡ÀÚ¸í'; ADTN_DT = ""; // ADTN_DT VARCHAR(14 BYTE), 'Ãß°¡ÀϽÃ'; CHNG_NM = ""; // CHNG_NM VARCHAR(30 BYTE), 'º¯°æÀÚ¸í'; CHNG_DT = ""; // CHNG_DT VARCHAR(14 BYTE), 'º¯°æÀϽÃ'; AMT = ""; // AMT NUMBER(15), '±Ý¾×'; DEL_YN = ""; // DEL_YN CHAR(1 BYTE) DEFAULT 'N', '»èÁ¦¿©ºÎ'; ISTL_CMPY_ID = ""; // ISTL_CMPY_ID VARCHAR(30 BYTE), '¼³Ä¡¾÷üID'; MNFC_CMPY_ID = ""; // PRDC_CMPY_ID VARCHAR(30 BYTE) 'Á¦Á¶¾÷üID'; ISTL_LCTN_ADDR = ""; CommStatus = "CMS2"; // Àåºñ Åë½Å»óŰª DoorStatus = "CMS2"; // Àåºñ Door»óŰª GridIndex = -1; // ¸ÞÀÎÆû¿¡ »Ñ·ÁÁö´Â ±×¸®µå À妽º #endif } //--------------------------------------------------------------------------- TItsFacility::~TItsFacility() { } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- TItsFacilityManager *ItsFacilityManager = NULL; //--------------------------------------------------------------------------- /* * Facility Manager */ TItsFacilityManager::TItsFacilityManager() { } //--------------------------------------------------------------------------- TItsFacilityManager::~TItsFacilityManager() { FRegLists.RemoveAll(); ItsFacilityManager->FLists.RemoveAll(); } //--------------------------------------------------------------------------- void TItsFacilityManager::SetCenterId(String ACenterId) { CenterId = ACenterId; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/) { try { FLocalCctvCnt = 0; FRseLists.Lock(); FAviLists.Lock(); FBitLists.Lock(); FSigLists.Lock(); FSigDetLists.Lock(); FPisLists.Lock(); FPcsLists.Lock(); FRegLists.Lock(); ItsFacilityManager->FLists.Lock(); FRseLists.RemoveAll(); FAviLists.RemoveAll(); FBitLists.RemoveAll(); FSigLists.RemoveAll(); FSigDetLists.RemoveAll(); FPisLists.RemoveAll(); FPcsLists.RemoveAll(); FRegLists.RemoveAll(); ItsFacilityManager->FLists.RemoveAll(); } __finally { FRseLists.UnLock(); FAviLists.UnLock(); FBitLists.UnLock(); FSigLists.UnLock(); FSigDetLists.UnLock(); FPisLists.UnLock(); FPcsLists.UnLock(); FRegLists.UnLock(); ItsFacilityManager->FLists.UnLock(); } LoadFacilityReg(ADbConn); // ½Ã¼³¹° °³º° Å×À̺í Á¶È¸(ID, NAME µî) LoadFacilityMaster(ADbConn); // TB_FCLT_INFR LoadFacilityVds(ADbConn); LoadFacilityCctv(ADbConn); #ifdef USE_INCCCTV LoadFacilityIncCctv(ADbConn); #endif LoadFacilityVms(ADbConn); LoadFacilityWebCam(ADbConn); LoadFacilityCrsCam(ADbConn); LoadFacilityPark(ADbConn); #ifdef USE_RSE LoadFacilityRse(ADbConn); #endif #ifdef USE_AVI LoadFacilityAvi(ADbConn); #endif #ifdef USE_DSRC LoadFacilityDsrc(ADbConn); #endif #ifdef USE_BIT LoadFacilityBit(ADbConn); #endif #ifdef USE_SIG LoadFacilitySig(ADbConn); #endif #ifdef USE_SIGDET LoadFacilitySigDet(ADbConn); #endif #ifdef USE_PVMS LoadFacilityPvms(ADbConn); #endif #ifdef USE_PVDS LoadFacilityPvds(ADbConn); #endif LoadFacilityCross(ADbConn); LoadFacilitySgnlCtlr(ADbConn); CheckFacility(); return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::CheckFacility() { try { ItsFacilityManager->FLists.Lock(); FOR_STL(TItsFacility *, pFacility, ItsFacilityManager->FLists) { TItsRegFacility *pRegFacility = FRegLists.Find(pFacility->FCLT_TYPE + pFacility->FCLT_ID); if (!pRegFacility) { pFacility->Deleted = "Y"; } } } __finally { ItsFacilityManager->FLists.UnLock(); } try { FRegLists.Lock(); FOR_STL(TItsRegFacility *, pRegFacility, FRegLists) { TItsFacility *pFacility = ItsFacilityManager->FLists.Find(pRegFacility->Id); if (!pFacility) { pRegFacility->UnRegisterd = "Y"; } } } __finally { FRegLists.UnLock(); } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityReg(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; sQry = "SELECT '' AS FAC_TYPE, '' AS FAC_ID, '' AS FAC_NM, '' AS DEL_YN \r\n" " FROM DUAL \r\n" " WHERE 1 = 0 \r\n" #ifdef USE_CCTV #if 0 "UNION \r\n" "SELECT 'CCTV' AS FAC_TYPE, CCTV_CTLR_ID AS FAC_ID, CCTV_NM AS FAC_NM, DEL_YN \r\n" " FROM TB_CCTV_CTLR \r\n" " WHERE DEL_YN = 'N' \r\n" #else "UNION \r\n" "SELECT 'CCTV' AS FAC_TYPE, CCTV_CTLR_ID AS FAC_ID, ISTL_LCTN_NM AS FAC_NM, DEL_YN \r\n" " FROM TB_CCTV_CTLR \r\n" " WHERE DEL_YN = 'N' \r\n" #endif #endif #ifdef USE_INCCCTV "UNION \r\n" "SELECT 'ICAM' AS FAC_TYPE, CCTV_CTLR_ID AS FAC_ID, ISTL_LCTN_NM AS FAC_NM, DEL_YN \r\n" " FROM VW_INC_CCTV_CTLR \r\n" " WHERE DEL_YN = 'N' \r\n" #endif #ifdef USE_VDS "UNION \r\n" "SELECT 'VDS' AS FAC_TYPE, VDS_CTLR_ID AS FAC_ID, VDS_NM AS FAC_N, DEL_YN \r\n" " FROM TB_VDS_CTLR \r\n" " WHERE DEL_YN = 'N' \r\n" #endif #ifdef USE_VMS "UNION \r\n" "SELECT 'VMS' AS FAC_TYPE, VMS_CTLR_ID AS FAC_ID, VMS_NM AS FAC_NM, DEL_YN \r\n" " FROM TB_VMS_CTLR \r\n" " WHERE DEL_YN = 'N' \r\n" #endif #ifdef USE_WCAM "UNION \r\n" "SELECT WCAM_TYPE_CD AS FAC_TYPE, WCAM_CTLR_ID AS FAC_ID, WCAM_NM AS FAC_NM, DEL_YN \r\n" " FROM TB_WCAM_CTLR \r\n" " WHERE DEL_YN = 'N' \r\n" #endif #ifdef USE_CCAM "UNION \r\n" "SELECT 'CCAM' AS FAC_TYPE, CCAM_CTLR_ID AS FAC_ID, CCAM_NM AS FAC_NM, DEL_YN \r\n" " FROM TB_CCAM_CTLR \r\n" " WHERE DEL_YN = 'N' \r\n" #endif #ifdef USE_AVI "UNION \r\n" "SELECT 'AVI' AS FAC_TYPE, AVI_ID AS FAC_ID, AVI_LCTN_NM AS FAC_NM, DEL_YN \r\n" " FROM TB_AVI_CTLR \r\n" " WHERE DEL_YN = 'N' \r\n" #endif #ifdef USE_DSRC "UNION \r\n" "SELECT 'DSRC' AS FAC_TYPE, RSE_ID AS FAC_ID, ISTL_LCTN_NM AS FAC_NM, DEL_YN \r\n" " FROM TB_RSE_MSTR \r\n" " WHERE DEL_YN = 'N' \r\n" #endif #ifdef USE_BIT "UNION \r\n" "SELECT 'BIT' AS FAC_TYPE, TO_CHAR(FCLT_ID) AS FAC_ID, FCLT_LCTN AS FAC_NM, 'N' AS DEL_YN \r\n" " FROM VW_BIT \r\n" #if 0 "SELECT 'BIT' AS FAC_TYPE, TO_CHAR(A.BIT_ID) AS FAC_ID, B.STOP_NAME AS FAC_NM, \r\n" " 'N' AS DEL_YN \r\n" " FROM BIT A, BUSSTOP B \r\n" " WHERE 1=1 \r\n" " AND A.INSTALL_STOP_ID = B.STOP_ID \r\n" " AND B.USE_FLAG = '1' \r\n" #endif #endif #ifdef USE_SIG "UNION \r\n" "SELECT 'SIG' AS FAC_TYPE, TO_CHAR(FCLT_ID) AS FAC_ID, FCLT_LCTN AS FAC_NM, 'N' AS DEL_YN \r\n" " FROM VW_SIG_CTLR \r\n" #endif #ifdef USE_PVMS "UNION \r\n" "SELECT 'PVMS' AS FAC_TYPE, TO_CHAR(FCLT_ID) AS FAC_ID, FCLT_LCTN AS FAC_NM, 'N' AS DEL_YN \r\n" " FROM VW_PIS_VMS \r\n" #endif #ifdef USE_PVDS "UNION \r\n" "SELECT 'PVDS' AS FAC_TYPE, TO_CHAR(FCLT_ID) AS FAC_ID, FCLT_LCTN AS FAC_NM, 'N' AS DEL_YN \r\n" " FROM VW_PIS_CONT \r\n" #endif #ifdef USE_SIGDET "UNION \r\n" "SELECT 'LVD' AS FAC_TYPE, FCLT_ID AS FAC_ID, FCLT_LCTN AS FAC_NM, 'N' AS DEL_YN \r\n" " FROM VW_SIG_LVDS \r\n" #endif #ifdef USE_RSE "UNION \r\n" "SELECT 'RSE' AS FAC_TYPE, RSEID AS FAC_ID, LOCATION AS FAC_NM, 'N' AS DEL_YN \r\n" " FROM RSEMST \r\n" #endif #ifdef USE_PARK2 "UNION \r\n" "SELECT 'PARK' AS FAC_TYPE, PRLT_CTLR_ID AS FAC_ID, PRLT_NM AS FAC_NM, DEL_YN \r\n" " FROM TB_PRLT_CTLR \r\n" " WHERE DEL_YN = 'N' \r\n" #endif #ifdef USE_PARK "UNION \r\n" "SELECT 'PARK' AS FAC_TYPE, prk_plce_manage_no AS FAC_ID, prk_plce_nm AS FAC_NM, 'N' AS DEL_YN \r\n" " FROM TB_PRK_PLCE \r\n" " WHERE pis_type != 'N' \r\n" #endif #ifdef USE_CROSS // ±³Â÷·Î±³Åë·® "UNION \r\n" "SELECT 'CRS' AS FAC_TYPE, CROSS_ID AS FAC_ID, NAME AS FAC_NM, 'N' AS DEL_YN \r\n" " FROM MST_CROSS \r\n" " WHERE DEL_YN = 'N' \r\n" // ±³Â÷·Î±³Åë·® CCTV "UNION \r\n" "SELECT 'CRSCAM' AS FAC_TYPE, A.CAM_ID AS FAC_ID, A.NAME AS FAC_NM, 'N' AS DEL_YN \r\n" " FROM MST_CCAM A, MST_CROSS B \r\n" " WHERE A.DEL_YN = 'N' \r\n" " AND B.DEL_YN = 'N' \r\n" " AND A.CROSS_ID = B.CROSS_ID \r\n" #endif ; FRegLists.Lock(); try { FRegLists.RemoveAll(); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); for( ; !pADO->Eof; pADO->Next()) { TItsRegFacility *pRegFacility = new TItsRegFacility(); pRegFacility->Type = pADO->FieldByName("FAC_TYPE")->AsString; pRegFacility->Id = pADO->FieldByName("FAC_ID")->AsString; pRegFacility->Name = pADO->FieldByName("FAC_NM")->AsString; pRegFacility->DelYn = pADO->FieldByName("DEL_YN")->AsString; pRegFacility->Name = StringReplace(pRegFacility->Name , "\"", "", TReplaceFlags() << rfReplaceAll); pRegFacility->GridIndex = -1; FRegLists.Push(pRegFacility->Type + pRegFacility->Id, pRegFacility); } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilityReg", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilityReg", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FRegLists.UnLock(); } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityMaster(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; sQry = "SELECT * \r\n" " FROM TB_FCLT_INFR \r\n" " WHERE DEL_YN = 'N' \r\n"; TFacilityStatus *pStatus; FListStatus.Lock(); ItsFacilityManager->FLists.Lock(); try { FListStatus.RemoveAll(); ItsFacilityManager->FLists.RemoveAll(); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); for( ; !pADO->Eof; pADO->Next()) { TItsFacility *pFacility = new TItsFacility(); pFacility->FCLT_ID = pADO->FieldByName("FCLT_ID")->AsString; pFacility->RFID_ID = pADO->FieldByName("RFID_ID")->AsString; pFacility->FCLT_TYPE = pADO->FieldByName("FCLT_TYPE")->AsString; pFacility->FCLT_LCTN = pADO->FieldByName("FCLT_LCTN")->AsString; pFacility->RSCE_YN = pADO->FieldByName("RSCE_YN")->AsString; pFacility->MDL_NM = pADO->FieldByName("MDL_NM")->AsString; pFacility->USE_YEAR = pADO->FieldByName("USE_YEAR")->AsString; if (pFacility->USE_YEAR == "") pFacility->USE_YEAR = "0"; pFacility->INWR_DT = pADO->FieldByName("INWR_DT")->AsString; pFacility->OTWR_DT = pADO->FieldByName("OTWR_DT")->AsString; pFacility->ISTL_DT = pADO->FieldByName("ISTL_DT")->AsString; pFacility->TAKT_DT = pADO->FieldByName("TAKT_DT")->AsString; pFacility->TAKT_RESN = pADO->FieldByName("TAKT_RESN")->AsString; pFacility->TAKN_DT = pADO->FieldByName("TAKN_DT")->AsString; pFacility->ABDN_DT = pADO->FieldByName("ABDN_DT")->AsString; pFacility->ADTN_NM = pADO->FieldByName("ADTN_NM")->AsString; pFacility->ADTN_DT = pADO->FieldByName("ADTN_DT")->AsString; pFacility->CHNG_NM = pADO->FieldByName("CHNG_NM")->AsString; pFacility->CHNG_DT = pADO->FieldByName("CHNG_DT")->AsString; pFacility->AMT = pADO->FieldByName("AMT")->AsString; pFacility->DEL_YN = pADO->FieldByName("DEL_YN")->AsString; pFacility->ISTL_CMPY_ID = pADO->FieldByName("ISTL_CMPY_ID")->AsString; pFacility->MNFC_CMPY_ID = pADO->FieldByName("MNFC_CMPY_ID")->AsString; pFacility->ISTL_LCTN_ADDR = pADO->FieldByName("ISTL_LCTN_ADDR")->AsString; pFacility->Sts00 = "-"; pFacility->GridIndex = -1; // ¸ÞÀÎÆû¿¡ »Ñ·ÁÁö´Â ±×¸®µå À妽º pFacility->StatusGridIndex = -1; pFacility->Object = NULL; ItsFacilityManager->FLists.Push(pFacility->FCLT_ID, pFacility); pFacility->Completed = true; String FCLT_TYPE = pFacility->FCLT_TYPE; if (FCLT_TYPE == "VDS" && pFacility->FCLT_ID.Pos("VDC")) { FCLT_TYPE = "CRSSVR"; } pStatus = FListStatus.Find(FCLT_TYPE); if (!pStatus) { pStatus = new TFacilityStatus(); pStatus->Type = FCLT_TYPE; pStatus->Total = 0; pStatus->Normal = 0; pStatus->Error = 0; pStatus->Module = 0; pStatus->Collect= 0; FListStatus.Push(FCLT_TYPE, pStatus); } pStatus->Total++; /* Àüü °¹¼ö¸¦ Áõ°¡ ½ÃÅ´ */ } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilityMaster", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilityMaster", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FListStatus.UnLock(); ItsFacilityManager->FLists.UnLock(); } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityWebCam(TADOConnection *ADbConn/*=NULL*/) { if (!WCamCtlrManager) { WCamCtlrManager = new TWCamCtlrManager(); } #ifdef USE_WCAM TItsFacility *pFacility; WCamCtlrManager->LoadFromDb(); FOR_STL(TWCamCtlr*, pObj, WCamCtlrManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_ID); if (!pFacility) continue; pFacility->Object = pObj; } #endif return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityCrsCam(TADOConnection *ADbConn/*=NULL*/) { if (!CCamCtlrManager) { CCamCtlrManager = new TCCamCtlrManager(); } #ifdef USE_CCAM TItsFacility *pFacility; CCamCtlrManager->LoadFromDb(); FOR_STL(TCCamCtlr*, pObj, CCamCtlrManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_ID); if (!pFacility) continue; pFacility->Object = pObj; pFacility->FCLT_KIND = pObj->TYPE_CD; } #endif return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityCctv(TADOConnection *ADbConn/*=NULL*/) { if (!CctvCtlrManager) { CctvCtlrManager = new TCctvCtlrManager(); } #ifdef USE_CCTV CctvCtlrManager->LoadFromDb(); FOR_STL(TCctvCtlr*, pObj, CctvCtlrManager->FLists) { if (pObj->DEL_YN == "Y") continue; TItsFacility *pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_ID); if (pFacility) { pFacility->Object = pObj; pFacility->FCLT_KIND = pObj->TYPE_CD; } } #endif return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityIncCctv(TADOConnection *ADbConn/*=NULL*/) { if (!IncCctvCtlrManager) { IncCctvCtlrManager = new TIncCctvCtlrManager(); } #ifdef USE_INCCCTV TItsFacility *pFacility; IncCctvCtlrManager->LoadFromDb(); FOR_STL(TIncCctvCtlr*, pObj, IncCctvCtlrManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_ID); if (!pFacility) continue; pFacility->Object = pObj; pFacility->FCLT_KIND = pObj->TYPE_CD; } #endif return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityVms(TADOConnection *ADbConn/*=NULL*/) { if (!VmsCtlrManager) { VmsCtlrManager = new TVmsCtlrManager(); } #if 0 String msg = ItsFacilityManager->FLists.Size(); String data = ""; FOR_STL(TItsFacility*, pTemp, ItsFacilityManager->FLists) { data += (pTemp->FCLT_ID + ", "); } DBERRORMSG("TItsFacilityManager::LoadFacilityRse", "ClassName()", msg, data); #endif #ifdef USE_VMS TItsFacility *pFacility; VmsCtlrManager->LoadVmsSize(); VmsCtlrManager->LoadFromDb(); VmsCtlrManager->LoadVmsFormUsage(); VmsCtlrManager->LoadIfscRltn(); FOR_STL(TVmsCtlr*, pObj, VmsCtlrManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_ID); if (!pFacility) continue; pFacility->Object = pObj; pFacility->FCLT_KIND = pObj->TYPE_CD; } #if 0 FOR_STL(TItsFacility*, pFacility, ItsFacilityManager->FLists) { if (pFacility->FCLT_TYPE != "VMS") continue; FOR_STL(TVmsCtlr*, pObj, VmsCtlrManager->FLists) { if (pObj->VMS_CTLR_ID == pFacility->FCLT_ID) { pFacility->Object = pObj; pFacility->FCLT_KIND = pObj->TYPE_CD; break; } } } #endif #endif return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityVds(TADOConnection *ADbConn/*=NULL*/) { if (!VdsCtlrManager) { VdsCtlrManager = new TVdsCtlrManager(); } #ifdef USE_VDS TItsFacility *pFacility; VdsCtlrManager->LoadFromDb(); VdsCtlrManager->LoadFromDtctDb(); FOR_STL(TVdsCtlr*, pObj, VdsCtlrManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_ID); if (!pFacility) continue; pFacility->Object = pObj; pFacility->FCLT_KIND = pObj->TYPE_CD; } #endif return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityDsrc(TADOConnection *ADbConn/*=NULL*/) { if (!ItsDsrcManager) { ItsDsrcManager = new TItsDsrcManager(); } #ifdef USE_DSRC TItsFacility *pFacility; ItsDsrcManager->LoadFromDb(); ItsFacilityManager->FLists.Lock(); FOR_STL(TItsDsrc*, pObj, ItsDsrcManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_ID); if (!pFacility) continue; pFacility->Object = pObj; pFacility->FCLT_KIND = pObj->TYPE_CD; } ItsFacilityManager->FLists.UnLock(); #endif return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityRse(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; #ifndef USE_RSE return true; #endif sQry = "SELECT RSEID, \r\n" " INSTDT, \r\n" " CITYCD, \r\n" " REGIONCD, \r\n" " AREACD, \r\n" " RSEIP, \r\n" " (COORDX/10000000) COORDX, \r\n" " (COORDY/10000000) COORDY, \r\n" " RADIUS1, \r\n" " RADIUS2, \r\n" " COMPCD, \r\n" " LOCATION, \r\n" " RSECONFIGID, \r\n" " OBEPARAMID, \r\n" " PORT, \r\n" " BRIDGE, \r\n" " COMYN \r\n" " FROM RSEMST \r\n"; //" ORDER BY RSEID \r\n"; try { FRseLists.Lock(); //FRseLists.RemoveAll(); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); for( ; !pADO->Eof; pADO->Next()) { TItsRse *pObj = new TItsRse(); pObj->RSEID = pADO->FieldByName("RSEID")->AsString; //pObj->INSTDT = pADO->FieldByName("INSTDT")->AsString; pObj->CITYCD = pADO->FieldByName("CITYCD")->AsString; pObj->REGIONCD = pADO->FieldByName("REGIONCD")->AsString; pObj->AREACD = pADO->FieldByName("AREACD")->AsString; pObj->RSEIP = pADO->FieldByName("RSEIP")->AsString; pObj->COORDX = pADO->FieldByName("COORDX")->AsString; pObj->COORDY = pADO->FieldByName("COORDY")->AsString; pObj->RADIUS1 = pADO->FieldByName("RADIUS1")->AsString; pObj->RADIUS2 = pADO->FieldByName("RADIUS2")->AsString; //pObj->COMPCD = pADO->FieldByName("COMPCD")->AsString; pObj->LOCATION = pADO->FieldByName("LOCATION")->AsString; //pObj->RSECONFIGID = pADO->FieldByName("RSECONFIGID")->AsString; //pObj->OBEPARAMID = pADO->FieldByName("OBEPARAMID")->AsString; //pObj->PORT = pADO->FieldByName("PORT")->AsString; //pObj->BRIDGE = pADO->FieldByName("BRIDGE")->AsString; pObj->COMYN = pADO->FieldByName("COMYN")->AsString; FRseLists.Push(pObj->RSEID, pObj); } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilityRse", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilityRse", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FRseLists.UnLock(); } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityAvi(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; #ifndef USE_AVI return true; #endif sQry = "SELECT AVI_CTLR_MNGM_NMBR, \r\n" " AVI_ID, \r\n" " LINK_ID, \r\n" " AVI_LCTN_NM, \r\n" " AVI_VALD_YN, \r\n" " AVI_CTLR_IP, \r\n" " AVI_CTLR_CMNC_PORT, \r\n" " AVI_MAIN_CTLR_YN, \r\n" " AVI_MNGM_LANE_NUM, \r\n" " AVI_CMRA_NUM, \r\n" " AVI_DTCT_NUM, \r\n" " AVI_DTCT_NM, \r\n" " AVI_CLCT_CYCL, \r\n" " AVI_LAMP_AUTO_YN, \r\n" " AVI_LAMP_ON_HMS, \r\n" " AVI_LAMP_OFF_HMS, \r\n" " AVI_LAMP_ON_YN, \r\n" " X_CRDN, \r\n" " Y_CRDN, \r\n" " RMRK, \r\n" " DEL_YN \r\n" " FROM TB_AVI_CTLR \r\n"; //" ORDER BY AVI_CTLR_MNGM_NMBR \r\n"; try { FAviLists.Lock(); //FAviLists.RemoveAll(); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); for( ; !pADO->Eof; pADO->Next()) { TItsAvi *pObj = new TItsAvi(); pObj->AVI_CTLR_MNGM_NMBR= pADO->FieldByName("AVI_CTLR_MNGM_NMBR")->AsString; pObj->AVI_ID = pADO->FieldByName("AVI_ID")->AsString; pObj->LINK_ID = pADO->FieldByName("LINK_ID")->AsString; pObj->AVI_LCTN_NM = pADO->FieldByName("AVI_LCTN_NM")->AsString; pObj->AVI_VALD_YN = pADO->FieldByName("AVI_VALD_YN")->AsString; pObj->AVI_CTLR_IP = pADO->FieldByName("AVI_CTLR_IP")->AsString; pObj->AVI_CTLR_CMNC_PORT= pADO->FieldByName("AVI_CTLR_CMNC_PORT")->AsString; pObj->AVI_MAIN_CTLR_YN = pADO->FieldByName("AVI_MAIN_CTLR_YN")->AsString; pObj->AVI_MNGM_LANE_NUM = pADO->FieldByName("AVI_MNGM_LANE_NUM")->AsString; pObj->AVI_CMRA_NUM = pADO->FieldByName("AVI_CMRA_NUM")->AsString; pObj->AVI_DTCT_NUM = pADO->FieldByName("AVI_DTCT_NUM")->AsString; pObj->AVI_DTCT_NM = pADO->FieldByName("AVI_DTCT_NM")->AsString; pObj->AVI_CLCT_CYCL = pADO->FieldByName("AVI_CLCT_CYCL")->AsString; pObj->AVI_LAMP_AUTO_YN = pADO->FieldByName("AVI_LAMP_AUTO_YN")->AsString; pObj->AVI_LAMP_ON_HMS = pADO->FieldByName("AVI_LAMP_ON_HMS")->AsString; pObj->AVI_LAMP_OFF_HMS = pADO->FieldByName("AVI_LAMP_OFF_HMS")->AsString; pObj->AVI_LAMP_ON_YN = pADO->FieldByName("AVI_LAMP_ON_YN")->AsString; pObj->X_CRDN = pADO->FieldByName("X_CRDN")->AsString; pObj->Y_CRDN = pADO->FieldByName("Y_CRDN")->AsString; pObj->RMRK = pADO->FieldByName("RMRK")->AsString; pObj->DEL_YN = pADO->FieldByName("DEL_YN")->AsString; //FAviLists.Push(pObj->AVI_CTLR_MNGM_NMBR, pObj); FAviLists.Push(pObj->AVI_ID, pObj); } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilityAvi", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilityAvi", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FAviLists.UnLock(); } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityBit(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; #ifndef USE_BIT return true; #endif #if 0 sQry = "SELECT A.BIT_ID, \r\n" " A.BIT_TYPE, \r\n" " A.FAN_MIN_TEMPERATURE, \r\n" " A.FAN_MAX_TEMPERATURE, \r\n" " A.HEATER_MIN_TEMPERATURE, \r\n" " A.HEATER_MAX_TEMPERATURE, \r\n" " A.INSTALL_STOP_ID, \r\n" " B.STOP_ID, \r\n" " B.SERVICE_ID, \r\n" " B.STOP_TYPE, \r\n" " B.STOP_NAME, \r\n" " B.STOP_SHORTNAME, \r\n" " B.STOP_EXPLAIN, \r\n" " B.LAT AS COORDY, \r\n" " B.LNG AS COORDX, \r\n" " B.LINK_ID, \r\n" " B.USE_FLAG \r\n" " FROM BIT A, BUSSTOP B \r\n" " WHERE 1=1 \r\n" " AND A.INSTALL_STOP_ID = B.STOP_ID \r\n" " AND B.USE_FLAG = '1' \r\n"; #else sQry = "SELECT * FROM VW_BIT \r\n"; #endif try { FBitLists.Lock(); //FBitLists.RemoveAll(); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); for( ; !pADO->Eof; pADO->Next()) { TItsBit *pObj = new TItsBit(); pObj->FCLT_ID = pADO->FieldByName("FCLT_ID")->AsString; pObj->FCLT_LCTN = pADO->FieldByName("FCLT_LCTN")->AsString; pObj->BIT_ID = pADO->FieldByName("BIT_ID")->AsString; pObj->X_CRDN = pADO->FieldByName("X_CRDN")->AsString; pObj->Y_CRDN = pADO->FieldByName("Y_CRDN")->AsString; pObj->STOP_ID = pADO->FieldByName("STOP_ID")->AsString; #if 0 pObj->BIT_TYPE = pADO->FieldByName("BIT_TYPE")->AsString; pObj->FAN_MIN_TEMPERATURE = pADO->FieldByName("FAN_MIN_TEMPERATURE")->AsInteger; pObj->FAN_MAX_TEMPERATURE = pADO->FieldByName("FAN_MAX_TEMPERATURE")->AsInteger; pObj->HEATER_MIN_TEMPERATURE = pADO->FieldByName("HEATER_MIN_TEMPERATURE")->AsInteger; pObj->HEATER_MAX_TEMPERATURE = pADO->FieldByName("HEATER_MAX_TEMPERATURE")->AsInteger; pObj->INSTALL_STOP_ID = pADO->FieldByName("INSTALL_STOP_ID")->AsString; pObj->SERVICE_ID = pADO->FieldByName("SERVICE_ID")->AsString; pObj->STOP_TYPE = pADO->FieldByName("STOP_TYPE")->AsString; pObj->STOP_NAME = pADO->FieldByName("STOP_NAME")->AsString; pObj->STOP_SHORTNAME = pADO->FieldByName("STOP_SHORTNAME")->AsString; #endif pObj->STOP_EXPLAIN = pADO->FieldByName("REMARK")->AsString; pObj->LINK_ID = pADO->FieldByName("LINK_ID")->AsString; pObj->DEL_YN = "N"; FBitLists.Push(pObj->FCLT_ID, pObj); } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilityBit", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilityBit", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FBitLists.UnLock(); } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilitySig(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; #ifndef USE_SIG return true; #endif sQry = "SELECT * FROM VW_SIG_CTLR \r\n"; try { FSigLists.Lock(); //FSigLists.RemoveAll(); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); for( ; !pADO->Eof; pADO->Next()) { TItsSig *pObj = new TItsSig(); pObj->FCLT_ID = pADO->FieldByName("FCLT_ID")->AsString; pObj->FCLT_LCTN = pADO->FieldByName("FCLT_LCTN")->AsString; pObj->SIG_ID = pADO->FieldByName("FACIL_ID")->AsString; pObj->X_CRDN = pADO->FieldByName("X_CRDN")->AsString; pObj->Y_CRDN = pADO->FieldByName("Y_CRDN")->AsString; pObj->MDL_NM = pADO->FieldByName("MDL_NM")->AsString; pObj->DEL_YN = "N"; FSigLists.Push(pObj->FCLT_ID, pObj); } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilitySig", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilitySig", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FSigLists.UnLock(); } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilitySigDet(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; #ifndef USE_SIGDET return true; #endif sQry = "SELECT * FROM VW_SIG_LVDS \r\n"; try { FSigDetLists.Lock(); //FSigDetLists.RemoveAll(); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); for( ; !pADO->Eof; pADO->Next()) { TItsSigDet *pObj = new TItsSigDet(); pObj->FCLT_ID = pADO->FieldByName("FCLT_ID")->AsString; pObj->FCLT_LCTN = pADO->FieldByName("FCLT_LCTN")->AsString; pObj->SDET_ID = pADO->FieldByName("FACIL_ID")->AsString; pObj->X_CRDN = pADO->FieldByName("X_CRDN")->AsString; pObj->Y_CRDN = pADO->FieldByName("Y_CRDN")->AsString; pObj->MDL_NM = pADO->FieldByName("MDL_NM")->AsString; pObj->SIG_ID = pADO->FieldByName("ASSETS_CODE")->AsString; pObj->DEL_YN = "N"; FSigDetLists.Push(pObj->FCLT_ID, pObj); } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilitySigDet", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilitySigDet", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FSigDetLists.UnLock(); } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityPvms(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; #ifndef USE_PVMS return true; #endif sQry = "SELECT * FROM VW_PIS_VMS \r\n"; try { FPisLists.Lock(); //FPisLists.RemoveAll(); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); for( ; !pADO->Eof; pADO->Next()) { TItsPis *pObj = new TItsPis(); pObj->FCLT_ID = pADO->FieldByName("FCLT_ID")->AsString; pObj->FCLT_LCTN = pADO->FieldByName("FCLT_LCTN")->AsString; pObj->PIS_ID = pADO->FieldByName("FACIL_ID")->AsString; pObj->X_CRDN = pADO->FieldByName("X_CRDN")->AsString; pObj->Y_CRDN = pADO->FieldByName("Y_CRDN")->AsString; pObj->DEL_YN = "N"; FPisLists.Push(pObj->FCLT_ID, pObj); } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilityPvms", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilityPvms", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FPisLists.UnLock(); } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityPvds(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; #ifndef USE_PVDS return true; #endif sQry = "SELECT * FROM VW_PIS_CONT \r\n"; try { FPcsLists.Lock(); //FPcsLists.RemoveAll(); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); for( ; !pADO->Eof; pADO->Next()) { TItsPcs *pObj = new TItsPcs(); pObj->FCLT_ID = pADO->FieldByName("FCLT_ID")->AsString; pObj->FCLT_LCTN = pADO->FieldByName("FCLT_LCTN")->AsString; pObj->PCS_ID = pADO->FieldByName("FACIL_ID")->AsString; pObj->X_CRDN = pADO->FieldByName("X_CRDN")->AsString; pObj->Y_CRDN = pADO->FieldByName("Y_CRDN")->AsString; pObj->DEL_YN = "N"; FPcsLists.Push(pObj->FCLT_ID, pObj); } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilityPvds", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsFacilityManager::LoadFacilityPvds", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FPisLists.UnLock(); } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityPark(TADOConnection *ADbConn/*=NULL*/) { if (!PrltCtlrManager) { PrltCtlrManager = new TPrltCtlrManager(); } if (!PrkPlceManager) { PrkPlceManager = new TPrkPlceManager(); } TItsFacility *pFacility; TFacilityStatus *pStatus = FListStatus.Find("PARK"); if (pStatus) { pStatus->Total = 0; pStatus->Normal = 0; pStatus->Error = 0; pStatus->Module = 0; pStatus->Collect= 0; } #ifdef USE_PARK2 PrltCtlrManager->LoadFromDb(); FOR_STL(TPrltCtlr*, pObj, PrltCtlrManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->PRLT_CTLR_ID); if (!pFacility) continue; pFacility->Object = pObj; pFacility->FCLT_KIND = pObj->REAL_DATA_YN; //½Ç½Ã°£ÁÖÂ÷Á¤º¸Á¦°ø¿©ºÎ //ÁÖÂ÷ÀåÁß¿¡ ½Ç½Ã°£Á¤º¸¸¦ ¼öÁýÇÏ´Â °Í¸¸ »óÅÂÁ¤º¸ ¹ü·Ê¸¦ Ç¥ÃâÇÏÀÚ if (pObj->REAL_DATA_YN == "Y") { if (pStatus) { pStatus->Total++; /* Àüü °¹¼ö¸¦ Áõ°¡ ½ÃÅ´ */ } } } #endif #ifdef USE_PARK PrkPlceManager->LoadFromDb(); FOR_STL(TPrkPlce*, pObj, PrkPlceManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_ID); if (!pFacility) continue; pFacility->Object = pObj; pFacility->FCLT_KIND = 'Y'; //½Ç½Ã°£ÁÖÂ÷Á¤º¸Á¦°ø¿©ºÎ //ÁÖÂ÷ÀåÁß¿¡ ½Ç½Ã°£Á¤º¸¸¦ ¼öÁýÇÏ´Â °Í¸¸ »óÅÂÁ¤º¸ ¹ü·Ê¸¦ Ç¥ÃâÇÏÀÚ if (pStatus) { pStatus->Total++; /* Àüü °¹¼ö¸¦ Áõ°¡ ½ÃÅ´ */ } } #endif return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityCross(TADOConnection *ADbConn/*=NULL*/) { if (!CrossManager) { CrossManager = new TCrossManager(); } #ifdef USE_CROSS TItsFacility *pFacility; CrossManager->LoadFromDb(); FOR_STL(TCross*, pObj, CrossManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_NMBR); if (!pFacility) continue; pFacility->Object = pObj; pFacility->FCLT_KIND = pObj->TYPE_CD; } FOR_STL(TCrossCam*, pObj, CrossManager->FCamLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_NMBR); if (!pFacility) continue; pFacility->Object = pObj; pFacility->FCLT_KIND = pObj->TYPE_CD; } #endif return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilitySgnlCtlr(TADOConnection *ADbConn/*=NULL*/) { if (!SgnlCtlrManager) { SgnlCtlrManager = new TSgnlCtlrManager(); } #ifdef USE_SGNL_CTLR TItsFacility *pFacility; SgnlCtlrManager->LoadFromDb(); #if 0 FOR_STL(TCross*, pObj, CrossManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_NMBR); if (!pFacility) continue; pFacility->Object = pObj; pFacility->FCLT_KIND = pObj->TYPE_CD; } FOR_STL(TCrossCam*, pObj, CrossManager->FCamLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_NMBR); if (!pFacility) continue; pFacility->Object = pObj; pFacility->FCLT_KIND = pObj->TYPE_CD; } #endif #endif return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadFacilityStatusFromDb(TADOConnection *ADbConn/*=NULL*/) { bool bResult = true; String sQry; TADOQuery *pADO = NULL; sQry = "SELECT '' AS FAC_TYPE, '' AS FAC_ID, \r\n" " '' AS STTS_CD, '' AS DOOR_STTS_CD, \r\n" " DECODE('', 'CMS0', '0', 'CMS1', '1', '2') AS COMM, \r\n" " DECODE('', 'CDS0', '0', 'CDS1', '1', '0') AS DOOR, \r\n" " NVL(NULL, 0) AS CBOX_TMPR, \r\n" " '' AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM DUAL \r\n" " WHERE 1 = 0 \r\n" #ifdef USE_CCTV #if 0 "UNION \r\n" "SELECT 'CCTV' AS FAC_TYPE, B.CCTV_CTLR_ID AS FAC_ID, \r\n" " CONN_STTS_CD AS STTS_CD, 'CDS0' AS DOOR_STTS_CD, \r\n" " DECODE(CONN_STTS_CD, 'CMS0', '0', 'CMS1', '1', '2') AS COMM, \r\n" " '0' AS DOOR, \r\n" " 0 AS CBOX_TMPR, \r\n" " A.UPDT_DT AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM TB_CCTV_CTLR_STTS A, TB_CCTV_CTLR B \r\n" " WHERE A.CCTV_CTLR_NMBR = B.CCTV_CTLR_NMBR \r\n" " AND A.UPDT_DT >= TO_CHAR(SYSDATE-5/1440, 'YYYYMMDDHH24MISS') \r\n" #else "UNION \r\n" "SELECT 'CCTV' AS FAC_TYPE, B.CCTV_CTLR_ID AS FAC_ID, \r\n" " CMNC_STTS_CD AS STTS_CD, CBOX_DOOR_STTS_CD AS DOOR_STTS_CD, \r\n" " DECODE(CMNC_STTS_CD, 'CMS0', '0', 'CMS1', '1', '2') AS COMM, \r\n" " DECODE(CBOX_DOOR_STTS_CD, 'CDS0', '0', 'CDS1', '1', '0') AS DOOR, \r\n" " NVL(A.CBOX_TMPR, 0) AS CBOX_TMPR, \r\n" " A.UPDT_DT AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM TB_CCTV_STTS A, TB_CCTV_CTLR B \r\n" " WHERE A.CCTV_MNGM_NMBR = B.CCTV_MNGM_NMBR \r\n" " AND UPDT_DT >= TO_CHAR(SYSDATE-10/1440, 'YYYYMMDDHH24MISS') \r\n" #endif #endif #ifdef USE_INCCCTV "UNION \r\n" "SELECT 'ICAM' AS FAC_TYPE, B.CCTV_CTLR_ID AS FAC_ID, \r\n" " CMNC_STTS_CD AS STTS_CD, CBOX_DOOR_STTS_CD AS DOOR_STTS_CD, \r\n" " DECODE(CMNC_STTS_CD, 'CMS0', '0', 'CMS1', '1', '2') AS COMM, \r\n" " DECODE(CBOX_DOOR_STTS_CD, 'CDS0', '0', 'CDS1', '1', '0') AS DOOR, \r\n" " NVL(A.CBOX_TMPR, 0) AS CBOX_TMPR, \r\n" " A.UPDT_DT AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM TB_CCTV_STTS A, VW_INC_CCTV_CTLR B \r\n" " WHERE A.CCTV_MNGM_NMBR = B.CCTV_MNGM_NMBR \r\n" " AND UPDT_DT >= TO_CHAR(SYSDATE-2/1440, 'YYYYMMDDHH24MISS') \r\n" #endif #ifdef USE_WCAM "UNION \r\n" "SELECT B.WCAM_TYPE_CD AS FAC_TYPE, B.WCAM_CTLR_ID AS FAC_ID, \r\n" " CMNC_STTS_CD AS STTS_CD, 'CDS0' AS DOOR_STTS_CD, \r\n" " DECODE(CMNC_STTS_CD, 'CMS0', '0', 'CMS1', '1', '0') AS COMM, \r\n" " '0' AS DOOR, 0 AS CBOX_TMPR, \r\n" " A.UPDT_DT AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM TB_WCAM_CTLR_STTS A, TB_WCAM_CTLR B \r\n" " WHERE A.WCAM_CTLR_NMBR = B.WCAM_CTLR_NMBR \r\n" " AND A.UPDT_DT >= TO_CHAR(SYSDATE-5/1440, 'YYYYMMDDHH24MISS') \r\n" #endif #ifdef USE_CCAM "UNION \r\n" "SELECT 'CCAM' AS FAC_TYPE, B.CCAM_CTLR_ID AS FAC_ID, \r\n" " CMNC_STTS_CD AS STTS_CD, CBOX_DOOR_STTS_CD AS DOOR_STTS_CD, \r\n" " DECODE(CMNC_STTS_CD, 'CMS0', '0', 'CMS1', '1', '2') AS COMM, \r\n" " DECODE(CBOX_DOOR_STTS_CD, 'CDS0', '0', 'CDS1', '1', '0') AS DOOR, \r\n" " NVL(A.CBOX_TMPR, 0) AS CBOX_TMPR, \r\n" " A.UPDT_DT AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM TB_CCAM_CTLR_STTS A, TB_CCAM_CTLR B \r\n" " WHERE A.UPDT_DT >= TO_CHAR(SYSDATE-5/1440, 'YYYYMMDDHH24MISS') \r\n" " AND A.CCAM_CTLR_NMBR = B.CCAM_CTLR_NMBR \r\n" #endif #ifdef USE_VMS #if 1 "UNION \r\n" "SELECT 'VMS' AS FAC_TYPE, B.VMS_CTLR_ID AS FAC_ID, \r\n" " CMNC_STTS_CD AS STTS_CD, CBOX_DOOR_STTS_CD AS DOOR_STTS_CD, \r\n" " DECODE(CMNC_STTS_CD, 'CMS0', '0', 'CMS1', '1', '2') AS COMM, \r\n" " DECODE(CBOX_DOOR_STTS_CD, 'CDS0', '0', 'CDS1', '1', '0') AS DOOR, \r\n" " NVL(A.CBOX_TMPR, 0) AS CBOX_TMPR, \r\n" " A.UPDT_DT AS STS00, \r\n" " DECODE(A.PWER_STTS_CD, 'MOS0', '0', '1') AS STS01, \r\n" " DECODE(A.MODL_STTS_CD, 'MOS0', '0', '1') AS STS02, \r\n" " '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM TB_VMS_CTLR_STTS A, TB_VMS_CTLR B \r\n" " WHERE A.VMS_CTLR_NMBR = B.VMS_CTLR_NMBR \r\n" " AND A.UPDT_DT >= TO_CHAR(SYSDATE-5/1440, 'YYYYMMDDHH24MISS') \r\n" #else "UNION \r\n" "SELECT 'VMS' AS FAC_TYPE, B.VMS_CTLR_ID AS FAC_ID, \r\n" " CONN_STTS_CD AS STTS_CD, CBOXDOOR_OPEN_STTS_CD AS DOOR_STTS_CD, \r\n" " DECODE(CONN_STTS_CD, 'CMS0', '0', 'CMS1', '1', '2') AS COMM, \r\n" " DECODE(CBOXDOOR_OPEN_STTS_CD, 'CDS0', '0', 'CDS1', '1', '0') AS DOOR, \r\n" " NVL(A.CBOX_TMPR, 0) AS CBOX_TMPR, \r\n" " A.RGST_DT AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM TB_VMS_STTS_PRST A, TB_VMS_CTLR B \r\n" " WHERE A.VMS_CTLR_NMBR = B.VMS_CTLR_NMBR \r\n" " AND A.RGST_DT >= TO_CHAR(SYSDATE-5/1440, 'YYYYMMDDHH24MISS') \r\n" #endif #endif #ifdef USE_VDS "UNION \r\n" "SELECT 'VDS' AS FAC_TYPE, B.VDS_CTLR_ID AS FAC_ID, \r\n" " CMNC_STTS_CD AS STTS_CD, CBOX_DOOR_STTS_CD AS DOOR_STTS_CD, \r\n" " DECODE(CMNC_STTS_CD, 'CMS0', '0', 'CMS1', '1', '2') AS COMM, \r\n" " DECODE(CBOX_DOOR_STTS_CD, 'CDS0', '0', 'CDS1', '1', '0') AS DOOR, \r\n" " NVL(A.CBOX_TMPR, 0) AS CBOX_TMPR, \r\n" " A.UPDT_DT AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM TB_VDS_CTLR_STTS A, TB_VDS_CTLR B \r\n" " WHERE A.UPDT_DT >= TO_CHAR(SYSDATE-5/1440, 'YYYYMMDDHH24MISS') \r\n" " AND A.VDS_CTLR_NMBR = B.VDS_CTLR_NMBR \r\n" #endif #ifdef USE_AVI "UNION \r\n" "SELECT 'AVI' AS FAC_TYPE, B.AVI_ID AS FAC_ID, \r\n" " CONN_STTS_CD AS STTS_CD, CBOX_DOOR_STTS_CD AS DOOR_STTS_CD, \r\n" " DECODE(CONN_STTS_CD, 'CMS0', '0', 'CMS1', '1', '2') AS COMM, \r\n" " DECODE(CBOX_DOOR_STTS_CD, 'CDS0', '0', 'CDS1', '1', '0') AS DOOR, \r\n" " NVL(A.CBOX_TMPR, 0) AS CBOX_TMPR, \r\n" " A.UPDT_DT AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM TB_AVI_CTLR_STTS A, TB_AVI_CTLR B \r\n" " WHERE A.UPDT_DT >= TO_CHAR(SYSDATE-5/1440, 'YYYYMMDDHH24MISS') \r\n" " AND A.AVI_CTLR_MNGM_NMBR = B.AVI_CTLR_MNGM_NMBR \r\n" #endif #ifdef USE_DSRC "UNION \r\n" "SELECT 'DSRC' AS FAC_TYPE, B.RSE_ID AS FAC_ID, \r\n" " DECODE(CMNC_STTS, '0', 'CMS0', 'CMS1') AS STTS_CD, \r\n" " DECODE(CNTL_DEVC_STTS, '0', 'CDS0', '4', 'CDS0', 'CDS1') AS DOOR_STTS_CD, \r\n" " DECODE(CMNC_STTS, '0', '0', '1') AS COMM, \r\n" " '0' AS DOOR, 0 AS CBOX_TMPR, \r\n" " A.CLCT_DT AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM TB_RSE_STTS_PNST A, TB_RSE_MSTR B \r\n" " WHERE A.CLCT_DT >= TO_CHAR(SYSDATE-5/1440, 'YYYYMMDDHH24MISS') \r\n" " AND A.ID = B.ID \r\n" #endif #ifdef USE_RSE "UNION \r\n" "SELECT 'RSE' AS FAC_TYPE, B.RSEID AS FAC_ID, \r\n" " 'CMS0' AS STTS_CD, 'CDS0' AS DOOR_STTS_CD, \r\n" " '0' AS COMM, '0' AS DOOR, 0 AS CBOX_TMPR, \r\n" " TO_CHAR(A.COLLDT, 'YYYYMMDDHH24MISS') AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM RSEOPSTATE A, RSEMST B \r\n" " WHERE B.RSEID = A.RSEID \r\n" " AND A.COLLDT > SYSDATE - 30/1440 \r\n" #endif #ifdef USE_BIT "UNION \r\n" "SELECT 'BIT' AS FAC_TYPE, TO_CHAR(FCLT_ID) AS FAC_ID, \r\n" " CONN_STATE AS STTS_CD, 'CDS0' AS DOOR_STTS_CD, \r\n" " DECODE(CONN_STATE, 'CMS0', '0', '1') AS COMM, \r\n" " '0' AS DOOR, 0 AS CBOX_TMPR, \r\n" " UPDATE_DT AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM VW_BIT_STATUS \r\n" #endif #ifdef USE_SIG "UNION \r\n" "SELECT 'SIG' AS FAC_TYPE, TO_CHAR(FCLT_ID) AS FAC_ID, \r\n" " CONN_STATE AS STTS_CD, DOOR_STATE AS DOOR_STTS_CD, \r\n" " DECODE(CONN_STATE, 'CMS0', '0', '1') AS COMM, \r\n" " DECODE(DOOR_STATE, 'CDS0', '0', 'CDS1', '1', '0') AS DOOR, \r\n" " 0 AS CBOX_TMPR, \r\n" " UPDATE_DT AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM VW_SIG_CTLR_STATUS \r\n" #endif #ifdef USE_SIGDET "UNION \r\n" "SELECT 'LVD' AS FAC_TYPE, FCLT_ID AS FAC_ID, \r\n" " DECODE(DISCONN_STATE, 'STS0', 'CMS0', 'CMS1') AS STTS_CD, \r\n" " 'CDS0' AS DOOR_STTS_CD, \r\n" " DECODE(DISCONN_STATE, 'STS0', '0', '1') AS COMM, \r\n" " '0' AS DOOR, 0 AS CBOX_TMPR \r\n" " FROM VW_SIG_LVDS_STATUS \r\n" #endif #ifdef USE_PVMS "UNION \r\n" "SELECT 'PVMS' AS FAC_TYPE, TO_CHAR(FCLT_ID) AS FAC_ID, \r\n" " DECODE(COMM_STATE, 0, 'CMS0', 'CMS1') AS STTS_CD, \r\n" " DECODE(DOOR_STATE, 0, 'CDS0', 'CDS1') AS DOOR_STTS_CD, \r\n" " DECODE(COMM_STATE, 0, '0', '1') AS COMM, '0' AS DOOR, \r\n" " 0 AS CBOX_TMPR, \r\n" " UPDATE_DT AS STS00, \r\n" " '0' AS STS01, \r\n" " TO_CHAR(POWER_STATE) AS STS02, \r\n" " TO_CHAR(MODULE_STATE) AS STS03, \r\n" " TO_CHAR(FAN_STATE) AS STS04, \r\n" " TO_CHAR(HEATER_STATE) AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM VW_PIS_VMS_STATUS \r\n" #endif #ifdef USE_PVDS "UNION \r\n" "SELECT 'PVMS' AS FAC_TYPE, TO_CHAR(FCLT_ID) AS FAC_ID, \r\n" " DECODE(COMM_STATE, '0', 'CMS0', 'CMS1') AS STTS_CD, \r\n" " 'CDS0' AS DOOR_STTS_CD, \r\n" " DECODE(COMM_STATE, '0', '0', '1') AS COMM, '0' AS DOOR, \r\n" " 0 AS CBOX_TMPR, \r\n" " UPDATE_DT AS STS00, \r\n" " TO_CHAR(CONT_STATE) AS STS01, \r\n" " '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM VW_PIS_CONT_STATUS \r\n" #endif #ifdef USE_PARK2 "UNION \r\n" "SELECT 'PARK' AS FAC_TYPE, B.PRLT_CTLR_ID AS FAC_ID, \r\n" " DECODE(CMNC_STTS_CD, 'CMS0', 'CMS0', 'CMS1') AS STTS_CD, \r\n" " 'CDS0' AS DOOR_STTS_CD, \r\n" " DECODE(CMNC_STTS_CD, 'CMS0', '0', 'CMS1', '1', '0') AS COMM, \r\n" " '0' AS DOOR, \r\n" " 0 AS CBOX_TMPR, \r\n" " A.UPDT_DT AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM TB_PRLT_CTLR_STTS A, TB_PRLT_CTLR B \r\n" " WHERE A.UPDT_DT >= TO_CHAR(SYSDATE-5/1440, 'YYYYMMDDHH24MISS') \r\n" " AND A.PRLT_CTLR_NMBR = B.PRLT_CTLR_NMBR \r\n" #endif #ifdef USE_PARK "UNION \r\n" "SELECT 'PARK' AS FAC_TYPE, B.prk_plce_manage_no AS FAC_ID, \r\n" " DECODE(CMNC_STTS_CD, 'CMS0', 'CMS0', 'CMS1') AS STTS_CD, \r\n" " 'CDS0' AS DOOR_STTS_CD, \r\n" " DECODE(CMNC_STTS_CD, 'CMS0', '0', 'CMS1', '1', '0') AS COMM, \r\n" " '0' AS DOOR, \r\n" " 0 AS CBOX_TMPR, \r\n" " A.UPDT_DT AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM TB_PRK_PLCE_STTS A, TB_PRK_PLCE B \r\n" " WHERE A.UPDT_DT >= TO_CHAR(SYSDATE-5/1440, 'YYYYMMDDHH24MISS') \r\n" " AND A.prk_plce_nmbr = B.prk_plce_nmbr \r\n" #endif #ifdef USE_CROSS "UNION \r\n" "SELECT 'CRSCAM' AS FAC_TYPE, A.CAM_ID AS FAC_ID, \r\n" " DECODE(A.STATUS, 1, 'CMS0', 'CMS1') AS STTS_CD, \r\n" " 'CDS0' AS DOOR_STTS_CD, \r\n" " DECODE(A.STATUS, 1, '0', '1') AS COMM, \r\n" " '0' AS DOOR, 0 AS CBOX_TMPR, \r\n" " TO_CHAR(A.CAP_DATE, 'YYYYMMDDHH24MISS') AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM COL_CCAM_STATUS A \r\n" " WHERE A.CAP_DATE > SYSDATE - 10/1440 \r\n" #endif ; try { TItsFacility *pFacility = NULL; ItsFacilityManager->FLists.Lock(); FOR_STL(TItsFacility*, pObj, ItsFacilityManager->FLists) { pObj->FCollCntBase = 0; pObj->FCollCntCurr = 0; //¼öÁý½Ã°£³»¿¡ Á¶È¸µÇ´Â°ÍÀº ¼öÁý¿À·ù°¡ ¾Æ´Ï¹Ç·Î Ãʱ⿡ ¼öÁý¿À·ù·Î ¼³Á¤ if (pObj->FCLT_TYPE == "VDS" || pObj->FCLT_TYPE == "AVI" || pObj->FCLT_TYPE == "DSRC") { pObj->FCollError = true; //pObj->FCollError = false; } else { pObj->FCollError = false; } pObj->FComm = str_state_error; pObj->FDoor = str_state_normal; pObj->FCommStatus = "CMS1"; pObj->FDoorStatus = "CDS0"; #if 0 if (pObj->FCLT_TYPE == "CCTV" || pObj->FCLT_TYPE == "VMS" || pObj->FCLT_TYPE == "VDS" || pObj->FCLT_TYPE == "AVI") { pObj->FCBoxTmpr = "?"; } else { pObj->FCBoxTmpr = "-"; } #else pObj->FCBoxTmpr = 0; #endif #ifdef USE_CROSS // ±³Â÷·Î±³Åë·® »óÅÂÁ¤º¸ Á¤»óÀ¸·Î ÃʱâÈ­ ÇÑ´Ù.(±³Â÷·Î±³Åë·®Àº ±³Â÷·ÎÀ§Ä¡¸¦ Ç¥ÃâÇÏ´Â °ÍÀÌ´Ù.) if (pObj->FCLT_TYPE == "CRS") //±³Â÷·Î±³Åë·® { pObj->FComm = str_state_normal; pObj->FDoor = str_state_normal; pObj->FCommStatus = "CMS0"; pObj->FDoorStatus = "CDS0"; } #endif } //»óÅÂÁ¤º¸¸¦ Àоî¿À±âÀü¿¡ »óÅÂÁ¤º¸ Åë°èµ¥ÀÌÅ͸¦ ÃʱâÈ­ÇÑ´Ù. FOR_STL(TFacilityStatus*, pStatus, ItsFacilityManager->FListStatus) { //pStatus->Total = 0; Àüü ¼ö·®Àº ÃʱâÈ­ÇÏÁö ¾Ê´Â´Ù. pStatus->Normal = 0; pStatus->Error = 0; pStatus->Module = 0; pStatus->Collect= 0; } try { int nORD; pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); //int nRows = pADO->RecordCount; for( ; !pADO->Eof; pADO->Next()) { String sId = pADO->FieldByName("FAC_ID")->AsString; pFacility = ItsFacilityManager->FLists.Find(sId); if (!pFacility) continue; pFacility->FCommStatus = pADO->FieldByName("STTS_CD")->AsString; pFacility->FDoorStatus = pADO->FieldByName("DOOR_STTS_CD")->AsString; pFacility->FComm = pADO->FieldByName("COMM")->AsString; pFacility->FDoor = pADO->FieldByName("DOOR")->AsString; pFacility->Sts00 = pADO->FieldByName("STS00")->AsString; pFacility->Sts01 = pADO->FieldByName("STS01")->AsString; pFacility->Sts02 = pADO->FieldByName("STS02")->AsString; pFacility->Sts03 = pADO->FieldByName("STS03")->AsString; pFacility->Sts04 = pADO->FieldByName("STS04")->AsString; pFacility->Sts05 = pADO->FieldByName("STS05")->AsString; pFacility->Sts06 = pADO->FieldByName("STS06")->AsString; pFacility->Sts07 = pADO->FieldByName("STS07")->AsString; pFacility->Sts08 = pADO->FieldByName("STS08")->AsString; pFacility->Sts09 = pADO->FieldByName("STS09")->AsString; pFacility->Sts10 = pADO->FieldByName("STS10")->AsString; //if (pFacility->FCLT_TYPE == "CCTV" || // pFacility->FCLT_TYPE == "VMS" || // pFacility->FCLT_TYPE == "VDS" || // pFacility->FCLT_TYPE == "AVI") //{ // pFacility->FCBoxTmpr = pADO->FieldByName("CBOX_TMPR")->AsString; //} pFacility->FCBoxTmpr = pADO->FieldByName("CBOX_TMPR")->AsInteger; if (pFacility->FComm == str_state_normal) { //Åë½ÅÀÌ Á¤»óÀε¥ ÇÔü¹®ÀÌ ¿­·ÁÀÖÀ¸¸é ¸ðµâÀÌ»óÀ¸·Î ó¸® #if 0 if (pFacility->FDoor == "1") pFacility->FComm = str_state_module; //¸ðµâÀÌ»ó(ÇÔü¹® ¿­¸²) #endif } } //¼öÁýµ¥ÀÌÅ͸¦ ó¸®Çϱ¸ ¼öÁý¿À·ù=false·Î ¼³Á¤ÇÔ #ifdef USE_DSRC LoadDsrcCollectStatusFromDb(ADbConn); #endif #ifdef USE_VDS LoadVdsCollectStatusFromDb(ADbConn); #endif #ifdef USE_AVI LoadAviCollectStatusFromDb(ADbConn); #endif #ifdef USE_PARK LoadParkSensorStatusFromDb(ADbConn); #endif #ifdef USE_CROSS // ±³Â÷·Î±³Åë·®, ±³Â÷·Î±³Åë·® CCTVÀÇ »óÅÂÁ¤º¸¸¦ ÂüÁ¶ÇÏ¿© ±³Â÷·Î±³Åë·® »óÅÂÁ¤º¸¸¦ ¾÷µ¥ÀÌÆ® ÇÑ´Ù. // ±³Â÷·Î±³Åë·® »óÅÂÁ¤º¸´Â Á¤»óÀ¸·Î ÃʱâÈ­ ÇÏ¿´´Ù. if (CrossManager != NULL) { FOR_STL(TCross*, pObj, CrossManager->FLists) { FOR_STL(TCrossCam*, pCam, pObj->FLists) { pFacility = ItsFacilityManager->FLists.Find(pCam->CTLR_NMBR); if (pFacility && pFacility->FComm != str_state_normal) { TItsFacility *pTrfCross = ItsFacilityManager->FLists.Find(pObj->CTLR_NMBR); if (pTrfCross) { pTrfCross->FComm = str_state_error; } break; } } } } #endif } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORLOG("TItsFacilityManager::LoadFacilityStatusFromDb", String(E.ClassName()), E.Message, sQry); return false; throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORLOG("TItsFacilityManager::LoadFacilityStatusFromDb", String(exception.ClassName()), exception.Message, sQry); return false; throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { // »óÅÂÁ¤º¸¸¦ ÃÖÁ¾ üũÇÑ´Ù. TFacilityStatus *pStatus; FOR_STL(TItsFacility*, pTmpObj, ItsFacilityManager->FLists) { String FCLT_TYPE = pTmpObj->FCLT_TYPE; #if 0 if (FCLT_TYPE == "VDS" && pTmpObj->FCLT_KIND == "C") { FCLT_TYPE = "CRSSVR"; } #endif pStatus = ItsFacilityManager->FListStatus.Find(FCLT_TYPE); if (!pStatus) continue; if (FCLT_TYPE == "PARK" && pTmpObj->FCLT_KIND == "N") { //ÁÖÂ÷ÀåÀ̸鼭 ½Ç½Ã°£Á¤º¸¸¦ Á¦°øÇÏÁö¾Ê´Â°æ¿ì Åë½ÅÁ¤»óÀ¸·Î ¼³Á¤ pTmpObj->FComm = str_state_default; continue; } if (pTmpObj->FComm == str_state_error) pStatus->Error++; else if (pTmpObj->FComm == str_state_module) pStatus->Module++; else if (pTmpObj->FComm == str_state_sensor) pStatus->Module++; if (pTmpObj->FComm != str_state_error) { //Åë½ÅÀÌ»óÀÌ ¾Æ´Ñ °æ¿ì ¼öÁýÀÌ»óÀÎ °æ¿ì ¼öÁýÀÌ»ó °¹¼ö¸¦ Áõ°¡½ÃŲ´Ù. if (pTmpObj->FCollError) { pStatus->Collect++; pTmpObj->FComm = str_state_collect; } } } if (pADO) { pADO->Close(); delete pADO; } //°¢°¢ÀÇ Á¦¾î±â¿¡ ´ëÇÑ »óÅÂÁ¤º¸¸¦ ¾÷µ¥ÀÌÆ® ÇÑ´Ù. TItsFacility *pFacility; FOR_STL(TWCamCtlr*, pObj, WCamCtlrManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_ID); if (pFacility) { pObj->STATE.Comm = pFacility->FComm != str_state_error ? wcam_normal : wcam_error; } } FOR_STL(TCCamCtlr*, pObj, CCamCtlrManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_ID); if (pFacility) { pObj->STATE.Comm = pFacility->FComm != str_state_error ? ccam_normal : ccam_error; } } FOR_STL(TVdsCtlr*, pObj, VdsCtlrManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_ID); if (pFacility) { pObj->STATE.Comm = pFacility->FComm != str_state_error ? vds_normal : vds_error; } } FOR_STL(TVmsCtlr*, pObj, VmsCtlrManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_ID); if (pFacility) { pObj->STATE.Comm = pFacility->FComm != str_state_error ? vms_comm_normal : vms_comm_error; } } FOR_STL(TPrltCtlr*, pObj, PrltCtlrManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->PRLT_CTLR_ID); if (pFacility) { pObj->STATE.Comm = pFacility->FComm != str_state_error ? park_comm_normal : park_comm_error; } } FOR_STL(TPrkPlce*, pObj, PrkPlceManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_ID); if (pFacility) { pObj->STATE.Comm = pFacility->FComm != str_state_error ? park_comm_normal : park_comm_error; } } FOR_STL(TItsDsrc*, pObj, ItsDsrcManager->FLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_ID); if (pFacility) { pObj->STATE.Comm = pFacility->FComm != str_state_error ? dsrc_normal : dsrc_error; } } ItsFacilityManager->FLists.UnLock(); } return bResult; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadDsrcCollectStatusFromDb(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; #ifndef USE_DSRC return true; #endif sQry = "SELECT DISTINCT B.RSE_ID \r\n" " FROM TB_RSE_OBU_CLCT_PNST A, \r\n" " TB_RSE_MSTR B \r\n" " WHERE A.CLCT_DT > TO_CHAR(SYSDATE-1/24, 'YYYYMMDDHH24MISS') \r\n" " AND A.ID = B.ID \r\n"; try { TItsFacility *pFacility = NULL; try { int nORD; pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); for( ; !pADO->Eof; pADO->Next()) { String sDsrcId = pADO->FieldByName("RSE_ID")->AsString; pFacility = ItsFacilityManager->FLists.Find(sDsrcId); if (!pFacility) continue; pFacility->FCollError = false; } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORLOG("TItsFacilityManager::LoadDsrcCollectStatusFromDb", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORLOG("TItsFacilityManager::LoadDsrcCollectStatusFromDb", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadVdsCollectStatusFromDb(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; #ifndef USE_VDS return true; #endif sQry = "SELECT DISTINCT C.VDS_CTLR_ID AS VDS_CTLR_ID \r\n" " FROM TB_VDS_DTCT_CLCT_PNST A, \r\n" " TB_VDS_DTCT B, \r\n" " TB_VDS_CTLR C \r\n" " WHERE A.CLCT_DT > TO_CHAR(SYSDATE-10/1440, 'YYYYMMDDHH24MISS') \r\n" " AND A.VDS_DTCT_NMBR = B.VDS_DTCT_NMBR \r\n" " AND B.VDS_CTLR_NMBR = C.VDS_CTLR_NMBR \r\n"; try { TItsFacility *pFacility = NULL; try { int nORD; pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); pADO->First(); for( ; !pADO->Eof; pADO->Next()) { String sVdsId = pADO->FieldByName("VDS_CTLR_ID")->AsString; pFacility = ItsFacilityManager->FLists.Find(sVdsId); if (!pFacility) continue; pFacility->FCollError = false; } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORLOG("TItsFacilityManager::LoadVdsCollectStatusFromDb", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORLOG("TItsFacilityManager::LoadVdsCollectStatusFromDb", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadAviCollectStatusFromDb(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; #ifndef USE_AVI return true; #endif sQry = "SELECT A.AVI_CTLR_MNGM_NMBR, B.AVI_ID \r\n" " FROM TB_AVI_PASS_VHCL_PNST A, \r\n" " TB_AVI_CTLR B \r\n" " WHERE A.CRTN_DT > TO_CHAR(SYSDATE-1/24, 'YYYYMMDDHH24MISS') \r\n" " AND A.AVI_CTLR_MNGM_NMBR = B.AVI_CTLR_MNGM_NMBR \r\n"; try { TItsFacility *pFacility = NULL; try { int nORD; pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); pADO->First(); for( ; !pADO->Eof; pADO->Next()) { String sAviId = pADO->FieldByName("AVI_ID")->AsString; pFacility = ItsFacilityManager->FLists.Find(sAviId); if (!pFacility) continue; pFacility->FCollError = false; } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORLOG("TItsFacilityManager::LoadAviCollectStatusFromDb", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORLOG("TItsFacilityManager::LoadAviCollectStatusFromDb", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadParkSensorStatusFromDb(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; #ifndef USE_PARK return true; #endif sQry = "SELECT A.PRK_PLCE_NMBR, A.PRK_PLCE_MANAGE_NO, A.CMNC_STTS_CD, DECODE(A.CMNC_STTS_CD, 0, NVL(B.SENSOR_STTS, 0), 0) AS SENSOR_STTS \r\n" " FROM (SELECT A.PRK_PLCE_NMBR, A.PRK_PLCE_MANAGE_NO, DECODE(NVL(B.CMNC_STTS_CD, 'CMS1'), 'CMS0', 0, 1) AS CMNC_STTS_CD \r\n" " FROM TB_PRK_PLCE A \r\n" " LEFT OUTER JOIN TB_PRK_PLCE_STTS B \r\n" " ON A.PRK_PLCE_NMBR = B.PRK_PLCE_NMBR \r\n" " AND A.DEL_YN = 'N') A \r\n" " LEFT OUTER JOIN (SELECT A.PRK_PLCE_NMBR, COUNT(1) AS SENSOR_STTS \r\n" " FROM TB_PRK_PLCE_DEV A, TB_PRK_PLCE_FLR_DEV B \r\n" " WHERE A.PRK_PLCE_NMBR = B.PRK_PLCE_NMBR \r\n" " AND A.DEVICE_ID = B.DEVICE_ID \r\n" " AND A.CONNECTED = 0 \r\n" " GROUP BY A.PRK_PLCE_NMBR) B \r\n" " ON A.PRK_PLCE_NMBR = B.PRK_PLCE_NMBR \r\n"; try { TItsFacility *pFacility = NULL; try { int nORD; pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); pADO->First(); for( ; !pADO->Eof; pADO->Next()) { String sCtlrId = pADO->FieldByName("PRK_PLCE_MANAGE_NO")->AsString; int nSeosor = pADO->FieldByName("SENSOR_STTS")->AsInteger; //if (nSeosor > 0) continue; pFacility = ItsFacilityManager->FLists.Find(sCtlrId); if (!pFacility) continue; if (pFacility->FCommStatus == "CMS0") { pFacility->FCollError = (nSeosor == 0) ? false : true; if (pFacility->FCollError) { pFacility->FComm = str_state_sensor; } pFacility->FCollError = false; } } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORLOG("TItsFacilityManager::LoadParkSensorStatusFromDb", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORLOG("TItsFacilityManager::LoadParkSensorStatusFromDb", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadDsrcCollectStatusFromDb_OLD(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; #ifndef USE_DSRC return true; #endif sQry = "SELECT X.ID, X.RSE_ID, X.CLCT_ABNR_BASI, \r\n" " Y.STAT_DT, NVL(Y.CLCT_NUM, 0) AS CLCT_NUM \r\n" " FROM (SELECT M.ID, M.RSE_ID, M.CLCT_ABNR_BASI \r\n" " FROM TB_RSE_MSTR M \r\n" " WHERE M.DEL_YN <> 'Y' \r\n" " ) X, \r\n" " (SELECT P.ID, P.STAT_DT, P.CLCT_NUM \r\n" " FROM TB_RSE_OBU_CLCT_HH_PNST P \r\n" " WHERE P.STAT_DT >= TO_CHAR(SYSDATE-2/1440, 'YYYYMMDDHH24MISS') \r\n" " ) Y \r\n" " WHERE X.ID = Y.ID(+) \r\n"; #if 0 sQry = "SELECT X.ID, X.RSE_ID, X.CLCT_ABNR_BASI, \r\n" " Y.STAT_DT, NVL(Y.CLCT_NUM, 0) AS CLCT_NUM \r\n" " FROM (SELECT M.ID, M.RSE_ID, M.CLCT_ABNR_BASI \r\n" " FROM TB_RSE_MSTR M \r\n" " WHERE M.DEL_YN <> 'Y' \r\n" " ) X, \r\n" " (SELECT ID, STAT_DT, CLCT_NUM \r\n" " FROM TB_RSE_OBU_CLCT_HH_PNST \r\n" " WHERE (ID, STAT_DT) IN (SELECT P.ID, MAX(P.STAT_DT) \r\n" " FROM TB_RSE_OBU_CLCT_HH_PNST P \r\n" " WHERE P.STAT_DT >= TO_CHAR(SYSDATE-2/1440, 'YYYYMMDDHH24MISS') \r\n" " GROUP BY P.ID) \r\n" " ) Y \r\n" " WHERE X.ID = Y.ID(+) \r\n"; #endif try { TItsFacility *pFacility = NULL; try { int nORD; pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); //int nRows = pADO->RecordCount; for( ; !pADO->Eof; pADO->Next()) { String sId = pADO->FieldByName("RSE_ID")->AsString; pFacility = ItsFacilityManager->FLists.Find(sId); if (!pFacility) continue; pFacility->FCollCntBase = pADO->FieldByName("CLCT_ABNR_BASI")->AsInteger; pFacility->FCollCntCurr = pADO->FieldByName("CLCT_NUM")->AsInteger; } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORLOG("TItsFacilityManager::LoadDsrcCollectStatusFromDb_OLD", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORLOG("TItsFacilityManager::LoadDsrcCollectStatusFromDb_OLD", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return true; } //--------------------------------------------------------------------------- bool TItsFacilityManager::LoadAviCollectStatusFromDb_OLD(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; #ifndef USE_AVI return true; #endif sQry = "SELECT A.AVI_CTLR_MNGM_NMBR, A.AVI_ID, NVL(B.COLCNT, 0) AS COLCNT \r\n" " FROM TB_AVI_CTLR A, \r\n" " (SELECT AVI_CTLR_MNGM_NMBR, MAX(CRTN_DT) AS CRTN_DT, COUNT(1) AS COLCNT \r\n" " FROM TB_AVI_PASS_VHCL_PNST \r\n" " WHERE CRTN_DT >= TO_CHAR(SYSDATE-10/1440, 'YYYYMMDDHH24MISS') \r\n" " GROUP BY AVI_CTLR_MNGM_NMBR ) B \r\n" " WHERE A.DEL_YN = 'N' \r\n" " AND A.AVI_CTLR_MNGM_NMBR = B.AVI_CTLR_MNGM_NMBR(+) \r\n"; try { TItsFacility *pFacility = NULL; try { int nORD; pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); pADO->First(); String sAviId; int nColCnt; for( ; !pADO->Eof; pADO->Next()) { sAviId = pADO->FieldByName("AVI_ID")->AsString; pFacility = ItsFacilityManager->FLists.Find(sAviId); if (!pFacility) { continue; } nColCnt = pADO->FieldByName("COLCNT")->AsInteger; if (nColCnt == 0) { if (pFacility->FComm != str_state_error) { pFacility->FCollError = true; } } } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORLOG("TItsFacilityManager::LoadAviCollectStatusFromDb_OLD", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORLOG("TItsFacilityManager::LoadAviCollectStatusFromDb_OLD", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return true; } //---------------------------------------------------------------------------