//--------------------------------------------------------------------------- #pragma hdrstop #include "CDSTrafficOprLinkF.h" #include "AppGlobalF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) TItsTrafficOprLink::TItsTrafficOprLink() { Clear(); FGridIndex = -1; // ±×¸®µå À妽º } //--------------------------------------------------------------------------- void TItsTrafficOprLink::Clear() { #if 0 FLINK_ID = ""; // ¸µÅ©ID FCRTN_DT = ""; // »ý¼º ÀϽà FAPLY_STRT_DT = ""; // Àû¿ë ½ÃÀÛ ÀϽà FAPLY_END_DT = ""; // Àû¿ë Á¾·á ÀϽà FTFVL = ""; // ±³Åë·® FSPED = ""; // ¼Óµµ FOCPY_RATE = ""; // Á¡À¯À² FTRVL_HH = ""; // ÅëÇà ½Ã°£ FGridIndex = -1; // ±×¸®µå À妽º #endif } //--------------------------------------------------------------------------- TItsTrafficOprLink::~TItsTrafficOprLink() { } //--------------------------------------------------------------------------- void TItsTrafficOprLink::SetValue(String &AOrgValue, String AValue) { if (AOrgValue != AValue) { AOrgValue = AValue; if (FCompleted) FModified = true; } } //--------------------------------------------------------------------------- void TItsTrafficOprLink::SetFLINK_ID(String AValue) { SetValue(FLINK_ID, AValue); } //--------------------------------------------------------------------------- void TItsTrafficOprLink::SetFCRTN_DT(String AValue) { SetValue(FCRTN_DT, AValue); } //--------------------------------------------------------------------------- void TItsTrafficOprLink::SetFAPLY_STRT_DT(String AValue) { SetValue(FAPLY_STRT_DT, AValue); } //--------------------------------------------------------------------------- void TItsTrafficOprLink::SetFAPLY_END_DT(String AValue) { SetValue(FAPLY_END_DT, AValue); } //--------------------------------------------------------------------------- void TItsTrafficOprLink::SetFTFVL(String AValue) { SetValue(FTFVL, AValue); } //--------------------------------------------------------------------------- void TItsTrafficOprLink::SetFSPED(String AValue) { SetValue(FSPED, AValue); } //--------------------------------------------------------------------------- void TItsTrafficOprLink::SetFOCPY_RATE(String AValue) { SetValue(FOCPY_RATE, AValue); } //--------------------------------------------------------------------------- void TItsTrafficOprLink::SetFTRVL_HH(String AValue) { SetValue(FTRVL_HH, AValue); } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- TItsTrafficOprLinkManager *ItsTrafficOprLinkManager = NULL; //--------------------------------------------------------------------------- /* * TrafficOprLink Manager */ TItsTrafficOprLinkManager::TItsTrafficOprLinkManager() { } //--------------------------------------------------------------------------- TItsTrafficOprLinkManager::~TItsTrafficOprLinkManager() { } //--------------------------------------------------------------------------- bool TItsTrafficOprLinkManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; sQry = "SELECT LINK_ID, CRTN_DT, \r\n" " APLY_STRT_DT, APLY_END_DT, \r\n" " NVL(TFVL, 0) AS TFVL, \r\n" " NVL(SPED, 0) AS SPED, \r\n" " NVL(OCPY_RATE, 0) AS OCPY_RATE, \r\n" " NVL(TRVL_HH, 0) AS TRVL_HH \r\n" " FROM TB_LINK_SYOP_TRAF \r\n"; // " ORDER BY 1, 2 \r\n"; try { FDataSeq = 0; 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->Open(); for( ; !pADO->Eof; pADO->Next()) { TItsTrafficOprLink *pTrafficOprLink = new TItsTrafficOprLink(); pTrafficOprLink->FLINK_ID = pADO->FieldByName("LINK_ID")->AsString; pTrafficOprLink->FCRTN_DT = pADO->FieldByName("CRTN_DT")->AsString; pTrafficOprLink->FAPLY_STRT_DT = pADO->FieldByName("APLY_STRT_DT")->AsString; pTrafficOprLink->FAPLY_END_DT = pADO->FieldByName("APLY_END_DT")->AsString; pTrafficOprLink->FTFVL = pADO->FieldByName("TFVL")->AsString; pTrafficOprLink->FSPED = pADO->FieldByName("SPED")->AsString; pTrafficOprLink->FOCPY_RATE = pADO->FieldByName("OCPY_RATE")->AsString; pTrafficOprLink->FTRVL_HH = pADO->FieldByName("TRVL_HH")->AsString; FLists.Push(String(FDataSeq++), pTrafficOprLink); pTrafficOprLink->Completed = true; } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsTrafficOprLinkManager::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("TItsTrafficOprLinkManager::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; } //--------------------------------------------------------------------------- bool TItsTrafficOprLinkManager::AllDelete(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; sQry = "DELETE FROM TB_LINK_SYOP_TRAF \r\n"; try { FDataSeq = 0; 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->ExecSQL(); } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsTrafficOprLinkManager::AllDelete", 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("TItsTrafficOprLinkManager::AllDelete", 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 TItsTrafficOprLinkManager::AllApply(int ALinkLevel, TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; if (ALinkLevel == 1) { sQry = "INSERT INTO TB_LINK_SYOP_TRAF(LINK_ID, CRTN_DT, APLY_STRT_DT, APLY_END_DT, TFVL, SPED, OCPY_RATE, TRVL_HH) \r\n" "SELECT LINK_ID, \r\n" " TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') AS CRTN_DT, \r\n" " TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') AS APLY_STRT_DT, \r\n" " TO_CHAR(SYSDATE+1, 'YYYYMMDDHH24MISS') AS APLY_END_DT, \r\n" " 0, \r\n" " 100, \r\n" " 0, \r\n" " 0 \r\n" " FROM TB_LINK_TRAF \r\n" " WHERE SPED > 0 \r\n"; } else if (ALinkLevel == 2) { sQry = "INSERT INTO TB_LINK_SYOP_TRAF(LINK_ID, CRTN_DT, APLY_STRT_DT, APLY_END_DT, TFVL, SPED, OCPY_RATE, TRVL_HH) \r\n" "SELECT IFSC_ID, \r\n" " TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') AS CRTN_DT, \r\n" " TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') AS APLY_STRT_DT, \r\n" " TO_CHAR(SYSDATE+1, 'YYYYMMDDHH24MISS') AS APLY_END_DT, \r\n" " 0, \r\n" " 100, \r\n" " 0, \r\n" " 0 \r\n" " FROM TB_IFSC_TRAF \r\n" " WHERE SPED > 0 \r\n"; } else return true; try { String sSysDate = Now().FormatString("YYYYMMDDHHNNSS"); FLists.Lock(); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; //pADO->Parameters->ParamByName("p01")->Value = sSysDate pADO->ExecSQL(); } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("TItsTrafficOprLinkManager::AllApply", 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("TItsTrafficOprLinkManager::AllApply", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FLists.UnLock(); } return true; } //---------------------------------------------------------------------------