From b63a5dcfe1d8d0e3bef85921c529a1cda9bc4aab Mon Sep 17 00:00:00 2001 From: xiaochanghai Date: Tue, 3 Dec 2024 15:13:47 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E5=8E=86=E5=BA=93=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E9=85=8D=E7=BD=AE=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Tiobon.Core.Services/BASE/BaseServices.cs | 3 + .../Ghrh/Ghrh_ResumeServices.cs | 79 ++++++++++++++++--- .../Ghrh/Ghrh_ResumeTemplateServices.cs | 11 ++- 3 files changed, 79 insertions(+), 14 deletions(-) diff --git a/Tiobon.Core.Services/BASE/BaseServices.cs b/Tiobon.Core.Services/BASE/BaseServices.cs index 84929c76..386c7ca2 100644 --- a/Tiobon.Core.Services/BASE/BaseServices.cs +++ b/Tiobon.Core.Services/BASE/BaseServices.cs @@ -1311,6 +1311,9 @@ ORDER BY SortNo ASC"; public async Task> GetParaList(string key) { + if (key.IsNullOrEmpty()) + return null; + var list = await _caching.GetAsync>(key); if (list == null || (list != null && !list.Any())) { diff --git a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs index 5f034cb8..6d672571 100644 --- a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs +++ b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs @@ -1,4 +1,5 @@ -using DinkToPdf; +using Amazon.Runtime.Internal.Transform; +using DinkToPdf; using DinkToPdf.Contracts; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; @@ -469,19 +470,71 @@ public class Ghrh_ResumeServices : BaseServices>> 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>(str); - tabs.ForEach(async x => - { - var items = await GetParaList(x.ParaMasterNo); - if (x.Key == "Tags") - items.Insert(0, new Ghrs_ParaDetail() { ParaDetailNo = "NoFliter", ParaDetailName = "未打标签" }); - else - items.Insert(0, new Ghrs_ParaDetail() { ParaDetailNo = "NoFliter", ParaDetailName = "不限" }); - x.Items = items.ToDictionary(item => item.ParaDetailNo, item => item.ParaDetailName); + var sql = @"SELECT A.TableName, + A.ColumnName 'Key', + A.ResumeInfoColumnNo, + A.ResumeInfoColumnName 'Name', + A.DataSource, + A.DataSourceType, + A.DataType, + 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(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>(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 + { + { "NoFliter", "未打标签" } + }; + + items.ForEach(o => + { + tabs[i].Items.Add(o.ParaDetailNo, o.ParaDetailName); + }); + } + } + + } return ServiceResult>.OprateSuccess("查询成功!", tabs); @@ -2645,7 +2698,7 @@ WHERE A.IsEnable = 1 AND C.IsEnable = 1 AND C.Status = A.Status"; var record = records[i]; obj.Add(new JProperty("Score" + (i + 1), null)); obj.Add(new JProperty("CanEdit" + (i + 1), null)); - } + } body.Add(obj); obj = new(); diff --git a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeTemplateServices.cs b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeTemplateServices.cs index 6263f6a2..a9a7d79a 100644 --- a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeTemplateServices.cs +++ b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeTemplateServices.cs @@ -529,7 +529,8 @@ END"; @IsRelease INT, @CanModifyBySelf INT, @multipleSelect NVARCHAR (100), - @CanEssDisplay INT + @CanEssDisplay INT, + @QueryCondition INT BEGIN TRY -- 开始错误处理 BEGIN TRAN tranResumeInfoColumn -- 开始事物处理 @@ -566,6 +567,7 @@ END"; @IsQuickJoinColumn = IsQuickJoinColumn, @CanModifyBySelf = CanModifyBySelf, @CanEssDisplay = CanEssDisplay, + @QueryCondition = QueryCondition, @multipleSelect = multipleSelect FROM OPENJSON (@jsonParam) WITH ( ResumeTemplateInfoGroupID NVARCHAR (1000), @@ -592,9 +594,11 @@ END"; IsQuickJoinColumn INT, CanModifyBySelf INT, CanEssDisplay INT, + QueryCondition INT, multipleSelect NVARCHAR (100)) SET @CanModifyBySelf = isnull (@CanModifyBySelf, 0) SET @CanEssDisplay = isnull (@CanEssDisplay, 0) + SET @QueryCondition = isnull (@QueryCondition, 0) IF @ColumnType IN ('Input', 'InputNumber', @@ -870,6 +874,7 @@ END"; DataSourceType = @DataSourceType, CanModifyBySelf = @CanModifyBySelf, CanEssDisplay = @CanEssDisplay, + QueryCondition = @QueryCondition, multipleSelect = @multipleSelect, DataSource = @DataSource, IsRequired = @IsRequired, @@ -922,6 +927,7 @@ END"; SortNo, CanModifyBySelf, CanEssDisplay, + QueryCondition, multipleSelect, OperateLogID, [CreateBy], @@ -958,6 +964,7 @@ END"; 1, @CanModifyBySelf, @CanEssDisplay, + @QueryCondition, @multipleSelect, @OperateLogID, @userId, @@ -1120,6 +1127,7 @@ END"; a.RemarkSz, a.CanModifyBySelf, a.CanEssDisplay, + a.QueryCondition, a.multipleSelect, isnull ((SELECT UserName FROM Ghrs_User kk @@ -1168,6 +1176,7 @@ END"; 0 IsQuickJoinColumn, 0 CanModifyBySelf, 0 CanEssDisplay, + 0 QueryCondition, '' multipleSelect, '' InitValue, '' Placeholder,