public frmChooseBatch(string matnr, string lgort, int loai, int plnum, string lg) { if (loai == 0) //0 tương ứng với item đã có trong plannedOrder { //Detail obj = DetailBusiness.GetDetail(matnr, plnum); string maktx = DetailBusiness.GetName(matnr, plnum); InitializeComponent(); ShowBatchListToCombobox(plnum.ToString(), matnr); ShowPlannedOrderDetailFromMatnr(matnr, maktx); } else//loai = 1 item chưa có trong plan, thêm mới { List <Itemcode> lstItem = ItemCodeBusiness.GetITemList(matnr); InitializeComponent(); ShowBatchListToCombobox(plnum.ToString(), matnr); ShowPlannedOrderDetailFromMatnr(matnr, lstItem[0].maktx); } this.AcceptButton = btnChooseBatch; this.CancelButton = btnCancel; //Hiển thị các thông tin cần thiết lblPlnum.Text = plnum.ToString(); lblLoai.Text = loai.ToString(); txtlg.Text = lg; nmItemCount.DecimalPlaces = 3; nmItemCount.Increment = 0.001M; nmItemCount.Value = decimal.Parse((DetailBusiness.GetDetail(matnr, plnum)).erfmg.ToString()); //List<String> lstErfme = new List<String>(); //lstErfme.Add("KG"); //lstErfme.Add("Meter"); //lstErfme.Add(""); //cboErfme.DataSource = lstErfme; //cboErfme.DropDownStyle = ComboBoxStyle.DropDownList; txtErfme.Text = (DetailBusiness.GetDetail(matnr, plnum)).erfme.ToString(); List <String> lstLgpro = new List <String>(); lstLgpro.Add("BULK"); lstLgpro.Add("FGWH"); lstLgpro.Add("RMSA"); cboLgpro.DataSource = lstLgpro; //cboLgpro.DropDownStyle = ComboBoxStyle.DropDownList; Detail objDetail = DetailBusiness.GetDetail(matnr, plnum); foreach (string item in lstLgpro) { if (item == objDetail.lgpro) { cboLgpro.SelectedItem = item; } } }
private void ShowDetail(int plnum, string matnr, int posnr, string lgort, string batch) { Detail objDetail = DetailBusiness.GetDetail(plnum, matnr, posnr); List <String> lstLgpro = new List <String>(); lstLgpro.Add("BULK"); lstLgpro.Add("FGWH"); lstLgpro.Add("RMSA"); cboLgpro.DataSource = lstLgpro; //cboLgpro.DropDownStyle = ComboBoxStyle.DropDownList; txtPlnum.Text = plnum.ToString(); txtMatnr.Text = matnr; txtMaktx.Text = objDetail.maktx; nmCount.Value = decimal.Parse(objDetail.count.ToString()); lblPosnr.Text = objDetail.posnr.ToString(); nmCount.DecimalPlaces = 3; nmCount.Increment = 0.001M; cboCharg.DataSource = BatchBusiness.GetBatchList2(plnum.ToString(), matnr); //cboCharg.DisplayMember = "Charg"; //cboCharg.ValueMember = "Charg"; //cboCharg.DropDownStyle = ComboBoxStyle.DropDownList; foreach (string item in lstLgpro) { if (item == objDetail.lgpro) { cboLgpro.SelectedItem = item; } } try { if (batch != null || batch != "") { cboCharg.SelectedValue = batch; } } catch (Exception ex) { batch = ""; } }
private void DeleteRow() { DialogResult dr = MessageBox.Show("Bạn có chắn chắn muốn xóa dòng này không ?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (dr == DialogResult.Yes) { int plnum = int.Parse(dtgPlannedOrderDetail.CurrentRow.Cells[0].Value.ToString()); string matnr = "" + dtgPlannedOrderDetail.CurrentRow.Cells[1].Value; int posnr = int.Parse(dtgPlannedOrderDetail.CurrentRow.Cells[9].Value.ToString()); bool ketQua = DetailBusiness.DeleteDetail(plnum, matnr, posnr); if (ketQua) { ShowInfo(plnum); } } }
public void ShowInfo(int plnum) { dtgPlannedOrderDetail.DataSource = DetailBusiness.GetListDetailFromPlnum(plnum); Plannde objPlannedOrder = PlanndeBusiness.GetPlannde(plnum); txtMaterial.Text = objPlannedOrder.matnr; txtOrderQuantitty.Text = objPlannedOrder.gsmng.ToString(); txtDocumentName.Text = objPlannedOrder.maktx.ToString(); txtPlanNumber.Text = objPlannedOrder.plnum.ToString();// txtStog.Text = objPlannedOrder.lgort; //dtgPlannedOrderDetail.Columns["plnum"].DisplayIndex = 0; //dtgPlannedOrderDetail.Columns["matnr"].DisplayIndex = 1; //dtgPlannedOrderDetail.Columns["maktx"].DisplayIndex = 2; //dtgPlannedOrderDetail.Columns["erfmg"].DisplayIndex = 3; //dtgPlannedOrderDetail.Columns["count"].DisplayIndex = 4; //dtgPlannedOrderDetail.Columns["erfme"].DisplayIndex = 5; //dtgPlannedOrderDetail.Columns["plwrk"].DisplayIndex = 6; //dtgPlannedOrderDetail.Columns["lgpro"].DisplayIndex = 7; //dtgPlannedOrderDetail.Columns["charg"].DisplayIndex = 8; //dtgPlannedOrderDetail.Columns["posnr"].DisplayIndex = 9; dtgPlannedOrderDetail.Columns["plnum"].HeaderText = "Planned order"; dtgPlannedOrderDetail.Columns["plnum"].Visible = false; dtgPlannedOrderDetail.Columns[1].HeaderText = "Mã sản phẩm con"; dtgPlannedOrderDetail.Columns[2].HeaderText = "Tên sản phẩm con"; dtgPlannedOrderDetail.Columns[3].HeaderText = "Số lượng ban đầu"; dtgPlannedOrderDetail.Columns[4].HeaderText = "SỐ LƯỢNG THỰC TẾ"; dtgPlannedOrderDetail.Columns[5].HeaderText = "Đơn vị tính"; dtgPlannedOrderDetail.Columns[6].HeaderText = "Plant"; dtgPlannedOrderDetail.Columns[7].HeaderText = "Kho"; dtgPlannedOrderDetail.Columns[8].HeaderText = "Số batch"; dtgPlannedOrderDetail.Columns[9].HeaderText = "Số thứ tự"; dtgPlannedOrderDetail.Columns["dateCreated"].Visible = false; dtgPlannedOrderDetail.Columns["dateEdited"].Visible = false; dtgPlannedOrderDetail.Columns["status"].Visible = false; }
private void EditDetail() { //2 trường hợp: //Nếu thay đổi mà trùng charg và trùng erfmg thì báo là đã tồn tại 1 detail như thế //Còn không thì thay đổi hàng này #region lấy thông tin của Detail cần sửa double count = (double)nmCount.Value; int plnum = int.Parse(txtPlnum.Text); string matnr = txtMatnr.Text; string charg = ""; int posnr = int.Parse(lblPosnr.Text); List <string> lstBatch = BatchBusiness.GetBatchList2(plnum.ToString(), matnr); if (lstBatch.Count == 0) { if (!String.IsNullOrEmpty(cboCharg.Text)) { MessageBox.Show("Không tồn tại batch tương ứng với Planned Order Detail này!", "Thông báo!"); return; } else { charg = ""; } } else { if (String.IsNullOrEmpty(cboCharg.Text)) { charg = ""; } else { int i = 0; foreach (string item in lstBatch) { if (item == cboCharg.Text) { i++; } } if (i == 0) { MessageBox.Show("Không tồn tại batch tương ứng với Planned Order Detail này!", "Thông báo!"); return; } else { charg = cboCharg.Text; } } } string lgpro = cboLgpro.SelectedItem.ToString(); Detail oldDetail = DetailBusiness.GetDetail(plnum, matnr, posnr); Detail newDetail = DetailBusiness.GetDetail(matnr, plnum, lgpro, charg); #endregion if (count == 0) { MessageBox.Show("So luong khong duoc bang 0!", "Thong bao!"); return; } else { /*Lấy ra 1 list các Detail trong danh sách có plnum, matnr, lgpro, charg có trong * gridview trùng với objDetail sắp được sửa ra */ #region layListDetailTrongGridViewGiongVoiNewDetail string query = "select * from dbo.PlannedOrderDetail where status = 1 and plnum = " + plnum + "" + " and matnr = '" + matnr + "' and lgpro = '" + lgpro + "' and charg = '" + charg + "'"; DataTable dt = DataProvider.GetList(query, null, false); List <Detail> lstDetailNew = new List <Detail>(); foreach (DataRow row in dt.Rows) { Detail obj = new Detail(row); lstDetailNew.Add(obj); } #endregion #region layListDetailKhongCoTrongGridViewGiongVoiNewDetail //lấy 1 list các Detail không có trong gridview string query1 = "select * from dbo.PlannedOrderDetail where status = 0 and plnum = " + plnum + "" + " and matnr = '" + matnr + "' and lgpro = '" + lgpro + "' and charg = '" + charg + "'"; DataTable dt1 = DataProvider.GetList(query1, null, false); List <Detail> lstDetailOld = new List <Detail>(); foreach (DataRow row in dt1.Rows) { Detail obj = new Detail(row); lstDetailOld.Add(obj); } #endregion if (newDetail.lgpro == oldDetail.lgpro && newDetail.charg == oldDetail.charg) { DetailBusiness.UpdateDetail(plnum, matnr, count, lgpro, charg, posnr); this.Close(); } else { if ((lstDetailNew.Count > 0 && newDetail.lgpro != oldDetail.lgpro && newDetail.charg == oldDetail.charg) || (lstDetailNew.Count > 0 && newDetail.lgpro == oldDetail.lgpro && newDetail.charg != oldDetail.charg) || (lstDetailNew.Count > 0 && newDetail.lgpro != oldDetail.lgpro && newDetail.charg != oldDetail.charg)) { MessageBox.Show("Đã tồn tại một item có cùng kho và số batch!", "Thông báo!"); } else if (lstDetailOld.Count > 0) { //Xoa OldDetail cần sửa string query2 = "delete from PlannedOrderDetail where plnum = " + plnum + " and matnr = '" + matnr + "' and posnr = " + posnr; //Cap nhat Detail bi trung trong list DetailOld DataProvider.Execute(query2, null, false); string query3 = "update dbo.PlannedOrderDetail set count = " + count + ", status = 1, posnr = " + posnr + " where plnum = " + plnum + " and matnr = '" + matnr + "' and lgpro = '" + lgpro + "' and charg = '" + charg + "'"; DataProvider.Execute(query3, null, false); this.Close(); } else { DetailBusiness.UpdateDetail(plnum, matnr, count, lgpro, charg, posnr); this.Close(); } } //Nếu lstDetailNew có nhiều hơn 0 phần tử chứng tỏ đã bị trùng với một Detail khác trong gridview //if ((lstDetailNew.Count > 0 && newDetail.lgpro != oldDetail.lgpro && newDetail.charg == oldDetail.charg) ||(lstDetailNew.Count > 0 && newDetail.lgpro == oldDetail.lgpro && newDetail.charg != oldDetail.charg) ||(lstDetailNew.Count > 0 && newDetail.lgpro != oldDetail.lgpro && newDetail.charg != oldDetail.charg)) //{ // MessageBox.Show("Đã tồn tại một item có cùng kho và số batch!", "Thông báo!"); //} //else //{ // if (lstDetailOld.Count > 0) // { // //Xoa OldDetail cần sửa // string query2 = "delete from PlannedOrderDetail where plnum = "+plnum+" and matnr = '"+matnr+"' and posnr = "+posnr; // //Cap nhat Detail bi trung trong list DetailOld // DataProvider.Execute(query2, null, false); // string query3 = "update dbo.PlannedOrderDetail set count = " + count + ", status = 1, posnr = "+posnr+" where plnum = " + plnum + " and matnr = '" + matnr + "' and lgpro = '" + lgpro + "' and charg = '" + charg + "' and status = 0"; // DataProvider.Execute(query3, null, false); // } // else // { // DetailBusiness.UpdateDetail(plnum, matnr, count, lgpro, charg, posnr); // } // this.Close(); //} } }
private void CheckPlan() { try { int plnum = int.Parse(txtDocument.Text); Plannde objPlan = PlanndeBusiness.GetPlannde(plnum); //Trường hợp nếu đã tồn tại plan này và đã post if (objPlan != null && objPlan.status == true) { string query = "update dbo.PlannedOrder set status = 0 where plnum =" + plnum; DataProvider.Execute(query, null, false); frmDocumentDetail f = new frmDocumentDetail(plnum, lblAccount.Text); txtDocument.Clear(); this.Hide(); f.ShowDialog(); this.Show(); } else { List <Plannde> lstPlan = PlanndeBusiness.GetListPlannedOrder(); int planCount = 0; foreach (Plannde item in lstPlan) { if (item.plnum == plnum.ToString()) { planCount++; } } if (planCount == 1) { LoadListPlannedOrder(); frmDocumentDetail f = new frmDocumentDetail(plnum, lblAccount.Text); txtDocument.Clear(); this.Hide(); f.ShowDialog(); this.Show(); } else { AccessToken objToken = DataProvider.GetTokenDictionary("*****@*****.**", "Wuvl@1234", ConfigurationManager.AppSettings["tokenUrl"].ToString()); string url = ConfigurationManager.AppSettings["get_planned_order"].ToString() + plnum; string jsonString = DataProvider.GetRESTDats(url, objToken.accessToken.ToString()); List <Plannde> lstPlannedOrder = new List <Plannde>(); lstPlannedOrder = JsonConvert.DeserializeObject <List <Plannde> >(jsonString); if (lstPlannedOrder.Count == 0) { txtDocument.BackColor = Color.OrangeRed; MessageBox.Show("K tồn tại Planned Order bạn muốn tìm!", "Thong bao!"); txtDocument.Clear(); txtDocument.BackColor = Color.White; } else { PlanndeBusiness.AddPlannedOrder(lstPlannedOrder[0]); var lstPlannedOrderDetail = lstPlannedOrder[0].detail.ToList(); foreach (Detail item in lstPlannedOrderDetail) { DetailBusiness.AddDetail(item, false); } LoadListPlannedOrder(); frmDocumentDetail f = new frmDocumentDetail(plnum, lblAccount.Text); txtDocument.Clear(); this.Hide(); f.ShowDialog(); this.Show(); } } } } catch (FormatException) { txtDocument.BackColor = Color.OrangeRed; MessageBox.Show("Bạn nhập sai mã plan number!", "Thông báo!"); txtDocument.Clear(); txtDocument.BackColor = Color.White; } LoadListPlannedOrder(); }
private void BtnChooseBatch_Click(object sender, EventArgs e) { //Neu da ton tai plannedOrderDetail + Batch do thi + them //Neu chua co batch do cho plannedOrderDetail do thi add 1 dong moi string matnr = txtMatnr.Text; List <Itemcode> lstItem = ItemCodeBusiness.GetITemList(matnr); string maktx = lstItem[0].maktx; int loai = int.Parse(lblLoai.Text); int plnum = int.Parse(lblPlnum.Text); double count = (double)nmItemCount.Value; string charg = ""; string erfme = txtErfme.Text; List <string> lstBatch = BatchBusiness.GetBatchList2(plnum.ToString(), matnr); if (lstBatch.Count == 0) { if (!String.IsNullOrEmpty(cboChooseBatch.Text)) { MessageBox.Show("Không tồn tại batch tương ứng với Planned Order Detail này!", "Thông báo!"); return; } else { charg = ""; } } else { if (String.IsNullOrEmpty(cboChooseBatch.Text)) { charg = ""; } else { int i = 0; foreach (string item in lstBatch) { if (item == cboChooseBatch.Text) { i++; } } if (i == 0) { MessageBox.Show("Không tồn tại batch tương ứng với Planned Order Detail này!", "Thông báo!"); return; } else { charg = cboChooseBatch.Text; } } } //Xử lý trường hợp nếu item không có batch ( ví dụ 1 số sản phẩm như chai lọ) //string lgort = (PlanndeBusiness.GetPlannedOrderFromPlnum(plnum)).lgort; string lgort = txtlg.Text; string lgpro = cboLgpro.SelectedItem.ToString(); int posnr = DetailBusiness.GetMaxPosnrFromMatnr(plnum); //Truong hop da ton tai matnr do trong list Detail //Them moi neu k trung batch, update neu trung batch //Kiểm tra xem batch đó có trong danh sách batch tương ứng với if (count == 0) { MessageBox.Show("So luong khong duoc bang 0!", "Thong bao!"); } else { if (loai == 0) { Detail objDetail = DetailBusiness.GetDetail(matnr, plnum, lgpro, charg); List <Detail> lstDetail = DetailBusiness.GetListDetailFromPlnum(plnum); #region code thừa //int i = 0; //foreach (Detail item in lstDetail) //{ // if (item.charg == charg && item.matnr == matnr) // { // i++; // } //} #endregion if (objDetail.charg == charg && objDetail.lgpro == lgpro) { //Neu da co thi update them erfmg DetailBusiness.UpdateCountForDetail(plnum, objDetail.count + count, matnr, charg, lgpro); } else { //if (cboErfme.SelectedItem == null) //{ // erfme = ""; //} //Neu chua co thi add them objDetail.plnum = plnum.ToString(); objDetail.matnr = matnr; objDetail.maktx = maktx; objDetail.charg = charg; objDetail.erfmg = objDetail.erfmg; objDetail.plwrk = PlanndeBusiness.GetPlannde(plnum).plwrk; objDetail.posnr = (posnr + 10); objDetail.erfme = erfme; objDetail.lgpro = lgpro; objDetail.count = count; DetailBusiness.AddDetail(objDetail); } } //Them moi 1 Detail else { //if (cboErfme.SelectedItem == null) //{ // erfme = ""; //} //else //{ Detail objDetail = new Detail(); objDetail.plnum = plnum.ToString(); objDetail.matnr = matnr; objDetail.maktx = maktx; objDetail.erfmg = 0; objDetail.plwrk = PlanndeBusiness.GetPlannde(plnum).plwrk; objDetail.lgpro = lgort; objDetail.charg = charg; objDetail.posnr = (posnr + 10); objDetail.erfme = erfme; objDetail.count = count; DetailBusiness.AddDetail(objDetail); //} } } this.Close(); #region code cũ /* * string matnr = txtMatnr.Text; * Detail objDetail = DetailBusiness.GetPlannedOrderDetailFromMatnr(matnr); * List<Detail> lstPlannedOrderDetail = DetailBusiness.GetListPlannedOrderDetail(int.Parse(objDetail.plnum)); * string charg = (cboChooseBatch.SelectedItem as Batch).charg; * Detail obj = DetailBusiness.GetPlannedOrderDetailFromMatnr(matnr); * float plannedOrderDetailCount = float.Parse(nmItemCount.Value.ToString()); * int count = 0; * foreach (Detail item in lstPlannedOrderDetail) * { * if (item.matnr == matnr && item.charg == charg) * { * count++; * } * } * if (count > 0) * { * DetailBusiness.UpdateErfmgForPlannedOrderDetail(plannedOrderDetailCount + obj.erfmg, matnr, charg); * } * else * { * obj.erfmg = plannedOrderDetailCount; * obj.charg = charg; * obj.posnr = (DetailBusiness.GetMaxPosnrFromMatnr(matnr) + 10).ToString(); * DetailBusiness.AddPlannedOrderDetail(obj); * } */ #endregion }
private void BtnPost_Click(object sender, EventArgs e) { #region oldCode //AccessToken objToken = DataProvider.GetTokenDictionary("*****@*****.**", "Wuvl@1234", @"http://ssm.unza.com.vn:88/token"); //string url = @"http://ssm.unza.com.vn:88/api/GET_PLANNED_ORDER?ZPLNUM=" + plnum; //string jsonString = DataProvider.GetRESTDats(url, objToken.accessToken.ToString()); //List<Plannde> lstPlannedOrder = new List<Plannde>(); //lstPlannedOrder = JsonConvert.DeserializeObject<List<Plannde>>(jsonString); //if (lstPlannedOrder.Count == 0) //{ // MessageBox.Show("K tồn tại Planned Order bạn muốn tìm!", "Thong bao!"); //} //else //{ // PlanndeBusiness.AddPlannedOrder(lstPlannedOrder[0]); // var lstPlannedOrderDetail = lstPlannedOrder[0].detail.ToList(); // foreach (Detail item in lstPlannedOrderDetail) // { // DetailBusiness.AddDetail(item); // } // LoadListPlannedOrder(); // frmDocumentDetail f = new frmDocumentDetail(plnum); // this.Hide(); // f.ShowDialog(); // this.Show(); //} #endregion string query = "select count(*) as soLuong from PlannedOrderDetail where plnum = " + txtPlanNumber.Text + " and status = 1"; DataTable dt = DataProvider.GetList(query, null, false); string soLuong = dt.Rows[0]["soLuong"].ToString(); string query1 = "select distinct count(matnr) as soLuong from PlannedOrderDetail where plnum = " + txtPlanNumber.Text; DataTable dt1 = DataProvider.GetList(query1, null, false); string soLuongGoc = dt1.Rows[0]["soLuong"].ToString(); if (MessageBox.Show("Số lượng hiện tại là " + soLuong + "/" + soLuongGoc + " \nBạn có chắc muốn gửi biểu mẫu này?", "Thông báo", MessageBoxButtons.OKCancel) == DialogResult.OK) { List <Pnl> lstDetail = new List <Pnl>(); foreach (DataGridViewRow row in dtgPlannedOrderDetail.Rows) { Pnl pn = new Pnl(); pn.plnum = row.Cells["plnum"].Value.ToString(); pn.posnr = row.Cells["posnr"].Value.ToString(); pn.charg = row.Cells["charg"].Value.ToString(); pn.idnrk = row.Cells["matnr"].Value.ToString(); pn.menge = float.Parse(row.Cells["count"].Value.ToString()); pn.matnr = txtMaterial.Text; lstDetail.Add(pn); } /* * get data cua dtgPlannedOrderDetail ra ojb plannerorder*/ string url = ConfigurationManager.AppSettings["put_planned_order"].ToString() + lblAccount.Text; AccessToken objToken = DataProvider.GetTokenDictionary("*****@*****.**", "Wuvl@1234", ConfigurationManager.AppSettings["tokenUrl"].ToString()); string jsonString = DataProvider.GetRESTDats3(url, objToken.accessToken.ToString(), lstDetail); if (jsonString == "\"ok\"") { DetailBusiness.PUTDetail(int.Parse(txtPlanNumber.Text)); PlanndeBusiness.PUTPlannde(int.Parse(txtPlanNumber.Text)); } //ShowInfo(int.Parse(txtPlanNumber.Text)); this.Close(); //load lại bảng planned Order } else { return; } }