|
|
@ -29,10 +29,29 @@ public class Ghra_TitleServices : BaseServices<Ghra_Title, Ghra_TitleDto, Insert |
|
|
|
dynamic obj = new ExpandoObject(); |
|
|
|
dynamic obj = new ExpandoObject(); |
|
|
|
dynamic result = new ExpandoObject(); |
|
|
|
dynamic result = new ExpandoObject(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ruleSrc = Db.Queryable<Ghre_StudyRule>(); |
|
|
|
if (string.IsNullOrWhiteSpace(filter.orderBy)) |
|
|
|
if (string.IsNullOrWhiteSpace(filter.orderBy)) |
|
|
|
filter.orderBy = "Type ASC"; |
|
|
|
filter.orderBy = "Type ASC"; |
|
|
|
|
|
|
|
|
|
|
|
string sql = $"SELECT * FROM Ghre_CourseScene_V WHERE IsEnable=1"; |
|
|
|
string sql = $"SELECT * FROM Ghre_CourseScene_V WHERE IsEnable=1"; |
|
|
|
|
|
|
|
var rules1 = await ruleSrc.Where(x => x.RuleType == "Required" && x.TrainType == "Title").ToListAsync(); |
|
|
|
|
|
|
|
var rules = Mapper.Map(rules1).ToANew<List<Ghre_StudyRuleDto>>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rules.ForEach(x => |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (x.ZoneId.IsNotEmptyOrNull()) |
|
|
|
|
|
|
|
x.ZoneIds = JsonHelper.JsonToObj<List<int?>>(x.ZoneId); |
|
|
|
|
|
|
|
if (x.DeptId.IsNotEmptyOrNull()) |
|
|
|
|
|
|
|
x.DeptIds = JsonHelper.JsonToObj<List<int?>>(x.DeptId); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (x.TitleId.IsNotEmptyOrNull()) |
|
|
|
|
|
|
|
x.TitleIds = JsonHelper.JsonToObj<List<int?>>(x.TitleId); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (x.JobId.IsNotEmptyOrNull()) |
|
|
|
|
|
|
|
x.JobIds = JsonHelper.JsonToObj<List<int?>>(x.JobId); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (x.GradeId.IsNotEmptyOrNull()) |
|
|
|
|
|
|
|
x.GradeIds = JsonHelper.JsonToObj<List<int?>>(x.GradeId); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
#region 处理查询条件 |
|
|
|
#region 处理查询条件 |
|
|
|
//Expression<Func<Ghrh_Resume, bool>> whereExpression = new Expression<Func<Ghrh_Resume, bool>>(); |
|
|
|
//Expression<Func<Ghrh_Resume, bool>> whereExpression = new Expression<Func<Ghrh_Resume, bool>>(); |
|
|
@ -45,26 +64,143 @@ public class Ghra_TitleServices : BaseServices<Ghra_Title, Ghra_TitleDto, Insert |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
if (value.IsNotEmptyOrNull()) |
|
|
|
if (value.IsNotEmptyOrNull()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
//var jsonParam = JsonHelper.JsonToObj<JsonParam>(value); |
|
|
|
var jsonParam = JsonHelper.JsonToObj<JsonParam>(value); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
switch (name) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case "ZoneId": |
|
|
|
|
|
|
|
switch (jsonParam.operationKey) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
case "Include": |
|
|
|
|
|
|
|
if (jsonParam.columnValue != null) |
|
|
|
|
|
|
|
rules = rules.Where(x => x.ZoneIds.Contains(jsonParam.columnValue.ObjToInt())).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "NotInclude": |
|
|
|
|
|
|
|
if (jsonParam.columnValue != null) |
|
|
|
|
|
|
|
rules = rules.Where(x => !x.ZoneIds.Contains(jsonParam.columnValue.ObjToInt())).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "IsNull": |
|
|
|
|
|
|
|
rules = rules.Where(x => x.ZoneIds.Count == 0).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "NotNull": |
|
|
|
|
|
|
|
rules = rules.Where(x => x.ZoneIds.Count > 0).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "DeptId": |
|
|
|
|
|
|
|
switch (jsonParam.operationKey) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
case "Include": |
|
|
|
|
|
|
|
if (jsonParam.columnValue != null) |
|
|
|
|
|
|
|
rules = rules.Where(x => x.DeptIds.Contains(jsonParam.columnValue.ObjToInt())).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "NotInclude": |
|
|
|
|
|
|
|
if (jsonParam.columnValue != null) |
|
|
|
|
|
|
|
rules = rules.Where(x => !x.DeptIds.Contains(jsonParam.columnValue.ObjToInt())).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "IsNull": |
|
|
|
|
|
|
|
rules = rules.Where(x => x.DeptIds.Count == 0).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "NotNull": |
|
|
|
|
|
|
|
rules = rules.Where(x => x.DeptIds.Count > 0).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "TitleId": |
|
|
|
|
|
|
|
switch (jsonParam.operationKey) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
case "Include": |
|
|
|
|
|
|
|
if (jsonParam.columnValue != null) |
|
|
|
|
|
|
|
rules = rules.Where(x => x.TitleIds.Contains(jsonParam.columnValue.ObjToInt())).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "NotInclude": |
|
|
|
|
|
|
|
if (jsonParam.columnValue != null) |
|
|
|
|
|
|
|
rules = rules.Where(x => !x.TitleIds.Contains(jsonParam.columnValue.ObjToInt())).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "IsNull": |
|
|
|
|
|
|
|
rules = rules.Where(x => x.TitleIds.Count == 0).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "NotNull": |
|
|
|
|
|
|
|
rules = rules.Where(x => x.TitleIds.Count > 0).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "JobId": |
|
|
|
|
|
|
|
switch (jsonParam.operationKey) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
case "Include": |
|
|
|
|
|
|
|
if (jsonParam.columnValue != null) |
|
|
|
|
|
|
|
rules = rules.Where(x => x.JobIds.Contains(jsonParam.columnValue.ObjToInt())).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "NotInclude": |
|
|
|
|
|
|
|
if (jsonParam.columnValue != null) |
|
|
|
|
|
|
|
rules = rules.Where(x => !x.JobIds.Contains(jsonParam.columnValue.ObjToInt())).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "IsNull": |
|
|
|
|
|
|
|
rules = rules.Where(x => x.JobIds.Count == 0).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "NotNull": |
|
|
|
|
|
|
|
rules = rules.Where(x => x.JobIds.Count > 0).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "GradeId": |
|
|
|
|
|
|
|
switch (jsonParam.operationKey) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
case "Include": |
|
|
|
|
|
|
|
if (jsonParam.columnValue != null) |
|
|
|
|
|
|
|
rules = rules.Where(x => x.GradeIds.Contains(jsonParam.columnValue.ObjToInt())).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "NotInclude": |
|
|
|
|
|
|
|
if (jsonParam.columnValue != null) |
|
|
|
|
|
|
|
rules = rules.Where(x => !x.GradeIds.Contains(jsonParam.columnValue.ObjToInt())).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "IsNull": |
|
|
|
|
|
|
|
rules = rules.Where(x => x.GradeIds.Count == 0).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "NotNull": |
|
|
|
|
|
|
|
rules = rules.Where(x => x.GradeIds.Count > 0).ToList(); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "CourseId": |
|
|
|
|
|
|
|
switch (jsonParam.operationKey) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
case "Equal": |
|
|
|
|
|
|
|
if (jsonParam.columnValue != null) |
|
|
|
|
|
|
|
rules = rules.Where(x => x.CourseId == jsonParam.columnValue.ObjToLong()).ToList(); |
|
|
|
|
|
|
|
sql += $" AND Id={jsonParam.columnValue}"; |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case "NotEqual": |
|
|
|
|
|
|
|
if (jsonParam.columnValue != null) |
|
|
|
|
|
|
|
rules = rules.Where(x => x.CourseId != jsonParam.columnValue.ObjToLong()).ToList(); |
|
|
|
|
|
|
|
sql += $" AND Id !={jsonParam.columnValue}"; |
|
|
|
|
|
|
|
|
|
|
|
//switch (name) |
|
|
|
break; |
|
|
|
//{ |
|
|
|
default: |
|
|
|
// case "WaitRecommend": |
|
|
|
break; |
|
|
|
// if (jsonParam.columnValue.ObjToInt() == 1) |
|
|
|
} |
|
|
|
// sql += $" AND C.Status = '{DIC_INTERVIEW_ORDER_STATUS.WaitRecommended}'"; |
|
|
|
break; |
|
|
|
// break; |
|
|
|
|
|
|
|
// case "HasRecommended": |
|
|
|
|
|
|
|
// if (jsonParam.columnValue.ObjToInt() == 1) |
|
|
|
|
|
|
|
// sql += $" AND C.Status = '{DIC_INTERVIEW_ORDER_STATUS.HasRecommended}'"; |
|
|
|
|
|
|
|
// break; |
|
|
|
|
|
|
|
// case "WaitAppointment": |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// default: |
|
|
|
default: |
|
|
|
// break; |
|
|
|
break; |
|
|
|
//} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
#endregion |
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (filter.pageSize == 0) |
|
|
|
if (filter.pageSize == 0) |
|
|
|
filter.pageSize = 10000; |
|
|
|
filter.pageSize = 10000; |
|
|
|
|
|
|
|
|
|
|
@ -85,7 +221,6 @@ public class Ghra_TitleServices : BaseServices<Ghra_Title, Ghra_TitleDto, Insert |
|
|
|
var columns = new JArray(); |
|
|
|
var columns = new JArray(); |
|
|
|
|
|
|
|
|
|
|
|
var titles = await Db.Queryable<Ghra_Title>().OrderBy(x => x.SortNo).ToListAsync(); |
|
|
|
var titles = await Db.Queryable<Ghra_Title>().OrderBy(x => x.SortNo).ToListAsync(); |
|
|
|
var rules = await Db.Queryable<Ghre_StudyRule>().Where(x => x.RuleType == "Required" && x.TrainType == "Title").ToListAsync(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var dict = new Dictionary<string, List<int>>(); |
|
|
|
var dict = new Dictionary<string, List<int>>(); |
|
|
|
|
|
|
|
|
|
|
@ -115,11 +250,30 @@ public class Ghra_TitleServices : BaseServices<Ghra_Title, Ghra_TitleDto, Insert |
|
|
|
{ |
|
|
|
{ |
|
|
|
var column = list[i]; |
|
|
|
var column = list[i]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var CourseName = column.CourseName; |
|
|
|
|
|
|
|
var CourseSceneName = column.CourseName; |
|
|
|
|
|
|
|
if (column.Type == "Course") |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (column.CourseSceneIds.IsNotEmptyOrNull()) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
var courseSceneIds = JsonHelper.JsonToObj<List<long>>(column.CourseSceneIds); |
|
|
|
|
|
|
|
var courseScene = await Db.Queryable<Ghre_CourseScene>().Where(x => courseSceneIds.Contains(x.Id)).ToListAsync(); |
|
|
|
|
|
|
|
CourseSceneName = string.Join(",", courseScene.Select(a => a.SceneName)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
CourseSceneName = null; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
CourseName = CourseSceneName; |
|
|
|
|
|
|
|
CourseSceneName = null; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var item = new JObject |
|
|
|
var item = new JObject |
|
|
|
{ |
|
|
|
{ |
|
|
|
new JProperty("Id", column.Id), |
|
|
|
new JProperty("Id", column.Id), |
|
|
|
new JProperty("CourseNo", column.CourseNo), |
|
|
|
new JProperty("CourseSceneName", CourseSceneName), |
|
|
|
new JProperty("CourseName", column.CourseName), |
|
|
|
new JProperty("CourseName", CourseName), |
|
|
|
new JProperty("Type", column.Type), |
|
|
|
new JProperty("Type", column.Type), |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|