新增查询简历提交结果接口

master
xiaochanghai 8 months ago
parent 2dc9a1ba86
commit 3d63f80cc4
  1. 10
      Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeController.cs
  2. 6
      Tiobon.Core.Api/Tiobon.Core.xml
  3. 112
      Tiobon.Core.Common/Helper/StringHelper.cs
  4. 2
      Tiobon.Core.IServices/Ghrh/IGhrh_ResumeServices.cs
  5. 6
      Tiobon.Core.Model/ViewModels/Extend/ResumeTemplateGroupColumn.cs
  6. 4
      Tiobon.Core.Services/Ghre/Ghre_StudyRecordServices.cs
  7. 340
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
  8. 6
      Tiobon.Core/Tiobon.Core.xml

@ -176,4 +176,14 @@ public class Ghrh_ResumeController : BaseController<IGhrh_ResumeServices, Ghrh_R
public async Task<ServiceResult> Submit(long id, string status, [FromBody] ResumeFormColumnSubmit resume) => await _service.Submit(id, status, resume); public async Task<ServiceResult> Submit(long id, string status, [FromBody] ResumeFormColumnSubmit resume) => await _service.Submit(id, status, resume);
#endregion #endregion
#region 查询招聘表单信息提交结果接口
/// <summary>
/// 查询招聘表单信息提交结果接口
/// </summary>
/// <returns></returns>
[HttpPost("QueryResult/{id}/{langId}"), AllowAnonymous]
public async Task<ServiceResult<dynamic>> QueryResult(long id, int langId) => await _service.QueryResult(id, langId);
#endregion
} }

@ -1237,6 +1237,12 @@
<param name="resume"></param> <param name="resume"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.QueryResult(System.Int64,System.Int32)">
<summary>
查询招聘表单信息提交结果接口
</summary>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrh_ResumeEduBGController"> <member name="T:Tiobon.Core.Api.Controllers.Ghrh_ResumeEduBGController">
<summary> <summary>
教育背景(Controller) 教育背景(Controller)

@ -80,7 +80,8 @@ public class StringHelper
/// </summary> /// </summary>
/// <param name="format">格式-默认为N</param> /// <param name="format">格式-默认为N</param>
/// <returns></returns> /// <returns></returns>
public static string GetGUID(string format="N") { public static string GetGUID(string format = "N")
{
return Guid.NewGuid().ToString(format); return Guid.NewGuid().ToString(format);
} }
/// <summary> /// <summary>
@ -98,7 +99,8 @@ public class StringHelper
/// <param name="resourceStr"></param> /// <param name="resourceStr"></param>
/// <param name="length"></param> /// <param name="length"></param>
/// <returns></returns> /// <returns></returns>
public static string GetCusLine(string resourceStr, int length) { public static string GetCusLine(string resourceStr, int length)
{
string[] arrStr = resourceStr.Split("\r\n"); string[] arrStr = resourceStr.Split("\r\n");
return string.Join("", (from q in arrStr select q).Skip(arrStr.Length - length + 1).Take(length).ToArray()); return string.Join("", (from q in arrStr select q).Skip(arrStr.Length - length + 1).Take(length).ToArray());
} }
@ -119,39 +121,115 @@ public class StringHelper
#region 格式化数字字符
/// <summary>
/// 格式化数字字符,如传入1.24500,返回1.245
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static string TrimDecimalString(string value)
{
try
{
string result = string.Empty;
if (!string.IsNullOrEmpty(value))
{
Decimal tmp = Decimal.Parse(value);
result = string.Format("{0:#0.##########}", tmp);
}
return result;
}
catch (Exception)
{
throw;
}
}
public static string TrimDecimalString(decimal value)
{
return TrimDecimalString(value.ToString());
}
/// <summary>
/// 格式化数字字符,并保留指定的小数位
/// </summary>
/// <param name="value">需要处理的值</param>
/// <param name="reservedDigit">保留小数点后位数</param>
/// <returns></returns>
public static string TrimDecimalString(string value, int reservedDigit)
{
try
{
string result = string.Empty;
if (!string.IsNullOrEmpty(value))
{
Decimal tmp = Decimal.Parse(value);
if (reservedDigit == -1)
result = string.Format("{0:#0.##########}", tmp);
else
{
result = String.Format("{0:N" + reservedDigit.ToString() + "}", tmp);
result = result.Replace(",", "");
}
}
return result;
}
catch (Exception) { throw; }
}
/// <summary> /// <summary>
/// 格式化数字字符,并保留指定的小数位 /// 格式化数字字符,并保留指定的小数位
/// </summary> /// </summary>
/// <param name="value">需要处理的值</param> /// <param name="value">需要处理的值</param>
/// <param name="reservedDigit">保留小数点后位数,-1时只会去除小数点后最后几位的0</param> /// <param name="reservedDigit">保留小数点后位数,-1时只会去除小数点后最后几位的0</param>
/// <returns></returns> /// <returns></returns>
public static string TrimNumber(decimal value, int reservedDigit) public static string TrimDecimalString(object value, int reservedDigit)
{ {
try try
{ {
string result = string.Empty; string result = string.Empty;
if (!string.IsNullOrEmpty(Convert.ToString(value))) if (!string.IsNullOrEmpty(Convert.ToString(value)))
{ {
//此处主要是为MVC页面中数字类型的字段作处理 Decimal tmp = Decimal.Parse(Convert.ToString(value));
if (value != decimal.MinValue) if (reservedDigit == -1)
result = string.Format("{0:#0.##########}", tmp);
else
{ {
Decimal tmp = Decimal.Parse(Convert.ToString(value)); result = String.Format("{0:N" + reservedDigit.ToString() + "}", tmp);
if (reservedDigit == -1) result = result.Replace(",", "");
{
result = string.Format("{0:#0.##########}", tmp);
}
else
{
result = String.Format("{0:N" + reservedDigit.ToString() + "}", tmp);
result = result.Replace(",", "");
}
} }
} }
return result; return result;
} }
catch (Exception E) catch (Exception) { throw; }
}
/// <summary>
/// 格式化数字字符,并保留指定的小数位
/// </summary>
/// <param name="value">需要处理的值</param>
/// <param name="reservedDigit">保留小数点后位数,-1时只会去除小数点后最后几位的0</param>
/// <returns></returns>
public static decimal TrimDecimal(object value, int reservedDigit)
{
try
{ {
throw E; string result = string.Empty;
if (!string.IsNullOrEmpty(Convert.ToString(value)))
{
Decimal tmp = Decimal.Parse(Convert.ToString(value));
if (reservedDigit == -1)
result = string.Format("{0:#0.##########}", tmp);
else
{
result = String.Format("{0:N" + reservedDigit.ToString() + "}", tmp);
result = result.Replace(",", "");
}
}
return Convert.ToDecimal(result);
} }
catch (Exception) { throw; }
} }
#endregion
} }

