/// <summary> /// 输入数量后清空相应的数据 /// </summary> private void Clear() { dd = null; lblInvName.Text = ""; lblInvStd.Text = ""; lblProAddress.Text = ""; lblEnterprise.Text = ""; lblProDate.Text = ""; lblValidDate.Text = ""; lblcBatch.Text = ""; txtCount.Text = ""; txtCount.Enabled = false; txtLable.Text = ""; lblScanedNum.Text = ""; txtCPosition.Text = ""; //判断是否货位管理 if (Bwhpos) { txtCPosition.Focus(); } else { txtLable.Focus(); } //默认为二维码 IsQR = true; //清空批次数据 cmbCBatch.DataSource = null; }
private void btnDelete_Click(object sender, EventArgs e) { try { if (ls.OperateDetails.Count < 1) { MessageBox.Show("没有操作的数据!"); return; } if (MessageBox.Show("确定要删除吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { int rindex = dataGrid1.CurrentRowIndex; //已扫描数量 decimal sub = ls.OperateDetails[rindex].inewquantity; string cinvcode = ls.OperateDetails[rindex].cinvcode; string cbatch = ls.OperateDetails[rindex].cbatch; dataGrid1.DataSource = null; ls.OperateDetails.RemoveAt(rindex);//删除操作数据 dataGrid1.DataSource = ls.OperateDetails; //查询时同时根据存货编码与批次 SaleOutRedDetail dd = ls.U8Details.Find((delegate(SaleOutRedDetail tdd) { return(tdd.cinvcode.Equals(cinvcode) && tdd.cbatch.Equals(cbatch)); })); dd.inewquantity -= sub; } } catch (Exception er) { MessageBox.Show(er.Message); } }
/// <summary> /// 若为一维码,批次选择改变事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmbCBatch_SelectedIndexChangeed(object sender, EventArgs e) { //如果数据源为空直接返回 if (cmbCBatch.DataSource == null) { return; } //获取选择的对象 dd = cmbCBatch.SelectedItem as SaleOutRedDetail; lblInvName.Text = dd.cinvname; lblInvStd.Text = dd.cinvstd; lblProAddress.Text = dd.cdefine22; lblEnterprise.Text = dd.cinvdefine1; lblScanedNum.Text = dd.inewquantity.ToString("F2"); //lblcBatch.Text = dd.cbatch; lblProDate.Text = Convert.ToDateTime(dd.dmadedate).ToString("yyyy-MM-dd"); lblValidDate.Text = Convert.ToDateTime(dd.dvdate).AddDays(-1).ToString("yyyy-MM-dd"); txtCount.Enabled = true; txtCount.Focus(); }
private void txtCount_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13 && txtCount.Text.Length > 0) { if (txtCount.Text.Trim() == "") { MessageBox.Show("未输入数量!"); txtCount.SelectAll(); txtCount.Focus(); return; } if (!isNumeric(txtCount.Text)) { MessageBox.Show("请输入数字!"); txtCount.SelectAll(); txtCount.Focus(); return; } if (Convert.ToDecimal(txtCount.Text) <= 0) { MessageBox.Show("请输入正确的数量!"); txtCount.SelectAll(); txtCount.Focus(); return; } //仓库、货位 string cwhcode = (cmbWarehouse.SelectedItem as Warehouse).cwhcode; string cposition = txtCPosition.Text.Trim().ToUpper(); SaleOutRedDetail ddtmp = null; //首先判断是否有货位管理 if (Bwhpos) { //判断同货位、存货编码、批次的是否存在 ddtmp = saleoutredlist.OperateDetails.Find(delegate(SaleOutRedDetail tdd) { return(tdd.cinvcode.Equals(dd.cinvcode) && tdd.cposition.Equals(cposition) && tdd.cbatch.Equals(dd.cbatch)); }); } else { //判断存货编码、批次的是否存在 ddtmp = saleoutredlist.OperateDetails.Find(delegate(SaleOutRedDetail tdd) { return(tdd.cinvcode.Equals(dd.cinvcode) && tdd.cbatch.Equals(dd.cbatch)); }); } if (ddtmp == null) { ddtmp = dd.CreateAttriveDetail(); ddtmp.cposition = cposition; decimal qty = Convert.ToDecimal(txtCount.Text); if (qty <= ddtmp.iquantity && qty <= dd.iquantity - dd.inewquantity) { ddtmp.inewquantity = qty; dd.inewquantity += qty;//来源单据中的扫描数量 saleoutredlist.OperateDetails.Add(ddtmp); btnDone.Enabled = true; btnSubmit.Enabled = true; Clear(); //重新刷新仓库 //cmbWarehouse_SelectedIndexChanged(sender, e); } else { MessageBox.Show("输入数量大于单据数量"); txtCount.SelectAll(); txtCount.Focus(); } } else { decimal qty = Convert.ToDecimal(txtCount.Text); if (qty <= ddtmp.iquantity && qty <= dd.iquantity - dd.inewquantity)//分多次扫描 { ddtmp.inewquantity += qty; dd.inewquantity += qty; Clear(); //重新刷新仓库 //cmbWarehouse_SelectedIndexChanged(sender, e); } else { MessageBox.Show("输入数量大于单据数量"); txtCount.SelectAll(); txtCount.Focus(); } } } }
/// <summary> /// 扫描成品标签 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void txtLable_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13 && txtLable.Text.Length > 0) { try { //首先判断扫描的是一维条码还是二维条码,条件是否包含@ string strBarcode = txtLable.Text.Trim(); string[] barcode = new string[7] { "", "", "", "", "", "", "" }; if (strBarcode.IndexOf('@') == -1)//没有找到@,说明该条码是一维条码 { string errMsg = string.Empty; string cInvCode = string.Empty;//存货编码 //根据一维条码查询存货编码 bool flag = Common.GetCInvCode(strBarcode, out cInvCode, out errMsg); if (!flag) { MessageBox.Show("没有找到对应的存货编码!" + errMsg); return; } barcode[2] = cInvCode; IsQR = false; } else //二维码 { barcode = strBarcode.Split('@'); ///根据20121109日讨论结果:以69码为主,根据69码查询对应的存货编码 string errMsg = string.Empty; string cInvCode = string.Empty;//存货编码 //根据一维条码查询存货编码 bool flag = Common.GetCInvCode(barcode[0], out cInvCode, out errMsg); if (!flag) { MessageBox.Show("没有找到对应的存货编码!" + errMsg); return; } barcode[2] = cInvCode; IsQR = true; } //dd = saleoutredlist.U8Details.Find(delegate(SaleOutRedDetail tdd) { return tdd.cinvcode.Equals(barcode[2]); }); //if (dd == null) //{ // MessageBox.Show("条码错误:存货编码不在订单中"); // txtLable.SelectAll(); // txtLable.Focus(); // txtCount.Enabled = false; // return; //} ///如果是二维码 if (IsQR) { //按存货编码和批次查询 dd = saleoutredlist.U8Details.Find(delegate(SaleOutRedDetail tdd) { return(tdd.cinvcode.Equals(barcode[2]) && tdd.cbatch.Equals(barcode[3])); }); if (dd == null) { MessageBox.Show("条码错误:存货编码不在订单中"); return; } lblInvName.Text = dd.cinvname; lblInvStd.Text = dd.cinvstd; lblProAddress.Text = dd.cdefine22; lblEnterprise.Text = dd.cinvdefine1; lblcBatch.Text = dd.cbatch; lblScanedNum.Text = dd.inewquantity.ToString("F2"); lblProDate.Text = Convert.ToDateTime(dd.dmadedate).ToString("yyyy-MM-dd"); //dd.dmadedate.Substring(0, 10); lblValidDate.Text = Convert.ToDateTime(dd.dvdate).AddDays(-1).ToString("yyyy-MM-dd"); // dd.dvdate.Substring(0, 10); txtCount.Text = dd.iquantity.ToString("F3"); txtCount.Enabled = true; txtCount.Focus(); } //如果是一维码 else { //只按存货编码查询 dd = saleoutredlist.U8Details.Find(delegate(SaleOutRedDetail tdd) { return(tdd.cinvcode.Equals(barcode[2])); }); if (dd == null) { MessageBox.Show("条码错误:存货编码不在订单中"); return; } //然后查询该存货编码的所有批次绑定到cmbCbatch中 var v = from t in saleoutredlist.U8Details where t.cinvcode == dd.cinvcode select t; cmbCBatch.DataSource = new BindingSource(v, null); cmbCBatch.DisplayMember = "cbatch"; cmbCBatch.ValueMember = "cbatch"; } } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
public static bool VerifyGSPBack(string cchkcode, out SaleOutRedList redlist, out string errMsg) { redlist = null; errMsg = ""; try { Common co = Common.GetInstance(); U8Business.Service.SaleOutRedList list = null; int rt = co.Service.VerifyGSPBack(cchkcode, Common.CurrentUser.ConnectionString, out list, out errMsg); if (errMsg != "" || rt != 0) { return(false); } else { //表头 redlist = new SaleOutRedList(); redlist.cbustype = list.cbustype; redlist.cbuscode = list.cbuscode; redlist.cdepcode = list.cdepcode; redlist.cpersoncode = list.cpersoncode; redlist.cstcode = list.cstcode; redlist.ccuscode = list.ccuscode; redlist.cdlid = list.cdlid; redlist.cchkcode = list.cchkcode; redlist.cchkperson = list.cchkperson; redlist.dchkdate = list.dchkdate; redlist.cmemo = list.cmemo; redlist.ccusname = list.ccusname; //表体 redlist.U8Details = new List <SaleOutRedDetail>(); redlist.OperateDetails = new List <SaleOutRedDetail>(); for (int i = 0; i < list.U8Details.Length; i++) { SaleOutRedDetail detail = new SaleOutRedDetail(); detail.cinvcode = list.U8Details[i].cinvcode; detail.cinvname = list.U8Details[i].cinvname; detail.cwhcode = list.U8Details[i].cwhcode; detail.cinvstd = list.U8Details[i].cinvstd; detail.cbatch = list.U8Details[i].cbatch; detail.dvdate = list.U8Details[i].dvdate; detail.dmadedate = list.U8Details[i].dmadedate; detail.cExpirationdate = list.U8Details[i].cExpirationdate; detail.imassdate = list.U8Details[i].imassdate; detail.iunitcost = list.U8Details[i].iunitcost; detail.iprice = list.U8Details[i].iprice; detail.iquantity = list.U8Details[i].iquantity; detail.cdefine22 = list.U8Details[i].cdefine22; detail.icheckids = list.U8Details[i].icheckids; detail.idlsid = list.U8Details[i].idlsid; detail.cinvdefine1 = list.U8Details[i].cinvdefine1; detail.cinvm_unit = list.U8Details[i].cinvm_unit; detail.ccusname = list.U8Details[i].ccusname; redlist.U8Details.Add(detail); } return(true); } } catch (Exception ex) { return(false); } }