分享

CaiWuTotal.aspx.cs

 昵称10504424 2013-02-18

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MicrhuaSQL;
using System.Text;

public partial class admin_CaiWu_CaiWuTotal : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            int year = DateTime.Now.Year;
            int Quarte = (DateTime.Now.Month - 1) / 3 + 1;
            for (int i = year; i >= 2008; i--)
            {
                this.txtYear.Items.Add(new ListItem(i.ToString(), i.ToString()));
            }
            for (int i = 1; i < 5; i++)
            {
                this.txtQuarter.Items.Add(new ListItem(i.ToString(), i.ToString()));
            }
            this.txtYear.SelectedValue = year.ToString();
            this.txtQuarter.SelectedValue = Quarte.ToString();
            band();//绑定
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        band();

      //  this.Page_Binders();
    }
    private void band()
    {
        string CID = "";
        string OldCID = "";
        string year = this.txtYear.SelectedValue;
        string Quarter = this.txtQuarter.SelectedValue;
        StringBuilder sql = new StringBuilder();
        foreach (Control c in Panel1.Controls)
        {
            if (c.GetType().ToString() == "System.Web.UI.WebControls.Label")
            {
                if (c.ID.ToString().IndexOf("_new") != -1)
                {
                    sql.Append("sum(" + c.ID.ToString().Replace("_new", "") + ") as " + c.ID.ToString().Replace("_new", "") + ",");
                }
            }
        }
        DataSet ds3 = HelpSQL.ExecuteDataSet("select ID from CaiWu where CYear=" + (int.Parse(year) - 1) + " and Quarter=" + Quarter);
        if (ds3.Tables[0].Rows.Count > 0)
        {
            OldCID = ds3.Tables[0].Rows[0][0].ToString();
        }

        DataSet ds = HelpSQL.ExecuteDataSet("select ID from CaiWu where CYear=" + year + " and Quarter=" + Quarter);
        if (ds.Tables[0].Rows.Count > 0)
        {
            CID = ds.Tables[0].Rows[0][0].ToString();
        }

        string msg = "";

        //去年同期
        if (OldCID.Length > 0)
        {
            string Oldstr = "select " + sql.ToString().Substring(0, sql.ToString().Length - 1) + " from CaiWuList where";
            Oldstr += " CID=" + OldCID + " and flag=3";
            DataSet ds4 = HelpSQL.ExecuteDataSet(Oldstr);
            if (ds4.Tables[0].Rows.Count > 0)
            {
                foreach (Control c in Panel1.Controls)
                {
                    if (c.GetType().ToString() == "System.Web.UI.WebControls.Label")
                    {
                        if (c.ID.ToString().IndexOf("_old") != -1)
                        {
                            // ((Label)c).Text = ds4.Tables[0].Rows[0][c.ID.ToString().Replace("_old", "")].ToString();
                            try
                            {
                                ((Label)c).Text = Math.Round(Convert.ToDouble(ds4.Tables[0].Rows[0][c.ID.ToString().Replace("_old", "")].ToString()) + 0.0001, 2).ToString();
                                if (((Label)c).Text == "") ((Label)c).Text = "0";
                            }
                            catch
                            {
                                ((Label)c).Text = "0";
                            }
                        }
                    }
                }
            }
            else
            {
                foreach (Control c in Panel1.Controls)
                {
                    if (c.GetType().ToString() == "System.Web.UI.WebControls.Label")
                    {
                        if (c.ID.ToString().IndexOf("_old") != -1)
                        {
                            ((Label)c).Text = "";
                        }
                    }
                }
                msg += "<font color=red>[上年同期无报表]</font>  ";
            }
        }
        else
        {
            foreach (Control c in Panel1.Controls)
            {
                if (c.GetType().ToString() == "System.Web.UI.WebControls.Label")
                {
                    if (c.ID.ToString().IndexOf("_old") != -1)
                    {
                        ((Label)c).Text = "";
                    }
                }
            }
            msg += "<font color=red>[上年同期无报表]</font>  ";
        }

        //本期
        if (CID.Length > 0)
        {
            string str = "select " + sql.ToString().Substring(0, sql.ToString().Length - 1) + " from CaiWuList where";
            str += " CID=" + CID + " and flag=3";
            DataSet ds1 = HelpSQL.ExecuteDataSet(str);

            if (ds1.Tables[0].Rows.Count > 0)
            {
                foreach (Control c in Panel1.Controls)
                {
                    if (c.GetType().ToString() == "System.Web.UI.WebControls.Label")
                    {
                        if (c.ID.ToString().IndexOf("_new") != -1)
                        {
                            // ((Label)c).Text = ds1.Tables[0].Rows[0][c.ID.ToString().Replace("_new", "")].ToString();
                            try
                            {
                                ((Label)c).Text = Math.Round(Convert.ToDouble(ds1.Tables[0].Rows[0][c.ID.ToString().Replace("_new", "")].ToString()) + 0.0001, 2).ToString();
                                if (((Label)c).Text == "") ((Label)c).Text = "0";
                            }
                            catch
                            {
                                ((Label)c).Text = "0";
                            }

                        }
                    }
                }
            }
            else
            {
                foreach (Control c in Panel1.Controls)
                {
                    if (c.GetType().ToString() == "System.Web.UI.WebControls.Label")
                    {
                        if (c.ID.ToString().IndexOf("_new") != -1)
                        {
                            ((Label)c).Text = "";
                        }
                    }
                }
                msg += "<font color=red>[该期无报表]</font>  ";
            }
        }
        else
        {
            foreach (Control c in Panel1.Controls)
            {
                if (c.GetType().ToString() == "System.Web.UI.WebControls.Label")
                {
                    if (c.ID.ToString().IndexOf("_new") != -1)
                    {
                        ((Label)c).Text = "";
                    }
                }
            }
            msg += "<font color=red>[该期无报表]</font>  ";
        }

        this.MSG.Text = msg;
        this.Label1.Text = year + "年第" + Quarter + "季度";
        #region 环比
        try
        {

            foreach (Control c in Panel1.Controls)
            {
                if (c.GetType().ToString() == "System.Web.UI.WebControls.Label")
                {
                    double benqi = 0;
                    double sqi = 0;

                    if (c.ID.ToString().IndexOf("_lrr") != -1)
                    {
                        Label newlb = (Label)Panel1.FindControl(c.ID.ToString().Replace("_lrr", "") + "_new");
                        if (Quarter != "1")
                        {
                            int qquarter = 0;

                            qquarter = Convert.ToInt16(Quarter) - 1;//上个季度

                            DataSet qids = HelpSQL.ExecuteDataSet("select ID,pzwh,bawh from CaiWu where CYear=" + year + " and Quarter=" + qquarter.ToString());

                            string QICID = qids.Tables[0].Rows[0]["id"].ToString();//获取上个季度的财务ID
                            if (qids.Tables[0].Rows.Count > 0)
                            {

                                string str = "select " + sql.ToString().Substring(0, sql.ToString().Length - 1) + " from CaiWuList where";
                                str += " CID=" + QICID + " and flag=3";
                                DataSet sds = HelpSQL.ExecuteDataSet(str);//返回上个月的财务情况
                                //获取本期真实的情况
                                double a1 = Convert.ToDouble(newlb.Text);
                                double eb5 = 0;
                                try
                                {
                                    eb5 = Convert.ToDouble(sds.Tables[0].Rows[0][c.ID.ToString().Replace("_lrr", "")]);
                                }
                                catch
                                {
                                    eb5 = 0;
                                }
                                benqi = a1 - eb5;
                                //上上一季度的情况
                                if (Quarter != "2")
                                {
                                    qquarter = qquarter - 1;
                                    DataSet qqids = HelpSQL.ExecuteDataSet("select ID,pzwh,bawh from CaiWu where CYear=" + year + " and Quarter=" + qquarter.ToString());
                                    try
                                    {
                                        string QQICID = qqids.Tables[0].Rows[0]["id"].ToString(); //获取上上季度的财务ID
                                        if (qqids.Tables[0].Rows.Count > 0)
                                        {
                                            string str1 = "select " + sql.ToString().Substring(0, sql.ToString().Length - 1) + "  from CaiWuList where ";
                                            str1 += " CID=" + QQICID + " and flag=3";
                                            DataSet ssds = HelpSQL.ExecuteDataSet(str1);//返回上个月的财务情况
                                            //获取上一期真实的情况
                                            double b1 = 0;
                                            double b2 = 0;
                                            try
                                            {
                                                b1 = Convert.ToDouble(sds.Tables[0].Rows[0][c.ID.ToString().Replace("_lrr", "")]);
                                            }
                                            catch
                                            {
                                                b1 = 0;
                                            }
                                            try
                                            {
                                                b2 = Convert.ToDouble(ssds.Tables[0].Rows[0][c.ID.ToString().Replace("_lrr", "")]);
                                            }
                                            catch
                                            {
                                                b2 = 0;
                                            }
                                            sqi = b1 - b2;
                                            double hb = 0;
                                            hb = (benqi - sqi) / sqi * 100;
                                            string aa = hb.ToString();
                                            if (System.Text.RegularExpressions.Regex.IsMatch(aa, @"^/-?/d+/.?/d*$"))
                                                ((Label)c).Text = hb.ToString(".##") + "%";
                                            else
                                                ((Label)c).Text = "0%";

                                        }
                                    }
                                    catch { }

                                }
                                else
                                {
                                    try
                                    {
                                        sqi = Convert.ToDouble(sds.Tables[0].Rows[0][c.ID.ToString().Replace("_lrr", "")]);
                                    }
                                    catch
                                    {
                                        sqi = 0;
                                    }
                                    double hb = 0;
                                    hb = (benqi - sqi) / sqi * 100;
                                    string aa = hb.ToString();
                                    if (System.Text.RegularExpressions.Regex.IsMatch(aa, @"^/-?/d+/.?/d*$"))
                                        ((Label)c).Text = hb.ToString(".##") + "%";
                                    else
                                        ((Label)c).Text = "0%";

                                }
                            }
                        }
                        else
                        {
                            benqi = Convert.ToDouble(newlb.Text);
                            int syear = Convert.ToInt16(year) - 1;
                            DataSet qids = HelpSQL.ExecuteDataSet("select ID,pzwh,bawh from CaiWu where CYear=" + syear + " and Quarter=4");
                            DataSet qqids = HelpSQL.ExecuteDataSet("select ID,pzwh,bawh from CaiWu where CYear=" + syear + " and Quarter=3");
                            string QCID = qids.Tables[0].Rows[0]["ID"].ToString();//第四季度ID 
                            string QQCID = qqids.Tables[0].Rows[0]["id"].ToString();//第三季度ID
                            string st1 = "select " + sql.ToString().Substring(0, sql.ToString().Length - 1) + " from CaiWuList where CID=" + QCID + " and flag=3";//第四季度
                            string st2 = "select " + sql.ToString().Substring(0, sql.ToString().Length - 1) + " from CaiWuList where CID=" + QQCID + " and flag=3";//第三季度
                            DataSet sds1 = HelpSQL.ExecuteDataSet(st1);
                            DataSet sds2 = HelpSQL.ExecuteDataSet(st2);
                            double b3 = 0; double b4 = 0;
                            try
                            {
                                b3 = Convert.ToDouble(sds1.Tables[0].Rows[0][c.ID.ToString().Replace("_lrr", "")]);
                            }
                            catch
                            {
                                b3 = 0;
                            }
                            try
                            {
                                b4 = Convert.ToDouble(sds2.Tables[0].Rows[0][c.ID.ToString().Replace("_lrr", "")]);
                            }
                            catch
                            {
                                b4 = 0;
                            }
                            sqi = b3 - b4;
                            double hb = 0;
                            hb = (benqi - sqi) / sqi * 100;
                            string aa = hb.ToString();
                            if (System.Text.RegularExpressions.Regex.IsMatch(aa, @"^/-?/d+/.?/d*$"))
                                ((Label)c).Text = hb.ToString(".##") + "%";
                            else
                                ((Label)c).Text = "0%";

                        }
                    }
                }
            }

        }
        catch { }

        #endregion

        //增幅
        foreach (Control c in Panel1.Controls)
        {
            if (c.GetType().ToString() == "System.Web.UI.WebControls.Label")
            {
                float oldc = 0;
                double newc = 0;
                if (c.ID.ToString().IndexOf("_compare") != -1)
                {
                    Label oldlb = (Label)Panel1.FindControl(c.ID.ToString().Replace("_compare", "") + "_old");
                    Label newlb = (Label)Panel1.FindControl(c.ID.ToString().Replace("_compare", "") + "_new");

                    if (oldlb.Text.ToString() == "")
                    {
                        oldc = 0;
                    }
                    else
                    {
                        oldc = float.Parse(oldlb.Text.ToString());
                    }

                    if (newlb.Text.ToString() == "")
                    {
                        newc = 0;
                    }
                    else
                    {
                        //newc = float.Parse(newlb.Text.ToString());
                        newc = Math.Round(Convert.ToDouble(newlb.Text.ToString()) + 0.0001, 2);
                    }
                    double compare = (newc - oldc) / oldc * 100;
                    string a = compare.ToString();
                    if (System.Text.RegularExpressions.Regex.IsMatch(a, @"^/-?/d+/.?/d*$"))
                        ((Label)c).Text = compare.ToString(".##") + "%";
                    else
                        ((Label)c).Text = "0%";
                }

            }
        }
    }

    ///// <summary>
    ///// 统计用类
    ///// </summary>
    ///// <param name="lbl_Sum"></param>
    ///// <param name="str_lbl"></param>
    //public void Page_Tong(Label lbl_Sum, System.Text.StringBuilder str_lbl)
    //{
    //    string[] lbl = str_lbl.ToString().Trim(',').Split(',');
    //    double Sum = 0;
    //    for (int i = 0; i < lbl.Length; i++)
    //    {
    //        try
    //        {
    //            Label lbl_Numder = (Label)Page.FindControl(lbl[i].ToString());
    //            if (lbl_Numder.Text != "")
    //            {
    //                Sum += double.Parse(lbl_Numder.Text);
    //            }
    //        }
    //        catch { }
    //    }

    //    if (Sum != 0)
    //    {
    //        lbl_Sum.Text = Sum.ToString();
    //    }
    //}
    //public void Page_Binders()
    //{

    //    StringBuilder builder = new StringBuilder();
    //    builder.Append("idc_new,");//其中:因特网数据中心业务(IDC)收入
    //    builder.Append("hjzx_new,");//呼叫中心业务收入
    //    builder.Append("cczf_new,");//存储转发类业务收入
    //    builder.Append("isp_new,");//因特网接入服务业务(ISP)收入
    //    builder.Append("wxxh_new,");//无线寻呼业务收入
    //    builder.Append("vsat_new,");//国内甚小口径终端地球站(VSAT)通信业务收入
    //    builder.Append("zdwysr_new,");//用户驻地网业务收入
    //    builder.Append("wltg_new,");//网络托管业务收入
    //    builder.Append("xxfw_new,");//信息服务业务收入
    //    Page_Tong(zysr_new, builder);


    //    StringBuilder builder_compare = new StringBuilder();
    //    builder_compare.Append("idc_compare,");//其中:因特网数据中心业务(IDC)收入
    //    builder_compare.Append("hjzx_compare,");//呼叫中心业务收入
    //    builder_compare.Append("cczf_compare,");//存储转发类业务收入
    //    builder_compare.Append("isp_compare,");//因特网接入服务业务(ISP)收入
    //    builder_compare.Append("wxxh_compare,");//无线寻呼业务收入
    //    builder_compare.Append("vsat_compare,");//国内甚小口径终端地球站(VSAT)通信业务收入
    //    builder_compare.Append("zdwysr_compare,");//用户驻地网业务收入
    //    builder_compare.Append("wltg_compare,");//网络托管业务收入
    //    builder_compare.Append("xxfw_compare,");//信息服务业务收入
    //    Page_Tong(zysr_compare, builder_compare);


    //    StringBuilder builder_old = new StringBuilder();
    //    builder_old.Append("idc_old,");//其中:因特网数据中心业务(IDC)收入
    //    builder_old.Append("hjzx_old,");//呼叫中心业务收入
    //    builder_old.Append("cczf_old,");//存储转发类业务收入
    //    builder_old.Append("isp_old,");//因特网接入服务业务(ISP)收入
    //    builder_old.Append("wxxh_old,");//无线寻呼业务收入
    //    builder_old.Append("vsat_old,");//国内甚小口径终端地球站(VSAT)通信业务收入
    //    builder_old.Append("zdwysr_old,");//用户驻地网业务收入
    //    builder_old.Append("wltg_old,");//网络托管业务收入
    //    builder_old.Append("xxfw_old,");//信息服务业务收入

    //    Page_Tong(zysr_old, builder_old);
    //}

 

    protected void img_out_Click(object sender, ImageClickEventArgs e)
    {
        string year = this.txtYear.SelectedValue;
        string Quarter = this.txtQuarter.SelectedValue;
        string name = DateTime.Now.ToString("yyyyMMddhhmmffff");
        string FileName = year + "年第" + Quarter + "季度" + "企业财务情况表统计" + name + ".xls";

        Response.Charset = "GB2312";

        Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");

        Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8).ToString());

        Response.ContentType = "application/ms-Excel";//application/ms-word

        this.EnableViewState = false;

        System.IO.StringWriter tw = new System.IO.StringWriter();

        System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);

        this.Panel1.RenderControl(hw);

        Response.Write(tw.ToString());

        Response.End();


    }
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多