//--------------------------------------------------------------------------- #pragma hdrstop #include "CDSVilgFrcsF.h" #include "ITS_OPLibF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) //--------------------------------------------------------------------------- TItsVilgFrcsManager *ItsVilgFrcsManager = NULL; //--------------------------------------------------------------------------- /* * VilgFrcs Manager */ TItsVilgFrcsManager::TItsVilgFrcsManager() { } //--------------------------------------------------------------------------- TItsVilgFrcsManager::~TItsVilgFrcsManager() { } //--------------------------------------------------------------------------- bool TItsVilgFrcsManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; sQry = "SELECT * \r\n" " FROM TB_VILG_FRCS_ZONE \r\n" " ORDER BY VILG_FRCS_ZONE_NM \r\n"; try { FLists.Lock(); 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()) { TItsVilgFrcs *pObj = new TItsVilgFrcs(); pObj->VILG_FRCS_ZONE_CD = pADO->FieldByName("VILG_FRCS_ZONE_CD")->AsString; // N NUMBER(14) N µ¿³× ¿¹º¸ ±¸¿ª ÄÚµå pObj->VILG_FRCS_ZONE_NM = pADO->FieldByName("VILG_FRCS_ZONE_NM")->AsString; // N VARCHAR2(40) Y µ¿³× ¿¹º¸ ±¸¿ª ¸í pObj->X_CRDN = pADO->FieldByName("X_CRDN")->AsString; //X ÁÂÇ¥ pObj->Y_CRDN = pADO->FieldByName("Y_CRDN")->AsString; //Y ÁÂÇ¥ FLists.Push(pObj->VILG_FRCS_ZONE_CD, pObj); } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsVilgFrcsManager::LoadFromDb", 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("TItsVilgFrcsManager::LoadFromDb", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FLists.UnLock(); } return true; //return LoadFromDbAtmp(ADbConn); } //--------------------------------------------------------------------------- bool TItsVilgFrcsManager::LoadFromDbAtmp(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; sQry = "SELECT * \r\n" " FROM TB_ATMP_PLTN_STTN \r\n" " ORDER BY ATMP_STTN_NMBR \r\n"; try { FAtmpLists.Lock(); FAtmpLists.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()) { TItsAtmpPltn *pObj = new TItsAtmpPltn(); pObj->ATMP_STTN_NMBR = pADO->FieldByName("ATMP_STTN_NMBR")->AsString; // N NUMBER(10) N ÃøÁ¤¼Ò ¹øÈ£ pObj->ATMP_STTN_NM = pADO->FieldByName("ATMP_STTN_NM")->AsString; // N VARCHAR2(30) N ÃøÁ¤¼Ò ¸í pObj->ATMP_STTN_ADDR = pADO->FieldByName("ATMP_STTN_ADDR")->AsString; // N VARCHAR2(200) Y ÃøÁ¤¼Ò ÁÖ¼Ò pObj->ISTL_YY = pADO->FieldByName("ISTL_YY")->AsString; // N VARCHAR2(4) Y ¼³Ä¡ ³âµµ pObj->MNGM_INTN_NM = pADO->FieldByName("MNGM_INTN_NM")->AsString; // N VARCHAR2(100) Y °ü¸® ±â°ü ¸í pObj->MSRM_SYST_NM = pADO->FieldByName("MSRM_SYST_NM")->AsString; // N VARCHAR2(10) Y ÃøÁ¤ ½Ã½ºÅÛ ¸í pObj->MSRM_ITEM = pADO->FieldByName("MSRM_ITEM")->AsString; // N VARCHAR2(100) Y ÃøÁ¤ Ç׸ñ pObj->X_CRDN = pADO->FieldByName("X_CRDN")->AsString; //X ÁÂÇ¥ pObj->Y_CRDN = pADO->FieldByName("Y_CRDN")->AsString; //Y ÁÂÇ¥ FAtmpLists.Push(pObj->ATMP_STTN_NMBR, pObj); } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsVilgFrcsManager::LoadFromDbAtmp", 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("TItsVilgFrcsManager::LoadFromDbAtmp", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FAtmpLists.UnLock(); } return true; } //--------------------------------------------------------------------------- bool TItsVilgFrcsManager::LoadVilgFrcsInfo(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; sQry = "SELECT A.*, \r\n" " NVL((SELECT CMMN_CD \r\n" " FROM TB_CMMN_CD \r\n" " WHERE CMMN_CLSF_CD = 'DFW' \r\n" " AND CMMN_CD_KOR_NM(+) = WTCD_KOR_NM), 'XXX') AS WTCD_KOR_CD \r\n" " FROM TB_VILG_FRCS A \r\n" " WHERE (A.VILG_FRCS_ZONE_CD, A.ANNC_DT) IN (SELECT VILG_FRCS_ZONE_CD, MAX(ANNC_DT) AS ANNC_DT \r\n" " FROM TB_VILG_FRCS \r\n" " WHERE ANNC_DT >= TO_CHAR(SYSDATE-240/1440,'YYYYMMDDHH24MISS') \r\n" " AND ORD = 0 \r\n" " GROUP BY VILG_FRCS_ZONE_CD) \r\n" " AND A.ORD = 0 \r\n"; try { float fTemp; FLists.Lock(); 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()) { String VILG_FRCS_ZONE_CD = pADO->FieldByName("VILG_FRCS_ZONE_CD")->AsString; TItsVilgFrcs *pObj = FLists.Find(VILG_FRCS_ZONE_CD); if (!pObj) continue; pObj->ANNC_DT = pADO->FieldByName("ANNC_DT")->AsString; // N VARCHAR2(14) N ¹ßÇ¥ ÀϽà pObj->ORD = pADO->FieldByName("ORD")->AsString; // N NUMBER(3) N 0 ¼ø¼­ pObj->HH = pADO->FieldByName("HH")->AsString; // N NUMBER(3) Y 0 ½Ã°£ pObj->DD = pADO->FieldByName("DD")->AsString; // N NUMBER(3) Y 0 ÀÏ pObj->PRST_TMPR = pADO->FieldByName("PRST_TMPR")->AsString; // N NUMBER(6,3) Y ÇöÀç ¿Âµµ pObj->HGHS_TMPR = pADO->FieldByName("HGHS_TMPR")->AsString; // N NUMBER(6,3) Y ÃÖ°í ¿Âµµ pObj->LWST_TMPR = pADO->FieldByName("LWST_TMPR")->AsString; // N NUMBER(6,3) Y ÃÖÀú ¿Âµµ #if 0 pObj->ATMP_STTS = pADO->FieldByName("ATMP_STTS")->AsString; // N NUMBER(2) Y ´ë±â »óÅ #else switch(pADO->FieldByName("ATMP_STTS")->AsInteger) { case 1: pObj->ATMP_STTS = "¸¼À½"; break; case 2: pObj->ATMP_STTS = "±¸¸§Á¶±Ý"; break; case 3: pObj->ATMP_STTS = "±¸¸§¸¹À½"; break; case 4: pObj->ATMP_STTS = "È帲"; break; default: pObj->ATMP_STTS = pADO->FieldByName("ATMP_STTS")->AsString; break; } #endif pObj->WTCD_KOR_NM = pADO->FieldByName("WTCD_KOR_NM")->AsString; // N VARCHAR2(20) Y ³¯¾¾ ÇÑ±Û ¸í #if 0 pObj->PRCP_STTS = pADO->FieldByName("PRCP_STTS")->AsString; // N NUMBER(3) Y 0 °­¼ö »óÅ #else switch(pADO->FieldByName("PRCP_STTS")->AsInteger) { case 0: pObj->PRCP_STTS = "¾øÀ½"; break; case 1: pObj->PRCP_STTS = "ºñ"; break; case 2: pObj->PRCP_STTS = "ºñ/´«"; break; case 3: pObj->PRCP_STTS = "´«"; break; default: pObj->PRCP_STTS = pADO->FieldByName("PRCP_STTS")->AsString; break; } #endif pObj->WTCD_ENGL_NM = pADO->FieldByName("WTCD_ENGL_NM")->AsString; // N VARCHAR2(20) Y ³¯¾¾ ¿µ¹® ¸í pObj->PRCP_PR = pADO->FieldByName("PRCP_PR")->AsString; // N NUMBER(5,2) Y 0 °­¼ö È®·ü pObj->ESTM_PRAM_12HH = pADO->FieldByName("ESTM_PRAM_12HH")->AsString; // N NUMBER(5,2) Y 0 ¿¹»ó °­¼ö·® 12½Ã°£ pObj->ESTM_SNOW_AMUT_12HH = pADO->FieldByName("ESTM_SNOW_AMUT_12HH")->AsString; // N NUMBER(5,2) Y 0 ¿¹»ó ´« ·® 12½Ã°£ pObj->WNSP = pADO->FieldByName("WNSP")->AsString; // N NUMBER(5,2) Y 0 dz¼Ó pObj->WNDR = pADO->FieldByName("WNDR")->AsString; // N NUMBER(2) Y dzÇâ pObj->WNDR_KOR_NM = pADO->FieldByName("WNDR_KOR_NM")->AsString; // N VARCHAR2(20) Y dzÇâ ÇÑ±Û ¸í pObj->WNDR_ENGL_NM = pADO->FieldByName("WNDR_ENGL_NM")->AsString; // N VARCHAR2(20) Y dzÇâ ¿µ¹® ¸í pObj->HMDT = pADO->FieldByName("HMDT")->AsString; // N NUMBER(5,2) Y 0 ½Àµµ pObj->ESTM_PRCP_AMUT_6HH = pADO->FieldByName("ESTM_PRCP_AMUT_6HH")->AsString; // N NUMBER(5,2) Y 0 ¿¹»ó °­¼ö ·® 6½Ã°£ pObj->ESTM_SNOW_AMUT_6HH = pADO->FieldByName("ESTM_SNOW_AMUT_6HH")->AsString; // N NUMBER(5,2) Y 0 ¿¹»ó ´« ·® 6½Ã°£ pObj->WTCD_KOR_CD = pADO->FieldByName("WTCD_KOR_CD")->AsString; if (pObj->WTCD_KOR_CD == "XXX" || pObj->VILG_FRCS_ZONE_NM.Trim() == "") { pObj->VILG_FRCS_ZONE_NM = "Á¤º¸¾øÀ½"; } // È£¿ì¾Ë¶÷ fTemp = pADO->FieldByName("ESTM_PRCP_AMUT_6HH")->AsFloat; pObj->PRCP_ALARM = VILG_NONE; // °­Ç³¾Ë¶÷ if (fTemp >= 110) pObj->PRCP_ALARM = VILG_ALARM; else if (fTemp >= 70) pObj->PRCP_ALARM = VILG_WARNING; if (pObj->PRCP_ALARM != VILG_NONE) { } // ´ë¼³¾Ë¶÷ fTemp = pADO->FieldByName("ESTM_SNOW_AMUT_6HH")->AsFloat; fTemp *= 4; //pObj->ESTM_SNOW_AMUT_6HH = FormatFloat("#0.#0", fTemp); pObj->SNOW_ALARM = VILG_NONE; // °­Ç³¾Ë¶÷ if (fTemp >= 20) pObj->SNOW_ALARM = VILG_ALARM; else if (fTemp >= 5) pObj->SNOW_ALARM = VILG_WARNING; if (pObj->SNOW_ALARM != VILG_NONE) { } } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsVilgFrcsManager::LoadVilgFrcsInfo", 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("TItsVilgFrcsManager::LoadVilgFrcsInfo", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FLists.UnLock(); } LoadVilgShprInfo(ADbConn); return true; //return LoadAtmpPltnInfo(ADbConn); //return LoadAtmpSprpInfo(ADbConn); } //--------------------------------------------------------------------------- bool TItsVilgFrcsManager::LoadVilgShprInfo(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; sQry = "SELECT * \r\n" " FROM TB_VILG_SHPR \r\n" " WHERE ANNC_DT >= TO_CHAR(SYSDATE-120/1440,'YYYYMMDDHH24MISS') \r\n"; try { int nTemp; float fTemp; FLists.Lock(); 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()) { String VILG_FRCS_ZONE_CD = pADO->FieldByName("VILG_FRCS_ZONE_CD")->AsString; TItsVilgFrcs *pObj = FLists.Find(VILG_FRCS_ZONE_CD); if (!pObj) continue; pObj->shpr.ANNC_DT = pADO->FieldByName("ANNC_DT")->AsString; // N VARCHAR2(14) N ¹ßÇ¥ ÀϽà pObj->shpr.TMPR = pADO->FieldByName("TMPR")->AsString; // N NUMBER(6,3) Y ¿Âµµ pObj->shpr.PRAM_1HH = pADO->FieldByName("PRAM_1HH")->AsString; // N NUMBER(5,2) Y 0 °­¼ö·® 1½Ã°£ pObj->shpr.ATMP_STTS = pADO->FieldByName("ATMP_STTS")->AsString; // N NUMBER(2) Y ´ë±â »óÅ pObj->shpr.ESWS_WNSP = pADO->FieldByName("ESWS_WNSP")->AsString; // N NUMBER(5,2) Y 0 µ¿¼­ dz¼Ó pObj->shpr.NRST_WNSP = pADO->FieldByName("NRST_WNSP")->AsString; // N NUMBER(5,2) Y 0 ³²ºÏ dz¼Ó pObj->shpr.HMDT = pADO->FieldByName("HMDT")->AsString; // N NUMBER(5,2) Y 0 ½Àµµ pObj->shpr.PRCP_STTS = pADO->FieldByName("PRCP_STTS")->AsString; // N NUMBER(3) Y 0 °­¼ö »óÅ pObj->shpr.THND_STTS = pADO->FieldByName("THND_STTS")->AsString; // N NUMBER(2) Y ³«·Ú »óÅ pObj->shpr.WNDR = pADO->FieldByName("WNDR")->AsString; // N NUMBER(2) Y dzÇâ pObj->shpr.WNSP = pADO->FieldByName("WNSP")->AsString; // N NUMBER(5,2) Y 0 dz¼Ó #if 0 int wndr = pObj->shpr.WNDR.ToIntDef(0); if (wndr >= 0 && wndr < 45) pObj->shpr.WNDR_NM = "N-NE"; if (wndr >= 45 && wndr < 90) pObj->shpr.WNDR_NM = "NE-E"; if (wndr >= 90 && wndr < 135) pObj->shpr.WNDR_NM = "E-SE"; if (wndr >= 135 && wndr < 180) pObj->shpr.WNDR_NM = "SE-S"; if (wndr >= 180 && wndr < 225) pObj->shpr.WNDR_NM = "S-SW"; if (wndr >= 225 && wndr < 270) pObj->shpr.WNDR_NM = "SW-W"; if (wndr >= 270 && wndr < 315) pObj->shpr.WNDR_NM = "W-NW"; if (wndr >= 315 && wndr <= 360) pObj->shpr.WNDR_NM = "NW-N"; #else //dzÇâ°ª¿¡ µû¸¥ 16¹æÀ§ º¯È¯ int wndr = pObj->shpr.WNDR.ToIntDef(0); int wndrDir = (int)(((float)wndr + 22.5 * 0.5 ) / 22.5); switch(wndrDir) { case 0: pObj->shpr.WNDR_NM = "N"; break; case 1: pObj->shpr.WNDR_NM = "NNE"; break; case 2: pObj->shpr.WNDR_NM = "NE"; break; case 3: pObj->shpr.WNDR_NM = "ENE"; break; case 4: pObj->shpr.WNDR_NM = "E"; break; case 5: pObj->shpr.WNDR_NM = "ESE"; break; case 6: pObj->shpr.WNDR_NM = "SE"; break; case 7: pObj->shpr.WNDR_NM = "SSE"; break; case 8: pObj->shpr.WNDR_NM = "S"; break; case 9: pObj->shpr.WNDR_NM = "SSW"; break; case 10: pObj->shpr.WNDR_NM = "SW"; break; case 11: pObj->shpr.WNDR_NM = "WSW"; break; case 12: pObj->shpr.WNDR_NM = "W"; break; case 13: pObj->shpr.WNDR_NM = "WNW"; break; case 14: pObj->shpr.WNDR_NM = "NW"; break; case 15: pObj->shpr.WNDR_NM = "NNW"; break; case 16: pObj->shpr.WNDR_NM = "N"; break; } #endif //ÇϴûóÅ - ¸¼À½(1), ±¸¸§Á¶±Ý(2), ±¸¸§¸¹À½(3), È帲(4) switch(pObj->shpr.ATMP_STTS.ToIntDef(0)) { case 1: pObj->shpr.ATMP_STTS_NM = "¸¼À½"; break; case 2: pObj->shpr.ATMP_STTS_NM = "±¸¸§Á¶±Ý"; break; case 3: pObj->shpr.ATMP_STTS_NM = "±¸¸§¸¹À½"; break; case 4: pObj->shpr.ATMP_STTS_NM = "È帲"; break; default: pObj->shpr.ATMP_STTS_NM = "-"; break; } // µ¿¼­¹Ù¶÷¼ººÐ(m/s) - µ¿(+), ¼­(-) fTemp = pADO->FieldByName("ESWS_WNSP")->AsFloat; if (fTemp > 0) pObj->shpr.ESWS_WNSP_NM = "µ¿ " + FormatFloat("#0.#0", fTemp); else if (fTemp < 0) pObj->shpr.ESWS_WNSP_NM = "¼­ " + FormatFloat("#0.#0", fTemp*-1); else pObj->shpr.ESWS_WNSP_NM = "-"; // ³²ºÏ¹Ù¶÷¼ººÐ(m/s) - ºÏ(+), ³²(-) fTemp = pADO->FieldByName("NRST_WNSP")->AsFloat; if (fTemp > 0) pObj->shpr.NRST_WNSP_NM = "ºÏ " + FormatFloat("#0.#0", fTemp); else if (fTemp < 0) pObj->shpr.NRST_WNSP_NM = "³² " + FormatFloat("#0.#0", fTemp*-1); else pObj->shpr.NRST_WNSP_NM = "-"; //°­¼öÇüÅ - ¾øÀ½(0), ºñ(1), ºñ/´«(2), ´«(3) switch(pObj->shpr.PRCP_STTS.ToIntDef(0)) { case 0: pObj->shpr.PRCP_STTS_NM = "¾øÀ½"; break; case 1: pObj->shpr.PRCP_STTS_NM = "ºñ"; break; case 2: pObj->shpr.PRCP_STTS_NM = "ºñ/´«"; break; case 3: pObj->shpr.PRCP_STTS_NM = "´«"; break; default: pObj->shpr.PRCP_STTS_NM = "-"; break; } //³«·Ú - ¾øÀ½(0), ÀÖÀ½(1) switch(pObj->shpr.THND_STTS.ToIntDef(0)) { case 0: pObj->shpr.THND_STTS_NM = "¾øÀ½"; break; case 1: pObj->shpr.THND_STTS_NM = "ºñ"; break; default: pObj->shpr.THND_STTS_NM = "-"; break; } fTemp = pADO->FieldByName("WNSP")->AsFloat; pObj->shpr.WNSP_ALARM = VILG_NONE; // °­Ç³¾Ë¶÷ if (fTemp >= 21) pObj->shpr.WNSP_ALARM = VILG_ALARM; else if (fTemp >= 14) pObj->shpr.WNSP_ALARM = VILG_WARNING; if (pObj->shpr.WNSP_ALARM != VILG_NONE) { } } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsVilgFrcsManager::LoadVilgShprInfo", 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("TItsVilgFrcsManager::LoadVilgShprInfo", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FLists.UnLock(); } return true; } //--------------------------------------------------------------------------- String TItsVilgFrcsManager::GetGradeDesc(String &ACode) { ACode = ACode.Trim(); if (ACode == "1") return ATMP_GOOD; if (ACode == "2") return ATMP_NORMAL; if (ACode == "3") return ATMP_BAD; if (ACode == "4") return ATM_VERY_BAD; ACode = "0"; return ATMP_NONE; } //--------------------------------------------------------------------------- bool TItsVilgFrcsManager::LoadAtmpPltnInfo(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; sQry = "SELECT * \r\n" " FROM TB_ATMP_PLTN_RT_PNST \r\n" " WHERE MSRM_DT >= TO_CHAR(SYSDATE-120/1440,'YYYYMMDDHH24MISS') \r\n"; try { int nTemp; float fTemp; FAtmpLists.Lock(); 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()) { String ATMP_STTN_NMBR = pADO->FieldByName("ATMP_STTN_NMBR")->AsString; TItsAtmpPltn *pObj = FAtmpLists.Find(ATMP_STTN_NMBR); if (!pObj) continue; pObj->pnst.MSRM_DT = pADO->FieldByName("MSRM_DT")->AsString; // N VARCHAR2(14) Y ÃøÁ¤ ÀϽà pObj->pnst.MSRM_SYST_NM = pADO->FieldByName("MSRM_SYST_NM")->AsString; // N VARCHAR2(10) Y ÃøÁ¤ ½Ã½ºÅÛ ¸í pObj->pnst.CO_VAL = pADO->FieldByName("CO_VAL")->AsString; // N VARCHAR2(10) Y CO °ª pObj->pnst.SO2_VAL = pADO->FieldByName("SO2_VAL")->AsString; // N VARCHAR2(10) Y SO2 °ª pObj->pnst.NO2_VAL = pADO->FieldByName("NO2_VAL")->AsString; // N VARCHAR2(10) Y NO2 °ª pObj->pnst.O3_VAL = pADO->FieldByName("O3_VAL")->AsString; // N VARCHAR2(10) Y O3 °ª pObj->pnst.PM10_VAL = pADO->FieldByName("PM10_VAL")->AsString; // N VARCHAR2(10) Y PM10 °ª pObj->pnst.PM10_24HH_VAL = pADO->FieldByName("PM10_24HH_VAL")->AsString; // N VARCHAR2(10) Y PM10 24½Ã°£ °ª pObj->pnst.PM25_VAL = pADO->FieldByName("PM25_VAL")->AsString; // N VARCHAR2(10) Y PM25 °ª pObj->pnst.PM25_24HH_VAL = pADO->FieldByName("PM25_24HH_VAL")->AsString; // N VARCHAR2(10) Y PM25 24½Ã°£ °ª pObj->pnst.INTG_ATMP_VAL = pADO->FieldByName("INTG_ATMP_VAL")->AsString; // N VARCHAR2(10) Y ÅëÇÕ ´ë±â °ª pObj->pnst.INTG_ATMP_GRAD = pADO->FieldByName("INTG_ATMP_GRAD")->AsString; // N VARCHAR2(10) Y ÅëÇÕ ´ë±â µî±Þ pObj->pnst.SO2_GRAD = pADO->FieldByName("SO2_GRAD")->AsString; // N VARCHAR2(10) Y SO2 µî±Þ pObj->pnst.CO_GRAD = pADO->FieldByName("CO_GRAD")->AsString; // N VARCHAR2(10) Y CO µî±Þ pObj->pnst.O3_GRAD = pADO->FieldByName("O3_GRAD")->AsString; // N VARCHAR2(10) Y O3 µå±Þ pObj->pnst.NO2_GRAD = pADO->FieldByName("NO2_GRAD")->AsString; // N VARCHAR2(10) Y NO2 µî±Þ pObj->pnst.PM10_24HH_GRAD = pADO->FieldByName("PM10_24HH_GRAD")->AsString; // N VARCHAR2(10) Y PM10 24½Ã°£ µî±Þ pObj->pnst.PM25_24HH_GRAD = pADO->FieldByName("PM25_24HH_GRAD")->AsString; // N VARCHAR2(10) Y PM25 24½Ã°£ µî±Þ pObj->pnst.PM10_1HH_GRAD = pADO->FieldByName("PM10_1HH_GRAD")->AsString; // N VARCHAR2(10) Y PM10 1½Ã°£ µî±Þ pObj->pnst.PM25_1HH_GRAD = pADO->FieldByName("PM25_1HH_GRAD")->AsString; // N VARCHAR2(10) Y PM25 1½Ã°£ µî±Þ pObj->pnst.UPDT_DT = pADO->FieldByName("UPDT_DT")->AsString; // N VARCHAR2(14) Y °»½Å ÀϽà pObj->pnst.INTG_ATMP_GRAD_NM = GetGradeDesc(pObj->pnst.INTG_ATMP_GRAD); pObj->pnst.SO2_GRAD_NM = GetGradeDesc(pObj->pnst.SO2_GRAD); pObj->pnst.CO_GRAD_NM = GetGradeDesc(pObj->pnst.CO_GRAD); pObj->pnst.O3_GRAD_NM = GetGradeDesc(pObj->pnst.O3_GRAD); pObj->pnst.NO2_GRAD_NM = GetGradeDesc(pObj->pnst.NO2_GRAD); pObj->pnst.PM10_24HH_GRAD_NM = GetGradeDesc(pObj->pnst.PM10_24HH_GRAD); pObj->pnst.PM25_24HH_GRAD_NM = GetGradeDesc(pObj->pnst.PM25_24HH_GRAD); pObj->pnst.PM10_1HH_GRAD_NM = GetGradeDesc(pObj->pnst.PM10_1HH_GRAD); pObj->pnst.PM25_1HH_GRAD_NM = GetGradeDesc(pObj->pnst.PM25_1HH_GRAD); } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsVilgFrcsManager::LoadAtmpPltnInfo", 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("TItsVilgFrcsManager::LoadAtmpPltnInfo", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FAtmpLists.UnLock(); } return true; } //--------------------------------------------------------------------------- bool TItsVilgFrcsManager::LoadAtmpSprpInfo(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; sQry = "SELECT * \r\n" " FROM TB_ATMP_PLTN_SPRP_PNST A \r\n" " WHERE A.ANNC_DVSN = '1' \r\n" " AND A.ANNC_DT > TO_CHAR(SYSDATE-31/1440,'YYYYMMDDHH24') \r\n"; try { FSprpLists.Lock(); FSprpLists.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()) { TItsAtmpSprp *pObj = new TItsAtmpSprp(); pObj->ATMP_PLTN_KIND = pADO->FieldByName("ATMP_PLTN_KIND")->AsString.Trim(); // N VARCHAR2(1) N ´ë±â ¿À¿° Á¾·ù(1:¹Ì¼¼¸ÕÁö, 2:Ãʹ̼¼¸ÕÁö) pObj->ANNC_DT = pADO->FieldByName("ANNC_DT")->AsString.Trim(); // N VARCHAR2(14) Y Update ½Ã°£ pObj->REGN_CD = pADO->FieldByName("REGN_CD")->AsString.Trim(); // N VARCHAR2(1) Y 2 ±Ç¿ª ÄÚµå(1:ºÏºÎ±Ç, 2:µ¿ºÎ±Ç, 3:ÁߺαÇ, 4:³²ºÎ±Ç) ³²¾çÁÖ=µ¿ºÎ±Ç pObj->ANNC_YMD = pADO->FieldByName("ANNC_YMD")->AsString.Trim(); // N VARCHAR2(8) Y ¹ßÇ¥ ÀÏÀÚ(4) pObj->ANNC_HH = pADO->FieldByName("ANNC_HH")->AsString.Trim(); // N VARCHAR2(2) Y ¹ßÇ¥ ½Ã°£(2) pObj->ANNC_GRAD = pADO->FieldByName("ANNC_GRAD")->AsString.Trim(); // N VARCHAR2(1) Y ¹ßÇ¥ µî±Þ(1:ÁÖÀǺ¸, 2:°æº¸, 5:Ȳ»ç°æº¸) pObj->ANNC_DVSN = pADO->FieldByName("ANNC_DVSN")->AsString.Trim(); // N VARCHAR2(1) Y ¹ßÇ¥ ±¸ºÐ(1:¹ß·É, 0:ÇØÁ¦, 2:¹ß·É³»¿ª¾øÀ½) FSprpLists.Push(pObj->ATMP_PLTN_KIND, pObj); } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsVilgFrcsManager::LoadAtmpSprpInfo", 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("TItsVilgFrcsManager::LoadAtmpSprpInfo", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FSprpLists.UnLock(); } return true; } //---------------------------------------------------------------------------