/**************************************************************************** * @source : * @description : **************************************************************************** * DATE AUTHOR DESCRIPTION * -------------------------------------------------------------------------- * 2011/12/24 Á¤½ÂÈ£ ÃÖÃÊÀÛ¼º * ****************************************************************************/ //--------------------------------------------------------------------------- #include #include "ITSSkinF.h" #include "ITSUtilF.h" #include "ITSDbF.h" #include "AppGlobalF.h" #include "WindowMsgF.h" #include "CDSFacilityF.h" #include "CommFlashF.h" #pragma hdrstop #include "VDSM000MF.h" #include "FrmMainF.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 "cxDropDownEdit" #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 "cxLabel" #pragma link "cxLookAndFeelPainters" #pragma link "cxLookAndFeels" #pragma link "cxStyles" #pragma link "cxTextEdit" #pragma link "dxSkinBlack" #pragma link "dxSkinBlue" #pragma link "dxSkinCaramel" #pragma link "dxSkinCoffee" #pragma link "dxSkinDarkRoom" #pragma link "dxSkinDarkSide" #pragma link "dxSkinFoggy" #pragma link "dxSkinGlassOceans" #pragma link "dxSkiniMaginary" #pragma link "dxSkinLilian" #pragma link "dxSkinLiquidSky" #pragma link "dxSkinLondonLiquidSky" #pragma link "dxSkinMcSkin" #pragma link "dxSkinMoneyTwins" #pragma link "dxSkinOffice2007Black" #pragma link "dxSkinOffice2007Blue" #pragma link "dxSkinOffice2007Green" #pragma link "dxSkinOffice2007Pink" #pragma link "dxSkinOffice2007Silver" #pragma link "dxSkinOffice2010Black" #pragma link "dxSkinOffice2010Blue" #pragma link "dxSkinOffice2010Silver" #pragma link "dxSkinsCore" #pragma link "dxSkinscxPCPainter" #pragma link "dxSkinSeven" #pragma link "dxSkinSharp" #pragma link "dxSkinSilver" #pragma link "dxSkinStardust" #pragma link "cxGroupBox" #pragma link "cxGridBandedTableView" #pragma resource "*.dfm" TVDSM000M *VDSM000M = NULL; //--------------------------------------------------------------------------- __fastcall TVDSM000M::TVDSM000M(TComponent* Owner) : TForm(Owner) { ITSSkin_Load(this); CMM_LoadForm(g_sFormsDir, this); FTitle = "VDS-°ËÁö±â »óÅÂÇöȲ"; FFacilityType = ""; } //--------------------------------------------------------------------------- /* * ´Ý±â¹öư À̳ª x¹öư Ŭ¸¯½Ã °øÅëÀ¸·Î ó¸®ÇÏ´Â ·ÎÁ÷À̵é¾î°£´Ù.. * Form°ú DataModule class¸¦ delete½ÃŲ´Ù. * arguments * * return * void */ void __fastcall TVDSM000M::CommClose() { try { CMM_SaveForm(g_sFormsDir, this); } catch(...) { } } //--------------------------------------------------------------------------- /* * FormÀ» º¸¿©ÁÙ¶§ È£ÃâµÇ´Â event ¸Þ¼­µåÀÌ´Ù. * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TVDSM000M::FormShow(TObject *Sender) { Refresh(); FormInit(); TmrShow->Enabled = true; } //--------------------------------------------------------------------------- /* * form ÃʱâÈ­ * * arguments * * return * void */ void __fastcall TVDSM000M::FormInit() { TvList->OptionsView->NoDataToDisplayInfoText = ""; } //--------------------------------------------------------------------------- /* * FormÀÌ ShowµÇ°í ³­ ÈÄ ÃÖÃÊ 1ȸ ¼öÇàµÇ´Â ŸÀÌ¸Ó À̺¥Æ® * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TVDSM000M::TmrShowTimer(TObject *Sender) { TmrShow->Enabled = false; RefreshData(); } //--------------------------------------------------------------------------- /* * Search ¹öư Ŭ¸¯ À̺¥Æ® Çڵ鷯 * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TVDSM000M::BtnSearchClick(TObject *Sender) { BtnSearch->Enabled = false; TmrShow->Enabled = true; } //--------------------------------------------------------------------------- /* * Refresh Data Event Function * arguments * * return * void */ void __fastcall TVDSM000M::RefreshData() { BtnSearch->Enabled = false; UpdateFacility(); BtnSearch->Enabled = true; } //--------------------------------------------------------------------------- /* * Close ¹öư Ŭ¸¯ À̺¥Æ® Çڵ鷯 * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TVDSM000M::BtnCloseClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TVDSM000M::FormClose(TObject *Sender, TCloseAction &Action) { CommClose(); VDSM000M = NULL; Action = caFree; } //--------------------------------------------------------------------------- void __fastcall TVDSM000M::UpdateFacility() { String sQry; TADOQuery *pADO = NULL; sQry = #if 0 "SELECT A.CTLR_MNGM_NMBR, A.VDS_CTLR_ID, A.LCTN, \r\n" " B.DTCT_NMBR, B.VDS_DTCT_NM, B.ISTL_LANE, \r\n" " C.UPDT_DT, C.DTCT_FAIL_STTS, \r\n" " (SELECT CMMN_CD_KOR_NM \r\n" " FROM TB_CMMN_CD \r\n" " WHERE CMMN_CLSF_CD = 'ACD' \r\n" " AND CMMN_CD = B.DTCT_TYPE_CD) AS DTCT_TYPE_CD_NM, \r\n" " DECODE(TRIM(C.DTCT_FAIL_STTS), '0', 'Á¤»ó', \r\n" " '1', 'Á¡À¯¿À·ù', \r\n" " '2', '´Ü¼±¿À·ù', \r\n" " '3', '¹ßÁø¿À·ù', \r\n" " '4', 'Åë½ÅÀå¾Ö', '¾Ë¼ö¾øÀ½') AS STTS_NM \r\n" " \r\n" " FROM TB_VDS_CTLR A, \r\n" " TB_VDS_DTCT_MSTR B, \r\n" " (SELECT * \r\n" " FROM TB_VDS_DTCT_STTS_PNST \r\n" " WHERE UPDT_DT >= TO_CHAR(SYSDATE-5/1440, 'YYYYMMDDHH24MISS') \r\n" " ) C \r\n" " WHERE A.DEL_YN = 'N' \r\n" " AND B.DEL_YN = 'N' \r\n" " AND A.CTLR_MNGM_NMBR = B.CTLR_MNGM_NMBR \r\n" " AND B.DTCT_NMBR = C.DTCT_NMBR(+) \r\n" " ORDER BY A.CTLR_MNGM_NMBR, B.DTCT_NMBR, B.ISTL_LANE \r\n"; #else "SELECT A.*, \r\n" " B.DTCT_NMBR, B.VDS_DTCT_NM, B.ISTL_LANE, \r\n" " C.UPDT_DT, C.DTCT_FAIL_STTS, \r\n" " (SELECT CMMN_CD_KOR_NM \r\n" " FROM TB_CMMN_CD \r\n" " WHERE CMMN_CLSF_CD = 'ACD' \r\n" " AND CMMN_CD = B.DTCT_TYPE_CD) AS DTCT_TYPE_CD_NM, \r\n" " DECODE(TRIM(C.DTCT_FAIL_STTS), '0', 'Á¤»ó', \r\n" " '1', 'Á¡À¯¿À·ù', \r\n" " '2', '´Ü¼±¿À·ù', \r\n" " '3', '¹ßÁø¿À·ù', \r\n" " '4', 'Åë½ÅÀå¾Ö', '¾Ë¼ö¾øÀ½') AS STTS_NM \r\n" " FROM (SELECT B.CTLR_MNGM_NMBR, B.VDS_CTLR_ID, B.LCTN, \r\n" " CMNC_STTS_CD AS STTS_CD, CBOX_DOOR_STTS_CD AS DOOR_STTS_CD, \r\n" " DECODE(CMNC_STTS_CD, 'CMS0', '0', 'CMS1', '1', '2') AS COMM, \r\n" " DECODE(CBOX_DOOR_STTS_CD, 'CDS0', '0', 'CDS1', '1', '0') AS DOOR, \r\n" " NVL(A.CBOX_TMPR, 0) AS CBOX_TMPR, \r\n" " A.UPDT_DT AS STS00, \r\n" " '0' AS STS01, '0' AS STS02, '0' AS STS03, '0' AS STS04, '0' AS STS05, \r\n" " '0' AS STS06, '0' AS STS07, '0' AS STS08, '0' AS STS09, '0' AS STS10 \r\n" " FROM (SELECT * \r\n" " FROM TB_VDS_CTLR_STTS \r\n" " WHERE UPDT_DT >= TO_CHAR(SYSDATE-5/1440, 'YYYYMMDDHH24MISS') \r\n" " ) A, \r\n" " TB_VDS_CTLR B \r\n" " WHERE B.DEL_YN = 'N' \r\n" " AND A.CTLR_MNGM_NMBR(+) = B.CTLR_MNGM_NMBR \r\n" " ) A, \r\n" " TB_VDS_DTCT_MSTR B, \r\n" " (SELECT * \r\n" " FROM TB_VDS_DTCT_STTS_PNST \r\n" " WHERE UPDT_DT >= TO_CHAR(SYSDATE-5/1440, 'YYYYMMDDHH24MISS') \r\n" " ) C \r\n" " WHERE B.DEL_YN = 'N' \r\n" " AND A.CTLR_MNGM_NMBR = B.CTLR_MNGM_NMBR \r\n" " AND B.DTCT_NMBR = C.DTCT_NMBR(+) \r\n" " ORDER BY A.CTLR_MNGM_NMBR, B.DTCT_NMBR, B.ISTL_LANE \r\n"; #endif try { int nRow = 0; int nDataCnt = 0; TcxDataController *pGDC = TvList->DataController; try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Open(); CMM_ClearGridTableView(TvList); TvList->BeginUpdate(); nDataCnt = pADO->RecordCount; pGDC->RecordCount = nDataCnt; for( ; !pADO->Eof; pADO->Next(), nRow++) { pGDC->Values[nRow][Col00->Index] = pADO->FieldByName("CTLR_MNGM_NMBR")->AsString; pGDC->Values[nRow][Col01->Index] = pADO->FieldByName("LCTN")->AsString; pGDC->Values[nRow][Col02->Index] = pADO->FieldByName("ISTL_LANE")->AsString; pGDC->Values[nRow][Col03->Index] = pADO->FieldByName("DTCT_TYPE_CD_NM")->AsString; pGDC->Values[nRow][Col04->Index] = pADO->FieldByName("DTCT_NMBR")->AsString; pGDC->Values[nRow][Col05->Index] = pADO->FieldByName("VDS_DTCT_NM")->AsString; pGDC->Values[nRow][Col06->Index] = pADO->FieldByName("UPDT_DT")->AsString; String sComm = pADO->FieldByName("COMM")->AsString; if (sComm == "0") { pGDC->Values[nRow][Col07->Index] = pADO->FieldByName("STTS_NM")->AsString; pGDC->Values[nRow][Col09->Index] = "Á¤»ó"; } else { pGDC->Values[nRow][Col07->Index] = "¾Ë¼ö¾øÀ½"; pGDC->Values[nRow][Col09->Index] = "ÀÌ»ó"; } } } catch(EDatabaseError &E) { ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); DBERRORMSG("VDS-°ËÁö±â»óÅÂÁ¤º¸Á¶È¸", 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("VDS-°ËÁö±â»óÅÂÁ¤º¸Á¶È¸", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } TvList->EndUpdate(); } CMM_ExpandCollapseChk(TvList, ChkExpand->Checked); } //--------------------------------------------------------------------------- void __fastcall TVDSM000M::BtnExlSaveClick(TObject *Sender) { TcxGrid *pGrid = CxList; TcxGridTableView *pView = TvList; String sTitle= "VDS-°ËÁö±â »óÅÂÇöȲ"; CMM_ExportToExcelFile(sTitle, pGrid, pView, (TForm*)this); } //--------------------------------------------------------------------------- void __fastcall TVDSM000M::ChkExpandClick(TObject *Sender) { CMM_ExpandCollapseChk(TvList, ChkExpand->Checked); } //--------------------------------------------------------------------------- void __fastcall TVDSM000M::TvListDataControllerFilterChanged(TObject *Sender) { CMM_SetFilterLike(TvList); } //--------------------------------------------------------------------------- void __fastcall TVDSM000M::Col07CustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo, bool &ADone) { if( AViewInfo ) { if(AViewInfo->Text == "Á¤»ó") { ACanvas->Canvas->Font->Color = clTeal; } else if(AViewInfo->Text == "Åë½ÅÀå¾Ö") { ACanvas->Canvas->Font->Color = clRed; } else if(AViewInfo->Text == "¾Ë¼ö¾øÀ½") { ACanvas->Canvas->Font->Color = clGray; } else { ACanvas->Canvas->Font->Color = clFuchsia; } } } //--------------------------------------------------------------------------- void __fastcall TVDSM000M::Col09CustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo, bool &ADone) { if( AViewInfo ) { if(AViewInfo->Text == "Á¤»ó") { ACanvas->Canvas->Font->Color = clTeal; } else { ACanvas->Canvas->Font->Color = clRed; } } } //---------------------------------------------------------------------------