82 lines
2.8 KiB
Transact-SQL
82 lines
2.8 KiB
Transact-SQL
USE [YL_MESDB]
|
|
GO
|
|
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE [dbo].[异常提醒_装配及时送检_查询]
|
|
@订单号 int = 0,
|
|
@合同号 nvarchar(50) = N'',
|
|
@产品编码 nvarchar(50) = N'',
|
|
@产品名称 nvarchar(50) = N'',
|
|
@工序名称 nvarchar(50) = N'',
|
|
@辅助配件 nvarchar(50) = N'不含'
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
;WITH 装配任务 AS (
|
|
SELECT
|
|
CASE WHEN v.[物料描述] LIKE N'%系统%' THEN N'系统类' ELSE N'阀类' END AS 任务类型,
|
|
v.[合同号],
|
|
v.[订单编号] AS 订单号,
|
|
v.[物料编号] AS 产品编码,
|
|
v.[物料描述] AS 产品名称,
|
|
TRIM('.' FROM TRIM('0' FROM CAST(v.[计划数量] AS varchar(30)))) AS 计划数量,
|
|
v.[工序名称],
|
|
v.[指派对象],
|
|
v.[计划开始时间],
|
|
v.[计划完成时间],
|
|
v.[齐套时间],
|
|
v.[钣金预达时间],
|
|
CASE
|
|
WHEN v.[物料描述] LIKE N'%系统%'
|
|
THEN ISNULL(v.[预计送检日期], DATEADD(DAY, 3, v.[钣金预达时间]))
|
|
ELSE ISNULL(v.[预计送检日期], DATEADD(DAY, 3, v.[齐套时间]))
|
|
END AS 预计送检日期,
|
|
CASE WHEN ISNULL(v.[加急状态], 0) = 1 THEN N'加急' ELSE N'' END AS 加急状态
|
|
FROM [dbo].[View_生产订单_MES] v
|
|
WHERE v.[物料类型] = 'pit_Resource'
|
|
AND v.[自制件属性] LIKE N'%装配%'
|
|
AND ISNULL(v.[任务状态], 0) < 4
|
|
AND (@订单号 <= 0 OR v.[订单编号] = @订单号)
|
|
AND (@合同号 = N'' OR v.[合同号] LIKE N'%' + @合同号 + N'%')
|
|
AND (@产品编码 = N'' OR v.[物料编号] LIKE N'%' + @产品编码 + N'%')
|
|
AND (@产品名称 = N'' OR v.[物料描述] LIKE N'%' + @产品名称 + N'%')
|
|
AND (@工序名称 = N'' OR v.[工序名称] = @工序名称)
|
|
AND (
|
|
@辅助配件 <> N'不含'
|
|
OR (
|
|
v.[物料描述] NOT LIKE N'%软管总成%'
|
|
AND v.[物料描述] NOT LIKE N'%发货部件%'
|
|
)
|
|
)
|
|
AND v.[不装配] <> N'否'
|
|
)
|
|
SELECT
|
|
任务类型,
|
|
合同号,
|
|
订单号,
|
|
产品编码,
|
|
产品名称,
|
|
计划数量,
|
|
工序名称,
|
|
指派对象,
|
|
计划开始时间,
|
|
计划完成时间,
|
|
齐套时间,
|
|
钣金预达时间,
|
|
预计送检日期,
|
|
加急状态
|
|
FROM 装配任务
|
|
WHERE 预计送检日期 IS NOT NULL
|
|
AND CONVERT(date, 预计送检日期) <= CONVERT(date, GETDATE())
|
|
ORDER BY
|
|
CONVERT(date, 预计送检日期),
|
|
CASE WHEN 加急状态 = N'加急' THEN 0 ELSE 1 END,
|
|
订单号;
|
|
END
|
|
GO
|