Exemplo n.º 1
0
        private void btSave_Click(object sender, EventArgs e)
        {
            try
            {
                // 1.构建采购订单表
                // 1.1 采购订单号
                purchaseBillinfo.BillCode = txPurchaseNumber.Text;
                // 1.2 供应商编号
                purchaseBillinfo.SupplierCode = cbSupplierNumber.Text;
                // 1.3 采购员工号
                purchaseBillinfo.BuyerCode = cbEmployeeNumber.Text;
                // 1.4 下单日期
                purchaseBillinfo.BillDate = dateOrder.Value;
                // 1.5 要货日期
                purchaseBillinfo.DeadLine = dateReceive.Value;
                // 1.6 订单金额
                purchaseBillinfo.TotalPayment = Convert.ToSingle(txTotalPay.Text);
                // 1.7订单状态
                purchaseBillinfo.Status = "待入库";

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

                    if (Convert.ToSingle(dtPurchaseDetail[5, i].Value) <= 0)
                    {
                        MessageBox.Show("第 " + Convert.ToString(i) + " 条明细单价错误!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                }
                // 2.2
                DataSet dsPurchaseDetail = baseinfo.GetAllBill("tb_purchase_details");
                int     rowCount         = dsPurchaseDetail.Tables[0].Rows.Count;
                for (int i = 0; i < dtPurchaseDetail.RowCount - 1; i++)
                {
                    // 2.2.0 自动增长明细编号
                    //// 2.2.1 明细流水号
                    //purchaseBillinfo.SerialNumber = Convert.ToString(rowCount + i);
                    // 2.2.2 明细编号
                    purchaseBillinfo.PurchaseDetaildCode = Convert.ToString(700000001 + rowCount + i);
                    // 2.2.3 采购订单号
                    purchaseBillinfo.BillCode = txPurchaseNumber.Text;
                    // 2.2.4 商品编号
                    purchaseBillinfo.goodsCode = cbGoodsNumber.Text;
                    // 2.2.5 商品数量
                    purchaseBillinfo.Qty = Convert.ToSingle(dtPurchaseDetail[4, i].Value);
                    // 2.2.6 商品单价
                    purchaseBillinfo.goodsPrice = Convert.ToSingle(dtPurchaseDetail[5, i].Value);
                    // 2.2.7 商品单位
                    purchaseBillinfo.goodsUnit = Convert.ToString(dtPurchaseDetail[3, i].Value);
                    // 2.2.8 保存明细表
                    baseinfo.AddTablePurchaseDetail(purchaseBillinfo, "tb_purchase_details");

                    // 2.2.9 增加明细表 row 数,在缓存中
                    rowCount += i;
                }
                // 3.保存采购订单
                baseinfo.AddTablePurchase(purchaseBillinfo, "tb_purchase");
                MessageBox.Show("采购单--过账成功!", "成功提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (System.Exception ex)
            {
                MessageBox.Show("非法数据!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            this.Close();
        }