示例#1
0
        /// <summary>
        /// 获取店铺月目标
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <GetShopMonthTargetOutput> GetShopMonthTarget(GetShopMonthTargetInput input)
        {
            var monthTargets = _shopMonthTarget.GetAll()
                               .AsNoTracking()
                               .Where(r => r.ZYear == input.ZYear &&
                                      r.ZMonth == input.ZMonth &&
                                      r.OrganizationId == input.OrganizationId)
                               .FirstOrDefault();

            var dayTargets = (from r in _shopDayTarget.GetAll().AsNoTracking()
                              where r.OrganizationId == input.OrganizationId &&
                              r.ZYear == input.ZYear && r.ZMonth == input.ZMonth
                              select r.MapTo <ShopDayTargetDto>()).OrderBy(r => r.Date).ToList();

            return(new GetShopMonthTargetOutput
            {
                ShopMonthTarget = monthTargets.MapTo <ShopMonthTargetDto>(),
                ShopDayTargets = dayTargets
            });
        }
示例#2
0
        /// <summary>
        /// 获取人员销售月目标
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <CreateOrUpdatePersonMonthTargetOutput> GetPersonMonthTarget(GetShopMonthTargetInput input)
        {
            var monthTargets = _shopMonthTarget.GetAll()
                               .AsNoTracking()
                               .Where(r => r.ZYear == input.ZYear &&
                                      r.ZMonth == input.ZMonth &&
                                      r.OrganizationId == input.OrganizationId)
                               .FirstOrDefault();

            var createOrUpdatePersonMonthTargetInputList = (from user in UserManager.Users
                                                            join userorgn in _userOrganizationUnitRepository.GetAll().AsNoTracking() on user.Id equals userorgn.UserId
                                                            join organ in _organizationUnitRepository.GetAll().AsNoTracking() on userorgn.OrganizationUnitId equals organ.Id
                                                            join person in _personMonthTarget.GetAll().AsNoTracking().Where(r => r.ZYear == input.ZYear && r.ZMonth == input.ZMonth)
                                                            on user.Id equals person.UserId into temp
                                                            from tt in temp.DefaultIfEmpty()
                                                            where organ.Id == input.OrganizationId
                                                            select new CreateOrUpdatePersonMonthTargetInput
            {
                OrganizationId = organ.Id,
                ZMonth = input.ZMonth,
                ZYear = input.ZYear,
                UserId = Int32.Parse(user.Id.ToString()),
                UserName = user.Name,
                VipSaleTarget = tt == null ? 0 : tt.VipSaleTarget,
                NewVip = tt == null ? 0 : tt.NewVip,
                TargetSale = tt == null ? 0 : tt.TargetSale,
                SprintTargetSale = tt == null ? 0 : tt.SprintTargetSale,
                JointRate = tt == null ? 0 : tt.JointRate,
                SprintJointRate = tt == null ? 0 : tt.SprintJointRate,
                SprintNewVip = tt == null ? 0 : tt.SprintNewVip,
                SprintVipSaleTarget = tt == null ? 0 : tt.SprintVipSaleTarget
            }).ToList();

            return(new CreateOrUpdatePersonMonthTargetOutput
            {
                ShopMonthTarget = monthTargets.MapTo <ShopMonthTargetDto>(),
                PersonMonthTargets = createOrUpdatePersonMonthTargetInputList
            });
        }