临时提交

This commit is contained in:
2026-09-04 14:31:07 +08:00
parent 8b13fc67ab
commit 9bce0d340f
5 changed files with 151 additions and 8 deletions
@@ -0,0 +1,54 @@
-- =====================================================================
-- 安全巡检记录表:增加 巡检人ID、签收人ID
-- 说明:巡检人名称(PatrolMan)、签收人名称(Receiver)列已存在,忽略。
-- 本次仅补齐 巡检人ID(PatrolManId)、签收人ID(ReceiverId)。
-- 幂等:若列已存在则跳过(存在忽略,不存在则加入),可重复执行。
-- =====================================================================
-- 巡检人ID
IF NOT EXISTS (
SELECT 1 FROM sys.columns
WHERE object_id = OBJECT_ID(N'[dbo].[HSSE_SafetyPatrol]') AND name = N'PatrolManId'
)
BEGIN
ALTER TABLE [dbo].[HSSE_SafetyPatrol] ADD [PatrolManId] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL;
END
GO
-- 签收人ID
IF NOT EXISTS (
SELECT 1 FROM sys.columns
WHERE object_id = OBJECT_ID(N'[dbo].[HSSE_SafetyPatrol]') AND name = N'ReceiverId'
)
BEGIN
ALTER TABLE [dbo].[HSSE_SafetyPatrol] ADD [ReceiverId] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL;
END
GO
-- 巡检人ID 中文注释(幂等:注释不存在才添加)
IF NOT EXISTS (
SELECT 1 FROM sys.extended_properties
WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_SafetyPatrol]')
AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_SafetyPatrol]'), N'PatrolManId', 'ColumnId')
AND name = N'MS_Description'
)
EXEC sp_addextendedproperty
'MS_Description', N'巡检人ID',
'SCHEMA', N'dbo',
'TABLE', N'HSSE_SafetyPatrol',
'COLUMN', N'PatrolManId';
GO
-- 签收人ID 中文注释(幂等:注释不存在才添加)
IF NOT EXISTS (
SELECT 1 FROM sys.extended_properties
WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_SafetyPatrol]')
AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_SafetyPatrol]'), N'ReceiverId', 'ColumnId')
AND name = N'MS_Description'
)
EXEC sp_addextendedproperty
'MS_Description', N'签收人ID',
'SCHEMA', N'dbo',
'TABLE', N'HSSE_SafetyPatrol',
'COLUMN', N'ReceiverId';
GO
@@ -0,0 +1,53 @@
-- =====================================================================
-- 安全巡检记录表:增加 编码(Code) 字段
-- 说明:编码全局唯一(前缀 XJ- + 三位递增序号,如 XJ-001)。
-- 移动端/桌面端新增时由服务自动生成,编码不可重复。
-- 幂等:若列已存在则跳过;若唯一索引已存在则跳过,可重复执行。
-- =====================================================================
-- 编码列
IF NOT EXISTS (
SELECT 1 FROM sys.columns
WHERE object_id = OBJECT_ID(N'[dbo].[HSSE_SafetyPatrol]') AND name = N'Code'
)
BEGIN
ALTER TABLE [dbo].[HSSE_SafetyPatrol] ADD [Code] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL;
END
GO
-- 为已有记录回填编码(按巡检日期升序,序号从 1 开始,前缀 XJ-)
UPDATE c
SET c.Code = N'XJ-' + FORMAT(t.rn, 'D3')
FROM [dbo].[HSSE_SafetyPatrol] c
INNER JOIN (
SELECT PatrolId,
ROW_NUMBER() OVER (ORDER BY PatrolDate, PatrolId) AS rn
FROM [dbo].[HSSE_SafetyPatrol]
WHERE Code IS NULL
) t ON c.PatrolId = t.PatrolId;
GO
-- 编码唯一索引
IF NOT EXISTS (
SELECT 1 FROM sys.indexes
WHERE object_id = OBJECT_ID(N'[dbo].[HSSE_SafetyPatrol]') AND name = N'UX_HSSE_SafetyPatrol_Code'
)
BEGIN
CREATE UNIQUE INDEX [UX_HSSE_SafetyPatrol_Code]
ON [dbo].[HSSE_SafetyPatrol] ([Code]);
END
GO
-- 编码 中文注释(幂等:注释不存在才添加)
IF NOT EXISTS (
SELECT 1 FROM sys.extended_properties
WHERE major_id = OBJECT_ID(N'[dbo].[HSSE_SafetyPatrol]')
AND minor_id = COLUMNPROPERTY(OBJECT_ID(N'[dbo].[HSSE_SafetyPatrol]'), N'Code', 'ColumnId')
AND name = N'MS_Description'
)
EXEC sp_addextendedproperty
'MS_Description', N'编码(全局唯一,格式 XJ-序号,自动生成)',
'SCHEMA', N'dbo',
'TABLE', N'HSSE_SafetyPatrol',
'COLUMN', N'Code';
GO