1910108 chi 열저장방식 변경(필드명으로 저장)
파트리스트 열 순서를 기존 사용 엑셀과 동일하게 정렬 파트리스트 적용부위 납기일 항목 추가 파트리스트 가져오기 메뉴에 적용부위, 납기일 항목 추가 파트리스트 내보내기 기능 - 파일명을 프로젝트 명으로 자동 입력
This commit is contained in:
		| @@ -1,330 +1,330 @@ | ||||
| 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 FCM0000 | ||||
| { | ||||
|     public partial class finventoryAdd : Form | ||||
|     { | ||||
|         BindingSource bsManu; | ||||
|         BindingSource bsModel; | ||||
|         DSInventory.vInventoryRow dr; | ||||
|         public Boolean repeatAdd = false; | ||||
|  | ||||
|         public finventoryAdd(DSInventory.vInventoryRow dr_) | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|             bsManu = new BindingSource(); | ||||
|             bsModel = new BindingSource(); | ||||
|             this.dr = dr_; | ||||
|             this.KeyPreview = true; | ||||
|             this.StartPosition = FormStartPosition.CenterScreen; | ||||
|             this.KeyDown += (s1, e1) => | ||||
|             { | ||||
|                 if (e1.KeyCode == Keys.Escape) this.Close(); | ||||
|             }; | ||||
|             this.tbPumName.Leave += tbPumName_Leave; | ||||
|             this.tbProject.Leave += tbProject_Leave; | ||||
|             foreach (Control ctl in groupBox1.Controls) | ||||
|             { | ||||
|                 if (ctl.GetType() == typeof(TextBox) || ctl.GetType() == typeof(ComboBox)) | ||||
|                 { | ||||
|                     ctl.KeyDown += ctl_KeyDown; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private void __Load(object sender, EventArgs e) | ||||
|         { | ||||
|             //담당자목록 | ||||
|             var userList = FCOMMON.DBM.getUserList();//.getGroupList("name", "Users", "[level] > 0 and [level] < 10"); | ||||
|             foreach (var user in userList) | ||||
|             { | ||||
|                 this.cmbRequest.Items.Add(string.Format("[{0}] {1}",user.Key,user.Value)); | ||||
|             } | ||||
|  | ||||
|             //보관소 목록업데이트 | ||||
|             var PlaceList = FCOMMON.DBM.getCodeList("50"); | ||||
|             cmbPlace.Items.Clear(); | ||||
|             foreach (var item in PlaceList) | ||||
|                 cmbPlace.Items.Add(item.Value); | ||||
|  | ||||
|  | ||||
|             //사현재사용자의 데이터를 찾는다. | ||||
|             if (cmbRequest.Items.Count > 0) | ||||
|             { | ||||
|                 for (int i = 0; i < cmbRequest.Items.Count; i++) | ||||
|                 { | ||||
|                     if (cmbRequest.Items[i].ToString().StartsWith("[" + dr.uid + "]")) | ||||
|                     { | ||||
|                         cmbRequest.SelectedIndex = i; | ||||
|                         break; | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             else cmbRequest.Text = dr.uid; | ||||
|  | ||||
|  | ||||
|             ///입력된 데이터를 적용한다. | ||||
|             dtPdate.Value = DateTime.Parse(dr.pdate);             | ||||
|             dtPdate.Value = DateTime.Parse(dr.pdate); | ||||
|            // cmbRequest.Text = dr.userName; | ||||
|             tbSID.Text = dr.sid; | ||||
|             tbSID.Tag = tbSID.Text; | ||||
|             tbPumIDX.Text = dr.item.ToString(); | ||||
|             tbPumName.Text = dr.itemName; | ||||
|             tbPumName.Tag = tbPumName.Text; | ||||
|             tbPumModel.Text = dr.itemModel; | ||||
|             tbPumQty.Text = dr.dr_qty.ToString("N0"); | ||||
|             if (dr.dr_qty == 0 || dr.dr_amt == 0) tbPumPrice.Text = "0"; | ||||
|             else tbPumPrice.Text = string.Format("{0}",dr.dr_amt / dr.dr_qty); | ||||
|             tbPumAmt.Text = dr.dr_amt.ToString("N0"); | ||||
|  | ||||
|             tbSN.Text = dr.serial; | ||||
|             cmbPlace.Text = dr.place; | ||||
|             tbProject.Text = dr.projectName; | ||||
|             tbProject.Tag = tbProject.Text; | ||||
|             tbProjectIndex.Text = dr.project.ToString(); | ||||
|  | ||||
|             cmbState.Text = dr.invtype; //입고/출고/정정 | ||||
|             tbBigo.Text = dr.memo; | ||||
|  | ||||
|             //프로젝트 비활성화 | ||||
|             if(FCOMMON.info.Login.gcode == "ENV") | ||||
|             { | ||||
|                 tbProject.Enabled = false; | ||||
|                 tbProjectIndex.Enabled = false; | ||||
|                 linkLabel7.Enabled = false; | ||||
|             } | ||||
|  | ||||
|             this.Show(); | ||||
|             Application.DoEvents(); | ||||
|             tbPumName.Focus(); | ||||
|         } | ||||
|  | ||||
|         string sidTrim(string sid) | ||||
|         { | ||||
|             return sid.Replace(" ", "").Replace("-", "").Replace("_", "").Trim(); | ||||
|         } | ||||
|  | ||||
|         void ctl_KeyDown(object sender, KeyEventArgs e) | ||||
|         { | ||||
|             if (e.KeyCode == Keys.Enter) | ||||
|             { | ||||
|                 Control ctl = sender as Control; | ||||
|                 string nm = ctl.Name.ToLower(); | ||||
|                 string search = ctl.Text.Trim(); | ||||
|  | ||||
|                 Console.WriteLine("inner keydown " + nm + ":" + search); | ||||
|  | ||||
|                 switch (nm) | ||||
|                 { | ||||
|                     case "cmbrequest": | ||||
|                         tbSID.Focus(); | ||||
|                         break; | ||||
|                     case "tbpumname": | ||||
|                         Lov_Item(search, false); | ||||
|                         break; | ||||
|                     case "tbproject": | ||||
|                         Lov_Project(search, false); | ||||
|                         break; | ||||
|                     default: | ||||
|                         SendKeys.Send("{TAB}"); | ||||
|                         break; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         private void linkLabel5_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) | ||||
|         { | ||||
|             Lov_Item("",true); | ||||
|         } | ||||
|  | ||||
|         void Lov_Item( string search,Boolean allowAll) | ||||
|         { | ||||
|             if (search == "" && allowAll==false) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("품명은 필수 값 입니다"); | ||||
|                 tbPumName.Focus(); | ||||
|                 return; | ||||
|             } | ||||
|             else if (search.ToLower() != tbPumName.Tag.ToString().ToLower() || tbPumIDX.Text == "-1" || tbPumIDX.Text == "") //값이 바뀌엇다면 검색을 해준다. | ||||
|             { | ||||
|                 var f = new FCM0000.fLovItem(search); | ||||
|                 if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK) | ||||
|                 { | ||||
|                     //인덱스값이 다르면 모델 및 가격을 업데이트 한다. | ||||
|                     tbPumName.Text = f.itemName; | ||||
|                     tbPumName.Tag = f.itemName; | ||||
|  | ||||
|                     this.tbPumIDX.Text = f.item.ToString(); | ||||
|                     this.tbPumModel.Text = f.itemmodel; | ||||
|                     this.tbPumPrice.Text = f.itemprice.ToString(); | ||||
|                     this.tbSID.Text = f.SID; | ||||
|                     this.tbSID.Tag = f.SID; | ||||
|                     this.tbPumModel.Enabled = false; | ||||
|                     if (tbSID.Text != "") tbSID.Enabled = false; | ||||
|                     else tbSID.Enabled = true; | ||||
|                 } | ||||
|             } | ||||
|             this.tbPumQty.Focus(); | ||||
|         } | ||||
|         void Lov_Project(string search, Boolean allowAll) | ||||
|         { | ||||
|             if (search != "" || allowAll == true) | ||||
|             { | ||||
|                 var f = new FCM0000.fLovProject(search); | ||||
|                 if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK) | ||||
|                 { | ||||
|                     this.tbProject.Text = f.Title; | ||||
|                     this.tbProject.Tag = f.Title; | ||||
|                     this.tbProjectIndex.Text = f.Index.ToString(); | ||||
|                     btSave.Focus(); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     tbProject.SelectAll(); | ||||
|                     tbProject.Focus(); | ||||
|                 } | ||||
|             } | ||||
|             else this.btSave.Focus(); | ||||
|         } | ||||
|     | ||||
|         private Boolean saveData() | ||||
|         { | ||||
|             this.Validate(); | ||||
|  | ||||
|             tbSID.Text = sidTrim(tbSID.Text); | ||||
|  | ||||
|             if (tbPumName.Text.isEmpty()) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("품명이 없습니다."); | ||||
|                 tbPumName.Focus(); | ||||
|                 return false; | ||||
|             } | ||||
|  | ||||
|             //비활성화된 상태에서는 입력하지 않아도 동작하게 함 | ||||
|             if ( tbPumModel.Enabled=true && tbPumModel.Text == "") | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("제품 규격을 입력하세요."); | ||||
|                 tbPumModel.Focus(); | ||||
|                 return false; | ||||
|             } | ||||
|             if (tbPumQty.Text == "") | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("수량을 입력하세요."); | ||||
|                 tbPumQty.Focus(); | ||||
|                 return false; | ||||
|             } | ||||
|             | ||||
|             //품목정보에 없는 데이터이므로 자료를 추가한다. | ||||
|             if(tbPumIDX.Text == "-1") | ||||
|             { | ||||
|                 var newidx = FCOMMON.DBM.addItem(tbPumName.Text, tbSID.Text, tbPumModel.Text.Trim(), decimal.Parse(tbPumPrice.Text), "", -1, null); | ||||
|                 if (newidx > 0) tbPumIDX.Text = newidx.ToString(); | ||||
|             } | ||||
|             else if(tbSID.Text != "" && tbSID.Text != tbSID.Tag.ToString()) | ||||
|             { | ||||
|                 //SID가 변경되었으므로 업데이트 해주낟. | ||||
|                 FCOMMON.DBM.UpdateItemSID(int.Parse(tbPumIDX.Text), tbSID.Text); | ||||
|             } | ||||
|  | ||||
|             dr.itemName = tbPumName.Text; | ||||
|             dr.itemModel = tbPumModel.Text; | ||||
|             dr.item = int.Parse( tbPumIDX.Text   ); | ||||
|             dr.place = cmbPlace.Text; | ||||
|             dr.serial = tbSN.Text; | ||||
|             if (tbPumQty.Text.isEmpty()) tbPumQty.Text = "0"; | ||||
|             if (tbPumPrice.Text.isEmpty()) tbPumPrice.Text = "0"; | ||||
|             dr.dr_qty = int.Parse(tbPumQty.Text); | ||||
|             dr.dr_amt = dr.dr_qty * int.Parse(tbPumPrice.Text); | ||||
|             if (tbPumIDX.Text == "" || tbPumIDX.Text == "-1") dr.SetitemNull(); | ||||
|             else dr.item = int.Parse(tbPumIDX.Text); | ||||
|             dr.sid = tbSID.Text.Trim();  | ||||
|             dr.pdate = this.dtPdate.Value.ToShortDateString(); | ||||
|             dr.gcode = FCOMMON.info.Login.gcode; | ||||
|             if (cmbRequest.Text.IndexOf("]") != -1) | ||||
|             { | ||||
|                 dr.uid = cmbRequest.Text.Substring(1, cmbRequest.Text.IndexOf("]") - 1); | ||||
|                 dr.userName = cmbRequest.Text.Substring(cmbRequest.Text.IndexOf("]") + 2); | ||||
|             }    | ||||
|             else | ||||
|             { | ||||
|                 dr.uid = cmbRequest.Text; | ||||
|                 dr.userName = string.Empty; | ||||
|             } | ||||
|             dr.sid = tbSID.Text; | ||||
|             dr.projectName = tbProject.Text; | ||||
|             if (tbProjectIndex.Text == "") dr.SetprojectNull(); | ||||
|             else dr.project = int.Parse(tbProjectIndex.Text); | ||||
|             dr.invtype = cmbState.Text.Trim(); | ||||
|             dr.memo = tbBigo.Text.Trim(); | ||||
|             if(cmbState.Text == "입고") | ||||
|             { | ||||
|                 if (dr.dr_qty < 0) dr.dr_qty *= -1; | ||||
|                 if (dr.dr_amt < 0) dr.dr_amt *= -1; | ||||
|             } else  if(cmbState.Text =="출고") | ||||
|             { | ||||
|                 if (dr.dr_qty > 0) dr.dr_qty *= -1; | ||||
|                 if (dr.dr_amt > 0) dr.dr_amt *= -1; | ||||
|             } | ||||
|             dr.EndEdit(); | ||||
|             return true; | ||||
|         } | ||||
|  | ||||
|         private void button1_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             if (!saveData()) return; | ||||
|             DialogResult = System.Windows.Forms.DialogResult.OK; | ||||
|         } | ||||
|  | ||||
|         private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) | ||||
|         { | ||||
|         } | ||||
|  | ||||
|         private void tbPumQty_TextChanged(object sender, EventArgs e) | ||||
|         { | ||||
|             var strQty = this.tbPumQty.Text; | ||||
|             var strPrice = this.tbPumPrice.Text; | ||||
|  | ||||
|             int qty = 0; | ||||
|             double price = 0; | ||||
|             if (strQty.IsNumeric()) qty = int.Parse(strQty); | ||||
|             if (strPrice.IsNumeric()) price = double.Parse(strPrice); | ||||
|             double amt = price * qty; | ||||
|             tbPumAmt.Text = amt.ToString("N0"); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         private void linkLabel7_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) | ||||
|         { | ||||
|             //lov 프로젝트 | ||||
|             Lov_Project("", true); | ||||
|         } | ||||
|  | ||||
|         void tbProject_Leave(object sender, EventArgs e) | ||||
|         { | ||||
|             //커서를 빠져나갈떄 사용자가 이름만 변경했다면 선택 idx를 제거해준다. | ||||
|             var tb = sender as TextBox; | ||||
|             if (tb.Text == "") tbProjectIndex.Text = "-1"; | ||||
|             else if (tb.Text != tb.Tag.ToString()) tbProjectIndex.Text = "-1"; | ||||
|         } | ||||
|  | ||||
|         void tbPumName_Leave(object sender, EventArgs e) | ||||
|         { | ||||
|             //커서를 빠져나갈떄 사용자가 이름만 변경했다면 선택 idx를 제거해준다. | ||||
|             var tb = sender as TextBox; | ||||
|             if (tb.Text == "") tbPumIDX.Text = "-1"; | ||||
|             else if (tb.Text != tb.Tag.ToString()) tbPumIDX.Text = "-1"; | ||||
|             if(tbPumIDX.Text =="-1") | ||||
|             { | ||||
|                 tbPumModel.Enabled = true; | ||||
|               //  tbPumUnit.Enabled = true; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 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 FCM0000 | ||||
| { | ||||
|     public partial class finventoryAdd : Form | ||||
|     { | ||||
|         BindingSource bsManu; | ||||
|         BindingSource bsModel; | ||||
|         DSInventory.vInventoryRow dr; | ||||
|         public Boolean repeatAdd = false; | ||||
|  | ||||
|         public finventoryAdd(DSInventory.vInventoryRow dr_) | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|             bsManu = new BindingSource(); | ||||
|             bsModel = new BindingSource(); | ||||
|             this.dr = dr_; | ||||
|             this.KeyPreview = true; | ||||
|             this.StartPosition = FormStartPosition.CenterScreen; | ||||
|             this.KeyDown += (s1, e1) => | ||||
|             { | ||||
|                 if (e1.KeyCode == Keys.Escape) this.Close(); | ||||
|             }; | ||||
|             this.tbPumName.Leave += tbPumName_Leave; | ||||
|             this.tbProject.Leave += tbProject_Leave; | ||||
|             foreach (Control ctl in groupBox1.Controls) | ||||
|             { | ||||
|                 if (ctl.GetType() == typeof(TextBox) || ctl.GetType() == typeof(ComboBox)) | ||||
|                 { | ||||
|                     ctl.KeyDown += ctl_KeyDown; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private void __Load(object sender, EventArgs e) | ||||
|         { | ||||
|             //담당자목록 | ||||
|             var userList = FCOMMON.DBM.getUserList();//.getGroupList("name", "Users", "[level] > 0 and [level] < 10"); | ||||
|             foreach (var user in userList) | ||||
|             { | ||||
|                 this.cmbRequest.Items.Add(string.Format("[{0}] {1}",user.Key,user.Value)); | ||||
|             } | ||||
|  | ||||
|             //보관소 목록업데이트 | ||||
|             var PlaceList = FCOMMON.DBM.getCodeList("50"); | ||||
|             cmbPlace.Items.Clear(); | ||||
|             foreach (var item in PlaceList) | ||||
|                 cmbPlace.Items.Add(item.Value); | ||||
|  | ||||
|  | ||||
|             //사현재사용자의 데이터를 찾는다. | ||||
|             if (cmbRequest.Items.Count > 0) | ||||
|             { | ||||
|                 for (int i = 0; i < cmbRequest.Items.Count; i++) | ||||
|                 { | ||||
|                     if (cmbRequest.Items[i].ToString().StartsWith("[" + dr.uid + "]")) | ||||
|                     { | ||||
|                         cmbRequest.SelectedIndex = i; | ||||
|                         break; | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             else cmbRequest.Text = dr.uid; | ||||
|  | ||||
|  | ||||
|             ///입력된 데이터를 적용한다. | ||||
|             dtPdate.Value = DateTime.Parse(dr.pdate);             | ||||
|             dtPdate.Value = DateTime.Parse(dr.pdate); | ||||
|            // cmbRequest.Text = dr.userName; | ||||
|             tbSID.Text = dr.sid; | ||||
|             tbSID.Tag = tbSID.Text; | ||||
|             tbPumIDX.Text = dr.item.ToString(); | ||||
|             tbPumName.Text = dr.itemName; | ||||
|             tbPumName.Tag = tbPumName.Text; | ||||
|             tbPumModel.Text = dr.itemModel; | ||||
|             tbPumQty.Text = dr.dr_qty.ToString("N0"); | ||||
|             if (dr.dr_qty == 0 || dr.dr_amt == 0) tbPumPrice.Text = "0"; | ||||
|             else tbPumPrice.Text = string.Format("{0}",dr.dr_amt / dr.dr_qty); | ||||
|             tbPumAmt.Text = dr.dr_amt.ToString("N0"); | ||||
|  | ||||
|             tbSN.Text = dr.serial; | ||||
|             cmbPlace.Text = dr.place; | ||||
|             tbProject.Text = dr.projectName; | ||||
|             tbProject.Tag = tbProject.Text; | ||||
|             tbProjectIndex.Text = dr.project.ToString(); | ||||
|  | ||||
|             cmbState.Text = dr.invtype; //입고/출고/정정 | ||||
|             tbBigo.Text = dr.memo; | ||||
|  | ||||
|             //프로젝트 비활성화 | ||||
|             if(FCOMMON.info.Login.gcode == "ENV") | ||||
|             { | ||||
|                 tbProject.Enabled = false; | ||||
|                 tbProjectIndex.Enabled = false; | ||||
|                 linkLabel7.Enabled = false; | ||||
|             } | ||||
|  | ||||
|             this.Show(); | ||||
|             Application.DoEvents(); | ||||
|             tbPumName.Focus(); | ||||
|         } | ||||
|  | ||||
|         string sidTrim(string sid) | ||||
|         { | ||||
|             return sid.Replace(" ", "").Replace("-", "").Replace("_", "").Trim(); | ||||
|         } | ||||
|  | ||||
|         void ctl_KeyDown(object sender, KeyEventArgs e) | ||||
|         { | ||||
|             if (e.KeyCode == Keys.Enter) | ||||
|             { | ||||
|                 Control ctl = sender as Control; | ||||
|                 string nm = ctl.Name.ToLower(); | ||||
|                 string search = ctl.Text.Trim(); | ||||
|  | ||||
|                 Console.WriteLine("inner keydown " + nm + ":" + search); | ||||
|  | ||||
|                 switch (nm) | ||||
|                 { | ||||
|                     case "cmbrequest": | ||||
|                         tbSID.Focus(); | ||||
|                         break; | ||||
|                     case "tbpumname": | ||||
|                         Lov_Item(search, false); | ||||
|                         break; | ||||
|                     case "tbproject": | ||||
|                         Lov_Project(search, false); | ||||
|                         break; | ||||
|                     default: | ||||
|                         SendKeys.Send("{TAB}"); | ||||
|                         break; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         private void linkLabel5_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) | ||||
|         { | ||||
|             Lov_Item("",true); | ||||
|         } | ||||
|  | ||||
|         void Lov_Item( string search,Boolean allowAll) | ||||
|         { | ||||
|             if (search == "" && allowAll==false) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("품명은 필수 값 입니다"); | ||||
|                 tbPumName.Focus(); | ||||
|                 return; | ||||
|             } | ||||
|             else if (search.ToLower() != tbPumName.Tag.ToString().ToLower() || tbPumIDX.Text == "-1" || tbPumIDX.Text == "") //값이 바뀌엇다면 검색을 해준다. | ||||
|             { | ||||
|                 var f = new FCM0000.fLovItem(search); | ||||
|                 if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK) | ||||
|                 { | ||||
|                     //인덱스값이 다르면 모델 및 가격을 업데이트 한다. | ||||
|                     tbPumName.Text = f.itemName; | ||||
|                     tbPumName.Tag = f.itemName; | ||||
|  | ||||
|                     this.tbPumIDX.Text = f.item.ToString(); | ||||
|                     this.tbPumModel.Text = f.itemmodel; | ||||
|                     this.tbPumPrice.Text = f.itemprice.ToString(); | ||||
|                     this.tbSID.Text = f.SID; | ||||
|                     this.tbSID.Tag = f.SID; | ||||
|                     this.tbPumModel.Enabled = false; | ||||
|                     if (tbSID.Text != "") tbSID.Enabled = false; | ||||
|                     else tbSID.Enabled = true; | ||||
|                 } | ||||
|             } | ||||
|             this.tbPumQty.Focus(); | ||||
|         } | ||||
|         void Lov_Project(string search, Boolean allowAll) | ||||
|         { | ||||
|             if (search != "" || allowAll == true) | ||||
|             { | ||||
|                 var f = new FCM0000.fLovProject(search); | ||||
|                 if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK) | ||||
|                 { | ||||
|                     this.tbProject.Text = f.Title; | ||||
|                     this.tbProject.Tag = f.Title; | ||||
|                     this.tbProjectIndex.Text = f.Index.ToString(); | ||||
|                     btSave.Focus(); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     tbProject.SelectAll(); | ||||
|                     tbProject.Focus(); | ||||
|                 } | ||||
|             } | ||||
|             else this.btSave.Focus(); | ||||
|         } | ||||
|     | ||||
|         private Boolean saveData() | ||||
|         { | ||||
|             this.Validate(); | ||||
|  | ||||
|             tbSID.Text = sidTrim(tbSID.Text); | ||||
|  | ||||
|             if (tbPumName.Text.isEmpty()) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("품명이 없습니다."); | ||||
|                 tbPumName.Focus(); | ||||
|                 return false; | ||||
|             } | ||||
|  | ||||
|             //비활성화된 상태에서는 입력하지 않아도 동작하게 함 | ||||
|             if ( tbPumModel.Enabled=true && tbPumModel.Text == "") | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("제품 규격을 입력하세요."); | ||||
|                 tbPumModel.Focus(); | ||||
|                 return false; | ||||
|             } | ||||
|             if (tbPumQty.Text == "") | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("수량을 입력하세요."); | ||||
|                 tbPumQty.Focus(); | ||||
|                 return false; | ||||
|             } | ||||
|             | ||||
|             //품목정보에 없는 데이터이므로 자료를 추가한다. | ||||
|             if(tbPumIDX.Text == "-1") | ||||
|             { | ||||
|                 var newidx = FCOMMON.DBM.addItem(tbPumName.Text, tbSID.Text, tbPumModel.Text.Trim(), decimal.Parse(tbPumPrice.Text), "", -1, null); | ||||
|                 if (newidx > 0) tbPumIDX.Text = newidx.ToString(); | ||||
|             } | ||||
|             else if(tbSID.Text != "" && tbSID.Text != tbSID.Tag.ToString()) | ||||
|             { | ||||
|                 //SID가 변경되었으므로 업데이트 해주낟. | ||||
|                 FCOMMON.DBM.UpdateItemSID(int.Parse(tbPumIDX.Text), tbSID.Text); | ||||
|             } | ||||
|  | ||||
|             dr.itemName = tbPumName.Text; | ||||
|             dr.itemModel = tbPumModel.Text; | ||||
|             dr.item = int.Parse( tbPumIDX.Text   ); | ||||
|             dr.place = cmbPlace.Text; | ||||
|             dr.serial = tbSN.Text; | ||||
|             if (tbPumQty.Text.isEmpty()) tbPumQty.Text = "0"; | ||||
|             if (tbPumPrice.Text.isEmpty()) tbPumPrice.Text = "0"; | ||||
|             dr.dr_qty = int.Parse(tbPumQty.Text); | ||||
|             dr.dr_amt = dr.dr_qty * int.Parse(tbPumPrice.Text); | ||||
|             if (tbPumIDX.Text == "" || tbPumIDX.Text == "-1") dr.SetitemNull(); | ||||
|             else dr.item = int.Parse(tbPumIDX.Text); | ||||
|             dr.sid = tbSID.Text.Trim();  | ||||
|             dr.pdate = this.dtPdate.Value.ToShortDateString(); | ||||
|             dr.gcode = FCOMMON.info.Login.gcode; | ||||
|             if (cmbRequest.Text.IndexOf("]") != -1) | ||||
|             { | ||||
|                 dr.uid = cmbRequest.Text.Substring(1, cmbRequest.Text.IndexOf("]") - 1); | ||||
|                 dr.userName = cmbRequest.Text.Substring(cmbRequest.Text.IndexOf("]") + 2); | ||||
|             }    | ||||
|             else | ||||
|             { | ||||
|                 dr.uid = cmbRequest.Text; | ||||
|                 dr.userName = string.Empty; | ||||
|             } | ||||
|             dr.sid = tbSID.Text; | ||||
|             dr.projectName = tbProject.Text; | ||||
|             if (tbProjectIndex.Text == "") dr.SetprojectNull(); | ||||
|             else dr.project = int.Parse(tbProjectIndex.Text); | ||||
|             dr.invtype = cmbState.Text.Trim(); | ||||
|             dr.memo = tbBigo.Text.Trim(); | ||||
|             if(cmbState.Text == "입고") | ||||
|             { | ||||
|                 if (dr.dr_qty < 0) dr.dr_qty *= -1; | ||||
|                 if (dr.dr_amt < 0) dr.dr_amt *= -1; | ||||
|             } else  if(cmbState.Text =="출고") | ||||
|             { | ||||
|                 if (dr.dr_qty > 0) dr.dr_qty *= -1; | ||||
|                 if (dr.dr_amt > 0) dr.dr_amt *= -1; | ||||
|             } | ||||
|             dr.EndEdit(); | ||||
|             return true; | ||||
|         } | ||||
|  | ||||
|         private void button1_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             if (!saveData()) return; | ||||
|             DialogResult = System.Windows.Forms.DialogResult.OK; | ||||
|         } | ||||
|  | ||||
|         private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) | ||||
|         { | ||||
|         } | ||||
|  | ||||
|         private void tbPumQty_TextChanged(object sender, EventArgs e) | ||||
|         { | ||||
|             var strQty = this.tbPumQty.Text; | ||||
|             var strPrice = this.tbPumPrice.Text; | ||||
|  | ||||
|             int qty = 0; | ||||
|             double price = 0; | ||||
|             if (strQty.IsNumeric()) qty = int.Parse(strQty); | ||||
|             if (strPrice.IsNumeric()) price = double.Parse(strPrice); | ||||
|             double amt = price * qty; | ||||
|             tbPumAmt.Text = amt.ToString("N0"); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         private void linkLabel7_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) | ||||
|         { | ||||
|             //lov 프로젝트 | ||||
|             Lov_Project("", true); | ||||
|         } | ||||
|  | ||||
|         void tbProject_Leave(object sender, EventArgs e) | ||||
|         { | ||||
|             //커서를 빠져나갈떄 사용자가 이름만 변경했다면 선택 idx를 제거해준다. | ||||
|             var tb = sender as TextBox; | ||||
|             if (tb.Text == "") tbProjectIndex.Text = "-1"; | ||||
|             else if (tb.Text != tb.Tag.ToString()) tbProjectIndex.Text = "-1"; | ||||
|         } | ||||
|  | ||||
|         void tbPumName_Leave(object sender, EventArgs e) | ||||
|         { | ||||
|             //커서를 빠져나갈떄 사용자가 이름만 변경했다면 선택 idx를 제거해준다. | ||||
|             var tb = sender as TextBox; | ||||
|             if (tb.Text == "") tbPumIDX.Text = "-1"; | ||||
|             else if (tb.Text != tb.Tag.ToString()) tbPumIDX.Text = "-1"; | ||||
|             if(tbPumIDX.Text =="-1") | ||||
|             { | ||||
|                 tbPumModel.Enabled = true; | ||||
|               //  tbPumUnit.Enabled = true; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 chikyun.kim
					chikyun.kim