コード例 #1
0
        public FuncResult Select([FromBody] FactTradeInfoHourModel model)
        {
            //model.page--; if (model.page < 0)
            //{
            //    model.page = 0;
            //}
            //接受传递过来的参数处理.

            return(FactTradeHourBLL.Select(model));
        }
コード例 #2
0
        /// <summary>
        /// 查询列表
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public FuncResult Select(FactTradeInfoHourModel model)
        {
            //先按条件查主表的数据返回一个list集合
            var stcodes = _context.OdsStoreMasters.Where(b => (string.IsNullOrWhiteSpace(model.stCity) || b.Stcity.Contains(b.Stcity)) &&
                                                         (string.IsNullOrWhiteSpace(model.stRegion) || b.Stregion.Contains(model.stRegion)) &&
                                                         (string.IsNullOrWhiteSpace(model.stDM) || b.Stdm.Contains(model.stDM))).Select(e => e.Stcode).ToList();
            //再按条件查出数据
            var query2 = (from a in _context.FactTradeInfoHours
                          where a.TRADE_DATE.ToShortDateString() == model.tradeDate.ToShortDateString()
                          group a by new { a.TRADE_DATE, a.TRADE_TIME_END, a.AC, a.TC, a.COVER, a.TRADE_MONEY }
                          into g
                          select new
            {
                TradeDate = g.Key.TRADE_DATE,
                TradeTimeEnd = g.Key.TRADE_TIME_END,
                Ac = g.Key.AC,
                Cover = g.Key.COVER,
                Tc = g.Key.TC,
                TradeMoney = g.Key.TRADE_MONEY
            }).ToList();
            //取得数据先
            //var query = from a in _context.OdsStoreMasters
            //            join b in _context.FactTradeInfoHours
            //            on a.Stcode equals b.STORE_CODE
            //            //条件
            //            where
            //            (b.TRADE_DATE.ToShortDateString() == model.tradeDate.ToShortDateString())
            //            &&
            //            (string.IsNullOrWhiteSpace(model.stCity) || a.Stcity.Contains(a.Stcity))
            //             &&
            //          (string.IsNullOrWhiteSpace(model.stRegion) || a.Stregion.Contains(model.stRegion))
            //             &&
            //          (string.IsNullOrWhiteSpace(model.stDM) || a.Stdm.Contains(model.stDM))
            //            select new FacTradHourRawModel
            //            {
            //                TradeDate = b.TRADE_DATE,
            //                TradeTimeEnd = b.TRADE_TIME_END,
            //                Ac = b.AC,
            //                Cover = b.COVER,
            //                Tc = b.TC,
            //                TradeMoney = b.TRADE_MONEY

            //            };
            var total = 0;

            if (model.tradeDate != null)
            {
                total = query2.Where(e => e.TradeDate == model.tradeDate).Count();
            }
            //根据最后小时排序分组成小时数据。
            var data = query2.ToList().GroupBy(e => e.TradeTimeEnd).Select(e => new
            {
                TradeTimeEnd = e.First().TradeTimeEnd.ToString(),
                TradeMoneey  = e.Sum(a => a.TradeMoney),
                TotalAc      = e.Sum(a => a.TradeMoney) == 0 ? 0 : e.Sum(a => a.TradeMoney) / e.Sum(a => a.Cover) == 0 ? 0 : e.Sum(a => a.Cover),
                Cover        = e.Sum(a => a.Cover),
                Tc           = e.Sum(a => a.Tc),
            });


            return(new FuncResult()
            {
                IsSuccess = true, Content = new { data, total }
            });
        }