Exemple #1
0
        /// <summary>
        /// 获取报表数据主入口
        /// </summary>
        /// <param name="context">请求context</param>
        /// <returns></returns>
        public Model.ReturnValue GetReport(HttpContext context)
        {
            Model.ReturnValue rv = new Model.ReturnValue();

            string GetResult = context.Request["GetResult"];

            switch (GetResult)
            {
            case "WheaterStatistics":
                rv = GetWheaterStatistics();
                break;

            case "PartakeTrend":
                rv = GetPartakeTrend();
                break;

            case "WholeCountry":
                rv = GetWholeCountry();
                break;

            case "AwardStatistics":
                rv = GetAwardStatistics();
                break;
            }

            return(rv);
        }
Exemple #2
0
        /// <summary>
        /// 参与趋势与中奖趋势
        /// </summary>
        /// <returns></returns>
        public Model.ReturnValue GetPartakeTrend()
        {
            Model.ReturnValue rv = new Model.ReturnValue();

            Dictionary <string, string> Person = new Dictionary <string, string>();

            Db.OrderInfoDal OrderInfoDal = new Db.OrderInfoDal();

            #region 参与人次

            string    sql = " select a.Hours name,(select COUNT(1) from OrderInfo where DATEPART(hh, CreateTime) = a.hours) as value from hoursinfo a";
            DataTable dt  = Db.ConDal.GetList(sql);

            Person.Add("Data1", Common.JsonHelper.DataTableToJson(dt));

            #endregion

            #region 中奖人次

            string    sql2 = " select a.Hours name,(select COUNT(1) from OrderInfo where DATEPART(hh, CreateTime) = a.hours and Jx<>'参与奖') as value from hoursinfo a";
            DataTable dt2  = Db.ConDal.GetList(sql2);

            Person.Add("Data2", Common.JsonHelper.DataTableToJson(dt2));

            #endregion

            rv.ObjectValue = Person;
            rv.Success     = true;
            rv.ErrMessage  = "获取成功";

            return(rv);
        }
        public Model.ReturnValue LoadRibbon(ViewModel.ViewModelBase vm)
        {
            var pageID = vm.PageID;
            var path = vm.Path;
            var rv = new Model.ReturnValue();
            var realPath=ResourceFile.MapXMLPath(path, "Ribbon");
            if(!ResourceFile.Exists(realPath))
            {
                rv.Result = false;
                rv.Message = "file does not exist.";
                return rv;
            }
            var root = XDocument.Load(System.Windows.Application.GetResourceStream(
                new Uri(realPath)).Stream).Root;
            var tabs = root.Elements("RibbonTab");

            List<RibbonTab> pageTabs;
            if (_ribTabs.ContainsKey(pageID))
                pageTabs = _ribTabs[pageID];
            else
            {
                pageTabs = new List<RibbonTab>();
                _ribTabs.Add(pageID, pageTabs);
            }
            foreach (var xt in tabs)
            {
                var rt = CreateRibbonTab(xt);
                var rtHeader = rt.Header.ToString();
                //子页面与子页面之间的header允许重复
                //但是任何一个子页面的header 不能与默认页面的header重复.
                //所以, 当遇到与默认页面header重复时, 认为是在覆盖默认tab
                if (_defaultTabs.ContainsKey(rtHeader))
                {
                    if (rt.Tag != null && rt.Tag.ToString().ToLower() == "overwrite")
                        _defaultTabs[rtHeader].Items.Clear();
                    while (rt.Items.Count > 0)
                    {
                        var rg = rt.Items[0];
                        rt.Items.Remove(rg);
                        _defaultTabs[rtHeader].Items.Add(rg);
                    }

                    if (rt.IsSelected)
                        _defaultTabs[rtHeader].IsSelected = true;
                }
                else
                {
                    _rib.Items.Add(rt);
                    pageTabs.Add(rt);
                }

            }
            return rv;
        }
