| | |
| | | .Select(it => new |
| | | { |
| | | it.Id, |
| | | it.EnterpriseEmployee.HireStatus, |
| | | it.HireStatus, |
| | | it.EnterpriseEmployee.UserSignContractStatus |
| | | }) |
| | | .FirstOrDefaultAsync(); |
| | |
| | | : taskUser.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait |
| | | ? GetTaskInfoQueryResultApplyButton.WaitSignContract |
| | | : null; |
| | | model.HireButton = now <= model.EndTime |
| | | model.HireButton = now < model.BeginTime |
| | | ? GetTaskInfoQueryResultHireButton.Wait |
| | | : model.BeginTime <= now && now <= model.EndTime |
| | | ? GetTaskInfoQueryResultHireButton.InProcess |
| | | : GetTaskInfoQueryResultHireButton.Completed; |
| | | if (model.HireButton == GetTaskInfoQueryResultHireButton.InProcess && model.BeginTime <= now) |
| | | if (model.HireButton == GetTaskInfoQueryResultHireButton.InProcess) |
| | | { |
| | | var submit = await rep.Change<TaskInfoUserSubmit>().AsQueryable().AsNoTracking() |
| | | .AnyAsync(it => it.TaskInfoUserId == taskUser.Id && it.CheckReceiveStatus >= EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive); |
| | |
| | | } |
| | | } |
| | | } |
| | | model.IsCollected = await rep.Change<UserTaskCollect>().AsQueryable().AsNoTracking() |
| | | model.IsCollected = await rep.Change<TaskUserCollect>().AsQueryable().AsNoTracking() |
| | | .AnyAsync(it => it.TaskInfoId == request.Id && it.UserId == logier.Id); |
| | | } |
| | | return model; |
| | |
| | | { |
| | | q = q.Where(it => it.GenderLimit == request.GenderLimit); |
| | | } |
| | | if (logier != null && logier.Type == EnumUserType.Personal && request.IsCollected == true) |
| | | { |
| | | q = q.Where(it => it.TaskUserCollects.Any(c => c.UserId == logier.Id)); |
| | | } |
| | | |
| | | var count = new GetTaskInfosQueryResultObjectData |
| | | { |
| | |
| | | |
| | | if (request.Status.HasValue) |
| | | { |
| | | q = q.Where(it => it.Status == request.Status); |
| | | if (request.Status == EnumTaskStatus.Wait) |
| | | { |
| | | q = q.Where(it => it.ReleaseStatus == EnumTaskReleaseStatus.InProcess && it.Status == EnumTaskStatus.Wait); |
| | | } |
| | | else |
| | | { |
| | | q = q.Where(it => it.Status == request.Status); |
| | | } |
| | | } |
| | | if (request.ReleaseStatus.HasValue) |
| | | { |
| | |
| | | Id = t.Id, |
| | | Name = t.Name, |
| | | Code = t.Code, |
| | | EnterpriseName = t.Enterprise.EnterpriseName, |
| | | UserName = t.Enterprise.Users.Where(u => u.Id == t.CreatedUserId).Select(u => u.UserName).FirstOrDefault(), |
| | | BillingMethod = t.BillingMethod, |
| | | ServiceFee = t.ServiceFee, |
| | | SettlementCycle = t.SettlementCycle, |
| | |
| | | CheckReceiveStatus = t.CheckReceiveStatus, |
| | | CreatedTime = t.CreatedTime, |
| | | RecommendStatus = t.RecommendStatus, |
| | | SettlementStatus = t.SettlementStatus |
| | | RecommendTime = t.RecommendTime, |
| | | SettlementStatus = t.SettlementStatus, |
| | | HireStatus = logier != null && logier.Type == EnumUserType.Personal |
| | | ? t.TaskInfoUsers |
| | | .Where(tu => tu.EnterpriseEmployee.UserId == logier.Id) |
| | | .Select(tu => tu.HireStatus as EnumTaskUserHireStatus?) |
| | | .FirstOrDefault() |
| | | : null, |
| | | |
| | | }; |
| | | var result = await request.PageModel.GetPagedListAsync<GetTaskInfosQueryResult, GetTaskInfosQueryResultItem>(s, cancellationToken); |
| | | result.ObjectData = count; |
| | |
| | | q = q.Where(it => |
| | | it.TaskInfoUsers.Any(tu => |
| | | tu.EnterpriseEmployee.UserId == logier.Id |
| | | && tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Wait)); |
| | | && tu.HireStatus == EnumTaskUserHireStatus.Wait)); |
| | | break; |
| | | case GetPersonalApplyTaskInfosQueryStatus.WaitSignContract: |
| | | q = q.Where(it => |
| | |
| | | q = q.Where(it => |
| | | it.TaskInfoUsers.Any(tu => |
| | | tu.EnterpriseEmployee.UserId == logier.Id |
| | | && (tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Wait |
| | | && (tu.HireStatus == EnumTaskUserHireStatus.Wait |
| | | || tu.EnterpriseEmployee.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait))); |
| | | } |
| | | var s = q.Select(it => new GetPersonalApplyTaskInfosQueryResultItem |
| | |
| | | AddressName = it.AddressName, |
| | | Status = it.TaskInfoUsers.Any(it => |
| | | it.EnterpriseEmployee.UserId == logier.Id |
| | | && it.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Wait) |
| | | && it.HireStatus == EnumTaskUserHireStatus.Wait) |
| | | ? GetPersonalApplyTaskInfosQueryStatus.WaitHire |
| | | : GetPersonalApplyTaskInfosQueryStatus.WaitSignContract |
| | | }); |
| | |
| | | { |
| | | switch (request.Status.Value) |
| | | { |
| | | case GetPersonalHireTaskInfosQueryStatus.Wait: |
| | | q = q.Where(it => now < it.BeginTime); |
| | | break; |
| | | case GetPersonalHireTaskInfosQueryStatus.InProcess: |
| | | q = q.Where(it => now <= it.EndTime); |
| | | q = q.Where(it => it.BeginTime <= now && now <= it.EndTime); |
| | | break; |
| | | case GetPersonalHireTaskInfosQueryStatus.Completed: |
| | | q = q.Where(it => it.EndTime < now); |
| | |
| | | BenefitContent = it.Benefit.Content |
| | | }).ToList(), |
| | | AddressName = it.AddressName, |
| | | Status = now <= it.EndTime |
| | | Status = now < it.BeginTime |
| | | ? GetPersonalHireTaskInfosQueryStatus.Wait |
| | | : it.BeginTime <= now && now <= it.EndTime |
| | | ? GetPersonalHireTaskInfosQueryStatus.InProcess |
| | | : GetPersonalHireTaskInfosQueryStatus.Completed |
| | | }); |
| | |
| | | var q = TaskInfoRepository.GetQueryable(rep, true, logier).Where(it => |
| | | it.TaskInfoUsers.Any(tu => |
| | | tu.EnterpriseEmployee.UserId == logier.Id |
| | | && (tu.EnterpriseEmployee.HireStatus == EnumTaskUserHireStatus.Refuse |
| | | && (tu.HireStatus == EnumTaskUserHireStatus.Refuse |
| | | || tu.EnterpriseEmployee.UserSignContractStatus == EnumTaskUserSignContractStatus.Refuse |
| | | || tu.EnterpriseEmployee.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Refuse))); |
| | | var s = q.Select(it => new GetPersonalCancelTaskInfosQueryResultItem |