//--------------------------------------------------------------------------- #include #include "ITSSkinF.h" #include "ITSUtilF.h" #include "WindowMsgF.h" #include "AppGlobalF.h" #include "ITSLangTransF.h" #pragma hdrstop #include "FRAME_IncidentRegistF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "cxButtons" #pragma link "cxCalc" #pragma link "cxCalendar" #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 "cxGroupBox" #pragma link "cxLabel" #pragma link "cxLookAndFeelPainters" #pragma link "cxLookAndFeels" #pragma link "cxMaskEdit" #pragma link "cxPC" #pragma link "cxPCdxBarPopupMenu" #pragma link "cxSplitter" #pragma link "cxStyles" #pragma link "cxTextEdit" #pragma link "dxSkinBlack" #pragma link "dxSkinBlue" #pragma link "dxSkinsCore" #pragma link "dxSkinscxPCPainter" #pragma resource "*.dfm" TFRAMEIncidentRegist *FRAMEIncidentRegist; //--------------------------------------------------------------------------- __fastcall TFRAMEIncidentRegist::TFRAMEIncidentRegist(TComponent* Owner) : TFrame(Owner) { LangTrans->Translate(this, ITSDb_GetConnection()); ITSSkin_Load((TForm*)this); FTitle = Caption;//"½Å±Ô µ¹¹ß µî·Ï"; #if 0 CxList2->Visible = false; cxTabSheet2->TabVisible = false; cxTabSheet2->Visible = false; cxPageControl1->Properties->HideTabs = true; #endif cxPageControl1->Properties->ActivePage = cxTabSheet1; FIncidentId = ""; FOcrrType = 0; FInsert = false; //m_pGDC = TvList->DataController; TvList->OptionsView->NoDataToDisplayInfoText = FrmLang->lblNoInfo->Caption;//"<ÇöÀç µî·ÏµÈ µ¹¹ßÁ¤º¸°¡ ¾ø½À´Ï´Ù>"; FCodeIST = ItsCodeManager->FLists.Find("IST"); //µ¹¹ß»óȲ ¿øº» ÄÚµå : IST FCodeLTCU = ItsCodeManager->FLists.Find("LTCU"); //¼ÒÅë µî±Þ ÄÚµå : LTCU FCodeICM = ItsCodeManager->FLists.Find("ICM"); //µ¹¹ß»óȲ È®ÀÎ ¹æ¹ý ÄÚµå : ICM FCodeIDTU = ItsCodeManager->FLists.Find("IDTU"); //µ¹¹ß»óȲ À¯Çü ºÐ·ù ÄÚµå : IDTU FCodeACTU = ItsCodeManager->FLists.Find("ACTU"); //µ¹¹ß»óȲ À¯Çü ÄÚµå : ACTU, CRTU, EVTU, WETU Áß Çϳª FCodeCRTU = ItsCodeManager->FLists.Find("CRTU"); //µ¹¹ß»óȲ À¯Çü ÄÚµå : ACTU, CRTU, EVTU, WETU Áß Çϳª FCodeEVTU = ItsCodeManager->FLists.Find("EVTU"); //µ¹¹ß»óȲ À¯Çü ÄÚµå : ACTU, CRTU, EVTU, WETU Áß Çϳª FCodeWETU = ItsCodeManager->FLists.Find("WETU"); //µ¹¹ß»óȲ À¯Çü ÄÚµå : ACTU, CRTU, EVTU, WETU Áß Çϳª FCodeSRLU = ItsCodeManager->FLists.Find("SRLU"); //µ¹¹ß»óȲ ½É°¢µµ ÄÚµå : SRLU FCodePRTU = ItsCodeManager->FLists.Find("PRTU"); //ÅëÇà Á¦ÇÑ À¯Çü ÄÚµå : PRTU FCodeRSL = ItsCodeManager->FLists.Find("RSL"); //´ëÀÀ ¼öÁØ ÄÚµå : RSL FCodeISS = ItsCodeManager->FLists.Find("ISS"); //µ¹¹ß»óȲ ÁøÇà ´Ü°è ÄÚµå : ISS FCodeICM = ItsCodeManager->FLists.Find("ICM"); //µ¹¹ß»óȲ Á¾·á È®ÀÎ ¹æ¹ý ÄÚµå : ICM FCodeDFW = ItsCodeManager->FLists.Find("DFW"); //±â»ó ÄÚµå : DFW FCodeVIT = ItsCodeManager->FLists.Find("VIT"); //VMS µ¹¹ß À¯Çü ÄÚµå : VIT FCodeIDT = ItsCodeManager->FLists.Find("IDT"); //VMS µ¹¹ß À¯Çü ¼¼ºÎ ÄÚµå : IDT FCodeEDT = ItsCodeManager->FLists.Find("EDT"); //VMS µ¹¹ß À¯Çü ¼¼ºÎ ÄÚµå : EDT InitForm(); } //--------------------------------------------------------------------------- void __fastcall TFRAMEIncidentRegist::InitForm() { DtINCD_CNFM_DT->Date = Now(); DtINCD_STRT_DT->Date = Now(); DtINCD_END_PRAR_DT->Date = Now() + ( 1 / 24 ); CbINCD_ORGN_CD->Properties->Items->Clear(); if (FCodeIST) { FOR_STL(TItsSubCode *, pSubCode, FCodeIST->FSubLists) { if (pSubCode->USE_YN == "N") continue; CbINCD_ORGN_CD->Properties->Items->Add(" [" + pSubCode->CMMN_CD + "] " + pSubCode->CMMN_CD_KOR_NM); } } CbINCD_ORGN_CD->ItemIndex = 0; CbCMTR_GRAD_CD->Properties->Items->Clear(); if (FCodeLTCU) { FOR_STL(TItsSubCode *, pSubCode, FCodeLTCU->FSubLists) { if (pSubCode->USE_YN == "N") continue; CbCMTR_GRAD_CD->Properties->Items->Add(" [" + pSubCode->CMMN_CD + "] " + pSubCode->CMMN_CD_KOR_NM); } } CbCMTR_GRAD_CD->ItemIndex = 0; CbINCD_CNFM_MTHD_CD->Properties->Items->Clear(); if (FCodeICM) { FOR_STL(TItsSubCode *, pSubCode, FCodeICM->FSubLists) { if (pSubCode->USE_YN == "N") continue; CbINCD_CNFM_MTHD_CD->Properties->Items->Add(" [" + pSubCode->CMMN_CD + "] " + pSubCode->CMMN_CD_KOR_NM); } } CbINCD_CNFM_MTHD_CD->ItemIndex = 0; CbINCD_SERN_CD->Properties->Items->Clear(); if (FCodeSRLU) { FOR_STL(TItsSubCode *, pSubCode, FCodeSRLU->FSubLists) { if (pSubCode->USE_YN == "N") continue; CbINCD_SERN_CD->Properties->Items->Add(" [" + pSubCode->CMMN_CD + "] " + pSubCode->CMMN_CD_KOR_NM); } } CbINCD_SERN_CD->ItemIndex = 0; CbINCD_TYPE_CLSF_CD->Properties->Items->Clear(); if (FCodeIDTU) { FOR_STL(TItsSubCode *, pSubCode, FCodeIDTU->FSubLists) { if (pSubCode->USE_YN == "N") continue; CbINCD_TYPE_CLSF_CD->Properties->Items->Add(" [" + pSubCode->CMMN_CD + "] " + pSubCode->CMMN_CD_KOR_NM); } } CbINCD_TYPE_CLSF_CD->ItemIndex = 0; CbINCD_TYPE_CLSF_CDClick((TObject *)CbINCD_TYPE_CLSF_CD); } //--------------------------------------------------------------------------- void __fastcall TFRAMEIncidentRegist::UpdateList() { TItsSubCode *pSubCode; CMM_ClearGridTableView(TvList); TcxDataController *pGDC = TvList->DataController; int nRow = 0; try { TvList->BeginUpdate(); try { ItsIncidentManager->FLists.Lock(); FOR_STL(TItsIncident *, pObj, ItsIncidentManager->FLists) { if (pObj->INCD_PRGR_STEP_CD != "ISS1") continue; if (pObj->INCD_ORGN_CD != "IST3") continue; nRow = pGDC->AppendRecord(); String sIST = ""; String sLTCU = ""; String sICM = ""; String sSRLU = ""; String sIDTU = ""; String sACTU = ""; String sISS = ""; String sDFW = ""; String sRSL = ""; String sPRTU = ""; if (pObj->INCD_ORGN_CD != "") sIST = " [" + pObj->INCD_ORGN_CD + "] "; if (pObj->CMTR_GRAD_CD != "") sLTCU = " [" + pObj->CMTR_GRAD_CD + "] "; if (pObj->INCD_CNFM_MTHD_CD != "") sICM = " [" + pObj->INCD_CNFM_MTHD_CD + "] "; if (pObj->INCD_SERN_CD != "") sSRLU = " [" + pObj->INCD_SERN_CD + "] "; if (pObj->INCD_TYPE_CLSF_CD != "") sIDTU = " [" + pObj->INCD_TYPE_CLSF_CD + "] "; if (pObj->INCD_TYPE_CD != "") sACTU = " [" + pObj->INCD_TYPE_CD + "] "; if (pObj->INCD_PRGR_STEP_CD != "") sISS = " [" + pObj->INCD_PRGR_STEP_CD + "] "; if (pObj->WTHR_CD != "") sDFW = " [" + pObj->WTHR_CD + "] "; if (pObj->RESP_LVL_CD != "") sRSL = " [" + pObj->RESP_LVL_CD + "] "; if (pObj->TRVL_LMNT_TYPE_CD != "") sPRTU = " [" + pObj->TRVL_LMNT_TYPE_CD + "] "; if (FCodeIST) { pSubCode = FCodeIST->FSubLists.Find(pObj->INCD_ORGN_CD); if (pSubCode) sIST = sIST + pSubCode->CMMN_CD_KOR_NM; } if (FCodeLTCU) { pSubCode = FCodeLTCU->FSubLists.Find(pObj->CMTR_GRAD_CD); if (pSubCode) sLTCU = sLTCU + pSubCode->CMMN_CD_KOR_NM; } if (FCodeICM) { pSubCode = FCodeICM->FSubLists.Find(pObj->INCD_CNFM_MTHD_CD); if (pSubCode) sICM = sICM + pSubCode->CMMN_CD_KOR_NM; } if (FCodeSRLU) { pSubCode = FCodeSRLU->FSubLists.Find(pObj->INCD_SERN_CD); if (pSubCode) sSRLU = sSRLU + pSubCode->CMMN_CD_KOR_NM; } if (FCodeIDTU) { pSubCode = FCodeIDTU->FSubLists.Find(pObj->INCD_TYPE_CLSF_CD); if (pSubCode) sIDTU = sIDTU + pSubCode->CMMN_CD_KOR_NM; } if (!pObj->INCD_TYPE_CLSF_CD.IsEmpty() && !pObj->INCD_TYPE_CD.IsEmpty()) { if (pObj->INCD_TYPE_CLSF_CD == "1") { if (FCodeACTU) { pSubCode = FCodeACTU->FSubLists.Find(pObj->INCD_TYPE_CD); if (pSubCode) sACTU = sACTU + pSubCode->CMMN_CD_KOR_NM; } } else if (pObj->INCD_TYPE_CLSF_CD == "2") { if (FCodeCRTU) { pSubCode = FCodeCRTU->FSubLists.Find(pObj->INCD_TYPE_CD); if (pSubCode) sACTU = sACTU + pSubCode->CMMN_CD_KOR_NM; } } else if (pObj->INCD_TYPE_CLSF_CD == "3") { if (FCodeEVTU) { pSubCode = FCodeEVTU->FSubLists.Find(pObj->INCD_TYPE_CD); if (pSubCode) sACTU = sACTU + pSubCode->CMMN_CD_KOR_NM; } } else if (pObj->INCD_TYPE_CLSF_CD == "4") { if (FCodeWETU) { pSubCode = FCodeWETU->FSubLists.Find(pObj->INCD_TYPE_CD); if (pSubCode) sACTU = sACTU + pSubCode->CMMN_CD_KOR_NM; } } } if (FCodeISS) { pSubCode = FCodeISS->FSubLists.Find(pObj->INCD_PRGR_STEP_CD); if (pSubCode) sISS = sISS + pSubCode->CMMN_CD_KOR_NM; } if (FCodeDFW) { pSubCode = FCodeISS->FSubLists.Find(pObj->WTHR_CD); if (pSubCode) sDFW = sDFW + pSubCode->CMMN_CD_KOR_NM; } if (FCodeRSL) { pSubCode = FCodeRSL->FSubLists.Find(pObj->RESP_LVL_CD); if (pSubCode) sRSL = sRSL + pSubCode->CMMN_CD_KOR_NM; } if (FCodePRTU) { pSubCode = FCodePRTU->FSubLists.Find(pObj->TRVL_LMNT_TYPE_CD); if (pSubCode) sPRTU = sPRTU + pSubCode->CMMN_CD_KOR_NM; } pGDC->Values[nRow][Column01->Index] = pObj->INCD_OCRR_ID; //µ¹¹ß»óȲ ¹ß»ý ID pGDC->Values[nRow][Column02->Index] = ITSUtil_StrToDateTime(pObj->RGST_DT); //µî·Ï ÀϽà pGDC->Values[nRow][Column03->Index] = sISS;//pObj->INCD_PRGR_STEP_CD; //µ¹¹ß»óȲ ÁøÇà ´Ü°è ÄÚµå : ISS pGDC->Values[nRow][Column04->Index] = sIST;//pObj->INCD_ORGN_CD; //µ¹¹ß»óȲ ¿øº» ÄÚµå : IST pGDC->Values[nRow][Column05->Index] = pObj->OCRR_LCTN_NM; //¹ß»ý À§Ä¡ ¸í pGDC->Values[nRow][Column06->Index] = pObj->LINK_ID; //µ¹¹ß¹ß»ý LINK ID pGDC->Values[nRow][Column07->Index] = pObj->X_CRDN; //X ÁÂÇ¥ pGDC->Values[nRow][Column08->Index] = pObj->Y_CRDN; //Y ÁÂÇ¥ pGDC->Values[nRow][Column09->Index] = pObj->INCD_EXPL; //µ¹¹ß»óȲ ¼³¸í pGDC->Values[nRow][Column10->Index] = sLTCU;//pObj->CMTR_GRAD_CD; //¼ÒÅë µî±Þ ÄÚµå : LTCU pGDC->Values[nRow][Column11->Index] = pObj->IFMR_NM; //Á¦º¸ÀÚ ¸í pGDC->Values[nRow][Column12->Index] = sICM;//pObj->INCD_CNFM_MTHD_CD; //µ¹¹ß»óȲ È®ÀÎ ¹æ¹ý ÄÚµå : ICM pGDC->Values[nRow][Column13->Index] = sSRLU;//pObj->INCD_SERN_CD; //µ¹¹ß»óȲ ½É°¢µµ ÄÚµå : SRLU pGDC->Values[nRow][Column14->Index] = pObj->INCD_TITL; //µ¹¹ß»óȲ Á¦¸ñ pGDC->Values[nRow][Column15->Index] = sIDTU;//pObj->INCD_TYPE_CLSF_CD; //µ¹¹ß»óȲ À¯Çü ºÐ·ù ÄÚµå : IDTU pGDC->Values[nRow][Column16->Index] = sACTU;//pObj->INCD_TYPE_CD; //µ¹¹ß»óȲ À¯Çü ÄÚµå : ACTU, CRTU, EVTU, WETU Áß Çϳª pGDC->Values[nRow][Column17->Index] = ITSUtil_StrToDateTime(pObj->FINCD_STRT_DT); //µ¹¹ß»óȲ ½ÃÀÛ ÀϽà pGDC->Values[nRow][Column18->Index] = ITSUtil_StrToDateTime(pObj->INCD_END_PRAR_DT); //µ¹¹ß»óȲ Á¾·á ¿¹Á¤ ÀϽà pGDC->Values[nRow][Column19->Index] = pObj->INCD_OCRR_LANE; //µ¹¹ß»óȲ ¹ß»ý Â÷·Î pGDC->Values[nRow][Column20->Index] = pObj->INCD_CLSR_LANE; //µ¹¹ß»óȲ Â÷´Ü Â÷·Î pGDC->Values[nRow][Column21->Index] = pObj->DELY_LNGT; //Áöü ±æÀÌ pGDC->Values[nRow][Column22->Index] = pObj->INCD_LNGT; //µ¹¹ß»óȲ ±æÀÌ pGDC->Values[nRow][Column23->Index] = pObj->SMLT_VHCL_UNUM; //¼ÒÇü Â÷·® ´ë¼ö pGDC->Values[nRow][Column24->Index] = pObj->MDLT_VHCL_UNUM; //Áß´ëÇü Â÷·® ´ë¼ö pGDC->Values[nRow][Column25->Index] = pObj->INJR_PNUM; //ºÎ»óÀÚ Àοø¼ö pGDC->Values[nRow][Column26->Index] = pObj->FTLT_PNUM; //»ç¸ÁÀÚ Àοø¼ö pGDC->Values[nRow][Column27->Index] = sDFW;//pObj->WTHR_CD; //±â»ó ÄÚµå : DFW pGDC->Values[nRow][Column28->Index] = sRSL;//pObj->RESP_LVL_CD; //´ëÀÀ ¼öÁØ ÄÚµå : RSL pGDC->Values[nRow][Column29->Index] = pObj->UTIS_CNCT_YN; //UTIS ¿¬°è ¿©ºÎ pGDC->Values[nRow][Column30->Index] = pObj->TRUB_VHCL_YN; //°íÀå Â÷·® ¿©ºÎ pGDC->Values[nRow][Column31->Index] = pObj->FALT_YN; //³«ÇϹ° ¿©ºÎ pGDC->Values[nRow][Column32->Index] = pObj->FRWT_YN; //È­ÀçÀ§Çè¹° ¿©ºÎ pGDC->Values[nRow][Column33->Index] = sPRTU;//pObj->TRVL_LMNT_TYPE_CD; //ÅëÇà Á¦ÇÑ À¯Çü ÄÚµå : PRTU pGDC->Values[nRow][Column34->Index] = pObj->VMS_DSPL_YN; //VMS Ç¥Ãâ ¿©ºÎ pGDC->Values[nRow][Column35->Index] = ITSUtil_StrToDateTime(pObj->INCD_CNFM_DT); //VMS Ç¥Ãâ ¿©ºÎ pGDC->Values[nRow][Column99->Index] = (int)pObj; } } __finally { ItsIncidentManager->FLists.UnLock(); } } __finally { LblRecords->Caption = "("+FormatFloat("##,##0", pGDC->FilteredRecordCount) +"/"+FormatFloat("##,##0", pGDC->RecordCount) + ")"; TvList->EndUpdate(); TvList->DataController->GotoFirst(); TvList->DataController->FocusedRecordIndex = 0; } } //--------------------------------------------------------------------------- void __fastcall TFRAMEIncidentRegist::TvListDataControllerFilterChanged(TObject *Sender) { CMM_SetFilterLike(TvList); TcxDataController *pGDC = TvList->DataController; LblRecords->Caption = "("+FormatFloat("##,##0", pGDC->FilteredRecordCount) +"/"+FormatFloat("##,##0", pGDC->RecordCount) + ")"; } //--------------------------------------------------------------------------- void __fastcall TFRAMEIncidentRegist::BtnExlSaveClick(TObject *Sender) { TcxGrid *pGrid = CxList; TcxGridTableView *pView = TvList; //String sTitle= "UTIS(CNS) µ¹¹ßÁ¤º¸"; String sTitle= lblFileName->Caption;//"¿ÜºÎ¿¬°è±â°ü µ¹¹ßÁ¤º¸"; if (cxPageControl1->Properties->ActivePage != cxTabSheet1) { pGrid = CxList2; pView = TvList2; sTitle= lblFileName1->Caption;//"ÀÚµ¿°¨Áö µ¹¹ßÁ¤º¸"; } CMM_ExportToExcelFile(sTitle, pGrid, pView, (TForm*)this); #if 0 TcxGrid *pGrid = CxList; TcxGridTableView *pView = TvList; String sTitle= "µî·ÏµÈ µ¹¹ßÁ¤º¸"; CMM_ExportToExcelFile(sTitle, pGrid, pView, (TForm*)this); #endif } //--------------------------------------------------------------------------- void __fastcall TFRAMEIncidentRegist::CbINCD_TYPE_CLSF_CDClick(TObject *Sender) { if (CbINCD_TYPE_CLSF_CD->ItemIndex < 0) return; CbINCD_TYPE_CD->Properties->Items->Clear(); String sCode = ITSUtil_GetCode(CbINCD_TYPE_CLSF_CD->Text); if (sCode == "1") { if (FCodeACTU) { FOR_STL(TItsSubCode *, pSubCode, FCodeACTU->FSubLists) { if (pSubCode->USE_YN == "N") continue; CbINCD_TYPE_CD->Properties->Items->Add(" [" + pSubCode->CMMN_CD + "] " + pSubCode->CMMN_CD_KOR_NM); } } } else if (sCode == "2") { if (FCodeCRTU) { FOR_STL(TItsSubCode *, pSubCode, FCodeCRTU->FSubLists) { if (pSubCode->USE_YN == "N") continue; CbINCD_TYPE_CD->Properties->Items->Add(" [" + pSubCode->CMMN_CD + "] " + pSubCode->CMMN_CD_KOR_NM); } } } else if (sCode == "3") { if (FCodeEVTU) { FOR_STL(TItsSubCode *, pSubCode, FCodeEVTU->FSubLists) { if (pSubCode->USE_YN == "N") continue; CbINCD_TYPE_CD->Properties->Items->Add(" [" + pSubCode->CMMN_CD + "] " + pSubCode->CMMN_CD_KOR_NM); } } } else if (sCode == "4") { if (FCodeWETU) { FOR_STL(TItsSubCode *, pSubCode, FCodeWETU->FSubLists) { if (pSubCode->USE_YN == "N") continue; CbINCD_TYPE_CD->Properties->Items->Add(" [" + pSubCode->CMMN_CD + "] " + pSubCode->CMMN_CD_KOR_NM); } } } CbINCD_TYPE_CD->ItemIndex = 0; } //--------------------------------------------------------------------------- void __fastcall TFRAMEIncidentRegist::TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton, TShiftState AShift, bool &AHandled) { InitScreen(); TcxDataController *pGDC = TvList->DataController; int nRow = pGDC->FocusedRecordIndex; if( nRow <= -1 ) return; TItsSubCode *pSubCode; //int nMemPtr = pGDC->Values[nRow][Column99->Index]; //TItsIncident *pObj = (TItsIncident *)nMemPtr; try { String sINCD_OCRR_ID = pGDC->Values[nRow][Column01->Index]; TItsIncident *pObj = ItsIncidentManager->FLists.Find(sINCD_OCRR_ID); if (!pObj) return; String sIST = ""; if (pObj->INCD_ORGN_CD != "") sIST = " [" + pObj->INCD_ORGN_CD + "] "; String sLTCU= ""; if (pObj->CMTR_GRAD_CD != "") sLTCU = " [" + pObj->CMTR_GRAD_CD + "] "; String sICM = ""; if (pObj->INCD_CNFM_MTHD_CD != "") sICM = " [" + pObj->INCD_CNFM_MTHD_CD + "] "; String sSRLU= ""; if (pObj->INCD_SERN_CD != "") sSRLU = " [" + pObj->INCD_SERN_CD + "] "; String sIDTU = ""; if (pObj->INCD_TYPE_CLSF_CD != "") sIDTU = " [" + pObj->INCD_TYPE_CLSF_CD + "] "; String sACTU = ""; if (pObj->INCD_TYPE_CD != "") sACTU = " [" + pObj->INCD_TYPE_CD + "] "; String sISS = ""; if (pObj->INCD_PRGR_STEP_CD != "") sISS = " [" + pObj->INCD_PRGR_STEP_CD + "] "; String sDFW = ""; if (pObj->WTHR_CD != "") sDFW = " [" + pObj->WTHR_CD + "] "; String sRSL = ""; if (pObj->RESP_LVL_CD != "") sRSL = " [" + pObj->RESP_LVL_CD + "] "; String sPRTU = ""; if (pObj->TRVL_LMNT_TYPE_CD != "") sPRTU = " [" + pObj->TRVL_LMNT_TYPE_CD + "] "; if (FCodeIST) { pSubCode = FCodeIST->FSubLists.Find(pObj->INCD_ORGN_CD); if (pSubCode) sIST = sIST + pSubCode->CMMN_CD_KOR_NM; } if (FCodeLTCU) { pSubCode = FCodeLTCU->FSubLists.Find(pObj->CMTR_GRAD_CD); if (pSubCode) sLTCU = sLTCU + pSubCode->CMMN_CD_KOR_NM; } if (FCodeICM) { pSubCode = FCodeICM->FSubLists.Find(pObj->INCD_CNFM_MTHD_CD); if (pSubCode) sICM = sICM + pSubCode->CMMN_CD_KOR_NM; } if (FCodeSRLU) { pSubCode = FCodeSRLU->FSubLists.Find(pObj->INCD_SERN_CD); if (pSubCode) sSRLU = sSRLU + pSubCode->CMMN_CD_KOR_NM; } if (FCodeIDTU) { pSubCode = FCodeIDTU->FSubLists.Find(pObj->INCD_TYPE_CLSF_CD); if (pSubCode) sIDTU = sIDTU + pSubCode->CMMN_CD_KOR_NM; } if (!pObj->INCD_TYPE_CLSF_CD.IsEmpty() && !pObj->INCD_TYPE_CD.IsEmpty()) { if (pObj->INCD_TYPE_CLSF_CD == "1") { if (FCodeACTU) { pSubCode = FCodeACTU->FSubLists.Find(pObj->INCD_TYPE_CD); if (pSubCode) sACTU = sACTU + pSubCode->CMMN_CD_KOR_NM; } } else if (pObj->INCD_TYPE_CLSF_CD == "2") { if (FCodeCRTU) { pSubCode = FCodeCRTU->FSubLists.Find(pObj->INCD_TYPE_CD); if (pSubCode) sACTU = sACTU + pSubCode->CMMN_CD_KOR_NM; } } else if (pObj->INCD_TYPE_CLSF_CD == "3") { if (FCodeEVTU) { pSubCode = FCodeEVTU->FSubLists.Find(pObj->INCD_TYPE_CD); if (pSubCode) sACTU = sACTU + pSubCode->CMMN_CD_KOR_NM; } } else if (pObj->INCD_TYPE_CLSF_CD == "4") { if (FCodeWETU) { pSubCode = FCodeWETU->FSubLists.Find(pObj->INCD_TYPE_CD); if (pSubCode) sACTU = sACTU + pSubCode->CMMN_CD_KOR_NM; } } } if (FCodeISS) { pSubCode = FCodeISS->FSubLists.Find(pObj->INCD_PRGR_STEP_CD); if (pSubCode) sISS = sISS + pSubCode->CMMN_CD_KOR_NM; } if (FCodeDFW) { pSubCode = FCodeISS->FSubLists.Find(pObj->WTHR_CD); if (pSubCode) sDFW = sDFW + pSubCode->CMMN_CD_KOR_NM; } if (FCodeRSL) { pSubCode = FCodeRSL->FSubLists.Find(pObj->RESP_LVL_CD); if (pSubCode) sRSL = sRSL + pSubCode->CMMN_CD_KOR_NM; } if (FCodePRTU) { pSubCode = FCodePRTU->FSubLists.Find(pObj->TRVL_LMNT_TYPE_CD); if (pSubCode) sPRTU = sPRTU + pSubCode->CMMN_CD_KOR_NM; } EdINCD_TITL->Text = pObj->INCD_TITL; EdINCD_OCRR_ID->Text = pObj->INCD_OCRR_ID; EdRGST_DT->Text = ITSUtil_StrToDateTime(pObj->RGST_DT); CbINCD_ORGN_CD->Text = sIST; EdOCRR_LCTN_NM->Text = pObj->OCRR_LCTN_NM; EdINCD_EXPL->Text = pObj->INCD_EXPL; CbCMTR_GRAD_CD->Text = sLTCU; EdIFMR_NM->Text = pObj->IFMR_NM; CbINCD_CNFM_MTHD_CD->Text = sICM; CbINCD_SERN_CD->Text = sSRLU; CbINCD_TYPE_CLSF_CD->Text = sIDTU; CbINCD_TYPE_CLSF_CDClick((TObject *)CbINCD_TYPE_CLSF_CD); CbINCD_TYPE_CD->Text = sACTU; DtINCD_CNFM_DT->Date = ITSUtil_StrToDateTime(pObj->INCD_CNFM_DT); DtINCD_STRT_DT->Date = ITSUtil_StrToDateTime(pObj->FINCD_STRT_DT); DtINCD_END_PRAR_DT->Date = ITSUtil_StrToDateTime(pObj->INCD_END_PRAR_DT); FInsert = false; BtnMissInfo->Enabled = true; } catch(...) { } } //--------------------------------------------------------------------------- void __fastcall TFRAMEIncidentRegist::BtnSaveClick(TObject *Sender) { String sIncidentId = EdINCD_OCRR_ID->Text.Trim(); if (EdOCRR_LCTN_NM->Text.Trim().IsEmpty()) { Application->MessageBox(L"¡Ú[¹ß»ýÀ§Ä¡¼³¸í] Ç׸ñÀº Çʼö ÀÔ·Â Ç׸ñÀÔ´Ï´Ù.\r\ÀÔ·ÂÈÄ ÁøÇàÇØ ÁÖ¼¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); if (EdOCRR_LCTN_NM->CanFocus()) EdOCRR_LCTN_NM->SetFocus(); return; } if (EdINCD_EXPL->Text.Trim().IsEmpty()) { Application->MessageBox(L"¡Ú[µ¹¹ß»óȲ¼³¸í] Ç׸ñÀº Çʼö ÀÔ·Â Ç׸ñÀÔ´Ï´Ù.\r\ÀÔ·ÂÈÄ ÁøÇàÇØ ÁÖ¼¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); if (EdINCD_EXPL->CanFocus()) EdINCD_EXPL->SetFocus(); return; } if (DtINCD_CNFM_DT->EditValue.IsEmpty()) { Application->MessageBox(L"¡Ú[µ¹¹ßÈ®Àνð¢] Ç׸ñÀº Çʼö ÀÔ·Â Ç׸ñÀÔ´Ï´Ù.\r\ÀÔ·ÂÈÄ ÁøÇàÇØ ÁÖ¼¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); if (DtINCD_CNFM_DT->CanFocus()) DtINCD_CNFM_DT->SetFocus(); return; } if (EdINCD_TITL->Text.Trim().IsEmpty()) { Application->MessageBox(L"¡Ú[µ¹¹ßÁ¦¸ñ] Ç׸ñÀº Çʼö ÀÔ·Â Ç׸ñÀÔ´Ï´Ù.\r\ÀÔ·ÂÈÄ ÁøÇàÇØ ÁÖ¼¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); if (EdINCD_TITL->CanFocus()) EdINCD_TITL->SetFocus(); return; } if (EdINCD_OCRR_ID->Text.Trim().IsEmpty()) { Application->MessageBox(L"¡Ú[µ¹¹ß ID] Ç׸ñÀº Çʼö ÀÔ·Â Ç׸ñÀÔ´Ï´Ù.\r\ÀÔ·ÂÈÄ ÁøÇàÇØ ÁÖ¼¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); if (EdINCD_OCRR_ID->CanFocus()) EdINCD_OCRR_ID->SetFocus(); return; } String sStartTm = DtINCD_STRT_DT->Date.FormatString("YYYYMMDDHHNNSS"); String sEndTm = DtINCD_END_PRAR_DT->Date.FormatString("YYYYMMDDHHNNSS"); if (sStartTm >= sEndTm) { Application->MessageBox(L"µ¹¹ßÁ¾·á¿¹Á¤½Ã°¢ÀÌ µ¹¹ß½ÃÀ۽ð¢°ú °°°Å³ª Å®´Ï´Ù.\r\nÈ®ÀÎ ÈÄ ÁøÇàÇØ ÁÖ¼¼¿ä", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); if (DtINCD_STRT_DT->CanFocus()) DtINCD_STRT_DT->SetFocus(); return; } if (!FIncidentId.IsEmpty()) { if (FIncidentId == sIncidentId) return; } if (Application->MessageBox(L"µ¹¹ß Á¤º¸¸¦ È®Á¤ ÇϽðڽÀ´Ï±î?", FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return; #if 0 if (!ItsIncidentManager->GetNextIncidentId(CenterId, sIncidentId)) { Application->MessageBox(L"½Å±Ô µ¹¹ß ID¸¦ Á¶È¸ÇÏÁö ¸øÇÏ¿´½À´Ï´Ù.\r\nµ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ¿¡°Ô È®ÀÎ ÈÄ¿¡ ÀÛ¾÷Çϼ¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } #endif bool bResult; if (FInsert) { bResult = InsertToDb(sIncidentId, ITSUtil_GetCode(CbINCD_ORGN_CD->Text), EdOCRR_LCTN_NM->Text.Trim(), EdINCD_EXPL->Text.Trim(), ITSUtil_GetCode(CbCMTR_GRAD_CD->Text), EdIFMR_NM->Text.Trim(), ITSUtil_GetCode(CbINCD_CNFM_MTHD_CD->Text), ITSUtil_GetCode(CbINCD_SERN_CD->Text), ITSUtil_GetCode(CbINCD_TYPE_CLSF_CD->Text), ITSUtil_GetCode(CbINCD_TYPE_CD->Text), DtINCD_CNFM_DT->Date.FormatString("YYYYMMDDHHNNSS"), DtINCD_STRT_DT->Date.FormatString("YYYYMMDDHHNNSS"), DtINCD_END_PRAR_DT->Date.FormatString("YYYYMMDDHHNNSS"), EdINCD_TITL->Text.Trim()); } else { bResult = UpdateToDb(sIncidentId, ITSUtil_GetCode(CbINCD_ORGN_CD->Text), EdOCRR_LCTN_NM->Text.Trim(), EdINCD_EXPL->Text.Trim(), ITSUtil_GetCode(CbCMTR_GRAD_CD->Text), EdIFMR_NM->Text.Trim(), ITSUtil_GetCode(CbINCD_CNFM_MTHD_CD->Text), ITSUtil_GetCode(CbINCD_SERN_CD->Text), ITSUtil_GetCode(CbINCD_TYPE_CLSF_CD->Text), ITSUtil_GetCode(CbINCD_TYPE_CD->Text), DtINCD_CNFM_DT->Date.FormatString("YYYYMMDDHHNNSS"), DtINCD_STRT_DT->Date.FormatString("YYYYMMDDHHNNSS"), DtINCD_END_PRAR_DT->Date.FormatString("YYYYMMDDHHNNSS"), EdINCD_TITL->Text.Trim()); } if (bResult) { if (FOcrrType == 1) { UpdateAutoIncident(EdLinkId->Text, EdRegDt->Text, "Y"); ItsIncidentManager->LoadFromAutoIncident(); ItsIncidentManager->LoadFromDb(); UpdateAutoList(); } else { ItsIncidentManager->LoadFromDb(); UpdateList(); //CMM_SetGridFocusRow(CxList, TvList, sIncidentId, Column01->Index); } BtnNewClick((TObject *)BtnNew); } InitScreen(); } //--------------------------------------------------------------------------- bool __fastcall TFRAMEIncidentRegist::InsertToDb(String AINCD_OCRR_ID, //µ¹¹ßID String AINCD_ORGN_CD, //µ¹¹ß»óȲ ¿øº» ÄÚµå : IST String AOCRR_LCTN_NM, //¹ß»ý À§Ä¡ ¸í String AINCD_EXPL, //µ¹¹ß»óȲ ¼³¸í String ACMTR_GRAD_CD, //¼ÒÅë µî±Þ ÄÚµå : LTCU String AIFMR_NM, //Á¦º¸ÀÚ ¸í String AINCD_CNFM_MTHD_CD, //µ¹¹ß»óȲ È®ÀÎ ¹æ¹ý ÄÚµå : ICM String AINCD_SERN_CD, //µ¹¹ß»óȲ ½É°¢µµ ÄÚµå : SRLU String AINCD_TYPE_CLSF_CD, //µ¹¹ß»óȲ À¯Çü ºÐ·ù ÄÚµå : IDTU String AINCD_TYPE_CD, //µ¹¹ß»óȲ À¯Çü ÄÚµå : ACTU, CRTU, EVTU, WETU Áß Çϳª String AINCD_CNFM_DT, //µ¹¹ß»óȲ È®ÀÎ ÀϽà String AINCD_STRT_DT, //µ¹¹ß»óȲ ½ÃÀÛ ÀϽà String AINCD_END_PRAR_DT, //µ¹¹ß»óȲ Á¾·á ¿¹Á¤ ÀϽà String AINCD_TITL) //µ¹¹ßÁ¦¸ñ { String sQry; TADOQuery *pADO = NULL; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_GetConnection()->BeginTrans(); sQry = "INSERT INTO TB_INCD_OCRR(INCD_OCRR_ID, RGST_DT, INCD_ORGN_CD, OCRR_LCTN_NM, \r\n" " INCD_EXPL, CMTR_GRAD_CD, IFMR_NM, INCD_CNFM_MTHD_CD, \r\n" " INCD_CNFM_DT, INCD_STRT_DT, INCD_END_PRAR_DT, INCD_TYPE_CLSF_CD, \r\n" " INCD_TYPE_CD, INCD_SERN_CD, INCD_PRGR_STEP_CD, INCD_TITL ) \r\n" " VALUES(:p01, :p02, :p03, :p04, \r\n" " :p05, :p06, :p07, :p08, \r\n" " :p09, :p10, :p11, :p12, \r\n" " :p13, :p14, 'ISS2', :p15 ) \r\n"; ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", AINCD_OCRR_ID); ITSDb_SQLBind(pADO, "p02", Now().FormatString("YYYYMMDDHHNNSS")); ITSDb_SQLBind(pADO, "p03", AINCD_ORGN_CD); ITSDb_SQLBind(pADO, "p04", AOCRR_LCTN_NM); ITSDb_SQLBind(pADO, "p05", AINCD_EXPL); ITSDb_SQLBind(pADO, "p06", ACMTR_GRAD_CD); ITSDb_SQLBind(pADO, "p07", AIFMR_NM); ITSDb_SQLBind(pADO, "p08", AINCD_CNFM_MTHD_CD); ITSDb_SQLBind(pADO, "p09", AINCD_CNFM_DT); ITSDb_SQLBind(pADO, "p10", AINCD_STRT_DT); ITSDb_SQLBind(pADO, "p11", AINCD_END_PRAR_DT); ITSDb_SQLBind(pADO, "p12", AINCD_TYPE_CLSF_CD); ITSDb_SQLBind(pADO, "p13", AINCD_TYPE_CD); ITSDb_SQLBind(pADO, "p14", AINCD_SERN_CD); ITSDb_SQLBind(pADO, "p15", AINCD_TITL); ITSDb_SQLExec(pADO); ITSDb_GetConnection()->CommitTrans(); Application->MessageBox(FrmLang->lblDbSave->Caption.c_str(),//L"µ¹¹ß È®Á¤ Á¤º¸¸¦ ÀúÀå ÇÏ¿´½À´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); } catch(EDatabaseError &E) { ITSDb_GetConnection()->RollbackTrans(); ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); ShowMessage(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ITSDb_GetConnection()->RollbackTrans(); ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); ShowMessage(String(exception.ClassName()) + exception.Message); } catch(...) { ITSDb_GetConnection()->RollbackTrans(); ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); ShowMessage(FrmLang->lblDbErr->Caption);//"µ¥ÀÌÅÍ ÀÛ¾÷ Áß¿¡ ¾Ë¼ö¾ø´Â DB ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù."); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return true; } //--------------------------------------------------------------------------- bool __fastcall TFRAMEIncidentRegist::UpdateToDb(String AINCD_OCRR_ID, //µ¹¹ßID String AINCD_ORGN_CD, //µ¹¹ß»óȲ ¿øº» ÄÚµå : IST String AOCRR_LCTN_NM, //¹ß»ý À§Ä¡ ¸í String AINCD_EXPL, //µ¹¹ß»óȲ ¼³¸í String ACMTR_GRAD_CD, //¼ÒÅë µî±Þ ÄÚµå : LTCU String AIFMR_NM, //Á¦º¸ÀÚ ¸í String AINCD_CNFM_MTHD_CD, //µ¹¹ß»óȲ È®ÀÎ ¹æ¹ý ÄÚµå : ICM String AINCD_SERN_CD, //µ¹¹ß»óȲ ½É°¢µµ ÄÚµå : SRLU String AINCD_TYPE_CLSF_CD, //µ¹¹ß»óȲ À¯Çü ºÐ·ù ÄÚµå : IDTU String AINCD_TYPE_CD, //µ¹¹ß»óȲ À¯Çü ÄÚµå : ACTU, CRTU, EVTU, WETU Áß Çϳª String AINCD_CNFM_DT, //µ¹¹ß»óȲ È®ÀÎ ÀϽà String AINCD_STRT_DT, //µ¹¹ß»óȲ ½ÃÀÛ ÀϽà String AINCD_END_PRAR_DT, //µ¹¹ß»óȲ Á¾·á ¿¹Á¤ ÀϽà String AINCD_TITL) //µ¹¹ßÁ¦¸ñ { String sQry; TADOQuery *pADO = NULL; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_GetConnection()->BeginTrans(); sQry = "UPDATE TB_INCD_OCRR \r\n" " SET RGST_DT = :p02, \r\n" " INCD_ORGN_CD = :p03, \r\n" " OCRR_LCTN_NM = :p04, \r\n" " INCD_EXPL = :p05, \r\n" " CMTR_GRAD_CD = :p06, \r\n" " IFMR_NM = :p07, \r\n" " INCD_CNFM_MTHD_CD = :p08, \r\n" " INCD_CNFM_DT = :p09, \r\n" " INCD_STRT_DT = :p10, \r\n" " INCD_END_PRAR_DT = :p11, \r\n" " INCD_TYPE_CLSF_CD = :p12, \r\n" " INCD_TYPE_CD = :p13, \r\n" " INCD_SERN_CD = :p14, \r\n" " INCD_PRGR_STEP_CD = 'ISS2', \r\n" " INCD_TITL = :p15 \r\n" " WHERE INCD_OCRR_ID = :p01 \r\n"; ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", AINCD_OCRR_ID); ITSDb_SQLBind(pADO, "p02", Now().FormatString("YYYYMMDDHHNNSS")); ITSDb_SQLBind(pADO, "p03", AINCD_ORGN_CD); ITSDb_SQLBind(pADO, "p04", AOCRR_LCTN_NM); ITSDb_SQLBind(pADO, "p05", AINCD_EXPL); ITSDb_SQLBind(pADO, "p06", ACMTR_GRAD_CD); ITSDb_SQLBind(pADO, "p07", AIFMR_NM); ITSDb_SQLBind(pADO, "p08", AINCD_CNFM_MTHD_CD); ITSDb_SQLBind(pADO, "p09", AINCD_CNFM_DT); ITSDb_SQLBind(pADO, "p10", AINCD_STRT_DT); ITSDb_SQLBind(pADO, "p11", AINCD_END_PRAR_DT); ITSDb_SQLBind(pADO, "p12", AINCD_TYPE_CLSF_CD); ITSDb_SQLBind(pADO, "p13", AINCD_TYPE_CD); ITSDb_SQLBind(pADO, "p14", AINCD_SERN_CD); ITSDb_SQLBind(pADO, "p15", AINCD_TITL); ITSDb_SQLExec(pADO); ITSDb_GetConnection()->CommitTrans(); Application->MessageBox(FrmLang->lblDbSave->Caption.c_str(),//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(); ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); ShowMessage(FrmLang->lblDbErr->Caption);//"µ¥ÀÌÅÍ ÀÛ¾÷ Áß¿¡ ¾Ë¼ö¾ø´Â DB ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù."); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return true; } //--------------------------------------------------------------------------- void __fastcall TFRAMEIncidentRegist::InitScreen() { FInsert = false; FOcrrType = 0; BtnMissInfo->Enabled = false; String sNow = Now().FormatString("YYYYMMDDHHNNSS"); EdINCD_OCRR_ID->Text = ""; EdRGST_DT->Text = ITSUtil_StrToDateTime(sNow); EdRegDt->Text = sNow; CbINCD_ORGN_CD->ItemIndex = 0; EdOCRR_LCTN_NM->Text = ""; //EdLINK_ID->Text = ""; EdLinkId->Text = ""; //SePosX->Value = 0; //SePosY->Value = 0; EdINCD_EXPL->Text = ""; CbCMTR_GRAD_CD->ItemIndex = 0; EdIFMR_NM->Text = ""; CbINCD_CNFM_MTHD_CD->ItemIndex = 0; CbINCD_SERN_CD->ItemIndex = 0; EdINCD_TITL->Text = ""; CbINCD_TYPE_CLSF_CD->ItemIndex = 0; CbINCD_TYPE_CD->ItemIndex = 0; DtINCD_CNFM_DT->Date = Now(); DtINCD_STRT_DT->Date = Now(); DtINCD_END_PRAR_DT->Date = Now() + ( 1 / 24 ); //ChkINCD_OCRR_LANE_Extra->Checked = false; //ChkINCD_OCRR_LANE_1->Checked = false; //ChkINCD_OCRR_LANE_2->Checked = false; //ChkINCD_OCRR_LANE_3->Checked = false; //ChkINCD_OCRR_LANE_4->Checked = false; //ChkINCD_OCRR_LANE_5->Checked = false; //ChkINCD_CLSR_LANE_Extra->Checked = false; //ChkINCD_CLSR_LANE_1->Checked = false; //ChkINCD_CLSR_LANE_2->Checked = false; //ChkINCD_CLSR_LANE_3->Checked = false; //ChkINCD_CLSR_LANE_4->Checked = false; //ChkINCD_CLSR_LANE_5->Checked = false; //SeDELY_LNGT->Value = 0; //SeINCD_LNGT->Value = 0; //SeSMLT_VHCL_UNUM->Value = 0; //SeMDLT_VHCL_UNUM->Value = 0; //SeINJR_PNUM->Value = 0; //SeFTLT_PNUM->Value = 0; //CbWTHR_CD->Text = ""; //CbRESP_LVL_CD->Text = ""; //ChkUTIS_CNCT_YN->Checked = false; //ChkTRUB_VHCL_YN->Checked = false; //ChkFALT_YN->Checked = false; //ChkFRWT_YN->Checked = false; //CbTRVL_LMNT_TYPE_CD->Text = ""; //ChkVMS_DSPL_YN->Checked = false; //EdSTRT_LCTN_NM->Text = ""; //EdEND_LCTN_NM->Text = ""; //CbVMS_INCD_TYPE_CD->Text = ""; //CbVMS_INCD_DETL_TYPE_CD->Text = ""; } //--------------------------------------------------------------------------- void __fastcall TFRAMEIncidentRegist::UpdateAutoList() { ItsIncidentManager->LoadFromVmsIncident(); ItsIncidentManager->LoadFromAutoIncident(); CMM_ClearGridTableView(TvList2); TcxDataController *pGDC = TvList2->DataController; int nRow = 0; try { TvList2->BeginUpdate(); try { ItsIncidentManager->FAutoLists.Lock(); FOR_STL(TItsAutoIncident *, pObj, ItsIncidentManager->FAutoLists) { if (pObj->REAL_YN == "Y") continue; nRow = pGDC->AppendRecord(); pGDC->Values[nRow][ColumnA01->Index] = pObj->LINK_ID; //¸µÅ©ID pGDC->Values[nRow][ColumnA02->Index] = ITSUtil_StrToDateTime(pObj->DETC_DT); //°ËÁö ÀϽà pGDC->Values[nRow][ColumnA03->Index] = pObj->CLCT_SPED_AVRG; //¼öÁý ¼Óµµ Æò±Õ pGDC->Values[nRow][ColumnA04->Index] = pObj->ESTM_SPED_AVRG; //¿¹»ó ¼Óµµ Æò±Õ pGDC->Values[nRow][ColumnA05->Index] = pObj->REAL_YN; //»ç½Ç ¿©ºÎ pGDC->Values[nRow][ColumnA06->Index] = pObj->LINK_ID; //¸µÅ©ID pGDC->Values[nRow][ColumnA07->Index] = pObj->ROAD_NAME; //µµ·Î¸í pGDC->Values[nRow][ColumnA08->Index] = pObj->STNAME; //½ÃÁ¡¸í pGDC->Values[nRow][ColumnA09->Index] = pObj->EDNAME; //Á¾Á¡¸í pGDC->Values[nRow][ColumnA99->Index] = (int)pObj; } } __finally { ItsIncidentManager->FAutoLists.UnLock(); } } __finally { TvList2->EndUpdate(); TvList2->DataController->GotoFirst(); TvList2->DataController->FocusedRecordIndex = 0; } } //--------------------------------------------------------------------------- void __fastcall TFRAMEIncidentRegist::TvList2CellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton, TShiftState AShift, bool &AHandled) { InitScreen(); TcxDataController *pGDC = TvList2->DataController; int nRow = pGDC->FocusedRecordIndex; if( nRow <= -1 ) return; String sIncidentId = ""; if (!ItsIncidentManager->GetNextIncidentId(CenterId, sIncidentId)) return; int nMemPtr = pGDC->Values[nRow][ColumnA99->Index]; TItsAutoIncident *pObj = (TItsAutoIncident *)nMemPtr; if (pObj) { //[1100003] ¼ÛÁ¤IC·¥ÇÁ->¼ÛÁ¤¾Õ EdINCD_OCRR_ID->Text = sIncidentId; EdRGST_DT->Text = ITSUtil_StrToDateTime(pObj->DETC_DT); EdRegDt->Text = pObj->DETC_DT; CbINCD_ORGN_CD->Text = ""; EdOCRR_LCTN_NM->Text = pObj->ROAD_NAME; EdLinkId->Text = pObj->LINK_ID; //EdLINK_ID->Text = "[" + pObj->LINK_ID + "] " + pObj->STNAME + "¡æ" + pObj->EDNAME; //EdLinkId->Text = pObj->LINK_ID; //if (pObj->X_CRDN.IsEmpty()) pObj->X_CRDN = "0.0"; //SePosX->Value = StrToFloat(pObj->X_CRDN); //if (pObj->Y_CRDN.IsEmpty()) pObj->Y_CRDN = "0.0"; //SePosY->Value = StrToFloat(pObj->Y_CRDN); EdINCD_EXPL->Text = ""; CbCMTR_GRAD_CD->Text = ""; EdIFMR_NM->Text = ""; CbINCD_CNFM_MTHD_CD->Text = ""; CbINCD_SERN_CD->Text = ""; EdINCD_TITL->Text = ""; CbINCD_TYPE_CLSF_CD->Text = ""; CbINCD_TYPE_CD->Text = ""; DtINCD_STRT_DT->Date = Now(); DtINCD_END_PRAR_DT->Date = Now() + 1; //ChkVMS_DSPL_YN->Checked = false; //EdSTRT_LCTN_NM->Text = ""; //EdEND_LCTN_NM->Text = ""; //CbVMS_INCD_TYPE_CD->Text = ""; //CbVMS_INCD_DETL_TYPE_CD->Text = ""; FInsert = true; FOcrrType = 1; BtnMissInfo->Enabled = true; } } //--------------------------------------------------------------------------- void __fastcall TFRAMEIncidentRegist::BtnNewClick(TObject *Sender) { InitScreen(); if (BtnNew->Tag == 0) { String sIncidentId = ""; if (ItsIncidentManager->GetNextIncidentId(CenterId, sIncidentId)) { cxPageControl1->Enabled = false; BtnMissInfo->Enabled = false; BtnNew->Tag = 1; BtnNew->Caption = "µî·ÏÃë¼Ò"; EdINCD_OCRR_ID->Text = sIncidentId; EdLinkId->Text = sIncidentId; FInsert = true; } } else { cxPageControl1->Enabled = true; BtnNew->Tag = 0; BtnNew->Caption = "½Å±Ôµî·Ï"; FInsert = false; } } //--------------------------------------------------------------------------- void __fastcall TFRAMEIncidentRegist::BtnMissInfoClick(TObject *Sender) { if (EdINCD_OCRR_ID->Text.IsEmpty()) { Application->MessageBox(L"µ¹¹ß ¿Àº¸ ÆÇÁ¤\r\nµ¹¹ß ±¸°£À» ¸ÕÀú ¼±ÅÃÇϼ¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } if (Application->MessageBox(L"µ¹¹ß ¿Àº¸ ÆÇÁ¤\r\nÇöÀç µ¹¹ß Á¤º¸¸¦ ¿Àº¸·Î ÆÇÁ¤ ÇϽðڽÀ´Ï±î?", FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return; if (FOcrrType == 1) { UpdateAutoIncident(EdLinkId->Text, EdRegDt->Text, "X"); ItsIncidentManager->LoadFromAutoIncident(); UpdateAutoList(); } else { TItsIncident *pObj = ItsIncidentManager->FLists.Find(EdINCD_OCRR_ID->Text); if (!pObj) return; if (UpdateMissIncident(pObj->INCD_OCRR_ID)) { pObj->INCD_PRGR_STEP_CD = "ISS4"; // ¿Àº¸ÆÇÁ¤ UpdateList(); InitScreen(); } } Application->MessageBox(FrmLang->lblDbSave->Caption.c_str(),//L"µ¹¹ß ¿Àº¸ ÆÇÁ¤\r\nµ¹¹ß ¿Àº¸ ÆÇÁ¤ Á¤º¸¸¦ ÀúÀå ÇÏ¿´½À´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); Application->ProcessMessages(); POST_MSG(Application->MainForm->Handle, WM_DATABASE_REFRESH, WP_MSG_02, 0); } //--------------------------------------------------------------------------- bool __fastcall TFRAMEIncidentRegist::UpdateMissIncident(String AINCD_OCRR_ID) { String sQry; TADOQuery *pADO = NULL; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_GetConnection()->BeginTrans(); sQry = "UPDATE TB_INCD_OCRR \r\n" " SET INCD_PRGR_STEP_CD = 'ISS4' \r\n" " WHERE INCD_OCRR_ID = :p01 \r\n"; ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", AINCD_OCRR_ID); ITSDb_SQLExec(pADO); ITSDb_GetConnection()->CommitTrans(); Application->MessageBox(FrmLang->lblDbSave->Caption.c_str(),//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(); ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); ShowMessage(FrmLang->lblDbErr->Caption);//"µ¥ÀÌÅÍ ÀÛ¾÷ Áß¿¡ ¾Ë¼ö¾ø´Â DB ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù."); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return true; } //--------------------------------------------------------------------------- bool __fastcall TFRAMEIncidentRegist::UpdateAutoIncident(String ALINK_ID, String ARGST_DT, String AREAL_YN) { String sQry; TADOQuery *pADO = NULL; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_GetConnection()->BeginTrans(); sQry = "UPDATE TB_INCD_ESTM_SECT \r\n" " SET REAL_YN = :p03 \r\n" " WHERE LINK_ID = :p01 \r\n" " AND DETC_DT = :p02 \r\n"; ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", ALINK_ID); ITSDb_SQLBind(pADO, "p02", ARGST_DT); ITSDb_SQLBind(pADO, "p03", AREAL_YN); ITSDb_SQLExec(pADO); ITSDb_GetConnection()->CommitTrans(); //Application->MessageBox(FrmLang->lblDbSave->Caption.c_str(),//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(); ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); ShowMessage(FrmLang->lblDbErr->Caption);//"µ¥ÀÌÅÍ ÀÛ¾÷ Áß¿¡ ¾Ë¼ö¾ø´Â DB ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù."); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return true; } //--------------------------------------------------------------------------- void __fastcall TFRAMEIncidentRegist::BtnMoveGisClick(TObject *Sender) { if (EdLinkId->Text.IsEmpty()) return; g_SelLink.pForm = NULL; g_SelLink.Level = 1; g_SelLink.Id = EdLinkId->Text; POST_MSG(Application->MainForm->Handle, WM_PLUGINFORM, WP_MSG_15, LP_MSG_15); } //--------------------------------------------------------------------------- void __fastcall TFRAMEIncidentRegist::cxPageControl1PageChanging(TObject *Sender, TcxTabSheet *NewPage, bool &AllowChange) { if (NewPage == cxTabSheet1) { cxGroupBox1->Caption = "¢º ¿ÜºÎ¿¬°è±â°ü µ¹¹ß¸ñ·Ï (¸ñ·Ï¿¡¼­ ´õºíŬ¸¯À¸·Î µ¹¹ßÁ¤º¸ ¼±ÅÃ)"; } else { cxGroupBox1->Caption = "¢º ÀÚµ¿ µ¹¹ß¸ñ·Ï (¸ñ·Ï¿¡¼­ ´õºíŬ¸¯À¸·Î µ¹¹ßÁ¤º¸ ¼±ÅÃ)"; } } //---------------------------------------------------------------------------