⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad_stat.aspx.cs

📁 最好用的站点内容管理系统 全部源代码都有
💻 CS
📖 第 1 页 / 共 3 页
字号:
//======================================================
//==     (c)2008 aspxcms inc by NeTCMS v1.0              ==
//==          Forum:bbs.aspxcms.com                   ==
//==         Website:www.aspxcms.com                  ==
//======================================================
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 System.Data.OleDb;

public partial class manage_advertisement_ad_stat : NetCMS.Web.UI.ManagePage
{
    public manage_advertisement_ad_stat()
    {
        Authority_Code = "S006";
    }
    public string str_adsID = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            
        }
        str_adsID = NetCMS.Common.Input.checkID(Request.QueryString["adsID"]);
        string type=Request.QueryString["st"];
        switch (type)
        {
            case "hour":
                DivStat.InnerHtml = get24HourStat("1") + get24HourStat("0");
                break;
            case "day":
                DivStat.InnerHtml = getDayStat("1") + getDayStat("0");
                break;
            case "week":
                DivStat.InnerHtml = getWeekStat("1") + getWeekStat("0");
                break;
            case "month":
                DivStat.InnerHtml = getMonthStat("1") + getMonthStat("0");
                break;
            case "year":
                DivStat.InnerHtml = getYearStat();
                break;
            case "source":
                DivStat.InnerHtml = getSourceStat();
                break;
            default:
                DivStat.InnerHtml = get24HourStat("1") + get24HourStat("0");
                break;
        }
        getCororight(); 
    }

    /// <summary>
    /// 获取最近24小时统计
    /// </summary>
    /// <param name="type">当type值为1时,返回最近24小时统计,否则返回所有的24小时统计</param>
    /// <returns>返回最近24小时统计</returns>
    /// Code By DengXi

    protected string get24HourStat(string type)
    {
        int int_MaxVCount = 0;
        string str_VCount = "";
        int int_Chour = int.Parse(Convert.ToDateTime(System.DateTime.Now).ToString("HH"));
        string str_temp = "";

        for (int i = 0; i <= 23; i++)
        {
            str_VCount = str_VCount + "0" + ",";
        }
        
        str_VCount = NetCMS.Common.Input.CutComma(str_VCount);
        string [] arr_VCount = str_VCount.Split(',');

        NetCMS.Content.Ads.Ads ac = new NetCMS.Content.Ads.Ads();
        DataTable dt = ac.get24HourStat(type, str_adsID);

        if (dt != null)
        {
            for (int j = 0; j < dt.Rows.Count; j++)
            {
                string str_Vtime = dt.Rows[j]["creatTime"].ToString();
                string str_Vhour = Convert.ToDateTime(str_Vtime).ToString("HH");
                for (int k = 0; k <= 23; k++)
                {
                    if (k == int.Parse(str_Vhour))
                    {
                        int int_tempstr = int.Parse(arr_VCount[k]) + 1;
                        arr_VCount[k] = int_tempstr.ToString();
                    }
                }
            }
            for (int l = 0; l <= 23; l++)
            {
                if (int.Parse(arr_VCount[l].ToString()) >= int_MaxVCount)
                {
                    int_MaxVCount = int.Parse(arr_VCount[l]);
                }
            }
        }
        string str_Vsize = "";
        for (int m = 0; m <= 23; m++)
        {
            if (int_MaxVCount != 0)
                str_Vsize = str_Vsize + (100 * int.Parse(arr_VCount[m]) / int_MaxVCount) + ",";
            else
                str_Vsize = str_Vsize + "0" + ",";
        }
        str_Vsize = NetCMS.Common.Input.CutComma(str_Vsize);
        string [] arr_Vsize = str_Vsize.Split(',');

        string strhour1 = "100%";
        string strhour2 = "75%";
        string strhour3 = "50%";
        string strhour4 = "25%";
        string strhourName = "访问量24小时分配图表";

        if (type == "1")
        {
            strhour1 = int_MaxVCount + "次";

            if (int_MaxVCount > 3)
            {
                strhour2 = Math.Round(int_MaxVCount * 0.75, 0) + "次";
            }
            else if (int_MaxVCount > 1)
                strhour2 = (int_MaxVCount - 1) + "次";
            else
                strhour2 = "&nbsp;";

            if (int_MaxVCount > 3)
                strhour3 = Math.Round(int_MaxVCount * 0.5, 0) + "次";
            else if (int_MaxVCount > 2)
                strhour3 = (int_MaxVCount - 2) + "次";
            else
                strhour3 = "&nbsp;";

            if (int_MaxVCount > 3)
                strhour4 = Math.Round(int_MaxVCount * 0.25, 0) + "次";
            else
                strhour4 = "&nbsp;";

            strhourName = "最近24小时统计图表";
        }
        str_temp += "<table border=\"0\" align=\"center\" cellpadding=\"2\" width=\"98%\">";
        str_temp += "<tr><td align=\"left\"><img src=\"../../sysImages/folder/stat.gif\" border=\"0\" />" + strhourName + "</td>";
        str_temp += "</tr><tr><td align=\"center\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
        str_temp += "<tr><td><table border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">";
        str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour1 + "</td></tr>";
        str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour2 + "</td></tr>";
        str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour3 + "</td></tr>";
        str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour4 + "</td></tr>";
        str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >0次</td></tr>";
        str_temp += " </table></td>";
        str_temp += " <td valign=\"bottom\">";

        if (type == "1")
        {
            str_temp += "<table align=\"center\" border=\"0\">";
            str_temp += "<tr valign=\"bottom\" >";
            for (int n = int_Chour + 1; n <= 23; n++)
            {
                str_temp += "<td width=\"15\" align=\"center\" background=\"../../sysImages/StatIcon/tu_back.gif\"><img src=\"../../sysImages/StatIcon/tu.gif\" width=\"15\" height=\"" + arr_Vsize[n] + "\" border=\"0\"><br />" + n + "</td>";
            }
            for (int o = 0; o <= int_Chour; o++)
            {
                str_temp += "<td width=\"15\" align=\"center\" background=\"../../sysImages/StatIcon/tu_back.gif\"><img src=\"../../sysImages/StatIcon/tu.gif\" width=\"15\" height=\"" + arr_Vsize[o] + "\" border=\"0\"><br />" + o + "</td>";
            }
        }
        else
        {
            str_temp += "<table align=\"center\" border=\"0\">";
            str_temp += "<tr valign=\"bottom\" >";
            str_temp += "<td width=\"15\" align=\"center\" background=\"../../sysImages/StatIcon/tu_back.gif\"><img src=\"../../sysImages/StatIcon/tu.gif\" width=\"15\" height=\"100\" border=\"0\"><br /> 总</td>";
            for (int p = 0; p <= 23; p++)
            {
                str_temp += "<td width=\"15\" align=\"center\" background=\"../../sysImages/StatIcon/tu_back.gif\"><img src=\"../../sysImages/StatIcon/tu.gif\" width=\"15\" height=\"" + arr_Vsize[p] + "\" border=\"0\"><br />" + p + "</td>";
            }
        }
        str_temp += "<td>单位(点)</td></tr></table>";
        str_temp += "</td></tr></table></td></tr></table>";
        return str_temp;
    }


    /// <summary>
    /// 获取日统计
    /// </summary>
    /// <param name="type">当type值为1时,返回当月日统计,否则返回所有的日统计</param>
    /// <returns>返回日统计信息</returns>
    /// Code By DengXi

    
    protected string getDayStat(string type)
    {
        int int_MaxVCount = 0;
        string str_VCount = "";
        int int_Cday = int.Parse(Convert.ToDateTime(System.DateTime.Now).ToString("dd"));
        string str_tempMD="";
        if (int.Parse(Convert.ToDateTime(System.DateTime.Now).ToString("mm")) == 1)
        {
            str_tempMD = getDayNum(int.Parse(Convert.ToDateTime(System.DateTime.Now).ToString("yy"))-1,12);
        }
        else
        {
            str_tempMD = getDayNum(int.Parse(Convert.ToDateTime(System.DateTime.Now).ToString("yy")),int.Parse(Convert.ToDateTime(System.DateTime.Now).ToString("mm"))-1);
        }
        string str_temp = "";
        for (int i = 1; i <= 32; i++)
        {
            str_VCount = str_VCount + "0" + ",";
        }
        str_VCount = NetCMS.Common.Input.CutComma(str_VCount);
        string[] arr_VCount = str_VCount.Split(',');

        NetCMS.Content.Ads.Ads ac = new NetCMS.Content.Ads.Ads();
        DataTable dt = ac.getDayStat(type, str_adsID, str_tempMD);


        if (dt != null)
        {
            for (int j = 0; j < dt.Rows.Count; j++)
            {
                string str_Vtime = dt.Rows[j]["creatTime"].ToString();
                int str_Vday = int.Parse(Convert.ToDateTime(str_Vtime).ToString("dd"));
                for (int k = 0; k <= int.Parse(str_tempMD); k++)
                {
                    if (k == str_Vday)
                    {
                        int int_tempstr = int.Parse(arr_VCount[k].ToString()) + 1;
                        arr_VCount[k] = int_tempstr.ToString();
                    }
                }
                for (int l = 0; l <= int.Parse(str_tempMD); l++)
                {
                    if (int.Parse(arr_VCount[l].ToString()) >= int_MaxVCount)
                    {
                        int_MaxVCount = int.Parse(arr_VCount[l]);
                    }
                }
            }
        }

        string str_Vsize = "";
        for (int m = 0; m < 31; m++)
        {
            if (int_MaxVCount != 0)
                str_Vsize = str_Vsize + (100 * int.Parse(arr_VCount[m]) / int_MaxVCount) + ",";
            else
                str_Vsize = str_Vsize + "1" + ",";
        }
        str_Vsize = NetCMS.Common.Input.CutComma(str_Vsize);
        string[] arr_Vsize = str_Vsize.Split(',');

        string strhour1 = "100%";
        string strhour2 = "75%";
        string strhour3 = "50%";
        string strhour4 = "25%";
        string strhourName = "访问量月统计分配图表";

        if (type == "1")
        {
            strhour1 = int_MaxVCount + "次";

            if (int_MaxVCount > 3)
            {
                strhour2 = Math.Round(int_MaxVCount * 0.75, 0) + "次";
            }
            else if (int_MaxVCount > 1)
                strhour2 = (int_MaxVCount - 1) + "次";
            else
                strhour2 = "&nbsp;";

            if (int_MaxVCount > 3)
                strhour3 = Math.Round(int_MaxVCount * 0.5, 0) + "次";
            else if (int_MaxVCount > 2)
                strhour3 = (int_MaxVCount - 2) + "次";
            else
                strhour3 = "&nbsp;";

            if (int_MaxVCount > 3)
                strhour4 = Math.Round(int_MaxVCount * 0.25, 0) + "次";
            else
                strhour4 = "&nbsp;";
            strhourName = "访问量31天分配图表";
        }
        str_temp += "<table border=\"0\" align=\"center\" cellpadding=\"2\" width=\"98%\">";
        str_temp += "<tr><td align=\"left\"><img src=\"../../sysImages/folder/stat.gif\" border=\"0\" />" + strhourName + "</td>";
        str_temp += "</tr><tr><td align=\"center\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
        str_temp += "<tr><td><table border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">";
        str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour1 + "</td></tr>";
        str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour2 + "</td></tr>";
        str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour3 + "</td></tr>";
        str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >" + strhour4 + "</td></tr>";
        str_temp += "<tr><td height=\"25\" valign=\"top\" align=\"right\" >0次</td></tr>";
        str_temp += " </table></td>";
        str_temp += " <td valign=\"bottom\">";
        if (type == "1")
        {
            str_temp += "<table align=\"center\" border=\"0\">";
            str_temp += "<tr valign=\"bottom\" >";
            for (int n = int_Cday + 1; n < int.Parse(str_tempMD) + 1; n++)
            {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -