Beispiel #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;
                }
            }
        }
Beispiel #2
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
        }
        //Nhấn Enter để thêm batch mới
        private void TxtScanItem_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar.ToString() == "\r")
            {
                string matnr = txtScanItem.Text;
                int    plnum = int.Parse(txtPlanNumber.Text);
                txtScanItem.Clear();

                try
                {
                    string          query   = "select * from PlannedOrderDetail where plnum = " + txtPlanNumber.Text + " and matnr = '" + matnr + "'";
                    DataTable       dt      = DataProvider.GetList(query, null, false);
                    List <Itemcode> lstItem = ItemCodeBusiness.GetITemList(matnr);
                    //list kiểm tra các Detail có sẵn trong listDetail của plan
                    List <Detail> lstDetailCheck = new List <Detail>();

                    foreach (DataRow row in dt.Rows)
                    {
                        Detail objDetail = new Detail();
                        objDetail.plnum       = row["plnum"].ToString();
                        objDetail.matnr       = row["matnr"].ToString();
                        objDetail.maktx       = row["maktx"].ToString();
                        objDetail.erfmg       = double.Parse(row["erfmg"].ToString());
                        objDetail.count       = double.Parse(row["count"].ToString());
                        objDetail.erfme       = row["erfme"].ToString();
                        objDetail.plwrk       = row["plwrk"].ToString();
                        objDetail.lgpro       = row["lgpro"].ToString();
                        objDetail.charg       = row["charg"].ToString();
                        objDetail.posnr       = int.Parse(row["posnr"].ToString());
                        objDetail.dateCreated = DateTime.Parse(row["dateCreated"].ToString());
                        objDetail.dateEdited  = DateTime.Parse(row["dateEdited"].ToString());
                        objDetail.status      = Boolean.Parse(row["status"].ToString());

                        lstDetailCheck.Add(objDetail);
                    }

                    //k tồn tại item cần tìm trên api
                    if (lstItem.Count == 0)
                    {
                        txtScanItem.BackColor = Color.OrangeRed;
                        MessageBox.Show("Không tồn tại Item mà bạn vừa nhập!", "Thông báo!");
                        txtScanItem.BackColor = Color.White;
                    }
                    //đã tồn tại item này trên api
                    else
                    {
                        #region code Cũ
                        //kiểm tra nó đã tồn tại trong lstPlanDetail của Plan hay chưa
                        //List<Detail> lstDetail = DetailBusiness.GetListDetailFromPlnum(plnum);
                        //int count = 0;
                        //foreach(Detail item in lstDetail)
                        //{
                        //    if(item.matnr==matnr)
                        //    {
                        //        count++;
                        //    }
                        //}
                        //Nếu chưa tồn tại item này trong lstDetail
                        #endregion
                        if (lstDetailCheck.Count == 0)
                        {
                            txtScanItem.BackColor = Color.OrangeRed;
                            MessageBox.Show("Item này không tồn tại trong planned order này!", "Thông báo!");
                            txtScanItem.BackColor = Color.White;
                        }
                        //Nếu đã tồn tại: lstDetailCheck > 0
                        else
                        {
                            txtScanItem.BackColor = Color.Cyan;
                            frmChooseBatch f1 = new frmChooseBatch(matnr, txtStog.Text, 0, plnum, txtStog.Text);
                            f1.ShowDialog();
                            txtScanItem.BackColor = Color.White;
                        }
                    }
                }
                catch (Exception ex)
                {
                    //throw ex;
                    MessageBox.Show(ex.Message, "Thông báo");
                    return;
                }
                ShowInfo(plnum);
                #region code cũ

                /*
                 * Detail objDetail = DetailBusiness.GetPlannedOrderDetailFromMatnr(matnr);
                 *  if (objDetail.plnum == null)
                 *  {
                 *      if (MessageBox.Show("Không tìm thấy SP ở Planned Order này, bạn có muốn tiếp tục không", "Thông báo!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                 *      {
                 *          frmChooseBatch f = new frmChooseBatch(matnr, txtStog.Text, 1);
                 *          f.ShowDialog();
                 *      };
                 *  }
                 *  else
                 *  {
                 *      List<Detail> lstPlannedOrderDetail = DetailBusiness.GetListPlannedOrderDetail(plnum);
                 *      int count = 0;
                 *      foreach (Detail item in lstPlannedOrderDetail)
                 *      {
                 *          if(item.matnr == matnr)
                 *          {
                 *              count++;
                 *          }
                 *      }
                 *      if(count==0)
                 *      {
                 *          if (MessageBox.Show("Bạn có thực sự muốn thoát?", "Thong bao!", MessageBoxButtons.OKCancel) != System.Windows.Forms.DialogResult.OK)
                 *          {
                 *              //Thêm mới một Detail
                 *          }
                 *      }
                 *      else
                 *      {
                 *          frmChooseBatch f = new frmChooseBatch(matnr, txtStog.Text,0);
                 *          f.ShowDialog();
                 *      }
                 *  }
                 */

                //
                //int plnum = int.Parse(PlannedOrderDetailBusiness.GetPlannedOrderDetailFromMatnr(matnr).plnum.ToString());
                //List<Detail> lstDistincPlannedOrderDetail = new List<Detail>();
                //int count = 0;
                //foreach (Detail item in lstPlannedOrderDetail)
                //{
                //    foreach (Detail item1 in lstPlannedOrderDetail)
                //    {
                //        if (item1.matnr == item.matnr)
                //        {
                //            count++;
                //            if (count == 1)
                //            {
                //                lstDistincPlannedOrderDetail.Add(item1);
                //            }
                //        }
                //    }
                //}
                //count = 0;
                //foreach (Detail item in lstDistincPlannedOrderDetail)
                //{
                //    if (item.matnr == matnr)
                //    {

                //    }
                //    else
                //    {
                //        //MessageBoxButtons.YesNo
                //    }
                //}
                //ShowInfo(plnum);
                #endregion
            }
        }