//--------------------------------------------------------------------------- #include #include "ITSSkinF.h" #include "ITSUtilF.h" #pragma hdrstop #include "FRAME_FacilityFailActionF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "cxButtons" #pragma link "cxCalc" #pragma link "cxCalendar" #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 "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 "cxDropDownEdit" #pragma resource "*.dfm" extern LOGININFO *g_pLOGIN; //--------------------------------------------------------------------------- __fastcall TFRAMEFacilityFailAction::TFRAMEFacilityFailAction(TComponent* Owner) : TFrame(Owner) { ITSSkin_Load((TForm*)this); FTitle = "½Ã¼³¹° Àå¾Ö ³»¿ª Á¶Ä¡"; m_pGDC = TvList->DataController; TvList->OptionsView->NoDataToDisplayInfoText = "<½Ã¼³¹° Àå¾Ö ³»¿ªÃ³¸® Á¤º¸°¡ ¾ø½À´Ï´Ù>"; FFacilityFail = NULL; FUpdate = false; FKeySeq = -1; #if 0 if (!ItsFacilityFailActionManager) { ItsFacilityFailActionManager = new TItsFacilityFailActionManager(); } ItsFacilityFailActionManager->LoadFromDb(); #endif //ÀÛ¾÷¿Ï·á¿©ºÎ TcxComboBoxProperties *pcxCboProperties07 = (TcxComboBoxProperties*)Column07->Properties; pcxCboProperties07->Items->Clear(); pcxCboProperties07->Items->Add("Y"); pcxCboProperties07->Items->Add("N"); } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::UpdateCheck() { if (FFacilityFail) { if (BtnEdit->Down) { FUpdate = false; BtnEdit->Down = false; BtnEdit->Click(); } } } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::UpdateList(TItsFacilityFail *AFacilityFail) { /* * µ¥ÀÌÅͰ¡ ¸¹Àº °æ¿ì ¹®Á¦°¡ µÉ¼ö ÀÖÀ¸´Ï * ½Ã¼³¹° ¾ÆÀ̵ð·Î ÀÌ·ÂÀ» Á¶È¸ÇÏ¿© ó¸®ÇÏ´Â °ÍÀ¸·Î ¼öÁ¤Çϴ°ÍÀÌ ÁÁÀ»µí. * ±×·±µ¥ ½ÇÀç µ¥ÀÌÅͰ¡ ¸¹ÀÌ µé¾î°¡ ÀÖÁö ¾ÊÀº°Ô ÇÔÁ¡. */ FUpdate = false; FFacilityFail = AFacilityFail; LblFacility->Caption = "---"; CMM_ClearGridTableView(TvList); if (!FFacilityFail) return; LblFacility->Caption = "[" + FFacilityFail->FCLT_ID + "] [" + FFacilityFail->FAIL_HS_SEQ + "] " + FFacilityFail->FAIL_CONT; try { TvList->BeginUpdate(); FOR_STL(TItsFacilityFailAction*, pObj, FFacilityFail->FLists) { pObj->EditMode = DB_INIT; //¹Ì¸® ÃʱâÈ­½ÃÄѾßÇÔ pObj->Completed = true; if (pObj->DEL_YN == "Y") continue; if (pObj->FAIL_HS_SEQ != FFacilityFail->FAIL_HS_SEQ) continue; AddObjectItem(pObj, "-"); } } __finally { LblRecords->Caption = "("+FormatFloat("##,##0", m_pGDC->FilteredRecordCount) +"/"+FormatFloat("##,##0", m_pGDC->RecordCount) + ")"; TvList->EndUpdate(); TvList->DataController->GotoFirst(); TvList->DataController->FocusedRecordIndex = 0; //CxList->SetFocus(); } } //--------------------------------------------------------------------------- bool __fastcall TFRAMEFacilityFailAction::AddObjectItem(TItsFacilityFailAction *pObj, String AMode) { int nRow; try { nRow = m_pGDC->AppendRecord(); pObj->GridIndex = nRow; m_pGDC->Values[nRow][Column00->Index] = AMode; m_pGDC->Values[nRow][Column01->Index] = ITSUtil_StrToDateTime(pObj->CRTN_DT); //'»ý¼º ÀϽà m_pGDC->Values[nRow][Column02->Index] = pObj->FAIL_HS_SEQ; //'Àå¾Ö ÀÌ·Â ÀϷùøÈ£ m_pGDC->Values[nRow][Column03->Index] = pObj->WRKR_NM; //'ÀÛ¾÷ÀÚ ¸í m_pGDC->Values[nRow][Column04->Index] = pObj->WORK_CONT; //'ÀÛ¾÷ ³»¿ë if (!pObj->WORK_STRT_DT.IsEmpty()) m_pGDC->Values[nRow][Column05->Index] = ITSUtil_StrToDateTime(pObj->WORK_STRT_DT); //'ÀÛ¾÷ ½ÃÀÛ ÀϽà if (!pObj->WORK_END_DT.IsEmpty()) m_pGDC->Values[nRow][Column06->Index] = ITSUtil_StrToDateTime(pObj->WORK_END_DT); //'ÀÛ¾÷ Á¾·á ÀϽà m_pGDC->Values[nRow][Column07->Index] = pObj->WORK_FINS_YN; //'ÀÛ¾÷ ¿Ï·á ¿©ºÎ m_pGDC->Values[nRow][Column08->Index] = pObj->ADTN_NM; //'Ãß°¡ÀÚ ¸í m_pGDC->Values[nRow][Column09->Index] = pObj->CHNG_NM; //'º¯°æÀÚ ¸í if (!pObj->CHNG_DT.IsEmpty()) m_pGDC->Values[nRow][Column10->Index] = ITSUtil_StrToDateTime(pObj->CHNG_DT); //'º¯°æ ÀϽÃ*/ m_pGDC->Values[nRow][Column99->Index] = (int)pObj; return true; } catch(...) { } return false; } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::TvListDataControllerFilterChanged(TObject *Sender) { LblRecords->Caption = "("+FormatFloat("##,##0", m_pGDC->FilteredRecordCount) +"/"+FormatFloat("##,##0", m_pGDC->RecordCount) + ")"; } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::BtnExlSaveClick(TObject *Sender) { TcxGrid *pGrid = CxList; TcxGridTableView *pView = TvList; String sTitle= "½Ã¼³¹°Àå¾Ö󸮳»¿ª"; CMM_ExportToExcelFile(sTitle, pGrid, pView, (TForm*)this); } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::BtnEditClick(TObject *Sender) { if (!FFacilityFail) { Application->MessageBox(L"½Ã¼³¹° Àå¾Ö³»¿ª Á¤º¸¸¦ ¸ÕÀú ¼±ÅÃÇϼ¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } TListFocus tvFocus(TvList); if (BtnEdit->Caption == "Ãë¼Ò") { CxList->SetFocus(); Application->ProcessMessages(); SaveData(); } ITSSkin_ButtonClick(BtnSearch, BtnEdit, BtnInsert, BtnDelete, BtnApply); ChangeEditMode(BtnEdit->Down); //ItsFacilityFailManager->LoadFromDb(); UpdateList(FFacilityFail); } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::ChangeEditMode(bool AEdit) { bool bEditing = AEdit; try { TvList->BeginUpdate(); Column00->Visible = bEditing; Column03->Options->Editing = bEditing; //'ÀÛ¾÷ÀÚ ¸í Column04->Options->Editing = bEditing; //'ÀÛ¾÷ ³»¿ë Column05->Options->Editing = bEditing; //'ÀÛ¾÷ ½ÃÀÛ ÀϽà Column06->Options->Editing = bEditing; //'ÀÛ¾÷ Á¾·á ÀϽà Column07->Options->Editing = bEditing; //'ÀÛ¾÷ ¿Ï·á ¿©ºÎ Column08->Options->Editing = bEditing; //'Ãß°¡ÀÚ ¸í Column09->Options->Editing = bEditing; //'º¯°æÀÚ ¸í } __finally { TvList->EndUpdate(); if (bEditing) { BtnEdit->Caption = "Ãë¼Ò"; BtnEdit->Hint = "µ¥ÀÌÅÍ ÆíÁý Ãë¼Ò"; } else { BtnEdit->Caption = "ÆíÁý"; BtnEdit->Hint = "µ¥ÀÌÅÍ ÆíÁý"; } } } //--------------------------------------------------------------------------- bool __fastcall TFRAMEFacilityFailAction::GetNewId(String &ANewId) { String sQry; TADOQuery *pADO = NULL; String sNowDate = Now().FormatString("YYYYMMDDHHNNSS"); ANewId = ""; ANewId = sNowDate; return true; } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::BtnInsertClick(TObject *Sender) { int nMsgType = MB_OK|MB_ICONERROR|MB_APPLMODAL; if (!FFacilityFail) { Application->MessageBox(L"½Ã¼³¹° Àå¾Ö ³»¿ª Á¤º¸¸¦ ¸ÕÀú ¼±ÅÃÇϼ¼¿ä.", FTitle.c_str(), nMsgType); return; } String sNewId = ""; GetNewId(sNewId); try { TvList->BeginUpdate(); TItsFacilityFailAction *pObj = new TItsFacilityFailAction(); pObj->Clear(); pObj->CRTN_DT = sNewId; //'»ý¼º ÀϽà pObj->FAIL_HS_SEQ = FFacilityFail->FAIL_HS_SEQ; //'Àå¾Ö ÀÌ·Â ÀϷùøÈ£ pObj->WRKR_NM = g_pLOGIN->sUserId; //'ÀÛ¾÷ÀÚ ¸í pObj->WORK_CONT = ""; //'ÀÛ¾÷ ³»¿ë pObj->WORK_STRT_DT = Now().FormatString("yyyymmddhhnnss"); //'ÀÛ¾÷ ½ÃÀÛ ÀϽà pObj->WORK_END_DT = Now().FormatString("yyyymmddhhnnss"); //'ÀÛ¾÷ Á¾·á ÀϽà pObj->WORK_FINS_YN = "N"; //'ÀÛ¾÷ ¿Ï·á ¿©ºÎ pObj->ADTN_NM = g_pLOGIN->sUserId; //'Ãß°¡ÀÚ ¸í pObj->CHNG_NM = g_pLOGIN->sUserId; //'º¯°æÀÚ ¸í pObj->CHNG_DT = Now().FormatString("yyyymmddhhnnss"); //'º¯°æ ÀϽÃ*/ FFacilityFail->FLists.Push(pObj->CRTN_DT, pObj); pObj->Completed = false; pObj->EditMode = DB_NEW; AddObjectItem(pObj, "½Å±Ô"); Application->ProcessMessages(); Sleep(1000); //»ý¼º½Ã°¢À» À¯´ÏÅ©ÇÏ°Ô ÇϱâÀ§ÇÔ. } __finally { LblRecords->Caption = "("+FormatFloat("##,##0", m_pGDC->FilteredRecordCount) +"/"+FormatFloat("##,##0", m_pGDC->RecordCount) + ")"; TvList->EndUpdate(); TvList->DataController->GotoFirst(); TvList->DataController->FocusedRecordIndex = 0; } } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::BtnDeleteClick(TObject *Sender) { int nIdx = m_pGDC->FocusedRecordIndex; if (nIdx < 0) return; int nMemPtr = m_pGDC->Values[nIdx][Column99->Index]; TItsFacilityFailAction *pObj = (TItsFacilityFailAction*)nMemPtr; pObj->EditMode = DB_DELETE; m_pGDC->Values[nIdx][Column00->Index] = "»èÁ¦"; } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::BtnApplyClick(TObject *Sender) { FUpdate = true; BtnEdit->Down = false; BtnEdit->Click(); } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::ChkAutoWidthPropertiesChange(TObject *Sender) { try { TvList->BeginUpdate(); TvList->OptionsView->ColumnAutoWidth = ChkAutoWidth->Checked; BtnBestFit->Visible = !ChkAutoWidth->Checked; } __finally { TvList->EndUpdate(); } } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::BtnBestFitClick(TObject *Sender) { try { TvList->BeginUpdate(); TvList->ApplyBestFit(NULL, false, false); } __finally { TvList->EndUpdate(); } } //--------------------------------------------------------------------------- bool __fastcall TFRAMEFacilityFailAction::IsUpdate() { if (!FFacilityFail) return false; FOR_STL(TItsFacilityFailAction*, pObj, FFacilityFail->FLists) { if (pObj->Completed && pObj->EditMode != DB_INIT) return true; if (!pObj->Completed && pObj->EditMode == DB_NEW) return true; } return false; } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::SaveData() { if (!IsUpdate()) return; if (!FUpdate) { if (Application->MessageBox(L"º¯°æµÈ Á¤º¸°¡ ÀÖ½À´Ï´Ù.\r\nº¯°æµÈ Á¤º¸¸¦ ÀúÀå ÇϽðڽÀ´Ï±î?", FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) { //Ãß°¡Çß´ø°Í »èÁ¦ FOR_STL(TItsFacilityFailAction*, pObj, FFacilityFail->FLists) { if (pObj->EditMode == DB_NEW) FFacilityFail->FLists.Remove(pObj->CRTN_DT); } return; } } TADOQuery *pADOI = NULL; TADOQuery *pADOU = NULL; TADOQuery *pADOD = NULL; String sQryI; String sQryU; String sQryD; try { sQryI = "INSERT INTO TB_FCLT_FAIL_RPAR_HS (CRTN_DT, FAIL_HS_SEQ, WRKR_NM, \r\n" " WORK_CONT, WORK_STRT_DT, WORK_END_DT, \r\n" " WORK_FINS_YN, ADTN_NM, CHNG_NM, \r\n" " CHNG_DT) \r\n" " VALUES(:p01, :p02, :p03, \r\n" " :p04, :p05, :p06, \r\n" " :p07, :p08, :p09, \r\n" " TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS')) \r\n"; sQryU = "UPDATE TB_FCLT_FAIL_RPAR_HS \r\n" " SET WRKR_NM = :p03, \r\n" " WORK_CONT = :p04, \r\n" " WORK_STRT_DT = :p05, \r\n" " WORK_END_DT = :p06, \r\n" " WORK_FINS_YN = :p07, \r\n" " ADTN_NM = :p08, \r\n" " CHNG_NM = :p09, \r\n" " CHNG_DT = TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') \r\n" " WHERE CRTN_DT = :p01 \r\n" " AND FAIL_HS_SEQ = :p02 \r\n"; sQryD = "DELETE TB_FCLT_FAIL_RPAR_HS \r\n" " WHERE CRTN_DT = :p01 \r\n" " AND FAIL_HS_SEQ = :p02 \r\n"; int nRow; TvList->BeginUpdate(); try { pADOI = new TADOQuery(NULL); pADOI->Close(); pADOI->Connection = ITSDb_GetConnection(); pADOU = new TADOQuery(NULL); pADOU->Close(); pADOU->Connection = ITSDb_GetConnection(); pADOD = new TADOQuery(NULL); pADOD->Close(); pADOD->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADOI, sQryI); ITSDb_SQLText(pADOU, sQryU); ITSDb_SQLText(pADOD, sQryD); ITSDb_GetConnection()->BeginTrans(); FOR_STL(TItsFacilityFailAction*, pObj, FFacilityFail->FLists) { if (pObj->GridIndex < 0) continue; if (pObj->Completed && pObj->EditMode == DB_INIT) continue; if (!pObj->Completed && pObj->EditMode != DB_NEW) continue; nRow = pObj->GridIndex; String WRKR_NM = VarToStr(m_pGDC->Values[nRow][Column03->Index]); //'ÀÛ¾÷ÀÚ ¸í String WORK_CONT = VarToStr(m_pGDC->Values[nRow][Column04->Index]); //'ÀÛ¾÷ ³»¿ë String WORK_STRT_DT = ""; //'ÀÛ¾÷ ½ÃÀÛ ÀϽà String WORK_END_DT = ""; //'ÀÛ¾÷ Á¾·á ÀϽà String WORK_FINS_YN = VarToStr(m_pGDC->Values[nRow][Column07->Index]); //'ÀÛ¾÷ ¿Ï·á ¿©ºÎ String ADTN_NM = VarToStr(m_pGDC->Values[nRow][Column08->Index]); //'Ãß°¡ÀÚ ¸í String CHNG_NM = VarToStr(m_pGDC->Values[nRow][Column09->Index]); //'º¯°æÀÚ ¸í if (!VarIsNull(m_pGDC->Values[nRow][Column05->Index])) { TDateTime dtTmp = m_pGDC->Values[nRow][Column05->Index]; WORK_STRT_DT = dtTmp.FormatString("YYYYMMDDHHNNSS"); } if (!VarIsNull(m_pGDC->Values[nRow][Column06->Index])) { TDateTime dtTmp = m_pGDC->Values[nRow][Column06->Index]; WORK_END_DT = dtTmp.FormatString("YYYYMMDDHHNNSS"); } //pObj->CRTN_DT; //'»ý¼º ÀϽà //pObj->FAIL_HS_SEQ; //'Àå¾Ö ÀÌ·Â ÀϷùøÈ£ pObj->WRKR_NM = WRKR_NM; //'ÀÛ¾÷ÀÚ ¸í pObj->WORK_CONT = WORK_CONT; //'ÀÛ¾÷ ³»¿ë pObj->WORK_STRT_DT = WORK_STRT_DT; //'ÀÛ¾÷ ½ÃÀÛ ÀϽà pObj->WORK_END_DT = WORK_END_DT; //'ÀÛ¾÷ Á¾·á ÀϽà pObj->WORK_FINS_YN = WORK_FINS_YN; //'ÀÛ¾÷ ¿Ï·á ¿©ºÎ pObj->ADTN_NM = ADTN_NM; //'Ãß°¡ÀÚ ¸í pObj->CHNG_NM = CHNG_NM; //'º¯°æÀÚ ¸í pObj->CHNG_DT = Now().FormatString("yyyymmddhhnnss"); //'º¯°æ ÀϽÃ*/ if (pObj->Completed) { if (pObj->EditMode == DB_DELETE) { //delete ITSDb_SQLBind(pADOD, "p01", pObj->CRTN_DT); ITSDb_SQLBind(pADOD, "p02", pObj->FAIL_HS_SEQ); ITSDb_SQLExec(pADOD); pObj->DEL_YN = "Y"; FFacilityFail->ActionCnt--; } else if (pObj->EditMode == DB_UPDATE) { //update ITSDb_SQLBind(pADOU, "p01", pObj->CRTN_DT); ITSDb_SQLBind(pADOU, "p02", pObj->FAIL_HS_SEQ); ITSDb_SQLBind(pADOU, "p03", pObj->WRKR_NM); ITSDb_SQLBind(pADOU, "p04", pObj->WORK_CONT); ITSDb_SQLBind(pADOU, "p05", pObj->WORK_STRT_DT); ITSDb_SQLBind(pADOU, "p06", pObj->WORK_END_DT); ITSDb_SQLBind(pADOU, "p07", pObj->WORK_FINS_YN); ITSDb_SQLBind(pADOU, "p08", pObj->ADTN_NM); ITSDb_SQLBind(pADOU, "p09", pObj->CHNG_NM); ITSDb_SQLExec(pADOU); } } else { if (pObj->EditMode == DB_NEW) { //insert ITSDb_SQLBind(pADOI, "p01", pObj->CRTN_DT); ITSDb_SQLBind(pADOI, "p02", pObj->FAIL_HS_SEQ); ITSDb_SQLBind(pADOI, "p03", pObj->WRKR_NM); ITSDb_SQLBind(pADOI, "p04", pObj->WORK_CONT); ITSDb_SQLBind(pADOI, "p05", pObj->WORK_STRT_DT); ITSDb_SQLBind(pADOI, "p06", pObj->WORK_END_DT); ITSDb_SQLBind(pADOI, "p07", pObj->WORK_FINS_YN); ITSDb_SQLBind(pADOI, "p08", pObj->ADTN_NM); ITSDb_SQLBind(pADOI, "p09", pObj->CHNG_NM); ITSDb_SQLExec(pADOI); FFacilityFail->FLists.Push(pObj->CRTN_DT, pObj); FFacilityFail->ActionCnt++; } } pObj->Completed = true; } ITSDb_GetConnection()->CommitTrans(); Application->MessageBox(L"½Ã¼³¹° Àå¾Ö Á¶Ä¡ Á¤º¸¸¦ ÀúÀå ÇÏ¿´½À´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); } catch(EDatabaseError &E) { ITSDb_GetConnection()->RollbackTrans(); ShowMessage(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ITSDb_GetConnection()->RollbackTrans(); ShowMessage(String(exception.ClassName()) + exception.Message); } catch(...) { ITSDb_GetConnection()->RollbackTrans(); ShowMessage("µ¥ÀÌÅÍ ÀÛ¾÷ Áß¿¡ ¾Ë¼ö¾ø´Â DB ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù."); } } __finally { if (pADOI) { pADOI->Close(); delete pADOI; } if (pADOU) { pADOU->Close(); delete pADOU; } if (pADOD) { pADOD->Close(); delete pADOD; } TvList->EndUpdate(); } } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::ColumnPropertiesValidate(TObject *Sender, Variant &DisplayValue, TCaption &ErrorText, bool &Error) { if (TvList->Controller->FocusedRow->IsFilterRow) return; int nRow = m_pGDC->FocusedRecordIndex; if (nRow < 0) return; int nMemPtr = m_pGDC->Values[nRow][Column99->Index]; TItsFacilityFailAction *pObj = (TItsFacilityFailAction*)nMemPtr; if (pObj->Completed == false) { //½Å±ÔÀ̰ųª »èÁ¦ÀÎ °æ¿ì ÆíÁý ³»¿ë¿¡ µû¸¥ º¯È­°¡ ÇÊ¿ä¾ø´Ù. return; } String WRKR_NM = VarToStr(m_pGDC->Values[nRow][Column03->Index]); //'ÀÛ¾÷ÀÚ ¸í String WORK_CONT = VarToStr(m_pGDC->Values[nRow][Column04->Index]); //'ÀÛ¾÷ ³»¿ë String WORK_STRT_DT = ""; //'ÀÛ¾÷ ½ÃÀÛ ÀϽà String WORK_END_DT = ""; //'ÀÛ¾÷ Á¾·á ÀϽà String WORK_FINS_YN = VarToStr(m_pGDC->Values[nRow][Column07->Index]); //'ÀÛ¾÷ ¿Ï·á ¿©ºÎ String ADTN_NM = VarToStr(m_pGDC->Values[nRow][Column08->Index]); //'Ãß°¡ÀÚ ¸í String CHNG_NM = VarToStr(m_pGDC->Values[nRow][Column09->Index]); //'º¯°æÀÚ ¸í if (!VarIsNull(m_pGDC->Values[nRow][Column05->Index])) { TDateTime dtTmp = m_pGDC->Values[nRow][Column05->Index]; WORK_STRT_DT = dtTmp.FormatString("YYYYMMDDHHNNSS"); } if (!VarIsNull(m_pGDC->Values[nRow][Column06->Index])) { TDateTime dtTmp = m_pGDC->Values[nRow][Column06->Index]; WORK_END_DT = dtTmp.FormatString("YYYYMMDDHHNNSS"); } TcxGridColumn *pColumn = TvList->Controller->FocusedColumn; if (pColumn == Column05) { TDateTime dtTmp = DisplayValue; WORK_STRT_DT = dtTmp.FormatString("YYYYMMDDHHNNSS"); } else if (pColumn == Column06) { TDateTime dtTmp = DisplayValue; WORK_END_DT = dtTmp.FormatString("YYYYMMDDHHNNSS"); } else if (pColumn == Column03) WRKR_NM = DisplayValue; else if (pColumn == Column04) WORK_CONT = DisplayValue; else if (pColumn == Column07) WORK_FINS_YN = DisplayValue; else if (pColumn == Column08) ADTN_NM = DisplayValue; else if (pColumn == Column09) CHNG_NM = DisplayValue; if (pObj->WRKR_NM != WRKR_NM || //'ÀÛ¾÷ÀÚ ¸í pObj->WORK_CONT != WORK_CONT || //'ÀÛ¾÷ ³»¿ë pObj->WORK_STRT_DT != WORK_STRT_DT || //'ÀÛ¾÷ ½ÃÀÛ ÀϽà pObj->WORK_END_DT != WORK_END_DT || //'ÀÛ¾÷ Á¾·á ÀϽà pObj->WORK_FINS_YN != WORK_FINS_YN || //'ÀÛ¾÷ ¿Ï·á ¿©ºÎ pObj->ADTN_NM != ADTN_NM || //'Ãß°¡ÀÚ ¸í pObj->CHNG_NM != CHNG_NM ) //'º¯°æÀÚ ¸í { m_pGDC->Values[nRow][Column00->Index] = "¼öÁ¤"; pObj->EditMode = DB_UPDATE; } else { m_pGDC->Values[nRow][Column00->Index] = "-"; pObj->EditMode = DB_INIT; } } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::TvListCustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo, bool &ADone) { if (AViewInfo) { String sType = AViewInfo->GridRecord->DisplayTexts[Column00->Index]; if (sType == "¼öÁ¤") { ACanvas->Brush->Color = clOlive; } else if (sType == "»èÁ¦") { ACanvas->Brush->Color = clRed; } else if (sType == "½Å±Ô") { ACanvas->Brush->Color = clLime; if (AViewInfo->Focused) ACanvas->Font->Color = clBlack; } } } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::TvListKeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { if (Key == VK_DELETE) { if (BtnDelete->Enabled) BtnDeleteClick(Sender); } } //--------------------------------------------------------------------------- void __fastcall TFRAMEFacilityFailAction::OnCloseQuery(bool &CanClose) { SaveData(); #if 0 if (ItsFacilityFailActionManager) { delete ItsFacilityFailActionManager; ItsFacilityFailActionManager = NULL; } #endif } //---------------------------------------------------------------------------