コード例 #1
0
        /// <summary>
        /// 获取ED订单的趋势统计
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public List <OrderTrendResultDto> GetOrderTrendListAsync(OrderReportInputDto input)
        {
            List <OrderTrendResultDto> list = new List <OrderTrendResultDto>();

            list.Add(new OrderTrendResultDto()
            {
                Item        = "男人",
                OrderNumber = 1,
                OrderDate   = "5月1日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "女人",
                OrderNumber = 2,
                OrderDate   = "5月1日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "小孩",
                OrderNumber = 3,
                OrderDate   = "5月1日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "男人",
                OrderNumber = 3,
                OrderDate   = "5月2日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "女人",
                OrderNumber = 2,
                OrderDate   = "5月2日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "小孩",
                OrderNumber = 1,
                OrderDate   = "5月2日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "男人",
                OrderNumber = 2,
                OrderDate   = "5月3日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "女人",
                OrderNumber = 1,
                OrderDate   = "5月3日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "小孩",
                OrderNumber = 3,
                OrderDate   = "5月3日"
            });
            return(list);
        }
コード例 #2
0
        /// <summary>
        /// 获取ED订单占比
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public List <OrderProportionResultDto> GetOrderProportionListAsync(OrderReportInputDto input)
        {
            List <OrderProportionResultDto> list = new List <OrderProportionResultDto>();

            list.Add(new OrderProportionResultDto()
            {
                Item  = "男人",
                Count = 15
            });
            list.Add(new OrderProportionResultDto()
            {
                Item  = "女人",
                Count = 30
            });
            list.Add(new OrderProportionResultDto()
            {
                Item  = "小孩",
                Count = 30
            });
            return(list);
        }
コード例 #3
0
 public Object GetOrderDetailList(OrderReportInputDto input)
 {
     return(_rpReportViewBusiness.GetOrderDetailListAsync(input));
 }
コード例 #4
0
        /// <summary>
        /// 组合数据
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public Object GetOrderDetailListAsync(OrderReportInputDto input)
        {
            List <OrderTrendResultDto> list = new List <OrderTrendResultDto>();

            list.Add(new OrderTrendResultDto()
            {
                Item        = "男人",
                OrderNumber = 1,
                OrderDate   = "5月1日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "女人",
                OrderNumber = 2,
                OrderDate   = "5月1日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "小孩",
                OrderNumber = 3,
                OrderDate   = "5月1日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "男人",
                OrderNumber = 3,
                OrderDate   = "5月2日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "女人",
                OrderNumber = 2,
                OrderDate   = "5月2日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "小孩",
                OrderNumber = 1,
                OrderDate   = "5月2日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "男人",
                OrderNumber = 2,
                OrderDate   = "5月3日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "女人",
                OrderNumber = 1,
                OrderDate   = "5月3日"
            });
            list.Add(new OrderTrendResultDto()
            {
                Item        = "小孩",
                OrderNumber = 3,
                OrderDate   = "5月3日"
            });
            DataTable dt = new DataTable();

            dt.Columns.Add("Id", typeof(int));
            dt.Columns.Add("Item", typeof(string));
            list.GroupBy(a => a.OrderDate).ForEach(a =>
            {
                dt.Columns.Add(a.Key, typeof(string));
            });
            dt.Columns.Add("汇总", typeof(int));
            list.ForEach(a =>
            {
                //添加一行数据
                var rows = dt.AsEnumerable().Where(b => b["Item"].ToString() == a.Item)?.FirstOrDefault();
                if (rows == null)
                {
                    var newRow     = dt.NewRow();
                    newRow["Item"] = a.Item;
                    newRow["Id"]   = dt.Rows.Count + 1;
                    foreach (DataColumn dtColumn in dt.Columns)
                    {
                        if (dt.Columns.Contains(a.OrderDate))
                        {
                            newRow[a.OrderDate] = a.OrderNumber;
                        }
                    }
                    dt.Rows.Add(newRow);
                }
                else
                {
                    foreach (DataColumn dtColumn in dt.Columns)
                    {
                        if (dt.Columns.Contains(a.OrderDate))
                        {
                            rows[a.OrderDate] = a.OrderNumber;
                        }
                    }
                }
            });
            //行汇总
            foreach (DataRow dtRow in dt.Rows)
            {
                var sumCount = 0;
                list.GroupBy(a => a.OrderDate).Select(a => a.Key).ForEach(a =>
                {
                    if (dt.Columns.Contains(a))
                    {
                        sumCount += Convert.ToInt32(dtRow[a]);
                    }
                });
                dtRow["汇总"] = sumCount;
            }
            var lastRow = dt.NewRow();

            lastRow["Item"] = "汇总";
            lastRow["Id"]   = dt.Rows.Count + 1;
            //列汇总
            list.Select(a => a.OrderDate).ForEach(a =>
            {
                var sumCount = 0;
                dt.AsEnumerable().Select(b => b[a]).ForEach(c => { sumCount += Convert.ToInt32(c); });
                lastRow[a] = sumCount;
            });
            //汇总列行总
            var lastSumCount = 0;

            dt.AsEnumerable().Select(b => b["汇总"]).ForEach(c => { lastSumCount += Convert.ToInt32(c); });
            lastRow["汇总"] = lastSumCount;
            dt.Rows.Add(lastRow);
            return(dt);
        }
コード例 #5
0
 public List <OrderTrendResultDto> GetOrderTrendList(OrderReportInputDto input)
 {
     return(_rpReportViewBusiness.GetOrderTrendListAsync(input));
 }