@ -27,5 +27,7 @@ namespace Tiobon.Core.IServices
Task<ServiceResult<dynamic>> Query(long id, int langId); Task<ServiceResult<dynamic>> Query(long id, int langId);
Task<ServiceResult> Submit(long id, string status, ResumeFormColumnSubmit resume); Task<ServiceResult> Submit(long id, string status, ResumeFormColumnSubmit resume);
Task<ServiceResult<dynamic>> QueryResult(long id, int langId);
} }
} }

@ -26,5 +26,11 @@ public class ResumeCondition
public Dictionary<string, string> Items { get; set; } public Dictionary<string, string> Items { get; set; }
} }
public class ResumeFormColumn1
{
public string ColumnName { get; set; }
public string GroupType { get; set; }
}

@ -114,7 +114,7 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
if (entity.ActualBeginTime != null && entity.ActualEndTime != null) if (entity.ActualBeginTime != null && entity.ActualEndTime != null)
{ {
TimeSpan timeDifference = entity.ActualEndTime.Value - entity.ActualBeginTime.Value; TimeSpan timeDifference = entity.ActualEndTime.Value - entity.ActualBeginTime.Value;
entity.ExamDuration = StringHelper.TrimNumber(Convert.ToDecimal(timeDifference.TotalMinutes), 2); entity.ExamDuration = StringHelper.TrimDecimalString(Convert.ToDecimal(timeDifference.TotalMinutes), 2);
} }
if (entity.CourseType == "ManualInsert") if (entity.CourseType == "ManualInsert")
@ -205,7 +205,7 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
if (entity.ActualBeginTime != null && entity.ActualEndTime != null) if (entity.ActualBeginTime != null && entity.ActualEndTime != null)
{ {
TimeSpan timeDifference = entity.ActualEndTime.Value - entity.ActualBeginTime.Value; TimeSpan timeDifference = entity.ActualEndTime.Value - entity.ActualBeginTime.Value;
entity.ExamDuration = StringHelper.TrimNumber(Convert.ToDecimal(timeDifference.TotalMinutes), 2); entity.ExamDuration = StringHelper.TrimDecimalString(Convert.ToDecimal(timeDifference.TotalMinutes), 2);
} }
if (entity.CourseType == "ManualInsert") if (entity.CourseType == "ManualInsert")

