| | |
| | | using FlexJobApi.Core; |
| | | using Furion.DatabaseAccessor; |
| | | using Furion.FriendlyException; |
| | | using MediatR; |
| | | using Microsoft.EntityFrameworkCore; |
| | | using System; |
| | |
| | | || it.EnterpriseEmployee.User.ContactPhoneNumber.Contains(request.Keywords) |
| | | || it.EnterpriseEmployee.User.Identity.Contains(request.Keywords)); |
| | | } |
| | | if (request.SubmitTimeBegin.HasValue && request.SubmitTimeEnd.HasValue) |
| | | if (logier.ClientType == EnumClientType.Wxmp) |
| | | { |
| | | q = q.Where(it => it.Submits.Any(s => request.SubmitTimeBegin <= s.CreatedTime && s.CreatedTime <= request.SubmitTimeEnd)); |
| | | if (request.CheckReceiveStatus == null) |
| | | { |
| | | throw Oops.Oh(EnumErrorCodeType.s400, "请选择验收状态"); |
| | | } |
| | | if (request.DateBegin == null || request.DateEnd == null) |
| | | { |
| | | throw Oops.Oh(EnumErrorCodeType.s400, "请选择日期"); |
| | | } |
| | | q = q.Where(it => it.Submits.Any(s => |
| | | request.DateBegin.Value.Date <= s.Date.Date |
| | | && s.Date.Date <= request.DateEnd.Value.Date |
| | | && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit |
| | | ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Submit |
| | | : request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitCheckReceive |
| | | ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Wait |
| | | : (s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Success |
| | | || s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Fail)))); |
| | | } |
| | | else |
| | | { |
| | | if (request.DateBegin.HasValue && request.DateEnd.HasValue) |
| | | { |
| | | q = q.Where(it => it.Submits.Any(s => |
| | | request.DateBegin.Value.Date <= s.Date.Date |
| | | && s.Date.Date <= request.DateEnd.Value.Date)); |
| | | } |
| | | if (request.CheckReceiveStatus.HasValue) |
| | | { |
| | | q = q.Where(it => it.CheckReceiveStatus == request.CheckReceiveStatus); |
| | | } |
| | | } |
| | | var s = q.Select(it => new GetCheckReceiveTaskUserInfosQueryResultItem |
| | | { |
| | | |
| | | Id = it.TaskInfoId, |
| | | TaskName = it.TaskInfo.Name, |
| | | BeginTime = it.TaskInfo.BeginTime, |
| | | EndTime = it.TaskInfo.EndTime, |
| | | AddressName = it.TaskInfo.AddressName, |
| | | Name = it.EnterpriseEmployee.User.Name, |
| | | Identity = it.EnterpriseEmployee.User.Identity, |
| | | Age = it.EnterpriseEmployee.User.Age, |
| | | Gender = it.EnterpriseEmployee.User.Gender, |
| | | ContactPhoneNumber = it.EnterpriseEmployee.User.ContactPhoneNumber, |
| | | CheckReceiveStatus = it.CheckReceiveStatus, |
| | | LastSubmitTime = it.LastSubmitTime, |
| | | }); |
| | | return await request.PageModel.GetPagedListAsync<GetCheckReceiveTaskUserInfosQueryResult, GetCheckReceiveTaskUserInfosQueryResultItem>(s, cancellationToken); |
| | | } |