Files
2-BeiqiFutian-MesProject/测量数据发动机在线状态_查询_是否二次确认是否工作.sql
2026-06-01 15:33:29 +08:00

65 lines
1.9 KiB
Transact-SQL

IF OBJECT_ID(N'[dbo].[测量数据发动机在线状态_查询_是否二次确认是否工作]', N'P') IS NULL
BEGIN
EXEC(N'CREATE PROCEDURE [dbo].[测量数据发动机在线状态_查询_是否二次确认是否工作] AS BEGIN SET NOCOUNT ON; END')
END
GO
ALTER PROCEDURE [dbo].[测量数据发动机在线状态_查询_是否二次确认是否工作]
@工位号 nvarchar(50) = null,
@订单号 nvarchar(50) = null,
@总成号 nvarchar(50) = null
AS
BEGIN
SET NOCOUNT ON;
declare @返修工位号 nvarchar(100) = N''
declare @故障文本 nvarchar(1000) = N''
declare @弹窗文本 nvarchar(1200) = N''
-- 返修线返修优先:当前 MA 工位,且该工件存在 ET 工位返工记录。
IF (@工位号 LIKE N'J07MA%')
BEGIN
SELECT TOP 1
@返修工位号 = ISNULL([工位号], N''),
@故障文本 = ISNULL([故障文本], N'')
FROM [dbo].[北汽福田返工_记录]
WHERE [总成号] = @总成号
AND [工位号] LIKE N'J07ET%'
ORDER BY [操作时间] DESC, [ID] DESC
IF (@返修工位号 != N'')
BEGIN
SET @弹窗文本 = N'该工件在' + @返修工位号 + N'工位不合格,不合格故障文本:' + @故障文本 + N',请选择操作方式'
SELECT
1 AS result,
REPLACE(REPLACE(@弹窗文本, N'|', N' '), N'&', N' ') AS msg,
N'#ff0000' AS color,
N'测试线返修' AS reasonType
RETURN
END
END
IF EXISTS (
SELECT 1
FROM [dbo].[测量数据发动机在线状态]
WHERE [工位号] = @工位号
AND [订单号] = @订单号
AND [发动机号] = @总成号
)
BEGIN
SELECT
1 AS result,
N'该工件已工作完成 请选择操作方式' AS msg,
N'#ffcc00' AS color,
N'已工作' AS reasonType
RETURN
END
SELECT
2 AS result,
N'' AS msg,
N'#ff0000' AS color,
N'' AS reasonType
END