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();
}
}