Пример #1
0
        public void CaseDetailEditHandler()
        {
            DataTable dt = (DataTable)dgCaseDetailList.DataSource;

            if (dt != null && dt.Rows.Count > 0)
            {
                hkCaseDetailMgr.Stop();
                CaseDetailMgrEdit editFrm = new CaseDetailMgrEdit(dt.Rows[dgCaseDetailList.CurrentRowIndex].ItemArray[1].ToString(),
                                                                  dt.Rows[dgCaseDetailList.CurrentRowIndex].ItemArray[2].ToString(), dt.Rows[dgCaseDetailList.CurrentRowIndex].ItemArray[3].ToString(),
                                                                  dt.Rows[dgCaseDetailList.CurrentRowIndex].ItemArray[4].ToString(), dt.Rows[dgCaseDetailList.CurrentRowIndex].ItemArray[5].ToString(),
                                                                  this.caseNumberID, true);
                editFrm.GetCaseDetailEditDelegate += new CaseDetailMgrEdit.GetCaseDetailEdit(editFrm_GetCaseDetailEditDelegate);
                editFrm.Show();
            }
        }
Пример #2
0
        public void AddUpdateCaseDetail(string barcode)
        {
            try
            {
                string sql = string.Empty;
                List <SQLiteParameter> parameters = new List <SQLiteParameter>();
                //国际商品码
                sql        = @"select * from FromERPDetail where BoxBarcode=@BoxBarcode";
                parameters = new List <SQLiteParameter>()
                {
                    new SQLiteParameter("@BoxBarcode", barcode)
                };
                //处理Code128C码奇数位前面补零的问题
                sql += "  or BoxBarcode=@FormatBoxBarcode ";
                parameters.Add(new SQLiteParameter("@FormatBoxBarcode", barcode.Substring(1)));

                DataTable partsDt = db.ExecuteDataTable(sql, parameters.ToArray());
                if (partsDt != null && partsDt.Rows.Count > 0)
                {
                    hkCaseDetailMgr.Stop();
                    CaseDetailMgrEdit editFrm = new CaseDetailMgrEdit(partsDt.Rows[0]["ProdName"].ToString(), partsDt.Rows[0]["Model"].ToString(),
                                                                      partsDt.Rows[0]["Num"].ToString(), partsDt.Rows[0]["NormNum"].ToString(), partsDt.Rows[0]["Barcode"].ToString(), this.caseNumberID, false);
                    editFrm.GetCaseDetailEditDelegate += new CaseDetailMgrEdit.GetCaseDetailEdit(editFrm_GetCaseDetailEditDelegate);
                    editFrm.Show();
                }
                else
                {
                    if (barcode.Contains("-"))
                    {
                        //件码-数量
                        string[] infoArray = barcode.Split(new char[] { '-' });
                        sql        = @"select * from FromERPDetail where Barcode=@Barcode";
                        parameters = new List <SQLiteParameter>()
                        {
                            new SQLiteParameter("@Barcode", infoArray[0])
                        };
                        //处理Code128C码奇数位前面补零的问题
                        sql += "  or Barcode=@FormatBarcode ";
                        parameters.Add(new SQLiteParameter("@FormatBarcode", infoArray[0].Substring(1)));

                        DataTable dtFirst = db.ExecuteDataTable(sql, parameters.ToArray());
                        if (dtFirst != null && dtFirst.Rows.Count > 0)
                        {
                            hkCaseDetailMgr.Stop();
                            CaseDetailMgrEdit editFrm = new CaseDetailMgrEdit(dtFirst.Rows[0]["ProdName"].ToString(), dtFirst.Rows[0]["Model"].ToString(),
                                                                              dtFirst.Rows[0]["Num"].ToString(), infoArray[1], dtFirst.Rows[0]["Barcode"].ToString(), this.caseNumberID, false);
                            editFrm.GetCaseDetailEditDelegate += new CaseDetailMgrEdit.GetCaseDetailEdit(editFrm_GetCaseDetailEditDelegate);
                            editFrm.Show();
                        }
                        else
                        {
                            msg.ShowMessage("该配件不在发货单中", 1);
                        }
                    }
                    else
                    {
                        //自编条码
                        sql        = @"select * from FromERPDetail where Barcode=@Barcode";
                        parameters = new List <SQLiteParameter>()
                        {
                            new SQLiteParameter("@Barcode", barcode)
                        };
                        //处理Code128C码奇数位前面补零的问题
                        sql += "  or Barcode=@FormatBarcode ";
                        parameters.Add(new SQLiteParameter("@FormatBarcode", barcode.Substring(1)));

                        DataTable dtSecond = db.ExecuteDataTable(sql, parameters.ToArray());
                        if (dtSecond != null && dtSecond.Rows.Count > 0)
                        {
                            hkCaseDetailMgr.Stop();
                            if (dtSecond.Rows[0]["bJianMaInBox"].ToString().Equals("True"))
                            {
                                CaseDetailMgrEdit editFrm = new CaseDetailMgrEdit(dtSecond.Rows[0]["ProdName"].ToString(), dtSecond.Rows[0]["Model"].ToString(),
                                                                                  dtSecond.Rows[0]["Num"].ToString(), dtSecond.Rows[0]["NormNum"].ToString(), dtSecond.Rows[0]["Barcode"].ToString(), this.caseNumberID, false);
                                editFrm.GetCaseDetailEditDelegate += new CaseDetailMgrEdit.GetCaseDetailEdit(editFrm_GetCaseDetailEditDelegate);
                                editFrm.Show();
                            }
                            else
                            {
                                CaseDetailMgrEdit editFrm = new CaseDetailMgrEdit(dtSecond.Rows[0]["ProdName"].ToString(), dtSecond.Rows[0]["Model"].ToString(),
                                                                                  dtSecond.Rows[0]["Num"].ToString(), "1", dtSecond.Rows[0]["Barcode"].ToString(), this.caseNumberID, false);
                                editFrm.GetCaseDetailEditDelegate += new CaseDetailMgrEdit.GetCaseDetailEdit(editFrm_GetCaseDetailEditDelegate);
                                editFrm.Show();
                            }
                        }
                        else
                        {
                            msg.ShowMessage("该配件不在发货单中", 1);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }