コード例 #1
0
ファイル: ProductStat.aspx.cs プロジェクト: wayshan/tljs
        protected Model.OrdersCondition condition()
        {
            Model.OrdersCondition con = new Model.OrdersCondition
            {
                KeyWords = this.txtKeyWords.Text.Trim()
            };

            con.dateTime = ddlDateTime.SelectedValue;
            if (!string.IsNullOrEmpty(txtDateStart.Text))
            {
                con.startTime = DateTime.Parse(txtDateStart.Text);
            }
            if (!string.IsNullOrEmpty(txtDateEnd.Text))
            {
                con.endTime = DateTime.Parse(txtDateEnd.Text);
            }

            if (!string.IsNullOrEmpty(ddlAppKeyID.SelectedValue))
            {
                con.AdId = ddlAppKeyID.SelectedValue;
            }
            if (!string.IsNullOrEmpty(ddlAccount.SelectedValue))
            {
                con.setName = ddlAccount.SelectedValue;
            }


            return(con);
        }
コード例 #2
0
        protected void DataInfoBind()
        {
            ShowPager.PageSize = PageSize;
            int total = 0;

            Model.OrdersCondition con = condition();
            var list = bllOrders.GetList(ShowPager.CurrentPageIndex, ShowPager.PageSize, ref total, con, p => p.ID, false);

            ShowPager.RecordCount  = total;
            this.rpData.DataSource = list;
            this.rpData.DataBind();


            listAll         = bllOrders.GetList(1, int.MaxValue, ref total, con, p => p.ID, false);
            totalyj         = listAll.Sum(m => m.Effect.HasValue ? m.Effect.Value : 0.00m);
            totalyjds       = listAll.Sum(m => m.Effect.HasValue ? Math.Round(m.Effect.Value * 0.84m, 2) : 0.00m);
            totallijin      = listAll.Sum(m => m.lijin.HasValue ? m.lijin.Value : 0.00m);
            totalrealshouru = listAll.Sum(m => m.realshouru.HasValue ? m.realshouru.Value : 0.00m);
            totalmd_amount  = listAll.Where(p => p.realshouru < 0).Sum(m => m.realshouru.HasValue ? m.realshouru.Value : 0.00m);
            totalmd_count   = listAll.Where(p => p.realshouru < 0).Count();
        }
コード例 #3
0
 protected Model.OrdersCondition condition()
 {
     Model.OrdersCondition con = new Model.OrdersCondition();
     con.isstat = true;
     if (!string.IsNullOrEmpty(txtDateStart.Text))
     {
         con.statStartTime = DateTime.Parse(txtDateStart.Text);
     }
     if (!string.IsNullOrEmpty(txtDateEnd.Text))
     {
         con.statEndTime = DateTime.Parse(txtDateEnd.Text).AddDays(1);
     }
     if (!string.IsNullOrEmpty(ddlAppKeyID.SelectedValue))
     {
         con.AdId = ddlAppKeyID.SelectedValue;
     }
     if (!string.IsNullOrEmpty(ddlAccount.SelectedValue))
     {
         con.setName = ddlAccount.SelectedValue;
     }
     return(con);
 }
