diff --git a/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeTemplateController.cs b/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeTemplateController.cs index 1c12cde5..d456ea62 100644 --- a/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeTemplateController.cs +++ b/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeTemplateController.cs @@ -90,4 +90,15 @@ public class Ghrh_ResumeTemplateController : BaseController> QueryTemplateColumnSingle([FromBody] QueryForm filter) => await _service.QueryTemplateColumnSingle(filter); #endregion + + #region 查询模板栏位 + /// + /// 查询模板栏位 + /// + /// + /// + [HttpPost("PT_GHR30_StaffTemplate_IUD")] + public async Task PT_GHR30_StaffTemplate_IUD([FromBody] QueryForm1 filter) => await _service.PT_GHR30_StaffTemplate_IUD(filter); + + #endregion } \ No newline at end of file diff --git a/Tiobon.Core.Api/Tiobon.Core.xml b/Tiobon.Core.Api/Tiobon.Core.xml index 038bdd59..b4604926 100644 --- a/Tiobon.Core.Api/Tiobon.Core.xml +++ b/Tiobon.Core.Api/Tiobon.Core.xml @@ -1198,7 +1198,14 @@ - 获取分组数据 + 查询模板栏位 + + + + + + + 查询模板栏位 diff --git a/Tiobon.Core.Common/Attribute/QueryFilter.cs b/Tiobon.Core.Common/Attribute/QueryFilter.cs index d0bc1a51..f19c53c6 100644 --- a/Tiobon.Core.Common/Attribute/QueryFilter.cs +++ b/Tiobon.Core.Common/Attribute/QueryFilter.cs @@ -139,6 +139,21 @@ public class QueryForm } +public class QueryForm1 +{ + public string doType { get; set; } + public long? id { get; set; } + public int langId { get; set; } + public string menuName { get; set; } + public string token { get; set; } + public string procName { get; set; } + public string timestamp { get; set; } + public string userId { get; set; } + public object jsonParam { get; set; } + + +} + public class QueryExportField { public List ExFields { get; set; } diff --git a/Tiobon.Core.IServices/Ghrh/IGhrh_ResumeTemplateServices.cs b/Tiobon.Core.IServices/Ghrh/IGhrh_ResumeTemplateServices.cs index 63e320a7..5cb790af 100644 --- a/Tiobon.Core.IServices/Ghrh/IGhrh_ResumeTemplateServices.cs +++ b/Tiobon.Core.IServices/Ghrh/IGhrh_ResumeTemplateServices.cs @@ -24,5 +24,7 @@ namespace Tiobon.Core.IServices Task ExceteTemplateColumnChange(QueryForm filter); Task> QueryTemplateColumnSingle(QueryForm filter); + + Task PT_GHR30_StaffTemplate_IUD(QueryForm1 filter); } } \ No newline at end of file diff --git a/Tiobon.Core.Model/View/Ghrh/Ghrh_ResumeInfoGroup.Dto.View.cs b/Tiobon.Core.Model/View/Ghrh/Ghrh_ResumeInfoGroup.Dto.View.cs index ab6cc685..b32afa03 100644 --- a/Tiobon.Core.Model/View/Ghrh/Ghrh_ResumeInfoGroup.Dto.View.cs +++ b/Tiobon.Core.Model/View/Ghrh/Ghrh_ResumeInfoGroup.Dto.View.cs @@ -15,6 +15,8 @@ *└──────────────────────────────────┘ */ +using Tiobon.Core.Model.ViewModels.Extend; + namespace Tiobon.Core.Model.Models; /// @@ -31,7 +33,9 @@ public class Ghrh_ResumeInfoGroupDto : Ghrh_ResumeInfoGroup /// 修改信息 /// public string UpdateDataInfo { get; set; } + public long ResumeInfoGroupID { get; set; } + public long ResumeTemplateInfoGroupID { get; set; } public string ResumeInfoGroupName { get; set; } public int editable { get; set; } public int removable { get; set; } @@ -40,5 +44,5 @@ public class Ghrh_ResumeInfoGroupDto : Ghrh_ResumeInfoGroup public int configurable { get; set; } public int isDisplay { get; set; } public string GroupColumn1 { get; set; } - public List> GroupColumn { get; set; } + public List GroupColumn { get; set; } } diff --git a/Tiobon.Core.Model/ViewModels/Extend/ResumeTemplateColumnMove.cs b/Tiobon.Core.Model/ViewModels/Extend/ResumeTemplateColumnMove.cs index d059939c..33a2cb81 100644 --- a/Tiobon.Core.Model/ViewModels/Extend/ResumeTemplateColumnMove.cs +++ b/Tiobon.Core.Model/ViewModels/Extend/ResumeTemplateColumnMove.cs @@ -2,7 +2,11 @@ public class ResumeTemplateColumnMove { - public int DisplayType { get; set; } + public long ResumeInfoColumnID { get; set; } + public string ResumeInfoColumnName { get; set; } public int SortNo { get; set; } - public long StaffInfoColumnID { get; set; } + public int IsBuildIn { get; set; } + public int IsRequired { get; set; } + public int Removable { get; set; } + public int DisplayType { get; set; } } diff --git a/Tiobon.Core.Model/ViewModels/Extend/ResumeTemplateGroupColumn.cs b/Tiobon.Core.Model/ViewModels/Extend/ResumeTemplateGroupColumn.cs index c31ee377..8d779e2c 100644 --- a/Tiobon.Core.Model/ViewModels/Extend/ResumeTemplateGroupColumn.cs +++ b/Tiobon.Core.Model/ViewModels/Extend/ResumeTemplateGroupColumn.cs @@ -10,3 +10,17 @@ public class ResumeTemplateGroupColumn public int Removable { get; set; } public int DisplayType { get; set; } } + +public class ResumeTemplateGroupColumn1 +{ + public int CanModifyBySelf { get; set; } + public string ColumnType { get; set; } + public int SortNo { get; set; } + public string ResumeInfoColumnName { get; set; } + public string DataType { get; set; } + public int IsSingleColumn { get; set; } + public string Placeholder { get; set; } + public long ResumeInfoColumnId { get; set; } +} + + diff --git a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeInfoGroupServices.cs b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeInfoGroupServices.cs index 25cff8e5..7182a0ff 100644 --- a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeInfoGroupServices.cs +++ b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeInfoGroupServices.cs @@ -4,12 +4,13 @@ using Tiobon.Core.Model.Models; using Tiobon.Core.Services.BASE; using Tiobon.Core.IRepository.Base; using Tiobon.Core.Common.Caches; +using Tiobon.Core.Common.Helper; namespace Tiobon.Core.Services { - /// - /// 简历组别 (服务) - /// + /// + /// 简历组别 (服务) + /// public class Ghrh_ResumeInfoGroupServices : BaseServices, IGhrh_ResumeInfoGroupServices { private readonly IBaseRepository _dal; @@ -19,5 +20,13 @@ namespace Tiobon.Core.Services base.BaseDal = dal; base._caching = caching; } + + public override async Task Add(InsertGhrh_ResumeInfoGroupInput entity) + { + entity.GroupType = entity.GroupType ?? "Other"; + var SortNo = await Db.Queryable().MaxAsync(it => it.SortNo); + entity.SortNo = SortNo + 1; + return await base.Add(entity); + } } } \ No newline at end of file diff --git a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeTemplateServices.cs b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeTemplateServices.cs index 85626603..0d4c556f 100644 --- a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeTemplateServices.cs +++ b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeTemplateServices.cs @@ -8,6 +8,7 @@ using Tiobon.Core.Model; using Tiobon.Core.Common; using Tiobon.Core.Common.Helper; using Tiobon.Core.Model.ViewModels.Extend; +using SqlSugar; namespace Tiobon.Core.Services; @@ -45,121 +46,153 @@ public class Ghrh_ResumeTemplateServices : BaseServices(sql); entitys.ForEach(x => { if (x.GroupColumn1.IsNotEmptyOrNull()) - x.GroupColumn = JsonHelper.JsonToObj>>(x.GroupColumn1); + { + x.GroupColumn = JsonHelper.JsonToObj>(x.GroupColumn1); + x.GroupColumn = x.GroupColumn.OrderBy(o => o.SortNo).ToList(); + } x.GroupColumn1 = null; }); @@ -187,488 +220,498 @@ public class Ghrh_ResumeTemplateServices : BaseServices ColumnMove(long id, List columns) { - var sql = $@"DECLARE @id INT = {id} - - DECLARE @jsonParam NVARCHAR (MAX) = '{JsonHelper.ObjToJson(columns)}' - DECLARE @menuName NVARCHAR (1000) = 'F_RecruitmentTemplate' - - UPDATE a -- 移动栏位 - SET a.SortNo = b.SortNo, a.IsDisplay = b.DisplayType - FROM Ghrh_ResumeTemplateInfoGroupColumn a, - (SELECT ResumeInfoColumnID, DisplayType, SortNo - FROM OPENJSON (@jsonParam) WITH (ResumeInfoColumnID INT, - DisplayType INT, - SortNo INT)) b - WHERE a.ResumeTemplateInfoGroupID = @id - AND a.IsEnable = 1 - AND a.ResumeInfoColumnID = b.ResumeInfoColumnID - AND b.DisplayType IN (0, 1) - - -- 如果之前的栏位是 从 作废里面(未发布)--> 可选或者已选, 则需要修改 ResumeInfoColumn - UPDATE Ghrh_ResumeInfoColumn - SET IsRelease = 1 - WHERE ID IN - (SELECT ResumeInfoColumnID - FROM OPENJSON (@jsonParam) WITH (ResumeInfoColumnID INT, - DisplayType INT, - SortNo INT) - WHERE DisplayType IN (0, 1)) - AND IsRelease = 0 - - DELETE FROM - Ghrh_ResumeTemplateInfoGroupColumn -- 作废项目 - WHERE ResumeTemplateInfoGroupID = @id - AND IsEnable = 1 - AND ResumeInfoColumnID IN - (SELECT ResumeInfoColumnID - FROM OPENJSON (@jsonParam) WITH (ResumeInfoColumnID INT, - DisplayType INT, - SortNo INT) - WHERE DisplayType = -1) - - -- 新增栏位 - INSERT INTO Ghrh_ResumeTemplateInfoGroupColumn (ResumeTemplateInfoGroupId, - ResumeTemplateId, - TemplateType, - ResumeInfoGroupId, - GroupType, - ResumeInfoColumnID, - IsRequired, - Editable, - InitValue, - IsDisplay, - SortNo, - RowNum, - ColNum) - SELECT a.Id ResumeTemplateInfoGroupId, - ResumeTemplateId, - a.TemplateType, - a.ResumeInfoGroupId, - a.GroupType, - c.ID ResumeInfoColumnID, - c.IsRequired, - c.Editable, - c.InitValue, - b.DisplayType, - b.SortNo, - 1, - 1 - FROM Ghrh_ResumeTemplateInfoGroup a, - (SELECT ResumeInfoColumnID, DisplayType, SortNo - FROM OPENJSON (@jsonParam) WITH (ResumeInfoColumnID INT, - DisplayType INT, - SortNo INT)) b, - Ghrh_ResumeInfoColumn c - WHERE a.Id = @id - AND b.ResumeInfoColumnID = c.ID - AND b.DisplayType IN (0, 1) - AND c.IsEnable = 1 - AND b.ResumeInfoColumnID NOT IN - (SELECT ResumeInfoColumnID - FROM Ghrh_ResumeTemplateInfoGroupColumn - WHERE ResumeTemplateInfoGroupId = @id AND IsEnable = 1) - - -- micro 2022-08-05 add 模板自动更新 栏位设定 Ghrs_PageSettingQuery - DECLARE - @FResumeMenuName NVARCHAR (1000) = 'F_Resume~', - @FResumeGroupType NVARCHAR (100) - SELECT @FResumeMenuName = - @FResumeMenuName + CONVERT (NVARCHAR (100), ResumeTemplateId), - @FResumeGroupType = GroupType - FROM Ghrh_ResumeTemplateInfoGroup - WHERE Id = @id - - IF @FResumeGroupType IN ('Base', - 'Education', - 'Family', - 'Contract', - 'WorkExp', - 'Training', - 'Licence') - BEGIN - IF @FResumeGroupType = 'Education' - SET @FResumeMenuName = 'F_ResumeEduBG' - - IF @FResumeGroupType = 'Contract' - SET @FResumeMenuName = 'F_ResumeContract' - - IF @FResumeGroupType = 'Family' - SET @FResumeMenuName = 'F_ResumeSocialRelation' - - IF @FResumeGroupType = 'WorkExp' - SET @FResumeMenuName = 'F_ResumeWorkExp' - - IF @FResumeGroupType = 'Training' - SET @FResumeMenuName = 'F_ResumeTraining' - - IF @FResumeGroupType = 'Licence' - SET @FResumeMenuName = 'F_ResumeLicence' - - -- 更新后的栏位设定写入临时表 - IF OBJECT_ID ('tempdb.[dbo].[#TempPageSettingQuery]') IS NOT NULL - DROP TABLE [dbo].[#TempPageSettingQuery] - - --insert into Ghrs_PageSettingQuery(PageNo,ColumnGroup,elementType,field,label,Meky,multipleSelect,dataType,required,palceholder, - -- dataSourceType,dataSource,sortable,sortOrder,defaultHidden,filterable,width,align,fixed,editable, - -- searchable,searchRequired,searchColumnSeq,isPrimaryKey,SortNo,searchCanOperator) - SELECT @FResumeMenuName - PageNo, - '' - ColumnGroup, - b.ColumnType - elementType, - b.ResumeInfoColumnNo - field, - b.ResumeInfoColumnName - label, - b.MKey - Meky, - NULL - multipleSelect, - b.DataType - dataType, - CASE WHEN a.IsRequired = 1 THEN 'true' ELSE 'false' END - required, - NULL - palceholder, - CASE - WHEN b.ColumnType IN ('OrgTreeSelect', 'ApiSelect') - THEN - 'dict' - ELSE - '' - END - dataSourceType, - dbo.FS_GetdataSourceBySet ('', b.DataSourceType, b.DataSource) - dataSource, - 'true' - sortable, - NULL - sortOrder, - CASE WHEN b.isPrimaryKey = 1 THEN 'true' ELSE 'false' END - defaultHidden, - NULL - filterable, - '100' - width, - 'left' - align, - NULL - fixed, - 'false' - editable, - 'false' - searchable, - 'false' - searchRequired, - '' - searchColumnSeq, - CASE WHEN b.isPrimaryKey = 1 THEN 'true' ELSE 'false' END - isPrimaryKey, - a.SortNo, - CONVERT (NVARCHAR (1000), '') - searchCanOperator, - 0 - PageSettingQueryID - INTO dbo.[#TempPageSettingQuery] - FROM Ghrh_ResumeTemplateInfoGroupColumn a, Ghrh_ResumeInfoColumn b --Ghrs_PageSettingQuery - WHERE a.ResumeInfoColumnID = b.ID - AND a.ResumeTemplateInfoGroupId = @id - AND b.IsEnable = 1 - AND grouptype = @FResumeGroupType - AND (b.isPrimaryKey = 1 OR a.IsEnable = 1 AND IsDisPlay = 1) - ORDER BY a.SortNo - - -- Group Type 的特别处理 - IF @FResumeGroupType = 'Base' - BEGIN - UPDATE dbo.[#TempPageSettingQuery] - SET searchable = 'true', - searchColumnSeq = 1, - searchCanOperator = 'Include,Equal,NotEqual,NotInclude' - WHERE field = 'ResumeNo' - - UPDATE dbo.[#TempPageSettingQuery] - SET searchable = 'true', - searchColumnSeq = 2, - searchCanOperator = 'Include,Equal,NotEqual,NotInclude' - WHERE field = 'ResumeName' - - -- 判断生成 照片是否显示 - INSERT INTO [#TempPageSettingQuery] (PageNo, - ColumnGroup, - elementType, - field, - label, - Meky, - multipleSelect, - dataType, - required, - palceholder, - dataSourceType, - dataSource, - sortable, - sortOrder, - defaultHidden, - filterable, - width, - align, - fixed, - editable, - searchable, - searchRequired, - searchColumnSeq, - isPrimaryKey, - SortNo, - searchCanOperator, - PageSettingQueryID) - SELECT @FResumeMenuName, - '', - 'Avatar', - 'PhotoUrl', - '照片', - 'F_User_UserPhotoUrl', - '', - 'string', - '', - '', - '', - '', - '', - '', - 'false', - NULL, - '120', - '', - '', - 'true', - '', - '', - '', - '', - 1, - '', - 0 - END - - IF @FResumeGroupType = 'Education' - BEGIN - UPDATE dbo.[#TempPageSettingQuery] - SET searchable = 'true', - searchColumnSeq = 1, - searchCanOperator = 'Include,Equal,NotEqual,NotInclude' - WHERE field = 'SchoolName' - - UPDATE dbo.[#TempPageSettingQuery] - SET searchable = 'true', - searchColumnSeq = 2, - searchCanOperator = 'Include,Equal,NotEqual,NotInclude' - WHERE field = 'DeptName' - END - - IF @FResumeGroupType = 'Family' - BEGIN - UPDATE dbo.[#TempPageSettingQuery] - SET searchable = 'true', - searchColumnSeq = 1, - searchCanOperator = 'Include,Equal,NotEqual,NotInclude' - WHERE field = 'RelationName' - - UPDATE dbo.[#TempPageSettingQuery] - SET searchable = 'true', - searchColumnSeq = 2, - searchCanOperator = 'Equal,NotEqual,EqualAny,NotEqualAny' - WHERE field = 'RelationType' - END - - IF @FResumeGroupType = 'Contract' - BEGIN - UPDATE dbo.[#TempPageSettingQuery] - SET searchable = 'true', - searchColumnSeq = 1, - searchCanOperator = 'Include,Equal,NotEqual,NotInclude' - WHERE field = 'ContractNo' - - UPDATE dbo.[#TempPageSettingQuery] - SET searchable = 'true', - searchColumnSeq = 2, - searchCanOperator = 'Equal,NotEqual,EqualAny,NotEqualAny' - WHERE field = 'ContractType' - END - - IF @FResumeGroupType = 'WorkExp' - BEGIN - UPDATE dbo.[#TempPageSettingQuery] - SET searchable = 'true', - searchColumnSeq = 1, - searchCanOperator = 'Include,Equal,NotEqual,NotInclude' - WHERE field = 'CompanyName' - - UPDATE dbo.[#TempPageSettingQuery] - SET searchable = 'true', - searchColumnSeq = 2, - searchCanOperator = 'Include,Equal,NotEqual,NotInclude' - WHERE field = 'DeptName' - END - - IF @FResumeGroupType = 'Training' - BEGIN - UPDATE dbo.[#TempPageSettingQuery] - SET searchable = 'true', - searchColumnSeq = 1, - searchCanOperator = 'Include,Equal,NotEqual,NotInclude' - WHERE field = 'CourseName' - - UPDATE dbo.[#TempPageSettingQuery] - SET searchable = 'true', - searchColumnSeq = 2, - searchCanOperator = 'Include,Equal,NotEqual,NotInclude' - WHERE field = 'TrainingOrgName' - END - - IF @FResumeGroupType = 'Licence' - BEGIN - UPDATE dbo.[#TempPageSettingQuery] - SET searchable = 'true', - searchColumnSeq = 1, - searchCanOperator = 'Include,Equal,NotEqual,NotInclude' - WHERE field = 'LicenceName' - - UPDATE dbo.[#TempPageSettingQuery] - SET searchable = 'true', - searchColumnSeq = 2, - searchCanOperator = 'Include,Equal,NotEqual,NotInclude' - WHERE field = 'LicenceNo' - END - - - -- 修改临时表的 PageSettingQueryID - UPDATE a - SET a.PageSettingQueryID = b.PageSettingQueryID - FROM dbo.[#TempPageSettingQuery] a, Ghrs_PageSettingQuery b - WHERE a.PageNo = b.PageNo AND a.field = b.field AND b.IsEnable = 1 - - -- 删除 Ghrs_PageSettingQuery 中本次取消的栏位 - UPDATE Ghrs_PageSettingQuery - SET IsEnable = 0, UpdateProg = @menuName - WHERE NOT EXISTS - (SELECT 1 - FROM dbo.[#TempPageSettingQuery] a - WHERE a.PageSettingQueryID = - Ghrs_PageSettingQuery.PageSettingQueryID) - AND PageNo = @FResumeMenuName - AND elementType ! = 'FnKey' - AND field NOT IN ('CreateTime', - 'UpdateTime', - 'CreateBy', - 'UpdateBy', - 'ResumeJobStatus') - AND CreateProg = @menuName - - -- 删除自定义栏位 Ghrs_UserPageSettingQueryColumn 中本次取消的栏位 - UPDATE Ghrs_UserPageSettingQueryColumn - SET IsEnable = 0 - WHERE NOT EXISTS - (SELECT 1 - FROM Ghrs_PageSettingQuery a - WHERE a.PageSettingQueryID = - Ghrs_UserPageSettingQueryColumn.PageSettingQueryID) - AND IsEnable = 1 - AND CreateProg = @FResumeMenuName - AND EXISTS - (SELECT 1 - FROM Ghrs_PageSettingQuery a - WHERE a.PageSettingQueryID = - Ghrs_UserPageSettingQueryColumn.PageSettingQueryID - AND a.elementType ! = 'FnKey') - - -- 修改栏位 - UPDATE a - SET a.label = b.label, - a.Meky = b.Meky, - a.required = b.required, - a.elementType = b.elementType, - a.dataType = b.dataType, - a.dataSourceType = b.dataSourceType, - a.dataSource = b.dataSource, - --a.sortable=b.sortable, - a.defaultHidden = - CASE - WHEN a.field = 'ResumeID' THEN 'true' - ELSE b.defaultHidden - END, - -- a.filterable=b.filterable,a.width=b.width,a.align=b.align,a.fixed=b.fixed, - a.editable = b.editable, - --a.searchable=b.searchable,a.searchRequired=b.searchRequired,a.searchColumnSeq=b.searchColumnSeq, - a.isPrimaryKey = b.isPrimaryKey, - a.SortNo = b.SortNo, - -- a.searchCanOperator=b.searchCanOperator, - a.UpdateProg = @menuName, - a.CreateProg = @menuName - FROM Ghrs_PageSettingQuery a, dbo.[#TempPageSettingQuery] b - WHERE a.PageSettingQueryID = b.PageSettingQueryID - - -- 新增本次设定的栏位 - INSERT INTO Ghrs_PageSettingQuery (PageNo, - ColumnGroup, - elementType, - field, - label, - Meky, - multipleSelect, - dataType, - required, - palceholder, - dataSourceType, - dataSource, - sortable, - sortOrder, - defaultHidden, - filterable, - width, - align, - fixed, - editable, - searchable, - searchRequired, - searchColumnSeq, - isPrimaryKey, - SortNo, - searchCanOperator, - UpdateProg, - CreateProg) - SELECT PageNo, - ColumnGroup, - elementType, - field, - label, - Meky, - multipleSelect, - dataType, - required, - palceholder, - dataSourceType, - dataSource, - sortable, - sortOrder, - defaultHidden, - filterable, - width, - align, - fixed, - editable, - searchable, - searchRequired, - searchColumnSeq, - isPrimaryKey, - SortNo, - searchCanOperator, - @menuName, - @menuName - FROM dbo.[#TempPageSettingQuery] - WHERE isnull (PageSettingQueryID, 0) = 0 - END"; - var result = await Db.Ado.ExecuteCommandAsync(sql); + // var sql = $@"DECLARE @id INT = {id} + + // DECLARE @jsonParam NVARCHAR (MAX) = '{JsonHelper.ObjToJson(columns)}' + // DECLARE @menuName NVARCHAR (1000) = 'F_RecruitmentTemplate' + + // UPDATE a -- 移动栏位 + //SET a.SortNo = b.SortNo, a.IsDisplay = b.DisplayType + //FROM Ghrh_ResumeTemplateInfoGroupColumn a, + // (SELECT ResumeInfoColumnID, DisplayType, SortNo + // FROM OPENJSON (@jsonParam) WITH (ResumeInfoColumnID BIGINT, + // DisplayType INT, + // SortNo INT)) b + //WHERE a.ResumeTemplateInfoGroupID = @id + // AND a.IsEnable = 1 + // AND a.ResumeInfoColumnID = b.ResumeInfoColumnID + // AND b.DisplayType IN (0, 1) + + //-- 如果之前的栏位是 从 作废里面(未发布)--> 可选或者已选, 则需要修改 ResumeInfoColumn + //UPDATE Ghrh_ResumeInfoColumn + //SET IsRelease = 1 + //WHERE ID IN + // (SELECT ResumeInfoColumnID + // FROM OPENJSON (@jsonParam) WITH (ResumeInfoColumnID BIGINT, + // DisplayType INT, + // SortNo INT) + // WHERE DisplayType IN (0, 1)) + // AND IsRelease = 0 + + //DELETE FROM + // Ghrh_ResumeTemplateInfoGroupColumn -- 作废项目 + //WHERE ResumeTemplateInfoGroupID = @id + // AND IsEnable = 1 + // AND ResumeInfoColumnID IN + // (SELECT ResumeInfoColumnID + // FROM OPENJSON (@jsonParam) WITH (ResumeInfoColumnID BIGINT, + // DisplayType INT, + // SortNo INT) + // WHERE DisplayType = -1) + + //-- 新增栏位 + //INSERT INTO Ghrh_ResumeTemplateInfoGroupColumn (Id, + // ResumeTemplateInfoGroupId, + // ResumeTemplateId, + // TemplateType, + // ResumeInfoGroupId, + // GroupType, + // ResumeInfoColumnID, + // IsRequired, + // Editable, + // InitValue, + // IsDisplay, + // SortNo, + // RowNum, + // ColNum) + // SELECT ABS (CHECKSUM (NewId ())), + // a.Id ResumeTemplateInfoGroupId, + // ResumeTemplateId, + // a.TemplateType, + // a.ResumeInfoGroupId, + // a.GroupType, + // c.ID ResumeInfoColumnID, + // c.IsRequired, + // c.Editable, + // c.InitValue, + // b.DisplayType, + // b.SortNo, + // 1, + // 1 + // FROM Ghrh_ResumeTemplateInfoGroup a, + // (SELECT ResumeInfoColumnID, DisplayType, SortNo + // FROM OPENJSON (@jsonParam) WITH (ResumeInfoColumnID BIGINT, + // DisplayType INT, + // SortNo INT)) b, + // Ghrh_ResumeInfoColumn c + // WHERE a.Id = @id + // AND b.ResumeInfoColumnID = c.ID + // AND b.DisplayType IN (0, 1) + // AND c.IsEnable = 1 + // AND b.ResumeInfoColumnID NOT IN + // (SELECT ResumeInfoColumnID + // FROM Ghrh_ResumeTemplateInfoGroupColumn + // WHERE ResumeTemplateInfoGroupId = @id AND IsEnable = 1) + + //-- micro 2022-08-05 add 模板自动更新 栏位设定 Ghrs_PageSettingQuery + //DECLARE + // @FResumeMenuName NVARCHAR (MAX) = 'F_Resume~', + // @FResumeGroupType NVARCHAR (MAX) + //SELECT @FResumeMenuName = + // @FResumeMenuName + CONVERT (NVARCHAR (MAX), ResumeTemplateId), + // @FResumeGroupType = GroupType + //FROM Ghrh_ResumeTemplateInfoGroup + //WHERE Id = @id + + //IF @FResumeGroupType IN ('Base', + // 'Education', + // 'Family', + // 'Contract', + // 'WorkExp', + // 'Training', + // 'Licence') + // BEGIN + // IF @FResumeGroupType = 'Education' + // SET @FResumeMenuName = 'F_ResumeEduBG' + + // IF @FResumeGroupType = 'Contract' + // SET @FResumeMenuName = 'F_ResumeContract' + + // IF @FResumeGroupType = 'Family' + // SET @FResumeMenuName = 'F_ResumeSocialRelation' + + // IF @FResumeGroupType = 'WorkExp' + // SET @FResumeMenuName = 'F_ResumeWorkExp' + + // IF @FResumeGroupType = 'Training' + // SET @FResumeMenuName = 'F_ResumeTraining' + + // IF @FResumeGroupType = 'Licence' + // SET @FResumeMenuName = 'F_ResumeLicence' + + // -- 更新后的栏位设定写入临时表 + // IF OBJECT_ID ('tempdb.[dbo].[#TempPageSettingQuery]') IS NOT NULL + // DROP TABLE [dbo].[#TempPageSettingQuery] + + // --insert into Ghrs_PageSettingQuery(PageNo,ColumnGroup,elementType,field,label,Meky,multipleSelect,dataType,required,palceholder, + // -- dataSourceType,dataSource,sortable,sortOrder,defaultHidden,filterable,width,align,fixed,editable, + // -- searchable,searchRequired,searchColumnSeq,isPrimaryKey,SortNo,searchCanOperator) + // SELECT @FResumeMenuName + // PageNo, + // '' + // ColumnGroup, + // b.ColumnType + // elementType, + // b.ResumeInfoColumnNo + // field, + // b.ResumeInfoColumnName + // label, + // b.MKey + // Meky, + // NULL + // multipleSelect, + // b.DataType + // dataType, + // CASE WHEN a.IsRequired = 1 THEN 'true' ELSE 'false' END + // required, + // NULL + // palceholder, + // CASE + // WHEN b.ColumnType IN ('OrgTreeSelect', 'ApiSelect') + // THEN + // 'dict' + // ELSE + // '' + // END + // dataSourceType, + // dbo.FS_GetdataSourceBySet ('', b.DataSourceType, b.DataSource) + // dataSource, + // 'true' + // sortable, + // NULL + // sortOrder, + // CASE WHEN b.isPrimaryKey = 1 THEN 'true' ELSE 'false' END + // defaultHidden, + // NULL + // filterable, + // '100' + // width, + // 'left' + // align, + // NULL + // fixed, + // 'false' + // editable, + // 'false' + // searchable, + // 'false' + // searchRequired, + // '' + // searchColumnSeq, + // CASE WHEN b.isPrimaryKey = 1 THEN 'true' ELSE 'false' END + // isPrimaryKey, + // a.SortNo, + // CONVERT (NVARCHAR (MAX), '') + // searchCanOperator, + // 0 + // PageSettingQueryID + // INTO dbo.[#TempPageSettingQuery] + // FROM Ghrh_ResumeTemplateInfoGroupColumn a, Ghrh_ResumeInfoColumn b --Ghrs_PageSettingQuery + // WHERE a.ResumeInfoColumnID = b.ID + // AND a.ResumeTemplateInfoGroupId = @id + // AND b.IsEnable = 1 + // AND grouptype = @FResumeGroupType + // AND (b.isPrimaryKey = 1 OR a.IsEnable = 1 AND IsDisPlay = 1) + // ORDER BY a.SortNo + + // -- Group Type 的特别处理 + // IF @FResumeGroupType = 'Base' + // BEGIN + // UPDATE dbo.[#TempPageSettingQuery] + // SET searchable = 'true', + // searchColumnSeq = 1, + // searchCanOperator = 'Include,Equal,NotEqual,NotInclude' + // WHERE field = 'ResumeNo' + + // UPDATE dbo.[#TempPageSettingQuery] + // SET searchable = 'true', + // searchColumnSeq = 2, + // searchCanOperator = 'Include,Equal,NotEqual,NotInclude' + // WHERE field = 'ResumeName' + + // -- 判断生成 照片是否显示 + // INSERT INTO [#TempPageSettingQuery] (PageNo, + // ColumnGroup, + // elementType, + // field, + // label, + // Meky, + // multipleSelect, + // dataType, + // required, + // palceholder, + // dataSourceType, + // dataSource, + // sortable, + // sortOrder, + // defaultHidden, + // filterable, + // width, + // align, + // fixed, + // editable, + // searchable, + // searchRequired, + // searchColumnSeq, + // isPrimaryKey, + // SortNo, + // searchCanOperator, + // PageSettingQueryID) + // SELECT @FResumeMenuName, + // '', + // 'Avatar', + // 'PhotoUrl', + // '照片', + // 'F_User_UserPhotoUrl', + // '', + // 'string', + // '', + // '', + // '', + // '', + // '', + // '', + // 'false', + // NULL, + // '120', + // '', + // '', + // 'true', + // '', + // '', + // '', + // '', + // 1, + // '', + // 0 + // END + + // IF @FResumeGroupType = 'Education' + // BEGIN + // UPDATE dbo.[#TempPageSettingQuery] + // SET searchable = 'true', + // searchColumnSeq = 1, + // searchCanOperator = 'Include,Equal,NotEqual,NotInclude' + // WHERE field = 'SchoolName' + + // UPDATE dbo.[#TempPageSettingQuery] + // SET searchable = 'true', + // searchColumnSeq = 2, + // searchCanOperator = 'Include,Equal,NotEqual,NotInclude' + // WHERE field = 'DeptName' + // END + + // IF @FResumeGroupType = 'Family' + // BEGIN + // UPDATE dbo.[#TempPageSettingQuery] + // SET searchable = 'true', + // searchColumnSeq = 1, + // searchCanOperator = 'Include,Equal,NotEqual,NotInclude' + // WHERE field = 'RelationName' + + // UPDATE dbo.[#TempPageSettingQuery] + // SET searchable = 'true', + // searchColumnSeq = 2, + // searchCanOperator = 'Equal,NotEqual,EqualAny,NotEqualAny' + // WHERE field = 'RelationType' + // END + + // IF @FResumeGroupType = 'Contract' + // BEGIN + // UPDATE dbo.[#TempPageSettingQuery] + // SET searchable = 'true', + // searchColumnSeq = 1, + // searchCanOperator = 'Include,Equal,NotEqual,NotInclude' + // WHERE field = 'ContractNo' + + // UPDATE dbo.[#TempPageSettingQuery] + // SET searchable = 'true', + // searchColumnSeq = 2, + // searchCanOperator = 'Equal,NotEqual,EqualAny,NotEqualAny' + // WHERE field = 'ContractType' + // END + + // IF @FResumeGroupType = 'WorkExp' + // BEGIN + // UPDATE dbo.[#TempPageSettingQuery] + // SET searchable = 'true', + // searchColumnSeq = 1, + // searchCanOperator = 'Include,Equal,NotEqual,NotInclude' + // WHERE field = 'CompanyName' + + // UPDATE dbo.[#TempPageSettingQuery] + // SET searchable = 'true', + // searchColumnSeq = 2, + // searchCanOperator = 'Include,Equal,NotEqual,NotInclude' + // WHERE field = 'DeptName' + // END + + // IF @FResumeGroupType = 'Training' + // BEGIN + // UPDATE dbo.[#TempPageSettingQuery] + // SET searchable = 'true', + // searchColumnSeq = 1, + // searchCanOperator = 'Include,Equal,NotEqual,NotInclude' + // WHERE field = 'CourseName' + + // UPDATE dbo.[#TempPageSettingQuery] + // SET searchable = 'true', + // searchColumnSeq = 2, + // searchCanOperator = 'Include,Equal,NotEqual,NotInclude' + // WHERE field = 'TrainingOrgName' + // END + + // IF @FResumeGroupType = 'Licence' + // BEGIN + // UPDATE dbo.[#TempPageSettingQuery] + // SET searchable = 'true', + // searchColumnSeq = 1, + // searchCanOperator = 'Include,Equal,NotEqual,NotInclude' + // WHERE field = 'LicenceName' + + // UPDATE dbo.[#TempPageSettingQuery] + // SET searchable = 'true', + // searchColumnSeq = 2, + // searchCanOperator = 'Include,Equal,NotEqual,NotInclude' + // WHERE field = 'LicenceNo' + // END + + + // -- 修改临时表的 PageSettingQueryID + // UPDATE a + // SET a.PageSettingQueryID = b.PageSettingQueryID + // FROM dbo.[#TempPageSettingQuery] a, Ghrs_PageSettingQuery b + // WHERE a.PageNo = b.PageNo AND a.field = b.field AND b.IsEnable = 1 + + // -- 删除 Ghrs_PageSettingQuery 中本次取消的栏位 + // UPDATE Ghrs_PageSettingQuery + // SET IsEnable = 0, UpdateProg = @menuName + // WHERE NOT EXISTS + // (SELECT 1 + // FROM dbo.[#TempPageSettingQuery] a + // WHERE a.PageSettingQueryID = + // Ghrs_PageSettingQuery.PageSettingQueryID) + // AND PageNo = @FResumeMenuName + // AND elementType ! = 'FnKey' + // AND field NOT IN ('CreateTime', + // 'UpdateTime', + // 'CreateBy', + // 'UpdateBy', + // 'ResumeJobStatus') + // AND CreateProg = @menuName + + // -- 删除自定义栏位 Ghrs_UserPageSettingQueryColumn 中本次取消的栏位 + // UPDATE Ghrs_UserPageSettingQueryColumn + // SET IsEnable = 0 + // WHERE NOT EXISTS + // (SELECT 1 + // FROM Ghrs_PageSettingQuery a + // WHERE a.PageSettingQueryID = + // Ghrs_UserPageSettingQueryColumn.PageSettingQueryID) + // AND IsEnable = 1 + // AND CreateProg = @FResumeMenuName + // AND EXISTS + // (SELECT 1 + // FROM Ghrs_PageSettingQuery a + // WHERE a.PageSettingQueryID = + // Ghrs_UserPageSettingQueryColumn.PageSettingQueryID + // AND a.elementType ! = 'FnKey') + + // -- 修改栏位 + // UPDATE a + // SET a.label = b.label, + // a.Meky = b.Meky, + // a.required = b.required, + // a.elementType = b.elementType, + // a.dataType = b.dataType, + // a.dataSourceType = b.dataSourceType, + // a.dataSource = b.dataSource, + // --a.sortable=b.sortable, + // a.defaultHidden = + // CASE + // WHEN a.field = 'ResumeID' THEN 'true' + // ELSE b.defaultHidden + // END, + // -- a.filterable=b.filterable,a.width=b.width,a.align=b.align,a.fixed=b.fixed, + // a.editable = b.editable, + // --a.searchable=b.searchable,a.searchRequired=b.searchRequired,a.searchColumnSeq=b.searchColumnSeq, + // a.isPrimaryKey = b.isPrimaryKey, + // a.SortNo = b.SortNo, + // -- a.searchCanOperator=b.searchCanOperator, + // a.UpdateProg = @menuName, + // a.CreateProg = @menuName + // FROM Ghrs_PageSettingQuery a, dbo.[#TempPageSettingQuery] b + // WHERE a.PageSettingQueryID = b.PageSettingQueryID + + // -- 新增本次设定的栏位 + // INSERT INTO Ghrs_PageSettingQuery (PageNo, + // ColumnGroup, + // elementType, + // field, + // label, + // Meky, + // multipleSelect, + // dataType, + // required, + // palceholder, + // dataSourceType, + // dataSource, + // sortable, + // sortOrder, + // defaultHidden, + // filterable, + // width, + // align, + // fixed, + // editable, + // searchable, + // searchRequired, + // searchColumnSeq, + // isPrimaryKey, + // SortNo, + // searchCanOperator, + // UpdateProg, + // CreateProg) + // SELECT PageNo, + // ColumnGroup, + // elementType, + // field, + // label, + // Meky, + // multipleSelect, + // dataType, + // required, + // palceholder, + // dataSourceType, + // dataSource, + // sortable, + // sortOrder, + // defaultHidden, + // filterable, + // width, + // align, + // fixed, + // editable, + // searchable, + // searchRequired, + // searchColumnSeq, + // isPrimaryKey, + // SortNo, + // searchCanOperator, + // @menuName, + // @menuName + // FROM dbo.[#TempPageSettingQuery] + // WHERE isnull (PageSettingQueryID, 0) = 0 + // END"; + // var result = await Db.Ado.ExecuteCommandAsync(sql); + + QueryForm1 filter = new QueryForm1(); + filter.jsonParam = JsonHelper.ObjToJson(columns); + filter.id = id; + filter.langId = 1; + filter.userId = App.User.ID.ObjToString(); + filter.doType = "ColumnMove"; + await PT_GHR30_StaffTemplate_IUD(filter); return ServiceResult.OprateSuccess(); } #endregion @@ -711,770 +754,767 @@ public class Ghrh_ResumeTemplateServices : BaseServices - 0 - SET @ErrorMsg = - @ErrorMsg - + '此栏位名称已经被使用,不能重复使用' - - -- 如果为异动栏位, 则该栏位 需要在异动表中存在 - IF @IsChangeColumn = 1 - BEGIN - IF @ColumnName = 'RemarkSZ' - SET @ErrorMsg = - @ErrorMsg - + '此栏位不能作为异动栏位' - - IF (SELECT count (1) - FROM sys.columns a - INNER JOIN sysobjects d - ON a.object_id = d.id - AND d.xtype = 'U' - AND d.name <> 'dtproperties' - WHERE d.name IN ('Ghrh_ResumeChange') - AND a.name = @ColumnName) = - 0 - SET @ErrorMsg = - @ErrorMsg - + '异动栏位必须要在异动表中有' - END - - -- 下拉必须选择 数据源 - IF @ColumnType = 'ApiSelect' - BEGIN - IF @DataSourceType = '' OR @DataSourceType IS NULL - SET @ErrorMsg = - @ErrorMsg - + '下拉框必须有数据来源方式' - - IF @DataSource = '' - OR @DataSource IS NULL AND @ErrorMsg ! = '' - SET @ErrorMsg = - @ErrorMsg + '下拉框必须有数据来源' - END - - IF @ColumnType IN - ('OrgTreeSelect', 'ResumeSelect', 'ResumeSearch') - BEGIN - IF @DataSourceType = '' OR @DataSourceType IS NULL - SET @ErrorMsg = - @ErrorMsg - + '组织或人员选择必须有数据来源方式' - END - - -- 数据库字段的存储方式,适用的栏位类型 - DECLARE @DBDateType NVARCHAR (100) = '' -- bigint date datetime decimal int nvarchar - /* Input 输入框 - ApiSelect 下拉框 - ApiRadioGroup 单选按钮 - Switch 开关 - InputTextArea 多行输入 - GDatePicker 日期选择 - Checkbox 多选框 - OrgTreeSelect 组织树选择框 - FileUpload 附件 - ResumeSelect 选择人员 - Divider 分割线 - ResumeSearch 员工模糊搜索 - DateTypeSelect DateType选择 - YearPicker 年度选择 - YearMonthPicker 年月选择 - GTimePicker 时间选择 - FormSubTable 子表格 - GCascader 级联选择 - InputNumber 数字输入框 */ - /* ParaDetail 参数明细 - CommonList 通用下拉 - OrgTreeWithPriv 权限内组织图 - OrgTreeWithoutPriv 全部组织图 - ParaDetailNo 参数明细编号 - ResumeWithoutPriv 全部员工选择 - ResumeWithPriv 权限内员工选择 */ - SELECT @DBDateType = - isnull - ( - (SELECT (SELECT kk.name - FROM sys.types kk - WHERE kk.user_type_id = pp.user_type_id) - FROM sys.columns pp - WHERE object_id = - (SELECT id - FROM sysobjects - WHERE xtype = 'u' - AND name = @TableName) - AND name = @ColumnName), - '') - - IF @ColumnType = 'Switch' AND @DBDateType ! = 'int' - SET @ErrorMsg = - @ErrorMsg + '只有int,才可以用做开关按钮' - - IF @ColumnType = 'Checkbox' AND @DBDateType ! = 'nvarchar' - SET @ErrorMsg = - @ErrorMsg - + '只有nvarchar,才可以用做多选框' - - IF @ColumnType = 'InputTextArea' - AND @DBDateType ! = 'nvarchar' - SET @ErrorMsg = - @ErrorMsg - + '只有nvarchar,才可以用做多行输入' - - IF @ColumnType = 'InputNumber' - AND @DBDateType NOT IN ('decimal', 'int') - SET @ErrorMsg = - @ErrorMsg - + '只有int/decimal,才可以用做数字输入框' - - IF @ColumnType = 'ApiSelect' - BEGIN - IF @DataSourceType = 'ParaDetail' - AND @DBDateType ! = 'int' - SET @ErrorMsg = - @ErrorMsg - + '只有int,才可以用做下拉参数明细' - - IF @DataSourceType = 'ParaDetailNo' - AND @DBDateType ! = 'nvarchar' - SET @ErrorMsg = - @ErrorMsg - + '只有nvarchar,才可以用做下拉参数明细编号' - - IF @DataSourceType = 'CommonList' - AND @DBDateType ! = 'int' - SET @ErrorMsg = - @ErrorMsg - + '只有int,才可以用做通用下拉' - END - - IF @DBDateType = 'int' - AND @DataType NOT IN ('int', 'decimal') - AND @ErrorMsg = '' - BEGIN - SET @ErrorMsg = - @ErrorMsg + 'int只能用作数字输入' - END - - IF @DBDateType = 'decimal' - AND @DataType NOT IN ('int', 'decimal') - AND @ErrorMsg = '' - BEGIN - SET @ErrorMsg = - @ErrorMsg + 'decimal只能用作数字输入' - END - - IF @DBDateType = 'date' - AND @DataType NOT IN ('date', - 'datetime', - 'year', - 'yearMonth') - AND @ErrorMsg = '' - BEGIN - SET @ErrorMsg = - @ErrorMsg + 'date只能用作日期输入' - END - - IF @ErrorMsg ! = '' - BEGIN - ROLLBACK TRAN tranResumeInfoColumn -- 退回数据库的操作记录 - - SELECT 1 IsOK, - @ErrorMsg ErrorMsg, - @WarningMsg WarnMsg, - @SuccessMsg SuccessMsg -- IsOK 0:代表正确, 1:代表错误 - - RETURN - END - END - - IF @ID > 0 -- @doType = 'Update' - BEGIN - --exec [dbo].[PS_OperateLog] 1,'Insert','/ResumeInfoColumn','Ghrh_ResumeInfoColumn',1, @OperateLogID output - SET @doType = 'Update' - -- 该项目是否已在模板 分组的栏位里面, 如果有,则修改,没有则新增 - DECLARE @ResumeTemplateInfoGroupColumnId INT = 0 - SELECT @ResumeTemplateInfoGroupColumnId = Id - FROM Ghrh_ResumeTemplateInfoGroupColumn - WHERE IsEnable = 1 - AND ResumeTemplateInfoGroupId = - @ResumeTemplateInfoGroupID - AND ResumeInfoColumnID = @ID - - IF @ResumeTemplateInfoGroupColumnId > 0 -- 修改数据 - UPDATE Ghrh_ResumeTemplateInfoGroupColumn - SET IsRequired = @IsRequired, - Editable = @Editable, - InitValue = @InitValue - WHERE Id = @ResumeTemplateInfoGroupColumnId - ELSE -- 新增数据 - BEGIN - INSERT INTO Ghrh_ResumeTemplateInfoGroupColumn ( - ResumeTemplateInfoGroupId, - ResumeTemplateId, - TemplateType, - ResumeInfoGroupId, - GroupType, - ResumeInfoColumnID, - IsRequired, - Editable, - InitValue, - IsDisplay, - SortNo, - RowNum, - ColNum) - SELECT a.Id - ResumeTemplateInfoGroupId, - ResumeTemplateId, - a.TemplateType, - a.ResumeInfoGroupId, - a.GroupType, - b.ID - ResumeInfoColumnID, - @IsRequired, - @Editable, - @InitValue, - 0, - (SELECT isnull (max (SortNo), 0) + 1 - FROM Ghrh_ResumeTemplateInfoGroup - WHERE IsDisplay = 0 - AND IsEnable = 1 - AND Id = - @ResumeTemplateInfoGroupColumnId), - 1, - 1 - FROM Ghrh_ResumeTemplateInfoGroup a, - Ghrh_ResumeInfoColumn b - WHERE a.Id = @ResumeTemplateInfoGroupColumnId - AND b.ID = @id - END - - IF @TemplateType = 1 -- 母版的修改 - UPDATE Ghrh_ResumeInfoColumn - SET ResumeInfoGroupId = @ResumeInfoGroupId, - ResumeInfoColumnNo = @ResumeInfoColumnNo, - ResumeInfoColumnName = @ResumeInfoColumnName, - MKey = @MKey, - TableName = @TableName, - ColumnName = @ColumnName, - IsSingleColumn = @IsSingleColumn, - ColumnType = @ColumnType, - DataType = @DataType, - DataSourceType = @DataSourceType, - CanModifyBySelf = @CanModifyBySelf, - CanEssDisplay = @CanEssDisplay, - multipleSelect = @multipleSelect, - DataSource = @DataSource, - IsRequired = @IsRequired, - Editable = @Editable, - IsBuildIn = @IsBuildIn, - InitValue = @InitValue, - Placeholder = @Placeholder, - RemarkSz = @RemarkSz, - IsRelease = @IsRelease, - IsChangeColumn = @IsChangeColumn, - IsQuickJoinColumn = @IsQuickJoinColumn, - OperateLogID = @OperateLogID, - UpdateBy = @userId, - UpdateTime = GETDATE (), - UpdateProg = @menuName - WHERE Id = @ID - END - - IF @ID = 0 -- @doType = 'Insert' - BEGIN - SET @doType = 'Insert' - - --exec [dbo].[PS_OperateLog] 1,'Insert','/ResumeInfoColumn','Ghrh_ResumeInfoColumn',1, @OperateLogID output - INSERT INTO [dbo].[Ghrh_ResumeInfoColumn] ( - ResumeInfoGroupId, - ResumeInfoColumnNo, - ResumeInfoColumnName, - MKey, - TableName, - ColumnName, - IsSingleColumn, - ColumnType, - DataType, - DataSourceType, - DataSource, - IsRequired, - Editable, - IsBuildIn, - InitValue, - Placeholder, - RemarkSz, - IsRelease, - IsChangeColumn, - IsQuickJoinColumn, - SortNo, - CanModifyBySelf, - CanEssDisplay, - multipleSelect, - OperateLogID, - [CreateBy], - [CreateTime], - [CreateProg], - [CreateIP], - [UpdateBy], - [UpdateTime], - [UpdateProg], - [UpdateIP]) - SELECT @ResumeInfoGroupId, - @ResumeInfoColumnNo, - @ResumeInfoColumnName, - @MKey, - @TableName, - @ColumnName, - @IsSingleColumn, - @ColumnType, - @DataType, - @DataSourceType, - @DataSource, - @IsRequired, - @Editable, - @IsBuildIn, - @InitValue, - @Placeholder, - @RemarkSz, - @IsRelease, - @IsChangeColumn, - @IsQuickJoinColumn, - 1, - @CanModifyBySelf, - @CanEssDisplay, - @multipleSelect, - @OperateLogID, - @userId, - GETDATE (), - @menuName, - '0', - @userId, - GETDATE (), - @menuName, - '0' - - SET @ID = SCOPE_IDENTITY () - END - - -- micro 2023-06-07 add 如果为异动栏位,需要加入异动栏位的 Ghrh_PageSettingQuery/Ghrh_PageSettingEdit - IF @IsChangeColumn = 1 - AND @ColumnName ! = 'ResumeID' - AND @ColumnName ! = 'RemarkSz' - BEGIN - -- 查询表格页面 -- 1. 编辑已有栏位 - UPDATE a - SET elementType = @ColumnType, - label = @ResumeInfoColumnName, - dataType = @DataType, - required = iif (@IsRequired = 1, 'true', ''), - dataSourceType = - iif (@DataSourceType ! = '', 'dict', ''), - APIDataSourceType = @DataSourceType, - APIDataSourceID = - iif (ISNUMERIC (@DataSource) = 1, @DataSource, NULL), - dataSource = '' - FROM Ghrh_PageSettingQuery a - WHERE a.pageno LIKE 'F_ResumeChange%' - AND a.field = @ColumnName - AND a.IsEnable = 1 - - -- 2. 新增栏位 - INSERT INTO Ghrh_PageSettingQuery (PageNo, - ColumnGroup, - elementType, - field, - label, - Meky, - multipleSelect, - dataType, - required, - palceholder, - dataSourceType, - APIDataSourceType, - APIDataSourceID, - dataSource, - sortable, - sortOrder, - defaultHidden, - filterable, - width, - align, - fixed, - editable, - searchable, - searchRequired, - searchColumnSeq, - isPrimaryKey, - SortNo, - searchCanOperator, - UpdateProg, - CreateProg) - SELECT PageNo, - ColumnGroup, - @ColumnType, - @ColumnName, - @ResumeInfoColumnName, - @MKey, - '', - @DataType, - iif (@IsRequired = 1, 'true', ''), - '' - palceholder, - iif (@DataSourceType ! = '', 'dict', '') - dataSourceType, - @DataSourceType, - iif - (ISNUMERIC (@DataSource) = 1, @DataSource, NULL), - '' - dataSource, - sortable, - sortOrder, - defaultHidden, - filterable, - width, - align, - fixed, - editable, - '' - searchable, - '' - searchRequired, - '' - searchColumnSeq, - isPrimaryKey, - SortNo, - '' - searchCanOperator, - @menuName, - @menuName - FROM Ghrh_PageSettingquery a - WHERE pageno LIKE 'F_ResumeChange%' - AND field = 'ChangeDate' -- 写入可选择栏位 - AND NOT EXISTS - (SELECT 1 - FROM Ghrh_PageSettingQuery kk - WHERE kk.IsEnable = 1 - AND kk.PageNo = a.PageNo - AND kk.field = @ColumnName) - - -- 编辑页面 - UPDATE a - SET elementType = @ColumnType, - label = @ResumeInfoColumnName, - dataType = @DataType, - required = iif (@IsRequired = 1, 'true', ''), - APIDataSourceType = @DataSourceType, - APIDataSourceID = - iif (ISNUMERIC (@DataSource) = 1, @DataSource, NULL), - dataSource = '' - FROM Ghrh_PageSettingEdit a - WHERE a.pageno LIKE 'F_ResumeChange%' - AND a.field = @ColumnName - AND a.IsEnable = 1 - - INSERT INTO dbo.Ghrh_PageSettingEdit (pageNo, - columnGroup, - elementType, - field, - label, - pageGroup, - mkey, - icon, - multipleSelect, - dataType, - required, - validateRules, - palceholder, - APIDataSourceType, - APIDataSourceID, - dataSource, - editable, - defaultHidden, - isPrimaryKey, - rowNum, - colNum, - IsSingleColumn) - SELECT pageNo, - columnGroup, - @ColumnType, - @ColumnName, - @ResumeInfoColumnName, - pageGroup, - @MKey, - icon, - multipleSelect, - @DataType, - iif (@IsRequired = 1, 'true', '') - required, - validateRules, - palceholder, - @DataSourceType, - iif - (ISNUMERIC (@DataSource) = 1, @DataSource, NULL), - '' - dataSource, - editable, - defaultHidden, - isPrimaryKey, - rowNum, - colNum, - IsSingleColumn - FROM Ghrh_PageSettingEdit a - WHERE pageno LIKE 'F_ResumeChange%' - AND field = 'ChangeDate' -- 写入可选择栏位 - AND NOT EXISTS - (SELECT 1 - FROM Ghrh_PageSettingEdit kk - WHERE kk.IsEnable = 1 - AND kk.PageNo = a.PageNo - AND kk.field = @ColumnName) - END - ELSE - BEGIN -- 非异动栏位,不显示在此 - IF @ColumnName ! = 'ResumeID' - BEGIN - UPDATE kk - SET kk.IsEnable = 0, - kk.UpdateBy = @userId, - kk.UpdateTime = GETDATE (), - kk.UpdateProg = @menuName - FROM Ghrs_PageSettingQuery kk - WHERE kk.pageno LIKE 'F_ResumeChange%' - AND field = @ColumnName - AND kk.IsEnable = 1 - AND CreateProg = 'F_ResumeInfoColumn' - - UPDATE kk - SET kk.IsEnable = 0, - kk.UpdateBy = @userId, - kk.UpdateTime = GETDATE (), - kk.UpdateProg = @menuName - FROM Ghrs_PageSettingEdit kk - WHERE kk.pageno LIKE 'F_ResumeChange%' - AND field = @ColumnName - AND kk.IsEnable = 1 - AND CreateProg = 'F_ResumeInfoColumn' - END - END - END - - COMMIT TRAN tranResumeInfoColumn -- 提交事物处理 - END TRY - BEGIN CATCH -- 错误捕捉 - SET @ErrorMsg = error_message () -- 错误信息 - ROLLBACK TRAN tranResumeInfoColumn -- 退回数据库的操作记录 - - SELECT 'false' Success, - @ErrorMsg ErrorMsg, - @WarningMsg WarnMsg, - @SuccessMsg 'Message' -- IsOK 0:代表正确, 1:代表错误 - - RETURN - END CATCH - - SET @SuccessMsg = - [dbo].[FLangKeyToValue] - ('GHR_Common_000014', - @langId, - '保存成功.您可以继续新增或关闭窗口.') - - SELECT 'true' Success, - @ErrorMsg ErrorMsg, - @WarningMsg WarnMsg, - @SuccessMsg 'Message' -- IsOK 0:代表正确, 1:代表错误 - END "; + SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED + DECLARE + @NeedOPLog INT = 1, + @OperateLogID BIGINT = 0 -- 是否需要写入操作日志表 + + -- SELECT 'DT_ProcedureResult' Table3 + + DECLARE @ErrorMsg NVARCHAR (MAX) = '' -- 错误信息置空 + DECLARE @WarningMsg NVARCHAR (MAX) = '' -- 提醒信息置空 + DECLARE @SuccessMsg NVARCHAR (MAX) = '' + DECLARE + @ResumeTemplateInfoGroupID NVARCHAR (1000), + @ResumeInfoColumnNo NVARCHAR (1000), + @ResumeInfoColumnName NVARCHAR (1000), + @MKey NVARCHAR (1000), + @TableName NVARCHAR (1000), + @ColumnName NVARCHAR (1000), + @IsSingleColumn NVARCHAR (1000), + @ColumnType NVARCHAR (1000), + @DataType NVARCHAR (1000), + @DataSourceType NVARCHAR (1000), + @DataSource NVARCHAR (1000), + @IsRequired NVARCHAR (1000), + @IsChangeColumn NVARCHAR (1000), + @IsQuickJoinColumn NVARCHAR (1000), + @Editable NVARCHAR (1000), + @IsBuildIn NVARCHAR (1000), + @InitValue NVARCHAR (1000), + @Placeholder NVARCHAR (2000), + @RemarkSz NVARCHAR (2000), + @ResumeInfoGroupId INT = 0, + @GroupType NVARCHAR (100), + @TemplateType INT, + @IsRelease INT, + @CanModifyBySelf INT, + @multipleSelect NVARCHAR (100), + @CanEssDisplay INT + + BEGIN TRY -- 开始错误处理 + BEGIN TRAN tranResumeInfoColumn -- 开始事物处理 + + -- 写入日志 + -- EXEC [dbo].[PS_OperateLog]@userId, @doType, @menuName, 'Ghrh_ResumeInfoColumn', @ID, @jsonParam, @OperateLogID OUTPUT + + IF @doType = 'Delete' -- 资料删除 + BEGIN + UPDATE Ghrh_ResumeInfoColumn + SET OperateLogID = @OperateLogID, + IsEnable = 0, + UpdateBy = @userId, + UpdateTime = GETDATE (), + UpdateProg = @menuName + WHERE Id = @ID + + -- 删除对应模板里面设定的字段 micro 2023-09-14 add + UPDATE Ghrh_ResumeTemplateInfoGroupColumn + SET OperateLogID = @OperateLogID, + IsEnable = 0, + UpdateBy = @userId, + UpdateTime = GETDATE (), + UpdateProg = @menuName + WHERE ResumeInfoColumnId = @ID + + SET @SuccessMsg = '删除成功' + + SELECT 'true' Success, + @ErrorMsg ErrorMsg, + @WarningMsg WarnMsg, + @SuccessMsg 'Message' -- IsOK 0:代表正确, 1:代表错误 + + COMMIT TRAN tranResumeInfoColumn + RETURN + END + + IF @doType = 'Unpublish' -- 取消发布 + BEGIN + -- 写入日志 + --exec [dbo].[PS_OperateLog] @userId,'Unpublish','/ResumeInfoColumn','Ghrh_ResumeInfoColumn',@ID, @OperateLogID output + UPDATE Ghrh_ResumeInfoColumn + SET OperateLogID = @OperateLogID, + IsRelease = 0, + UpdateBy = @userId, + UpdateTime = GETDATE (), + UpdateProg = @menuName + WHERE Id = @ID + + SET @SuccessMsg = '取消成功' + + SELECT 'true' Success, + @ErrorMsg ErrorMsg, + @WarningMsg WarnMsg, + @SuccessMsg 'Message' -- IsOK 0:代表正确, 1:代表错误 + + + COMMIT TRAN tranResumeInfoColumn + RETURN + END + + IF @doType IN ('Update', 'Insert', 'Copy') + BEGIN + IF @jsonParam ! = '' -- 传入的参数处理 + BEGIN + SELECT @ResumeTemplateInfoGroupID = + ResumeTemplateInfoGroupID, + @ResumeInfoColumnNo = ResumeInfoColumnNo, + @ResumeInfoColumnName = ResumeInfoColumnName, + @MKey = MKey, + @TableName = TableName, + @ColumnName = ColumnName, + @IsSingleColumn = IsSingleColumn, + @ColumnType = ColumnType, + @DataType = DataType, + @DataSourceType = DataSourceType, + @DataSource = DataSource, + @IsRequired = IsRequired, + @Editable = Editable, + @IsBuildIn = IsBuildIn, + @InitValue = InitValue, + @Placeholder = Placeholder, + @RemarkSz = RemarkSz, + @IsRelease = IsRelease, + @IsChangeColumn = IsChangeColumn, + @IsQuickJoinColumn = IsQuickJoinColumn, + @CanModifyBySelf = CanModifyBySelf, + @CanEssDisplay = CanEssDisplay, + @multipleSelect = multipleSelect + FROM OPENJSON (@jsonParam) WITH ( + ResumeTemplateInfoGroupID NVARCHAR (1000), + ResumeInfoColumnNo NVARCHAR (1000), + ResumeInfoColumnName NVARCHAR (1000), + MKey NVARCHAR (1000), + TableName NVARCHAR (1000), + ColumnName NVARCHAR (1000), + IsSingleColumn NVARCHAR (1000), + ColumnType NVARCHAR (1000), + DataType NVARCHAR (1000), + DataSourceType NVARCHAR (1000), + DataSource NVARCHAR (1000), + IsRequired NVARCHAR (1000), + Editable NVARCHAR (1000), + IsBuildIn NVARCHAR (1000), + InitValue NVARCHAR (1000), + Placeholder NVARCHAR (1000), + RemarkSz NVARCHAR (1000), + IsRelease INT, + IsChangeColumn INT, + IsQuickJoinColumn INT, + CanModifyBySelf INT, + CanEssDisplay INT, + multipleSelect NVARCHAR (100)) + SET @CanModifyBySelf = isnull (@CanModifyBySelf, 0) + SET @CanEssDisplay = isnull (@CanEssDisplay, 0) + + IF @ColumnType IN ('Input', + 'InputNumber', + 'InputTextArea', + 'GDatePicker', + 'DatePicker', + 'FileUpload', + 'Switch') + SET @DataSourceType = '' -- 修改数据源的处理 + END + + -- 设定单 设定单群组 设定单类别 设定群组类别 + SELECT @ResumeInfoGroupId = ResumeInfoGroupId, + @TemplateType = TemplateType, + @GroupType = GroupType + FROM Ghrh_ResumeTemplateInfoGroup + WHERE ID = @ResumeTemplateInfoGroupID -- 取得本次单据的设定 + + -- 资料验证 + BEGIN + IF @TableName = '' + SET @ErrorMsg = @ErrorMsg + '表名不能为空' -- [dbo].[FLangKeyToValue]('F_ResumeInfoColumn_0001',@langId,'集团数据归属名称不能为空') + + -- 栏位名称不能重复被使用 + IF (SELECT count (1) + FROM Ghrh_ResumeInfoColumn + WHERE IsEnable = 1 + AND Id ! = @id + AND TableName = @TableName + AND ColumnName = @ColumnName) > + 0 + SET @ErrorMsg = + @ErrorMsg + + '此栏位名称已经被使用,不能重复使用' + + -- 如果为异动栏位, 则该栏位 需要在异动表中存在 + IF @IsChangeColumn = 1 + BEGIN + IF @ColumnName = 'RemarkSZ' + SET @ErrorMsg = + @ErrorMsg + + '此栏位不能作为异动栏位' + + IF (SELECT count (1) + FROM sys.columns a + INNER JOIN sysobjects d + ON a.object_id = d.id + AND d.xtype = 'U' + AND d.name <> 'dtproperties' + WHERE d.name IN ('Ghrh_ResumeChange') + AND a.name = @ColumnName) = + 0 + SET @ErrorMsg = + @ErrorMsg + + '异动栏位必须要在异动表中有' + END + + -- 下拉必须选择 数据源 + IF @ColumnType = 'ApiSelect' + BEGIN + IF @DataSourceType = '' OR @DataSourceType IS NULL + SET @ErrorMsg = + @ErrorMsg + + '下拉框必须有数据来源方式' + + IF @DataSource = '' + OR @DataSource IS NULL AND @ErrorMsg ! = '' + SET @ErrorMsg = + @ErrorMsg + '下拉框必须有数据来源' + END + + IF @ColumnType IN + ('OrgTreeSelect', 'ResumeSelect', 'ResumeSearch') + BEGIN + IF @DataSourceType = '' OR @DataSourceType IS NULL + SET @ErrorMsg = + @ErrorMsg + + '组织或人员选择必须有数据来源方式' + END + + -- 数据库字段的存储方式,适用的栏位类型 + DECLARE @DBDateType NVARCHAR (100) = '' -- bigint date datetime decimal int nvarchar + /* Input 输入框 + ApiSelect 下拉框 + ApiRadioGroup 单选按钮 + Switch 开关 + InputTextArea 多行输入 + GDatePicker 日期选择 + Checkbox 多选框 + OrgTreeSelect 组织树选择框 + FileUpload 附件 + ResumeSelect 选择人员 + Divider 分割线 + ResumeSearch 员工模糊搜索 + DateTypeSelect DateType选择 + YearPicker 年度选择 + YearMonthPicker 年月选择 + GTimePicker 时间选择 + FormSubTable 子表格 + GCascader 级联选择 + InputNumber 数字输入框 */ + /* ParaDetail 参数明细 + CommonList 通用下拉 + OrgTreeWithPriv 权限内组织图 + OrgTreeWithoutPriv 全部组织图 + ParaDetailNo 参数明细编号 + ResumeWithoutPriv 全部员工选择 + ResumeWithPriv 权限内员工选择 */ + SELECT @DBDateType = + isnull + ( + (SELECT (SELECT kk.name + FROM sys.types kk + WHERE kk.user_type_id = pp.user_type_id) + FROM sys.columns pp + WHERE object_id = + (SELECT id + FROM sysobjects + WHERE xtype = 'u' + AND name = @TableName) + AND name = @ColumnName), + '') + + IF @ColumnType = 'Switch' AND @DBDateType ! = 'int' + SET @ErrorMsg = + @ErrorMsg + '只有int,才可以用做开关按钮' + + IF @ColumnType = 'Checkbox' AND @DBDateType ! = 'nvarchar' + SET @ErrorMsg = + @ErrorMsg + + '只有nvarchar,才可以用做多选框' + + IF @ColumnType = 'InputTextArea' + AND @DBDateType ! = 'nvarchar' + SET @ErrorMsg = + @ErrorMsg + + '只有nvarchar,才可以用做多行输入' + + IF @ColumnType = 'InputNumber' + AND @DBDateType NOT IN ('decimal', 'int') + SET @ErrorMsg = + @ErrorMsg + + '只有int/decimal,才可以用做数字输入框' + + IF @ColumnType = 'ApiSelect' + BEGIN + IF @DataSourceType = 'ParaDetail' + AND @DBDateType ! = 'int' + SET @ErrorMsg = + @ErrorMsg + + '只有int,才可以用做下拉参数明细' + + IF @DataSourceType = 'ParaDetailNo' + AND @DBDateType ! = 'nvarchar' + SET @ErrorMsg = + @ErrorMsg + + '只有nvarchar,才可以用做下拉参数明细编号' + + IF @DataSourceType = 'CommonList' + AND @DBDateType ! = 'int' + SET @ErrorMsg = + @ErrorMsg + + '只有int,才可以用做通用下拉' + END + + IF @DBDateType = 'int' + AND @DataType NOT IN ('int', 'decimal') + AND @ErrorMsg = '' + BEGIN + SET @ErrorMsg = + @ErrorMsg + 'int只能用作数字输入' + END + + IF @DBDateType = 'decimal' + AND @DataType NOT IN ('int', 'decimal') + AND @ErrorMsg = '' + BEGIN + SET @ErrorMsg = + @ErrorMsg + 'decimal只能用作数字输入' + END + + IF @DBDateType = 'date' + AND @DataType NOT IN ('date', + 'datetime', + 'year', + 'yearMonth') + AND @ErrorMsg = '' + BEGIN + SET @ErrorMsg = + @ErrorMsg + 'date只能用作日期输入' + END + + IF @ErrorMsg ! = '' + BEGIN + ROLLBACK TRAN tranResumeInfoColumn -- 退回数据库的操作记录 + + SELECT 'fale' Success, + @ErrorMsg ErrorMsg, + @WarningMsg WarnMsg, + @SuccessMsg 'Message' -- IsOK 0:代表正确, 1:代表错误 + + RETURN + END + END + + IF @ID > 0 -- @doType = 'Update' + BEGIN + --exec [dbo].[PS_OperateLog] 1,'Insert','/ResumeInfoColumn','Ghrh_ResumeInfoColumn',1, @OperateLogID output + SET @doType = 'Update' + -- 该项目是否已在模板 分组的栏位里面, 如果有,则修改,没有则新增 + DECLARE @ResumeTemplateInfoGroupColumnId INT = 0 + SELECT @ResumeTemplateInfoGroupColumnId = Id + FROM Ghrh_ResumeTemplateInfoGroupColumn + WHERE IsEnable = 1 + AND ResumeTemplateInfoGroupId = + @ResumeTemplateInfoGroupID + AND ResumeInfoColumnID = @ID + + IF @ResumeTemplateInfoGroupColumnId > 0 -- 修改数据 + UPDATE Ghrh_ResumeTemplateInfoGroupColumn + SET IsRequired = @IsRequired, + Editable = @Editable, + InitValue = @InitValue + WHERE Id = @ResumeTemplateInfoGroupColumnId + ELSE -- 新增数据 + BEGIN + INSERT INTO Ghrh_ResumeTemplateInfoGroupColumn ( + ResumeTemplateInfoGroupId, + ResumeTemplateId, + TemplateType, + ResumeInfoGroupId, + GroupType, + ResumeInfoColumnID, + IsRequired, + Editable, + InitValue, + IsDisplay, + SortNo, + RowNum, + ColNum) + SELECT a.Id + ResumeTemplateInfoGroupId, + ResumeTemplateId, + a.TemplateType, + a.ResumeInfoGroupId, + a.GroupType, + b.ID + ResumeInfoColumnID, + @IsRequired, + @Editable, + @InitValue, + 0, + (SELECT isnull (max (SortNo), 0) + 1 + FROM Ghrh_ResumeTemplateInfoGroup + WHERE IsDisplay = 0 + AND IsEnable = 1 + AND Id = + @ResumeTemplateInfoGroupColumnId), + 1, + 1 + FROM Ghrh_ResumeTemplateInfoGroup a, + Ghrh_ResumeInfoColumn b + WHERE a.Id = @ResumeTemplateInfoGroupColumnId + AND b.ID = @id + END + + IF @TemplateType = 1 -- 母版的修改 + UPDATE Ghrh_ResumeInfoColumn + SET ResumeInfoGroupId = @ResumeInfoGroupId, + ResumeInfoColumnNo = @ResumeInfoColumnNo, + ResumeInfoColumnName = @ResumeInfoColumnName, + MKey = @MKey, + TableName = @TableName, + ColumnName = @ColumnName, + IsSingleColumn = @IsSingleColumn, + ColumnType = @ColumnType, + DataType = @DataType, + DataSourceType = @DataSourceType, + CanModifyBySelf = @CanModifyBySelf, + CanEssDisplay = @CanEssDisplay, + multipleSelect = @multipleSelect, + DataSource = @DataSource, + IsRequired = @IsRequired, + Editable = @Editable, + IsBuildIn = @IsBuildIn, + InitValue = @InitValue, + Placeholder = @Placeholder, + RemarkSz = @RemarkSz, + IsRelease = @IsRelease, + IsChangeColumn = @IsChangeColumn, + IsQuickJoinColumn = @IsQuickJoinColumn, + OperateLogID = @OperateLogID, + UpdateBy = @userId, + UpdateTime = GETDATE (), + UpdateProg = @menuName + WHERE Id = @ID + END + + IF @ID = 0 -- @doType = 'Insert' + BEGIN + SET @doType = 'Insert' + + --exec [dbo].[PS_OperateLog] 1,'Insert','/ResumeInfoColumn','Ghrh_ResumeInfoColumn',1, @OperateLogID output + INSERT INTO [dbo].[Ghrh_ResumeInfoColumn] ( + id, + ResumeInfoGroupId, + ResumeInfoColumnNo, + ResumeInfoColumnName, + MKey, + TableName, + ColumnName, + IsSingleColumn, + ColumnType, + DataType, + DataSourceType, + DataSource, + IsRequired, + Editable, + IsBuildIn, + InitValue, + Placeholder, + RemarkSz, + IsRelease, + IsChangeColumn, + IsQuickJoinColumn, + SortNo, + CanModifyBySelf, + CanEssDisplay, + multipleSelect, + OperateLogID, + [CreateBy], + [CreateTime], + [CreateProg], + [CreateIP], + [UpdateBy], + [UpdateTime], + [UpdateProg], + [UpdateIP]) + SELECT 1846057738145239040, + @ResumeInfoGroupId, + @ResumeInfoColumnNo, + @ResumeInfoColumnName, + @MKey, + @TableName, + @ColumnName, + @IsSingleColumn, + @ColumnType, + @DataType, + @DataSourceType, + @DataSource, + @IsRequired, + @Editable, + @IsBuildIn, + @InitValue, + @Placeholder, + @RemarkSz, + @IsRelease, + @IsChangeColumn, + @IsQuickJoinColumn, + 1, + @CanModifyBySelf, + @CanEssDisplay, + @multipleSelect, + @OperateLogID, + @userId, + GETDATE (), + @menuName, + '0', + @userId, + GETDATE (), + @menuName, + '0' + + SET @ID = SCOPE_IDENTITY () + END + + -- micro 2023-06-07 add 如果为异动栏位,需要加入异动栏位的 Ghrh_PageSettingQuery/Ghrh_PageSettingEdit + IF @IsChangeColumn = 1 + AND @ColumnName ! = 'ResumeID' + AND @ColumnName ! = 'RemarkSz' + BEGIN + -- 查询表格页面 -- 1. 编辑已有栏位 + UPDATE a + SET elementType = @ColumnType, + label = @ResumeInfoColumnName, + dataType = @DataType, + required = iif (@IsRequired = 1, 'true', ''), + dataSourceType = + iif (@DataSourceType ! = '', 'dict', ''), + APIDataSourceType = @DataSourceType, + APIDataSourceID = + iif (ISNUMERIC (@DataSource) = 1, @DataSource, NULL), + dataSource = '' + FROM Ghrh_PageSettingQuery a + WHERE a.pageno LIKE 'F_ResumeChange%' + AND a.field = @ColumnName + AND a.IsEnable = 1 + + -- 2. 新增栏位 + INSERT INTO Ghrh_PageSettingQuery (PageNo, + ColumnGroup, + elementType, + field, + label, + Meky, + multipleSelect, + dataType, + required, + palceholder, + dataSourceType, + APIDataSourceType, + APIDataSourceID, + dataSource, + sortable, + sortOrder, + defaultHidden, + filterable, + width, + align, + fixed, + editable, + searchable, + searchRequired, + searchColumnSeq, + isPrimaryKey, + SortNo, + searchCanOperator, + UpdateProg, + CreateProg) + SELECT PageNo, + ColumnGroup, + @ColumnType, + @ColumnName, + @ResumeInfoColumnName, + @MKey, + '', + @DataType, + iif (@IsRequired = 1, 'true', ''), + '' + palceholder, + iif (@DataSourceType ! = '', 'dict', '') + dataSourceType, + @DataSourceType, + iif + (ISNUMERIC (@DataSource) = 1, @DataSource, NULL), + '' + dataSource, + sortable, + sortOrder, + defaultHidden, + filterable, + width, + align, + fixed, + editable, + '' + searchable, + '' + searchRequired, + '' + searchColumnSeq, + isPrimaryKey, + SortNo, + '' + searchCanOperator, + @menuName, + @menuName + FROM Ghrh_PageSettingquery a + WHERE pageno LIKE 'F_ResumeChange%' + AND field = 'ChangeDate' -- 写入可选择栏位 + AND NOT EXISTS + (SELECT 1 + FROM Ghrh_PageSettingQuery kk + WHERE kk.IsEnable = 1 + AND kk.PageNo = a.PageNo + AND kk.field = @ColumnName) + + -- 编辑页面 + UPDATE a + SET elementType = @ColumnType, + label = @ResumeInfoColumnName, + dataType = @DataType, + required = iif (@IsRequired = 1, 'true', ''), + APIDataSourceType = @DataSourceType, + APIDataSourceID = + iif (ISNUMERIC (@DataSource) = 1, @DataSource, NULL), + dataSource = '' + FROM Ghrh_PageSettingEdit a + WHERE a.pageno LIKE 'F_ResumeChange%' + AND a.field = @ColumnName + AND a.IsEnable = 1 + + INSERT INTO dbo.Ghrh_PageSettingEdit (pageNo, + columnGroup, + elementType, + field, + label, + pageGroup, + mkey, + icon, + multipleSelect, + dataType, + required, + validateRules, + palceholder, + APIDataSourceType, + APIDataSourceID, + dataSource, + editable, + defaultHidden, + isPrimaryKey, + rowNum, + colNum, + IsSingleColumn) + SELECT pageNo, + columnGroup, + @ColumnType, + @ColumnName, + @ResumeInfoColumnName, + pageGroup, + @MKey, + icon, + multipleSelect, + @DataType, + iif (@IsRequired = 1, 'true', '') + required, + validateRules, + palceholder, + @DataSourceType, + iif + (ISNUMERIC (@DataSource) = 1, @DataSource, NULL), + '' + dataSource, + editable, + defaultHidden, + isPrimaryKey, + rowNum, + colNum, + IsSingleColumn + FROM Ghrh_PageSettingEdit a + WHERE pageno LIKE 'F_ResumeChange%' + AND field = 'ChangeDate' -- 写入可选择栏位 + AND NOT EXISTS + (SELECT 1 + FROM Ghrh_PageSettingEdit kk + WHERE kk.IsEnable = 1 + AND kk.PageNo = a.PageNo + AND kk.field = @ColumnName) + END + ELSE + BEGIN -- 非异动栏位,不显示在此 + IF @ColumnName ! = 'ResumeID' + BEGIN + UPDATE kk + SET kk.IsEnable = 0, + kk.UpdateBy = @userId, + kk.UpdateTime = GETDATE (), + kk.UpdateProg = @menuName + FROM Ghrs_PageSettingQuery kk + WHERE kk.pageno LIKE 'F_ResumeChange%' + AND field = @ColumnName + AND kk.IsEnable = 1 + AND CreateProg = 'F_ResumeInfoColumn' + + UPDATE kk + SET kk.IsEnable = 0, + kk.UpdateBy = @userId, + kk.UpdateTime = GETDATE (), + kk.UpdateProg = @menuName + FROM Ghrs_PageSettingEdit kk + WHERE kk.pageno LIKE 'F_ResumeChange%' + AND field = @ColumnName + AND kk.IsEnable = 1 + AND CreateProg = 'F_ResumeInfoColumn' + END + END + END + + COMMIT TRAN tranResumeInfoColumn -- 提交事物处理 + END TRY + BEGIN CATCH -- 错误捕捉 + SET @ErrorMsg = error_message () -- 错误信息 + ROLLBACK TRAN tranResumeInfoColumn -- 退回数据库的操作记录 + + SELECT 'false' Success, + @ErrorMsg ErrorMsg, + @WarningMsg WarnMsg, + @SuccessMsg 'Message' -- IsOK 0:代表正确, 1:代表错误 + + RETURN + END CATCH + + SET @SuccessMsg = + [dbo].[FLangKeyToValue] + ('GHR_Common_000014', + @langId, + '保存成功.您可以继续新增或关闭窗口.') + + SELECT 'true' Success, + @ErrorMsg ErrorMsg, + @WarningMsg WarnMsg, + @SuccessMsg 'Message' -- IsOK 0:代表正确, 1:代表错误 +END"; var dt = await Db.Ado.GetDataTableAsync(sql); @@ -1494,7 +1534,7 @@ public class Ghrh_ResumeTemplateServices : BaseServices.OprateSuccess("查询成功!", entitys); } #endregion + + #region 执行模板栏位变更 + public async Task PT_GHR30_StaffTemplate_IUD(QueryForm1 filter) + { + var sql = @$"DECLARE + @jsonParam NVARCHAR (MAX) + = '{filter.jsonParam}', -- 查询条件通过Json格式回传 数据库 + @doType NVARCHAR (100) = '{filter.doType}', -- Insert:新增 Update:修改 Delete:删除 BatchDelete:批次删除 BatchUpdaate:多行数据更新 + -- ColumnMove:模板-分组-栏位移动 GroupMove:模板-分组 移动 + -- GroupInsert:新增 GroupUpdate:修改 GroupDelete:删除 + -- SortData: 修改序号和是否默认 + @id INT = '{filter.id}', -- 表的唯一值。自增长的值 Delete /Update 用到 + @langId INT = '{filter.langId}', -- 语言 + @userId INT = '{filter.userId}', -- 使用者 + @menuName NVARCHAR (1000) = '{filter.menuName}' + +BEGIN + SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED + DECLARE + @NeedOPLog INT = 1, + @OperateLogID BIGINT = 0 -- 是否需要写入操作日志表 + + -- SELECT 'DT_ProcedureResult' Table3 + + DECLARE @ErrorMsg NVARCHAR (MAX) = '' -- 错误信息置空 + DECLARE @WarningMsg NVARCHAR (MAX) = '' -- 提醒信息置空 + DECLARE @SuccessMsg NVARCHAR (MAX) = '' + DECLARE @NewResumeTemplateId INT = 0 + DECLARE + @title NVARCHAR (1000), + @description NVARCHAR (1000), + @titleAllowEdit NVARCHAR (1000), + @isMaster NVARCHAR (1000), + @isPublish NVARCHAR (1000), + @SortNo NVARCHAR (100) + + BEGIN TRY -- 开始错误处理 + BEGIN TRAN tranResumeTemplate -- 开始事物处理 + + -- 写入日志 + -- EXEC [dbo].[PS_OperateLog]@userId, @doType, @menuName, 'Ghrh_ResumeTemplate', @ID, @jsonParam, @OperateLogID OUTPUT + + IF @doType = 'Delete' -- 资料删除 + BEGIN + UPDATE Ghrh_ResumeTemplate + SET OperateLogID = @OperateLogID, + IsEnable = 0, + UpdateBy = @userId, + UpdateTime = GETDATE (), + UpdateProg = @menuName + WHERE Id = @ID + + SET @SuccessMsg = '删除成功' + + SELECT 0 IsOK, + @ErrorMsg ErrorMsg, + @WarningMsg WarnMsg, + @SuccessMsg SuccessMsg -- IsOK 0:代表正确, 1:代表错误 + + COMMIT TRAN tranResumeTemplate + RETURN + END + + -- PhotoType: 1: 方形 2:圆形 + IF @doType = 'PhotoSwitch' + BEGIN + UPDATE Ghrh_ResumeTemplate + SET PhotoType = + (SELECT value + FROM OPENJSON (@jsonParam) + WHERE [key] = 'PhotoType') + WHERE Id = @id + END + + -- GroupInsert:新增 GroupUpdate:修改 GroupDelete:删除 + IF @doType = 'GroupInsert' + BEGIN + -- if @id>0 + BEGIN + DECLARE @ResumeInfoGroupID INT = 0 + + INSERT INTO Ghrh_ResumeInfoGroup (GroupNo, + GroupName, + MKey, + GroupType, + TableNames, + RemarkSz, + TableName, + TablePKIDName, + CanModifyBySelf, + CanEssDisplay) + SELECT ResumeInfoGroupNo, + ResumeInfoGroupName, + MKey, + 'Other', + TableNames, + RemarkSz, + TableName, + TablePKIDName, + CanModifyBySelf, + CanEssDisplay + FROM OPENJSON (@jsonParam) WITH ( + ResumeInfoGroupNo NVARCHAR (1000), + ResumeInfoGroupName NVARCHAR (1000), + MKey NVARCHAR (1000), + TableNames NVARCHAR (1000), + RemarkSz NVARCHAR (1000), + TableName NVARCHAR (1000), + TablePKIDName NVARCHAR (1000), + CanModifyBySelf NVARCHAR (1000), + CanEssDisplay NVARCHAR (1000)) + + SET @ResumeInfoGroupID = SCOPE_IDENTITY () + + -- 如果之前没有则需要新增 + IF @ResumeInfoGroupID > 0 + INSERT INTO Ghrh_ResumeTemplateInfoGroup ( + ResumeTemplateId, + TemplateType, + ResumeInfoGroupId, + IsDisplay, + GroupType, + SortNo) + SELECT a.Id ResumeTemplateId, + a.TemplateType, + c.Id ResumeInfoGroupId, + 1, + c.GroupType, + (SELECT isnull (max (SortNo), 0) + 1 + FROM Ghrh_ResumeTemplateInfoGroup + WHERE ResumeTemplateId = @id AND IsEnable = 1) + FROM Ghrh_ResumeTemplate a, Ghrh_ResumeInfoGroup c + WHERE a.Id = @id AND c.Id = @ResumeInfoGroupID + END + END + + IF @doType = 'GroupUpdate' + BEGIN + IF @id > 0 + BEGIN + UPDATE a + SET a.GroupNo = b.ResumeInfoGroupNo, + a.GroupName = b.ResumeInfoGroupName, + a.MKey = b.MKey, + a.TableNames = b.TableNames, + a.RemarkSz = b.RemarkSz, + a.TableName = b.TableName, + a.TablePKIDName = b.TablePKIDName, + a.CanModifyBySelf = b.CanModifyBySelf, + a.CanEssDisplay = b.CanEssDisplay, + a.UpdateBy = @userId, + a.UpdateTime = GETDATE (), + a.UpdateProg = @menuName + FROM Ghrh_ResumeInfoGroup a, + (SELECT TOP 1 ResumeInfoGroupNo, + ResumeInfoGroupName, + MKey, + TableNames, + RemarkSz, + TableName, + TablePKIDName, + CanModifyBySelf, + CanEssDisplay + FROM OPENJSON (@jsonParam) WITH ( + ResumeInfoGroupNo NVARCHAR (1000), + ResumeInfoGroupName NVARCHAR (1000), + MKey NVARCHAR (1000), + TableNames NVARCHAR (1000), + RemarkSz NVARCHAR (1000), + TableName NVARCHAR (1000), + TablePKIDName NVARCHAR (1000), + CanModifyBySelf NVARCHAR (1000), + CanEssDisplay NVARCHAR (1000))) + b + WHERE a.ID = @id + END + END + + IF @doType = 'GroupDelete' + BEGIN + -- if @id=0 + BEGIN + UPDATE a + SET a.IsEnable = 0, + UpdateBy = @userId, + UpdateTime = GETDATE (), + UpdateProg = @menuName + FROM Ghrh_ResumeInfoGroup a + WHERE a.ID = @id + END + END + + IF @doType = 'GroupSwitch' -- 分组隐藏和分组显示 + BEGIN + UPDATE a + SET a.IsDisplay = b.DisplayType, + UpdateBy = @userId, + UpdateTime = GETDATE (), + UpdateProg = @menuName + FROM Ghrh_ResumeTemplateInfoGroup a, + (SELECT ResumeInfoGroupId, DisplayType + FROM OPENJSON (@jsonParam) WITH (ResumeInfoGroupId INT, + DisplayType INT)) b + WHERE a.ResumeInfoGroupID = b.ResumeInfoGroupId + AND a.ResumeTemplateId = @id + AND a.IsEnable = 1 + + -- 如果之前没有则需要新增 + INSERT INTO Ghrh_ResumeTemplateInfoGroup (ResumeTemplateId, + TemplateType, + ResumeInfoGroupId, + IsDisplay, + GroupType, + SortNo) + SELECT a.Id ResumeTemplateId, + a.TemplateType, + b.ResumeInfoGroupId, + b.DisplayType, + c.GroupType, + b.SortNo + FROM Ghrh_ResumeTemplate a, + (SELECT ResumeInfoGroupId, DisplayType, SortNo + FROM OPENJSON (@jsonParam) WITH (ResumeInfoGroupId INT, + DisplayType INT, + SortNo INT)) b, + Ghrh_ResumeInfoGroup c + WHERE a.Id = @id + AND b.ResumeInfoGroupID = c.Id + AND b.ResumeInfoGroupID NOT IN + (SELECT ResumeInfoGroupID + FROM Ghrh_ResumeTemplateInfoGroup + WHERE ResumeTemplateId = @id AND IsEnable = 1) + END + + IF @doType = 'GroupMove' -- :模板-分组 移动 + BEGIN + UPDATE a -- 移动栏位 + SET a.SortNo = b.SortNo, a.IsDisplay = b.DisplayType + FROM Ghrh_ResumeTemplateInfoGroup a, + (SELECT ResumeInfoGroupId, DisplayType, SortNo + FROM OPENJSON (@jsonParam) WITH (ResumeInfoGroupId INT, + DisplayType INT, + SortNo INT)) b + WHERE a.ResumeTemplateID = @id + AND a.IsEnable = 1 + AND a.ResumeInfoGroupId = b.ResumeInfoGroupId + + -- 如果没有的需要新增 + INSERT INTO Ghrh_ResumeTemplateInfoGroup (ResumeTemplateId, + TemplateType, + ResumeInfoGroupId, + IsDisplay, + GroupType, + SortNo) + SELECT a.Id ResumeTemplateId, + a.TemplateType, + b.ResumeInfoGroupId, + b.DisplayType, + c.GroupType, + b.SortNo + FROM Ghrh_ResumeTemplate a, + (SELECT ResumeInfoGroupId, DisplayType, SortNo + FROM OPENJSON (@jsonParam) WITH (ResumeInfoGroupId INT, + DisplayType INT, + SortNo INT)) b, + Ghrh_ResumeInfoGroup c + WHERE a.Id = @id + AND b.ResumeInfoGroupID = c.Id + AND b.ResumeInfoGroupID NOT IN + (SELECT ResumeInfoGroupID + FROM Ghrh_ResumeTemplateInfoGroup + WHERE ResumeTemplateId = @id AND IsEnable = 1) + END + + IF @doType = 'ColumnMove' -- 模板栏位异动 模板里面的栏位增加减少 移动 批次操作 + BEGIN + UPDATE a -- 移动栏位 + SET a.SortNo = b.SortNo, a.IsDisplay = b.DisplayType + FROM Ghrh_ResumeTemplateInfoGroupColumn a, + (SELECT ResumeInfoColumnID, DisplayType, SortNo + FROM OPENJSON (@jsonParam) WITH (ResumeInfoColumnID INT, + DisplayType INT, + SortNo INT)) b + WHERE a.ResumeTemplateInfoGroupID = @id + AND a.IsEnable = 1 + AND a.ResumeInfoColumnID = b.ResumeInfoColumnID + AND b.DisplayType IN (0, 1) + + -- 如果之前的栏位是 从 作废里面(未发布)--> 可选或者已选, 则需要修改 ResumeInfoColumn + UPDATE Ghrh_ResumeInfoColumn + SET IsRelease = 1 + WHERE ID IN + (SELECT ResumeInfoColumnID + FROM OPENJSON (@jsonParam) WITH ( + ResumeInfoColumnID INT, + DisplayType INT, + SortNo INT) + WHERE DisplayType IN (0, 1)) + AND IsRelease = 0 + + DELETE FROM + Ghrh_ResumeTemplateInfoGroupColumn -- 作废项目 + WHERE ResumeTemplateInfoGroupID = @id + AND IsEnable = 1 + AND ResumeInfoColumnID IN + (SELECT ResumeInfoColumnID + FROM OPENJSON (@jsonParam) WITH ( + ResumeInfoColumnID INT, + DisplayType INT, + SortNo INT) + WHERE DisplayType = -1) + + -- 新增栏位 + INSERT INTO Ghrh_ResumeTemplateInfoGroupColumn ( + ResumeTemplateInfoGroupId, + ResumeTemplateId, + TemplateType, + ResumeInfoGroupId, + GroupType, + ResumeInfoColumnID, + IsRequired, + Editable, + InitValue, + IsDisplay, + SortNo, + RowNum, + ColNum) + SELECT a.Id ResumeTemplateInfoGroupId, + ResumeTemplateId, + a.TemplateType, + a.ResumeInfoGroupId, + a.GroupType, + c.ID ResumeInfoColumnID, + c.IsRequired, + c.Editable, + c.InitValue, + b.DisplayType, + b.SortNo, + 1, + 1 + FROM Ghrh_ResumeTemplateInfoGroup a, + (SELECT ResumeInfoColumnID, DisplayType, SortNo + FROM OPENJSON (@jsonParam) WITH (ResumeInfoColumnID INT, + DisplayType INT, + SortNo INT)) b, + Ghrh_ResumeInfoColumn c + WHERE a.Id = @id + AND b.ResumeInfoColumnID = c.ID + AND b.DisplayType IN (0, 1) + AND c.IsEnable = 1 + AND b.ResumeInfoColumnID NOT IN + (SELECT ResumeInfoColumnID + FROM Ghrh_ResumeTemplateInfoGroupColumn + WHERE ResumeTemplateInfoGroupId = @id + AND IsEnable = 1) + + -- micro 2022-08-05 add 模板自动更新 栏位设定 Ghrs_PageSettingQuery + DECLARE + @FResumeMenuName NVARCHAR (1000) = 'F_Resume~', + @FResumeGroupType NVARCHAR (100) + SELECT @FResumeMenuName = + @FResumeMenuName + + CONVERT (NVARCHAR (100), ResumeTemplateId), + @FResumeGroupType = GroupType + FROM Ghrh_ResumeTemplateInfoGroup + WHERE Id = @id + + IF @FResumeGroupType IN ('Base', + 'Education', + 'Family', + 'Contract', + 'WorkExp', + 'Training', + 'Licence') + BEGIN + IF @FResumeGroupType = 'Education' + SET @FResumeMenuName = 'F_ResumeEduBG' + + IF @FResumeGroupType = 'Contract' + SET @FResumeMenuName = 'F_ResumeContract' + + IF @FResumeGroupType = 'Family' + SET @FResumeMenuName = 'F_ResumeSocialRelation' + + IF @FResumeGroupType = 'WorkExp' + SET @FResumeMenuName = 'F_ResumeWorkExp' + + IF @FResumeGroupType = 'Training' + SET @FResumeMenuName = 'F_ResumeTraining' + + IF @FResumeGroupType = 'Licence' + SET @FResumeMenuName = 'F_ResumeLicence' + + -- 更新后的栏位设定写入临时表 + IF OBJECT_ID ('tempdb.[dbo].[#TempPageSettingQuery]') + IS NOT NULL + DROP TABLE [dbo].[#TempPageSettingQuery] + + --insert into Ghrs_PageSettingQuery(PageNo,ColumnGroup,elementType,field,label,Meky,multipleSelect,dataType,required,palceholder, + -- dataSourceType,dataSource,sortable,sortOrder,defaultHidden,filterable,width,align,fixed,editable, + -- searchable,searchRequired,searchColumnSeq,isPrimaryKey,SortNo,searchCanOperator) + SELECT @FResumeMenuName PageNo, + '' ColumnGroup, + b.ColumnType elementType, + b.ResumeInfoColumnNo field, + b.ResumeInfoColumnName label, + b.MKey Meky, + NULL multipleSelect, + b.DataType dataType, + CASE + WHEN a.IsRequired = 1 THEN 'true' + ELSE 'false' + END required, + NULL palceholder, + CASE + WHEN b.ColumnType IN + ('OrgTreeSelect', 'ApiSelect') + THEN + 'dict' + ELSE + '' + END dataSourceType, + dbo.FS_GetdataSourceBySet + ('', b.DataSourceType, b.DataSource) dataSource, + 'true' sortable, + NULL sortOrder, + CASE + WHEN b.isPrimaryKey = 1 THEN 'true' + ELSE 'false' + END defaultHidden, + NULL filterable, + '100' width, + 'left' align, + NULL fixed, + 'false' editable, + 'false' searchable, + 'false' searchRequired, + '' searchColumnSeq, + CASE + WHEN b.isPrimaryKey = 1 THEN 'true' + ELSE 'false' + END isPrimaryKey, + a.SortNo, + CONVERT (NVARCHAR (1000), '') searchCanOperator, + 0 PageSettingQueryID + INTO dbo.[#TempPageSettingQuery] + FROM Ghrh_ResumeTemplateInfoGroupColumn a, + Ghrh_ResumeInfoColumn b --Ghrs_PageSettingQuery + WHERE a.ResumeInfoColumnID = b.ID + AND a.ResumeTemplateInfoGroupId = @id + AND b.IsEnable = 1 + AND grouptype = @FResumeGroupType + AND ( b.isPrimaryKey = 1 + OR a.IsEnable = 1 AND IsDisPlay = 1) + ORDER BY a.SortNo + + -- Group Type 的特别处理 + IF @FResumeGroupType = 'Base' + BEGIN + UPDATE dbo.[#TempPageSettingQuery] + SET searchable = 'true', + searchColumnSeq = 1, + searchCanOperator = + 'Include,Equal,NotEqual,NotInclude' + WHERE field = 'ResumeNo' + + UPDATE dbo.[#TempPageSettingQuery] + SET searchable = 'true', + searchColumnSeq = 2, + searchCanOperator = + 'Include,Equal,NotEqual,NotInclude' + WHERE field = 'ResumeName' + + -- 判断生成 照片是否显示 + INSERT INTO [#TempPageSettingQuery] ( + PageNo, + ColumnGroup, + elementType, + field, + label, + Meky, + multipleSelect, + dataType, + required, + palceholder, + dataSourceType, + dataSource, + sortable, + sortOrder, + defaultHidden, + filterable, + width, + align, + fixed, + editable, + searchable, + searchRequired, + searchColumnSeq, + isPrimaryKey, + SortNo, + searchCanOperator, + PageSettingQueryID) + SELECT @FResumeMenuName, + '', + 'Avatar', + 'PhotoUrl', + '照片', + 'F_User_UserPhotoUrl', + '', + 'string', + '', + '', + '', + '', + '', + '', + 'false', + NULL, + '120', + '', + '', + 'true', + '', + '', + '', + '', + 1, + '', + 0 + END + + IF @FResumeGroupType = 'Education' + BEGIN + UPDATE dbo.[#TempPageSettingQuery] + SET searchable = 'true', + searchColumnSeq = 1, + searchCanOperator = + 'Include,Equal,NotEqual,NotInclude' + WHERE field = 'SchoolName' + + UPDATE dbo.[#TempPageSettingQuery] + SET searchable = 'true', + searchColumnSeq = 2, + searchCanOperator = + 'Include,Equal,NotEqual,NotInclude' + WHERE field = 'DeptName' + END + + IF @FResumeGroupType = 'Family' + BEGIN + UPDATE dbo.[#TempPageSettingQuery] + SET searchable = 'true', + searchColumnSeq = 1, + searchCanOperator = + 'Include,Equal,NotEqual,NotInclude' + WHERE field = 'RelationName' + + UPDATE dbo.[#TempPageSettingQuery] + SET searchable = 'true', + searchColumnSeq = 2, + searchCanOperator = + 'Equal,NotEqual,EqualAny,NotEqualAny' + WHERE field = 'RelationType' + END + + IF @FResumeGroupType = 'Contract' + BEGIN + UPDATE dbo.[#TempPageSettingQuery] + SET searchable = 'true', + searchColumnSeq = 1, + searchCanOperator = + 'Include,Equal,NotEqual,NotInclude' + WHERE field = 'ContractNo' + + UPDATE dbo.[#TempPageSettingQuery] + SET searchable = 'true', + searchColumnSeq = 2, + searchCanOperator = + 'Equal,NotEqual,EqualAny,NotEqualAny' + WHERE field = 'ContractType' + END + + IF @FResumeGroupType = 'WorkExp' + BEGIN + UPDATE dbo.[#TempPageSettingQuery] + SET searchable = 'true', + searchColumnSeq = 1, + searchCanOperator = + 'Include,Equal,NotEqual,NotInclude' + WHERE field = 'CompanyName' + + UPDATE dbo.[#TempPageSettingQuery] + SET searchable = 'true', + searchColumnSeq = 2, + searchCanOperator = + 'Include,Equal,NotEqual,NotInclude' + WHERE field = 'DeptName' + END + + IF @FResumeGroupType = 'Training' + BEGIN + UPDATE dbo.[#TempPageSettingQuery] + SET searchable = 'true', + searchColumnSeq = 1, + searchCanOperator = + 'Include,Equal,NotEqual,NotInclude' + WHERE field = 'CourseName' + + UPDATE dbo.[#TempPageSettingQuery] + SET searchable = 'true', + searchColumnSeq = 2, + searchCanOperator = + 'Include,Equal,NotEqual,NotInclude' + WHERE field = 'TrainingOrgName' + END + + IF @FResumeGroupType = 'Licence' + BEGIN + UPDATE dbo.[#TempPageSettingQuery] + SET searchable = 'true', + searchColumnSeq = 1, + searchCanOperator = + 'Include,Equal,NotEqual,NotInclude' + WHERE field = 'LicenceName' + + UPDATE dbo.[#TempPageSettingQuery] + SET searchable = 'true', + searchColumnSeq = 2, + searchCanOperator = + 'Include,Equal,NotEqual,NotInclude' + WHERE field = 'LicenceNo' + END + + + -- 修改临时表的 PageSettingQueryID + UPDATE a + SET a.PageSettingQueryID = b.PageSettingQueryID + FROM dbo.[#TempPageSettingQuery] a, Ghrs_PageSettingQuery b + WHERE a.PageNo = b.PageNo + AND a.field = b.field + AND b.IsEnable = 1 + + -- 删除 Ghrs_PageSettingQuery 中本次取消的栏位 + UPDATE Ghrs_PageSettingQuery + SET IsEnable = 0, UpdateProg = @menuName + WHERE NOT EXISTS + (SELECT 1 + FROM dbo.[#TempPageSettingQuery] a + WHERE a.PageSettingQueryID = + Ghrs_PageSettingQuery.PageSettingQueryID) + AND PageNo = @FResumeMenuName + AND elementType ! = 'FnKey' + AND field NOT IN ('CreateTime', + 'UpdateTime', + 'CreateBy', + 'UpdateBy', + 'ResumeJobStatus') + AND CreateProg = @menuName + + -- 删除自定义栏位 Ghrs_UserPageSettingQueryColumn 中本次取消的栏位 + UPDATE Ghrs_UserPageSettingQueryColumn + SET IsEnable = 0 + WHERE NOT EXISTS + (SELECT 1 + FROM Ghrs_PageSettingQuery a + WHERE a.PageSettingQueryID = + Ghrs_UserPageSettingQueryColumn.PageSettingQueryID) + AND IsEnable = 1 + AND CreateProg = @FResumeMenuName + AND EXISTS + (SELECT 1 + FROM Ghrs_PageSettingQuery a + WHERE a.PageSettingQueryID = + Ghrs_UserPageSettingQueryColumn.PageSettingQueryID + AND a.elementType ! = 'FnKey') + + -- 修改栏位 + UPDATE a + SET a.label = b.label, + a.Meky = b.Meky, + a.required = b.required, + a.elementType = b.elementType, + a.dataType = b.dataType, + a.dataSourceType = b.dataSourceType, + a.dataSource = b.dataSource, + --a.sortable=b.sortable, + a.defaultHidden = + CASE + WHEN a.field = 'ResumeID' THEN 'true' + ELSE b.defaultHidden + END, + -- a.filterable=b.filterable,a.width=b.width,a.align=b.align,a.fixed=b.fixed, + a.editable = b.editable, + --a.searchable=b.searchable,a.searchRequired=b.searchRequired,a.searchColumnSeq=b.searchColumnSeq, + a.isPrimaryKey = b.isPrimaryKey, + a.SortNo = b.SortNo, + -- a.searchCanOperator=b.searchCanOperator, + a.UpdateProg = @menuName, + a.CreateProg = @menuName + FROM Ghrs_PageSettingQuery a, dbo.[#TempPageSettingQuery] b + WHERE a.PageSettingQueryID = b.PageSettingQueryID + + -- 新增本次设定的栏位 + INSERT INTO Ghrs_PageSettingQuery (PageNo, + ColumnGroup, + elementType, + field, + label, + Meky, + multipleSelect, + dataType, + required, + palceholder, + dataSourceType, + dataSource, + sortable, + sortOrder, + defaultHidden, + filterable, + width, + align, + fixed, + editable, + searchable, + searchRequired, + searchColumnSeq, + isPrimaryKey, + SortNo, + searchCanOperator, + UpdateProg, + CreateProg) + SELECT PageNo, + ColumnGroup, + elementType, + field, + label, + Meky, + multipleSelect, + dataType, + required, + palceholder, + dataSourceType, + dataSource, + sortable, + sortOrder, + defaultHidden, + filterable, + width, + align, + fixed, + editable, + searchable, + searchRequired, + searchColumnSeq, + isPrimaryKey, + SortNo, + searchCanOperator, + @menuName, + @menuName + FROM dbo.[#TempPageSettingQuery] + WHERE isnull (PageSettingQueryID, 0) = 0 + END + END + + IF @doType IN ('Update', 'Insert', 'Copy') + BEGIN + IF @jsonParam ! = '' -- 传入的参数处理 + BEGIN + SELECT @title = title, + @description = description, + @titleAllowEdit = titleAllowEdit, + @isMaster = isMaster, + @isPublish = isPublish, + @SortNo = sortNo + FROM OPENJSON (@jsonParam) WITH ( + title NVARCHAR (1000), + description NVARCHAR (1000), + titleAllowEdit NVARCHAR (1000), + isMaster NVARCHAR (1000), + isPublish NVARCHAR (1000), + sortNo NVARCHAR (100)) + END + + -- 资料验证 + BEGIN + IF @title = '' + SET @ErrorMsg = @ErrorMsg + '模板名称不能为空' -- [dbo].[FLangKeyToValue]('F_ResumeTemplate_0001',@langId,'集团数据归属名称不能为空') + + IF @ErrorMsg ! = '' + BEGIN + ROLLBACK TRAN tranResumeTemplate -- 退回数据库的操作记录 + + SELECT 1 IsOK, + @ErrorMsg ErrorMsg, + @WarningMsg WarnMsg, + @SuccessMsg SuccessMsg -- IsOK 0:代表正确, 1:代表错误 + + RETURN + END + END + + IF @ID > 0 -- @doType = 'Update' + BEGIN + -- exec [dbo].[PS_OperateLog] 1,'Insert','/ResumeTemplate','Ghrh_ResumeTemplate',1, @OperateLogID output + IF @doType = 'Update' + BEGIN + UPDATE Ghrh_ResumeTemplate + SET TemplateNo = @title, + TemplateName = @title, + RemarkSz = @description, + SortNo = + CASE + WHEN isnull (@SortNo, '') = '' THEN '1' + ELSE @SortNo + END, + IsPublish = @isPublish, + -- TemplateType=case when @isMaster=1 then 1 else 2 end, + OperateLogID = @OperateLogID, + UpdateBy = @userId, + UpdateTime = GETDATE (), + UpdateProg = @menuName + WHERE Id = @ID + END + + IF @doType = 'Copy' + BEGIN + SET @NewResumeTemplateId = 0 + + INSERT INTO [dbo].[Ghrh_ResumeTemplate] ( + TemplateNo, + TemplateName, + SortNo, + IsPublish, + TemplateType, + OperateLogID, + RemarkSz, + [CreateBy], + [CreateTime], + [CreateProg], + [CreateIP], + [UpdateBy], + [UpdateTime], + [UpdateProg], + [UpdateIP]) + SELECT @title, + @title, + CASE + WHEN isnull (@SortNo, '') = '' THEN '1' + ELSE @SortNo + END, + @isPublish, + 2, + @OperateLogID, + @description, + @userId, + GETDATE (), + @menuName, + '', + @userId, + GETDATE (), + @menuName, + '' + FROM Ghrh_ResumeTemplate + WHERE Id = @ID + + SET @NewResumeTemplateId = SCOPE_IDENTITY () + + -- 复制 模板的Detail + --1. 复制分组 + INSERT INTO Ghrh_ResumeTemplateInfoGroup ( + ResumeTemplateId, + TemplateType, + ResumeInfoGroupId, + IsDisplay, + GroupType, + SortNo) + SELECT @NewResumeTemplateId, + 2, + a.ResumeInfoGroupId, + a.IsDisplay, + a.GroupType, + a.SortNo + FROM Ghrh_ResumeTemplateInfoGroup a + WHERE a.ResumeTemplateId = @id + + -- 复制分组栏位 + INSERT INTO Ghrh_ResumeTemplateInfoGroupColumn ( + ResumeTemplateInfoGroupId, + ResumeTemplateId, + TemplateType, + ResumeInfoGroupId, + GroupType, + ResumeInfoColumnID, + IsRequired, + Editable, + InitValue, + IsDisplay, + SortNo, + RowNum, + ColNum) + SELECT c.Id ResumeTemplateInfoGroupId, + c.ResumeTemplateId, + 2, + a.ResumeInfoGroupId, + a.GroupType, + a.ResumeInfoColumnID, + a.IsRequired, + a.Editable, + a.InitValue, + a.IsDisplay, + a.SortNo, + a.RowNum, + a.ColNum + FROM Ghrh_ResumeTemplateInfoGroupColumn a, + Ghrh_ResumeTemplateInfoGroup c + WHERE a.IsEnable = 1 + AND c.IsEnable = 1 + AND a.ResumeInfoGroupId = + c.ResumeInfoGroupId + AND a.ResumeTemplateId = @id + AND c.ResumeTemplateId = + @NewResumeTemplateId + + -- 复制人员基本资料的 修改/删除/复制的功能按钮到 Ghrs_PageSettingQuery + DECLARE @CopyMenuName NVARCHAR (100) + = 'F_Resume~' + + CONVERT + (NVARCHAR (10), @NewResumeTemplateId) + + INSERT INTO Ghrs_PageSettingQuery (PageNo, + ColumnGroup, + elementType, + field, + label, + Meky, + multipleSelect, + dataType, + required, + palceholder, + dataSourceType, + dataSource, + sortable, + sortOrder, + defaultHidden, + filterable, + width, + align, + fixed, + editable, + searchable, + searchRequired, + searchColumnSeq, + isPrimaryKey, + SortNo, + searchCanOperator) + SELECT @CopyMenuName, + ColumnGroup, + elementType, + field, + label, + Meky, + multipleSelect, + dataType, + required, + palceholder, + dataSourceType, + dataSource, + sortable, + sortOrder, + defaultHidden, + filterable, + width, + align, + fixed, + editable, + searchable, + searchRequired, + searchColumnSeq, + isPrimaryKey, + SortNo, + searchCanOperator + FROM Ghrs_PageSettingQuery a + WHERE IsEnable = 1 + AND PageNo = 'F_Resume~1' + AND elementType = 'FnKey' + AND NOT EXISTS + (SELECT 1 + FROM Ghrs_PageSettingQuery b + WHERE b.IsEnable = 1 + AND b.PageNo = @CopyMenuName + AND a.elementType = + b.elementType + AND a.field = b.field) + END + END + + IF @ID = 0 -- @doType = 'Insert' + BEGIN + SET @doType = 'Insert' + + -- exec [dbo].[PS_OperateLog] 1,'Insert','/ResumeTemplate','Ghrh_ResumeTemplate',1, @OperateLogID output + INSERT INTO [dbo].[Ghrh_ResumeTemplate] (TemplateNo, + TemplateName, + SortNo, + IsPublish, + TemplateType, + OperateLogID, + RemarkSz, + [CreateBy], + [CreateTime], + [CreateProg], + [CreateIP], + [UpdateBy], + [UpdateTime], + [UpdateProg], + [UpdateIP]) + SELECT @title, + @title, + isnull (@SortNo, '1'), + @IsPublish, + CASE WHEN @isMaster = 1 THEN 1 ELSE 2 END, + @OperateLogID, + @description, + @userId, + GETDATE (), + @menuName, + '0', + @userId, + GETDATE (), + @menuName, + '0' + + SET @ID = SCOPE_IDENTITY () + END + END + + COMMIT TRAN tranResumeTemplate -- 提交事物处理 + END TRY + BEGIN CATCH -- 错误捕捉 + SET @ErrorMsg = error_message () -- 错误信息 + ROLLBACK TRAN tranResumeTemplate -- 退回数据库的操作记录 + + SELECT 1 IsOK, + @ErrorMsg ErrorMsg, + @WarningMsg WarnMsg, + @SuccessMsg SuccessMsg, + @NewResumeTemplateId NewResumeTemplateId -- IsOK 0:代表正确, 1:代表错误 + + RETURN + END CATCH + + SET @SuccessMsg = + [dbo].[FLangKeyToValue] + ('GHR_Common_000014', + @langId, + '保存成功.您可以继续新增或关闭窗口.') + + SELECT 0 IsOK, + @ErrorMsg ErrorMsg, + @WarningMsg WarnMsg, + @SuccessMsg SuccessMsg, + @NewResumeTemplateId NewResumeTemplateId -- IsOK 0:代表正确, 1:代表错误 +END"; + + var dt = await Db.Ado.GetDataTableAsync(sql); + + if (dt.Rows.Count > 0) + { + if (dt.Rows[0]["IsOK"].ToString() == "0") + return ServiceResult.OprateSuccess(dt.Rows[0]["SuccessMsg"].ToString()); + else + return ServiceResult.OprateFailed(dt.Rows[0]["ErrorMsg"].ToString()); + } + return ServiceResult.OprateFailed("操作失败!"); + } + #endregion } \ No newline at end of file diff --git a/Tiobon.Core.Tasks/QuartzNet/Jobs/Job_StaffIn_Quartz.cs b/Tiobon.Core.Tasks/QuartzNet/Jobs/Job_StaffIn_Quartz.cs index 6c203fa6..b19be7ee 100644 --- a/Tiobon.Core.Tasks/QuartzNet/Jobs/Job_StaffIn_Quartz.cs +++ b/Tiobon.Core.Tasks/QuartzNet/Jobs/Job_StaffIn_Quartz.cs @@ -21,7 +21,7 @@ public class Job_StaffIn_Quartz : JobBase, IJob } public async Task Run(IJobExecutionContext context) { - Console.WriteLine($"Job_StaffIn_Quartz 执行 {DateTime.Now.ToShortTimeString()}"); + //Console.WriteLine($"Job_StaffIn_Quartz 执行 {DateTime.Now.ToShortTimeString()}"); await _ghre_StudyRuleServices.StaffIn(); // 也可以通过数据库配置,获取传递过来的参数 JobDataMap data = context.JobDetail.JobDataMap; diff --git a/Tiobon.Core/Tiobon.Core.xml b/Tiobon.Core/Tiobon.Core.xml index 038bdd59..b4604926 100644 --- a/Tiobon.Core/Tiobon.Core.xml +++ b/Tiobon.Core/Tiobon.Core.xml @@ -1198,7 +1198,14 @@ - 获取分组数据 + 查询模板栏位 + + + + + + + 查询模板栏位