代码优化

master
xiaochanghai 7 months ago
parent c5490f17fc
commit 3af8320e88
  1. 2
      Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeController.cs
  2. 2
      Tiobon.Core.IServices/Ghrh/IGhrh_ResumeServices.cs
  3. 16
      Tiobon.Core.Model/View/Ghrh/Ghrh_Resume.Dto.View.cs
  4. 6
      Tiobon.Core.Services/BASE/BaseServices.cs
  5. 81
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs

@ -391,7 +391,7 @@ public class Ghrh_ResumeController : BaseController<IGhrh_ResumeServices, Ghrh_R
/// <param name="status">状态</param> /// <param name="status">状态</param>
/// <returns></returns> /// <returns></returns>
[HttpPost, Route("QueryESS")] [HttpPost, Route("QueryESS")]
public async Task<ServicePageResult<object>> QueryESS([FromBody] QueryBody body) public async Task<ServicePageResult<Ghrh_ResumeDto>> QueryESS([FromBody] QueryBody body)
{ {
var condition = "1=1"; var condition = "1=1";
return await _service.QueryESS(body, condition); return await _service.QueryESS(body, condition);

@ -56,7 +56,7 @@ public interface IGhrh_ResumeServices : IBaseServices<Ghrh_Resume, Ghrh_ResumeDt
Task<ServiceResult> ModifyIsOffer(List<long> ids, bool isOffer); Task<ServiceResult> ModifyIsOffer(List<long> ids, bool isOffer);
Task<ServicePageResult<object>> QueryESS(QueryBody filter, string condition); Task<ServicePageResult<Ghrh_ResumeDto>> QueryESS(QueryBody filter, string condition);
Task<ServiceResult> Fail(List<long> ids); Task<ServiceResult> Fail(List<long> ids);

@ -48,5 +48,21 @@ public class Ghrh_ResumeDto : Ghrh_Resume
public List<string> TagList { get; set; } public List<string> TagList { get; set; }
public List<Ghrh_ResumeEduBGDto> EduBG { get; set; } public List<Ghrh_ResumeEduBGDto> EduBG { get; set; }
public List<Ghrh_ResumeWorkExpDto> WorkExp { get; set; } public List<Ghrh_ResumeWorkExpDto> WorkExp { get; set; }
public long? ResumeId { get; set; }
public string OrderNo { get; set; }
public DateTime? RecommendTime { get; set; }
public int? Round { get; set; }
public bool? IsPass { get; set; }
public string InterviewResult { get; set; }
public string OrderStatus { get; set; }
public int? StaffId { get; set; }
public string CancelReason { get; set; }
public bool? IsCancel { get; set; }
public bool? IsAllowAssess { get; set; }
} }

