Files
52-NingdePDC-MES_Web_manager/中控参数维护模块.sql
2026-06-10 18:55:11 +08:00

215 lines
6.7 KiB
Transact-SQL

-- 中控参数维护模块注册及存储过程脚本
-- 执行前请确认当前数据库为 AMES_PDC。
IF NOT EXISTS (
SELECT 1
FROM 基础表_模块信息
WHERE path = 'ProcessParameterMaintenance/CentralControlParameterMaintenance'
)
BEGIN
INSERT INTO 基础表_模块信息 (path, component, name, title, icon, 是否禁用)
VALUES ('ProcessParameterMaintenance/CentralControlParameterMaintenance', '/ProcessParameterMaintenance/CentralControlParameterMaintenance', 'CentralControlParameterMaintenance', N'中控参数维护模块', 'BasicDataManagement', 0)
END
GO
IF OBJECT_ID(N'[dbo].[中控参数维护_特殊工位定义_分页查询]', N'P') IS NOT NULL
DROP PROCEDURE [dbo].[中控参数维护_特殊工位定义_分页查询]
GO
CREATE PROCEDURE [dbo].[中控参数维护_特殊工位定义_分页查询]
@类型 nvarchar(50) = null,
@工位列表 nvarchar(50) = null,
@PageCurrent int = null,
@PageSize int = null,
@PageCount int = null output,
@ItemCount int = null output
AS
SET NOCOUNT ON
declare @tbname sysname
declare @fieldkey sysname
declare @where nvarchar(1000)
declare @fieldshow nvarchar(1000)
declare @fieldOrder nvarchar(1000)
set @tbname = 'MES_特殊工位定义表'
set @fieldkey = 'type'
set @fieldOrder = 'type'
set @fieldshow = '[type],[opList]'
set @where = '1 = 1'
if @类型 != '' set @where = @where + ' and type like ''%' + @类型 + '%'''
if @工位列表 != '' set @where = @where + ' and opList like ''%' + @工位列表 + '%'''
exec sp_xt_pagesplit @tbname, @fieldkey, @where, @fieldshow, @fieldOrder, @PageCurrent, @PageSize, @PageCount out, @ItemCount out
GO
IF OBJECT_ID(N'[dbo].[中控参数维护_特殊工位定义_增加]', N'P') IS NOT NULL
DROP PROCEDURE [dbo].[中控参数维护_特殊工位定义_增加]
GO
CREATE PROCEDURE [dbo].[中控参数维护_特殊工位定义_增加]
@类型 nvarchar(50) = null,
@工位列表 nvarchar(500) = null
AS
SET NOCOUNT ON
IF (SELECT COUNT(1) FROM MES_特殊工位定义表 WHERE [type] = @类型) > 0
BEGIN
SELECT 2 as result, N'类型已存在' as msg
RETURN
END
INSERT INTO MES_特殊工位定义表 ([type], [opList])
VALUES (@类型, @工位列表)
SELECT 1 as result, N'' as msg
GO
IF OBJECT_ID(N'[dbo].[中控参数维护_特殊工位定义_编辑]', N'P') IS NOT NULL
DROP PROCEDURE [dbo].[中控参数维护_特殊工位定义_编辑]
GO
CREATE PROCEDURE [dbo].[中控参数维护_特殊工位定义_编辑]
@类型 nvarchar(50) = null,
@工位列表 nvarchar(500) = null
AS
SET NOCOUNT ON
UPDATE MES_特殊工位定义表 SET
[opList] = @工位列表
WHERE [type] = @类型
SELECT 1 as result, N'' as msg
GO
IF OBJECT_ID(N'[dbo].[中控参数维护_特殊工位定义_删除]', N'P') IS NOT NULL
DROP PROCEDURE [dbo].[中控参数维护_特殊工位定义_删除]
GO
CREATE PROCEDURE [dbo].[中控参数维护_特殊工位定义_删除]
@类型 nvarchar(50) = null
AS
SET NOCOUNT ON
IF (SELECT COUNT(1) FROM MES_特殊工位规则配置表 WHERE [type] = @类型) > 0
BEGIN
SELECT 2 as result, N'该类型已配置规则,不能删除' as msg
RETURN
END
DELETE FROM MES_特殊工位定义表 WHERE [type] = @类型
SELECT 1 as result, N'' as msg
GO
IF OBJECT_ID(N'[dbo].[中控参数维护_特殊工位规则_分页查询]', N'P') IS NOT NULL
DROP PROCEDURE [dbo].[中控参数维护_特殊工位规则_分页查询]
GO
CREATE PROCEDURE [dbo].[中控参数维护_特殊工位规则_分页查询]
@类型 nvarchar(50) = null,
@工位 nvarchar(50) = null,
@规则键 nvarchar(50) = null,
@启用 nvarchar(10) = null,
@PageCurrent int = null,
@PageSize int = null,
@PageCount int = null output,
@ItemCount int = null output
AS
SET NOCOUNT ON
declare @tbname sysname
declare @fieldkey sysname
declare @where nvarchar(1000)
declare @fieldshow nvarchar(1000)
declare @fieldOrder nvarchar(1000)
set @tbname = 'MES_特殊工位规则配置表'
set @fieldkey = 'id'
set @fieldOrder = 'id'
set @fieldshow = '[id],[type],[opName],[ruleKey],[ruleValue],[enable],[remark]'
set @where = '1 = 1'
if @类型 != '' set @where = @where + ' and type = ''' + @类型 + ''''
if @工位 != '' set @where = @where + ' and opName like ''%' + @工位 + '%'''
if @规则键 != '' set @where = @where + ' and ruleKey like ''%' + @规则键 + '%'''
if @启用 != '' set @where = @where + ' and enable = ' + @启用
exec sp_xt_pagesplit @tbname, @fieldkey, @where, @fieldshow, @fieldOrder, @PageCurrent, @PageSize, @PageCount out, @ItemCount out
GO
IF OBJECT_ID(N'[dbo].[中控参数维护_特殊工位规则_增加]', N'P') IS NOT NULL
DROP PROCEDURE [dbo].[中控参数维护_特殊工位规则_增加]
GO
CREATE PROCEDURE [dbo].[中控参数维护_特殊工位规则_增加]
@ID nvarchar(50) = null,
@类型 nvarchar(50) = null,
@工位 nvarchar(50) = null,
@规则键 nvarchar(50) = null,
@规则值 nvarchar(500) = null,
@启用 bit = null,
@备注 nvarchar(200) = null
AS
SET NOCOUNT ON
IF (SELECT COUNT(1) FROM MES_特殊工位规则配置表 WHERE [type] = @类型 AND [opName] = @工位 AND [ruleKey] = @规则键) > 0
BEGIN
SELECT 2 as result, N'该类型、工位、规则键已存在' as msg
RETURN
END
INSERT INTO MES_特殊工位规则配置表 ([type], [opName], [ruleKey], [ruleValue], [enable], [remark])
VALUES (@类型, @工位, @规则键, @规则值, ISNULL(@启用, 1), @备注)
SELECT 1 as result, N'' as msg
GO
IF OBJECT_ID(N'[dbo].[中控参数维护_特殊工位规则_编辑]', N'P') IS NOT NULL
DROP PROCEDURE [dbo].[中控参数维护_特殊工位规则_编辑]
GO
CREATE PROCEDURE [dbo].[中控参数维护_特殊工位规则_编辑]
@ID int = null,
@类型 nvarchar(50) = null,
@工位 nvarchar(50) = null,
@规则键 nvarchar(50) = null,
@规则值 nvarchar(500) = null,
@启用 bit = null,
@备注 nvarchar(200) = null
AS
SET NOCOUNT ON
IF (SELECT COUNT(1) FROM MES_特殊工位规则配置表 WHERE [type] = @类型 AND [opName] = @工位 AND [ruleKey] = @规则键 AND [id] != @ID) > 0
BEGIN
SELECT 2 as result, N'该类型、工位、规则键已存在' as msg
RETURN
END
UPDATE MES_特殊工位规则配置表 SET
[type] = @类型,
[opName] = @工位,
[ruleKey] = @规则键,
[ruleValue] = @规则值,
[enable] = ISNULL(@启用, 1),
[remark] = @备注
WHERE [id] = @ID
SELECT 1 as result, N'' as msg
GO
IF OBJECT_ID(N'[dbo].[中控参数维护_特殊工位规则_删除]', N'P') IS NOT NULL
DROP PROCEDURE [dbo].[中控参数维护_特殊工位规则_删除]
GO
CREATE PROCEDURE [dbo].[中控参数维护_特殊工位规则_删除]
@ID int = null
AS
SET NOCOUNT ON
DELETE FROM MES_特殊工位规则配置表 WHERE [id] = @ID
SELECT 1 as result, N'' as msg
GO