Exemple #4
0
        /// <summary>
        /// 奖项统计
        /// </summary>
        /// <returns></returns>
        public Model.ReturnValue GetAwardStatistics()
        {
            Model.ReturnValue rv = new Model.ReturnValue();

            Dictionary <string, object> Person = new Dictionary <string, object>();

            Db.OrderInfoDal        OrderInfoDal        = new Db.OrderInfoDal();
            Db.AwardsStatisticsDal AwardsStatisticsDal = new Db.AwardsStatisticsDal();

            //获取中奖奖项统计订单
            List <Model.AwardsStatisticsModel> AwardsStatisticsList = AwardsStatisticsDal.GetModelList().Where(w => w.AwardsType == 1 && w.AwardsId != 7).ToList();

            #region 中奖人数

            List <SeriesData> DrawData = new List <SeriesData>();

            foreach (var model in AwardsStatisticsList)
            {
                DrawData.Add(new SeriesData()
                {
                    name  = model.AwardsName,
                    value = model.AllTotal
                });
            }

            Person.Add("Data1", DrawData);

            #endregion

            #region 发奖人数

            string sql = " select a.AwardsName name,(select COUNT(1) from [OrderInfo] where Jx=a.AwardsName) as value from AwardsStatistics a where  AwardsType = 1 and AwardsId <> 7";
            //string sql = "select jx as name,count(jx) as value FROM [OrderInfo] group by jx";
            DataTable dt = Db.ConDal.GetList(sql);

            Person.Add("Data2", Common.JsonHelper.DataTableToJson(dt));

            #endregion

            rv.ObjectValue = Person;
            rv.Success     = true;
            rv.ErrMessage  = "获取成功";

            return(rv);
        }
Exemple #5
0
        /// <summary>
        /// 全国参与分布图
        /// </summary>
        /// <returns></returns>
        public Model.ReturnValue GetWholeCountry()
        {
            Model.ReturnValue rv = new Model.ReturnValue();

            Dictionary <string, string> Person = new Dictionary <string, string>();

            Db.OrderInfoDal OrderInfoDal = new Db.OrderInfoDal();

            #region IP地归

            string    sql = " select right([IpAddress],(charindex('-',[IpAddress])-1)) as name,count([IpAddress]) as value FROM [OrderInfo] group by [IpAddress]";
            DataTable dt  = Db.ConDal.GetList(sql);

            Person.Add("Data1", Common.JsonHelper.DataTableToJson(dt));

            #endregion

            rv.ObjectValue = Person;
            rv.Success     = true;
            rv.ErrMessage  = "获取成功";

            return(rv);
        }
Exemple #6
0
        public Model.ReturnValue LoadRibbon(ViewModel.ViewModelBase vm)
        {
            var pageID   = vm.PageID;
            var path     = vm.Path;
            var rv       = new Model.ReturnValue();
            var realPath = ResourceFile.MapXMLPath(path, "Ribbon");

            if (!ResourceFile.Exists(realPath))
            {
                rv.Result  = false;
                rv.Message = "file does not exist.";
                return(rv);
            }
            var root = XDocument.Load(System.Windows.Application.GetResourceStream(
                                          new Uri(realPath)).Stream).Root;
            var tabs = root.Elements("RibbonTab");

            List <RibbonTab> pageTabs;

            if (_ribTabs.ContainsKey(pageID))
            {
                pageTabs = _ribTabs[pageID];
            }
            else
            {
                pageTabs = new List <RibbonTab>();
                _ribTabs.Add(pageID, pageTabs);
            }
            foreach (var xt in tabs)
            {
                var rt       = CreateRibbonTab(xt);
                var rtHeader = rt.Header.ToString();
                //子页面与子页面之间的header允许重复
                //但是任何一个子页面的header 不能与默认页面的header重复.
                //所以, 当遇到与默认页面header重复时, 认为是在覆盖默认tab
                if (_defaultTabs.ContainsKey(rtHeader))
                {
                    if (rt.Tag != null && rt.Tag.ToString().ToLower() == "overwrite")
                    {
                        _defaultTabs[rtHeader].Items.Clear();
                    }
                    while (rt.Items.Count > 0)
                    {
                        var rg = rt.Items[0];
                        rt.Items.Remove(rg);
                        _defaultTabs[rtHeader].Items.Add(rg);
                    }

                    if (rt.IsSelected)
                    {
                        _defaultTabs[rtHeader].IsSelected = true;
                    }
                }
                else
                {
                    _rib.Items.Add(rt);
                    pageTabs.Add(rt);
                }
            }
            return(rv);
        }
