/// <summary> /// 窗体加载事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SalesLibrary_Load(object sender, EventArgs e) { txtDelivery.Text = showCode; lblcCusName.Text = cCusName; Clear(); string errMsg; try { //显示等待 Cursor.Current = Cursors.WaitCursor; dispatchList = new BLL.Consignment().Load(cDLCode, out errMsg); if (dispatchList != null) { //把销售发货对象转换成销售出库对象 rdRecord = EntityConvert.ConvertToRdrecord(dispatchList); btnSource.Enabled = true; txtBarcode.Focus(); } else { MessageBox.Show(errMsg); } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { Cursor.Current = Cursors.Default; } }
/// <summary> /// 输入数量后回车 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void txtCount_KeyPress(object sender, KeyPressEventArgs e) { string strCount = txtCount.Text.Trim(); if (e.KeyChar == (char)Keys.Enter && !string.IsNullOrEmpty(strCount)) { //判断数量是否正确 double quantity = Cast.ToDouble(strCount); if (quantity == 0) { MessageBox.Show("请输入正确的数量!"); txtCount.SelectAll(); txtCount.Focus(); return; } //判断是发货单还是退货单breturnflag if (dispatchList.bReturnFlag)//退货,数量不能为正 { if (quantity > 0) { MessageBox.Show("退货数量不能为正!"); txtCount.SelectAll(); txtCount.Focus(); return; } } else //发货,数量不能为负 { if (quantity < 0) { MessageBox.Show("发货数量不能为负!"); txtCount.SelectAll(); txtCount.Focus(); return; } } //如何录入数量大于订货数量-累计发货数量-已扫描数量,则返回 if (Math.Abs(quantity) > Math.Abs(dispatchLists.iQuantity) - Math.Abs(dispatchLists.fOutQuantity) - Math.Abs(dispatchLists.iScanQuantity)) { MessageBox.Show("输入数量大于应发货数量"); txtCount.SelectAll(); txtCount.Focus(); return; } //判断已扫数据中是否存在(存货编号、批次) RdRecords tempRdRecords = rdRecord.List.Find(delegate(RdRecords temp) { return(temp.cInvCode.Equals(barcode[0]) && temp.cBatch.Equals(barcode[1])); }); ///不存在 if (tempRdRecords == null) { ///累加扫描数量 dispatchLists.iScanQuantity += quantity; tempRdRecords = EntityConvert.ConvertToRdrecords(dispatchLists); tempRdRecords.iScanQuantity = quantity; tempRdRecords.iUnitCost = dispatchLists.iTaxUnitPrice; //原币含税单价 tempRdRecords.iPrice = tempRdRecords.iScanQuantity * tempRdRecords.iUnitCost; //原币价税合计 tempRdRecords.SerialList.Add(barcode[2]); //存储扫描的序列号 rdRecord.List.Add(tempRdRecords); btnDone.Enabled = true; btnSubmit.Enabled = true; } else { ///累加扫描数量 dispatchLists.iScanQuantity += quantity; tempRdRecords.iScanQuantity += quantity; tempRdRecords.iPrice = tempRdRecords.iScanQuantity * tempRdRecords.iUnitCost; //原币价税合计 tempRdRecords.SerialList.Add(barcode[2]); //存储扫描的序列号 } Clear();//清空数据 txtBarcode.Focus(); } }