//--------------------------------------------------------------------------- #pragma hdrstop #include "CDSTrafficGradeF.h" #include "AppGlobalF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) TItsTrafficSubGrade::TItsTrafficSubGrade() { TItsTrafficSubGrade("", ""); } //--------------------------------------------------------------------------- TItsTrafficSubGrade::TItsTrafficSubGrade(String ACode, String ASubCode) { FSECT_GRAD_CD = ACode; FCMTR_GRAD_CD = ASubCode; Clear(); FModified = false; FCompleted= false; } //--------------------------------------------------------------------------- TItsTrafficSubGrade::~TItsTrafficSubGrade() { } //--------------------------------------------------------------------------- void TItsTrafficSubGrade::Clear() { #if 0 FSECT_GRAD_CD = ""; FCMTR_GRAD_CD = ""; FLWST_TRVL_SPED = ""; FHGHS_TRVL_SPED = ""; FCNGS_GRAD_YN = ""; #endif } //--------------------------------------------------------------------------- void TItsTrafficSubGrade::SetValue(String &AOrgValue, String AValue) { if (AOrgValue != AValue) { AOrgValue = AValue; if (FCompleted) FModified = true; } } //--------------------------------------------------------------------------- void TItsTrafficSubGrade::SetFSECT_GRAD_CD(String AValue) { SetValue(FSECT_GRAD_CD, AValue); } //--------------------------------------------------------------------------- void TItsTrafficSubGrade::SetFCMTR_GRAD_CD(String AValue) { SetValue(FCMTR_GRAD_CD, AValue); } //--------------------------------------------------------------------------- void TItsTrafficSubGrade::SetFLWST_TRVL_SPED(int AValue) { if (FLWST_TRVL_SPED != AValue) { FLWST_TRVL_SPED = AValue; if (FCompleted) FModified = true; } } //--------------------------------------------------------------------------- void TItsTrafficSubGrade::SetFHGHS_TRVL_SPED(int AValue) { if (FHGHS_TRVL_SPED != AValue) { FHGHS_TRVL_SPED = AValue; if (FCompleted) FModified = true; } } //--------------------------------------------------------------------------- void TItsTrafficSubGrade::SetFCNGS_GRAD_YN(String AValue) { SetValue(FCNGS_GRAD_YN, AValue); } //--------------------------------------------------------------------------- TItsTrafficGrade::TItsTrafficGrade() { TItsTrafficGrade(""); } //--------------------------------------------------------------------------- TItsTrafficGrade::TItsTrafficGrade(String ACode) { FSECT_GRAD_CD = ACode; Clear(); FModified = false; FCompleted= false; } //--------------------------------------------------------------------------- void TItsTrafficGrade::Clear() { #if 0 FSECT_GRAD_NM = ""; #endif } //--------------------------------------------------------------------------- TItsTrafficGrade::~TItsTrafficGrade() { FSubLists.RemoveAll(); } //--------------------------------------------------------------------------- void TItsTrafficGrade::SetValue(String &AOrgValue, String AValue) { if (AOrgValue != AValue) { AOrgValue = AValue; if (FCompleted) FModified = true; } } //--------------------------------------------------------------------------- void TItsTrafficGrade::SetFSECT_GRAD_NM(String AValue) { SetValue(FSECT_GRAD_NM, AValue); } //--------------------------------------------------------------------------- void TItsTrafficGrade::SetFSECT_GRAD_CD(String AValue) { SetValue(FSECT_GRAD_CD, AValue); } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- TItsTrafficGradeManager *ItsTrafficGradeManager = NULL; //--------------------------------------------------------------------------- /* * Link Manager */ TItsTrafficGradeManager::TItsTrafficGradeManager() { } //--------------------------------------------------------------------------- TItsTrafficGradeManager::~TItsTrafficGradeManager() { } //--------------------------------------------------------------------------- bool TItsTrafficGradeManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/) { FLists.RemoveAll(); return (LoadTrafficGrade(ADbConn) && LoadTrafficSubGrade(ADbConn)); } //--------------------------------------------------------------------------- bool TItsTrafficGradeManager::LoadTrafficGrade(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; sQry = "SELECT SECT_GRAD_CD, \r\n" " SECT_GRAD_NM \r\n" " FROM TB_SECT_GRAD_CLSF \r\n"; // " ORDER BY SECT_GRAD_CD \r\n"; try { FLists.Lock(); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Open(); //int nRows = pADO->RecordCount; for( ; !pADO->Eof; pADO->Next()) { TItsTrafficGrade *pCode = new TItsTrafficGrade(); pCode->FSECT_GRAD_CD = pADO->FieldByName("SECT_GRAD_CD")->AsString; //'±¸°£ µî±Þ ÄÚµå'; pCode->FSECT_GRAD_NM = pADO->FieldByName("SECT_GRAD_NM")->AsString; //'±¸°£ µî±Þ ¸í'; FLists.Push(pCode->FSECT_GRAD_CD, pCode); pCode->Completed = true; } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsTrafficGradeManager::LoadTrafficGrade", 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("TItsTrafficGradeManager::LoadTrafficGrade", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FLists.UnLock(); } return true; } //--------------------------------------------------------------------------- bool TItsTrafficGradeManager::LoadTrafficSubGrade(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; sQry = "SELECT A.SECT_GRAD_CD, \r\n" " CMTR_GRAD_CD , \r\n" " LWST_TRVL_SPED, \r\n" " HGHS_TRVL_SPED, \r\n" " CNGS_GRAD_YN \r\n" " FROM TB_CMTR_GRAD_CLSF A, \r\n" " TB_SECT_GRAD_CLSF B \r\n" " WHERE A.SECT_GRAD_CD = B.SECT_GRAD_CD \r\n"; // " ORDER BY SECT_GRAD_CD, CMTR_GRAD_CD \r\n"; try { ItsTrafficGradeManager->FLists.Lock(); TItsTrafficGrade *pCode = NULL; try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Open(); //int nRows = pADO->RecordCount; for( ; !pADO->Eof; pADO->Next()) { String sGradCd = pADO->FieldByName("SECT_GRAD_CD")->AsString; pCode = ItsTrafficGradeManager->FLists.Find(sGradCd); if (!pCode) continue; TItsTrafficSubGrade *pSubCode = new TItsTrafficSubGrade(); pSubCode->FSECT_GRAD_CD = sGradCd; pSubCode->FCMTR_GRAD_CD = pADO->FieldByName("CMTR_GRAD_CD")->AsString; pSubCode->FLWST_TRVL_SPED = pADO->FieldByName("LWST_TRVL_SPED")->AsInteger; pSubCode->FHGHS_TRVL_SPED = pADO->FieldByName("HGHS_TRVL_SPED")->AsInteger; pSubCode->FCNGS_GRAD_YN = pADO->FieldByName("CNGS_GRAD_YN")->AsString; pCode->FSubLists.Push(pSubCode->CMTR_GRAD_CD, pSubCode); pSubCode->Completed = true; } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsTrafficGradeManager::LoadTrafficSubGrade", 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("TItsTrafficGradeManager::LoadTrafficSubGrade", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } ItsTrafficGradeManager->FLists.UnLock(); } return true; } //---------------------------------------------------------------------------