Exemple #7
0
        /// <summary>
        /// 参与统计
        /// </summary>
        /// <returns></returns>
        public Model.ReturnValue GetWheaterStatistics()
        {
            Model.ReturnValue rv = new Model.ReturnValue();

            Dictionary <string, List <SeriesData> > Person = new Dictionary <string, List <SeriesData> >();

            Db.OrderInfoDal        OrderInfoDal        = new Db.OrderInfoDal();
            Db.AwardsStatisticsDal AwardsStatisticsDal = new Db.AwardsStatisticsDal();

            //获取奖项统计订单
            List <Model.AwardsStatisticsModel> AwardsStatisticsList = AwardsStatisticsDal.GetModelList().Where(w => w.AwardsType == 1).ToList();

            #region 昨日

            List <SeriesData> YesterdayData = new List <SeriesData>();
            YesterdayData.Add(new SeriesData()
            {
                name  = "参与人次",
                value = AwardsStatisticsList.Sum(s => s.YesterdayTotal)
            });

            YesterdayData.Add(new SeriesData()
            {
                name  = "中奖人次",
                value = AwardsStatisticsList.Where(w => w.AwardsId != 7).ToList().Sum(s => s.YesterdayTotal)
            });

            YesterdayData.Add(new SeriesData()
            {
                name  = "发奖人次",
                value = OrderInfoDal.CheckCount(string.Format(" and Jx<>'参与奖' and States=1 and DateStamp='{0}'", DateTime.Now.AddDays(-1).ToString("yyyyMMdd")))
            });

            Person.Add("Data1", YesterdayData);

            #endregion

            #region 今日

            List <SeriesData> TodayData = new List <SeriesData>();
            TodayData.Add(new SeriesData()
            {
                name  = "参与人次",
                value = AwardsStatisticsList.Sum(s => s.TodayTotal)
            });

            TodayData.Add(new SeriesData()
            {
                name  = "中奖人次",
                value = AwardsStatisticsList.Where(w => w.AwardsId != 7).ToList().Sum(s => s.TodayTotal)
            });

            TodayData.Add(new SeriesData()
            {
                name  = "发奖人次",
                value = OrderInfoDal.CheckCount(string.Format(" and Jx<>'参与奖' and States=1 and DateStamp='{0}'", DateTime.Now.ToString("yyyyMMdd")))
            });

            Person.Add("Data2", TodayData);

            #endregion

            #region 累计

            List <SeriesData> AllData = new List <SeriesData>();
            AllData.Add(new SeriesData()
            {
                name  = "参与人次",
                value = AwardsStatisticsList.Sum(s => s.AllTotal)
            });

            AllData.Add(new SeriesData()
            {
                name  = "中奖人次",
                value = AwardsStatisticsList.Where(w => w.AwardsId != 7).ToList().Sum(s => s.AllTotal)
            });

            AllData.Add(new SeriesData()
            {
                name  = "发奖人次",
                value = OrderInfoDal.CheckCount(string.Format(" and Jx<>'参与奖' and States=1 "))
            });

            Person.Add("Data3", AllData);

            #endregion

            rv.ObjectValue = Person;
            rv.Success     = true;
            rv.ErrMessage  = "获取成功";

            return(rv);
        }