コード例 #4
0
ファイル: ProductStat.aspx.cs プロジェクト: wayshan/tljs
        protected void DataInfoBind()
        {
            ShowPager.PageSize = PageSize;
            int total = 0;

            Model.OrdersCondition con = condition();
            var iEnumerale            = bllOrders.GetList(1, int.MaxValue, ref total, con, p => p.ID, false)
                                        .GroupBy(m => new
            {
                m.ProductID,
                m.ProductName,
                m.OwnedShop,
                m.pic
            }).Select(m => new
            {
                ProductID            = m.Key.ProductID,
                ProductName          = m.Key.ProductName,
                OwnedShop            = m.Key.OwnedShop,
                pic                  = m.Key.pic,
                totalLijin           = m.Sum(p => p.lijin.HasValue ? p.lijin.Value : 0.00m),
                totalRealshouru      = m.Sum(p => p.realshouru.HasValue ? p.realshouru.Value : 0.00m),
                totalEffect          = m.Sum(p => p.Effect.HasValue ? p.Effect.Value : 0.00m),
                totalValidEffect     = m.Where(p => p.OrderStatus == "订单付款" || p.OrderStatus == "订单结算").Sum(p => p.Effect.HasValue ? p.Effect.Value : 0.00m),
                totalOrderNums       = m.Count(),
                totalValidOrderNums  = m.Where(p => p.OrderStatus == "订单付款" || p.OrderStatus == "订单结算").Count(),
                totalReturnOrderNums = m.Where(p => p.OrderStatus == "订单失效").Count(),
                adverLijin           = m.Where(p => p.OrderStatus == "订单付款" || p.OrderStatus == "订单结算").Count() > 0 ?
                                       Convert.ToDecimal(Math.Round(m.Sum(p => p.lijin.HasValue ? p.lijin.Value : 0.00m) / (m.Where(p => p.OrderStatus == "订单付款" || p.OrderStatus == "订单结算").Count()), 2, MidpointRounding.AwayFromZero)) : 0.00m
            }).OrderByDescending(m => m.totalEffect);

            var list = iEnumerale.Skip((ShowPager.CurrentPageIndex - 1) * ShowPager.PageSize).Take(ShowPager.PageSize).ToList();

            total = iEnumerale.Count();
            ShowPager.RecordCount = total;

            this.rpData.DataSource = list;
            this.rpData.DataBind();
        }
コード例 #5
0
        protected void getData()
        {
            listRes.Clear();
            DateTime dtNow = new DateTime();

            if (!string.IsNullOrEmpty(txtDateStart.Text) && !string.IsNullOrEmpty(txtDateEnd.Text))
            {
                DateTime dtStart = DateTime.Parse(txtDateStart.Text);
                DateTime dtEnd   = DateTime.Parse(txtDateEnd.Text);
                for (DateTime dt = dtStart; dt <= dtEnd; dt = dt.AddDays(1))
                {
                    listRes.Add(new TljStatXls {
                        dotime     = dt.ToString("yyyy-MM-dd"),
                        yj         = 0.00m,
                        yjds       = 0.00m,
                        use_amount = 0.00m,
                        ykresult   = 0.00m,
                        md_amount  = 0.00m,
                        md_count   = 0
                    });
                }

                int total = 0;
                Model.OrdersCondition con = condition();
                var list = bllOrder.GetList(1, int.MaxValue, ref total, con, m => m.CreateTime)
                           .GroupBy(m => new
                {
                    dotime = m.CreateTime.Value.ToString("yyyy-MM-dd")
                })
                           .Select(m => new
                {
                    yj         = m.Sum(p => p.Effect.HasValue ? p.Effect.Value : 0.00m),
                    yjds       = m.Sum(p => p.Effect.HasValue ? Math.Round(p.Effect.Value * 0.84m, 2) : 0.00m),
                    use_amount = m.Sum(p => p.lijin.HasValue ? p.lijin.Value : 0.00m),
                    ykresult   = m.Sum(p => p.realshouru.HasValue ? p.realshouru.Value : 0.00m),
                    md_amount  = m.Where(p => p.realshouru < 0).Sum(p => p.realshouru.HasValue ? p.realshouru.Value : 0.00m),
                    md_count   = m.Where(p => p.realshouru < 0).Count(),
                    dotime     = m.Key.dotime
                });

                listRes.ForEach(m =>
                {
                    foreach (var item in list)
                    {
                        if (item.dotime == m.dotime)
                        {
                            m.yj         = item.yj;
                            m.yjds       = item.yjds;
                            m.use_amount = item.use_amount;
                            m.ykresult   = item.ykresult;
                            m.md_amount  = item.md_amount;
                            m.md_count   = item.md_count;
                        }
                    }
                });


                xAxis_arr      = Newtonsoft.Json.JsonConvert.SerializeObject(listRes.Select(m => m.dotime).ToArray());
                yj_arr         = Newtonsoft.Json.JsonConvert.SerializeObject(listRes.Select(m => m.yj).ToArray());
                yjds_arr       = Newtonsoft.Json.JsonConvert.SerializeObject(listRes.Select(m => m.yjds).ToArray());
                use_amount_arr = Newtonsoft.Json.JsonConvert.SerializeObject(listRes.Select(m => m.use_amount).ToArray());
                md_amount_arr  = Newtonsoft.Json.JsonConvert.SerializeObject(listRes.Select(m => m.md_amount).ToArray());
                ykresult_arr   = Newtonsoft.Json.JsonConvert.SerializeObject(listRes.Select(m => m.ykresult).ToArray());

                totalyj         = list.Sum(m => m.yj);
                totalyjds       = list.Sum(m => m.yjds);
                totaluse_amount = list.Sum(m => m.use_amount);
                totalykresult   = list.Sum(m => m.ykresult);
                totalmd_amount  = list.Sum(m => m.md_amount);
                totalmd_count   = list.Sum(m => m.md_count);
            }
        }
