|
|
@ -62,13 +62,70 @@ public class Ghrh_InterviewOrderServices : BaseServices<Ghrh_InterviewOrder, Ghr |
|
|
|
#region 查询 |
|
|
|
#region 查询 |
|
|
|
public override async Task<ServicePageResult<Ghrh_InterviewOrderDto>> QueryFilterPage(QueryBody filter, string condition, bool? IsEnable = true) |
|
|
|
public override async Task<ServicePageResult<Ghrh_InterviewOrderDto>> QueryFilterPage(QueryBody filter, string condition, bool? IsEnable = true) |
|
|
|
{ |
|
|
|
{ |
|
|
|
var result = await base.QueryFilterPage(filter, condition, null); |
|
|
|
if (string.IsNullOrWhiteSpace(filter.orderBy)) |
|
|
|
|
|
|
|
filter.orderBy = "CreateTime1 DESC"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (filter.pageSize == 0) |
|
|
|
|
|
|
|
filter.pageSize = 10000; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Type entityType = typeof(Ghrh_InterviewOrder); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var countSql = @$" SELECT COUNT(1) FROM {entityType.GetEntityTableName()}"; |
|
|
|
|
|
|
|
var sql1 = @$"DECLARE @langId INT = {filter.langId};"; |
|
|
|
|
|
|
|
var sql = @$" SELECT *,
|
|
|
|
|
|
|
|
ISNULL ((SELECT CASE WHEN @langId = 1 THEN UserName ELSE UserEname END |
|
|
|
|
|
|
|
FROM Ghrs_User B |
|
|
|
|
|
|
|
WHERE B.UserId = A.CreateBy), |
|
|
|
|
|
|
|
'') CreateDataInfo, |
|
|
|
|
|
|
|
ISNULL ((SELECT CASE WHEN @langId = 1 THEN UserName ELSE UserEname END |
|
|
|
|
|
|
|
FROM Ghrs_User B |
|
|
|
|
|
|
|
WHERE B.UserId = A.UpdateBy), |
|
|
|
|
|
|
|
'') UpdateDataInfo, ISNULL(A.UpdateTime, A.CreateTime) CreateTime1 |
|
|
|
|
|
|
|
FROM {entityType.GetEntityTableName()} A";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
string conditions = " WHERE 1=1 "; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//if (IsEnable == true) |
|
|
|
|
|
|
|
// conditions += " AND IsEnable = 1"; |
|
|
|
|
|
|
|
//else if (IsEnable == false) |
|
|
|
|
|
|
|
// conditions += " AND IsEnable = 0"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(condition)) |
|
|
|
|
|
|
|
conditions += " AND " + condition; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var properties = entityType.GetGenericProperties(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (filter.jsonParam != null) |
|
|
|
|
|
|
|
foreach (JProperty jProperty in filter.jsonParam.Properties()) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
var name = jProperty.Name; |
|
|
|
|
|
|
|
var value = jProperty.Value.ToString(); |
|
|
|
|
|
|
|
if (name == "page" || name == "pageSize" || !properties.Any(x => x.Name == name)) |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(value)) |
|
|
|
|
|
|
|
conditions = DealConditions(conditions, name, value); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sql += conditions; |
|
|
|
|
|
|
|
countSql += conditions; |
|
|
|
|
|
|
|
int total = await Db.Ado.GetIntAsync(countSql); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sql = "SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY " + filter.orderBy + ") NUM FROM (SELECT * FROM (" + sql + " "; |
|
|
|
|
|
|
|
sql += ") A ) B ) C"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sql += " WHERE NUM <= " + filter.pageNum * filter.pageSize + " AND NUM >" + (filter.pageNum - 1) * filter.pageSize; |
|
|
|
|
|
|
|
sql = sql1 + sql; |
|
|
|
|
|
|
|
var entitys = await Db.Ado.SqlQueryAsync<Ghrh_InterviewOrderDto>(sql); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var result = new ServicePageResult<Ghrh_InterviewOrderDto>(filter.pageNum, total, filter.pageSize, entitys); |
|
|
|
|
|
|
|
|
|
|
|
var list = result.result.DT_TableDataT1; |
|
|
|
var list = result.result.DT_TableDataT1; |
|
|
|
|
|
|
|
|
|
|
|
var resumeIds = list.Where(x => x.ResumeId != null).Select(x => x.ResumeId).ToList(); |
|
|
|
var resumeIds = list.Where(x => x.ResumeId != null).Select(x => x.ResumeId).ToList(); |
|
|
|
|
|
|
|
var requestIds = list.Where(x => x.RequestId != null).Select(x => x.RequestId).ToList(); |
|
|
|
|
|
|
|
|
|
|
|
var resumes = await Db.Queryable<Ghrh_Resume>().Where(x => resumeIds.Contains(x.Id)).ToListAsync(); |
|
|
|
var resumes = await Db.Queryable<Ghrh_Resume>().Where(x => resumeIds.Contains(x.Id)).ToListAsync(); |
|
|
|
|
|
|
|
var requests = await Db.Queryable<Ghrh_HumanRequest>().Where(x => requestIds.Contains(x.Id)).ToListAsync(); |
|
|
|
var titleIds = resumes.Where(x => x.TitleId != null).Select(x => x.TitleId.Value).Distinct().ToList(); |
|
|
|
var titleIds = resumes.Where(x => x.TitleId != null).Select(x => x.TitleId.Value).Distinct().ToList(); |
|
|
|
var titles = await Db.Queryable<Ghra_Title>().Where(x => x.TitleID != null && titleIds.Contains(x.TitleID.Value)).ToListAsync(); |
|
|
|
var titles = await Db.Queryable<Ghra_Title>().Where(x => x.TitleID != null && titleIds.Contains(x.TitleID.Value)).ToListAsync(); |
|
|
|
var tagIds = new List<long>(); |
|
|
|
var tagIds = new List<long>(); |
|
|
@ -117,10 +174,10 @@ public class Ghrh_InterviewOrderServices : BaseServices<Ghrh_InterviewOrder, Ghr |
|
|
|
{ |
|
|
|
{ |
|
|
|
case "Fail": |
|
|
|
case "Fail": |
|
|
|
entity.StatusLabel = "不合适"; |
|
|
|
entity.StatusLabel = "不合适"; |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "HasRecommended": |
|
|
|
case "HasRecommended": |
|
|
|
entity.StatusLabel = "待预约"; |
|
|
|
entity.StatusLabel = "待预约"; |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "Hire": |
|
|
|
case "Hire": |
|
|
|
entity.StatusLabel = "不合适"; |
|
|
|
entity.StatusLabel = "不合适"; |
|
|
|
break; |
|
|
|
break; |
|
|
@ -129,6 +186,12 @@ public class Ghrh_InterviewOrderServices : BaseServices<Ghrh_InterviewOrder, Ghr |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (entity.RequestId != null) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
var request = requests.Where(x => x.Id == entity.RequestId).FirstOrDefault(); |
|
|
|
|
|
|
|
entity.RequestNo = request.RequestNo; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
return result; |
|
|
|