/// <summary> /// 获取某时间段每天的销售额。 /// </summary> /// <param name="startTime">开始时间</param> /// <param name="endTime">结束时间</param> /// <returns>有记录当天的销售总额,没有过滤掉未付款的</returns> public async Task <SaleroomList> GetSaleroomAsync(string startTime, string endTime) { string sql = $"select sum(price_total) as 'limit',convert(char(8),create_time,112) as 'date' from order_main_spnc" + $" where create_time BETWEEN '{startTime}' AND '{endTime}' AND order_status=0" + $" group by convert(char(8),create_time,112)"; Saleroom temp = null; SaleroomList result = new SaleroomList { Lists = new List <Saleroom>() }; var list = await DapperHelper.GetListAsync <Saleroom>(sql, this._conn); foreach (var item in list) { temp = new Saleroom { Date = item.Date.Insert(4, "-").Insert(7, "-"), //处理字符串,20180902(2018-09-02) Limit = item.Limit }; result.Lists.Add(temp); } return(result ?? null); }
/// <summary> /// 获取某时间段每天的销售额。 /// </summary> /// <param name="timeType">1:自然周,2:自然月,3:季度</param> /// <returns></returns> public async Task <SaleroomResult> GetSaleroomAsync(string timeType) { SaleroomList data = null; SaleroomResult result = new SaleroomResult(); string startTime = string.Empty; string endTime = string.Empty; string[] times = null; string[] limits = null; switch (timeType) { case "1": { //DateTimeExtensions.GetMondayDate().ToString("yyyy-MM-dd"); // DateTimeExtensions.GetSundayDate().AddDays(+1).ToString("yyyy-MM-dd"); // DateTimeExtensions.GetMondayDate().AddDays(+i).ToString("yyyy-MM-dd"); startTime = DateTime.Now.AddDays(-6).ToString("yyyy-MM-dd"); endTime = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"); times = new string[7]; limits = new string[7]; for (int i = 0; i < 7; i++) { times[i] = DateTime.Now.AddDays(+(i - 6)).ToString("yyyy-MM-dd"); limits[i] = "0.00"; } } break; case "2": { //DateTimeExtensions.FirstDayOfMonth().ToString("yyyy-MM-dd"); //DateTimeExtensions.LastDayOfMonth().AddDays(+1).ToString("yyyy-MM-dd"); //DateTimeExtensions.FirstDayOfMonth().AddDays(+i).ToString("yyyy-MM-dd"); startTime = DateTime.Now.AddDays(-29).ToString("yyyy-MM-dd"); endTime = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"); times = new string[30]; limits = new string[30]; for (int i = 0; i < 30; i++) { times[i] = DateTime.Now.AddDays(+(i - 29)).ToString("yyyy-MM-dd"); limits[i] = "0.00"; } } break; case "3": { //startTime = DateTimeExtensions.ToFirstDayOfSeason().ToString("yyyy-MM-dd"); //endTime = DateTimeExtensions.ToLastDayOfSeason().AddDays(+1).ToString("yyyy-MM-dd"); // times[i] = DateTimeExtensions.ToFirstDayOfSeason().AddDays(+i).ToString("yyyy-MM-dd"); startTime = DateTime.Now.AddDays(-89).ToString("yyyy-MM-dd"); endTime = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"); int days = DateTimeExtensions.DateDiff() + 1; times = new string[90]; limits = new string[90]; for (int i = 0; i < 90; i++) { times[i] = DateTime.Now.AddDays(+(i - 89)).ToString("yyyy-MM-dd"); limits[i] = "0.00"; } } break; default: break; } data = await LeadDataDataAccess.Instance.GetSaleroomAsync(startTime, endTime); foreach (var item in data.Lists) { if (((IList)times).Contains(item.Date)) //判断那天有数据。 { //data中数据插入到数组中。 limits[times.ToList().IndexOf(item.Date)] = item.Limit; } } for (int i = 0; i < times.Length; i++) { try { times[i] = Convert.ToDateTime(times[i]).ToString("MM-dd"); } catch { } } result.date = times; result.limit = limits; return(result); }