简历库新增自定义配置查询条件

master
xiaochanghai 7 months ago
parent 27eb0ec883
commit b63a5dcfe1
  1. 3
      Tiobon.Core.Services/BASE/BaseServices.cs
  2. 77
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs
  3. 11
      Tiobon.Core.Services/Ghrh/Ghrh_ResumeTemplateServices.cs

@ -1311,6 +1311,9 @@ ORDER BY SortNo ASC";
public async Task<List<Ghrs_ParaDetail>> GetParaList(string key) public async Task<List<Ghrs_ParaDetail>> GetParaList(string key)
{ {
if (key.IsNullOrEmpty())
return null;
var list = await _caching.GetAsync<List<Ghrs_ParaDetail>>(key); var list = await _caching.GetAsync<List<Ghrs_ParaDetail>>(key);
if (list == null || (list != null && !list.Any())) if (list == null || (list != null && !list.Any()))
{ {

@ -1,4 +1,5 @@
using DinkToPdf; using Amazon.Runtime.Internal.Transform;
using DinkToPdf;
using DinkToPdf.Contracts; using DinkToPdf.Contracts;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
@ -469,19 +470,71 @@ public class Ghrh_ResumeServices : BaseServices<Ghrh_Resume, Ghrh_ResumeDto, Ins
#region 获取查询条件 #region 获取查询条件
public async Task<ServiceResult<List<ResumeCondition>>> QueryConditions() public async Task<ServiceResult<List<ResumeCondition>>> QueryConditions()
{ {
string str = "[\r\n\t{\r\n\t\t\"Key\": \"Education\",\r\n\t\t\"Name\": \"学历要求\",\r\n\t\t\"ParaMasterNo\": \"EducationalBGLevel\"\r\n\t},\r\n\t{\r\n\t\t\"Key\": \"WorkYears\",\r\n\t\t\"Name\": \"经验要求\",\r\n\t\t\"ParaMasterNo\": \"ResumeWorkYears\"\r\n\t},\r\n\t{\r\n\t\t\"Key\": \"Age\",\r\n\t\t\"Name\": \"年龄要求\",\r\n\t\t\"ParaMasterNo\": \"AgePeriodSetup\"\r\n\t},\r\n\t{\r\n\t\t\"Key\": \"Gender\",\r\n\t\t\"Name\": \"性 别\",\r\n\t\t\"ParaMasterNo\": \"Gender\"\r\n\t},\r\n\t{\r\n\t\t\"Key\": \"SalaryPeriod\",\r\n\t\t\"Name\": \"薪资区间\",\r\n\t\t\"ParaMasterNo\": \"SalaryPeriodSetup\"\r\n\t},\r\n\t{\r\n\t\t\"Key\": \"ApplyStatus\",\r\n\t\t\"Name\": \"求职状态\",\r\n\t\t\"ParaMasterNo\": \"ResumeApplyStatus\"\r\n\t},\r\n\t{\r\n\t\t\"Key\": \"Tags\",\r\n\t\t\"Name\": \"标签\",\r\n\t\t\"ParaMasterNo\": \"ResumeTag\"\r\n\t}\r\n]";
var tabs = JsonHelper.JsonToObj<List<ResumeCondition>>(str);
tabs.ForEach(async x => var sql = @"SELECT A.TableName,
{ A.ColumnName 'Key',
var items = await GetParaList(x.ParaMasterNo); A.ResumeInfoColumnNo,
if (x.Key == "Tags") A.ResumeInfoColumnName 'Name',
items.Insert(0, new Ghrs_ParaDetail() { ParaDetailNo = "NoFliter", ParaDetailName = "未打标签" }); A.DataSource,
else A.DataSourceType,
items.Insert(0, new Ghrs_ParaDetail() { ParaDetailNo = "NoFliter", ParaDetailName = "不限" }); A.DataType,
x.Items = items.ToDictionary(item => item.ParaDetailNo, item => item.ParaDetailName); A.ColumnType,
B.ParaMasterNo
FROM Ghrh_ResumeInfoColumn A
LEFT JOIN Ghrs_ParaMaster B ON A.DataSource = B.ParaMasterId
WHERE ResumeInfoGroupId IN (SELECT Id
FROM Ghrh_ResumeInfoGroup
WHERE GroupType = 'Base')
AND A.QueryCondition = 1
ORDER BY A.SortNo ASC";
var tabs = await Db.Ado.SqlQueryAsync<ResumeCondition>(sql);
//string str = "[\r\n\t{\r\n\t\t\"Key\": \"Education\",\r\n\t\t\"Name\": \"学历要求\",\r\n\t\t\"ParaMasterNo\": \"EducationalBGLevel\"\r\n\t},\r\n\t{\r\n\t\t\"Key\": \"WorkYears\",\r\n\t\t\"Name\": \"经验要求\",\r\n\t\t\"ParaMasterNo\": \"ResumeWorkYears\"\r\n\t},\r\n\t{\r\n\t\t\"Key\": \"Age\",\r\n\t\t\"Name\": \"年龄要求\",\r\n\t\t\"ParaMasterNo\": \"AgePeriodSetup\"\r\n\t},\r\n\t{\r\n\t\t\"Key\": \"Gender\",\r\n\t\t\"Name\": \"性 别\",\r\n\t\t\"ParaMasterNo\": \"Gender\"\r\n\t},\r\n\t{\r\n\t\t\"Key\": \"SalaryPeriod\",\r\n\t\t\"Name\": \"薪资区间\",\r\n\t\t\"ParaMasterNo\": \"SalaryPeriodSetup\"\r\n\t},\r\n\t{\r\n\t\t\"Key\": \"ApplyStatus\",\r\n\t\t\"Name\": \"求职状态\",\r\n\t\t\"ParaMasterNo\": \"ResumeApplyStatus\"\r\n\t},\r\n\t{\r\n\t\t\"Key\": \"Tags\",\r\n\t\t\"Name\": \"标签\",\r\n\t\t\"ParaMasterNo\": \"ResumeTag\"\r\n\t}\r\n]";
//var tabs = JsonHelper.JsonToObj<List<ResumeCondition>>(str);
tabs.Add(new ResumeCondition() { Key = "Tags", Name = "标签" });
for (int i = 0; i < tabs.Count; i++)
{
if (tabs[i].Key == "WorkYears")
tabs[i].ParaMasterNo = "ResumeWorkYears";
var items = await GetParaList(tabs[i].ParaMasterNo);
if (tabs[i].Key == "Tags")
{
var tags = await _ghrh_ResumeTagServices.Query();
items = tags.Select(x => new Ghrs_ParaDetail()
{
ParaDetailNo = x.Id.ToString(),
ParaDetailName = x.TagName
}).ToList();
//items.Insert(0, new Ghrs_ParaDetail() { ParaDetailNo = "NoFliter", ParaDetailName = "未打标签" });
}); }
if (items != null)
{
if (tabs[i].Key != "Tags")
{
items.Insert(0, new Ghrs_ParaDetail() { ParaDetailNo = "NoFliter", ParaDetailName = "不限" });
tabs[i].Items = items.ToDictionary(item => item.ParaDetailNo, item => item.ParaDetailName);
}
else
{
tabs[i].Items = new Dictionary<string, string>
{
{ "NoFliter", "未打标签" }
};
items.ForEach(o =>
{
tabs[i].Items.Add(o.ParaDetailNo, o.ParaDetailName);
});
}
}
}
return ServiceResult<List<ResumeCondition>>.OprateSuccess("查询成功!", tabs); return ServiceResult<List<ResumeCondition>>.OprateSuccess("查询成功!", tabs);

@ -529,7 +529,8 @@ END";
@IsRelease INT, @IsRelease INT,
@CanModifyBySelf INT, @CanModifyBySelf INT,
@multipleSelect NVARCHAR (100), @multipleSelect NVARCHAR (100),
@CanEssDisplay INT @CanEssDisplay INT,
@QueryCondition INT
BEGIN TRY -- BEGIN TRY --
BEGIN TRAN tranResumeInfoColumn -- BEGIN TRAN tranResumeInfoColumn --
@ -566,6 +567,7 @@ END";
@IsQuickJoinColumn = IsQuickJoinColumn, @IsQuickJoinColumn = IsQuickJoinColumn,
@CanModifyBySelf = CanModifyBySelf, @CanModifyBySelf = CanModifyBySelf,
@CanEssDisplay = CanEssDisplay, @CanEssDisplay = CanEssDisplay,
@QueryCondition = QueryCondition,
@multipleSelect = multipleSelect @multipleSelect = multipleSelect
FROM OPENJSON (@jsonParam) WITH ( FROM OPENJSON (@jsonParam) WITH (
ResumeTemplateInfoGroupID NVARCHAR (1000), ResumeTemplateInfoGroupID NVARCHAR (1000),
@ -592,9 +594,11 @@ END";
IsQuickJoinColumn INT, IsQuickJoinColumn INT,
CanModifyBySelf INT, CanModifyBySelf INT,
CanEssDisplay INT, CanEssDisplay INT,
QueryCondition INT,
multipleSelect NVARCHAR (100)) multipleSelect NVARCHAR (100))
SET @CanModifyBySelf = isnull (@CanModifyBySelf, 0) SET @CanModifyBySelf = isnull (@CanModifyBySelf, 0)
SET @CanEssDisplay = isnull (@CanEssDisplay, 0) SET @CanEssDisplay = isnull (@CanEssDisplay, 0)
SET @QueryCondition = isnull (@QueryCondition, 0)
IF @ColumnType IN ('Input', IF @ColumnType IN ('Input',
'InputNumber', 'InputNumber',
@ -870,6 +874,7 @@ END";
DataSourceType = @DataSourceType, DataSourceType = @DataSourceType,
CanModifyBySelf = @CanModifyBySelf, CanModifyBySelf = @CanModifyBySelf,
CanEssDisplay = @CanEssDisplay, CanEssDisplay = @CanEssDisplay,
QueryCondition = @QueryCondition,
multipleSelect = @multipleSelect, multipleSelect = @multipleSelect,
DataSource = @DataSource, DataSource = @DataSource,
IsRequired = @IsRequired, IsRequired = @IsRequired,
@ -922,6 +927,7 @@ END";
SortNo, SortNo,
CanModifyBySelf, CanModifyBySelf,
CanEssDisplay, CanEssDisplay,
QueryCondition,
multipleSelect, multipleSelect,
OperateLogID, OperateLogID,
[CreateBy], [CreateBy],
@ -958,6 +964,7 @@ END";
1, 1,
@CanModifyBySelf, @CanModifyBySelf,
@CanEssDisplay, @CanEssDisplay,
@QueryCondition,
@multipleSelect, @multipleSelect,
@OperateLogID, @OperateLogID,
@userId, @userId,
@ -1120,6 +1127,7 @@ END";
a.RemarkSz, a.RemarkSz,
a.CanModifyBySelf, a.CanModifyBySelf,
a.CanEssDisplay, a.CanEssDisplay,
a.QueryCondition,
a.multipleSelect, a.multipleSelect,
isnull ((SELECT UserName isnull ((SELECT UserName
FROM Ghrs_User kk FROM Ghrs_User kk
@ -1168,6 +1176,7 @@ END";
0 IsQuickJoinColumn, 0 IsQuickJoinColumn,
0 CanModifyBySelf, 0 CanModifyBySelf,
0 CanEssDisplay, 0 CanEssDisplay,
0 QueryCondition,
'' multipleSelect, '' multipleSelect,
'' InitValue, '' InitValue,
'' Placeholder, '' Placeholder,

Loading…
Cancel
Save