protected void GridView3_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Delete")
        {
            string receipt_id = e.CommandArgument.ToString();

            PaymentAdapter        raa = new PaymentAdapter();
            PaymentRequestAdapter ida = new PaymentRequestAdapter();
            PaymentDepositAdapter da  = new PaymentDepositAdapter();

            try
            {
                DataSet ds = raa.getInDecreaseList(receipt_id);
                ida.updateHeadCheckStatus(ds);

                ds = raa.getDepositList(receipt_id);
                da.updateHeadCheckStatus(ds);



                raa.deleteToDone(receipt_id);
                raa.deleteReceipt(receipt_id);
                GridView3.SelectedIndex = -1;
                GridViewBind();

                Label1.Text = "删除成功";
            }
            catch (Exception ex)
            {
                Label1.Text = ex.Message;
            }
        }
    }
    private void GridViewBind()
    {
        PaymentRequestAdapter ida = new PaymentRequestAdapter();
        DataSet ds = ida.getUnCheckPaymentRequestLists();

        GridView1.DataSource = ds;
        GridView1.DataBind();
    }
    protected void GridView3_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Delete")
        {
            string[]                 args         = e.CommandArgument.ToString().Split(',');
            string                   receipt_id   = args[0];
            string                   receipt_type = args[1];
            PaymentAdapter           raa          = new PaymentAdapter();
            PaymentRequestAdapter    ida          = new PaymentRequestAdapter();
            PaymentDepositAdapter    da           = new PaymentDepositAdapter();
            PaymentInDecreaseAdapter pia          = new PaymentInDecreaseAdapter();
            try
            {
                DataSet ds = raa.getInDecreaseList(receipt_id);
                pia.updateHeadCheckStatus(ds);

                ds = raa.getDepositList(receipt_id);

                if (receipt_type == "B")
                {
                    da.updateHeadIsPayed(ds);
                }
                else
                {
                    da.updateHeadCheckStatus(ds);//更新定金单的check_status值;
                }
                ds = raa.getRequestList(receipt_id);
                ida.updateHeadCheckStatus(ds);

                raa.deleteToDone(receipt_id);
                raa.deleteReceipt(receipt_id);
                GridView3.SelectedIndex = -1;
                GridViewBind();

                Label1.Text = "删除成功";
            }
            catch (Exception ex)
            {
                Label1.Text = ex.Message;
            }
        }
    }
    protected void updateUser_Click(object sender, EventArgs e)
    {
        Label1.Text = "";
        T_PaymentReceiptHead head = new T_PaymentReceiptHead();

        head.CustomerName = txt_customer.Text;

        head.ReceiptId   = txt_recetpt_no.Text;
        head.ReceiptDate = DateTime.Parse(d_date.Text);
        head.ReceiptType = ddl_receipt_type.SelectedValue;
        //货款时供应商才从金蝶里读取
        if (head.ReceiptType == "A" || head.ReceiptType == "B")
        {
            if (!string.IsNullOrEmpty(head.CustomerName))
            {
                head.CustomerCode = getCusIDByName(head.CustomerName);
                if (string.IsNullOrEmpty(head.CustomerCode))
                {
                    Label1.Text = "输入的公司名称不对,请输入关键字然后从下拉框中选择!";
                    return;
                }
            }
        }
        head.AccountId = ddl_account.SelectedValue;
        if (!String.IsNullOrEmpty(txt_amount.Text) && Decimal.Parse(txt_amount.Text) > 0)
        {
            head.Amount = Decimal.Parse(txt_amount.Text);
        }
        else
        {
            Label1.Text = "该付款单金额不能为0。";
            return;
        }
        head.Currency = ddl_currency.SelectedValue;
        if (!string.IsNullOrEmpty(txt_receipt_charge.Text))
        {
            head.ReceiptCharge = Decimal.Parse(txt_receipt_charge.Text);
        }

        head.FPreparer    = Int32.Parse(ddl_preparer.SelectedValue);
        head.FChecker     = Int32.Parse(ddl_checker.SelectedValue);
        head.FCheckDate   = DateTime.Parse(check_date.Text);
        head.Note         = txt_note.Text;
        head.FCheckStatus = (int)2;
        head.AuditStatus  = 1;

        CommonAdapter ca = new CommonAdapter();
        List <T_PaymentReceiptList> lists = new List <T_PaymentReceiptList>();

        for (int i = 0; i < GridView1.Rows.Count; i++)
        {
            T_PaymentReceiptList list = new T_PaymentReceiptList();
            list.ReceiptId = head.ReceiptId;
            list.ReceiptNo = Int32.Parse((GridView1.Rows[i].Cells[0].FindControl("lbl_gno") as Label).Text);
            string fbillno = (GridView1.Rows[i].Cells[1].FindControl("txt_bill_no") as TextBox).Text;
            if (string.IsNullOrEmpty(fbillno))
            {
                continue;
            }
            list.FBillNo            = fbillno;
            list.FDate              = DateTime.Parse((GridView1.Rows[i].Cells[2].FindControl("lbl_fdate") as Label).Text);
            list.FPurchaseAmountFor = Decimal.Parse((GridView1.Rows[i].Cells[3].FindControl("lbl_amountfor") as Label).Text);
            list.FPayAmountFor      = Decimal.Parse((GridView1.Rows[i].Cells[4].FindControl("lbl_fpayamountfor") as Label).Text);
            list.FUnPayAmountFor    = Decimal.Parse((GridView1.Rows[i].Cells[5].FindControl("lbl_funpayamountfor") as Label).Text);
            string fcheckamountfor = (GridView1.Rows[i].Cells[6].FindControl("txt_fcheckamountfor") as TextBox).Text;
            if (string.IsNullOrEmpty(fcheckamountfor))
            {
                Label1.Text = "核销金额不能为空";
                return;
            }
            list.FCheckAmountFor = Decimal.Parse(fcheckamountfor);
            list.FCurrencyID     = ca.getIDByCurrency((GridView1.Rows[i].Cells[7].FindControl("lbl_fcurrencyid") as Label).Text);
            list.FNote           = (GridView1.Rows[i].Cells[8].FindControl("txt_note") as TextBox).Text;
            if (list.FUnPayAmountFor - list.FCheckAmountFor == 0)
            {
                list.FCheckStatus = 2;
            }
            else
            {
                list.FCheckStatus = 1;
                head.FCheckStatus = 1;
            }
            lists.Add(list);
        }
        for (int i = 0; i < GridView2.Rows.Count; i++)
        {
            T_PaymentReceiptList list = new T_PaymentReceiptList();
            list.ReceiptId = head.ReceiptId;

            list.ReceiptNo = GridView1.Rows.Count + Int32.Parse((GridView2.Rows[i].Cells[0].FindControl("lbl_gno") as Label).Text);
            string indecreaseno = (GridView2.Rows[i].Cells[1].FindControl("txt_bill_no") as TextBox).Text;
            if (string.IsNullOrEmpty(indecreaseno))
            {
                continue;
            }
            list.IndecreaseNo       = indecreaseno;
            list.FPurchaseAmountFor = Decimal.Parse((GridView2.Rows[i].Cells[3].FindControl("lbl_amount_all") as Label).Text);
            lists.Add(list);
        }

        List <T_PaymentReceiptList> listsFromDeposit = new List <T_PaymentReceiptList>();

        foreach (GridViewRow gvr in GridView3.Rows)
        {
            T_PaymentReceiptList list = new T_PaymentReceiptList();
            list.ReceiptId = head.ReceiptId;
            list.ReceiptNo = GridView1.Rows.Count + GridView4.Rows.Count + Int32.Parse((gvr.Cells[0].FindControl("lbl_gno") as Label).Text);
            string deposit_id = (gvr.Cells[1].FindControl("txt_deposit_id") as TextBox).Text;
            if (string.IsNullOrEmpty(deposit_id))
            {
                continue;
            }
            list.DepositId          = deposit_id;
            list.FDate              = DateTime.Parse((gvr.Cells[2].FindControl("lbl_agent_date") as Label).Text);
            list.FNote              = (gvr.Cells[9].FindControl("txt_note") as TextBox).Text;
            list.FCurrencyID        = ca.getIDByCurrency((gvr.Cells[7].FindControl("lbl_fcurrencyid") as Label).Text);
            list.FPurchaseAmountFor = Decimal.Parse((gvr.Cells[3].FindControl("lbl_amount_all") as Label).Text);
            list.FPayAmountFor      = Decimal.Parse((gvr.Cells[4].FindControl("lbl_fpayamountfor") as Label).Text);
            list.FUnPayAmountFor    = Decimal.Parse((gvr.Cells[5].FindControl("lbl_funpayamountfor") as Label).Text);
            string str_deposit_checkamountfor = (gvr.Cells[6].FindControl("txt_deposit_checkamountfor") as TextBox).Text;
            if (string.IsNullOrEmpty(str_deposit_checkamountfor))
            {
                Label1.Text = "核销金额不能为空";
                return;
            }
            list.FCheckAmountFor = Decimal.Parse(str_deposit_checkamountfor);
            if (list.FUnPayAmountFor - list.FCheckAmountFor == 0)
            {
                list.FCheckStatus = 2;
            }
            else
            {
                list.FCheckStatus = 1;
                head.FCheckStatus = 1;
            }
            listsFromDeposit.Add(list);
        }
        for (int i = 0; i < GridView4.Rows.Count; i++)
        {
            T_PaymentReceiptList list = new T_PaymentReceiptList();
            list.ReceiptId = head.ReceiptId;

            list.ReceiptNo = GridView1.Rows.Count + Int32.Parse((GridView4.Rows[i].Cells[0].FindControl("lbl_gno") as Label).Text);
            string requestID = (GridView4.Rows[i].Cells[1].FindControl("txt_bill_no") as TextBox).Text;
            if (string.IsNullOrEmpty(requestID))
            {
                continue;
            }
            list.RequestID          = requestID;
            list.FPurchaseAmountFor = Decimal.Parse((GridView4.Rows[i].Cells[3].FindControl("lbl_amount_all") as Label).Text);
            lists.Add(list);
        }
        List <T_PaymentReceiptList> addtodonelists   = addBillNoToDone(lists, head);
        List <T_PaymentReceiptList> checkStatusLists = addInDecreaseNoToDone(lists);

        try
        {
            //保存数据
            PaymentAdapter           raa = new PaymentAdapter();
            PaymentRequestAdapter    pra = new PaymentRequestAdapter();
            PaymentDepositAdapter    da  = new PaymentDepositAdapter();
            PaymentInDecreaseAdapter ida = new PaymentInDecreaseAdapter();
            raa.addReceiptHead(head);
            raa.insertReceiptList(lists);
            raa.insertReceiptList(listsFromDeposit);

            raa.addToDone(addtodonelists);//把采购发票号加入已做列表中
            if (ddl_receipt_type.SelectedValue == "B")
            {
                da.updateHeadIsPayed(listsFromDeposit);
            }
            else
            {
                da.updateHeadCheckStatus(listsFromDeposit);//更新定金单的check_status值;
            }

            ida.updateHeadCheckStatus(checkStatusLists); //更新增减单的check_status值为2;
            pra.updateHeadCheckStatus(lists);            //更新付款通知书的isUserd值为1(true);
            Label1.Text = "哟,小伙子,不错,被你录入成功了";
        }
        catch (Exception ex)
        {
            Label1.Text = ex.Message;
        }
    }