/// <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 }); }
/// <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 }); }