@ -1381,15 +1381,15 @@ public class BaseServices<TEntity, TEntityDto, TInsertDto, TEditDto> : IBaseServ
} }
#endregion #endregion
public string GetQueryString(string sqlSelect, int? currentPage = null, int? pageSize = null, string sortField = null, string sortDirection = null) public string GetQueryString(string sqlSelect, int? currentPage = null, int? pageSize = null, string sortField = null)
{ {
string queryString = string.Empty; string queryString = string.Empty;
if (string.IsNullOrEmpty(sortField)) if (string.IsNullOrEmpty(sortField))
queryString = "SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY ROW_ID) NUM FROM (SELECT * FROM (" + sqlSelect + " WHERE 1=1 "; queryString = "SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY ROW_ID) NUM FROM (SELECT * FROM (" + sqlSelect + " WHERE 1=1 ";
else else
{ {
if (!string.IsNullOrEmpty(sortDirection)) if (!string.IsNullOrEmpty(sortField))
queryString = "SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY " + sortField + " " + sortDirection + ") NUM FROM (SELECT * FROM (" + sqlSelect + " "; queryString = "SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY " + sortField + ") NUM FROM (SELECT * FROM (" + sqlSelect + " ";
else else
queryString = "SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY " + sortField + " DESC) NUM FROM (SELECT * FROM (" + sqlSelect + " "; queryString = "SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY " + sortField + " DESC) NUM FROM (SELECT * FROM (" + sqlSelect + " ";
} }

@ -232,7 +232,7 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins
var tags = await _ghrh_ResumeTagServices.QueryDto(x => tagIds.Contains(x.Id)); var tags = await _ghrh_ResumeTagServices.QueryDto(x => tagIds.Contains(x.Id));
list.ForEach(async x => list.ForEach(async x =>
{ {
//x.ResumeId = x.Id; x.ResumeId = x.Id;
if (x.TitleId != null) x.TitleName = titles.Where(o => o.TitleID == x.TitleId).FirstOrDefault()?.TitleName; if (x.TitleId != null) x.TitleName = titles.Where(o => o.TitleID == x.TitleId).FirstOrDefault()?.TitleName;
x.TitleLabel = x.TitleName; x.TitleLabel = x.TitleName;
x.GenderLabel = await GetParaLabel("Gender", x.Gender); x.GenderLabel = await GetParaLabel("Gender", x.Gender);
@ -1824,7 +1824,7 @@ END";
#endregion #endregion
#region ESS端查询简历记录 #region ESS端查询简历记录
public async Task<ServicePageResult<object>> QueryESS(QueryBody filter, string condition) public async Task<ServicePageResult<Ghrh_ResumeDto>> QueryESS(QueryBody filter, string condition)
{ {
int? staffId = GetStaffId(); int? staffId = GetStaffId();
RefAsync<int> totalCount = 0; RefAsync<int> totalCount = 0;
@ -2063,11 +2063,78 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1";
sql += " AND " + condition; sql += " AND " + condition;
if (filter.pageSize == 0) if (filter.pageSize == 0)
filter.pageSize = 10000; filter.pageSize = 10000;
var data = await Db.SqlQueryable<object>(sql)
.OrderBy(filter.orderBy) var sql1 = GetQueryString(sql, filter.pageNum, filter.pageSize, filter.orderBy);
.ToPageListAsync(filter.pageNum, filter.pageSize, totalCount);
totalCount = await Db.Ado.GetIntAsync("select count(0) from ( " + sql + ") A");
return new ServicePageResult<object>(filter.pageNum, totalCount, filter.pageSize, data); var list = DbAccess.QueryList<Ghrh_ResumeDto>(sql);
//var data = await Db.SqlQueryable<object>(sql)
// .OrderBy(filter.orderBy)
// .ToPageListAsync(filter.pageNum, filter.pageSize, totalCount);
var ids = list.Select(x => x.ResumeId).ToList();
var titleIds = list.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 eduBGs = await _ghrh_ResumeEduBGServices.QueryDto(x => x.ResumeId != null && ids.Contains(x.ResumeId.Value));
var workExps = await _ghrh_ResumeWorkExpServices.QueryDto(x => x.ResumeId != null && ids.Contains(x.ResumeId.Value));
eduBGs.ForEach(async x =>
{
x.DegreeLevelLabel = await GetParaLabel("EducationalBGLevel", x.DegreeLevel);
x.BeginDate1 = DateTimeHelper.ConvertToDayString(x.BeginDate);
x.EndDate1 = DateTimeHelper.ConvertToDayString(x.EndDate);
});
workExps.ForEach(x =>
{
x.BeginDate1 = DateTimeHelper.ConvertToDayString(x.BeginDate);
x.EndDate1 = DateTimeHelper.ConvertToDayString(x.EndDate);
});
var tagIds = new List<long>();
list.ForEach(x =>
{
if (x.Tags.IsNotEmptyOrNull())
tagIds.AddRange(JsonHelper.JsonToObj<List<long>>(x.Tags));
});
tagIds = tagIds.Distinct().ToList();
var tags = await _ghrh_ResumeTagServices.QueryDto(x => tagIds.Contains(x.Id));
list.ForEach(async x =>
{
//x.ResumeId = x.Id;
if (x.TitleId != null) x.TitleName = titles.Where(o => o.TitleID == x.TitleId).FirstOrDefault()?.TitleName;
x.TitleLabel = x.TitleName;
x.GenderLabel = await GetParaLabel("Gender", x.Gender);
x.EducationLabel = await GetParaLabel("EducationalBGLevel", x.Education);
x.NationLabel = await GetParaLabel("A02", x.Nation);
x.MaritalStatusLabel = await GetParaLabel("A03", x.MaritalStatus);
x.PoliticStatusLabel = await GetParaLabel("A04", x.PoliticStatus);
x.UrgentRelationLabel = await GetParaLabel("SocialRelationType", x.UrgentRelation);
x.CertificateTypeLabel = await GetParaLabel("D51", x.CertificateType);
x.RegisteredTypeLabel = await GetParaLabel("A08", x.RegisteredType);
x.EduBG = eduBGs.Where(o => x.ResumeId == o.ResumeId).ToList();
x.WorkExp = workExps.Where(o => x.ResumeId == o.ResumeId).ToList();
if (x.Tags.IsNotEmptyOrNull())
{
var tagIds1 = JsonHelper.JsonToObj<List<long>>(x.Tags);
x.TagList = tags.Where(o => tagIds1.Contains(o.Id)).Select(o => o.TagName).ToList();
}
#region 计算年龄
if (x.Birthday != null && x.Birthday > DateTime.MinValue)
{
DateTime birthdate = (DateTime)x.Birthday;
DateTime now = DateTime.Now;
int age = now.Year - birthdate.Year;
if (now.Month < birthdate.Month || (now.Month == birthdate.Month && now.Day < birthdate.Day))
age--;
x.Age = age;
}
#endregion
});
return new ServicePageResult<Ghrh_ResumeDto>(filter.pageNum, totalCount, filter.pageSize, list);
} }
#endregion #endregion

Loading…
Cancel
Save