Exemplo n.º 1
0
        private void btSave_Click(object sender, EventArgs e)
        {
            try
            {
                // 1.构建销售订单表
                // 1.1 销售订单号
                salesinfor.BillCode = txSalesNunber.Text;        //txPurchaseNumber.Text;
                // 1.2 客户编号编号
                salesinfor.CustomerCode = cbCustomerNumber.Text; //cbSupplierNumber.Text;
                // 1.3 接单员工号
                salesinfor.SalesPersonCode = cbEmployeeNumber.Text;
                // 1.4 下单日期
                salesinfor.BillDate = dateOrderTime.Value;

                // 1.6 订单金额
                salesinfor.OrderTotalPayment = Convert.ToSingle(txTotalPay.Text);
                // 1.7订单状态
                salesinfor.Status = "待出库";

                // 2.构建采购订单明细表
                // 2.1 检查每条明细数据是否合格
                for (int i = 0; i < dgvSalesDetailList.RowCount - 1; i++)
                {
                    if (Convert.ToInt32(dgvSalesDetailList[4, i].Value) <= 0)
                    {
                        MessageBox.Show("第 " + Convert.ToString(i) + " 条明细数量错误!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    if (Convert.ToSingle(dgvSalesDetailList[5, i].Value) <= 0)
                    {
                        MessageBox.Show("第 " + Convert.ToString(i) + " 条明细单价错误!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                }
                // 2.2
                DataSet dsSalesDetail = baseinfo.GetAllBill("tb_sales_details");
                int     rowCount      = dsSalesDetail.Tables[0].Rows.Count;
                for (int i = 0; i < dgvSalesDetailList.RowCount - 1; i++)
                {
                    // 2.2.0 自动增长明细编号
                    // 2.2.2 明细编号
                    salesinfor.orderDetaildCode = Convert.ToString(700000001 + rowCount + i);
                    // 2.2.3 采购订单号
                    salesinfor.BillCode = txSalesNunber.Text;//txPurchaseNumber.Text;
                    // 2.2.4 商品编号
                    salesinfor.goodsCode = cbGoodsNumber.Text;
                    // 2.2.5 商品数量
                    salesinfor.Qty = Convert.ToSingle(dgvSalesDetailList[4, i].Value);
                    // 2.2.6 商品单价
                    salesinfor.goodsPrice = Convert.ToSingle(dgvSalesDetailList[5, i].Value);
                    // 2.2.7 商品单位
                    salesinfor.goodsUnit = Convert.ToString(dgvSalesDetailList[3, i].Value);
                    // 2.2.8 保存明细表
                    baseinfo.AddTableSalesDetail(salesinfor, "tb_sales_details");
                    // 2.2.9 增加明细表 row 数,在缓存中
                    rowCount += i;
                }
                // 3.保存采购订单
                baseinfo.AddTableSales(salesinfor, "tb_sales");
                MessageBox.Show("销售单--过账成功!", "成功提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (System.Exception ex)
            {
                MessageBox.Show("非法数据!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            this.Close();
        }