From 8f3e92e80e90a9f9f52726cc5f0c531cb411ac2b Mon Sep 17 00:00:00 2001 From: xiaochanghai Date: Sat, 12 Oct 2024 15:06:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=89=A7=E8=A1=8C=E5=88=86?= =?UTF-8?q?=E7=BB=84=E5=88=97=E6=A0=8F=E4=BD=8D=E6=93=8D=E4=BD=9C=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ghrh/Ghrh_ResumeTemplateController.cs | 11 + Tiobon.Core.Api/Tiobon.Core.xml | 7 + .../Ghrh/IGhrh_ResumeTemplateServices.cs | 2 + Tiobon.Core.Model/ServiceResult.cs | 4 +- .../Ghrh/Ghrh_ResumeTemplateServices.cs | 786 +++++++++++++++++- Tiobon.Core/Tiobon.Core.xml | 15 + 6 files changed, 821 insertions(+), 4 deletions(-) diff --git a/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeTemplateController.cs b/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeTemplateController.cs index 4809ff38..587d9716 100644 --- a/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeTemplateController.cs +++ b/Tiobon.Core.Api/Controllers/Ghrh/Ghrh_ResumeTemplateController.cs @@ -68,4 +68,15 @@ public class Ghrh_ResumeTemplateController : BaseController>> QueryTemplateColumn([FromBody] QueryForm filter) => await _service.QueryTemplateColumn(filter); #endregion + + #region 执行分组列栏位操作 + /// + /// 执行分组列栏位操作 + /// + /// + /// + [HttpPost("ExceteTemplateColumnChange")] + public async Task ExceteTemplateColumnChange([FromBody] QueryForm filter) => await _service.ExceteTemplateColumnChange(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 188d1f1f..f7d3a30e 100644 --- a/Tiobon.Core.Api/Tiobon.Core.xml +++ b/Tiobon.Core.Api/Tiobon.Core.xml @@ -1184,6 +1184,13 @@ + + + 执行分组列栏位操作 + + + + Ghro_Dept(Controller) diff --git a/Tiobon.Core.IServices/Ghrh/IGhrh_ResumeTemplateServices.cs b/Tiobon.Core.IServices/Ghrh/IGhrh_ResumeTemplateServices.cs index 7b5c54a8..ff695ea1 100644 --- a/Tiobon.Core.IServices/Ghrh/IGhrh_ResumeTemplateServices.cs +++ b/Tiobon.Core.IServices/Ghrh/IGhrh_ResumeTemplateServices.cs @@ -20,5 +20,7 @@ namespace Tiobon.Core.IServices Task ColumnMove(long id, List columns); Task>> QueryTemplateColumn(QueryForm filter); + + Task ExceteTemplateColumnChange(QueryForm filter); } } \ No newline at end of file diff --git a/Tiobon.Core.Model/ServiceResult.cs b/Tiobon.Core.Model/ServiceResult.cs index f27f30d1..942c4fd4 100644 --- a/Tiobon.Core.Model/ServiceResult.cs +++ b/Tiobon.Core.Model/ServiceResult.cs @@ -1,6 +1,4 @@ -using AutoMapper; - -namespace Tiobon.Core.Model; +namespace Tiobon.Core.Model; /// /// 服务层响应实体(泛型) diff --git a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeTemplateServices.cs b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeTemplateServices.cs index 1d24cea2..c94506a2 100644 --- a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeTemplateServices.cs +++ b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeTemplateServices.cs @@ -673,7 +673,6 @@ public class Ghrh_ResumeTemplateServices : BaseServices>> QueryTemplateColumn(QueryForm filter) { @@ -704,4 +703,789 @@ public class Ghrh_ResumeTemplateServices : BaseServices ExceteTemplateColumnChange(QueryForm filter) + { + var sql = @$"DECLARE + @jsonParam NVARCHAR (MAX) = '{filter.jsonParam}', -- 查询条件通过Json格式回传 数据库 + @doType NVARCHAR (100) = '{filter.doType}', -- Insert:新增 Update:修改 Delete:删除 Unpublish:取消发布 BatchDelete:批次删除 BatchUpdaate:多行数据更新 + -- 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 + @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 0 IsOK, + @ErrorMsg ErrorMsg, + @WarningMsg WarnMsg, + @SuccessMsg SuccessMsg -- 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 0 IsOK, + @ErrorMsg ErrorMsg, + @WarningMsg WarnMsg, + @SuccessMsg SuccessMsg -- 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 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 "; + + var dt = await Db.Ado.GetDataTableAsync(sql); + + if (dt.Rows.Count > 0) + { + if (dt.Rows[0]["Success"].ToString() == "true") + return ServiceResult.OprateSuccess(dt.Rows[0]["Message"].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/Tiobon.Core.xml b/Tiobon.Core/Tiobon.Core.xml index 91590af9..188d1f1f 100644 --- a/Tiobon.Core/Tiobon.Core.xml +++ b/Tiobon.Core/Tiobon.Core.xml @@ -1169,6 +1169,21 @@ + + + 模板栏位异动 + + + + + + + + 获取分组数据 + + + + Ghro_Dept(Controller)