/// <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)); }
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)); }
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()); }