临时提交

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
+8 -8
View File
@@ -1,33 +1,33 @@
@echo off @echo off
REM --------------- REM ---------------
REM 发布包生成工具 REM ɹ
REM 执行此文件前请先用Release生成WebOA项目 REM ִдļǰReleaseWebOAĿ
REM -------------- REM --------------
REM -------------- REM --------------
REM 环境变量设置 Project_Src为如WebOA这样的分支 REM Project_SrcΪWebOAķ֧
REM -------------- REM --------------
set PROJECT_SRC=%CD% set PROJECT_SRC=%CD%
cd.. cd..
REM 源代码Model项目文件夹 REM ԴModelĿļ
set Model_ROOT=%PROJECT_SRC%\SGGL\Model set Model_ROOT=%PROJECT_SRC%\SGGL\Model
REM -------------- REM --------------
REM 发布程序包文件夹相关 REM ļ
REM -------------- REM --------------
@echo 设置.net控制台环境 @echo .net̨
@echo. @echo.
@call "%VS100COMNTOOLS%"vsvars32.bat @call "%VS100COMNTOOLS%"vsvars32.bat
SqlMetal /views /server:.\SQL2022 /database:SGGLDB_HBAZ /code:%Model_ROOT%\Model.cs /namespace:Model SqlMetal /views /server:DESKTOP-B3C9LJ1 /user:sa /password:303303 /database:SGGLDB_HBAZ /code:%Model_ROOT%\Model.cs /namespace:Model
@ECHO 完成 @ECHO
pause pause
@@ -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
@@ -0,0 +1,35 @@
-- =====================================================================
-- 安全巡检:工程名称 = 监督巡视部位,移除冗余字段 PatrolLocation
-- 背景:`监督巡视部位` 实际取自危大超危工程(HazardProjectName),
-- 与 `工程名称` 为同一概念。PC 端/小程序均已下拉选择危大超危工程。
-- 原表冗余保存 PatrolLocation,且其值恒等于 HazardProjectName。
-- 影响:本脚本删除 dbo.HSSE_SafetyPatrol.PatrolLocation 列。
-- 因该列历史值与 HazardProjectName 相同,删除不丢失有效信息。
-- 执行前请先备份数据库。
-- =====================================================================
USE [SGGLDB]
GO
-- 1) 校验:该列是否与工程名称冗余(值均等于 HazardProjectName);如返回 >0 请先人工确认
SELECT COUNT(*) AS OTHERS
FROM dbo.HSSE_SafetyPatrol
WHERE ISNULL(PatrolLocation, '') <> ISNULL(HazardProjectName, '')
-- 2) 动态删除该列上的默认值约束(如存在)
GO
DECLARE @df NVARCHAR(200)
SELECT @df = dc.name
FROM sys.default_constraints dc
INNER JOIN sys.columns c ON c.object_id = dc.parent_object_id AND c.column_id = dc.parent_column_id
WHERE dc.parent_object_id = OBJECT_ID('dbo.HSSE_SafetyPatrol') AND c.name = 'PatrolLocation'
IF @df IS NOT NULL
BEGIN
EXEC(N'ALTER TABLE [dbo].[HSSE_SafetyPatrol] DROP CONSTRAINT [' + @df + N']')
END
-- 3) 删除冗余列
GO
ALTER TABLE [dbo].[HSSE_SafetyPatrol]
DROP COLUMN [PatrolLocation]
GO
+1
View File
@@ -0,0 +1 @@