Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }