增加特殊工位定义

This commit is contained in:
XingCheng3
2026-06-10 18:55:11 +08:00
parent 343e67fd69
commit f06d02e95d
2 changed files with 696 additions and 0 deletions

View File

@@ -0,0 +1,214 @@
-- 中控参数维护模块注册及存储过程脚本
-- 执行前请确认当前数据库为 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