@ -1,5 +1,6 @@
 
using AgileObjects.AgileMapper; using AgileObjects.AgileMapper;
using DnsClient;
using Microsoft.IdentityModel.Tokens; using Microsoft.IdentityModel.Tokens;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using SqlSugar; using SqlSugar;
@ -575,26 +576,11 @@ END";
#region Data #region Data
sql = @"DECLARE @ResumeTemplateID BIGINT = 1 var formColumns = await QueryResumeFormColumn(1);
SELECT pp.ColumnName field #region Base
FROM Ghrh_ResumeTemplateInfoGroupColumn kk, Ghrh_ResumeInfoColumn pp
WHERE kk.ResumeTemplateInfoGroupID = var columnNames = formColumns.Where(x => x.GroupType == "Base").Select(x => x.ColumnName).ToList();
(SELECT b.Id
FROM Ghrh_ResumeInfoGroup a
JOIN Ghrh_ResumeTemplateInfoGroup b
ON b.ResumeInfoGroupId = a.ID
WHERE a.GroupType = 'Base'
AND a.IsEnable = 1
AND b.ResumeTemplateID = @ResumeTemplateID)
-- a.ResumeTemplateInfoGroupID
AND kk.ResumeInfoColumnID = pp.ID
AND kk.IsDisplay = 1
AND pp.IsEnable = 1
AND kk.IsEnable = 1
ORDER BY kk.SortNo";
var columnNames = await Db.Ado.SqlQueryAsync<string>(sql);
columnNames = columnNames.Distinct().ToList(); columnNames = columnNames.Distinct().ToList();
var dicts = new Dictionary<string, object> var dicts = new Dictionary<string, object>
{ {
@ -606,11 +592,115 @@ END";
dicts.Add(x, value); dicts.Add(x, value);
}); });
Data.Base = dicts; Data.Base = dicts;
Data.Family = await _ghrh_ResumeHomeServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);//家庭关系 #endregion
Data.Education = await _ghrh_ResumeEduBGServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);//教育背景
Data.WorkExp = await _ghrh_ResumeWorkExpServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);//工作经历 #region 家庭关系
Data.Licence = await _ghrh_ResumeLicenceServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);//简历培训记录
Data.Training = await _ghrh_ResumeTrainingServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);//证件 columnNames = formColumns.Where(x => x.GroupType == "Family").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
var familys = await _ghrh_ResumeHomeServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);
var family = new List<Dictionary<string, object>>();
familys.ForEach(x =>
{
var dicts = new Dictionary<string, object>();
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
dicts.Add(x, value);
});
if (columnNames.Any(x => x == "AttachmentIDs"))
dicts["AttachmentIDs"] = x.AttachmentIDs;
family.Add(dicts);
});
Data.Family = family;
#endregion
#region 教育背景
columnNames = formColumns.Where(x => x.GroupType == "Education").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
var educations = await _ghrh_ResumeEduBGServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);
var education = new List<Dictionary<string, object>>();
educations.ForEach(x =>
{
var dicts = new Dictionary<string, object>();
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
dicts.Add(x, value);
});
if (columnNames.Any(x => x == "AttachmentIDs"))
dicts["AttachmentIDs"] = x.AttachmentIDs;
education.Add(dicts);
});
Data.Education = education;
#endregion
#region 工作经历
columnNames = formColumns.Where(x => x.GroupType == "WorkExp").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
var workExps = await _ghrh_ResumeWorkExpServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);
var workExp = new List<Dictionary<string, object>>();
workExps.ForEach(x =>
{
var dicts = new Dictionary<string, object>();
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
dicts.Add(x, value);
});
if (columnNames.Any(x => x == "AttachmentIDs"))
dicts["AttachmentIDs"] = x.AttachmentIDs;
workExp.Add(dicts);
});
Data.WorkExp = workExp;
#endregion
#region 证件
columnNames = formColumns.Where(x => x.GroupType == "Licence").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
var Licences = await _ghrh_ResumeLicenceServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);
var Licence = new List<Dictionary<string, object>>();
Licences.ForEach(x =>
{
var dicts = new Dictionary<string, object>();
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
dicts.Add(x, value);
});
if (columnNames.Any(x => x == "AttachmentIDs"))
dicts["AttachmentIDs"] = x.AttachmentIDs;
Licence.Add(dicts);
});
Data.Licence = Licence;
#endregion
#region 简历培训记录
columnNames = formColumns.Where(x => x.GroupType == "Training").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
var Trainings = await _ghrh_ResumeTrainingServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);
var Training = new List<Dictionary<string, object>>();
Trainings.ForEach(x =>
{
var dicts = new Dictionary<string, object>();
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
dicts.Add(x, value);
});
if (columnNames.Any(x => x == "AttachmentIDs"))
dicts["AttachmentIDs"] = x.AttachmentIDs;
Training.Add(dicts);
});
Data.Training = Training;
#endregion
Data.Attachment = await Db.Queryable<Ghre_Attachment>().Where(x => x.TableName == id.ObjToString()).ToListAsync(); Data.Attachment = await Db.Queryable<Ghre_Attachment>().Where(x => x.TableName == id.ObjToString()).ToListAsync();
var statements = await _ghrh_ResumeStatementServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);//证件 var statements = await _ghrh_ResumeStatementServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);//证件
@ -633,10 +723,10 @@ END";
#region 承诺 #region 承诺
var promiseList = new List<string> var promiseList = new List<string>
{ {
"本人诚实告知未思有各类传染性疾病,若经体检后发现有不符合本公司要求的项目,本人愿意放弃此次应征机会!", "本人诚实告知未思有各类传染性疾病,若经体检后发现有不符合本公司要求的项目,本人愿意放弃此次应征机会!",
"本人正式入职之前,已不与任何单位存在劳动关系,并承诺在工作中不使用曾经服务过的工作单位的技术和商业秘密,如有违背,由此引起的法律纠纷及经济责任由本人承担。" "本人正式入职之前,已不与任何单位存在劳动关系,并承诺在工作中不使用曾经服务过的工作单位的技术和商业秘密,如有违背,由此引起的法律纠纷及经济责任由本人承担。"
}; };
obj.Promise = promiseList; obj.Promise = promiseList;
#endregion #endregion
@ -649,6 +739,29 @@ END";
return ServiceResult<dynamic>.OprateSuccess("查询成功", obj); return ServiceResult<dynamic>.OprateSuccess("查询成功", obj);
} }
public async Task<List<ResumeFormColumn1>> QueryResumeFormColumn(long resumeTemplateID)
{
var sql = @$"DECLARE @ResumeTemplateID BIGINT = {resumeTemplateID}
SELECT A.ColumnName, D.GroupType
FROM Ghrh_ResumeInfoColumn A
LEFT JOIN Ghrh_ResumeTemplateInfoGroupColumn B
ON B.ResumeInfoColumnID = A.ID
AND B.IsDisplay = 1
AND B.IsEnable = 1
AND A.IsEnable = 1
JOIN Ghrh_ResumeTemplateInfoGroup C
ON B.ResumeTemplateInfoGroupID = C.Id
JOIN Ghrh_ResumeInfoGroup D
ON C.ResumeInfoGroupId = D.ID AND D.IsEnable = 1
WHERE C.ResumeTemplateID = @ResumeTemplateID
-- AND D.GroupType = 'Base'
ORDER BY D.GroupType, b.SortNo";
return await Db.Ado.SqlQueryAsync<ResumeFormColumn1>(sql);
}
#endregion #endregion
#region 简历提交接口 #region 简历提交接口
@ -708,8 +821,179 @@ END";
await _ghrh_ResumeStatementServices.Add(inserts); await _ghrh_ResumeStatementServices.Add(inserts);
} }
return ServiceResult.OprateSuccess(); return ServiceResult.OprateSuccess();
} }
#endregion #endregion
#region 简历提交接口
public async Task<ServiceResult<dynamic>> QueryResult(long id, int langId)
{
dynamic Data = new ExpandoObject();
var entity = await QueryById(id);
if (entity is null) throw new Exception("无效的ID!");
decimal completionDegree = 0;
var groups = await Db.Ado.SqlQueryAsync<ResumeFormColumn>("select GroupName tabName, GroupType type from Ghrh_ResumeInfoGroup where IsEnable=1 and GroupType !='Photo' and GroupType !='Attachment'");
int count = groups.Count;
#region 基础数据
var notNUllCount = 0;
var formColumns = await QueryResumeFormColumn(1);
var columnNames = formColumns.Where(x => x.GroupType == "Base").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
var basePercent = (decimal)notNUllCount / columnNames.Count * 100;
completionDegree += basePercent;
#endregion
#region 家庭关系
decimal familyPercent = 0;
var familys = await _ghrh_ResumeHomeServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);
if (familys.Any())
{
notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "Family").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
familyPercent = (decimal)notNUllCount / (columnNames.Count * familys.Count) * 100;
completionDegree += familyPercent;
}
#endregion
#region 教育背景
decimal educationPercent = 0;
var educations = await _ghrh_ResumeEduBGServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);
if (educations.Any())
{
notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "Education").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
educationPercent = (decimal)notNUllCount / (columnNames.Count * educations.Count) * 100;
completionDegree += educationPercent;
}
#endregion
#region 工作经历
decimal workExpPercent = 0;
var workExps = await _ghrh_ResumeWorkExpServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);
if (workExps.Any())
{
notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "WorkExp").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
workExpPercent = (decimal)notNUllCount / (columnNames.Count * workExps.Count) * 100;
completionDegree += workExpPercent;
}
#endregion
#region 证件
decimal licencePercent = 0;
var licences = await _ghrh_ResumeLicenceServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);
if (licences.Any())
{
notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "Licence").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
licencePercent = (decimal)notNUllCount / (columnNames.Count * licences.Count) * 100;
completionDegree += licencePercent;
}
#endregion
#region 培训
decimal trainingPercent = 0;
var trainings = await _ghrh_ResumeTrainingServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);
if (trainings.Any())
{
notNUllCount = 0;
columnNames = formColumns.Where(x => x.GroupType == "Training").Select(x => x.ColumnName).ToList();
columnNames = columnNames.Distinct().ToList();
columnNames.ForEach(x =>
{
var value = entity.GetPropertyValue(x);
if (value != null)
notNUllCount++;
});
trainingPercent = (decimal)notNUllCount / (columnNames.Count * trainings.Count) * 100;
completionDegree += trainingPercent;
}
#endregion
#region 声明
decimal statementPercent = 0;
var statements = await _ghrh_ResumeStatementServices.QueryDto(x => x.ResumeId != null && x.ResumeId == id);//证件
if (statements.Any())
{
notNUllCount = statements.Count;
statementPercent = (decimal)notNUllCount / columnNames.Count * 100;
completionDegree += statementPercent;
}
#endregion
completionDegree = completionDegree / count;
Dictionary<string, int> dics = new()
{
{ "Base", Convert.ToInt32(StringHelper.TrimDecimalString(StringHelper.TrimDecimalString(basePercent, 0))) },
{ "Family", Convert.ToInt32(StringHelper.TrimDecimalString(StringHelper.TrimDecimalString(familyPercent, 0))) },
{ "Education", Convert.ToInt32(StringHelper.TrimDecimalString(StringHelper.TrimDecimalString(educationPercent, 0))) },
{ "WorkExp", Convert.ToInt32(StringHelper.TrimDecimalString(StringHelper.TrimDecimalString(workExpPercent, 0))) },
{ "Licence", Convert.ToInt32(StringHelper.TrimDecimalString(StringHelper.TrimDecimalString(licencePercent, 0))) },
{ "Training", Convert.ToInt32(StringHelper.TrimDecimalString(StringHelper.TrimDecimalString(trainingPercent, 0))) },
{ "Statement", Convert.ToInt32(StringHelper.TrimDecimalString(StringHelper.TrimDecimalString(statementPercent, 0))) }
};
var seriesData = new List<int>();
var xAxisData = new List<string>();
groups.ForEach(x =>
{
if (dics.ContainsKey(x.type))
{
seriesData.Add(dics[x.type]);
xAxisData.Add(x.tabName);
}
});
Data.CompletionDegree = StringHelper.TrimDecimalString(StringHelper.TrimDecimalString(completionDegree, 2));
Data.SeriesData = seriesData;
Data.XAxisData = xAxisData;
Data.StaffName = entity.StaffName;
Data.PhotoUrl = entity.PhotoUrl;
return ServiceResult<dynamic>.OprateSuccess("查询成功", Data);
}
#endregion
} }

@ -1237,6 +1237,12 @@
<param name="resume"></param> <param name="resume"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Tiobon.Core.Api.Controllers.Ghrh_ResumeController.QueryResult(System.Int64,System.Int32)">
<summary>
查询招聘表单信息提交结果接口
</summary>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrh_ResumeEduBGController"> <member name="T:Tiobon.Core.Api.Controllers.Ghrh_ResumeEduBGController">
<summary> <summary>
教育背景(Controller) 教育背景(Controller)

Loading…
Cancel
Save