コード例 #6
0
ファイル: ProductStat.aspx.cs プロジェクト: wayshan/tljs
        protected void btnExcel_Click(object sender, EventArgs e)
        {
            int total = 0;

            Model.OrdersCondition con = condition();
            var listAll = bllOrders.GetList(1, int.MaxValue, ref total, con, p => p.ID, false)
                          .GroupBy(m => new
            {
                m.ProductID,
                m.ProductName,
                m.OwnedShop,
                m.pic
            }).Select(m => new
            {
                ProductID            = m.Key.ProductID,
                ProductName          = m.Key.ProductName,
                OwnedShop            = m.Key.OwnedShop,
                pic                  = m.Key.pic,
                totalLijin           = m.Sum(p => p.lijin.HasValue ? p.lijin.Value : 0.00m),
                totalRealshouru      = m.Sum(p => p.realshouru.HasValue ? p.realshouru.Value : 0.00m),
                totalEffect          = m.Sum(p => p.Effect.HasValue ? p.Effect.Value : 0.00m),
                totalValidEffect     = m.Where(p => p.OrderStatus == "订单付款" || p.OrderStatus == "订单结算").Sum(p => p.Effect.HasValue ? p.Effect.Value : 0.00m),
                totalOrderNums       = m.Count(),
                totalValidOrderNums  = m.Where(p => p.OrderStatus == "订单付款" || p.OrderStatus == "订单结算").Count(),
                totalReturnOrderNums = m.Where(p => p.OrderStatus == "订单失效").Count(),
                adverLijin           = m.Where(p => p.OrderStatus == "订单付款" || p.OrderStatus == "订单结算").Count() > 0 ?
                                       Convert.ToDecimal(Math.Round(m.Sum(p => p.lijin.HasValue ? p.lijin.Value : 0.00m) / (m.Where(p => p.OrderStatus == "订单付款" || p.OrderStatus == "订单结算").Count()), 2, MidpointRounding.AwayFromZero)) : 0.00m
            }).OrderByDescending(m => m.totalEffect);


            var excelList = new List <Model.ProductStatXls>();

            foreach (var i in listAll)
            {
                excelList.Add(new Model.ProductStatXls
                {
                    ProductName          = i.ProductName,
                    ProductID            = i.ProductID,
                    OwnedShop            = i.OwnedShop,
                    totalEffect          = i.totalEffect,
                    totalValidEffect     = i.totalValidEffect,
                    totalLijin           = i.totalLijin,
                    adverLijin           = i.adverLijin,
                    totalRealshouru      = i.totalRealshouru,
                    totalOrderNums       = i.totalOrderNums,
                    totalValidOrderNums  = i.totalValidOrderNums,
                    totalReturnOrderNums = i.totalReturnOrderNums
                });
            }

            string fileName = string.Format("产品排行_{0}.xls", DateTime.Now.ToString("yyyy-MM-dd"));
            ExcelHelp <Model.ProductStatXls> excelH = new ExcelHelp <Model.ProductStatXls>();
            Hashtable ht = new Hashtable();

            ht.Add("ProductName", "商品名称");
            ht.Add("ProductID", "商品ID");
            ht.Add("OwnedShop", "店铺名");
            ht.Add("totalEffect", "全部佣金");
            ht.Add("totalValidEffect", "有效佣金");
            ht.Add("totalLijin", "合计礼金");
            ht.Add("adverLijin", "平均礼金");
            ht.Add("totalRealshouru", "实际收益");
            ht.Add("totalOrderNums", "全部订单");
            ht.Add("totalValidOrderNums", "有效订单");
            ht.Add("totalReturnOrderNums", "退款订单");

            excelH.getExcel(excelList, ht, fileName);
        }