<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WeekReport.aspx.cs" Inherits="IWOMTrends.WeekReport" EnableViewState="false" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>报告详情</title> <link rel="Stylesheet" type="text/css" href="css/Report.css" /> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('visualization', '1', { packages: ['corechart']}); </script> <script type="text/javascript"> function drawChart(){ var bid=document.getElementById("<%=HidBrand.ClientID %>"); if(bid.value!='30007'){ drawColumn('ZChart',['负面','中立','正面'],'一周信息量比较',['#C0504D' ,'#4F81BD' , '#9BBB59'],[<%=WeekXValue %>],[<%=WeekValueArr %>],500); drawColumn('divPositive',['正面'],'一周正面信息量比较',['#9BBB59'],[<%=WeekXValue %>],[<%=Positive %>],330); drawColumn('divNegative',['负面'],'一周负面信息量比较',['#C0504D'],[<%=WeekXValue %>],[<%=Negative %>],330); drawColumn1('divNegService',[<%=NegServiceY %>],'负面媒体类型构成',['#4572A7','#AA4643','#89A54E','#71588F','#4198AF','#DB843D'],[<%=NegServiceX %>],[<%=NegServiceVal %>],550); drawColumn1('divPostService',[<%=PostServiceY %>],'正面媒体类型构成',['#4572A7','#AA4643','#89A54E','#71588F','#4198AF','#DB843D'],[<%=PostServiceX %>],[<%=PostServiceVal %>],550); drawColumn('divNegTopic1',['信息量'],'WSE负面信息地理分布',['#C0504D'],[<%=NegAreaX %>],[<%=NegAreaVal %>],600); drawPie('divNegTopic2',[<%=NegTopicX %>],[<%=NegTopicVal %>],'负面话题构成',['#4f81bd','#9bbb59','#8064a2','#c0504d','#f2dddc','#c5d9f1','#e4bf19','#ccc0da','#4bacc6']); drawPie('divIndustryTopic',[<%=IndustryX %>],[<%=IndustryVal %>],'行业信息内容构成',['#9bbb59','#4f81bd','#c0504d','#8064a2','#e4bf19']); drawPie('divDeal',[<%=DealDataX %>],[<%=DealDataVal %>],'维护信息的内容情况',['#823331','#933b39','#a1423f','#ae4845','#ba4d4a','#c56765','#ce8a89','#d6a3a2','#dfb9b8','#e7cccc']); } } function drawColumn(divId,areaName,titleValue,colorName,Xvalue,Vvalue,KuanD) { //var areaName = ['负面','中立','正面']; var xLables = Xvalue; var areaValue = Vvalue; var data = new google.visualization.DataTable(); data.addColumn('string', '品牌'); for (var i = 0; i < areaName.length; ++i) { data.addColumn('number', areaName[i]); } data.addRows(xLables.length); for (var i = 0; i < xLables.length; ++i) { data.setCell(i, 0, xLables[i]); } for (var i = 0; i < areaName.length; ++i) { var country = areaValue[i]; for (var x = 0; x < xLables.length; ++x) { data.setCell(x, i + 1, country[x]); } } var ac = new google.visualization.ColumnChart(document.getElementById(divId)); ac.draw(data, { title: titleValue, titleTextStyle: { fontSize: 16, fontName: '宋体' }, legend: 'top', chartArea: { width: '70%', height: '60%' }, fontSize: 12, colors: colorName, backgroundColor:'#FFFFFF', isStacked: true, width: KuanD, height: 300 }); } function drawColumn1(divId,areaName,titleValue,colorName,Xvalue,Vvalue,KuanD) { //var areaName = ['负面','中立','正面']; var xLables = Xvalue; var areaValue = Vvalue; var data = new google.visualization.DataTable(); data.addColumn('string', '品牌'); for (var i = 0; i < areaName.length; ++i) { data.addColumn('number', areaName[i]); } data.addRows(xLables.length); for (var i = 0; i < xLables.length; ++i) { data.setCell(i, 0, xLables[i]); } for (var i = 0; i < areaName.length; ++i) { var country = areaValue[i]; for (var x = 0; x < xLables.length; ++x) { data.setCell(x, i + 1, country[x]); } } var format = new google.visualization.NumberFormat({ fractionDigits:0, suffix:'%' }); var ac = new google.visualization.ColumnChart(document.getElementById(divId)); ac.draw(data, { title: titleValue, titleTextStyle: { fontSize: 16, fontName: '宋体' }, legend: 'left', fontSize: 12, colors: colorName, backgroundColor:'#FFFFFF', isStacked: true, vAxis: { maxValue: 100,logScale:false}, width: KuanD, height: 300 }); } function drawPie(id,valueName,valueText,titleText,colorText) { var areaName = valueName; var areaValue = valueText; var data = new google.visualization.DataTable(); data.addColumn('string', '态度'); data.addColumn('number', "帖子数"); data.addRows(areaName.length); for (var i = 0; i < areaName.length; ++i) { data.setCell(i, 0, areaName[i]); data.setCell(i, 1, areaValue[i]); } var ac = new google.visualization.PieChart(document.getElementById(id)); ac.draw(data, { title: titleText, titleTextStyle: { fontSize: 16, fontName: '微软雅黑' }, fontSize: 10, legend: 'top', colors: colorText, backgroundColor:'#FFFFFF', fontName:'微软雅黑', width: 260, height: 260 }); } google.setOnLoadCallback(drawChart); </script></head><body style="background-color:White;"> <form id="form1" runat="server"> <div id="divDown" runat="server" style="text-align:right; width:100%; margin-top:20px;" class="style1"> <asp:ImageButton ID="lbn_down" runat="server" onclick="lbn_down_Click" ImageUrl="~/images/b-zhoubao.jpg"/> </div> <div style="margin-top:15px; width:100%;" runat="server" id="baogao"> <div style="font-size: 20px; text-align: center; font-weight: bold;color: #6192A1"> <%=rTitle %></div> <div style="font-size: 14px; font-family:Arial; padding-top: 5px; text-align: center; color: #525556; line-height: 150%;"> <%=rContent %></div> </div> <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="Div1"> </div> <div runat="server" style="font-size: 14px; padding-left:30px; color: #525556; line-height: 150%;" id="div_img"> <div id="ZChart" style="width:652px;"></div> </div> <div runat="server" style="font-size: 14px; padding-left:30px; color: #525556; " id="tongji"></div> <div runat="server" style="font-size: 14px; padding-left:10px; padding-top:20px; color: #525556; line-height: 150%;" id="div3"> <div id="divPositive" style="width:332px; float:left;"></div> <div id="divNegative" style="width:332px; float:left;"></div> </div> <div runat="server" style="font-size: 14px; padding-left:10px; color: #525556; line-height: 150%;" id="div4"> <div id="divNegService" style="width:652px;"></div> </div> <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="fumiantongji"></div> <div runat="server" style="font-size: 14px; padding-left:10px; color: #525556; line-height: 150%;" id="div6"> <div id="divPostService" style="width:652px;"></div> </div> <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="prodAttitdeHTML"></div> <div runat="server" style="font-size: 14px; padding-left:10px; padding-top:20px; color: #525556; line-height: 150%;" id="div5"> <div id="divNegTopic1" style="width:652px;"></div> </div> <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="tongji2"></div> <div runat="server" style="font-size: 14px; padding-left:10px; padding-top:20px; color: #525556; line-height: 150%;" id="div7"> <div id="divNegTopic2" style="width:332px; float:left;"></div> <div id="divIndustryTopic" style="width:332px; float:left;"></div> </div> <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="fumiantongji2"></div> <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="fumiantongji3"></div> <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="IndustryHtml"></div> <div runat="server" style="font-size: 14px; padding-left:10px; padding-top:20px; color: #525556; line-height: 150%;" id="div2"> <div id="divDeal" style="width:652px;"></div> </div> <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="DealDataHTML"></div> <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="DealDataHTML1"></div> <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="MediaHtml"></div> <input type="hidden" id="downValue" runat="server" /> <input type="hidden" id="HidBrand" runat="server" /> </form></body></html>
using System;using System.Data;using System.Web.UI;using System.Text;using IWOMTrackerDBLayer.IWOMTrackerBLL;using IWOMTrends.Common;using IWOMTrackerDBLayer.Common;using IWOMTrackerDBLayer.IWOMTrackerModel;namespace IWOMTrends{ public partial class WeekReport : System.Web.UI.Page { public LoginUserModel loginUser; public string rContent; public string rTitle; public int brandID = 0; //图表参数 public string WeekXValue = ""; public string WeekValueArr = ""; public string Positive = ""; public string Negative = ""; public string NegServiceX = ""; public string NegServiceVal = ""; public string NegServiceY = ""; public string PostServiceX = ""; public string PostServiceVal = ""; public string PostServiceY = ""; public string NegAreaX = ""; public string NegAreaVal = ""; public string NegTopicX = ""; public string NegTopicVal = ""; public string IndustryX = ""; public string IndustryVal = ""; public string DealDataX = ""; public string DealDataVal = ""; public string cookievalue = System.Configuration.ConfigurationManager.AppSettings["BrandCookie"].ToString(); protected void Page_Load(object sender, EventArgs e) { if (Request["Refere"] != null && Request["Refere"] != "") { brandID = 20002; } else { loginUser = LoginUserManager.GetLoginUser(true); //判断权限 if (!CommonFunction.CheckUserQX(loginUser, Request.Cookies[cookievalue])) Response.Redirect("~/Login.aspx", true); brandID = int.Parse(Request.Cookies[cookievalue].Value); } this.HidBrand.Value = brandID.ToString(); if (!IsPostBack) { GetWeekReport(); } } private void GetWeekReport() { if (Request.QueryString["zhou"] != null && Request.QueryString["zhou"].ToString() == "week") { IWT_Brand brandObj = BrandBLL.GetModel(brandID); rTitle = brandObj.Brand_Name + "网络口碑监测周报"; this.divDown.Visible = true; tongji.Visible = true; string number = Request["value"].ToString().Substring(0, 1); string StrDate = Request["value"].ToString().Substring(5, Request["value"].ToString().Substring(5).LastIndexOf("-")); DateTime dt1 = DateTime.Now; DateTime dt2 = DateTime.Now; int index = 0; DateTime[] Arr_dt = new DateTime[5]; DateTime startdt = Convert.ToDateTime(StrDate + "-1"); DateTime enddt = startdt.AddMonths(1).AddDays(-1); for (DateTime i = startdt; i <= enddt; i = i.AddDays(1)) { if (Convert.ToInt32(i.DayOfWeek) == 1) { Arr_dt[index] = i; index++; } } if (number == "1") { dt2 = Arr_dt[0]; dt1 = dt2.AddDays(6); } else if (number == "2") { dt2 = Arr_dt[1]; dt1 = dt2.AddDays(6); } else if (number == "3") { dt2 = Arr_dt[2]; dt1 = dt2.AddDays(6); } else if (number == "4") { dt2 = Arr_dt[3]; dt1 = dt2.AddDays(6); } else if (number == "5") { dt2 = Arr_dt[4]; dt1 = dt2.AddDays(6); } if(dt1 > DateTime.Now) { dt1 = DateTime.Now; } rContent = dt2.ToShortDateString() + "至" + dt1.ToShortDateString(); if (brandID == 30001) { FirstAllTable(dt2, dt1); SecondNegServiceData(dt2, dt1); GetNegAreaData(dt2, dt1); FourNegTopicData(dt2, dt1); FourNegTopicData1(dt2, dt1); FiveIndustryTopic(dt2, dt1); SixDealData(dt2, dt1); SixDealData1(dt2, dt1); SevenMediaData(dt2, dt1); } } } //第一个表格 private void FirstAllTable(DateTime dt2, DateTime dt1) { DataTable dtt = DailyWeeklyBLL.GetAllDataByWeely(brandID, dt2, dt1, ref WeekXValue, ref WeekValueArr, ref Positive, ref Negative, false); tongji.InnerHtml = CommonFunction.ExportHTML(dtt, "90%", "tblCSS"); } //第二个表格 private void SecondNegServiceData(DateTime dt2, DateTime dt1) { DataTable dtable = DailyWeeklyBLL.GetServiceByWeely(brandID, dt2, dt1, true, ref NegServiceX, ref NegServiceY, ref NegServiceVal, false); StringBuilder strB = new StringBuilder(); strB.Append(CommonFunction.ExportHTML(dtable, "80%", "tblCSS")); this.fumiantongji.InnerHtml = strB.ToString(); dtable = DailyWeeklyBLL.GetServiceByWeely(brandID, dt2, dt1, false, ref PostServiceX, ref PostServiceY, ref PostServiceVal, false); strB = new StringBuilder(); strB.Append(CommonFunction.ExportHTML(dtable, "80%", "tblCSS")); this.prodAttitdeHTML.InnerHtml = strB.ToString(); } //第三个表格 private void GetNegAreaData(DateTime dt2, DateTime dt1) { DataTable dtable = DailyWeeklyBLL.GetNegAreaData(brandID, dt2, dt1, ref NegAreaX, ref NegAreaVal, false); StringBuilder strB = new StringBuilder(); strB.Append(CommonFunction.ExportHTML(dtable, "80%", "tblCSS")); this.tongji2.InnerHtml = strB.ToString(); } //第四个表格 private void FourNegTopicData(DateTime dt2, DateTime dt1) { DataTable dtable = DailyWeeklyBLL.GetNegAreaData1(brandID, dt2, dt1, ref NegTopicX, ref NegTopicVal, false); StringBuilder strB = new StringBuilder(); strB.Append(CommonFunction.ExportHTML(dtable, "99%", "tblCSS")); this.fumiantongji2.InnerHtml = strB.ToString(); } private void FourNegTopicData1(DateTime dt2, DateTime dt1) { DataTable dtable = DailyWeeklyBLL.GetNegAreaData11(brandID, dt2, dt1, ref NegTopicX, ref NegTopicVal, false); StringBuilder strB = new StringBuilder(); strB.Append(CommonFunction.ExportHTML(dtable, "99%", "tblCSS")); this.fumiantongji3.InnerHtml = strB.ToString(); } //第五个表格 private void FiveIndustryTopic(DateTime dt2, DateTime dt1) { DataTable dtable = DailyWeeklyBLL.GetIndustryData(30006, dt2, dt1, ref IndustryX, ref IndustryVal, false); StringBuilder strB = new StringBuilder(); strB.Append(CommonFunction.ExportHTML(dtable, "80%", "tblCSS")); this.IndustryHtml.InnerHtml = strB.ToString(); } //第六个表格 private void SixDealData(DateTime dt2, DateTime dt1) { DataTable dtable = DailyWeeklyBLL.GetDealData(brandID, dt2, dt1, ref DealDataX, ref DealDataVal, false); StringBuilder strB = new StringBuilder(); strB.Append(CommonFunction.ExportHTML(dtable, "99%", "tblCSS")); this.DealDataHTML.InnerHtml = strB.ToString(); } private void SixDealData1(DateTime dt2, DateTime dt1) { DataTable dtable = DailyWeeklyBLL.GetDealData1(brandID, dt2, dt1, ref DealDataX, ref DealDataVal, false); StringBuilder strB = new StringBuilder(); strB.Append(CommonFunction.ExportHTML(dtable, "99%", "tblCSS")); this.DealDataHTML1.InnerHtml = strB.ToString(); } //第七个表格 private void SevenMediaData(DateTime dt2, DateTime dt1) { DataTable dtable = DailyWeeklyBLL.GetMediaData(brandID, dt2, dt1, false); StringBuilder strB = new StringBuilder(); strB.Append(CommonFunction.ExportHTML(dtable, "60%", "tblCSS")); this.MediaHtml.InnerHtml = strB.ToString(); } //导出 protected void lbn_down_Click(object sender, ImageClickEventArgs e) { if (Request.QueryString["zhou"] != null && Request.QueryString["zhou"].ToString() == "week") { IWT_Brand brandObj = BrandBLL.GetModel(brandID); #region 计算日期 this.divDown.Visible = true; tongji.Visible = true; string number = Request["value"].ToString().Substring(0, 1); string StrDate = Request["value"].ToString().Substring(5, Request["value"].ToString().Substring(5).LastIndexOf("-")); DateTime dt1 = DateTime.Now; DateTime dt2 = DateTime.Now; int index = 0; DateTime[] Arr_dt = new DateTime[5]; DateTime startdt = Convert.ToDateTime(StrDate + "-1"); DateTime enddt = startdt.AddMonths(1).AddDays(-1); for (DateTime i = startdt; i <= enddt; i = i.AddDays(1)) { if (Convert.ToInt32(i.DayOfWeek) == 1) { Arr_dt[index] = i; index++; } } if (number == "1") { dt2 = Arr_dt[0]; dt1 = dt2.AddDays(6); } else if (number == "2") { dt2 = Arr_dt[1]; dt1 = dt2.AddDays(6); } else if (number == "3") { dt2 = Arr_dt[2]; dt1 = dt2.AddDays(6); } else if (number == "4") { dt2 = Arr_dt[3]; dt1 = dt2.AddDays(6); } else if (number == "5") { dt2 = Arr_dt[4]; dt1 = dt2.AddDays(6); } #endregion DataTable dt = new DataTable(); dt.Columns.Add(" "); dt.Columns.Add(" "); dt.Columns.Add(" "); dt.Columns.Add(" "); dt.Columns.Add(" "); dt.Columns.Add(" "); dt.Columns.Add(" "); dt.Columns.Add(" "); dt.Columns.Add(" "); dt.Columns.Add(" "); dt.Columns.Add(" "); rTitle = brandObj.Brand_Name + "网络口碑监测周报"; rContent = dt2.ToShortDateString() + "至" + dt1.ToShortDateString(); DataRow row = dt.NewRow(); row[0] = rContent + " " + rTitle; for (int i = 1; i < 11; i++) { row[i] = ""; } dt.Rows.Add(row); row = dt.NewRow(); for (int i = 0; i < 11; i++) { row[i] = ""; } dt.Rows.Add(row); if (brandID == 30001) { string[] titleArr = new string[10] { "一周信息量", "负面媒体类型构成", "正面媒体类型构成", "WSE负面信息地理分布", "WSE负面话题构成", "", "行业信息内容构成", "维护信息的内容情况", "", "维护信息的媒体" }; DataTable[] dtArr = new DataTable[10]; dtArr[0] = DailyWeeklyBLL.GetAllDataByWeely(brandID, dt2, dt1, ref WeekXValue, ref WeekValueArr, ref Positive, ref Negative, false); dtArr[1] = DailyWeeklyBLL.GetServiceByWeely(brandID, dt2, dt1, true, ref NegServiceX, ref NegServiceY, ref NegServiceVal, false); dtArr[2] = DailyWeeklyBLL.GetServiceByWeely(brandID, dt2, dt1, false, ref PostServiceX, ref PostServiceY, ref PostServiceVal, false); dtArr[3] = DailyWeeklyBLL.GetNegAreaData(brandID, dt2, dt1, ref NegAreaX, ref NegAreaVal, false); dtArr[4] = DailyWeeklyBLL.GetNegAreaData1(brandID, dt2, dt1, ref NegTopicX, ref NegTopicVal, false); dtArr[5] = DailyWeeklyBLL.GetNegAreaData11(brandID, dt2, dt1, ref NegTopicX, ref NegTopicVal, false); dtArr[6] = DailyWeeklyBLL.GetIndustryData(30006, dt2, dt1, ref IndustryX, ref IndustryVal, false); dtArr[7] = DailyWeeklyBLL.GetDealData(brandID, dt2, dt1, ref DealDataX, ref DealDataVal, false); dtArr[8] = DailyWeeklyBLL.GetDealData1(brandID, dt2, dt1, ref DealDataX, ref DealDataVal, false); dtArr[9] = DailyWeeklyBLL.GetMediaData(brandID, dt2, dt1, false); DataRow drow; for (int k = 0; k < dtArr.Length; k++) { if (dtArr[k] != null && dtArr[k].Rows.Count > 0) { row = dt.NewRow(); row[0] = titleArr[k]; for (int i = 1; i < 11; i++) { row[i] = ""; } dt.Rows.Add(row); foreach (DataRow dr in dtArr[k].Rows) { drow = dt.NewRow(); for (int i = 0; i < 11; i++) { if (i < dr.ItemArray.Length) drow[i] = dr[i].ToString(); } dt.Rows.Add(drow); } row = dt.NewRow(); for (int i = 0; i < 11; i++) { row[i] = ""; } dt.Rows.Add(row); } } string FileName = brandObj.Brand_Name + "_" + System.DateTime.Parse(Convert.ToString(System.DateTime.Now)).ToString("yyyy-MM-dd"); DataSet dsett = new DataSet(); dsett.Tables.Add(dt); IWOMTrends.Common.CommonFunction.ExportCSV(dt, Page.Response, FileName, true); } } } }}