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