/// <summary> /// 초기조회 및 바인딩 /// </summary> private void InitDataBinding() { try { // cbFTR_CDE 지형지물 //BizUtil.SetCombo(cbFTR_CDE, "Select_FTR_LIST", "FTR_CDE", "FTR_NAM", false); // cbHJD_CDE 행정동 BizUtil.SetCombo(cbHJD_CDE, "Select_ADAR_LIST", "HJD_CDE", "HJD_NAM", "선택"); // cbMNG_CDE 관리기관 BizUtil.SetCmbCode(cbMNG_CDE, "250101", "선택"); // cbWSR_CDE 수원구분 BizUtil.SetCmbCode(cbWSR_CDE, "250058", "선택"); // cbSAM_CDE 여과방법 BizUtil.SetCmbCode(cbSAM_CDE, "250021", "선택"); } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
/// <summary> /// 초기조회 및 바인딩 /// </summary> private void InitDataBinding() { try { // cbFTR_CDE 지형지물 //BizUtil.SetCombo(cbFTR_CDE, "Select_FTR_LIST", "FTR_CDE", "FTR_NAM", false); // cbHJD_CDE 행정동 BizUtil.SetCombo(cbHJD_CDE, "Select_ADAR_LIST", "HJD_CDE", "HJD_NAM", "선택"); // cbMNG_CDE 관리기관 BizUtil.SetCmbCode(cbMNG_CDE, "250101", "선택"); // cbPGA_CDE 수압계종류 BizUtil.SetCmbCode(cbPGA_CDE, "250057", "선택"); // cbMOF_CDE 형식 BizUtil.SetCmbCode(cbMOF_CDE, "250004", "선택"); } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
/// <summary> /// 저장작업 /// </summary> /// <param name="obj"></param> private void OnSave(object obj) { // 필수체크 (Tag에 필수체크 표시한 EditBox, ComboBox 대상으로 수행) if (!BizUtil.ValidReq(uC_VALV_PS)) { return; } if (Messages.ShowYesNoMsgBox("저장하시겠습니까?") != MessageBoxResult.Yes) { return; } try { FctDtl.FTR_CDE = this.FTR_CDE; FctDtl.FTR_IDN = Convert.ToInt32(this.FTR_IDN); //신규위치 및 기존위치 정보만 있을수 있으므로 shape의 관리번호를 기준으로한다. BizUtil.Update2(FctDtl, "SaveValvFacDtl"); //2.위치정보 - 위치편집한 경우만 if (!FmsUtil.IsNull(GisCmm.WKT_POINT)) { GisCmm.SavePoint(FctDtl.FTR_CDE, FctDtl.FTR_IDN.ToString(), "WTL_VALV_PS"); GisCmm.WKT_POINT = ""; } } catch (Exception e) { Messages.ShowErrMsgBox("저장 처리중 오류가 발생하였습니다." + e.Message); return; } Messages.ShowOkMsgBox(); InitModel(); }
/// <summary> /// 물리적파일을 업로드한후, 파일테이블에 등록하고, _FIL_SEQ를 생성한다 /// </summary> /// <returns></returns> private void UploadFileList() { // 1.shp 물리적파일 저장 /// Items는 추가된 파일객체만이다 foreach (FileInfo fi in ItemsFile) { string shp_file_path = Path.Combine(BizUtil.GetDataFolder("shape"), fi.Name); string db_shp_file_path = Path.Combine(SHP, fi.Name); try { // 1.shp파일 프로그램 위치에 저장 fi.CopyTo(shp_file_path, true); // 2.shp파일 db서버 위치에 원격복사 ExPs_CopyShape(shp_file_path, db_shp_file_path); } catch (Exception ex) { Messages.ShowErrMsgBox(ex.Message); } } }
// 초기조회 private void InitModel() { try { ChscMaLst.Clear(); } catch (Exception) { } //리소스소스 ResSrcs = new ObservableCollection <ResSrc>(); ResSrcs.Add(ResSrc.Create(Id: 1, Name: "점검일정")); //점검스케줄 Hashtable param = new Hashtable(); param.Add("sqlId", "SelectChscMaList"); param.Add("MNG_CDE", cbMNG_CDE.EditValue); param.Add("SCL_CDE", cbSCL_CDE.EditValue); param.Add("SCL_STAT_CDE", cbSCL_STAT_CDE.EditValue); param.Add("TIT_NAM", txtTIT_NAM.Text.Trim()); param.Add("CKM_PEO", txtCKM_PEO.Text.Trim()); ChscMaLst = new ObservableCollection <ChscMaDtl>(BizUtil.SelectListObj <ChscMaDtl>(param)); //기존목록 이벤트핸들러 등록 /* */ foreach (ChscMaDtl item in ChscMaLst) { item.PropertyChanged += ChscMaDtl_PropertyChanged; } //목록변경 이벤트핸들러 등록 ChscMaLst.CollectionChanged += Lst_CollectionChanged; }
/// <summary> /// 초기조회 및 바인딩 /// </summary> private void InitDataBinding() { try { // cbMNG_CDE BizUtil.SetCmbCode(cbMNG_CDE, "250101", "선택"); // cbHJD_CDE 행정동 BizUtil.SetCombo(cbHJD_CDE, "Select_ADAR_LIST", "HJD_CDE", "HJD_NAM", "선택"); // cbMOP_CDE BizUtil.SetCmbCode(cbMOP_CDE, "250102", "선택"); // cbJHT_CDE BizUtil.SetCmbCode(cbJHT_CDE, "250026", "선택"); // cbSAA_CDE BizUtil.SetCmbCode(cbSAA_CDE, "250018", "선택"); } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
/// <summary> /// 초기조회 및 바인딩 /// </summary> private void InitDataBinding() { try { // cbFTR_CDE 지형지물 //BizUtil.SetCombo(cbFTR_CDE, "Select_FTR_LIST", "FTR_CDE", "FTR_NAM", false); // cbHJD_CDE 행정동 BizUtil.SetCombo(cbHJD_CDE, "Select_ADAR_LIST", "HJD_CDE", "HJD_NAM", "선택"); // cbHOM_HJD 수용가행정동 BizUtil.SetCombo(cbHOM_HJD, "Select_ADAR_LIST", "HJD_CDE", "HJD_NAM", "선택"); // cbSBI_CDE 업종 BizUtil.SetCmbCode(cbSBI_CDE, "250020", "선택"); // cbMET_MOF 형식 BizUtil.SetCmbCode(cbMET_MOF, "250004", "선택"); } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
/// <summary> /// 초기조회 및 바인딩 /// </summary> private void InitDataBinding() { try { // cbFTR_CDE 지형지물 //BizUtil.SetCombo(cbFTR_CDE, "Select_FTR_LIST", "FTR_CDE", "FTR_NAM", false); // cbHJD_CDE 행정동 BizUtil.SetCombo(cbHJD_CDE, "Select_ADAR_LIST", "HJD_CDE", "HJD_NAM", "선택"); // cbMNG_CDE 관리기관 BizUtil.SetCmbCode(cbMNG_CDE, "250101", "선택"); // cbSTP_MOP 관재질 BizUtil.SetCmbCode(cbSTP_MOP, "250102", "선택"); // cbVAL_MOF 형식 BizUtil.SetCmbCode(cbVAL_MOF, "250016", "선택"); } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
//주요도 저장 private void BtnReg_Click(object sender, RoutedEventArgs e) { if (Messages.ShowYesNoMsgBox("저장하시겠습니까?") != MessageBoxResult.Yes) { return; } try { Hashtable param = new Hashtable(); param.Add("sqlId", "UpdateOldMng"); param.Add("G2_ID", G2_ID); param.Add("IMP_CDE", cbIMP_CDE.EditValue); BizUtil.Update(param); } catch (Exception ex) { Messages.ShowErrMsgBox(ex.Message); } Messages.ShowOkMsgBox(); InitModel(); }
/// <summary> /// 초기화 바인딩 /// </summary> private void InitDataBinding() { try { // cbHJD_CDE 행정동 BizUtil.SetCombo(uC_META_PS.cbHJD_CDE, "Select_ADAR_LIST", "HJD_CDE", "HJD_NAM", "선택"); // cbMNG_CDE 관리기관 BizUtil.SetCmbCode(uC_META_PS.cbMNG_CDE, "250101", "선택"); // cbHOM_HJD 수용가행정동 BizUtil.SetCombo(uC_META_PS.cbHOM_HJD, "Select_ADAR_LIST", "HJD_CDE", "HJD_NAM", "선택"); // cbSBI_CDE 업종 BizUtil.SetCmbCode(uC_META_PS.cbSBI_CDE, "250020", "선택"); // cbMET_MOF 형식 BizUtil.SetCmbCode(uC_META_PS.cbMET_MOF, "250035", "선택"); } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
/// <summary> /// 엑셀다운로드 /// </summary> /// <param name="obj"></param> private void BtnExcel_Click(object sender, RoutedEventArgs e) { try { /// 데이터조회 Hashtable param = new Hashtable(); param.Add("sqlId", "SelectFtrTagMapList"); param.Add("FTR_IDN", txtFTR_IDN.Text); param.Add("PRS_NAM", txtPRS_NAM.Text); param.Add("ATT_NAM", txtATT_NAM.Text); param.Add("TAG_ID", txtTAG_ID.Text); param.Add("page", 0); param.Add("rows", 1000000); exceldt = BizUtil.SelectList(param); //그리드헤더정보 추출 columnList = new GridColumn[grid.Columns.Count]; grid.Columns.CopyTo(columnList, 0); listCols = new List <string>(); //컬럼헤더정보 가져오기 foreach (GridColumn gcol in columnList) { try { if ("PrintN".Equals(gcol.Tag.ToString())) { continue; //엑셀출력제외컬럼 } } catch (Exception) { } listCols.Add(gcol.FieldName.ToString()); } saveFileDialog = null; saveFileDialog = new System.Windows.Forms.SaveFileDialog(); saveFileDialog.Title = "저장경로를 지정하세요."; //초기 파일명 지정 saveFileDialog.FileName = DateTime.Now.ToString("yyyyMMdd") + "_" + "태그매핑현황.xlsx"; saveFileDialog.OverwritePrompt = true; saveFileDialog.Filter = "Excel|*.xlsx"; if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { strFileName = saveFileDialog.FileName; thread = new Thread(new ThreadStart(ExcelExportFX)); thread.Start(); } } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
/// <summary> /// 저장 이벤트 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnSave_Click(object sender, RoutedEventArgs e) { try { if (Messages.ShowYesNoMsgBox("사용자정보를 저장 하시겠습니까?") == MessageBoxResult.Yes) { Hashtable htConditions = new Hashtable(); if (txtNM.Text.Equals("")) { Messages.ShowErrMsgBox("이름을 입력해주세요."); txtNM.Focus(); return; } // 비밀번호 관련 입력란(현재,변경,변경확인)이 공란이면 비밀번호 변경 절차 없음. if (!pwdCurrent.Text.ToString().Equals("") || !pwdChange.Text.ToString().Equals("") || !pwdChangeChk.Text.ToString().Equals("")) { if (pwdCurrent.Text.ToString().Equals("")) { Messages.ShowErrMsgBox("현재 비밀번호를 입력해주세요."); pwdCurrent.Focus(); return; } if (pwdChange.Text.ToString().Equals("")) { Messages.ShowErrMsgBox("변경 비밀번호를 입력해주세요."); pwdChange.Focus(); return; } if (pwdChangeChk.Text.ToString().Equals("")) { Messages.ShowErrMsgBox("변경 비밀번호 확인을 입력해주세요."); pwdChangeChk.Focus(); return; } //입력한 현재 비밀번호가 일치하는지 체크 if (EncryptionConvert.Base64Encoding(pwdCurrent.Text.ToString()).Equals(dtLogUserInfo.Rows[0]["USER_PWD"].ToString())) { if (pwdChange.Text.ToString().Equals(pwdChangeChk.Text.ToString())) { htConditions.Add("USER_PWD", EncryptionConvert.Base64Encoding(pwdChange.EditValue.ToString())); } else { Messages.ShowErrMsgBox("변경 비밀번호가 일치하지 않습니다."); pwdChange.Focus(); return; } } else { Messages.ShowErrMsgBox("현재 비밀번호가 일치하지 않습니다."); pwdCurrent.Focus(); return; } } htConditions.Add("USER_ID", txtID.Text.ToString()); htConditions.Add("USER_NM", txtNM.Text.ToString()); htConditions.Add("DEPT_CD", lookUpEditDept.EditValue); htConditions.Add("POS_CD", cbGrade.EditValue); htConditions.Add("USER_TEL", txtPhone.Text.ToString()); htConditions.Add("EDT_ID", txtID.Text.ToString()); htConditions.Add("USE_YN", "Y"); htConditions.Add("DEL_YN", "N"); //work.Update_SYS_USER_INFO(htConditions); htConditions.Add("sqlId", "Update_SYS_USER_INFO"); BizUtil.Update(htConditions); MessageBox.Show("성공적으로 저장하였습니다."); this.Close(); if (radioblue.IsChecked == true) { mainWin.Cmblue_Click(null, null); } else if (radionavy.IsChecked == true) { mainWin.Cmnavy_Click(null, null); } } } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
/// <summary> /// 삭제처리 /// </summary> /// <param name="obj"></param> private void OnDelete(object obj) { //0.삭제전 체크 Hashtable param = new Hashtable(); param.Add("sqlId", "selectChscResSubList"); param.Add("sqlId2", "SelectFileMapList"); param.Add("FTR_CDE", this.FTR_CDE); param.Add("FTR_IDN", this.FTR_IDN); param.Add("BIZ_ID", string.Concat(this.FTR_CDE, this.FTR_IDN)); Hashtable result = BizUtil.SelectLists(param); DataTable dt = new DataTable(); DataTable dt2 = new DataTable(); try { dt = result["dt"] as DataTable; if (dt.Rows.Count > 0) { Messages.ShowInfoMsgBox("유지보수내역이 존재합니다."); return; } } catch (Exception) { } // 1.삭제처리 if (Messages.ShowYesNoMsgBox("상수맨홀를 삭제하시겠습니까?") != MessageBoxResult.Yes) { return; } try { dt2 = result["dt2"] as DataTable; if (dt2.Rows.Count > 0) { //Messages.ShowInfoMsgBox("파일첨부내역이 존재합니다."); //return; //첨부파일삭제 foreach (DataRow row in dt2.Rows) { //a.FIL_SEQ 첨부파일삭제 BizUtil.DelFileSeq(row["FIL_SEQ"]); //b.FILE_MAP 업무파일매핑삭제 param = new Hashtable(); param.Add("sqlId", "DeleteFileMap"); param.Add("BIZ_ID", FTR_CDE + FTR_IDN); param.Add("FIL_SEQ", row["FIL_SEQ"]); BizUtil.Update(param); } } } catch (Exception) { } try { BizUtil.Update2(this, "deleteWtsMnhoDtl"); } catch (Exception) { Messages.ShowErrMsgBox("삭제 처리중 오류가 발생하였습니다."); return; } Messages.ShowOkMsgBox(); BackCommand.Execute(null); }
/// <summary> /// 엑셀다운로드 /// </summary> /// <param name="obj"></param> private void ExcelDownAction(object obj) { try { /// 데이터조회 Hashtable conditions = new Hashtable(); conditions.Add("MNG_CDE", cbMNG_CDE.EditValue); conditions.Add("HJD_CDE", cbHJD_CDE.EditValue); conditions.Add("MOF_CDE", cbMOF_CDE.EditValue); conditions.Add("FTR_IDN", FmsUtil.Trim(txtFTR_IDN.EditValue)); conditions.Add("CNT_NUM", txtCNT_NUM.Text.Trim()); conditions.Add("SHT_NUM", txtSHT_NUM.Text.Trim()); conditions.Add("FIR_DIP", txtFIR_DIP.Text.Trim()); conditions.Add("SUP_HIT", txtSUP_HIT.Text.Trim()); try { conditions.Add("IST_YMD_FROM", dtIST_YMD_FROM.EditValue == null ? null : Convert.ToDateTime(dtIST_YMD_FROM.EditValue).ToString("yyyyMMdd")); conditions.Add("IST_YMD_TO", dtIST_YMD_TO.EditValue == null ? null : Convert.ToDateTime(dtIST_YMD_TO.EditValue).ToString("yyyyMMdd")); } catch (Exception) { } if (!BizUtil.ValidDateBtw(conditions["IST_YMD_FROM"], conditions["IST_YMD_TO"])) { Messages.ShowInfoMsgBox("설치일자 범위를 확인하세요"); return; } conditions.Add("page", 0); conditions.Add("rows", 1000000); conditions.Add("sqlId", "SelectFireFacList"); exceldt = BizUtil.SelectList(conditions); saveFileDialog = null; saveFileDialog = new System.Windows.Forms.SaveFileDialog(); saveFileDialog.Title = "저장경로를 지정하세요."; //초기 파일명 지정 saveFileDialog.FileName = DateTime.Now.ToString("yyyyMMdd") + "_" + "소방시설목록.xlsx"; saveFileDialog.OverwritePrompt = true; saveFileDialog.Filter = "Excel|*.xlsx"; //그리드헤더정보 추출 columnList = new GridColumn[grid.Columns.Count]; grid.Columns.CopyTo(columnList, 0); listCols = new List <string>(); //컬럼헤더정보 가져오기 foreach (GridColumn gcol in columnList) { try { if ("PrintN".Equals(gcol.Tag.ToString())) { continue; //엑셀출력제외컬럼 } } catch (Exception) { } listCols.Add(gcol.FieldName.ToString()); } if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { strFileName = saveFileDialog.FileName; thread = new Thread(new ThreadStart(ExcelExportFX)); thread.Start(); } } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
/// <summary> /// cmd.exe 실행 및 command 수행 /// </summary> private void ExCmd_GisTbloader() { //0. Cmd.exe 호출 ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = @"cmd"; psi.WindowStyle = ProcessWindowStyle.Hidden; // cmd창이 숨겨지도록 하기 psi.CreateNoWindow = true; // cmd창을 띄우지 안도록 하기 psi.UseShellExecute = false; psi.RedirectStandardOutput = true; // cmd창에서 데이터를 가져오기 psi.RedirectStandardInput = true; // cmd창으로 데이터 보내기 psi.RedirectStandardError = true; // cmd창에서 오류 내용 가져오기 Process process = new Process(); process.EnableRaisingEvents = false; process.StartInfo = psi; process.Start(); //shp 저장소 경로이동 string cdcmd = "c: "; process.StandardInput.Write(cdcmd + Environment.NewLine); cdcmd = "cd " + Path.Combine(BizUtil.GetDataFolder("shape")); process.StandardInput.Write(cdcmd + Environment.NewLine); foreach (FileInfo fi in ItemsFile) { if (!fi.Extension.Contains("shp")) { continue; //shp파일에 대해서만 수행 } //1.gisLoader 수행해서 clt 파일생성 string gisLoadercmd = "gisLoader " + fi.Name + " infofms." + fi.Name.Replace(".shp", ""); process.StandardInput.Write(gisLoadercmd + Environment.NewLine); // 명령어를 보낼때는 꼭 마무리를 해줘야 한다 process.StandardInput.Close(); //StandardOutput 읽기위해서는 input을 닫아줘야함 string result = process.StandardOutput.ReadToEnd(); StringBuilder sb = new StringBuilder(); sb.Append("[Control파일 생성] \r\n"); sb.Append(result); sb.Append("\r\n"); if (!result.Contains("complete")) { MessageBox.Show("gisLoader Control파일 생성에 실패하였습니다."); return; } process.StandardInput.Close(); process.WaitForExit(); process.Close(); break; //한파일에대해서만 수행함 } //2.tbloader 수행 process.Start(); //shp 저장소 경로이동 cdcmd = "c: "; process.StandardInput.Write(cdcmd + Environment.NewLine); cdcmd = "cd " + Path.Combine(BizUtil.GetDataFolder("shape")); process.StandardInput.Write(cdcmd + Environment.NewLine); foreach (FileInfo fi in ItemsFile) { if (!fi.Extension.Contains("shp")) { continue; //shp파일에 대해서만 수행 } string ctl = fi.Name.Replace(".shp", "") + ".ctl"; FileInfo ctl_fi = new FileInfo(Path.Combine(BizUtil.GetDataFolder("shape"), ctl)); if (!ctl_fi.Exists) { MessageBox.Show("Control파일이 없습니다."); return; } // ctl파일에 인코딩 utf8 추가 string new_file = ""; //추가수정파일내용 try { using (StreamReader r = File.OpenText(Path.Combine(BizUtil.GetDataFolder("shape"), ctl))) { string line = ""; while ((line = r.ReadLine()) != null) { new_file += line + "\n"; if (line.Contains("LOAD DATA")) { new_file += "CHARACTERSET UTF8" + "\n"; } } } //using (StreamWriter w = File.AppendText(Path.Combine(BizUtil.GetDataFolder("shape"), ctl))) //{ // w.WriteLine("CHARACTERSET UTF8"); //} //ctl파일 재생성 File.WriteAllText(Path.Combine(BizUtil.GetDataFolder("shape"), ctl), new_file); } catch (Exception) {} string tbloadercmd = "tbloader userid=infofms/infofms@tibero control=" + ctl; process.StandardInput.Write(tbloadercmd + Environment.NewLine); // 명령어를 보낼때는 꼭 마무리를 해줘야 한다 process.StandardInput.Close(); //StandardOutput 읽기위해서는 input을 닫아줘야함 string result2 = process.StandardOutput.ReadToEnd(); StringBuilder sb2 = new StringBuilder(); sb2.Append("[Import 수행] \r\n"); sb2.Append(result2); sb2.Append("\r\n"); if (!result2.Contains("success")) { MessageBox.Show("tbloader 임포트에 실패하였습니다."); return; } MessageBox.Show("정상적으로 처리되었습니다."); process.WaitForExit(); process.Close(); break; //한파일에대해서만 수행함 } }
/// <summary> /// 삭제처리 /// </summary> /// <param name="obj"></param> private void OnDelete(object obj) { //0.삭제전 체크 Hashtable param = new Hashtable(); param.Add("sqlId", "selectChscResSubList"); param.Add("sqlId2", "SelectFileMapList"); param.Add("sqlId3", "selectWttRsrvHt"); param.Add("FTR_CDE", this.FTR_CDE); param.Add("FTR_IDN", this.FTR_IDN); param.Add("BIZ_ID", string.Concat(this.FTR_CDE, this.FTR_IDN)); Hashtable result = BizUtil.SelectLists(param); DataTable dt = new DataTable(); DataTable dt2 = new DataTable(); DataTable dt3 = new DataTable(); try { dt = result["dt"] as DataTable; if (dt.Rows.Count > 0) { Messages.ShowInfoMsgBox("유지보수내역이 존재합니다."); return; } } catch (Exception) { } // 1.삭제처리 if (Messages.ShowYesNoMsgBox("저수조를 삭제하시겠습니까?") != MessageBoxResult.Yes) { return; } try { dt2 = result["dt2"] as DataTable; if (dt2.Rows.Count > 0) { //Messages.ShowInfoMsgBox("파일첨부내역이 존재합니다."); //return; foreach (DataRow row in dt2.Rows) { //a.FIL_SEQ 첨부파일삭제 BizUtil.DelFileSeq(row["FIL_SEQ"]); //b.FILE_MAP 업무파일매핑삭제 param = new Hashtable(); param.Add("sqlId", "DeleteFileMap"); param.Add("BIZ_ID", FTR_CDE + FTR_IDN); param.Add("FIL_SEQ", row["FIL_SEQ"]); BizUtil.Update(param); } } } catch (Exception) { } try { dt3 = result["dt3"] as DataTable; if (dt3.Rows.Count > 0) { //Messages.ShowInfoMsgBox("청소이력이 존재합니다."); //return; WttRsrvHtDtl dtl = new WttRsrvHtDtl(); dtl.FTR_CDE = FTR_CDE; dtl.FTR_IDN = Convert.ToInt32(FTR_IDN); BizUtil.Update2(dtl, "deleteWttRsrvHt"); } } catch (Exception) { } try { BizUtil.Update2(this.FctDtl, "deleteWtrTrkDtl"); } catch (Exception e) { Messages.ShowErrMsgBox("삭제 처리중 오류가 발생하였습니다." + e.Message); return; } // 2.위치정보 삭제처리 ContentControl cctl = uC_RSRV_PS.Parent as ContentControl; EditWinViewModel editWinViewModel = ((((cctl.Parent as Grid).Parent as Grid).Parent as Grid).Parent as Window).DataContext as EditWinViewModel; editWinViewModel.OnDelCmd(null); //Messages.ShowOkMsgBox(); //InitModel(); }
/// <summary> /// 조회 /// </summary> /// <param name="obj"></param> private void SearchAction(object obj) { try { //if (treeList.FocusedNode == null) return; Hashtable conditions = new Hashtable(); conditions.Add("FTR_IDN", lekSiteListView.txtFTR_IDN.Text.Trim()); conditions.Add("PIP_IDN", lekSiteListView.txtPIP_IDN.Text.Trim()); conditions.Add("SHT_NUM", lekSiteListView.txtSHT_NUM.Text.Trim()); conditions.Add("RCV_NUM", lekSiteListView.txtRCV_NUM.Text.Trim()); conditions.Add("HJD_CDE", cbHJD_CDE.EditValue); conditions.Add("LEP_CDE", cbLEP_CDE.EditValue); conditions.Add("LRS_CDE", cbLRS_CDE.EditValue); conditions.Add("LEK_YMD_FROM", lekSiteListView.dtLEK_YMD_FROM.EditValue == null ? "" : Convert.ToDateTime(lekSiteListView.dtLEK_YMD_FROM.EditValue).ToString("yyyyMMdd")); conditions.Add("LEK_YMD_TO", lekSiteListView.dtLEK_YMD_TO.EditValue == null ? "" : Convert.ToDateTime(lekSiteListView.dtLEK_YMD_TO.EditValue).ToString("yyyyMMdd")); conditions.Add("REP_YMD_FROM", lekSiteListView.dtREP_YMD_FROM.EditValue == null ? "" : Convert.ToDateTime(lekSiteListView.dtREP_YMD_FROM.EditValue).ToString("yyyyMMdd")); conditions.Add("REP_YMD_TO", lekSiteListView.dtREP_YMD_TO.EditValue == null ? "" : Convert.ToDateTime(lekSiteListView.dtREP_YMD_TO.EditValue).ToString("yyyyMMdd")); conditions.Add("sqlId", "SelectWtlLeakList"); /* * 조회후 페이징소스 업데이트 */ int page_idx = 0; //페이징 버튼으로 조회 if (obj is int) { page_idx = (int)obj; } //조회버튼으로 조회는 버튼위치(PageIndex) 초기화 else { PageIndex = -1; } BizUtil.SelectListPage(conditions, page_idx, delegate(DataTable dt) { // TotalCnt 설정 try { this.TotalCnt = Convert.ToInt32(dt.Rows[0]["ROWCNT"]); this.ItemCnt = (int)Math.Ceiling((double)this.TotalCnt / FmsUtil.PageSize); } catch (Exception) { this.TotalCnt = 0; this.ItemCnt = 0; } //조회결과 매핑 this.PagedCollection.Clear(); this.PagedCollection.Add(dt); }); } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
/// <summary> /// 로딩작업 /// </summary> /// <param name="obj"></param> private void OnLoaded(object obj) { //throw new NotImplementedException(); // 0.화면객체인스턴스화 if (obj == null) { return; } metrChgDtlView = obj as MetrChgDtlView; cbGCW_CDE = metrChgDtlView.cbGCW_CDE; cbOME_MOF = metrChgDtlView.cbOME_MOF; btnSave = metrChgDtlView.btnSave; btnDel = metrChgDtlView.btnDel; btnClose = metrChgDtlView.btnClose; //2.화면데이터객체 초기화 InitDataBinding(); //3.권한처리 permissionApply(); //4.신규/상세 모드 if (Dtl.META_SEQ < 0) { //채번 Hashtable param = new Hashtable(); param.Add("FTR_CDE", Dtl.FTR_CDE); param.Add("FTR_IDN", Dtl.FTR_IDN); param.Add("sqlId", "selectMETA_SEQ"); WttMetaHt res = new WttMetaHt(); res = BizUtil.SelectObject(param) as WttMetaHt; //채번결과 매칭 Dtl.META_SEQ = res.META_SEQ; metrChgDtlView.btnDel.Visibility = Visibility.Collapsed; //시설물명 가져오기 Dtl.FTR_NAM = BizUtil.GetCodeNm("Select_FTR_LIST2", Dtl.FTR_CDE); } else { Hashtable param = new Hashtable(); param.Add("sqlId", "selectWttMetaHtList"); param.Add("FTR_CDE", Dtl.FTR_CDE); param.Add("FTR_IDN", Dtl.FTR_IDN); param.Add("META_SEQ", Dtl.META_SEQ); Dtl = BizUtil.SelectObject(param) as WttMetaHt; metrChgDtlView.btnDel.Visibility = Visibility.Visible; } }
private void RPR_CUZ_CDE_Loaded(object sender, RoutedEventArgs e) { ComboBoxEdit obj = sender as ComboBoxEdit; obj.ItemsSource = BizUtil.GetCmbCode("250104"); }
/// <summary> /// 생성자 /// </summary> public LekSiteDtlViewModel() { this.LoadedCommand = new DelegateCommand <object>(delegate(object obj) { // 0.화면객체인스턴스화 if (obj == null) { return; } lekSiteDtlView = obj as LekSiteDtlView; btnSave = lekSiteDtlView.btnSave; btnClose = lekSiteDtlView.btnClose; _FTR_CDE = lekSiteDtlView.txtFTR_CDE.Text; _FTR_IDN = lekSiteDtlView.txtFTR_IDN.Text; //2.화면데이터객체 초기화 InitDataBinding(); //3.권한처리 permissionApply(); //4.초기조회 InitModel(); }); //저장 this.SaveCommand = new DelegateCommand <object>(delegate(object obj) { // 필수체크 (Tag에 필수체크 표시한 EditBox, ComboBox 대상으로 수행) if (!BizUtil.ValidReq(lekSiteDtlView)) { return; } if (Messages.ShowYesNoMsgBox("저장하시겠습니까?") != MessageBoxResult.Yes) { return; } try { //다큐먼트는 따로 처리 this.Dtl.REP_EXP = new TextRange(lekSiteDtlView.richREP_EXP.Document.ContentStart, lekSiteDtlView.richREP_EXP.Document.ContentEnd).Text.Trim(); this.Dtl.LEK_EXP = new TextRange(lekSiteDtlView.richLEK_EXP.Document.ContentStart, lekSiteDtlView.richLEK_EXP.Document.ContentEnd).Text.Trim(); BizUtil.Update2(this.Dtl, "SaveWtlLeakDtl"); } catch (Exception ex) { Messages.ShowErrMsgBox("저장 처리중 오류가 발생하였습니다." + ex.Message); return; } Messages.ShowOkMsgBox(); InitModel(); //화면닫기 //btnClose.RaiseEvent(new RoutedEventArgs(Button.ClickEvent)); }); //삭제 this.DelCommand = new DelegateCommand <object>(delegate(object obj) { Hashtable param = new Hashtable(); param.Add("sqlId", "SelectBizIdFileDtl"); param.Add("BIZ_ID", _FTR_CDE + _FTR_IDN); DataTable dt = BizUtil.SelectList(param); if (dt.Rows.Count > 0) { Messages.ShowErrMsgBox("누수사진 내역이 존재합니다."); return; } if (Messages.ShowYesNoMsgBox("누수지점을 삭제하시겠습니까?") != MessageBoxResult.Yes) { return; } try { BizUtil.Update2(this.Dtl, "DeleteWtlLeakDtl"); } catch (Exception ex) { Messages.ShowErrMsgBox("저장 처리중 오류가 발생하였습니다." + ex.Message); return; } Messages.ShowOkMsgBox(); //화면닫기 btnClose.RaiseEvent(new RoutedEventArgs(Button.ClickEvent)); }); }
/// <summary> /// 엑셀다운로드 /// </summary> /// <param name="obj"></param> private void ExcelDownAction(object obj) { try { /// 데이터조회 Hashtable conditions = new Hashtable(); conditions.Add("FTR_IDN", lekSiteListView.txtFTR_IDN.Text.Trim()); conditions.Add("PIP_IDN", lekSiteListView.txtPIP_IDN.Text.Trim()); conditions.Add("SHT_NUM", lekSiteListView.txtSHT_NUM.Text.Trim()); conditions.Add("RCV_NUM", lekSiteListView.txtRCV_NUM.Text.Trim()); conditions.Add("HJD_CDE", cbHJD_CDE.EditValue); conditions.Add("LEP_CDE", cbLEP_CDE.EditValue); conditions.Add("LRS_CDE", cbLRS_CDE.EditValue); conditions.Add("LEK_YMD_FROM", lekSiteListView.dtLEK_YMD_FROM.EditValue == null ? "" : Convert.ToDateTime(lekSiteListView.dtLEK_YMD_FROM.EditValue).ToString("yyyyMMdd")); conditions.Add("LEK_YMD_TO", lekSiteListView.dtLEK_YMD_TO.EditValue == null ? "" : Convert.ToDateTime(lekSiteListView.dtLEK_YMD_TO.EditValue).ToString("yyyyMMdd")); conditions.Add("REP_YMD_FROM", lekSiteListView.dtREP_YMD_FROM.EditValue == null ? "" : Convert.ToDateTime(lekSiteListView.dtREP_YMD_FROM.EditValue).ToString("yyyyMMdd")); conditions.Add("REP_YMD_TO", lekSiteListView.dtREP_YMD_TO.EditValue == null ? "" : Convert.ToDateTime(lekSiteListView.dtREP_YMD_TO.EditValue).ToString("yyyyMMdd")); conditions.Add("page", 0); conditions.Add("rows", 1000000); conditions.Add("sqlId", "SelectWtlLeakList"); exceldt = BizUtil.SelectList(conditions); //그리드헤더정보 추출 columnList = new GridColumn[grid.Columns.Count]; grid.Columns.CopyTo(columnList, 0); listCols = new List <string>(); //컬럼헤더정보 가져오기 foreach (GridColumn gcol in columnList) { try { if ("PrintN".Equals(gcol.Tag.ToString())) { continue; //엑셀출력제외컬럼 } } catch (Exception) { } listCols.Add(gcol.FieldName.ToString()); } saveFileDialog = null; saveFileDialog = new System.Windows.Forms.SaveFileDialog(); saveFileDialog.Title = "저장경로를 지정하세요."; //초기 파일명 지정 saveFileDialog.FileName = DateTime.Now.ToString("yyyyMMdd") + "_" + "누수지점관리목록.xlsx"; saveFileDialog.OverwritePrompt = true; saveFileDialog.Filter = "Excel|*.xlsx"; if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { strFileName = saveFileDialog.FileName; thread = new Thread(new ThreadStart(ExcelExportFX)); thread.Start(); } } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
public MapLayerViewModel() { loadedCmd = new RelayCommand <object>(delegate(object obj) { //뷰객체를 파라미터로 전달받기 System.Windows.Controls.Grid divGrid = obj as System.Windows.Controls.Grid; this.mapView = divGrid.FindName("mapView") as MapView; this.divLayer = divGrid.FindName("divLayer") as Popup; this.ClearButton = divGrid.FindName("ClearButton") as Button; txtFTR_CDE = divGrid.FindName("txtFTR_CDE") as TextBox; txtFTR_IDN = divGrid.FindName("txtFTR_IDN") as TextBox; //지도초기화 InitMap(); //시설물레이어DIV 초기화작업 InitDivLayer(); InitUniqueValueRenderer();//렌더러초기생성작업 //비트맵초기화(시설물상세DIV 아이콘) BitImg = new BitmapImage(); }); //레이어 ON/OFF chkCmd = new RelayCommand <object>(delegate(object obj) { Button doc = obj as Button; //IEnumerable<CheckBox> collection = doc.Children.OfType<CheckBox>(); //CheckBox chkbox = collection.First(); CheckBox chkbox = doc.Template.FindName("chkLayer", doc) as CheckBox; bool chk = (bool)chkbox.IsChecked; //ShowLocalServerLayer(mapView, doc.Tag.ToString(), chk); ShowShapeLayer(mapView, doc.Tag.ToString(), chk); //선택된 레이어저장 try { if (chk) { _selectedLayerNms.Add(doc.Tag.ToString()); _selectedLayerNm = doc.Tag.ToString(); } else { _selectedLayerNms.Remove(doc.Tag.ToString()); _selectedLayerNm = _selectedLayerNms.LastOrDefault(); } } catch (Exception) { } }); //팝업레이어 토글처리 toggleCmd = new RelayCommand <object>(delegate(object obj) { StackPanel spLayer = divLayer.FindName("spLayer") as StackPanel; System.Windows.Controls.Grid gridTitle = divLayer.FindName("gridTitle") as System.Windows.Controls.Grid; spLayer.Visibility = spLayer.Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible; if (spLayer.Visibility == Visibility.Collapsed) { divLayer.Height = gridTitle.Height; } else { divLayer.Height = gridTitle.Height + spLayer.Height; } }); //팝업레이어 토글처리 closeCmd = new RelayCommand <object>(delegate(object obj) { Popup divLayerInfo = obj as Popup; divLayerInfo.IsOpen = false; }); // 레이어스타일 Renderer 초기화 - shape방식에서만 사용함 //InitUniqueValueRenderer(); //GIS초기화 resetCmd = new RelayCommand <object>(delegate(object obj) { //0.맵초기화 InitMap(); //1.로컬서버 재기동 //Initialize_LocalServer(); //2.레이어 클리어 mapView.Map.OperationalLayers.Clear(); //3.열여있는 시설물정보창 닫기 popFct.IsOpen = false; TreeView treeLayer = obj as TreeView; //레이어div 체크해제 foreach (CheckBox cb in FmsUtil.FindVisualChildren <CheckBox>(treeLayer)) { cb.IsChecked = false; } //선택된레이어 해제 _selectedLayerNms.Clear(); _selectedLayerNm = ""; }); //시설물팝업에서 시설물메뉴화면 호출작업 CallPageCmd = new RelayCommand <object>(delegate(object obj) { FctDtl fctDtl = obj as FctDtl; IRegionManager regionManager = FmsUtil.__regionManager; ViewsCollection views = regionManager.Regions["ContentRegion"].ActiveViews as ViewsCollection; foreach (var v in views) { MapLayerView mapMainView = v as MapLayerView; //MainWinViewModel vm = ((System.Windows.Controls.Grid)((ContentControl)mapMainView.Parent).Parent).DataContext as MainWinViewModel; break; } }); //파일찾기버튼 이벤트 ChgImgCmd = new RelayCommand <object>(delegate(object obj) { // 전달된 파라미터 if (obj == null) { Messages.ShowErrMsgBox("시설물코드가 존재하지 않습니다."); return; } string _FTR_CDE = obj as string; // UniqueValueRenderer 자원해제 //uniqueValueRenderer = new UniqueValueRenderer(); //layers[_selectedLayerNm].ResetRenderer(); // 파일탐색기 열기 OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Multiselect = false; openFileDialog.Filter = "All files (*.*)|*.*"; openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); if (openFileDialog.ShowDialog() == true) { //아이콘 파일경로 string icon_foler = Path.Combine(BizUtil.GetDataFolder(), "style_img"); FileInfo[] files = openFileDialog.FileNames.Select(f => new FileInfo(f)).ToArray(); //파일인포 foreach (FileInfo fi in files) { try { //해당이미지파일을 FTR_CDE ex)SA117 이름의파일로 복사 fi.CopyTo(Path.Combine(icon_foler, _FTR_CDE), true); } catch (Exception ex) { Messages.ShowErrMsgBox(ex.Message); } finally { //1.렌더러 재구성 InitUniqueValueRenderer(); //2.레이어의 렌더러 재세팅 foreach (string sel in _selectedLayerNms) { layers[sel].Renderer = uniqueValueRenderer.Clone(); layers[sel].RetryLoadAsync(); } //3.팝업이미지소스 업데이트 BitImg = new BitmapImage(new Uri(Path.Combine(Path.Combine(BizUtil.GetDataFolder(), "style_img"), _FTR_CDE))).Clone(); } } } }); btnCmd = new RelayCommand <object>(async delegate(object obj) { Button btn = obj as Button; switch (btn.Content.ToString()) { case "시설물편집": //시설물편집팝업호출 break; default: break; } }); //도형클리어처리 clearCmd = new RelayCommand <object>(delegate(object obj) { // Remove all graphics from the graphics overlay _sketchOverlay.Graphics.Clear(); // Disable buttons that require graphics ClearButton.IsEnabled = false; }); completeCmd = new RelayCommand <object>(async delegate(object obj) { mapView.SketchEditor.Stop(); //추가된 도형 저장처리 _selectedFeature.Geometry = _geometry; // Apply the edit to the feature table. await _selectedFeature.FeatureTable.UpdateFeatureAsync(_selectedFeature); _selectedFeature.Refresh(); MessageBox.Show("Added feature ", "Success!"); }); //시설물찾기 //findCmd = new RelayCommand<object>(FindAction); }
/// 생성자 public ShpMngViewModel() { ItemsSelect = new ObservableCollection <FileDtl>(); ItemsFile = new ObservableCollection <FileInfo>(); // 초기로딩처리 LoadedCommand = new RelayCommand <object>(delegate(object obj) { if (obj == null) { return; } //그리드뷰인스턴스 shpMngView = obj as ShpMngView; // 초기조회 InitModel(); }); //shp파일 임포트 ImportCmd = new RelayCommand <object>(delegate(object obj) { //필수체크 if (!BizUtil.ValidReq(shpMngView)) { return; } OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Multiselect = true; openFileDialog.Filter = "Shape files |*.shp;*.shx;*.dbf;*.prj"; openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); if (openFileDialog.ShowDialog() == true) { FileInfo[] files = openFileDialog.FileNames.Select(f => new FileInfo(f)).ToArray(); //파일인포 int cnt = 0; //전체파일수 int chk = 0; //shp,dat파일수 foreach (FileInfo fi in files) { try { //파일객체 ItemsFile.Add(fi); if (fi.Extension.Contains("shp") || fi.Extension.Contains("shx") || fi.Extension.Contains("dbf") || fi.Extension.Contains("prj")) { chk++; } cnt++; } catch (Exception e) { Console.WriteLine(e.Message); } } if (chk < 4) { MessageBox.Show("shp, shx, dbf, prj 파일 4개를 선택해야합니다."); return; } if (cnt > 4) { MessageBox.Show("한번에 한종류의 shp파일만 업로드할수 있습니다."); return; } //파일업로드시작 upload_thread = new Thread(new ThreadStart(UploadFileListFX)); upload_thread.Start(); } }); //기존파일 다운로드버튼 이벤트 DownloadCmd = new RelayCommand <object>(delegate(object obj) { FileDtl dtl = obj as FileDtl; string file_name = dtl.DWN_NAM; try { source_file_path = BizUtil.GetDataFolder("shape", file_name); } catch (Exception) { Messages.ShowErrMsgBox("다운로드할 수 없습니다."); return; } //파일다운로드 saveFileDialog = new System.Windows.Forms.SaveFileDialog(); saveFileDialog.Title = "저장경로를 지정하세요."; //초기 파일명 지정 saveFileDialog.FileName = file_name; saveFileDialog.OverwritePrompt = true; saveFileDialog.Filter = "All files (*.*)|*.*"; if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { target_file_path = saveFileDialog.FileName; download_thread = new Thread(new ThreadStart(DownloadFX)); download_thread.Start(); } }); }
// 시설물정보팝업 보이기 private void ShowFtrPop(string fTR_CDE, string fTR_IDN, GeoViewInputEventArgs e) { Hashtable param = new Hashtable(); switch (fTR_CDE) { case "SA001": //상수관로 //팝업열기 & 위치 popFct.IsOpen = false; popFct = new WTL_PIPE_LM(); popFct.PlacementRectangle = new Rect(e.Position.X + 300, e.Position.Y - 200, 250, 300); popFct.IsOpen = true; popFct.DataContext = this; param = new Hashtable(); param.Add("FTR_CDE", fTR_CDE); param.Add("FTR_IDN", fTR_IDN); param.Add("sqlId", "SelectWtlPipeDtl2"); this.FctDtl = BizUtil.SelectObject(param) as CmmDtl; break; case "SA002": //급수관로 //팝업열기 & 위치 popFct.IsOpen = false; popFct = new WTL_SPLY_LS(); popFct.PlacementRectangle = new Rect(e.Position.X + 300, e.Position.Y - 200, 250, 300); popFct.IsOpen = true; popFct.DataContext = this; param = new Hashtable(); param.Add("FTR_CDE", fTR_CDE); param.Add("FTR_IDN", fTR_IDN); param.Add("sqlId", "SelectSupDutDtl"); this.FctDtl = BizUtil.SelectObject(param) as CmmDtl; break; case "SA003": //스탠파이프 //팝업열기 & 위치 popFct.IsOpen = false; popFct = new WTL_STPI_PS(); popFct.PlacementRectangle = new Rect(e.Position.X + 300, e.Position.Y - 200, 250, 300); popFct.IsOpen = true; popFct.DataContext = this; param = new Hashtable(); param.Add("FTR_CDE", fTR_CDE); param.Add("FTR_IDN", fTR_IDN); param.Add("sqlId", "SelectStndPiDtl"); this.FctDtl = BizUtil.SelectObject(param) as CmmDtl; break; case "SA100": //상수맨홀 //팝업열기 & 위치 popFct.IsOpen = false; popFct = new WTL_MANH_PS(); popFct.PlacementRectangle = new Rect(e.Position.X + 300, e.Position.Y - 200, 250, 300); popFct.IsOpen = true; popFct.DataContext = this; param = new Hashtable(); param.Add("FTR_CDE", fTR_CDE); param.Add("FTR_IDN", fTR_IDN); param.Add("sqlId", "SelectWtsMnhoDtl"); this.FctDtl = BizUtil.SelectObject(param) as CmmDtl; break; case "SA110": //수원지 //팝업열기 & 위치 popFct.IsOpen = false; popFct = new WTL_HEAD_PS(); popFct.PlacementRectangle = new Rect(e.Position.X + 300, e.Position.Y - 200, 250, 300); popFct.IsOpen = true; popFct.DataContext = this; param = new Hashtable(); param.Add("FTR_CDE", fTR_CDE); param.Add("FTR_IDN", fTR_IDN); param.Add("sqlId", "SelectWtrSourDtl"); this.FctDtl = BizUtil.SelectObject(param) as CmmDtl; break; case "SA112": //취수장 //팝업열기 & 위치 popFct.IsOpen = false; popFct = new WTL_GAIN_PS(); popFct.PlacementRectangle = new Rect(e.Position.X + 300, e.Position.Y - 200, 250, 300); popFct.IsOpen = true; popFct.DataContext = this; param = new Hashtable(); param.Add("FTR_CDE", fTR_CDE); param.Add("FTR_IDN", fTR_IDN); param.Add("sqlId", "SelectIntkStDtl"); this.FctDtl = BizUtil.SelectObject(param) as CmmDtl; break; case "SA113": //정수장 //팝업열기 & 위치 popFct.IsOpen = false; popFct = new WTL_PURI_AS(); popFct.PlacementRectangle = new Rect(e.Position.X + 300, e.Position.Y - 200, 250, 300); popFct.IsOpen = true; popFct.DataContext = this; param = new Hashtable(); param.Add("FTR_CDE", fTR_CDE); param.Add("FTR_IDN", fTR_IDN); param.Add("sqlId", "SelectFiltPltDtl"); this.FctDtl = BizUtil.SelectObject(param) as CmmDtl; break; case "SA114": //배수지 //팝업열기 & 위치 popFct.IsOpen = false; popFct = new WTL_PIPE_LM(); popFct.PlacementRectangle = new Rect(e.Position.X + 300, e.Position.Y - 200, 250, 300); popFct.IsOpen = true; popFct.DataContext = this; param = new Hashtable(); param.Add("FTR_CDE", fTR_CDE); param.Add("FTR_IDN", fTR_IDN); param.Add("sqlId", "SelectWtrSupDtl"); this.FctDtl = BizUtil.SelectObject(param) as CmmDtl; break; case "SA117": //유량계 //팝업열기 & 위치 popFct.IsOpen = false; popFct = new WTL_FLOW_PS(); popFct.PlacementRectangle = new Rect(e.Position.X + 300, e.Position.Y - 200, 250, 300); popFct.IsOpen = true; popFct.DataContext = this; param = new Hashtable(); param.Add("FTR_CDE", fTR_CDE); param.Add("FTR_IDN", fTR_IDN); param.Add("sqlId", "SelectFlowMtDtl"); this.FctDtl = BizUtil.SelectObject(param) as CmmDtl; break; case "SA118": case "SA119": //소화전,급수탑 //팝업열기 & 위치 popFct.IsOpen = false; popFct = new WTL_FIRE_PS(); popFct.PlacementRectangle = new Rect(e.Position.X + 300, e.Position.Y - 200, 250, 300); popFct.IsOpen = true; popFct.DataContext = this; param = new Hashtable(); param.Add("FTR_CDE", fTR_CDE); param.Add("FTR_IDN", fTR_IDN); param.Add("sqlId", "SelectFireFacDtl"); this.FctDtl = BizUtil.SelectObject(param) as CmmDtl; break; case "SA120": //저수조 //팝업열기 & 위치 popFct.IsOpen = false; popFct = new WTL_RSRV_PS(); popFct.PlacementRectangle = new Rect(e.Position.X + 300, e.Position.Y - 200, 250, 300); popFct.IsOpen = true; popFct.DataContext = this; param = new Hashtable(); param.Add("FTR_CDE", fTR_CDE); param.Add("FTR_IDN", fTR_IDN); param.Add("sqlId", "SelectWtrTrkDtl"); this.FctDtl = BizUtil.SelectObject(param) as CmmDtl; break; case "SA121": //수압계 //팝업열기 & 위치 popFct.IsOpen = false; popFct = new WTL_PRGA_PS(); popFct.PlacementRectangle = new Rect(e.Position.X + 300, e.Position.Y - 200, 250, 300); popFct.IsOpen = true; popFct.DataContext = this; param = new Hashtable(); param.Add("FTR_CDE", fTR_CDE); param.Add("FTR_IDN", fTR_IDN); param.Add("sqlId", "SelectWtprMtDtl"); this.FctDtl = BizUtil.SelectObject(param) as CmmDtl; break; case "SA122": //급수전계량기 //팝업열기 & 위치 popFct.IsOpen = false; popFct = new WTL_META_PS(); popFct.PlacementRectangle = new Rect(e.Position.X + 300, e.Position.Y - 200, 250, 300); popFct.IsOpen = true; popFct.DataContext = this; param = new Hashtable(); param.Add("FTR_CDE", fTR_CDE); param.Add("FTR_IDN", fTR_IDN); param.Add("sqlId", "SelectHydtMetrDtl"); this.FctDtl = BizUtil.SelectObject(param) as CmmDtl; break; case "SA200": case "SA201": case "SA202": case "SA203": case "SA204": case "SA205": case "SA206": //변류시설 //팝업열기 & 위치 popFct.IsOpen = false; popFct = new WTL_VALV_PS(); popFct.PlacementRectangle = new Rect(e.Position.X + 300, e.Position.Y - 200, 250, 300); popFct.IsOpen = true; popFct.DataContext = this; param = new Hashtable(); param.Add("FTR_CDE", fTR_CDE); param.Add("FTR_IDN", fTR_IDN); param.Add("sqlId", "SelectValvFacDtl"); this.FctDtl = BizUtil.SelectObject(param) as CmmDtl; break; default: break; } //아이콘이미지 설정 //BitmapImage bi = new BitmapImage(); //bi.BeginInit(); //bi.UriSource = new Uri(Path.Combine(Path.Combine(BizUtil.GetDataFolder(), "style_img"), fTR_CDE), UriKind.Relative); //bi.EndInit(); //BitImg = bi; BitImg = new BitmapImage(new Uri(Path.Combine(Path.Combine(BizUtil.GetDataFolder(), "style_img"), fTR_CDE))).Clone(); }
/// <summary> /// 조회 /// </summary> /// <param name="obj"></param> private void SearchAction(object obj) { try { //if (treeList.FocusedNode == null) return; Hashtable conditions = new Hashtable(); conditions.Add("MNG_CDE", cbMNG_CDE.EditValue); conditions.Add("HJD_CDE", cbHJD_CDE.EditValue); conditions.Add("MOF_CDE", cbMOF_CDE.EditValue); conditions.Add("FTR_IDN", FmsUtil.Trim(txtFTR_IDN.EditValue)); conditions.Add("CNT_NUM", txtCNT_NUM.Text.Trim()); conditions.Add("SHT_NUM", txtSHT_NUM.Text.Trim()); conditions.Add("FIR_DIP", txtFIR_DIP.Text.Trim()); conditions.Add("SUP_HIT", txtSUP_HIT.Text.Trim()); try { conditions.Add("IST_YMD_FROM", dtIST_YMD_FROM.EditValue == null ? null : Convert.ToDateTime(dtIST_YMD_FROM.EditValue).ToString("yyyyMMdd")); conditions.Add("IST_YMD_TO", dtIST_YMD_TO.EditValue == null ? null : Convert.ToDateTime(dtIST_YMD_TO.EditValue).ToString("yyyyMMdd")); } catch (Exception) { } if (!BizUtil.ValidDateBtw(conditions["IST_YMD_FROM"], conditions["IST_YMD_TO"])) { Messages.ShowInfoMsgBox("설치일자 범위를 확인하세요"); return; } conditions.Add("sqlId", "SelectFireFacList"); /* * 조회후 페이징소스 업데이트 */ int page_idx = 0; //페이지버튼으로 조회 if (obj is int) { page_idx = (int)obj; } //조회버튼으로 조회는 버튼위치(PageIndex) 초기화 else { PageIndex = -1; } BizUtil.SelectListPage(conditions, page_idx, delegate(DataTable dt) { // TotalCnt 설정 try { this.TotalCnt = Convert.ToInt32(dt.Rows[0]["ROWCNT"]); this.ItemCnt = (int)Math.Ceiling((double)this.TotalCnt / FmsUtil.PageSize); } catch (Exception) { this.TotalCnt = 0; this.ItemCnt = 0; } this.PagedCollection.Clear(); this.PagedCollection.Add(dt); }); } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
/// <summary> /// 그리드삭제 /// </summary> private void OnDelete(object obj) { //데이터 직접삭제처리 try { bool isChecked = false; foreach (PdjtInDtl row in GrdLst) { if ("Y".Equals(row.CHK)) { isChecked = true; break; } } if (!isChecked) { Messages.ShowInfoMsgBox("선택된 항목이 없습니다."); return; } if (Messages.ShowYesNoMsgBox("선택 항목을 삭제 하시겠습니까?") == MessageBoxResult.Yes) { foreach (PdjtInDtl row in GrdLst) { Hashtable param = new Hashtable(); try { if ("Y".Equals(row.CHK)) { param.Clear(); param.Add("sqlId", "DeletePdjtInHtPop"); param.Add("PDH_NUM", row.PDH_NUM); if (row.IN_NUM == 0) { //그리드행만 삭제 GrdLst.RemoveAt(GrdLst.IndexOf(row)); return; } else { //데이터삭제 param.Add("IN_NUM", row.IN_NUM); BizUtil.Update(param); } } } catch (Exception) { Messages.ShowErrMsgBox("삭제 처리중 오류가 발생하였습니다."); return; } } Messages.ShowOkMsgBox(); //재조회 initModel(); } } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }
/// 생성자 public CnstMngDtlViewMdl(string CNT_NUM) { try { // 1.상세마스터 Hashtable param = new Hashtable(); param.Add("sqlId", "SelectWttConsMaDtl"); param.Add("CNT_NUM", CNT_NUM); CnstDtl result = new CnstDtl(); result = BizUtil.SelectObject(param) as CnstDtl; //결과를 뷰모델멤버로 매칭 Type dbmodel = result.GetType(); Type model = this.GetType(); //모델프로퍼티 순회 foreach (PropertyInfo prop in model.GetProperties()) { string propName = prop.Name; //db프로퍼티 순회 foreach (PropertyInfo dbprop in dbmodel.GetProperties()) { string colName = dbprop.Name; var colValue = dbprop.GetValue(result, null); if (colName.Equals(propName)) { try { prop.SetValue(this, colValue); } catch (Exception) { } } } Console.WriteLine(propName + " - " + prop.GetValue(this, null)); } //2.Tab(4) //공사비지급내역 param = new Hashtable(); param.Add("CNT_NUM", CNT_NUM); param.Add("sqlId", "SelectWttCostDtList"); this.Tab01List = (List <WttCostDt>)BizUtil.SelectListObj <WttCostDt>(param); //설계변경내역 param = new Hashtable(); param.Add("CNT_NUM", CNT_NUM); param.Add("sqlId", "SelectWttChngDtList"); this.Tab02List = (List <WttChngDt>)BizUtil.SelectListObj <WttChngDt>(param); //공사하도급내역 param = new Hashtable(); param.Add("CNT_NUM", CNT_NUM); param.Add("sqlId", "SelectWttSubcDtList2"); this.Tab03List = (List <WttSubcDt>)BizUtil.SelectListObj <WttSubcDt>(param); //하자보수목록 param = new Hashtable(); param.Add("CNT_NUM", CNT_NUM); param.Add("sqlId", "SelectWttFlawDtList"); this.Tab04List = (List <WttFlawDt>)BizUtil.SelectListObj <WttFlawDt>(param); } catch (Exception) {} }
/// <summary> /// 생성자 /// </summary> public FileMngViewModel() { // 초기로딩처리 LoadedCommand = new DelegateCommand <object>(OnLoaded); // 파일인포리스트 ItemsFile = new ObservableCollection <FileInfo>(); ItemsSelect = new ObservableCollection <FileDtl>(); ItemsAdd = new ObservableCollection <FileDtl>(); //파일저장버튼 이벤트 SaveFileCmd = new RelayCommand <object>(delegate(object obj) { if (ItemsFile.Count < 1) { MessageBox.Show("저장할 파일이 없습니다."); return; } upload_thread = new Thread(new ThreadStart(UploadFileListFX)); upload_thread.Start(); }); //첨부내용 저장버튼 이벤트 SaveCmd = new RelayCommand <object>(OnSave); //파일삭제버튼 이벤트 DelCmd = new DelegateCommand <object>(delegate(object obj) { string seq = ""; try { seq = obj.ToString(); } catch (Exception) { } if (FmsUtil.IsNull(seq) || "0".Equals(seq)) { Messages.ShowErrMsgBox("삭제할 대상이 없습니다."); return; } string file_name = ""; string del_file_path = ""; //0.첨부파일정보가져오기 Hashtable param = new Hashtable(); try { param.Add("FIL_SEQ", Dtl.FIL_SEQ); param.Add("SEQ", seq); param.Add("sqlId", "SelectFileDtl"); DataTable dt = BizUtil.SelectList(param); //물리파일명 가져오기 file_name = dt.Rows[0]["UPF_NAM"].ToString(); } catch (Exception ex) { Messages.ShowInfoMsgBox(ex.ToString()); InitModel(); return; } //1.첨부파일상세테이블 삭제 param["sqlId"] = "DeleteFileSeq"; BizUtil.Update(param); //2.물리적파일 삭제 del_file_path = System.IO.Path.Combine(dir_name, file_name); try { FileInfo fi = new FileInfo(del_file_path); fi.Delete(); } catch (Exception) { } //삭제성공 Messages.ShowOkMsgBox(); InitModel(); }); //기존파일 다운로드버튼 이벤트 DownloadCmd = new RelayCommand <object>(delegate(object obj) { FileDtl dtl = obj as FileDtl; string file_name = dtl.DWN_NAM; string file_name2 = dtl.UPF_NAM; try { source_file_path = System.IO.Path.Combine(dir_name, file_name2); } catch (Exception) { Messages.ShowErrMsgBox("다운로드할 수 없습니다."); return; } //파일다운로드 saveFileDialog = new System.Windows.Forms.SaveFileDialog(); saveFileDialog.Title = "저장경로를 지정하세요."; //초기 파일명 지정 saveFileDialog.FileName = file_name; saveFileDialog.OverwritePrompt = true; //saveFileDialog.Filter = "Excel|*.xlsx"; //saveFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"; saveFileDialog.Filter = "All files (*.*)|*.*"; if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { target_file_path = saveFileDialog.FileName; download_thread = new Thread(new ThreadStart(DownloadFX)); download_thread.Start(); } }); //파일찾기버튼 이벤트 FindFileCmd = new RelayCommand <object>(delegate(object obj) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Multiselect = true; openFileDialog.Filter = "All files (*.*)|*.*"; openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); if (openFileDialog.ShowDialog() == true) { FileInfo[] files = openFileDialog.FileNames.Select(f => new FileInfo(f)).ToArray(); //파일인포 foreach (FileInfo fi in files) { try { //파일객체 ItemsFile.Add(fi); //파일db객체 FileDtl dtl = new FileDtl(); dtl.DWN_NAM = fi.Name; dtl.FIL_TYP = fi.Extension.Replace(".", ""); dtl.FIL_SIZ = fi.Length.ToString(); ItemsSelect.Add(dtl); } catch (Exception) {} } } }); //윈도우 마우스드래그 WindowMoveCommand = new DelegateCommand <object>(delegate(object obj) { try { if (Mouse.LeftButton == MouseButtonState.Pressed) { if (fileMngView.WindowState == WindowState.Maximized) { fileMngView.Top = Mouse.GetPosition(fileMngView).Y - System.Windows.Forms.Cursor.Position.Y - 6; fileMngView.Left = System.Windows.Forms.Cursor.Position.X - Mouse.GetPosition(fileMngView).X + 20; fileMngView.WindowState = WindowState.Normal; } fileMngView.DragMove(); } } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }); }
/// <summary> /// 로딩작업 /// </summary> /// <param name="obj"></param> private void OnLoaded(object obj) { try { // 0.화면객체인스턴스화 if (obj == null) { return; } var values = (object[])obj; wtsMnhoDtlView = values[0] as WtsMnhoDtlView; //cbFTR_CDE = wtsMnhoDtlView.cbFTR_CDE; //지형지물 cbHJD_CDE = wtsMnhoDtlView.cbHJD_CDE; //행정동 cbMNG_CDE = wtsMnhoDtlView.cbMNG_CDE; //관리기관 cbSOM_CDE = wtsMnhoDtlView.cbSOM_CDE; //맨홀종류 cbMHS_CDE = wtsMnhoDtlView.cbMHS_CDE; //맨홀형태 btnBack = wtsMnhoDtlView.btnBack; btnDelete = wtsMnhoDtlView.btnDelete; btnSave = wtsMnhoDtlView.btnSave; //2.화면데이터객체 초기화 InitDataBinding(); //3.권한처리 permissionApply(); // 4.초기조회 //DataTable dt = new DataTable(); Hashtable param = new Hashtable(); param.Add("sqlId", "SelectWtsMnhoDtl"); param.Add("FTR_CDE", this.FTR_CDE); param.Add("FTR_IDN", this.FTR_IDN); WtsMnhoDtl result = new WtsMnhoDtl(); result = BizUtil.SelectObject(param) as WtsMnhoDtl; //결과를 뷰모델멤버로 매칭 Type dbmodel = result.GetType(); Type model = this.GetType(); //모델프로퍼티 순회 foreach (PropertyInfo prop in model.GetProperties()) { string propName = prop.Name; //db프로퍼티 순회 foreach (PropertyInfo dbprop in dbmodel.GetProperties()) { string colName = dbprop.Name; var colValue = dbprop.GetValue(result, null); if (colName.Equals(propName)) { try { prop.SetValue(this, colValue); } catch (Exception) { } } } Console.WriteLine(propName + " - " + prop.GetValue(this, null)); } } catch (Exception e) { Console.WriteLine(e); } }
//블록코드 변경시 이벤트핸들러 private void OnUpFtrCdeChanged(object sender, RoutedEventArgs e) { BizUtil.SetFTR_IDN(FctDtl.UPPER_FTR_CDE, uC_BLKS_AS.cbUPPER_FTR_IDN); }