|
|
|
@ -4,6 +4,8 @@ using Tiobon.Core.Model.Models; |
|
|
|
|
using Tiobon.Core.Services.BASE; |
|
|
|
|
using Tiobon.Core.IRepository.Base; |
|
|
|
|
using Tiobon.Core.Common.Caches; |
|
|
|
|
using Tiobon.Core.Common; |
|
|
|
|
using Tiobon.Core.Model; |
|
|
|
|
|
|
|
|
|
namespace Tiobon.Core.Services |
|
|
|
|
{ |
|
|
|
@ -19,5 +21,59 @@ namespace Tiobon.Core.Services |
|
|
|
|
base.BaseDal = dal; |
|
|
|
|
base._caching = caching; |
|
|
|
|
} |
|
|
|
|
public override async Task<ServicePageResult<Ghrh_HumanRequestDto>> QueryFilterPage(QueryBody filter, string condition, bool? IsEnable = true) |
|
|
|
|
{ |
|
|
|
|
var result = await base.QueryFilterPage(filter, condition, IsEnable); |
|
|
|
|
var entitys = result.result.DT_TableDataT1; |
|
|
|
|
|
|
|
|
|
var deptIds = entitys.Where(x => x.ApplyDeptId != null).Select(x => x.ApplyDeptId).ToList(); |
|
|
|
|
//var titleIds = entitys.Where(x => x.TitleId != null).Select(x => x.TitleId).ToList(); |
|
|
|
|
var gradeIds = entitys.Where(x => x.GradeId != null).Select(x => x.GradeId).ToList(); |
|
|
|
|
var jobIds = entitys.Where(x => x.JobId != null).Select(x => x.JobId).ToList(); |
|
|
|
|
deptIds.AddRange(entitys.Where(x => x.BelongDeptId != null).Select(x => x.BelongDeptId).ToList()); |
|
|
|
|
if (deptIds.Any()) |
|
|
|
|
{ |
|
|
|
|
var depts = await Db.Queryable<Ghro_Dept>().Where(x => deptIds.Contains(x.DeptID)).ToListAsync(); |
|
|
|
|
|
|
|
|
|
entitys.ForEach(rule => |
|
|
|
|
{ |
|
|
|
|
rule.ApplyDeptName = depts.FirstOrDefault(o => rule.ApplyDeptId == o.DeptID)?.DeptName; |
|
|
|
|
rule.BelongDeptName = depts.FirstOrDefault(o => rule.BelongDeptId == o.DeptID)?.DeptName; |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//if (titleIds.Any()) |
|
|
|
|
//{ |
|
|
|
|
// var titles = await Db.Queryable<Ghra_Title>().Where(x => titleIds.Contains(x.TitleID)).ToListAsync(); |
|
|
|
|
|
|
|
|
|
// entitys.ForEach(rule => |
|
|
|
|
// { |
|
|
|
|
// rule.TitleName = titles.FirstOrDefault(o => rule.TitleId == o.TitleID)?.TitleName; |
|
|
|
|
// }); |
|
|
|
|
//} |
|
|
|
|
|
|
|
|
|
//if (gradeIds.Any()) |
|
|
|
|
//{ |
|
|
|
|
// var grades = await Db.Queryable<Ghra_Grade>().Where(x => gradeIds.Contains(x.GradeID)).ToListAsync(); |
|
|
|
|
|
|
|
|
|
// entitys.ForEach(rule => |
|
|
|
|
// { |
|
|
|
|
// rule.GradeName = grades.FirstOrDefault(o => rule.GradeId == o.GradeID)?.GradeName; |
|
|
|
|
// }); |
|
|
|
|
//} |
|
|
|
|
|
|
|
|
|
//if (jobIds.Any()) |
|
|
|
|
//{ |
|
|
|
|
// var jobs = await Db.Queryable<Ghra_Job>().Where(x => jobIds.Contains(x.JobID)).ToListAsync(); |
|
|
|
|
|
|
|
|
|
// entitys.ForEach(rule => |
|
|
|
|
// { |
|
|
|
|
// rule.JobName = jobs.FirstOrDefault(o => rule.JobId == o.JobID)?.JobName; |
|
|
|
|
// }); |
|
|
|
|
//} |
|
|
|
|
|
|
|
|
|
result.result.DT_TableDataT1 = entitys; |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |