示例#1
0
        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;
                }
            }
        }
示例#2
0
        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;
        }
示例#5
0
        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();
                //}
            }
        }
示例#6
0
        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();
        }
示例#7
0
        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;
            }
        }