Esempio n. 1
0
        /// <summary>
        /// 获取截止到统计日期的累计销售额 rjy 2018年10月10日11:51:13
        /// </summary>
        /// <param name="endTime">结束时间</param>
        /// <returns>有记录当天的销售总额,没有过滤掉未付款的</returns>
        public async Task <SaleroomListTwo> GetNewSaleroomAsync(string endTime)
        {
            string          sql    = string.Format(@"SELECT
	SUM(
		CASE
		WHEN order_status = 0 THEN
			price_total
		ELSE
			- price_total
		END
	) AS 'limit',convert(char(8),create_time,112) as 'date'
FROM
	order_main_spnc
WHERE
	create_time < '{0}' group by convert(char(8),create_time,112)"    , endTime);
            SaleroomTwo     temp   = null;
            SaleroomListTwo result = new SaleroomListTwo
            {
                Lists = new List <SaleroomTwo>()
            };
            var list = await DapperHelper.GetListAsync <Saleroom>(sql, this._conn);

            foreach (var item in list)
            {
                temp = new SaleroomTwo
                {
                    Date  = Convert.ToDateTime(item.Date.Insert(4, "-").Insert(7, "-")),                    //处理字符串,20180902(2018-09-02)
                    Limit = item.Limit
                };
                result.Lists.Add(temp);
            }
            return(result ?? null);
        }
Esempio n. 2
0
        /// <summary>
        /// 获取截止到统计日期的累计销售额。rjy 2018年10月10日14:45:07
        /// </summary>
        /// <param name="timeType">1:自然周,2:自然月,3:季度</param>
        /// <returns></returns>
        public async Task <SaleroomResult> GetNewSaleroomAsync(string timeType)
        {
            SaleroomListTwo data      = await LeadDataDataAccess.Instance.GetNewSaleroomAsync(DateTime.Now.AddDays(+1).ToString("yyyy-MM-dd"));;
            SaleroomResult  result    = new SaleroomResult();
            string          startTime = string.Empty;
            string          endTime   = string.Empty;

            string[] times  = null;
            string[] limits = null;

            switch (timeType)
            {
            case "1":
            {
                times  = new string[7];
                limits = new string[7];
                for (int i = 0; i < 7; i++)
                {
                    times[i] = DateTime.Now.AddDays(+(i - 6)).ToString("MM-dd");
                    endTime  = DateTime.Now.AddDays(+(i - 5)).ToString("yyyy-MM-dd");

                    limits[i] = data.Lists.Where(p => p.Date < Convert.ToDateTime(endTime)).Sum(p => Convert.ToDecimal(p.Limit)).ToString();
                }
            }
            break;

            case "2":
            {
                times  = new string[30];
                limits = new string[30];
                for (int i = 0; i < 30; i++)
                {
                    times[i] = DateTime.Now.AddDays(+(i - 29)).ToString("MM-dd");
                    endTime  = DateTime.Now.AddDays(+(i - 28)).ToString("yyyy-MM-dd");

                    limits[i] = data.Lists.Where(p => p.Date < Convert.ToDateTime(endTime)).Sum(p => Convert.ToDecimal(p.Limit)).ToString();
                }
            }
            break;

            case "3":
            {
                times  = new string[90];
                limits = new string[90];
                for (int i = 0; i < 90; i++)
                {
                    times[i] = DateTime.Now.AddDays(+(i - 89)).ToString("MM-dd");
                    endTime  = DateTime.Now.AddDays(+(i - 88)).ToString("yyyy-MM-dd");

                    limits[i] = data.Lists.Where(p => p.Date < Convert.ToDateTime(endTime)).Sum(p => Convert.ToDecimal(p.Limit)).ToString();
                }
            }
            break;

            default:
                break;
            }

            result.date  = times;
            result.limit = limits;
            return(result);
        }