//--------------------------------------------------------------------------- #include #include "ITSSkinF.h" #include "ITSUtilF.h" #include "FrmResourceF.h" #include "ITSLangTransF.h" #pragma hdrstop #include "FRAME_TrafficLinkListF.h" #include "CDSNodeF.h" #include "CDSLinkF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "cxButtons" #pragma link "cxCalc" #pragma link "cxCheckBox" #pragma link "cxClasses" #pragma link "cxContainer" #pragma link "cxControls" #pragma link "cxCustomData" #pragma link "cxData" #pragma link "cxDataStorage" #pragma link "cxEdit" #pragma link "cxFilter" #pragma link "cxGraphics" #pragma link "cxGrid" #pragma link "cxGridCustomTableView" #pragma link "cxGridCustomView" #pragma link "cxGridLevel" #pragma link "cxGridTableView" #pragma link "cxLookAndFeelPainters" #pragma link "cxLookAndFeels" #pragma link "cxStyles" #pragma link "cxTextEdit" #pragma link "dxSkinBlack" #pragma link "dxSkinBlue" #pragma link "dxSkinsCore" #pragma link "dxSkinscxPCPainter" #pragma link "cxLabel" #pragma resource "*.dfm" //TFRAMETrafficLinkList *FRAMETrafficLinkList; //--------------------------------------------------------------------------- __fastcall TFRAMETrafficLinkList::TFRAMETrafficLinkList(TComponent* Owner) : TFrame(Owner) { LangTrans->Translate(this, ITSDb_GetConnection()); m_pGDC = TvList->DataController; TvList->OptionsView->NoDataToDisplayInfoText = FrmLang->lblNoInfo->Caption;//"<¸µÅ© ¼ÒÅëÁ¤º¸°¡ ¾ø½À´Ï´Ù>"; FCodeLTC = ItsCodeManager->FLists.Find("LTC"); //¼ÒÅëµî±Þ FCodeCST = ItsCodeManager->FLists.Find("CST"); //¼öÁý½Ã½ºÅÛ À¯Çü FCodeMCS = ItsCodeManager->FLists.Find("MCS"); //°áÃøº¸Á¤ ¼ö´Ü } //--------------------------------------------------------------------------- void __fastcall TFRAMETrafficLinkList::UpdateList() { TCDSTraffic *pTraf; TItsNode *pNode; TItsSubCode *pSubCode; CMM_ClearGridTableView(TvList); FLastAnsTime = ""; int nRow = 0; try { TvList->BeginUpdate(); TDateTime dtBefore15MM = Now() - (double)15 / (double)1440; try { ItsLinkManager->FLists.Lock(); FOR_STL(TItsLink*, pLink, ItsLinkManager->FLists) { pTraf = pLink->TRAF; if (pLink->REGN_YN == "Y" || ChkDispExt->Checked == true) { String sFNodeName = "[" + pLink->F_NODE_ID + "] "; pNode = ItsNodeManager->FLists.Find(pLink->F_NODE_ID); if (pNode) sFNodeName = sFNodeName + pNode->NODE_NAME; String sTNodeName = "[" + pLink->T_NODE_ID + "] "; pNode = ItsNodeManager->FLists.Find(pLink->T_NODE_ID); if (pNode) sTNodeName = sTNodeName + pNode->NODE_NAME; String sCST = "[" + pTraf->PRCN_SORC + "] "; if (FCodeCST) { pSubCode = FCodeCST->FSubLists.Find(pTraf->PRCN_SORC); if (pSubCode) sCST = sCST + pSubCode->CMMN_CD_KOR_NM; else { if (FCodeMCS) { pSubCode = FCodeMCS->FSubLists.Find(pTraf->PRCN_SORC); if (pSubCode) sCST = pSubCode->CMMN_CD_KOR_NM + sCST; } } } String sMCS = "[" + pTraf->ADJS_SORC + "] "; if (FCodeMCS) { pSubCode = FCodeMCS->FSubLists.Find(pTraf->ADJS_SORC); if (pSubCode) sMCS = sMCS + pSubCode->CMMN_CD_KOR_NM; } String sLTC = "[" + pTraf->CMTR_GRAD_CD + "] "; if (FCodeLTC) { pSubCode = FCodeLTC->FSubLists.Find(pTraf->CMTR_GRAD_CD); if (pSubCode) sLTC = sLTC + pSubCode->CMMN_CD_KOR_NM; } String sMissing = (pTraf->MISS_YN == "Y") ? FrmLang->lblMissing->Caption : String("");//"°áÃø" : ""; if (pTraf->LASTANS == "N") sMissing = FrmLang->lblMissing->Caption;//"°áÃø"; if (FLastAnsTime == "") FLastAnsTime = ITSUtil_StrToTime(pTraf->MPRCN_DT); nRow = m_pGDC->AppendRecord(); m_pGDC->Values[nRow][Column01->Index] = pLink->LINK_ID; //'¸µÅ©ID'; m_pGDC->Values[nRow][Column02->Index] = sFNodeName; //'½ÃÀÛ³ëµåID'; m_pGDC->Values[nRow][Column03->Index] = sTNodeName; //'Á¾·á³ëµåID'; m_pGDC->Values[nRow][Column04->Index] = ITSUtil_StrToTime(pTraf->PRCN_DT); //'°¡°ø ÀϽÃ'; //if (pTraf->LASTANS == "N") // ÃֽŠ15ºÐ ÀÌÀü ±âÁØ { m_pGDC->Values[nRow][Column05->Index] = pTraf->TFVL; //'±³Åë·®'; m_pGDC->Values[nRow][Column06->Index] = pTraf->SPED; //'¼Óµµ'; m_pGDC->Values[nRow][Column07->Index] = pTraf->OCPY_RATE; //'Á¡À¯À²'; m_pGDC->Values[nRow][Column08->Index] = pTraf->TRVL_HH; //'ÅëÇà½Ã°£'; m_pGDC->Values[nRow][Column09->Index] = sLTC; //'¼ÒÅëµî±Þ'; m_pGDC->Values[nRow][Column10->Index] = pTraf->CMTR_GRAD_CD; //'¼ÒÅëµî±ÞÄÚµå'; m_pGDC->Values[nRow][Column11->Index] = sMissing; //'°áÃø¿©ºÎ'; m_pGDC->Values[nRow][Column12->Index] = pTraf->PRCN_SPED; //'°¡°ø¼Óµµ'; m_pGDC->Values[nRow][Column13->Index] = pTraf->SMTH_SPED; //'ÆòȰȭ¼Óµµ'; m_pGDC->Values[nRow][Column14->Index] = pTraf->ADJS_SPED; //'º¸Á¤¼Óµµ'; m_pGDC->Values[nRow][Column15->Index] = pTraf->PTRN_SPED; //'ÆÐÅϼӵµ'; m_pGDC->Values[nRow][Column16->Index] = sCST; //'°¡°ø¼Ò½º'; m_pGDC->Values[nRow][Column17->Index] = sMCS; //'º¸Á¤¼Ò½º'; m_pGDC->Values[nRow][Column18->Index] = pTraf->DATA_NUM; //'µ¥ÀÌÅͰ³¼ö' } } } } __finally { ItsLinkManager->FLists.UnLock(); } } __finally { LblRecords->Caption = "("+FormatFloat("##,##0", m_pGDC->FilteredRecordCount) +"/"+FormatFloat("##,##0", m_pGDC->RecordCount) + ")"; TvList->EndUpdate(); TvList->DataController->GotoFirst(); TvList->DataController->FocusedRecordIndex = 0; } } //--------------------------------------------------------------------------- void __fastcall TFRAMETrafficLinkList::ChkDispExtPropertiesChange(TObject *Sender) { UpdateList(); } //--------------------------------------------------------------------------- int __fastcall TFRAMETrafficLinkList::GetSelLinkIds(String &ALinkIds) { ALinkIds = ""; if (TvList->ViewData->RecordCount <= 0) return 0; int nIndex = m_pGDC->FocusedRecordIndex; if( nIndex < 0 ) return 0; String sLinkId = VarToStr(m_pGDC->Values[nIndex][Column01->Index]); ALinkIds = sLinkId; return 1; } //--------------------------------------------------------------------------- void __fastcall TFRAMETrafficLinkList::TvListDataControllerFilterChanged(TObject *Sender) { CMM_SetFilterLike(TvList); LblRecords->Caption = "("+FormatFloat("##,##0", m_pGDC->FilteredRecordCount) +"/"+FormatFloat("##,##0", m_pGDC->RecordCount) + ")"; } //--------------------------------------------------------------------------- void __fastcall TFRAMETrafficLinkList::BtnExlSaveClick(TObject *Sender) { TcxGrid *pGrid = CxList; TcxGridTableView *pView = TvList; String sTitle= lblFileName->Caption;//"¸µÅ©¼ÒÅëÁ¤º¸"; CMM_ExportToExcelFile(sTitle, pGrid, pView, (TForm*)this); } //--------------------------------------------------------------------------- void __fastcall TFRAMETrafficLinkList::Column09CustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo, bool &ADone) { if (AViewInfo) { String sGrade = AViewInfo->GridRecord->DisplayTexts[Column10->Index]; if (sGrade == "LTC1") { ACanvas->Canvas->Brush->Color = clLime; } else if (sGrade == "LTC2") { ACanvas->Canvas->Brush->Color = clYellow; } else if (sGrade == "LTC3") { ACanvas->Canvas->Brush->Color = clRed; } else { ACanvas->Canvas->Brush->Color = clGray; } } } //--------------------------------------------------------------------------- void __fastcall TFRAMETrafficLinkList::Column11CustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo, bool &ADone) { if (AViewInfo) { String sMiss = AViewInfo->GridRecord->DisplayTexts[Column11->Index]; if (sMiss == FrmLang->lblMissing->Caption)//"°áÃø") { ACanvas->Canvas->Font->Color = clRed; } } } //---------------------------------------------------------------------------