using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace LYFZ.Software.MainBusiness.StatisticalInquiry.MonthFinance
{
    public partial class FinanceDayDetails : LYFZ.Software.UI.StatisticalInquiry.MonthFinance.FinanceDayDetails
    {
        LYFZ.BLL.BLL_ErpOrder orbll = new BLL.BLL_ErpOrder();

        public FinanceDayDetails()
        {
            this.Load += FinanceDayDetails_Load;
            this.btnClosed.Click += btnClosed_Click;
        }
        public string StrID;
        /// <summary>
        /// 窗体加载事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void FinanceDayDetails_Load(object sender, EventArgs e)
        {
            DataTable dt = orbll.GetView_Custom("tb_ErpPayment", StrWhere: "tb_ErpPayment.ID = '" + StrID + "'", ShowColumnName: "Pay_Category,Pay_OrdNumber,Pay_AmountOf,Pay_Type,Pay_PlusPickNumber").Tables[0];
            if (dt.Rows.Count > 0)
            {
                string OrdNumber=dt.Rows[0]["Pay_OrdNumber"].ToString().Trim();//2017-03-30 刘工修改
                string Pay_PlusPickNumber = dt.Rows[0]["Pay_PlusPickNumber"].ToString().Trim();
               // decimal Pay_AmountOf = Convert.ToDecimal(dt.Rows[0]["Pay_AmountOf"].ToString().Trim());//本次收款金


                DataSet dtSet = new DataSet();
                DataTable dtOrder = new DataTable();
                DataTable dtArrears = new DataTable();
                string StrTableName = "select (套系金额 + isnull(加挑金额,0) -isnull(收款金额,0)) AS 欠款 from BView_OrderAmount where Order_Number = '" + OrdNumber + "';";
                switch (dt.Rows[0]["Pay_Category"].ToString().Trim())
                {
                    case "预约收款":
                    case "预约补款":
                    case "全款":
                        StrTableName += "select Ord_SinceOrderNumber,Ord_OrderClass,Ord_SeriesName,Ord_SeriesPrice,Cus_Name,Ord_Remark,Cus_Telephone from tb_ErpOrder Left Join tempTB_AggregationCustomer on GP_OrderNumber = Ord_Number Where Ord_Number = '" + OrdNumber + "'";
                        dtSet = orbll.GetView_Custom(StrTableName);
                        dtArrears = dtSet.Tables["ds"];
                        dtOrder = dtSet.Tables["ds1"];
                        this.txtClientArrears.Text = dtArrears.Rows[0]["欠款"].ToString().Trim();
                        if (dtOrder.Rows.Count > 0)
                        {
                            this.txtClientName.Text = dtOrder.Rows[0]["Cus_Name"].ToString().Trim();
                            this.txtOrderClass.Text = dtOrder.Rows[0]["Ord_OrderClass"].ToString().Trim();
                            this.txtOrderNumber.Text = dtOrder.Rows[0]["Ord_SinceOrderNumber"].ToString().Trim();
                            this.txtRemark.Text = dtOrder.Rows[0]["Ord_Remark"].ToString().Trim();
                            this.txtTaoXiAmount.Text = dtOrder.Rows[0]["Ord_SeriesPrice"].ToString().Trim();
                            this.txtTaoXiName.Text = dtOrder.Rows[0]["Ord_SeriesName"].ToString().Trim();
                            this.tb_ClientPhoneCall.Text = dtOrder.Rows[0]["Cus_Telephone"].ToString().Trim();
                        }
                        break;
                    case "后期收款":
                        switch (dt.Rows[0]["Pay_Type"].ToString().Trim())
                        {
                            case "0":
                                //StrTableName += "select Ord_SinceOrderNumber,Ord_OrderClass,Plu_Goods AS Ord_SeriesName,Plu_Amount AS Ord_SeriesPrice,Cus_Name,Ord_Remark " +
                                // "from tb_ErpPlusPickItems Left Join tb_ErpOrder on Ord_Number = Plu_OrdNumber " +
                                // "Left Join tempTB_AggregationCustomer on GP_OrderNumber = Plu_OrdNumber";
                                
                                //2017-03-30 刘工修改
                                StrTableName = "select sum([Pay_AmountOf]) as sumAomuntof from [dbo].[tb_ErpPayment] where Pay_PlusPickNumber='" + Pay_PlusPickNumber + "';";
                                StrTableName += "select Ord_SinceOrderNumber,Ord_OrderClass,Plu_Goods AS Ord_SeriesName,Plu_Amount AS Ord_SeriesPrice,Cus_Name,Ord_Remark,Plu_Number,Cus_Telephone " +
                                 "from tb_ErpPlusPickItems Left Join tb_ErpOrder on Ord_Number = Plu_OrdNumber " +
                                 "Left Join tempTB_AggregationCustomer on GP_OrderNumber = Plu_OrdNumber where Ord_SinceOrderNumber='" + OrdNumber + "' and Plu_Number='" + Pay_PlusPickNumber + "'";

                                 dtSet = orbll.GetView_Custom(StrTableName);
                                dtArrears = dtSet.Tables["ds"]; 
                                dtOrder = dtSet.Tables["ds1"];

                                decimal Ord_SeriesPrice = 0;
                                decimal sumAomuntof = 0;
                                try
                                {
                                    Ord_SeriesPrice = Convert.ToDecimal(dtOrder.Rows[0]["Ord_SeriesPrice"].ToString());
                                }
                                catch { }
                                try
                                {
                                    sumAomuntof = Convert.ToDecimal(dtArrears.Rows[0]["sumAomuntof"].ToString());
                                }
                                catch { }

                                this.txtClientArrears.Text =( Ord_SeriesPrice-sumAomuntof).ToString("n2"); //dtArrears.Rows[0]["欠款"].ToString().Trim();
                                if (dtOrder.Rows.Count > 0)
                                {
                                    this.txtClientName.Text = dtOrder.Rows[0]["Cus_Name"].ToString().Trim();
                                    this.txtOrderClass.Text = dtOrder.Rows[0]["Ord_OrderClass"].ToString().Trim();
                                    this.txtOrderNumber.Text = dtOrder.Rows[0]["Ord_SinceOrderNumber"].ToString().Trim();
                                    this.txtRemark.Text = dtOrder.Rows[0]["Ord_Remark"].ToString().Trim();
                                    this.txtTaoXiAmount.Text = Ord_SeriesPrice.ToString().Trim();
                                    this.txtTaoXiName.Text = dtOrder.Rows[0]["Ord_SeriesName"].ToString().Trim();
                                    this.tb_ClientPhoneCall.Text = dtOrder.Rows[0]["Cus_Telephone"].ToString().Trim();
                                }
                                this.labelEx2.Text = "加挑商品:";
                                this.labelEx4.Text = "加挑金额:";
                                break;
                            case "1":
                                StrTableName = "select sum([Pay_AmountOf]) as sumAomuntof from [dbo].[tb_ErpPayment] where Pay_OrdNumber='" + OrdNumber + "';";
                                StrTableName += "select Tsorder_Number,Sc_ClassName,Tsorder_Name,Tsorder_Money,Cus_Name,Tsorder_Remark ,Cus_Telephone" +
                                "from tb_ErpTwoSalesOrder " +
                                "Left Join tb_ErpSystemCategory on Sc_ClassCode = Tsorder_Category " +
                                "Left Join tb_ErpCustomer on Cus_CustomerNumber = Tsorder_CustomerNumber where Tsorder_Number='" + OrdNumber + "'";
                                dtSet = orbll.GetView_Custom(StrTableName);
                                dtArrears = dtSet.Tables["ds"];
                                dtOrder = dtSet.Tables["ds1"];
                                decimal Ord_SeriesPrice2 = 0;
                                decimal sumAomuntof2 = 0;
                                try
                                {
                                    Ord_SeriesPrice2 = Convert.ToDecimal(dtOrder.Rows[0]["Tsorder_Money"].ToString().Trim());
                                }
                                catch { }
                                try
                                {
                                    sumAomuntof2 = Convert.ToDecimal(dtArrears.Rows[0]["sumAomuntof"].ToString());
                                }
                                catch { }
                                //this.txtClientArrears.Text = dtArrears.Rows[0]["欠款"].ToString().Trim();
                                 this.txtClientArrears.Text =( Ord_SeriesPrice2-sumAomuntof2).ToString("n2"); //
                                if (dtOrder.Rows.Count > 0)
                                {
                                    this.txtClientName.Text = dtOrder.Rows[0]["Cus_Name"].ToString().Trim();
                                    this.txtOrderClass.Text = dtOrder.Rows[0]["Sc_ClassName"].ToString().Trim();
                                    this.txtOrderNumber.Text = dtOrder.Rows[0]["Tsorder_Number"].ToString().Trim();
                                    this.txtRemark.Text = dtOrder.Rows[0]["Tsorder_Remark"].ToString().Trim();
                                    this.txtTaoXiAmount.Text = Ord_SeriesPrice2.ToString().Trim();
                                    this.txtTaoXiName.Text = dtOrder.Rows[0]["Tsorder_Name"].ToString().Trim();
                                    this.tb_ClientPhoneCall.Text = dtOrder.Rows[0]["Cus_Telephone"].ToString().Trim();
                                }
                                this.labelEx3.Text = "三销类别:";
                                this.labelEx2.Text = "项目名称:";
                                this.labelEx4.Text = "项目金额:";
                                break;
                        }
                        break;
                }

            }
        }
        /// <summary>
        /// 关闭
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void btnClosed_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}