| | |
| | | } |
| | | if (request.HireStatus.HasValue) |
| | | { |
| | | q = q.Where(it => it.HireStatus == request.HireStatus); |
| | | q = q.Where(it => it.TaskInfoUsers.Any(tu => tu.HireStatus == request.HireStatus)); |
| | | } |
| | | if (request.IsReal.HasValue) |
| | | { |
| | |
| | | PersonalIdentityContent = it.User.PersonalIdentity.Content, |
| | | EducationalBackgroundCode = it.User.EducationalBackgroundCode, |
| | | EducationalBackgroundContent = it.User.EducationalBackground.Content, |
| | | TaskCount = it.User.EnterpriseEmployees.Where(ee => ee.HireStatus == EnumTaskUserHireStatus.Pass).Sum(ee => ee.TaskInfoUsers.Count()), |
| | | TaskCount = it.User.EnterpriseEmployees.SelectMany(ee => ee.TaskInfoUsers).Count(tu => tu.HireStatus == EnumTaskUserHireStatus.Pass), |
| | | WorkSeniority = it.User.WorkSeniority, |
| | | WorkExperience = it.User.WorkExperience, |
| | | HireStatus = it.HireStatus, |
| | | HireStatus = it.TaskInfoUsers.Any(tu => tu.HireStatus == EnumTaskUserHireStatus.Pass) |
| | | ? EnumTaskUserHireStatus.Pass |
| | | : it.TaskInfoUsers.Any(tu => tu.HireStatus == EnumTaskUserHireStatus.Refuse) |
| | | ? EnumTaskUserHireStatus.Refuse |
| | | : EnumTaskUserHireStatus.Wait, |
| | | UserSignContractStatus = it.UserSignContractStatus, |
| | | HireTime = it.HireTime, |
| | | HireTime = it.TaskInfoUsers |
| | | .OrderBy(tu => tu.HireTime) |
| | | .Where(tu => tu.HireStatus == EnumTaskUserHireStatus.Pass && tu.HireTime.HasValue) |
| | | .Select(tu => tu.HireTime) |
| | | .FirstOrDefault(), |
| | | UserRealTime = it.User.RealTime, |
| | | UserSignContractTime = it.UserSignContractTime, |
| | | EnterpriseSignContractStatus = it.EnterpriseSignContractStatus, |