//--------------------------------------------------------------------------- #include #include "ITSSkinF.h" #include "ITSUtilF.h" #include "AppGlobalF.h" #include "CDSRoadF.h" #include "CDSIfscF.h" #include "ITSLangTransF.h" #pragma hdrstop #include "TAS0040MF.h" #include "TAS00401F.h" #include "CDSCodeF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "cxButtons" #pragma link "cxContainer" #pragma link "cxControls" #pragma link "cxDropDownEdit" #pragma link "cxEdit" #pragma link "cxGraphics" #pragma link "cxGroupBox" #pragma link "cxLookAndFeelPainters" #pragma link "cxLookAndFeels" #pragma link "cxMaskEdit" #pragma link "cxPC" #pragma link "cxPCdxBarPopupMenu" #pragma link "cxTextEdit" #pragma link "dxSkinBlack" #pragma link "dxSkinBlue" #pragma link "dxSkinsCore" #pragma link "dxSkinscxPCPainter" #pragma resource "*.dfm" TTAS0040M *TAS0040M = NULL; //--------------------------------------------------------------------------- __fastcall TTAS0040M::TTAS0040M(TComponent* Owner) : TForm(Owner) { LangTrans->Translate(this, ITSDb_GetConnection()); ITSSkin_Load(this); CMM_LoadForm(g_sFormsDir, this); FTitle = Caption;//"Ư¼öÀϺм®"; m_pFormList = new TList(); TsList01->TabVisible = false; MyItsAtrdManager = new TItsAtrdManager(); MyItsAtrdManager->LoadFromDb(); } //--------------------------------------------------------------------------- void __fastcall TTAS0040M::CommClose() { try { if (MyHolidayManager) { delete MyHolidayManager; MyHolidayManager = NULL; } if (MyItsAtrdManager) { delete MyItsAtrdManager; MyItsAtrdManager = NULL; } for (int idx = m_pFormList->Count-1; idx >= 0; idx--) { m_pFormList->Delete(idx); } delete m_pFormList; CMM_SaveForm(g_sFormsDir, this); } catch(...) { } } //--------------------------------------------------------------------------- void __fastcall TTAS0040M::FormShow(TObject *Sender) { Refresh(); FormInit(); TmrShow->Enabled = true; } //--------------------------------------------------------------------------- void __fastcall TTAS0040M::FormInit() { FAtrdId = ""; if (!MyHolidayManager) { MyHolidayManager = new TItsHolidayManager(); } MyHolidayManager->LoadFromDb(); CbIfsc->Properties->Items->Clear(); CbYear->Properties->Items->Clear(); CbType->Properties->Items->Clear(); CbAtrd->Properties->Items->Clear(); try { MyItsAtrdManager->FLists.Lock(); FOR_STL(TItsAtrd*, pObj, MyItsAtrdManager->FLists) { if (pObj->DEL_YN == "Y") continue; String sDir = (pObj->DRCT_CD.Trim() == "0") ? FrmLang->lblUp->Caption : FrmLang->lblDown->Caption;//String("»óÇà") : String("ÇÏÇà"); String sAtr = pObj->ATRD_NM; CbAtrd->Properties->Items->AddObject(sAtr + " [" + sDir + "]", (TObject*)pObj); } } __finally { MyItsAtrdManager->FLists.UnLock(); CbAtrd->ItemIndex = 0; } int nMinYear = 2018; int nMaxYear = Now().FormatString("YYYY").ToIntDef(2018); for (int ii = nMinYear; ii <= nMaxYear; ii++) { String sYear; sYear.printf(L"%04d", ii); CbYear->Properties->Items->AddObject(sYear, (TObject*)NULL); } CbYear->ItemIndex = 0; } //--------------------------------------------------------------------------- void __fastcall TTAS0040M::TmrShowTimer(TObject *Sender) { TmrShow->Enabled = false; } //--------------------------------------------------------------------------- void __fastcall TTAS0040M::RefreshData() { // °Ë»öÁ¶°Ç¿¡ ÀÇÇÑ ¸µÅ© µ¥ÀÌÅÍ Á¶È¸ try { //SelListData(); } __finally { } } //--------------------------------------------------------------------------- void __fastcall TTAS0040M::BtnSearchClick(TObject *Sender) { Application->ProcessMessages(); TSqlCursor sqlCrs((TControl*)BtnSearch); String sTitle; TItsAtrd *pAtrd = (TItsAtrd*)CbAtrd->Properties->Items->Objects[CbAtrd->ItemIndex]; if (!pAtrd) { Application->MessageBox(FrmLang->lblSelErr->Caption.c_str(),//L"°£¼±µµ·Î¸¦ ¸ÕÀú ¼±Åà Çϼ¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONWARNING|MB_APPLMODAL); ActiveControl = CbAtrd; return; } FAtrdId = pAtrd->ATRD_ID; FAtrdNm = CbAtrd->Text.Trim(); TItsIfsc *pIfsc = (TItsIfsc*)CbIfsc->Properties->Items->Objects[CbIfsc->ItemIndex]; if (!pIfsc) { Application->MessageBox(FrmLang->lblSelErr->Caption.c_str(),//L"°£¼±µµ·Î ±¸°£À» ¸ÕÀú ¼±Åà Çϼ¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONWARNING|MB_APPLMODAL); ActiveControl = CbIfsc; return; } FLinkId = pIfsc->IFSC_ID; FLinkNm = pIfsc->STRT_NM + " ¡æ " + pIfsc->END_NM; TItsHoliday *pHoliday = (TItsHoliday*)CbType->Properties->Items->Objects[CbType->ItemIndex]; if (!pHoliday) { Application->MessageBox(FrmLang->lblSelErr->Caption.c_str(),//L"Ư¼öÀÏÀ» ¸ÕÀú ¼±Åà Çϼ¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONWARNING|MB_APPLMODAL); ActiveControl = CbType; return; } FQryDay = pHoliday->YMD; FQryDayNm = pHoliday->LEGL_HLDY_NM; sTitle.printf(L"%s [%s] ", FLinkNm.c_str(), FQryDayNm.c_str()); try { Application->ProcessMessages(); LockWindowUpdate(Handle); TcxTabSheet *pSheet = CMM_AddTabSheet(PgTab, sTitle); if (!pSheet) return; TAS00401 = new TTAS00401(this, Handle, FLinkId, FLinkNm, FQryDay, FPtrnWeek, FQryDayNm); TAS00401->Parent = pSheet; TAS00401->Show(); PgTab->ActivePage = pSheet; pSheet = PgTab->ActivePage; m_pFormList->Add(TAS00401); } __finally { LockWindowUpdate(0); } } //--------------------------------------------------------------------------- void __fastcall TTAS0040M::BtnCloseClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TTAS0040M::OnSubFormClose(TMessage Msg) { int nActiveIdx = PgTab->ActivePageIndex; if (nActiveIdx <= 0) return; LockWindowUpdate(Handle); TcxTabSheet *pSheet = PgTab->ActivePage; if (pSheet) { delete pSheet; } nActiveIdx--; // ù¹øÂ° ÅÇÀº È­¸é¿¡ ¼û°ÜÁ® ÀÖ´Ù. m_pFormList->Delete(nActiveIdx); LockWindowUpdate(0); } //--------------------------------------------------------------------------- void __fastcall TTAS0040M::PgTabDblClick(TObject *Sender) { TPoint APoint; APoint = PgTab->MouseDownPos; if (PgTab->IndexOfTabAt(APoint.x, APoint.y) != -1) POST_MSG(Handle, WM_SUBFORM_CLOSE, 0, 0); } //--------------------------------------------------------------------------- void __fastcall TTAS0040M::FormClose(TObject *Sender, TCloseAction &Action) { CommClose(); TAS0040M = NULL; Action = caFree; } //--------------------------------------------------------------------------- void __fastcall TTAS0040M::CbAtrdPropertiesChange(TObject *Sender) { TItsAtrd *pObj = (TItsAtrd*)CbAtrd->Properties->Items->Objects[CbAtrd->ItemIndex]; if (!pObj) return; FAtrdId = pObj->ATRD_ID; FAtrdNm = pObj->ATRD_NM; CbIfsc->Properties->Items->Clear(); FOR_STL(TItsAtrdRoad*, pAtrdRoad, pObj->FRoads) { TItsRoad *pRoad = ItsRoadManager->FLists.Find(pAtrdRoad->ROAD_ID); if (!pRoad) continue; std::map::iterator itPos; for(itPos = pRoad->FIfscs.begin(); itPos != pRoad->FIfscs.end(); ++itPos) { String sIfscId = itPos->second; TItsIfsc *pIfsc = ItsIfscManager->FLists.Find(sIfscId); if (!pIfsc) continue; CbIfsc->Properties->Items->AddObject(" [" + pIfsc->IFSC_ID + "] " + pIfsc->STRT_NM + " ¡æ " + pIfsc->END_NM, (TObject*)pIfsc); } } CbIfsc->ItemIndex = 0; } //--------------------------------------------------------------------------- void __fastcall TTAS0040M::CbYearPropertiesChange(TObject *Sender) { String sYear = CbYear->Text.Trim(); String sFromDay = sYear + "0101"; String sToDay; int nSelYear = sYear.ToIntDef(2018); int nCurYear = Now().FormatString("YYYY").ToIntDef(2018); if (nSelYear == nCurYear) { sToDay = sYear + Now().FormatString("MMDD"); } else { sToDay = sYear + "1231"; } double nStartYear = sFromDay.ToDouble(); double nEndYear = sToDay.ToDouble(); double nTempYear; CbType->Properties->Items->Clear(); FOR_STL(TItsHoliday*, pObj, MyHolidayManager->FLists) { if (pObj->DEL_YN != "N") continue; nTempYear = pObj->YMD.ToDouble(); if (nTempYear < nStartYear || nTempYear > nEndYear) continue; CbType->Properties->Items->AddObject(" [" + pObj->YMD + "] " + pObj->LEGL_HLDY_NM, (TObject*)pObj); } CbType->ItemIndex = 0; } //--------------------------------------------------------------------------- void __fastcall TTAS0040M::PgTabCanCloseEx(TObject *Sender, int ATabIndex, bool &ACanClose) { int nActiveIdx = ATabIndex; if (nActiveIdx <= 0) return; nActiveIdx--; // ù¹øÂ° ÅÇÀº È­¸é¿¡ ¼û°ÜÁ® ÀÖ´Ù. m_pFormList->Delete(nActiveIdx); } //---------------------------------------------------------------------------