using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace FPJ0000 { public partial class fProjectData : FCOMMON.fBase { dsPRJ.ProjectsRow dr = null; public fProjectData(dsPRJ.ProjectsRow pidx_) { InitializeComponent(); this.UseFormSetting = false; this.dr = pidx_; this.dsPRJ.ProjectsHistory.TableNewRow += ProjectsHistory_TableNewRow; } void ProjectsHistory_TableNewRow(object sender, DataTableNewRowEventArgs e) { e.Row["wuid"] = FCOMMON.info.Login.no; e.Row["wdate"] = DateTime.Now; e.Row["pidx"] = this.dr.idx; e.Row["div"] = ""; e.Row["remark"] = string.Empty; e.Row["pdate"] = DateTime.Now.ToShortDateString(); } private void fProjectData_Load(object sender, EventArgs e) { //상태 var dt_eetproc = FCOMMON.DBM.getCodeTable("10"); this.cmbProcess.DisplayMember = "Value"; this.cmbProcess.ValueMember = "Value"; this.cmbProcess.DataSource = dt_eetproc; //공정 var dt_status = FCOMMON.DBM.getCodeTable("01"); this.cmbState.DisplayMember = "Value"; this.cmbState.ValueMember = "Value"; this.cmbState.DataSource = dt_status; //파트 var dt_part = FCOMMON.DBM.getCodeTable("11"); this.cmbPart.DisplayMember = "Value"; this.cmbPart.ValueMember = "Value"; this.cmbPart.DataSource = dt_part; this.bs.DataSource = dr; //주간일지내역을 업데이트 refresh_History(); try { if (dr.idx >= 0) this.taSchedule.Fill(this.dsPRJ.ProjectsSchedule, this.dr.idx); } catch (System.Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } this.cmbProcess.Text = dr.process; this.cmbState.Text = dr.status; this.cmbPart.Text = dr.part; //신규데이터는 추가정보를 바로 저장할 수 없다. if(dr.RowState == DataRowState.Detached || dr.RowState == DataRowState.Deleted) { FCOMMON.Util.MsgI("신규자료는 저장을 하기 전에는 파트리스트/IO맵/주간업무등의 서브데이터를 추가할 수 없습니다."); btPart.Enabled = false; } btIO.Enabled = btPart.Enabled; //btWeek.Enabled = btPart.Enabled; btMailAddr.Enabled = btPart.Enabled; btPath.Enabled = btPart.Enabled; btSendMail.Enabled = btPart.Enabled; //일반사용자의경우에는 상태를 변경하지 못한다. int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAutoType.project)); if (curLevel >= 5) { } else { tbPath.ReadOnly = true; } } private void btSave_Click(object sender, EventArgs e) { this.dr.process = cmbProcess.Text; this.dr.status = cmbState.Text; this.dr.part = cmbPart.Text; this.Validate(); this.bs.EndEdit(); this.bsWeek.EndEdit(); this.taHist.Update(this.dsPRJ.ProjectsHistory); this.DialogResult = System.Windows.Forms.DialogResult.OK; //this.tableAdapterManager.UpdateAll(this.dsPRJ); } private void btMailAddr_Click(object sender, EventArgs e) { fMailList f = new fMailList(this.dr.idx); f.ShowDialog(); } private void btPath_Click(object sender, EventArgs e) { string path = tbPath.Text.Trim(); if(path == "") { path = "\\10.131.36.205\\Data\\Projects\\"; path += tbIdx.Text; tbPath.Text = path; } var dlg = FCOMMON.Util.MsgQ("다음 폴더를 표시할까요?\n\n" + path); if(dlg == System.Windows.Forms.DialogResult.Yes) FCOMMON.Util.RunExplorer(path); } private void btPart_Click(object sender, EventArgs e) { var f = new fPartList(dr.idx); f.ShowDialog(); } private void btIO_Click(object sender, EventArgs e) { var f = new fProjectIOMap(dr.idx); f.ShowDialog(); } private void btWeek_Click(object sender, EventArgs e) { } private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e) { var drv = this.bsWeek.Current as DataRowView; if (drv == null) return; var dlg = FCOMMON.Util.MsgQ("선택된 업무현황을 삭제하시겠습니까?" + "\n\n메일이 발송 완료된 경우 발송된 메일은 삭제되지 않습니다."); if (dlg == System.Windows.Forms.DialogResult.Yes) this.bsWeek.RemoveCurrent(); } private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e) { var newdr = this.dsPRJ.ProjectsHistory.NewProjectsHistoryRow(); var f = new fHistAdd(newdr); if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK) { bsWeek.EndEdit(); this.dsPRJ.ProjectsHistory.AddProjectsHistoryRow(newdr); } else newdr.Delete(); } private void btSendMail_Click(object sender, EventArgs e) { List prjlist = new List(); prjlist.Add(int.Parse(this.tbIdx.Text)); fMailSend f = new fMailSend(prjlist); f.ShowDialog(); refresh_History(); } void refresh_History() { try { if (dr.idx >= 0) this.taHist.Fill(this.dsPRJ.ProjectsHistory, this.dr.idx); } catch (System.Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } } private void btwEdit_Click(object sender, EventArgs e) { var drv = this.bsWeek.Current as DataRowView; if (drv == null) return; var newdr = drv.Row as dsPRJ.ProjectsHistoryRow; var f = new fHistAdd(newdr); if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK) { newdr.EndEdit(); } } private void dataGridView1_DoubleClick(object sender, EventArgs e) { btwEdit.PerformClick(); } private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (tbPath.Text == "") tbPath.Text = "/" + tbIdx.Text; var f = new FCOMMON.fFTPExplorer(nameTextBox.Text, tbPath.Text, FCOMMON.info.ftp_ip, FCOMMON.info.ftp_id, FCOMMON.info.ftp_pw, FCOMMON.info.ftp_port, FCOMMON.info.ftp_passive); f.ShowDialog(); } } }