u
This commit is contained in:
1 parent
4aaa93df7d
commit
c330e52fd3
66 files changed
+7386
-4
No files matched your search
@@ -0,0 +1,215 @@
|
||||
CREATE TABLE s_columnlib2 (
|
||||
-- 主键,自增
|
||||
b_id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
|
||||
-- 基本标识
|
||||
col_table_name VARCHAR(50) NOT NULL, -- 表名
|
||||
col_field_name VARCHAR(50) NOT NULL, -- 字段名
|
||||
col_field_name_v VARCHAR(50), -- 字段别名/显示名
|
||||
col_caption VARCHAR(50), -- 字段描述
|
||||
|
||||
-- 展示相关
|
||||
col_visible CHAR(1) DEFAULT '1', -- 是否可见
|
||||
col_width INT, -- 宽度
|
||||
col_position INT, -- 显示位置
|
||||
col_group_index INT, -- 分组编号
|
||||
col_color VARCHAR(50), -- 颜色
|
||||
col_display_format VARCHAR(50), -- 显示格式
|
||||
col_show_summary CHAR(1) DEFAULT '0', -- 是否统计汇总
|
||||
|
||||
-- 校验 / 默认
|
||||
col_allow_null CHAR(1) DEFAULT '1', -- 是否允许空值
|
||||
col_allow_repeat CHAR(1) DEFAULT '1', -- 是否允许重复
|
||||
col_allow_readonly CHAR(1) DEFAULT '0', -- 是否只读
|
||||
col_allow_reserve CHAR(1) DEFAULT '0', -- 是否保留字段
|
||||
col_default_value TEXT, -- 默认值
|
||||
|
||||
-- 查询相关
|
||||
col_search CHAR(1) DEFAULT '0', -- 是否可搜索
|
||||
col_search_order INT, -- 搜索顺序
|
||||
col_search_group_index INT, -- 搜索分组编号
|
||||
|
||||
-- 类型定义
|
||||
col_type VARCHAR(50), -- 字段类型
|
||||
col_show_property CHAR(1) DEFAULT '0', -- 显示属性
|
||||
|
||||
-- 编辑相关
|
||||
col_edit CHAR(1) DEFAULT '0', -- 是否可编辑
|
||||
col_edit_position INT, -- 编辑位置
|
||||
col_edit_width INT, -- 编辑宽度
|
||||
col_edit_height INT, -- 编辑高度
|
||||
col_edit_group_index INT, -- 编辑分组编号
|
||||
col_edit_batch CHAR(1) DEFAULT '0', -- 是否批量编辑
|
||||
col_edit_source_data VARCHAR(50), -- 编辑数据源表
|
||||
col_edit_source_field VARCHAR(50), -- 编辑数据源字段
|
||||
|
||||
-- 唯一约束
|
||||
CONSTRAINT uk_tablename_fieldname UNIQUE (col_table_name, col_field_name)
|
||||
);
|
||||
|
||||
INSERT INTO s_columnlib (
|
||||
col_table_name,
|
||||
col_field_name,
|
||||
col_field_name_v,
|
||||
col_caption,
|
||||
col_width,
|
||||
col_visible,
|
||||
col_position,
|
||||
col_show_summary,
|
||||
col_group_index,
|
||||
col_allow_null,
|
||||
col_allow_repeat,
|
||||
col_default_value,
|
||||
col_allow_readonly,
|
||||
col_color,
|
||||
col_search,
|
||||
col_search_order,
|
||||
col_allow_reserve,
|
||||
col_display_format,
|
||||
col_search_group_index,
|
||||
col_type,
|
||||
col_show_property,
|
||||
col_edit,
|
||||
col_edit_position,
|
||||
col_edit_width,
|
||||
col_edit_height,
|
||||
col_edit_group_index,
|
||||
col_edit_batch,
|
||||
col_edit_source_data,
|
||||
col_edit_source_field
|
||||
)
|
||||
SELECT
|
||||
col_TableName,
|
||||
col_FieldName,
|
||||
col_FieldName_v,
|
||||
col_Caption,
|
||||
TRY_CAST(col_Width AS INT) AS col_width,
|
||||
col_Visible,
|
||||
TRY_CAST(col_Position AS INT) AS col_position,
|
||||
col_ShowSummary,
|
||||
TRY_CAST(col_BandIndex AS INT) AS col_group_index, -- 分组编号
|
||||
col_AllowNull,
|
||||
col_AllowRepeat,
|
||||
col_DefaultValue,
|
||||
col_ReadOnly,
|
||||
col_Color,
|
||||
col_CanSearch, -- 是否可搜索
|
||||
TRY_CAST(col_SearchOrder AS INT) AS col_search_order, -- 搜索顺序
|
||||
col_NeedReserve, -- 保留字段
|
||||
col_DisplayFormat,
|
||||
TRY_CAST(col_SearchGroupIndex AS INT) AS col_search_group_index,
|
||||
col_type,
|
||||
col_edit_type,
|
||||
col_ShowDetail, -- 显示属性
|
||||
col_edit,
|
||||
TRY_CAST(col_edit_position AS INT) AS col_edit_position,
|
||||
TRY_CAST(col_edit_width AS INT) AS col_edit_width,
|
||||
TRY_CAST(col_edit_height AS INT) AS col_edit_height,
|
||||
TRY_CAST(col_edit_grouping AS INT) AS col_edit_group_index, -- 编辑分组编号
|
||||
col_edit_batch,
|
||||
col_edit_source_table, -- 编辑数据源表
|
||||
col_edit_source_field
|
||||
FROM s_columnLib3
|
||||
WHERE
|
||||
-- 只保留关键字段不为空的行,例如表名和字段名必须有值
|
||||
col_TableName IS NOT NULL AND col_FieldName IS NOT NULL;
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[G3_CheckColumnSettings_New]
|
||||
@viewname SYSNAME
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
/* ========== 1. 取视图 / 表字段 ========== */
|
||||
DECLARE @Tmp TABLE (name SYSNAME);
|
||||
|
||||
INSERT INTO @Tmp (name)
|
||||
SELECT c.name
|
||||
FROM sys.columns c
|
||||
WHERE c.object_id = OBJECT_ID(@viewname);
|
||||
|
||||
/* ========== 2. 删除不存在的字段配置 ========== */
|
||||
DELETE s
|
||||
FROM s_columnLib s
|
||||
WHERE s.col_table_name = @viewname
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM @Tmp t
|
||||
WHERE t.name = s.col_field_name
|
||||
);
|
||||
|
||||
/* ========== 3. 计算起始 position ========== */
|
||||
DECLARE @startPos INT;
|
||||
SELECT @startPos = ISNULL(MAX(col_position), 0) + 10
|
||||
FROM s_columnLib
|
||||
WHERE col_table_name = @viewname;
|
||||
|
||||
/* ========== 4. 插入新增字段配置 ========== */
|
||||
INSERT INTO s_columnLib (
|
||||
col_table_name,
|
||||
col_field_name,
|
||||
col_field_name_v,
|
||||
col_caption,
|
||||
col_width,
|
||||
col_visible,
|
||||
col_position,
|
||||
col_show_summary,
|
||||
col_group_index,
|
||||
col_allow_null,
|
||||
col_allow_repeat,
|
||||
col_allow_readonly,
|
||||
col_allow_reserve,
|
||||
col_default_value,
|
||||
col_search,
|
||||
col_search_order,
|
||||
col_search_group_index,
|
||||
col_type,
|
||||
col_show_property,
|
||||
col_edit,
|
||||
col_edit_position,
|
||||
col_edit_width,
|
||||
col_edit_height,
|
||||
col_edit_group_index,
|
||||
col_edit_batch,
|
||||
col_edit_source_data,
|
||||
col_edit_source_field,
|
||||
col_display_format
|
||||
)
|
||||
SELECT
|
||||
@viewname,
|
||||
t.name,
|
||||
'', -- col_field_name_v 默认空
|
||||
t.name, -- col_caption 默认用字段名
|
||||
60, -- col_width 默认 60
|
||||
'1', -- col_visible 默认显示
|
||||
@startPos + ROW_NUMBER() OVER (ORDER BY t.name) * 10,
|
||||
'0', -- col_show_summary 默认 0
|
||||
0, -- col_group_index 默认 0
|
||||
'1', -- col_allow_null 默认允许
|
||||
'1', -- col_allow_repeat 默认允许
|
||||
'0', -- col_allow_readonly 默认不只读
|
||||
'0', -- col_allow_reserve 默认 0
|
||||
'', -- col_default_value 默认空
|
||||
'0', -- col_search 默认 0
|
||||
0, -- col_search_index 默认 0
|
||||
0,
|
||||
'', -- col_type 默认空
|
||||
'0', -- col_show_property 默认 0
|
||||
'0', -- col_edit 默认 0
|
||||
0, -- col_edit_position 默认 0
|
||||
0, -- col_edit_width 默认 0
|
||||
0, -- col_edit_height 默认 0
|
||||
0, -- col_edit_group_index 默认 0
|
||||
'0', -- col_edit_batch 默认 0
|
||||
'', -- col_edit_source_data 默认空
|
||||
'', -- col_edit_source_field 默认空
|
||||
'' -- col_display_format 默认空
|
||||
FROM @Tmp t
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM s_columnLib s
|
||||
WHERE s.col_table_name = @viewname
|
||||
AND s.col_field_name = t.name
|
||||
);
|
||||
END
|
||||
Reference in new issue
Block a user