전자실업무현황 관련 추가
This commit is contained in:
		| @@ -3,123 +3,170 @@ using System.Collections.Generic; | ||||
| using System.Data; | ||||
| using System.Linq; | ||||
| using System.Windows.Forms; | ||||
| using System.Threading.Tasks; | ||||
|  | ||||
| namespace FPJ0000 | ||||
| { | ||||
|     public partial class fEboardData : FCOMMON.fBase | ||||
|     { | ||||
|         dsPRJ.ProjectsRow dr = null; | ||||
|         public fEboardData(dsPRJ.ProjectsRow pidx_) | ||||
|         dsPRJ.EETGW_JobReport_EBoardRow dr = null; | ||||
|         public fEboardData(dsPRJ.EETGW_JobReport_EBoardRow dr_) | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|             this.UseFormSetting = false; | ||||
|             this.dr = pidx_; | ||||
|             this.dr = dr_; | ||||
|             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(); | ||||
|  | ||||
|         } | ||||
|  | ||||
|         delegate void SetComboboxItemsHandler(ComboBox ctl, string[] list); | ||||
|         void SetComboboxItems(ComboBox ctl, string[] list) | ||||
|         { | ||||
|             //콤보박스의 아이템을 업데이트합니다. | ||||
|             if (ctl.InvokeRequired) | ||||
|             { | ||||
|                 this.BeginInvoke(new SetComboboxItemsHandler(SetComboboxItems), new object[] { ctl, list }); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             ctl.Items.Clear(); | ||||
|             ctl.Items.AddRange(list); | ||||
|             ctl.Enabled = true; | ||||
|              | ||||
|         } | ||||
|  | ||||
|         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 db = new EEEntities(); | ||||
|  | ||||
|             //분류 - 190903 | ||||
|             var dt_cate = FCOMMON.DBM.getCodeTable("20", "code"); | ||||
|             this.cmbCate.DisplayMember = "Value"; | ||||
|             this.cmbCate.ValueMember = "Value"; | ||||
|             this.cmbCate.DataSource = dt_cate; | ||||
|             //자동완성목록 업데이트 | ||||
|             Task.Run(new Action(() => | ||||
|             { | ||||
|  | ||||
|             //공정 | ||||
|             var dt_status = FCOMMON.DBM.getCodeTable("01"); | ||||
|             this.cmbState.DisplayMember = "Value"; | ||||
|             this.cmbState.ValueMember = "Value"; | ||||
|             this.cmbState.DataSource = dt_status; | ||||
|                 //UID목록 | ||||
|                 var lst_uid = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.uid) == false).OrderBy(t => t.uid).GroupBy(t => t.uid).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbUID,lst_uid.Select(t => t.uid).ToArray()); | ||||
|  | ||||
|             //파트 | ||||
|             var dt_part = FCOMMON.DBM.getCodeTable("11"); | ||||
|             this.cmbPart.DisplayMember = "Value"; | ||||
|             this.cmbPart.ValueMember = "Value"; | ||||
|             this.cmbPart.DataSource = dt_part; | ||||
|                 //요청자 | ||||
|                 var lst_req = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.요청자) == false).OrderBy(t => t.요청자).GroupBy(t => t.요청자).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmb요청자,lst_req.Select(t => t.요청자).ToArray()); | ||||
|  | ||||
|                 //모델 | ||||
|                 var lst_mod = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Model) == false).OrderBy(t => t.Model).GroupBy(t => t.Model).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbModel,lst_mod.Select(t => t.Model).ToArray()); | ||||
|  | ||||
|                 //BoardName | ||||
|                 var lst_bon = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.BoardName) == false).OrderBy(t => t.BoardName).GroupBy(t => t.BoardName).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbBoardName,lst_bon.Select(t => t.BoardName).ToArray()); | ||||
|  | ||||
|                 //BoardVender | ||||
|                 var lst_bvn = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.BoardVender) == false).OrderBy(t => t.BoardVender).GroupBy(t => t.BoardVender).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbBoardVender, lst_bvn.Select(t => t.BoardVender).ToArray()); | ||||
|  | ||||
|                 //SN | ||||
|                 var lst_srn = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.SN) == false).OrderBy(t => t.SN).GroupBy(t => t.SN).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbSN,lst_srn.Select(t => t.SN).ToArray()); | ||||
|  | ||||
|                 ////status | ||||
|                 //var lst_sta = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Status) == false).OrderBy(t => t.Status).GroupBy(t => t.Status).Select(t => t.FirstOrDefault()); | ||||
|                 //SetComboboxItems(cmbStatus,lst_sta.Select(t => t.Status).ToArray()); | ||||
|  | ||||
|                 //분류 | ||||
|                 var lst_cat = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.분류) == false).OrderBy(t => t.분류).GroupBy(t => t.분류).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmb분류,lst_cat.Select(t => t.분류).ToArray()); | ||||
|  | ||||
|                 //Site | ||||
|                 var lst_sit = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Site) == false).OrderBy(t => t.Site).GroupBy(t => t.Site).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbSite,lst_sit.Select(t => t.Site).ToArray()); | ||||
|  | ||||
|                 //Line | ||||
|                 var lst_lin = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Line) == false).OrderBy(t => t.Line).GroupBy(t => t.Line).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbLine,lst_lin.Select(t => t.Line).ToArray()); | ||||
|  | ||||
|                 //division | ||||
|                 var lst_div = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Division) == false).OrderBy(t => t.Division).GroupBy(t => t.Division).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbDivision,lst_div.Select(t => t.Division).ToArray()); | ||||
|  | ||||
|                 ////Team | ||||
|                 //var lst_tem = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Team) == false).OrderBy(t => t.Team).GroupBy(t => t.Team).Select(t => t.FirstOrDefault()); | ||||
|                 //SetComboboxItems(cmbTeam,lst_tem.Select(t => t.Team).ToArray()); | ||||
|  | ||||
|                 //Process | ||||
|                 var lst_prc = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Process) == false).OrderBy(t => t.Process).GroupBy(t => t.Process).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbProcess,lst_prc.Select(t => t.Process).ToArray()); | ||||
|  | ||||
|                 //외주업체 | ||||
|                 var lst_ext = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.외주업체) == false).OrderBy(t => t.외주업체).GroupBy(t => t.외주업체).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmb외주업체,lst_ext.Select(t => t.외주업체).ToArray()); | ||||
|             })); | ||||
|  | ||||
|  | ||||
|  | ||||
|             this.tbQty.Text = dr.QTY.ToString(); | ||||
|             this.tbCostNew.Text = dr.NPrice.ToString(); | ||||
|             this.tbCostOutSource.Text = dr.OPrice.ToString(); | ||||
|             this.tbCostRepair.Text = dr.RepairCost.ToString(); | ||||
|             this.tbCostReduct.Text = dr.CostReduction.ToString(); | ||||
|             this.bs.DataSource = dr; | ||||
|  | ||||
|  | ||||
|             //주간일지내역을 업데이트 | ||||
|             refresh_History(); | ||||
|  | ||||
|             //일업무현황 업데이트 | ||||
|             this.taHistD.Fill(this.dsPRJ.EETGW_ProjecthistoryD, this.dr.idx); | ||||
|             //todo 업데이트 | ||||
|             refreshTodo(); | ||||
|             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; | ||||
|             this.cmbCate.Text = dr.category; | ||||
|  | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|         private void btSave_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             this.dr.process = cmbProcess.Text; | ||||
|             this.dr.status = cmbState.Text; | ||||
|             this.dr.part = cmbPart.Text; | ||||
|             this.dr.category = cmbCate.Text; | ||||
|          | ||||
|  | ||||
|             this.Validate(); | ||||
|             this.bs.EndEdit(); | ||||
|             this.bsHistWeek.EndEdit(); | ||||
|             this.bsHistDay.EndEdit(); | ||||
|             this.bsTodo.EndEdit(); | ||||
|             this.taToDo.Update(this.dsPRJ.EETGW_ProjectToDo); | ||||
|             this.taHist.Update(this.dsPRJ.ProjectsHistory); | ||||
|             this.taHistD.Update(this.dsPRJ.EETGW_ProjecthistoryD); | ||||
|  | ||||
|  | ||||
|             var s1 = tbCostOutSource.Text.Trim(); | ||||
|             var s2 = tbCostRepair.Text.Trim(); | ||||
|             float v1; | ||||
|             float v2; | ||||
|             var b1 = float.TryParse(s1, out v1); | ||||
|             var b2 = float.TryParse(s2, out v2); | ||||
|  | ||||
|             if (b1 == false) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("입력값이 올바르지 않습니다. 숫자로 입력하세요"); | ||||
|                 tbCostOutSource.SelectAll(); | ||||
|                 tbCostOutSource.Focus(); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             if (b2 == false) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("입력값이 올바르지 않습니다. 숫자로 입력하세요"); | ||||
|                 tbCostRepair.SelectAll(); | ||||
|                 tbCostRepair.Focus(); | ||||
|                 return; | ||||
|             } | ||||
|             if(remark_reqTextBox.Text.isEmpty()) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("요청 사항을 입력하세요"); | ||||
|                 remark_reqTextBox.Focus(); | ||||
|                 return; | ||||
|             } | ||||
|             this.dr.QTY = tbQty.Text.ToInt(); | ||||
|             this.dr.NPrice = tbCostNew.Text.ToDecimal(); | ||||
|             this.dr.OPrice = tbCostOutSource.Text.ToDecimal(); | ||||
|             this.dr.RepairCost = tbCostRepair.Text.ToDecimal(); | ||||
|             this.dr.CostReduction = tbCostReduct.Text.ToDecimal(); | ||||
|             this.dr.EndEdit(); | ||||
|  | ||||
|  | ||||
|             this.DialogResult = System.Windows.Forms.DialogResult.OK; | ||||
|             //this.tableAdapterManager.UpdateAll(this.dsPRJ); | ||||
|         } | ||||
|  | ||||
|  | ||||
|          | ||||
|         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); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|       | ||||
|  | ||||
|  | ||||
|         void SelectDate(TextBox ctl) | ||||
|         { | ||||
|             DateTime dt; | ||||
| @@ -147,29 +194,51 @@ namespace FPJ0000 | ||||
|             SelectDate(sdateTextBox); | ||||
|         } | ||||
|  | ||||
|         | ||||
|  | ||||
|  | ||||
|         private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) | ||||
|         { | ||||
|             SelectDate(edateTextBox); | ||||
|             //if (edateTextBox.Text.isEmpty() == false) | ||||
|             //    cmbStatus.Text = "완료"; | ||||
|         } | ||||
|  | ||||
|        | ||||
|  | ||||
|  | ||||
|         private void bs_CurrentChanged(object sender, EventArgs e) | ||||
|         { | ||||
|  | ||||
|         } | ||||
|  | ||||
|         | ||||
|  | ||||
|         void refreshTodo() | ||||
|  | ||||
|  | ||||
|         private void panel1_Paint(object sender, PaintEventArgs e) | ||||
|         { | ||||
|             taToDo.Fill(this.dsPRJ.EETGW_ProjectToDo, this.dr.idx); | ||||
|  | ||||
|         } | ||||
|         private void tbQty_TextChanged(object sender, EventArgs e) | ||||
|         { | ||||
|             //수량변경시 금액 업데이트            | ||||
|             var qty = tbQty.Text.ToInt(); | ||||
|             var nAmt = tbCostNew.Text.ToDouble(); | ||||
|             var oAmt = (nAmt * qty) * 0.5f; | ||||
|             var rAmt = tbCostRepair.Text.ToDouble(); | ||||
|             var reduction = oAmt - rAmt; | ||||
|             this.tbCostOutSource.Text = oAmt.ToString(); | ||||
|             //this.tbCostReduct.Text = reduction.ToString(); | ||||
|         } | ||||
|  | ||||
|         private void costnTextBox_TextChanged(object sender, EventArgs e) | ||||
|         { | ||||
|             //Out source 가 변경되면  | ||||
|             var oAmt = tbCostOutSource.Text.ToDouble(); | ||||
|             var rAmt = tbCostRepair.Text.ToDouble(); | ||||
|             var reduction = oAmt - rAmt; | ||||
|             tbCostReduct.Text = reduction.ToString(); | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|     | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 chi
					chi