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