feat(hjgl): 完善焊前检查和防腐检查流程

焊前检查需要同时覆盖下料、组对和防腐检查,并支持移动端查询与保存。
扩展焊前检查模型、服务和页面字段,补充检查结果、不合格原因、整改要求、
附件和防腐检查记录,便于按焊口和材料追溯检查过程。
This commit is contained in:
2026-07-07 10:40:21 +08:00
parent 02b524b895
commit bb6615ebb0
57 changed files with 5035 additions and 2057 deletions
@@ -0,0 +1,195 @@
INSERT INTO Sys_Menu (MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES (N'7B62483A-4B6F-4A8C-9C61-5D0E2B4B7C31',N'防腐检查记录',N'table',N'CLGL/AntiCorrosionCheckRecord.aspx',20,N'4E88A676-89E3-44EC-BF50-37BE5F09D903',N'Menu_HJGL',0,1,1);
GO
INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES (N'0A98FA4C-092A-4DB6-AE01-9FE68FFA7F6C',N'7B62483A-4B6F-4A8C-9C61-5D0E2B4B7C31',N'增加',2);
GO
INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES (N'D7C0E150-2335-4A2A-BED8-1D17BB4C0F56',N'7B62483A-4B6F-4A8C-9C61-5D0E2B4B7C31',N'保存',6);
GO
INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES (N'26894317-ED67-446E-8148-9C22A7546669',N'7B62483A-4B6F-4A8C-9C61-5D0E2B4B7C31',N'查询',1);
GO
INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES (N'17D8B2DC-B13D-4F9E-A2E5-750DD1B72763',N'7B62483A-4B6F-4A8C-9C61-5D0E2B4B7C31',N'删除',4);
GO
INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES (N'24D59456-1E9C-47D4-98CB-CF281889E951',N'7B62483A-4B6F-4A8C-9C61-5D0E2B4B7C31',N'修改',3);
GO
update Sys_Menu set MenuName='管道下料检查记录' where MenuId='D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F002'
GO
update Sys_Menu set MenuName='组对检查记录' where MenuId='D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F003'
GO
-- =========================================================
-- 质量工序管理:防腐 / 下料 / 组对检查记录
-- 说明:
-- 1. 除锈防腐记录独立建表,不关联焊口
-- 2. 下料、组对记录按焊口保存多条历史,不覆盖旧记录
-- 3. 所有脚本均增加注释,便于后续维护和迁移
-- =========================================================
-- =========================
-- 1. 新增除锈防腐记录表
-- =========================
IF OBJECT_ID('dbo.HJGL_AntiCorrosionCheckRecord', 'U') IS NULL
BEGIN
CREATE TABLE dbo.HJGL_AntiCorrosionCheckRecord
(
-- 主键
AntiCorrosionCheckId NVARCHAR(50) NOT NULL PRIMARY KEY,
-- 项目ID
ProjectId NVARCHAR(50) NOT NULL,
-- 单位工程ID
UnitWorkId NVARCHAR(50) NULL,
-- 材料主数据ID
MaterialId NVARCHAR(50) NULL,
-- 材料编码,防腐检查按材料维度追溯
MaterialCode NVARCHAR(50) NOT NULL,
-- 防腐等级
AnticorrosionLevel NVARCHAR(100) NULL,
-- 防腐代码字典ID,关联 Tw_PaintCodeDict.Id;中间漆、面漆等信息通过字典查询
PaintId NVARCHAR(50) NULL,
-- 膜厚
FilmThickness DECIMAL(18,2) NULL,
-- 喷砂信息
SandBlasting NVARCHAR(500) NULL,
-- 除锈喷砂信息
RustSandBlasting NVARCHAR(500) NULL,
-- 检查结果
CheckResult NVARCHAR(20) NOT NULL,
-- 检查人
CheckPerson NVARCHAR(50) NULL,
-- 检查时间
CheckTime DATETIME NOT NULL,
-- 不合格原因
UnqualifiedReason NVARCHAR(1000) NULL,
-- 整改要求
RectifyRequirement NVARCHAR(1000) NULL,
-- 备注
Remark NVARCHAR(1000) NULL,
-- 创建人
CreateUser NVARCHAR(50) NULL,
-- 创建时间
CreateTime DATETIME NOT NULL CONSTRAINT DF_HJGL_AntiCorrosionCheckRecord_CreateTime DEFAULT(GETDATE())
);
END;
GO
-- 材料维度查询索引
IF NOT EXISTS (
SELECT 1
FROM sys.indexes
WHERE name = 'IX_AntiCorrosionCheck_MaterialCode'
AND object_id = OBJECT_ID('dbo.HJGL_AntiCorrosionCheckRecord')
)
BEGIN
CREATE INDEX IX_AntiCorrosionCheck_MaterialCode
ON dbo.HJGL_AntiCorrosionCheckRecord(ProjectId, MaterialCode, CheckTime DESC);
END;
GO
-- =========================
-- 2. 扩展下料检查记录表
-- =========================
-- 下料长度
IF COL_LENGTH('dbo.HJGL_PreWeldCuttingCheck', 'CuttingLength') IS NULL
ALTER TABLE dbo.HJGL_PreWeldCuttingCheck ADD CuttingLength DECIMAL(18,2) NULL;
-- 坡口形式
IF COL_LENGTH('dbo.HJGL_PreWeldCuttingCheck', 'GrooveForm') IS NULL
ALTER TABLE dbo.HJGL_PreWeldCuttingCheck ADD GrooveForm NVARCHAR(100) NULL;
-- 坡口角度
IF COL_LENGTH('dbo.HJGL_PreWeldCuttingCheck', 'GrooveAngle') IS NULL
ALTER TABLE dbo.HJGL_PreWeldCuttingCheck ADD GrooveAngle DECIMAL(18,2) NULL;
-- 检查结果
IF COL_LENGTH('dbo.HJGL_PreWeldCuttingCheck', 'CheckResult') IS NULL
ALTER TABLE dbo.HJGL_PreWeldCuttingCheck ADD CheckResult NVARCHAR(20) NULL;
-- 不合格原因
IF COL_LENGTH('dbo.HJGL_PreWeldCuttingCheck', 'UnqualifiedReason') IS NULL
ALTER TABLE dbo.HJGL_PreWeldCuttingCheck ADD UnqualifiedReason NVARCHAR(1000) NULL;
-- 整改要求
IF COL_LENGTH('dbo.HJGL_PreWeldCuttingCheck', 'RectifyRequirement') IS NULL
ALTER TABLE dbo.HJGL_PreWeldCuttingCheck ADD RectifyRequirement NVARCHAR(1000) NULL;
-- 下料记录按焊口和时间查询索引
IF NOT EXISTS (
SELECT 1
FROM sys.indexes
WHERE name = 'IX_PreWeldCuttingCheck_WeldJoint_Time'
AND object_id = OBJECT_ID('dbo.HJGL_PreWeldCuttingCheck')
)
BEGIN
CREATE INDEX IX_PreWeldCuttingCheck_WeldJoint_Time
ON dbo.HJGL_PreWeldCuttingCheck(WeldJointId, CheckTime DESC);
END;
GO
-- =========================
-- 3. 扩展组对检查记录表
-- =========================
-- 焊缝余高
IF COL_LENGTH('dbo.HJGL_PreWeldFitupCheck', 'WeldReinforcement') IS NULL
ALTER TABLE dbo.HJGL_PreWeldFitupCheck ADD WeldReinforcement DECIMAL(18,2) NULL;
-- 焊缝高度
IF COL_LENGTH('dbo.HJGL_PreWeldFitupCheck', 'WeldHeight') IS NULL
ALTER TABLE dbo.HJGL_PreWeldFitupCheck ADD WeldHeight DECIMAL(18,2) NULL;
-- 焊缝宽度
IF COL_LENGTH('dbo.HJGL_PreWeldFitupCheck', 'WeldWidth') IS NULL
ALTER TABLE dbo.HJGL_PreWeldFitupCheck ADD WeldWidth DECIMAL(18,2) NULL;
-- 表面缺陷
IF COL_LENGTH('dbo.HJGL_PreWeldFitupCheck', 'SurfaceDefect') IS NULL
ALTER TABLE dbo.HJGL_PreWeldFitupCheck ADD SurfaceDefect NVARCHAR(500) NULL;
-- 检查结果
IF COL_LENGTH('dbo.HJGL_PreWeldFitupCheck', 'CheckResult') IS NULL
ALTER TABLE dbo.HJGL_PreWeldFitupCheck ADD CheckResult NVARCHAR(20) NULL;
-- 不合格原因
IF COL_LENGTH('dbo.HJGL_PreWeldFitupCheck', 'UnqualifiedReason') IS NULL
ALTER TABLE dbo.HJGL_PreWeldFitupCheck ADD UnqualifiedReason NVARCHAR(1000) NULL;
-- 整改要求
IF COL_LENGTH('dbo.HJGL_PreWeldFitupCheck', 'RectifyRequirement') IS NULL
ALTER TABLE dbo.HJGL_PreWeldFitupCheck ADD RectifyRequirement NVARCHAR(1000) NULL;
-- 组对记录按焊口和时间查询索引
IF NOT EXISTS (
SELECT 1
FROM sys.indexes
WHERE name = 'IX_PreWeldFitupCheck_WeldJoint_Time'
AND object_id = OBJECT_ID('dbo.HJGL_PreWeldFitupCheck')
)
BEGIN
CREATE INDEX IX_PreWeldFitupCheck_WeldJoint_Time
ON dbo.HJGL_PreWeldFitupCheck(WeldJointId, CheckTime DESC);
END;
--管线信息表增加防腐等级字段
IF COL_LENGTH('dbo.HJGL_Pipeline', 'PaintId') IS NULL
ALTER TABLE dbo.HJGL_Pipeline ADD PaintId NVARCHAR(20) NULL;
GO