Example #1
0
        /// <summary>
        /// 获取地区信息
        /// </summary>
        /// <param name="sysUser"></param>
        /// <returns></returns>
        private async Task <Tuple <List <string>, string, int> > GetArea(SysUser sysUser)
        {
            switch (sysUser.DataLimitType)
            {
            case (int)DataLimitTypeEnum.All:
                return(Tuple.Create(new List <string>(), AreaLevelEnum.Province, sysUser.DataLimitType));

            case (int)DataLimitTypeEnum.Area:
                if (string.IsNullOrEmpty(sysUser.DataLimitArea))
                {
                    return(Tuple.Create(new List <string>(), "", 404));
                }
                var area = await ComLib.GetGetAreaStatisticsAreaId(_areaBll, sysUser.DataLimitArea);

                return(Tuple.Create(area.Item1.Split(',').ToList(), area.Item2, sysUser.DataLimitType));

            case (int)DataLimitTypeEnum.Shop:
                if (string.IsNullOrEmpty(sysUser.DataLimitShop))
                {
                    return(Tuple.Create(new List <string>(), "", 404));
                }
                return(Tuple.Create(new List <string>(), "", sysUser.DataLimitType));
            }
            return(Tuple.Create(new List <string>(), "", 404));
        }
        /// <summary>
        /// 获取默认显示的库存信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        private async Task <ResponsePagingBase> GetStatisticsStockShopDefault(GetStatisticsStockShopPageRequest request)
        {
            Tuple <IEnumerable <DbStatisticsStockViewShop>, int> statisticsStockShopView = null;

            switch (_appTicket.DataLimitType)
            {
            case (int)DataLimitTypeEnum.All:
                var province = await _areaBll.GetProvince();

                statisticsStockShopView = await _reportBll.GetStatisticsStockShop(request, string.Join(',', province.Select(p => p.AreaId)), AreaLevelEnum.Province);

                break;

            case (int)DataLimitTypeEnum.Area:
                if (!string.IsNullOrEmpty(_appTicket.DataLimitArea))
                {
                    var areaInfo = await ComLib.GetGetAreaStatisticsAreaId(_areaBll, _appTicket.DataLimitArea);

                    statisticsStockShopView = await _reportBll.GetStatisticsStockShop(request, areaInfo.Item1, areaInfo.Item2);
                }
                break;

            case (int)DataLimitTypeEnum.Shop:
                if (!string.IsNullOrEmpty(_appTicket.DataLimitShop))
                {
                    statisticsStockShopView = await _reportBll.GetStatisticsStockShopByShop(request, _appTicket.DataLimitShop);
                }
                break;
            }
            var result = await GetStatisticsStockShopView(statisticsStockShopView, request.Type);

            var recordCount = statisticsStockShopView == null ? 0 : statisticsStockShopView.Item2;

            return(ResponsePagingBase.Success(result, recordCount));
        }
Example #3
0
        /// <summary>
        /// 获取默认数据
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        private async Task <ResponseBase> GetStatisticsRetailDefault(GetStatisticsRetailRequest request)
        {
            List <DbStatisticsRetailView> statisticsRetail = null;
            var statisticsTime = ComLib.GetAreaStatisticsTime(request.StartTime, request.EndTime);
            var limitShops     = string.Empty;
            var arealevel      = string.Empty;

            switch (_appTicket.DataLimitType)
            {
            case (int)DataLimitTypeEnum.All:
                var province = await _areaBll.GetProvince();

                statisticsRetail = await _reportBll.GetStatisticsRetail(string.Join(',', province.Select(p => p.AreaId)),
                                                                        statisticsTime.Item1, statisticsTime.Item2, AreaLevelEnum.Province);

                arealevel = AreaLevelEnum.Province;
                break;

            case (int)DataLimitTypeEnum.Area:
                if (!string.IsNullOrEmpty(_appTicket.DataLimitArea))
                {
                    var areaInfo = await ComLib.GetGetAreaStatisticsAreaId(_areaBll, _appTicket.DataLimitArea);

                    statisticsRetail = await _reportBll.GetStatisticsRetail(areaInfo.Item1, statisticsTime.Item1,
                                                                            statisticsTime.Item2, areaInfo.Item2);

                    arealevel = areaInfo.Item2;
                }
                break;

            case (int)DataLimitTypeEnum.Shop:
                limitShops = _appTicket.DataLimitShop;
                if (!string.IsNullOrEmpty(_appTicket.DataLimitShop))
                {
                    statisticsRetail = await _reportBll.GetStatisticsRetailByShop(_appTicket.DataLimitShop,
                                                                                  statisticsTime.Item1, statisticsTime.Item2);

                    arealevel = AreaLevelEnum.Street;
                }
                break;
            }
            var result = await GetStatisticsRetailView(statisticsTime.Item1, statisticsTime.Item2, statisticsRetail, request.Type, limitShops, arealevel);

            return(ResponseBase.Success(result));
        }
        /// <summary>
        /// 获取默认数据
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        private async Task <ResponsePagingBase> GetStatisticsRetailShopDefault(GetStatisticsRetailShopPageRequest request)
        {
            Tuple <IEnumerable <DbStatisticsRetailViewShop>, int> statisticsRetailShop = null;
            var statisticsTime = ComLib.GetAreaStatisticsTime(request.StartTime, request.EndTime);
            var arealevel      = string.Empty;

            switch (_appTicket.DataLimitType)
            {
            case (int)DataLimitTypeEnum.All:
                var province = await _areaBll.GetProvince();

                statisticsRetailShop = await _reportBll.GetStatisticsRetailShop(request, string.Join(',', province.Select(p => p.AreaId)),
                                                                                statisticsTime.Item1, statisticsTime.Item2, AreaLevelEnum.Province);

                arealevel = AreaLevelEnum.Province;
                break;

            case (int)DataLimitTypeEnum.Area:
                if (!string.IsNullOrEmpty(_appTicket.DataLimitArea))
                {
                    var areaInfo = await ComLib.GetGetAreaStatisticsAreaId(_areaBll, _appTicket.DataLimitArea);

                    statisticsRetailShop = await _reportBll.GetStatisticsRetailShop(request, areaInfo.Item1, statisticsTime.Item1,
                                                                                    statisticsTime.Item2, areaInfo.Item2);

                    arealevel = areaInfo.Item2;
                }
                break;

            case (int)DataLimitTypeEnum.Shop:
                if (!string.IsNullOrEmpty(_appTicket.DataLimitShop))
                {
                    statisticsRetailShop = await _reportBll.GetStatisticsRetailShopByShop(request, _appTicket.DataLimitShop,
                                                                                          statisticsTime.Item1, statisticsTime.Item2);

                    arealevel = AreaLevelEnum.Street;
                }
                break;
            }
            var result = await GetStatisticsRetailViewShop(statisticsTime.Item1, statisticsTime.Item2, statisticsRetailShop, request.Type, arealevel);

            var recordCount = statisticsRetailShop == null ? 0 : statisticsRetailShop.Item2;

            return(ResponsePagingBase.Success(result, recordCount));
        }