//--------------------------------------------------------------------------- #include #include "ITSSkinF.h" #include "ITSUtilF.h" #include "AppGlobalF.h" #pragma hdrstop #include "VMSEDT0MF.h" #include "VMSSEL0MF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "cxButtons" #pragma link "cxCalendar" #pragma link "cxContainer" #pragma link "cxControls" #pragma link "cxDropDownEdit" #pragma link "cxEdit" #pragma link "cxGraphics" #pragma link "cxGroupBox" #pragma link "cxLabel" #pragma link "cxLookAndFeelPainters" #pragma link "cxLookAndFeels" #pragma link "cxMaskEdit" #pragma link "cxPC" #pragma link "cxPCdxBarPopupMenu" #pragma link "cxSpinEdit" #pragma link "cxSplitter" #pragma link "cxTextEdit" #pragma link "cxTimeEdit" #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 "cxRadioGroup" #pragma link "cxClasses" #pragma link "cxCustomData" #pragma link "cxData" #pragma link "cxDataStorage" #pragma link "cxDBData" #pragma link "cxFilter" #pragma link "cxGrid" #pragma link "cxGridCustomTableView" #pragma link "cxGridCustomView" #pragma link "cxGridDBTableView" #pragma link "cxGridLevel" #pragma link "cxGridTableView" #pragma link "cxStyles" #pragma link "cxCheckBox" #pragma link "cxImage" #pragma link "cxButtonEdit" #pragma link "cxBlobEdit" #pragma link "cxColorComboBox" #pragma link "cxCalc" #pragma resource "*.dfm" TVMSEDT0M *VMSEDT0M = NULL; //--------------------------------------------------------------------------- __fastcall TVMSEDT0M::TVMSEDT0M(TComponent* Owner) : TForm(Owner) { ITSSkin_Load(this); ////CMM_LoadForm(g_sFormsDir, this); FUpdate= false; FTitle = Caption; TvForm->OptionsView->DataRowHeight = 0; TvForm->OptionsView->CellAutoHeight = true; TvForm->OptionsView->Indicator = false; TvForm->OptionsCustomize->ColumnMoving = false; TvForm->OptionsCustomize->ColumnSorting = false; FStrTime = ""; FEndTime = ""; FSelected = false; } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::CommClose() { try { ////CMM_SaveForm(g_sFormsDir, this); } catch(...) { } } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::FormCreate(TObject *Sender) { // } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::FormShow(TObject *Sender) { if (FMode == "A") { FTitle = "VMS ½ºÄÉÁÙ Àϰý µî·Ï"; GrpObj->Caption = "¢º VMS ¸ñ·Ï"; BtnAllDel->Visible = false; BtnAllEdt->Caption = "¼±ÅÃÇÑ VMS¿¡ °³º° ³»¿ëÀ¸·Î ÀúÀå(Ãß°¡)"; BtnAllAdd->Caption = "¼±ÅÃÇÑ VMS¿¡ µ¿ÀÏ ³»¿ëÀ¸·Î ÀúÀå(Ãß°¡)"; } else { FTitle = "VMS ½ºÄÉÁÙ Àϰý ÆíÁý"; GrpObj->Caption = "¢º ¼±Åà ¸Þ½ÃÁö¸¦ ½ºÄÉÁÙ¿¡ »ç¿ëÁßÀÎ VMS ¸ñ·Ï"; BtnAllEdt->Caption = "¼±ÅÃÇÑ VMS¿¡ °³º° ³»¿ëÀ¸·Î ÀúÀå(¼öÁ¤)"; BtnAllAdd->Caption = "¼±ÅÃÇÑ VMS¿¡ µ¿ÀÏ ³»¿ëÀ¸·Î ÀúÀå(¼öÁ¤)"; } if (SCHEDULE_LCS == FScheType) { FTitle = StringReplace(FTitle, "VMS", "LCS", TReplaceFlags() << rfReplaceAll); Col01->Caption = "LCS ID"; Col02->Caption = "LCS ¸íĪ"; GrpForm->Caption = "¢º LCS ¸Þ½ÃÁö Æû"; Col04->Visible = false; Col05->Visible = false; Col10->Visible = false; Col07->Visible = true; PnlForm->Visible = false; //PnlWeek->Visible = false; //ImgDesc01->Visible = false; //Label4->Visible = false; //DtEndDate->Visible = false; //DtEndTime->Visible = false; GrpObj->Caption = StringReplace(GrpObj->Caption, "VMS", "LCS", TReplaceFlags() << rfReplaceAll); BtnAllAdd->Caption = StringReplace(BtnAllAdd->Caption, "VMS", "LCS", TReplaceFlags() << rfReplaceAll); BtnAllEdt->Caption = StringReplace(BtnAllEdt->Caption, "VMS", "LCS", TReplaceFlags() << rfReplaceAll); BtnAllDel->Caption = StringReplace(BtnAllDel->Caption, "VMS", "LCS", TReplaceFlags() << rfReplaceAll); if (FMode == "A") { BtnAllEdt->Enabled = true; } else { BtnAllEdt->Enabled = false; } } else if (SCHEDULE_EMGN == FScheType) { PnlWeek->Visible = false; Col10->Visible = false; } Caption = FTitle; Refresh(); FormInit(); ChangeEditMode(1); TmrShow->Enabled = true; } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::FormInit() { FormObjectInit(); FCommCtrlTarget = CenterCommManager->FLists.Find("24"); // ±ä±Þ¹®¾Èµî·Ï FNewDb = false; } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::FormObjectInit() { //TvList->OptionsView->NoDataToDisplayInfoText = "<°ü·Ã VMS Á¤º¸°¡ ¾ø½À´Ï´Ù>"; } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::TmrShowTimer(TObject *Sender) { TmrShow->Enabled = false; BtnSearchClick(NULL); } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::BtnCloseClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::FormClose(TObject *Sender, TCloseAction &Action) { CommClose(); VMSEDT0M = NULL; //Action = caFree; } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::ChangeEditMode(int AEdit) { } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::BtnSearchClick(TObject *Sender) { RefreshData(); EdFocus->SetFocus(); ChangeEditMode(1); if (FStrTime == "") { DtStrDate->Date = Now(); } else { TDateTime dtStrDate = APP_StrToDateTime(FStrTime); DtStrDate->Date = dtStrDate; DtStrTime->Date = dtStrDate; DtStrTime->Time = dtStrDate; } if (FEndTime == "") { int year = 2099; int mon = 12; int day = 31; if (SCHEDULE_EMGN == FScheType) { TDateTime dtNow = Now()+1; year = dtNow.FormatString("YYYY").ToInt(); mon = dtNow.FormatString("MM").ToInt(); day = dtNow.FormatString("DD").ToInt(); } TDateTime dtEndDate = EncodeDate(year, mon, day); TDateTime dtEndTime = EncodeTime(23, 59, 59, 0); DtEndDate->Date = dtEndDate; DtEndTime->Date = dtEndDate; DtEndTime->Time = dtEndTime; } else { TDateTime dtEndDate = APP_StrToDateTime(FEndTime); DtEndDate->Date = dtEndDate; DtEndTime->Date = dtEndDate; DtEndTime->Time = dtEndDate; } ChkWeek0->Checked = FWeek.SubString(1,1) == "1"; ChkWeek1->Checked = FWeek.SubString(2,1) == "1"; ChkWeek2->Checked = FWeek.SubString(3,1) == "1"; ChkWeek3->Checked = FWeek.SubString(4,1) == "1"; ChkWeek4->Checked = FWeek.SubString(5,1) == "1"; ChkWeek5->Checked = FWeek.SubString(6,1) == "1"; ChkWeek6->Checked = FWeek.SubString(7,1) == "1"; } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::RefreshData() { // °Ë»öÁ¶°Ç¿¡ ÀÇÇÑ ¸µÅ© µ¥ÀÌÅÍ Á¶È¸ FormClear(); DisplayFormInfo(); CMM_ClearGridTableView(TvList); if (FScheType == SCHEDULE_DFLT) { DisplayScheDfltInfo(); } else if (FScheType == SCHEDULE_PUBR) { DisplaySchePubrInfo(); } else if (FScheType == SCHEDULE_EMGN) { DisplayScheEmgnInfo(); } else if (FScheType == SCHEDULE_VMS) { DisplayScheVmsInfo(); } else if (FScheType == SCHEDULE_LCS) { DisplayScheLcsInfo(); } } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::FormClear() { EdFormId->Clear(); EdObjId->Clear(); FNewDb = false; } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::DisplayInfo() { FormClear(); ChangeEditMode(3); } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::DisplayFormInfo() { CMM_ClearGridTableView(TvForm); String sQry; TADOQuery *pADO = NULL; sQry = "SELECT A.VMS_FORM_ID, A.VMS_FORM_NM, \r\n" " A.VMS_FORM_IMG \r\n" " FROM TB_VMS_FORM A \r\n" " WHERE A.VMS_FORM_ID = :p01 \r\n" " ORDER BY A.VMS_FORM_ID \r\n"; try { TvForm->BeginUpdate(); TcxDataController *pGDC = TvForm->DataController; int nRow; try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", FFormId); ITSDb_SQLOpen(pADO); for( ; !pADO->Eof; pADO->Next()) { nRow = pGDC->AppendRecord(); pGDC->Values[nRow][0] = pADO->FieldByName("VMS_FORM_ID")->AsString; pGDC->Values[nRow][1] = pADO->FieldByName("VMS_FORM_IMG")->AsVariant; if (SCHEDULE_LCS == FScheType) { GrpForm->Caption = "¢º LCS ¸Þ½ÃÁö Æû: " + pADO->FieldByName("VMS_FORM_NM")->AsString; } else { GrpForm->Caption = "¢º VMS ¸Þ½ÃÁö Æû: " + pADO->FieldByName("VMS_FORM_NM")->AsString; } } } catch(EDatabaseError &E) { DBERRORMSG("TVMSEDT0M::DisplayFormInfo", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TVMSEDT0M::DisplayFormInfo", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } TvForm->ApplyBestFit(NULL, false, false); TvForm->EndUpdate(); } } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::DisplayScheDfltInfo() { } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::DisplaySchePubrInfo() { String sQry; TADOQuery *pADO = NULL; String sWhere; if (FMode == "A") { sWhere = " AND A.VMS_CTLR_ID = B.VMS_CTLR_ID(+) \r\n"; } else { sWhere = " AND A.VMS_CTLR_ID = B.VMS_CTLR_ID \r\n"; } sQry = "SELECT B.VMS_FORM_ID, A.VMS_CTLR_ID, A.VMS_NM, \r\n" " B.VMS_FORM_NM, B.DSPL_HR, \r\n" " B.DSPL_BGN_YMD, B.DSPL_BGN_HM, \r\n" " B.DSPL_FNSH_YMD, B.DSPL_FNSH_HM, \r\n" " NVL(B.DSPL_WEEK, '1111111') AS DSPL_WEEK, \r\n" " DECODE(B.VMS_CTLR_ID, NULL, 0, 1) AS FG \r\n" " FROM TB_VMS_CTLR A, \r\n" " (SELECT X.VMS_CTLR_ID, \r\n" " X.VMS_FORM_ID, \r\n" " X.DSPL_BGN_YMD, \r\n" " X.DSPL_BGN_HM, \r\n" " X.DSPL_FNSH_YMD, \r\n" " X.DSPL_FNSH_HM, \r\n" " X.DSPL_WEEK, \r\n" " Y.VMS_MODL_KIND, \r\n" " Y.VMS_FORM_NM, \r\n" " Y.DSPL_HR \r\n" " FROM TB_VMS_PUBRL_FORM X, \r\n" " TB_VMS_FORM Y \r\n" " WHERE X.VMS_FORM_ID = Y.VMS_FORM_ID \r\n" " AND Y.VMS_MODL_KIND = :p02 \r\n" " AND X.VMS_FORM_ID = :p03) B \r\n" " WHERE A.VMS_MODL_KIND = :p01 \r\n"; sQry+= sWhere; try { TvList->BeginUpdate(); TcxDataController *pGDC = TvList->DataController; int nRow; try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", FVmsTypeCd); ITSDb_SQLBind(pADO, "p02", FVmsTypeCd); ITSDb_SQLBind(pADO, "p03", FFormId); ITSDb_SQLOpen(pADO); for( ; !pADO->Eof; pADO->Next()) { String sFormId = pADO->FieldByName("VMS_FORM_ID")->AsString; if (FScheType == SCHEDULE_PUBR && FMode == "A") { if (sFormId == FFormId) { //ÀüüÃß°¡Àε¥ ±âÁ¸¿¡ µî·ÏµÇ¾î ÀÖÀ¸¸é Ãß°¡ÇÏÁö ¾Ê´Â´Ù. // È«º¸Å×ÀÌºí¿¡¼­ VMS ID¿Í FORM ID¸¦ Ű·Î »ç¿ëÇÑ´Ù. continue; } } nRow = pGDC->AppendRecord(); pGDC->Values[nRow][Col00->Index] = pADO->FieldByName("VMS_CTLR_ID")->AsString; pGDC->Values[nRow][Col01->Index] = pADO->FieldByName("VMS_CTLR_ID")->AsString; pGDC->Values[nRow][Col02->Index] = pADO->FieldByName("VMS_NM")->AsString; String sFlag = pADO->FieldByName("FG")->AsString; if (sFlag == "0") { pGDC->Values[nRow][ColumnSel->Index] = true; pGDC->Values[nRow][Col03->Index] = "4"; pGDC->Values[nRow][Col04->Index] = Now().FormatString(STR_HHNN); pGDC->Values[nRow][Col05->Index] = "2099-12-31 23:59"; pGDC->Values[nRow][Col06->Index] = "Y"; pGDC->Values[nRow][Col07->Index] = "1"; pGDC->Values[nRow][Col08->Index] = Now().FormatString("YYYYMMDDHHNN") + "00"; pGDC->Values[nRow][Col09->Index] = "20991231235959"; pGDC->Values[nRow][Col10->Index] = "1111111"; continue; } if (FMode == "A") { pGDC->Values[nRow][ColumnSel->Index] = false; } else { pGDC->Values[nRow][ColumnSel->Index] = true; } String sStrDate = pADO->FieldByName("DSPL_BGN_YMD")->AsString + pADO->FieldByName("DSPL_BGN_HM")->AsString + "00"; String sEndDate = pADO->FieldByName("DSPL_FNSH_YMD")->AsString + pADO->FieldByName("DSPL_FNSH_HM")->AsString + "00"; pGDC->Values[nRow][Col03->Index] = pADO->FieldByName("DSPL_HR")->AsString; pGDC->Values[nRow][Col04->Index] = ITSUtil_FormatStr(sStrDate, STR_HHNN); pGDC->Values[nRow][Col05->Index] = ITSUtil_FormatStr(sEndDate, STR_HHNN); pGDC->Values[nRow][Col06->Index] = "Y"; pGDC->Values[nRow][Col07->Index] = "1"; pGDC->Values[nRow][Col08->Index] = sStrDate; pGDC->Values[nRow][Col09->Index] = sEndDate; pGDC->Values[nRow][Col10->Index] = pADO->FieldByName("DSPL_WEEK")->AsString; FStrTime = sStrDate; FEndTime = sEndDate; } } catch(EDatabaseError &E) { DBERRORMSG("TVMSEDT0M::DisplaySchePubrInfo", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TVMSEDT0M::DisplaySchePubrInfo", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } TvList->EndUpdate(); } } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::DisplayScheEmgnInfo() { String sQry; TADOQuery *pADO = NULL; String sWhere; if (FMode == "A") { sWhere = " AND A.VMS_CTLR_ID = B.VMS_CTLR_ID(+) \r\n"; } else { sWhere = " AND A.VMS_CTLR_ID = B.VMS_CTLR_ID \r\n"; } sQry = "SELECT B.VMS_FORM_ID, A.VMS_CTLR_ID, A.VMS_NM, \r\n" " B.VMS_FORM_NM, B.DSPL_HR, \r\n" " TO_CHAR(B.DSPL_BGN_DT, 'YYYYMMDDHH24MISS') AS DSPL_BGN_DT, \r\n" " TO_CHAR(B.DSPL_FNSH_DT, 'YYYYMMDDHH24MISS') AS DSPL_FNSH_DT, \r\n" " NVL(B.DSPL_WEEK, '1111111') AS DSPL_WEEK, \r\n" " DECODE(B.VMS_CTLR_ID, NULL, 0, 1) AS FG \r\n" " FROM TB_VMS_CTLR A, \r\n" " (SELECT X.VMS_CTLR_ID, \r\n" " X.VMS_FORM_ID, \r\n" " X.DSPL_BGN_DT, \r\n" " X.DSPL_FNSH_DT, \r\n" " '1111111' AS DSPL_WEEK, \r\n" " Y.VMS_MODL_KIND, \r\n" " Y.VMS_FORM_NM, \r\n" " Y.DSPL_HR \r\n" " FROM TB_VMS_EMGNC_FORM X, \r\n" " TB_VMS_FORM Y \r\n" " WHERE X.VMS_FORM_ID = Y.VMS_FORM_ID \r\n" " AND Y.VMS_MODL_KIND = :p02 \r\n" " AND X.VMS_FORM_ID = :p03) B \r\n" " WHERE A.VMS_MODL_KIND = :p01 \r\n"; sQry+= sWhere; try { TvList->BeginUpdate(); TcxDataController *pGDC = TvList->DataController; int nRow; try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", FVmsTypeCd); ITSDb_SQLBind(pADO, "p02", FVmsTypeCd); ITSDb_SQLBind(pADO, "p03", FFormId); ITSDb_SQLOpen(pADO); for( ; !pADO->Eof; pADO->Next()) { String sFormId = pADO->FieldByName("VMS_FORM_ID")->AsString; if (FScheType == SCHEDULE_PUBR && FMode == "A") { if (sFormId == FFormId) { //ÀüüÃß°¡Àε¥ ±âÁ¸¿¡ µî·ÏµÇ¾î ÀÖÀ¸¸é Ãß°¡ÇÏÁö ¾Ê´Â´Ù. // È«º¸Å×ÀÌºí¿¡¼­ VMS ID¿Í FORM ID¸¦ Ű·Î »ç¿ëÇÑ´Ù. continue; } } nRow = pGDC->AppendRecord(); pGDC->Values[nRow][Col00->Index] = pADO->FieldByName("VMS_CTLR_ID")->AsString; pGDC->Values[nRow][Col01->Index] = pADO->FieldByName("VMS_CTLR_ID")->AsString; pGDC->Values[nRow][Col02->Index] = pADO->FieldByName("VMS_NM")->AsString; String sFlag = pADO->FieldByName("FG")->AsString; if (sFlag == "0") { pGDC->Values[nRow][ColumnSel->Index] = true; pGDC->Values[nRow][Col03->Index] = "4"; pGDC->Values[nRow][Col04->Index] = Now().FormatString(STR_HHNN); pGDC->Values[nRow][Col05->Index] = "2099-12-31 23:59"; pGDC->Values[nRow][Col06->Index] = "Y"; pGDC->Values[nRow][Col07->Index] = "1"; pGDC->Values[nRow][Col08->Index] = Now().FormatString("YYYYMMDDHHNN") + "00"; pGDC->Values[nRow][Col09->Index] = (Now()+1).FormatString("YYYYMMDDHHNN") + "59"; pGDC->Values[nRow][Col10->Index] = "1111111"; pGDC->Values[nRow][Col11->Index] = Now().FormatString("YYYYMMDDHHNN") + "00"; continue; } if (FMode == "A") { pGDC->Values[nRow][ColumnSel->Index] = false; } else { pGDC->Values[nRow][ColumnSel->Index] = true; } String sStrDate = pADO->FieldByName("DSPL_BGN_DT")->AsString; String sEndDate = pADO->FieldByName("DSPL_FNSH_DT")->AsString; pGDC->Values[nRow][Col03->Index] = pADO->FieldByName("DSPL_HR")->AsString; pGDC->Values[nRow][Col04->Index] = ITSUtil_FormatStr(sStrDate, STR_HHNN); pGDC->Values[nRow][Col05->Index] = ITSUtil_FormatStr(sEndDate, STR_HHNN); pGDC->Values[nRow][Col06->Index] = "Y"; pGDC->Values[nRow][Col07->Index] = "1"; pGDC->Values[nRow][Col08->Index] = sStrDate; pGDC->Values[nRow][Col09->Index] = sEndDate; pGDC->Values[nRow][Col10->Index] = pADO->FieldByName("DSPL_WEEK")->AsString; pGDC->Values[nRow][Col11->Index] = sStrDate; FStrTime = sStrDate; FEndTime = sEndDate; } } catch(EDatabaseError &E) { DBERRORMSG("TVMSEDT0M::DisplayScheEmgnInfo", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TVMSEDT0M::DisplayScheEmgnInfo", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } TvList->EndUpdate(); } } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::DisplayScheVmsInfo() { } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::DisplayScheLcsInfo() { String sQry; TADOQuery *pADO = NULL; String sWhere; if (FMode == "A") { sWhere = " AND A.LCS_CTLR_ID = B.LCS_CTLR_ID(+) \r\n"; } else { sWhere = " AND A.LCS_CTLR_ID = B.LCS_CTLR_ID \r\n"; } sQry = "SELECT B.VMS_FORM_ID, A.LCS_CTLR_ID, \r\n" " (SELECT INSTL_PSTN \r\n" " FROM TB_FCLT \r\n" " WHERE FCLT_ID = A.FCLT_ID) AS LCS_NM, \r\n" " B.VMS_FORM_NM, B.DSPL_HR, \r\n" " TO_CHAR(B.PROV_BGN_DT, 'YYYYMMDDHH24MISS') AS PROV_BGN_DT, \r\n" " '20991231235959' AS PROV_FNSH_DT, \r\n" " NVL(B.PROV_SN, 0) AS PROV_SN, \r\n" " B.DSPL_WEEK, \r\n" " DECODE(B.LCS_CTLR_ID, NULL, 0, 1) AS FG \r\n" " FROM TB_LCS_CTLR A, \r\n" " (SELECT X.LCS_CTLR_ID, \r\n" " X.VMS_FORM_ID, \r\n" " X.PROV_BGN_DT, \r\n" " X.PROV_SN, \r\n" " '1111111' AS DSPL_WEEK, \r\n" " Y.VMS_MODL_KIND, \r\n" " Y.VMS_FORM_NM, \r\n" " Y.DSPL_HR \r\n" " FROM TB_LCS_PROV_FORM X, \r\n" " TB_VMS_FORM Y \r\n" " WHERE X.VMS_FORM_ID = Y.VMS_FORM_ID \r\n" " AND Y.VMS_MODL_KIND = :p02 \r\n" " AND X.VMS_FORM_ID = :p03) B \r\n" " WHERE A.USE_YN = 'Y' \r\n" " AND A.VMS_MODL_KIND = :p01 \r\n"; sQry+= sWhere; try { TvList->BeginUpdate(); TcxDataController *pGDC = TvList->DataController; int nRow; try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", FVmsTypeCd); ITSDb_SQLBind(pADO, "p02", FVmsTypeCd); ITSDb_SQLBind(pADO, "p03", FFormId); ITSDb_SQLOpen(pADO); for( ; !pADO->Eof; pADO->Next()) { String sFormId = pADO->FieldByName("VMS_FORM_ID")->AsString; if (FScheType == SCHEDULE_PUBR && FMode == "A") { if (sFormId == FFormId) { //ÀüüÃß°¡Àε¥ ±âÁ¸¿¡ µî·ÏµÇ¾î ÀÖÀ¸¸é Ãß°¡ÇÏÁö ¾Ê´Â´Ù. // È«º¸Å×ÀÌºí¿¡¼­ VMS ID¿Í FORM ID¸¦ Ű·Î »ç¿ëÇÑ´Ù. continue; } } nRow = pGDC->AppendRecord(); pGDC->Values[nRow][Col00->Index] = pADO->FieldByName("LCS_CTLR_ID")->AsString; pGDC->Values[nRow][Col01->Index] = pADO->FieldByName("LCS_CTLR_ID")->AsString; pGDC->Values[nRow][Col02->Index] = pADO->FieldByName("LCS_NM")->AsString; String sFlag = pADO->FieldByName("FG")->AsString; if (sFlag == "0") { pGDC->Values[nRow][ColumnSel->Index] = true; pGDC->Values[nRow][Col03->Index] = "4"; pGDC->Values[nRow][Col04->Index] = Now().FormatString(STR_HHNN); pGDC->Values[nRow][Col05->Index] = "2099-12-31 23:59"; pGDC->Values[nRow][Col06->Index] = "Y"; pGDC->Values[nRow][Col07->Index] = "0"; pGDC->Values[nRow][Col08->Index] = Now().FormatString("YYYYMMDDHHNN") + "00"; pGDC->Values[nRow][Col09->Index] = "20991231235959"; pGDC->Values[nRow][Col10->Index] = "1111111"; pGDC->Values[nRow][Col11->Index] = Now().FormatString("YYYYMMDDHHNN") + "00"; pGDC->Values[nRow][ColMode->Index] = "N"; continue; } if (FMode == "A") { pGDC->Values[nRow][ColumnSel->Index] = false; } else { pGDC->Values[nRow][ColumnSel->Index] = true; } String sStrDate = pADO->FieldByName("PROV_BGN_DT")->AsString; String sEndDate = pADO->FieldByName("PROV_FNSH_DT")->AsString; pGDC->Values[nRow][Col03->Index] = pADO->FieldByName("DSPL_HR")->AsString; pGDC->Values[nRow][Col04->Index] = ITSUtil_FormatStr(sStrDate, STR_HHNN); pGDC->Values[nRow][Col05->Index] = ITSUtil_FormatStr(sEndDate, STR_HHNN); pGDC->Values[nRow][Col06->Index] = "Y"; pGDC->Values[nRow][Col07->Index] = pADO->FieldByName("PROV_SN")->AsString; pGDC->Values[nRow][Col08->Index] = sStrDate; pGDC->Values[nRow][Col09->Index] = sEndDate; pGDC->Values[nRow][Col10->Index] = pADO->FieldByName("DSPL_WEEK")->AsString; pGDC->Values[nRow][Col11->Index] = sStrDate; pGDC->Values[nRow][ColMode->Index] = "E"; FStrTime = sStrDate; FEndTime = sEndDate; } } catch(EDatabaseError &E) { DBERRORMSG("TVMSEDT0M::DisplayScheLcsInfo", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TVMSEDT0M::DisplayScheLcsInfo", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } TvList->EndUpdate(); } } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::BtnAllSelectClick(TObject *Sender) { TcxButton *pBtn = (TcxButton*)Sender; CMM_CheckAllListItem(TvList, ColumnSel->Index, pBtn->Tag); } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton, TShiftState AShift, bool &AHandled) { if (!ACellViewInfo) return; int nRow = Sender->DataController->FocusedRecordIndex; if( nRow <= -1 ) return; if (SCHEDULE_LCS == FScheType) { return; } TcxGridDataController *pDc = (TcxGridDataController*)Sender->DataController; int nColIdx = ACellViewInfo->Item->Index; String sStrDate = VarToStr(pDc->Values[nRow][Col08->Index]); String sEndDate = VarToStr(pDc->Values[nRow][Col09->Index]); String sWeek = VarToStr(pDc->Values[nRow][Col10->Index]); { //Ç¥Ãâ±â°£¼³Á¤ TVMSSEL0M *pSelDate = new TVMSSEL0M(this); pSelDate->FScheType = FScheType; pSelDate->FStrTime = sStrDate; pSelDate->FEndTime = sEndDate; pSelDate->FWeek = sWeek; pSelDate->ShowModal(); bool bSelected = pSelDate->FSelected; sStrDate = pSelDate->FStrTime; sEndDate = pSelDate->FEndTime; sWeek = pSelDate->FWeek; delete pSelDate; pSelDate = NULL; if (bSelected) { pDc->Values[nRow][Col04->Index] = ITSUtil_FormatStr(sStrDate, STR_HHNN); pDc->Values[nRow][Col05->Index] = ITSUtil_FormatStr(sEndDate, STR_HHNN); pDc->Values[nRow][Col08->Index] = sStrDate; pDc->Values[nRow][Col09->Index] = sEndDate; pDc->Values[nRow][Col10->Index] = sWeek; } return; } } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::CheckData(bool ACheckData) { int nSelCnt = CMM_GetCheckCount(TvList, ColumnSel->Index); if (nSelCnt <= 0) { String sMsg = FTitle + "\r\¸ñ·Ï¿¡¼­ ÀÛ¾÷´ë»ó Á¦¾î±â¸¦ ¸ÕÀú ¼±ÅÃÇϼ¼¿ä."; Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return false; } if (!ACheckData) return true; String sStrDate = DtStrDate->Date.FormatString("yyyymmdd"); String sStrTime = DtStrTime->DateTime.FormatString("HHnn"); String sEndDate = DtEndDate->Date.FormatString("yyyymmdd"); String sEndTime = DtEndTime->DateTime.FormatString("HHnn"); FStrTime = sStrDate + sStrTime; FEndTime = sEndDate + sEndTime; if (FStrTime > FEndTime) { Application->MessageBox(L"Ç¥Ãâ ½ÃÀ۽ð¢ÀÌ Ç¥Ãâ Á¾·á½Ã°¢ º¸´Ù Å®´Ï´Ù.", L"VMS ¸Þ½ÃÁö Ç¥Ãâ±â°£ ¼³Á¤", MB_OK|MB_ICONWARNING|MB_APPLMODAL); ActiveControl = DtStrDate; return false; } FStrTime = FStrTime + "00"; FEndTime = FEndTime + "59"; FWeek = ""; FWeek = FWeek + (ChkWeek0->Checked ? "1" : "0"); FWeek = FWeek + (ChkWeek1->Checked ? "1" : "0"); FWeek = FWeek + (ChkWeek2->Checked ? "1" : "0"); FWeek = FWeek + (ChkWeek3->Checked ? "1" : "0"); FWeek = FWeek + (ChkWeek4->Checked ? "1" : "0"); FWeek = FWeek + (ChkWeek5->Checked ? "1" : "0"); FWeek = FWeek + (ChkWeek6->Checked ? "1" : "0"); return true; } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::UpdateEditData() { try { TvList->BeginUpdate(); int nRowCnt = TvList->ViewData->RecordCount; for (int ii = 0; ii < nRowCnt; ii++) { TcxCustomGridRow* ARow = TvList->ViewData->Rows[ii]; if (!ARow->IsData) continue; if (!((bool)ARow->Values[ColumnSel->Index])) { continue; } ARow->Values[Col03->Index] = CbCycle->Text.Trim(); ARow->Values[Col04->Index] = ITSUtil_FormatStr(FStrTime, STR_HHNN); ARow->Values[Col05->Index] = ITSUtil_FormatStr(FEndTime, STR_HHNN); ARow->Values[Col06->Index] = CbUse->Text.Trim(); ARow->Values[Col08->Index] = FStrTime; ARow->Values[Col09->Index] = FEndTime; ARow->Values[Col10->Index] = FWeek; } } __finally { TvList->EndUpdate(); } } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::BtnAllAddClick(TObject *Sender) { //µî·Ï - µî·Ï ¶Ç´Â ¼öÁ¤ INSERT or UPDATE if (!CheckData(true)) return; String sMsg = FTitle + "\r\n¼±ÅÃÇÑ Á¦¾î±â¿¡ ´ëÇÏ¿© ½ºÄÉÁÙ Á¤º¸¸¦ [[[µ¿Àϳ»¿ëÀ¸·Î]]] ÀúÀå ÇϽðڽÀ´Ï±î?"; if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return; UpdateEditData(); //µ¿ÀÏ ÆíÁý³»¿ëÀ» VMS¸ñ·Ï¿¡ Àû¿ë SaveVmsSchedule(); } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::BtnAllEdtClick(TObject *Sender) { //¼öÁ¤ - µî·Ï ¶Ç´Â ¼öÁ¤ INSERT or UPDATE if (!CheckData(true)) return; String sMsg = FTitle + "\r\n¼±ÅÃÇÑ Á¦¾î±â¿¡ ´ëÇÏ¿© ½ºÄÉÁÙ Á¤º¸¸¦ ÀúÀå ÇϽðڽÀ´Ï±î?"; if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return; SaveVmsSchedule(); } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::SaveVmsSchedule() { bool bResult = false; if (FMode == "A") { //INSERT if (FScheType == SCHEDULE_DFLT) { bResult = InsertScheDfltInfo(); } else if (FScheType == SCHEDULE_PUBR) { bResult = InsertSchePubrInfo(); } else if (FScheType == SCHEDULE_EMGN) { bResult = InsertScheEmgnInfo(); } else if (FScheType == SCHEDULE_VMS) { bResult = InsertScheVmsInfo(); } else if (FScheType == SCHEDULE_LCS) { bResult = InsertScheLcsInfo(); } } else { //UPDATE if (FScheType == SCHEDULE_DFLT) { bResult = UpdateScheDfltInfo(); } else if (FScheType == SCHEDULE_PUBR) { bResult = UpdateSchePubrInfo(); } else if (FScheType == SCHEDULE_EMGN) { DeleteScheEmgnInfo(true); bResult = InsertScheEmgnInfo(); // UpdateScheEmgnInfo(); } else if (FScheType == SCHEDULE_VMS) { bResult = UpdateScheVmsInfo(); } else if (FScheType == SCHEDULE_LCS) { bResult = UpdateScheLcsInfo(); } } if (bResult) { String sMsg = FTitle + "\r\½ºÄÉÁÙ Á¤º¸¸¦ ÀúÀå ÇÏ¿´½À´Ï´Ù."; Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); FSelected = true; Close(); } } //--------------------------------------------------------------------------- void __fastcall TVMSEDT0M::BtnAllDelClick(TObject *Sender) { //»èÁ¦ - ¹«Á¶°Ç DELETE if (!CheckData(false)) return; String sMsg = FTitle + "\r\n¼±ÅÃÇÑ Á¦¾î±â¿¡ ´ëÇÏ¿© ½ºÄÉÁÙ Á¤º¸¸¦ »èÁ¦ÇϽðڽÀ´Ï±î?"; if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return; bool bResult = false; if (FScheType == SCHEDULE_DFLT) { bResult = DeleteScheDfltInfo(); } else if (FScheType == SCHEDULE_PUBR) { bResult = DeleteSchePubrInfo(); } else if (FScheType == SCHEDULE_EMGN) { bResult = DeleteScheEmgnInfo(false); } else if (FScheType == SCHEDULE_VMS) { bResult = DeleteScheVmsInfo(); } else if (FScheType == SCHEDULE_LCS) { bResult = DeleteScheLcsInfo(); } if (bResult) { sMsg = FTitle + "\r\n¼±ÅÃÇÑ Á¦¾î±â¿¡ ´ëÇÏ¿© ½ºÄÉÁÙ Á¤º¸¸¦ »èÁ¦ ÇÏ¿´½À´Ï´Ù."; Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); FSelected = true; Close(); } } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::DeleteScheDfltInfo() { return true; } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::DeleteSchePubrInfo() { bool bResult = false; String sQry; TADOQuery *pADO = NULL; sQry = "DELETE TB_VMS_PUBRL_FORM \r\n" " WHERE 1=1 \r\n" " AND VMS_CTLR_ID = :p01 \r\n" " AND VMS_FORM_ID = :p02 \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); int nRowCnt = TvList->ViewData->RecordCount; for (int ii = 0; ii < nRowCnt; ii++) { TcxCustomGridRow* ARow = TvList->ViewData->Rows[ii]; if (!ARow->IsData) continue; if (!((bool)ARow->Values[ColumnSel->Index])) { continue; } String VMS_CTLR_ID = VarToStr(ARow->Values[Col00->Index]); String VMS_FORM_ID = FFormId; pADO->Parameters->ParamByName("p01")->Value = VMS_CTLR_ID; pADO->Parameters->ParamByName("p02")->Value = VMS_FORM_ID; ITSDb_SQLExec(pADO); } bResult = true; } catch(EDatabaseError &E) { DBERRORMSG("TVMSEDT0M::DeleteSchePubrInfo", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TVMSEDT0M::DeleteSchePubrInfo", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return bResult; } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::DeleteScheEmgnInfo(bool ABefInsert) { bool bResult = false; String sQry; TADOQuery *pADO = NULL; sQry = "DELETE TB_VMS_EMGNC_FORM \r\n" " WHERE 1=1 \r\n" " AND VMS_CTLR_ID = :p01 \r\n" " AND VMS_FORM_ID = :p02 \r\n" " AND DSPL_BGN_DT = TO_DATE(:p03, 'YYYYMMDDHH24MISS') \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); int nRowCnt = TvList->ViewData->RecordCount; for (int ii = 0; ii < nRowCnt; ii++) { TcxCustomGridRow* ARow = TvList->ViewData->Rows[ii]; if (!ARow->IsData) continue; if (!((bool)ARow->Values[ColumnSel->Index])) { continue; } String VMS_CTLR_ID = VarToStr(ARow->Values[Col00->Index]); String DSPL_BGN_DT = VarToStr(ARow->Values[Col11->Index]); String VMS_FORM_ID = FFormId; pADO->Parameters->ParamByName("p01")->Value = VMS_CTLR_ID; pADO->Parameters->ParamByName("p02")->Value = VMS_FORM_ID; pADO->Parameters->ParamByName("p03")->Value = DSPL_BGN_DT; ITSDb_SQLExec(pADO); if (ABefInsert == false) { if (FCommCtrlTarget != NULL) { FOR_STL(TCommInfo*, pCommInfo, FCommCtrlTarget->FLists) { int sendResult = CComm_VmsNotiRegEmgnMsg(pCommInfo->SRVR_IP, pCommInfo->CMNC_PORT, VMS_CTLR_ID); if (VERR_NONE == sendResult) { } Sleep(200); Application->ProcessMessages(); } } } } bResult = true; } catch(EDatabaseError &E) { DBERRORMSG("TVMSEDT0M::DeleteScheEmgnInfo", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TVMSEDT0M::DeleteScheEmgnInfo", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return bResult; } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::DeleteScheVmsInfo() { return true; } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::DeleteScheLcsInfo() { bool bResult = false; String sQry; TADOQuery *pADO = NULL; sQry = "DELETE TB_LCS_PROV_FORM \r\n" " WHERE 1=1 \r\n" " AND LCS_CTLR_ID = :p01 \r\n" " AND PROV_BGN_DT = TO_DATE(:p02, 'YYYYMMDDHH24MISS') \r\n" " AND PROV_SN = :p03 \r\n" " AND VMS_FORM_ID = :p04 \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); int nRowCnt = TvList->ViewData->RecordCount; for (int ii = 0; ii < nRowCnt; ii++) { TcxCustomGridRow* ARow = TvList->ViewData->Rows[ii]; if (!ARow->IsData) continue; if (!((bool)ARow->Values[ColumnSel->Index])) { continue; } String LCS_CTLR_ID = VarToStr(ARow->Values[Col00->Index]); String PROV_BGN_DT = VarToStr(ARow->Values[Col11->Index]); String PROV_SN = VarToStr(ARow->Values[Col07->Index]); String VMS_FORM_ID = FFormId; pADO->Parameters->ParamByName("p01")->Value = LCS_CTLR_ID; pADO->Parameters->ParamByName("p02")->Value = PROV_BGN_DT; pADO->Parameters->ParamByName("p03")->Value = PROV_SN; pADO->Parameters->ParamByName("p04")->Value = VMS_FORM_ID; ITSDb_SQLExec(pADO); } bResult = true; } catch(EDatabaseError &E) { DBERRORMSG("TVMSEDT0M::DeleteSchePubrInfo", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TVMSEDT0M::DeleteSchePubrInfo", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return bResult; } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::UpdateScheDfltInfo() { return true; } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::UpdateSchePubrInfo() { bool bResult = false; String sQry; TADOQuery *pADO = NULL; sQry = "UPDATE TB_VMS_PUBRL_FORM \r\n" " SET DSPL_BGN_YMD = :p03, \r\n" " DSPL_FNSH_YMD = :p04, \r\n" " DSPL_WEEK = :p05, \r\n" " DSPL_BGN_HM = :p06, \r\n" " DSPL_FNSH_HM = :p07, \r\n" " CHNGR_ID = :p08, \r\n" " CHG_DT = SYSDATE \r\n" " WHERE 1=1 \r\n" " AND VMS_CTLR_ID = :p01 \r\n" " AND VMS_FORM_ID = :p02 \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); int nRowCnt = TvList->ViewData->RecordCount; for (int ii = 0; ii < nRowCnt; ii++) { TcxCustomGridRow* ARow = TvList->ViewData->Rows[ii]; if (!ARow->IsData) continue; if (!((bool)ARow->Values[ColumnSel->Index])) { continue; } String VMS_CTLR_ID = VarToStr(ARow->Values[Col00->Index]); String VMS_FORM_ID = FFormId; String sStrDateTime = VarToStr(ARow->Values[Col04->Index]); sStrDateTime = StringReplace(sStrDateTime, ":", "", TReplaceFlags() << rfReplaceAll); sStrDateTime = StringReplace(sStrDateTime, "-", "", TReplaceFlags() << rfReplaceAll); sStrDateTime = StringReplace(sStrDateTime, " ", "", TReplaceFlags() << rfReplaceAll); String DSPL_BGN_YMD = sStrDateTime.SubString(1, 8); String DSPL_BGN_HM = sStrDateTime.SubString(9, 4); String sEndDateTime = VarToStr(ARow->Values[Col05->Index]); sEndDateTime = StringReplace(sEndDateTime, ":", "", TReplaceFlags() << rfReplaceAll); sEndDateTime = StringReplace(sEndDateTime, "-", "", TReplaceFlags() << rfReplaceAll); sEndDateTime = StringReplace(sEndDateTime, " ", "", TReplaceFlags() << rfReplaceAll); String DSPL_FNSH_YMD = sEndDateTime.SubString(1, 8); String DSPL_FNSH_HM = sEndDateTime.SubString(9, 4); String DSPL_WEEK = VarToStr(ARow->Values[Col10->Index]); String RGSTR_ID = g_AppCfg.OPER_ID; pADO->Parameters->ParamByName("p01")->Value = VMS_CTLR_ID; pADO->Parameters->ParamByName("p02")->Value = VMS_FORM_ID; pADO->Parameters->ParamByName("p03")->Value = DSPL_BGN_YMD; pADO->Parameters->ParamByName("p04")->Value = DSPL_FNSH_YMD; pADO->Parameters->ParamByName("p05")->Value = DSPL_WEEK; pADO->Parameters->ParamByName("p06")->Value = DSPL_BGN_HM; pADO->Parameters->ParamByName("p07")->Value = DSPL_FNSH_HM; pADO->Parameters->ParamByName("p08")->Value = RGSTR_ID; ITSDb_SQLExec(pADO); } bResult = true; } catch(EDatabaseError &E) { DBERRORMSG("TVMSEDT0M::UpdateSchePubrInfo", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TVMSEDT0M::UpdateSchePubrInfo", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return bResult; } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::UpdateScheEmgnInfo() { bool bResult = false; String sQry; TADOQuery *pADO = NULL; // TODO: ½ÃÀ۽ð¢À» Ű·Î »ç¿ëÇϱ⠶§¹®¿¡ Á÷Á¢ ¾÷µ¥ÀÌÆ®¸¦ ¼öÇàÇÏÁö ¸øÇÔ. sQry = "UPDATE TB_VMS_EMGNC_FORM \r\n" " SET DSPL_BGN_DT = TO_DATE(:p04, 'YYYYMMDDHH24MISS'), \r\n" " DSPL_FNSH_DT= TO_DATE(:p05, 'YYYYMMDDHH24MISS'), \r\n" " CHNGR_ID = :p06, \r\n" " CHG_DT = SYSDATE \r\n" " WHERE 1=1 \r\n" " AND VMS_CTLR_ID = :p01 \r\n" " AND VMS_FORM_ID = :p02 \r\n" " AND DSPL_BGN_DT = TO_DATE(:p03, 'YYYYMMDDHH24MISS') \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); int nRowCnt = TvList->ViewData->RecordCount; for (int ii = 0; ii < nRowCnt; ii++) { TcxCustomGridRow* ARow = TvList->ViewData->Rows[ii]; if (!ARow->IsData) continue; if (!((bool)ARow->Values[ColumnSel->Index])) { continue; } String VMS_CTLR_ID = VarToStr(ARow->Values[Col00->Index]); String VMS_FORM_ID = FFormId; String ORG_DSPL_BGN_DT = VarToStr(ARow->Values[Col11->Index]); String sStrDateTime = VarToStr(ARow->Values[Col04->Index]); sStrDateTime = StringReplace(sStrDateTime, ":", "", TReplaceFlags() << rfReplaceAll); sStrDateTime = StringReplace(sStrDateTime, "-", "", TReplaceFlags() << rfReplaceAll); sStrDateTime = StringReplace(sStrDateTime, " ", "", TReplaceFlags() << rfReplaceAll); String DSPL_BGN_DT = sStrDateTime + "00"; String sEndDateTime = VarToStr(ARow->Values[Col05->Index]); sEndDateTime = StringReplace(sEndDateTime, ":", "", TReplaceFlags() << rfReplaceAll); sEndDateTime = StringReplace(sEndDateTime, "-", "", TReplaceFlags() << rfReplaceAll); sEndDateTime = StringReplace(sEndDateTime, " ", "", TReplaceFlags() << rfReplaceAll); String DSPL_FNSH_DT = sEndDateTime + "00"; String PROV_SN = VarToStr(ARow->Values[Col07->Index]); String RGSTR_ID = g_AppCfg.OPER_ID; pADO->Parameters->ParamByName("p01")->Value = VMS_CTLR_ID; pADO->Parameters->ParamByName("p02")->Value = VMS_FORM_ID; pADO->Parameters->ParamByName("p03")->Value = ORG_DSPL_BGN_DT; pADO->Parameters->ParamByName("p04")->Value = DSPL_BGN_DT; pADO->Parameters->ParamByName("p05")->Value = DSPL_FNSH_DT; pADO->Parameters->ParamByName("p06")->Value = RGSTR_ID; ITSDb_SQLExec(pADO); } bResult = true; } catch(EDatabaseError &E) { DBERRORMSG("TVMSEDT0M::UpdateScheEmgnInfo", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TVMSEDT0M::UpdateScheEmgnInfo", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return bResult; } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::UpdateScheVmsInfo() { return true; } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::UpdateScheLcsInfo() { bool bResult = false; String sQry; TADOQuery *pADO = NULL; sQry = "UPDATE TB_LCS_PROV_FORM \r\n" " SET PROV_BGN_DT = :p04, \r\n" " CHNGR_ID = :p05, \r\n" " CHG_DT = SYSDATE \r\n" " WHERE 1=1 \r\n" " AND LCS_CTLR_ID = :p01 \r\n" " AND PROV_SN = :p02 \r\n" " AND VMS_FORM_ID = :p03 \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); int nRowCnt = TvList->ViewData->RecordCount; for (int ii = 0; ii < nRowCnt; ii++) { TcxCustomGridRow* ARow = TvList->ViewData->Rows[ii]; if (!ARow->IsData) continue; if (!((bool)ARow->Values[ColumnSel->Index])) { continue; } String LCS_CTLR_ID = VarToStr(ARow->Values[Col00->Index]); String VMS_FORM_ID = FFormId; String sStrDateTime = VarToStr(ARow->Values[Col04->Index]); sStrDateTime = StringReplace(sStrDateTime, ":", "", TReplaceFlags() << rfReplaceAll); sStrDateTime = StringReplace(sStrDateTime, "-", "", TReplaceFlags() << rfReplaceAll); sStrDateTime = StringReplace(sStrDateTime, " ", "", TReplaceFlags() << rfReplaceAll); String PROV_BGN_DT = sStrDateTime + "00"; String PROV_SN = VarToStr(ARow->Values[Col07->Index]); String RGSTR_ID = g_AppCfg.OPER_ID; pADO->Parameters->ParamByName("p01")->Value = LCS_CTLR_ID; pADO->Parameters->ParamByName("p02")->Value = PROV_SN; pADO->Parameters->ParamByName("p03")->Value = VMS_FORM_ID; pADO->Parameters->ParamByName("p04")->Value = PROV_BGN_DT; pADO->Parameters->ParamByName("p05")->Value = RGSTR_ID; ITSDb_SQLExec(pADO); } bResult = true; } catch(EDatabaseError &E) { DBERRORMSG("TVMSEDT0M::UpdateScheLcsInfo", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TVMSEDT0M::UpdateScheLcsInfo", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return bResult; } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::InsertScheDfltInfo() { return true; } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::InsertSchePubrInfo() { bool bResult = false; String sQry; TADOQuery *pADO = NULL; sQry = "INSERT INTO TB_VMS_PUBRL_FORM ( \r\n" " VMS_CTLR_ID, \r\n" " VMS_FORM_ID, \r\n" " DSPL_BGN_YMD, \r\n" " DSPL_FNSH_YMD, \r\n" " DSPL_WEEK, \r\n" " DSPL_BGN_HM, \r\n" " DSPL_FNSH_HM, \r\n" " RGSTR_ID, \r\n" " REG_DT ) \r\n" " VALUES ( \r\n" " :p01, \r\n" " :p02, \r\n" " :p03, \r\n" " :p04, \r\n" " :p05, \r\n" " :p06, \r\n" " :p07, \r\n" " :p08, \r\n" " SYSDATE ) \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); int nRowCnt = TvList->ViewData->RecordCount; for (int ii = 0; ii < nRowCnt; ii++) { TcxCustomGridRow* ARow = TvList->ViewData->Rows[ii]; if (!ARow->IsData) continue; if (!((bool)ARow->Values[ColumnSel->Index])) { continue; } String VMS_CTLR_ID = VarToStr(ARow->Values[Col00->Index]); String VMS_FORM_ID = FFormId; String sStrDateTime = VarToStr(ARow->Values[Col04->Index]); sStrDateTime = StringReplace(sStrDateTime, ":", "", TReplaceFlags() << rfReplaceAll); sStrDateTime = StringReplace(sStrDateTime, "-", "", TReplaceFlags() << rfReplaceAll); sStrDateTime = StringReplace(sStrDateTime, " ", "", TReplaceFlags() << rfReplaceAll); String DSPL_BGN_YMD = sStrDateTime.SubString(1, 8); String DSPL_BGN_HM = sStrDateTime.SubString(9, 4); String sEndDateTime = VarToStr(ARow->Values[Col05->Index]); sEndDateTime = StringReplace(sEndDateTime, ":", "", TReplaceFlags() << rfReplaceAll); sEndDateTime = StringReplace(sEndDateTime, "-", "", TReplaceFlags() << rfReplaceAll); sEndDateTime = StringReplace(sEndDateTime, " ", "", TReplaceFlags() << rfReplaceAll); String DSPL_FNSH_YMD = sEndDateTime.SubString(1, 8); String DSPL_FNSH_HM = sEndDateTime.SubString(9, 4); String DSPL_WEEK = VarToStr(ARow->Values[Col10->Index]); String RGSTR_ID = g_AppCfg.OPER_ID; pADO->Parameters->ParamByName("p01")->Value = VMS_CTLR_ID; pADO->Parameters->ParamByName("p02")->Value = VMS_FORM_ID; pADO->Parameters->ParamByName("p03")->Value = DSPL_BGN_YMD; pADO->Parameters->ParamByName("p04")->Value = DSPL_FNSH_YMD; pADO->Parameters->ParamByName("p05")->Value = DSPL_WEEK; pADO->Parameters->ParamByName("p06")->Value = DSPL_BGN_HM; pADO->Parameters->ParamByName("p07")->Value = DSPL_FNSH_HM; pADO->Parameters->ParamByName("p08")->Value = RGSTR_ID; ITSDb_SQLExec(pADO); } bResult = true; } catch(EDatabaseError &E) { DBERRORMSG("TVMSEDT0M::InsertSchePubrInfo", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TVMSEDT0M::InsertSchePubrInfo", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return bResult; } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::InsertScheEmgnInfo() { bool bResult = false; String sQry; TADOQuery *pADO = NULL; // Ȥ½Ã¸ð¸¦ µ¥ÀÌÅÍ Áߺ¹À» ÇÇÇϱâ À§ÇØ ¸ÓÁö ±¸¹®À» »ç¿ëÇÔ sQry = "MERGE INTO TB_VMS_EMGNC_FORM L \r\n" "USING (SELECT :p01 AS VMS_CTLR_ID, \r\n" " :p02 AS VMS_FORM_ID, \r\n" " TO_DATE(:p03, 'YYYYMMDDHH24MISS') \r\n" " AS DSPL_BGN_DT, \r\n" " TO_DATE(:p04, 'YYYYMMDDHH24MISS') \r\n" " AS DSPL_FNSH_DT, \r\n" " :p05 AS RGSTR_ID \r\n" " FROM DUAL) M \r\n" " ON (L.VMS_CTLR_ID = M.VMS_CTLR_ID \r\n" " AND L.VMS_FORM_ID = M.VMS_FORM_ID \r\n" " AND L.DSPL_BGN_DT = M.DSPL_BGN_DT) \r\n" "WHEN MATCHED THEN \r\n" " UPDATE SET \r\n" " L.DSPL_FNSH_DT = M.DSPL_FNSH_DT, \r\n" " L.CHNGR_ID = M.RGSTR_ID, \r\n" " L.CHG_DT = SYSDATE \r\n" "WHEN NOT MATCHED THEN \r\n" " INSERT ( \r\n" " VMS_CTLR_ID, \r\n" " VMS_FORM_ID, \r\n" " DSPL_BGN_DT, \r\n" " DSPL_FNSH_DT, \r\n" " RGSTR_ID, \r\n" " REG_DT ) \r\n" " VALUES ( \r\n" " M.VMS_CTLR_ID, \r\n" " M.VMS_FORM_ID, \r\n" " M.DSPL_BGN_DT, \r\n" " M.DSPL_FNSH_DT, \r\n" " M.RGSTR_ID, \r\n" " SYSDATE ) \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); int nRowCnt = TvList->ViewData->RecordCount; for (int ii = 0; ii < nRowCnt; ii++) { TcxCustomGridRow* ARow = TvList->ViewData->Rows[ii]; if (!ARow->IsData) continue; if (!((bool)ARow->Values[ColumnSel->Index])) { continue; } String VMS_CTLR_ID = VarToStr(ARow->Values[Col00->Index]); String VMS_FORM_ID = FFormId; String sStrDateTime = VarToStr(ARow->Values[Col04->Index]); sStrDateTime = StringReplace(sStrDateTime, ":", "", TReplaceFlags() << rfReplaceAll); sStrDateTime = StringReplace(sStrDateTime, "-", "", TReplaceFlags() << rfReplaceAll); sStrDateTime = StringReplace(sStrDateTime, " ", "", TReplaceFlags() << rfReplaceAll); String DSPL_BGN_DT = sStrDateTime + "00"; String sEndDateTime = VarToStr(ARow->Values[Col05->Index]); sEndDateTime = StringReplace(sEndDateTime, ":", "", TReplaceFlags() << rfReplaceAll); sEndDateTime = StringReplace(sEndDateTime, "-", "", TReplaceFlags() << rfReplaceAll); sEndDateTime = StringReplace(sEndDateTime, " ", "", TReplaceFlags() << rfReplaceAll); String DSPL_FNSH_DT = sEndDateTime + "59"; String RGSTR_ID = g_AppCfg.OPER_ID; pADO->Parameters->ParamByName("p01")->Value = VMS_CTLR_ID; pADO->Parameters->ParamByName("p02")->Value = VMS_FORM_ID; pADO->Parameters->ParamByName("p03")->Value = DSPL_BGN_DT; pADO->Parameters->ParamByName("p04")->Value = DSPL_FNSH_DT; pADO->Parameters->ParamByName("p05")->Value = RGSTR_ID; ITSDb_SQLExec(pADO); if (FCommCtrlTarget != NULL) { FOR_STL(TCommInfo*, pCommInfo, FCommCtrlTarget->FLists) { int sendResult = CComm_VmsNotiRegEmgnMsg(pCommInfo->SRVR_IP, pCommInfo->CMNC_PORT, VMS_CTLR_ID); if (VERR_NONE == sendResult) { } Sleep(200); Application->ProcessMessages(); } } } bResult = true; } catch(EDatabaseError &E) { DBERRORMSG("TVMSEDT0M::InsertScheEmgnInfo", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TVMSEDT0M::InsertScheEmgnInfo", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return bResult; } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::InsertScheVmsInfo() { return true; } //--------------------------------------------------------------------------- bool __fastcall TVMSEDT0M::InsertScheLcsInfo() { bool bResult = false; String sQry; TADOQuery *pADO = NULL; sQry = "INSERT INTO TB_LCS_PROV_FORM ( \r\n" " LCS_CTLR_ID, \r\n" " PROV_BGN_DT, \r\n" " PROV_SN, \r\n" " VMS_FORM_ID, \r\n" " RGSTR_ID, \r\n" " REG_DT ) \r\n" " VALUES ( \r\n" " :p01, \r\n" " TO_DATE(:p02, 'YYYYMMDDHH24MISS'), \r\n" " (SELECT NVL(MAX(PROV_SN), 0) \r\n" " + 1 AS PROV_SN \r\n" " FROM TB_LCS_PROV_FORM \r\n" " WHERE LCS_CTLR_ID = :p03), \r\n" " :p04, \r\n" " :p05, \r\n" " SYSDATE ) \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); int nRowCnt = TvList->ViewData->RecordCount; for (int ii = 0; ii < nRowCnt; ii++) { TcxCustomGridRow* ARow = TvList->ViewData->Rows[ii]; if (!ARow->IsData) continue; if (!((bool)ARow->Values[ColumnSel->Index])) { continue; } String LCS_CTLR_ID = VarToStr(ARow->Values[Col00->Index]); String VMS_FORM_ID = FFormId; String sStrDateTime = VarToStr(ARow->Values[Col04->Index]); sStrDateTime = StringReplace(sStrDateTime, ":", "", TReplaceFlags() << rfReplaceAll); sStrDateTime = StringReplace(sStrDateTime, "-", "", TReplaceFlags() << rfReplaceAll); sStrDateTime = StringReplace(sStrDateTime, " ", "", TReplaceFlags() << rfReplaceAll); String PROV_BGN_DT = sStrDateTime + "00"; String RGSTR_ID = g_AppCfg.OPER_ID; pADO->Parameters->ParamByName("p01")->Value = LCS_CTLR_ID; pADO->Parameters->ParamByName("p02")->Value = PROV_BGN_DT; pADO->Parameters->ParamByName("p03")->Value = LCS_CTLR_ID; pADO->Parameters->ParamByName("p04")->Value = VMS_FORM_ID; pADO->Parameters->ParamByName("p05")->Value = RGSTR_ID; ITSDb_SQLExec(pADO); } bResult = true; } catch(EDatabaseError &E) { DBERRORMSG("TVMSEDT0M::InsertScheLcsInfo", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TVMSEDT0M::InsertScheLcsInfo", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return bResult; } //---------------------------------------------------------------------------