//--------------------------------------------------------------------------- #include #include "ITSSkinF.h" #include "ITSUtilF.h" #include "AppGlobalF.h" #include "CDSCodeF.h" #include "CDSFacilityF.h" #pragma hdrstop #include "BDS0010MF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "cxButtons" #pragma link "cxContainer" #pragma link "cxControls" #pragma link "cxEdit" #pragma link "cxGraphics" #pragma link "cxGroupBox" #pragma link "cxLabel" #pragma link "cxLookAndFeelPainters" #pragma link "cxLookAndFeels" #pragma link "cxSplitter" #pragma link "cxTextEdit" #pragma link "dxSkinBlack" #pragma link "dxSkinBlue" #pragma link "dxSkinsCore" #pragma link "FRAME_BlackBoxListF" #pragma resource "*.dfm" TBDS0010M *BDS0010M = NULL; //--------------------------------------------------------------------------- __fastcall TBDS0010M::TBDS0010M(TComponent* Owner) : TForm(Owner) { ITSSkin_Load(this); CMM_LoadForm(g_sFormsDir, this); FUpdate= false; FTitle = "ºí·¢¹Ú½º ´Ü¸»±â °ü¸®"; FRAMEBlackBoxList1->TvList->FilterRow->Visible = false; FRAMEBlackBoxList1->PnlTop->Visible = false; FRAMEBlackBoxList1->PnlBottom->Visible = false; FRAMEBlackBoxList1->ColumnSel->Visible = false; //FRAMEBlackBoxList1->Column13->Visible = true; m_pGDC = FRAMEBlackBoxList1->TvList->DataController; } //--------------------------------------------------------------------------- /* * ´Ý±â¹öư À̳ª x¹öư Ŭ¸¯½Ã °øÅëÀ¸·Î ó¸®ÇÏ´Â ·ÎÁ÷À̵é¾î°£´Ù.. * Form°ú DataModule class¸¦ delete½ÃŲ´Ù. * arguments * * return * void */ void __fastcall TBDS0010M::CommClose() { try { CMM_SaveForm(g_sFormsDir, this); } catch(...) { } } //--------------------------------------------------------------------------- /* * FormÀ» º¸¿©ÁÙ¶§ È£ÃâµÇ´Â event ¸Þ¼­µåÀÌ´Ù. * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TBDS0010M::FormShow(TObject *Sender) { Refresh(); FormInit(); ChangeEditMode(1); TmrShow->Enabled = true; } //--------------------------------------------------------------------------- /* * form ÃʱâÈ­ * * arguments * * return * void */ void __fastcall TBDS0010M::FormInit() { EdId->Text = ""; BDS_MNGM_NMBR->Text = ""; OPNC_NMBR->Text = ""; MDM_NMBR->Text = ""; USIM_NMBR->Text = ""; VHCL_NMBR->Text = ""; OWNR_NM->Text = ""; PRCT_NM->Text = ""; FNewDb = false; } //--------------------------------------------------------------------------- /* * FormÀÌ ShowµÇ°í ³­ ÈÄ ÃÖÃÊ 1ȸ ¼öÇàµÇ´Â ŸÀÌ¸Ó À̺¥Æ® * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TBDS0010M::TmrShowTimer(TObject *Sender) { TmrShow->Enabled = false; FRAMEBlackBoxList1->UpdateList(); } //--------------------------------------------------------------------------- /* * Close ¹öư Ŭ¸¯ À̺¥Æ® Çڵ鷯 * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TBDS0010M::BtnCloseClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TBDS0010M::FormClose(TObject *Sender, TCloseAction &Action) { CommClose(); BDS0010M = NULL; Action = caFree; } //--------------------------------------------------------------------------- void __fastcall TBDS0010M::FormCloseQuery(TObject *Sender, bool &CanClose) { if (FUpdate) { POST_MSG(Application->MainForm->Handle, WM_DATABASE_REFRESH, WP_MSG_14, 0); } FRAMEBlackBoxList1->OnCloseQuery(CanClose); } //--------------------------------------------------------------------------- void __fastcall TBDS0010M::DisplayInfo(TBlackBox* AObj) { FormInit(); if (!AObj) return; EdId->Text = AObj->BDS_MNGM_NMBR; BDS_MNGM_NMBR->Text = AObj->BDS_MNGM_NMBR; OPNC_NMBR->Text = AObj->OPNC_NMBR; MDM_NMBR->Text = AObj->MDM_NMBR; USIM_NMBR->Text = AObj->USIM_NMBR; VHCL_NMBR->Text = AObj->VHCL_NMBR; OWNR_NM->Text = AObj->OWNR_NM; PRCT_NM->Text = AObj->PRCT_NM; ChangeEditMode(3); } //--------------------------------------------------------------------------- void __fastcall TBDS0010M::FRAMEBlackBoxList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton, TShiftState AShift, bool &AHandled) { if (!ACellViewInfo) return; int nRow = FRAMEBlackBoxList1->TvList->DataController->FocusedRecordIndex; if( nRow <= -1 ) return; int nMemPtr = FRAMEBlackBoxList1->TvList->DataController->Values[nRow][FRAMEBlackBoxList1->Column99->Index]; TBlackBox* pObj = (TBlackBox*)nMemPtr; DisplayInfo(pObj); } //--------------------------------------------------------------------------- void __fastcall TBDS0010M::BtnEditClick(TObject *Sender) { if (BtnEdit->Caption == "ÆíÁý") { ChangeEditMode(0); FNewDb = false; } else { String sId = EdId->Text; ChangeEditMode(1); TBlackBox *pObj = BlackBoxManager->FLists.Find(sId.ToIntDef(0)); if (pObj) { CMM_SetGridRow(FRAMEBlackBoxList1->CxList, FRAMEBlackBoxList1->TvList, sId, FRAMEBlackBoxList1->Column01->Index); DisplayInfo(pObj); } } } //--------------------------------------------------------------------------- void __fastcall TBDS0010M::ChangeEditMode(int AEdit) { bool bEnabled = false; switch(AEdit) { case 0: //ÆíÁý¹öưŬ¸¯ { BtnEdit->Enabled = true; BtnInsert->Enabled = false; BtnDelete->Enabled = false; BtnSave->Enabled = true; BtnEdit->Caption = FrmLang->lblCancel->Caption;//"Ãë¼Ò"; BtnEdit->Hint = FrmLang->lblCancel->Hint;//µ¥ÀÌÅÍ ÆíÁý Ãë¼Ò"; } break; case 1: //ÆíÁý[Ãë¼Ò]¹öưŬ¸¯ { FormInit(); //È­¸éÀ» ¸ðµÎ Áö¿î´Ù. BtnEdit->Enabled = false; BtnInsert->Enabled = true; BtnDelete->Enabled = false; BtnSave->Enabled = false; BtnEdit->Caption = FrmLang->lblEdit->Caption;//"ÆíÁý"; BtnEdit->Hint = FrmLang->lblEdit->Hint;//µ¥ÀÌÅÍ ÆíÁý"; bEnabled = true; } break; case 2: //Ãß°¡ { BtnEdit->Enabled = true; BtnInsert->Enabled = false; BtnDelete->Enabled = false; BtnSave->Enabled = true; BtnEdit->Caption = FrmLang->lblCancel->Caption;//"Ãë¼Ò"; BtnEdit->Hint = FrmLang->lblCancel->Hint;//µ¥ÀÌÅÍ ÆíÁý Ãë¼Ò"; } break; case 3: //¼öÁ¤¸ðµå { BtnEdit->Enabled = true; BtnInsert->Enabled = true; BtnDelete->Enabled = true; BtnSave->Enabled = false; BtnEdit->Caption = FrmLang->lblEdit->Caption;//"ÆíÁý"; BtnEdit->Hint = FrmLang->lblEdit->Hint;//µ¥ÀÌÅÍ ÆíÁý"; bEnabled = true; } break; } if (AEdit == 0 || AEdit == 2) { FRAMEBlackBoxList1->CxList->Enabled = false; GrpInfo->Enabled = true; } else { FRAMEBlackBoxList1->CxList->Enabled = true; GrpInfo->Enabled = false; } } //--------------------------------------------------------------------------- void __fastcall TBDS0010M::BtnInsertClick(TObject *Sender) { FormInit(); //½Å±Ô¾ÆÀ̵𸦠¾ò¾î¿Í¼­ È­¸éÀ» ÃʱâÈ­ÇÑ´Ù. String sId; #if 0 if (!BlackBoxManager->GetNextBlackBoxId(sId)) { Application->MessageBox(L"»õ·Î¿î °ü¸®¹øÈ£¸¦ »ý¼ºÇÏÁö ¸øÇÏ¿´½À´Ï´Ù.\r\nÇÁ·Î±×·¥ Á¾·áÈÄ¿¡ ´Ù½Ã ½ÃµµÇØ º¸¼¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } #else sId = InputBox("°ü¸®¹øÈ£", "½Å±Ô °ü¸®¹øÈ£¸¦ ÀÔ·ÂÇϼ¼¿ä(20Byte).", "°ü¸®¹øÈ£" ); sId = sId.Trim(); if (sId == "°ü¸®¹øÈ£" || sId == "") { return; } if (AnsiString(sId).Length() > 10) { Application->MessageBox(L"°ü¸®¹øÈ£´Â 10Byte¸¦ ÃʰúÇÒ ¼ö ¾ø½À´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } try { int nId = sId.ToInt(); } catch(Exception &e) { Application->MessageBox(L"°ü¸®¹øÈ£´Â ¼ýÀÚÀ̾î¾ß ÇÕ´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } TBlackBox *pDb = (TBlackBox *)BlackBoxManager->FLists.Find(sId.ToIntDef(0)); if (pDb) { String sErr = FrmLang->lbIdErr->Caption + "[" + sId + "]"; Application->MessageBox(sErr.c_str(),//("[" + sId + "]´Â »ç¿ëÇÒ ¼ö ¾ø´Â °ü¸®¹øÈ£ ÀÔ´Ï´Ù.").c_str(), FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } #endif EdId->Text = sId; BDS_MNGM_NMBR->Text = sId; ChangeEditMode(2); FNewDb = true; } //--------------------------------------------------------------------------- void __fastcall TBDS0010M::BtnDeleteClick(TObject *Sender) { int nIdx = m_pGDC->FocusedRecordIndex; if (nIdx < 0) return; String sId = EdId->Text; if (sId.IsEmpty()) { Application->MessageBox(L"»èÁ¦ÇÒ ºí·¢¹Ú½ºÁ¤º¸¸¦ ¸ñ·Ï¿¡¼­ ¼±ÅÃÇϼ¼¿ä.\r\n¸ñ·Ï¿¡¼­ ´õºíŬ¸¯ÇÏ¿© ¼±ÅÃÇÕ´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } String sMsg; sMsg = "ID: " + sId; sMsg+= "\r\n¼±ÅÃÇϽŠºí·¢¹Ú½º ´Ü¸»±â Á¤º¸¸¦ »èÁ¦ÇϽðڽÀ´Ï±î?"; if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return; TBlackBox *pObj = BlackBoxManager->FLists.Find(sId.ToIntDef(0)); if (pObj) { //pObj->DEL_USER_ID = g_pLOGIN->sUserId; //º¯°æÀÚ ¸í //pObj->DEL_DT = Now().FormatString("yyyymmddhhnnss"); //º¯°æ ÀϽà if (BlackBoxManager->DeleteBlackBox(pObj)) { pObj->MEM_DEL = "Y"; FRAMEBlackBoxList1->UpdateList(); } #if 0 TItsFacility *pFacility = ItsFacilityManager->FLists.Find(sId); if (pFacility) { FUpdate = true; } #endif FUpdate = true; Application->MessageBox(L"ºí·¢¹Ú½º ´Ü¸»±â Á¤º¸»èÁ¦\r\nºí·¢¹Ú½º ´Ü¸»±â Á¤º¸¸¦ »èÁ¦ ÇÏ¿´½À´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); FormInit(); ChangeEditMode(1); } } //--------------------------------------------------------------------------- void __fastcall TBDS0010M::BtnSaveClick(TObject *Sender) { if (EdId->Text.IsEmpty() || BDS_MNGM_NMBR->Text.Trim().IsEmpty() ) { Application->MessageBox(L"¡ÚÇ׸ñÀº Çʼö ÀÔ·Â Ç׸ñÀÔ´Ï´Ù.\r\n¸ðµÎ ÀÔ·ÂÈÄ ÁøÇàÇØ ÁÖ¼¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } String sId = EdId->Text; TBlackBox *pObj; if (FNewDb) pObj = new TBlackBox(); else pObj = BlackBoxManager->FLists.Find(sId.ToIntDef(0)); if (pObj) { pObj->BDS_MNGM_NMBR = sId.ToIntDef(0); pObj->OPNC_NMBR = OPNC_NMBR->Text.Trim(); pObj->MDM_NMBR = MDM_NMBR->Text.Trim(); pObj->USIM_NMBR = USIM_NMBR->Text.Trim(); pObj->VHCL_NMBR = VHCL_NMBR->Text.Trim(); pObj->OWNR_NM = OWNR_NM->Text.Trim(); pObj->PRCT_NM = PRCT_NM->Text.Trim(); pObj->MEM_DEL = "N"; bool bResult; if (FNewDb) { //pObj->ADTN_USER_ID = g_pLOGIN->sUserId; //º¯°æÀÚ ¸í //pObj->ADTN_DT = Now().FormatString("yyyymmddhhnnss"); //º¯°æ ÀϽà bResult = BlackBoxManager->InsertBlackBox(pObj); if (bResult) { BlackBoxManager->FLists.Push(sId.ToIntDef(0), pObj); } } else { //pObj->CHNG_USER_ID = g_pLOGIN->sUserId; //º¯°æÀÚ ¸í //pObj->CHNG_DT = Now().FormatString("yyyymmddhhnnss"); //º¯°æ ÀϽà bResult = BlackBoxManager->UpdateBlackBox(pObj); } if (bResult) { Application->MessageBox(FrmLang->lblDbSave->Caption.c_str(),//L"ºí·¢¹Ú½º ´Ü¸»±â Á¤º¸ÀúÀå\r\nºí·¢¹Ú½º ´Ü¸»±â Á¤º¸¸¦ ÀúÀå ÇÏ¿´½À´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); FUpdate = true; FRAMEBlackBoxList1->UpdateList(); CMM_SetGridRow(FRAMEBlackBoxList1->CxList, FRAMEBlackBoxList1->TvList, sId, FRAMEBlackBoxList1->Column01->Index); DisplayInfo(pObj); } } } //---------------------------------------------------------------------------