Exemplo n.º 1
0
        /// <summary>
        /// 抢单、完成时长统计
        /// </summary>
        /// <param name="queryInfo"></param>
        /// <returns></returns>
        public IList <JieDanTimeInfo> QueryJieDanTime(ParamJieDanTimeInfo queryInfo)
        {
            #region sql Text

            const string sqlText = @"
declare @clienterCount int
select @clienterCount =count(1) from dbo.clienter c(nolock) where c.Status=1
select convert(char(10),o.PubDate,120) 'Date',
	count(1) 'TaskCount',
	@clienterCount 'ClienterCount', 
	count(1)*1.0/@clienterCount 'AvgClienterCount',
	count(distinct o.clienterId) 'ActiveClienterCount',
	count(1)*1.0/count(distinct o.clienterId) 'AvgActiveClienterCount',
	sum(datediff(second,o.PubDate,osl.InsertTime)) 'PubReciveTotalSeconds',
	sum(datediff(second,o.PubDate,osl.InsertTime))*1.0/count(1)/60 'AvgPubReceiveMinutes',
	sum(datediff(second,o.PubDate,o.ActualDoneDate)) 'PubCompleteTotalSeconds',
	sum(datediff(second,o.PubDate,o.ActualDoneDate))*1.0/count(1)/60 'AvgPubCompleteMinutes'
from dbo.[order] o(nolock)
	join dbo.OrderSubsidiesLog osl(nolock) on o.Id=osl.OrderId and osl.OrderStatus=2
where o.Status=1
	and o.PubDate between @startdate and @enddate
	and o.Id not in (266957)
group by convert(char(10),o.PubDate,120)
order by convert(char(10),o.PubDate,120)";

            #endregion

            var dbParameters = DbHelper.CreateDbParameters();
            dbParameters.Add("startdate", DbType.Date).Value = queryInfo.StartDate.Value;
            dbParameters.Add("enddate", DbType.Date).Value   = queryInfo.EndDate.Value;

            return(DbHelper.QueryWithRowMapper(SuperMan_Read, sqlText, dbParameters,
                                               new JieDanTimeInfoRowMapper()));
        }
        public object QueryJieDanTime([FromBody] ParamJieDanTimeInfo queryInfo)
        {
            if (queryInfo == null || !queryInfo.StartDate.HasValue || !queryInfo.EndDate.HasValue)
            {
                return(Json(new ResultModel(false, "时间条件不允许为null", null)));
            }

            if ((queryInfo.EndDate.Value.AddDays(1) - queryInfo.StartDate.Value).Days > 3)
            {
                return(Json(new ResultModel(false, "最多查询3天数据,请更改查询条件", null)));
            }

            var lstJieDans = orderProvider.QueryJieDanTimeInfo(queryInfo);

            return(new ResultModel(true, string.Empty, lstJieDans));
        }
Exemplo n.º 3
0
        public IList <JieDanTimeInfo> QueryJieDanTimeInfo(ParamJieDanTimeInfo queryInfo)
        {
            AssertUtils.ArgumentNotNull(queryInfo, "queryInfo");
            AssertUtils.ArgumentNotNull(queryInfo.StartDate, "queryInfo.StartDate");
            AssertUtils.ArgumentNotNull(queryInfo.EndDate, "queryInfo.EndDate");

            //向前加一天,取0点
            queryInfo.EndDate = queryInfo.EndDate.Value.AddDays(1).Date;

            //如果是按照城市查询
            //if (queryInfo.AsCityQuery)
            //{
            //    return orderStatisticsDao.QueryCityTaskCountPerHour(queryInfo);
            //}
            return(orderStatisticsDao.QueryJieDanTime(queryInfo));
        }
Exemplo n.º 4
0
        public ActionResult JieDanTime()
        {
            DateTime startDate = DateTime.Now.AddDays(-7).Date;
            DateTime endDate   = DateTime.Now.AddDays(-1).Date;

            ViewBag.StartDate = startDate;
            ViewBag.EndDate   = endDate;

            var defaultParams = new ParamJieDanTimeInfo()
            {
                StartDate   = startDate,
                EndDate     = endDate,
                AsCityQuery = false,
            };

            IList <JieDanTimeInfo> lstJieDanTimes = orderProvider.QueryJieDanTimeInfo(defaultParams);

            ViewBag.LstJieDanTimes = lstJieDanTimes;

            return(View());
        }