feat: 完善计划发货与设计任务功能

This commit is contained in:
2026-07-21 09:20:19 +08:00
parent e31027aa9d
commit 8fdd0b6803
11 changed files with 1845 additions and 53 deletions

View File

@@ -0,0 +1,308 @@
USE [YL_MESDB];
GO
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
CREATE OR ALTER PROCEDURE [dbo].[_工时报表_任务工时_查询]
@ nvarchar(30) = N'',
@ nvarchar(30) = N'',
@ nvarchar(100) = N'',
@ nvarchar(100) = N'',
@ nvarchar(100) = N'',
@ nvarchar(100) = N'',
@DID int = NULL,
@ nvarchar(100) = N'',
@ nvarchar(100) = N''
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ datetime = TRY_CONVERT(datetime, NULLIF(@, N''));
DECLARE @ datetime = TRY_CONVERT(datetime, NULLIF(@, N''));
DECLARE @ bit = CASE WHEN EXISTS
(
SELECT 1
FROM [dbo].[_角色信息]
WHERE CONVERT(nvarchar(100), [Roles_number]) = @
AND ([Roles_Function] LIKE N'%领导%' OR [Roles_Function] LIKE N'%管理员%')
) THEN 1 ELSE 0 END;
;WITH base AS
(
SELECT
r.[RID],
r.[DID],
ISNULL(r.[], N'') AS [],
t.[],
t.[],
t.[],
t.[],
t.[],
t.[],
r.[],
r.[],
ISNULL(r.[], 0) AS [],
r.[],
r.[],
r.[]
FROM [dbo].[MES_设计报工_记录] AS r
INNER JOIN [dbo].[MES_设计报工_任务] AS t ON r.[DID] = t.[DID]
WHERE
r.[] IS NOT NULL
AND r.[] IS NOT NULL
AND (@ IS NULL OR r.[] >= @)
AND (@ IS NULL OR r.[] < DATEADD(day, 1, @))
AND (ISNULL(@, N'') = N'' OR r.[] LIKE N'%' + @ + N'%')
AND (ISNULL(@, N'') = N'' OR t.[] LIKE N'%' + @ + N'%')
AND (ISNULL(@, N'') = N'' OR t.[] LIKE N'%' + @ + N'%')
AND (ISNULL(@, N'') = N'' OR t.[] LIKE N'%' + @ + N'%')
AND (@DID IS NULL OR @DID = 0 OR r.[DID] = @DID)
AND
(
@ = 1
OR
(
NULLIF(LTRIM(RTRIM(@)), N'') IS NOT NULL
AND
(
ISNULL(t.[], N'') = LTRIM(RTRIM(@))
OR ISNULL(r.[], N'') = LTRIM(RTRIM(@))
)
)
)
),
result AS
(
SELECT
1 AS [Level],
N't-' + CAST([DID] AS nvarchar(20)) AS [id],
CAST(N'' AS nvarchar(120)) AS [parentId],
CAST(N'' AS nvarchar(100)) AS [],
CAST(N'' AS nvarchar(20)) AS [],
CAST(NULL AS int) AS [RID],
[DID],
ISNULL(MAX([]), N'') AS [],
ISNULL(MAX([]), N'') AS [],
ISNULL(MAX([]), N'') AS [],
ISNULL(MAX([]), N'') AS [],
ISNULL(MAX([]), N'') AS [],
ISNULL(MAX([]), N'') AS [],
CONVERT(varchar(19), MIN([]), 120) AS [],
CONVERT(varchar(19), MAX([]), 120) AS [],
COUNT(1) AS [],
CAST(SUM([]) / 3600.0 AS decimal(18, 2)) AS [],
CASE
WHEN SUM(CONVERT(int, [])) = COUNT(1) THEN N'已校验'
WHEN SUM(CONVERT(int, [])) = 0 THEN N'未校验'
ELSE N'部分校验'
END AS [],
ISNULL(STRING_AGG(
CASE WHEN NULLIF(LTRIM(RTRIM([])), N'') IS NOT NULL
THEN CONVERT(nvarchar(max), CONVERT(nvarchar(19), [], 120) + NCHAR(13) + NCHAR(10) + []) END,
NCHAR(13) + NCHAR(10) + NCHAR(13) + NCHAR(10)
) WITHIN GROUP (ORDER BY [], [RID]), N'') AS [],
ISNULL(STRING_AGG(
CASE WHEN NULLIF(LTRIM(RTRIM([])), N'') IS NOT NULL
THEN CONVERT(nvarchar(max), []) END,
NCHAR(13) + NCHAR(10)
) WITHIN GROUP (ORDER BY [], [RID]), N'') AS []
FROM base
GROUP BY [DID]
UNION ALL
SELECT
2 AS [Level],
N't-' + CAST([DID] AS nvarchar(20)) + N'-o-' + [] AS [id],
N't-' + CAST([DID] AS nvarchar(20)) AS [parentId],
[],
CAST(N'' AS nvarchar(20)) AS [],
CAST(NULL AS int) AS [RID],
[DID],
CAST(N'' AS nvarchar(100)) AS [],
CAST(N'' AS nvarchar(100)) AS [],
CAST(N'' AS nvarchar(200)) AS [],
CAST(N'' AS nvarchar(100)) AS [],
CAST(N'' AS nvarchar(100)) AS [],
CAST(N'' AS nvarchar(500)) AS [],
CONVERT(varchar(19), MIN([]), 120) AS [],
CONVERT(varchar(19), MAX([]), 120) AS [],
COUNT(1) AS [],
CAST(SUM([]) / 3600.0 AS decimal(18, 2)) AS [],
CASE
WHEN SUM(CONVERT(int, [])) = COUNT(1) THEN N'已校验'
WHEN SUM(CONVERT(int, [])) = 0 THEN N'未校验'
ELSE N'部分校验'
END AS [],
ISNULL(STRING_AGG(
CASE WHEN NULLIF(LTRIM(RTRIM([])), N'') IS NOT NULL
THEN CONVERT(nvarchar(max), CONVERT(nvarchar(19), [], 120) + NCHAR(13) + NCHAR(10) + []) END,
NCHAR(13) + NCHAR(10) + NCHAR(13) + NCHAR(10)
) WITHIN GROUP (ORDER BY [], [RID]), N'') AS [],
ISNULL(STRING_AGG(
CASE WHEN NULLIF(LTRIM(RTRIM([])), N'') IS NOT NULL
THEN CONVERT(nvarchar(max), []) END,
NCHAR(13) + NCHAR(10)
) WITHIN GROUP (ORDER BY [], [RID]), N'') AS []
FROM base
GROUP BY [DID], []
)
SELECT *
FROM result
ORDER BY [DID] DESC, [Level], [];
END
GO
CREATE OR ALTER PROCEDURE [dbo].[_工时报表_作业者工时_查询]
@ nvarchar(30) = N'',
@ nvarchar(30) = N'',
@ nvarchar(100) = N'',
@ nvarchar(100) = N'',
@ nvarchar(100) = N'',
@ nvarchar(100) = N'',
@DID int = NULL,
@ nvarchar(100) = N'',
@ nvarchar(100) = N''
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ datetime = TRY_CONVERT(datetime, NULLIF(@, N''));
DECLARE @ datetime = TRY_CONVERT(datetime, NULLIF(@, N''));
DECLARE @ bit = CASE WHEN EXISTS
(
SELECT 1
FROM [dbo].[_角色信息]
WHERE CONVERT(nvarchar(100), [Roles_number]) = @
AND ([Roles_Function] LIKE N'%领导%' OR [Roles_Function] LIKE N'%管理员%')
) THEN 1 ELSE 0 END;
;WITH base AS
(
SELECT
r.[RID],
r.[DID],
ISNULL(r.[], N'') AS [],
CONVERT(varchar(10), r.[], 120) AS [],
t.[],
t.[],
t.[],
t.[],
t.[],
t.[],
r.[],
r.[],
ISNULL(r.[], 0) AS [],
r.[],
r.[],
r.[]
FROM [dbo].[MES_设计报工_记录] AS r
INNER JOIN [dbo].[MES_设计报工_任务] AS t ON r.[DID] = t.[DID]
WHERE
r.[] IS NOT NULL
AND r.[] IS NOT NULL
AND (@ IS NULL OR r.[] >= @)
AND (@ IS NULL OR r.[] < DATEADD(day, 1, @))
AND (ISNULL(@, N'') = N'' OR r.[] LIKE N'%' + @ + N'%')
AND (ISNULL(@, N'') = N'' OR t.[] LIKE N'%' + @ + N'%')
AND (ISNULL(@, N'') = N'' OR t.[] LIKE N'%' + @ + N'%')
AND (ISNULL(@, N'') = N'' OR t.[] LIKE N'%' + @ + N'%')
AND (@DID IS NULL OR @DID = 0 OR r.[DID] = @DID)
AND
(
@ = 1
OR
(
NULLIF(LTRIM(RTRIM(@)), N'') IS NOT NULL
AND
(
ISNULL(t.[], N'') = LTRIM(RTRIM(@))
OR ISNULL(r.[], N'') = LTRIM(RTRIM(@))
)
)
)
),
result AS
(
SELECT
1 AS [Level],
N'p-' + [] AS [id],
CAST(N'' AS nvarchar(100)) AS [parentId],
[],
CAST(N'' AS nvarchar(20)) AS [],
CAST(NULL AS int) AS [RID],
CAST(NULL AS int) AS [DID],
CAST(N'' AS nvarchar(100)) AS [],
CAST(N'' AS nvarchar(100)) AS [],
CAST(N'' AS nvarchar(200)) AS [],
CAST(N'' AS nvarchar(100)) AS [],
CAST(N'' AS nvarchar(100)) AS [],
CAST(N'' AS nvarchar(500)) AS [],
CAST(N'' AS varchar(19)) AS [],
CAST(N'' AS varchar(19)) AS [],
COUNT(1) AS [],
CAST(SUM([]) / 3600.0 AS decimal(18, 2)) AS [],
CAST(N'' AS nvarchar(20)) AS [],
CAST(N'' AS nvarchar(500)) AS [],
CAST(N'' AS nvarchar(500)) AS []
FROM base
GROUP BY []
UNION ALL
SELECT
2 AS [Level],
N'd-' + [] + N'-' + [] AS [id],
N'p-' + [] AS [parentId],
[],
[],
CAST(NULL AS int) AS [RID],
CAST(NULL AS int) AS [DID],
CAST(N'' AS nvarchar(100)) AS [],
CAST(N'' AS nvarchar(100)) AS [],
CAST(N'' AS nvarchar(200)) AS [],
CAST(N'' AS nvarchar(100)) AS [],
CAST(N'' AS nvarchar(100)) AS [],
CAST(N'' AS nvarchar(500)) AS [],
CAST(N'' AS varchar(19)) AS [],
CAST(N'' AS varchar(19)) AS [],
COUNT(1) AS [],
CAST(SUM([]) / 3600.0 AS decimal(18, 2)) AS [],
CAST(N'' AS nvarchar(20)) AS [],
CAST(N'' AS nvarchar(500)) AS [],
CAST(N'' AS nvarchar(500)) AS []
FROM base
GROUP BY [], []
UNION ALL
SELECT
3 AS [Level],
N'r-' + CAST([RID] AS nvarchar(20)) AS [id],
N'd-' + [] + N'-' + [] AS [parentId],
[],
[],
[RID],
[DID],
ISNULL([], N'') AS [],
ISNULL([], N'') AS [],
ISNULL([], N'') AS [],
ISNULL([], N'') AS [],
ISNULL([], N'') AS [],
ISNULL([], N'') AS [],
CONVERT(varchar(19), [], 120) AS [],
CONVERT(varchar(19), [], 120) AS [],
1 AS [],
CAST([] / 3600.0 AS decimal(18, 2)) AS [],
CASE WHEN [] = 1 THEN N'已校验' ELSE N'未校验' END AS [],
ISNULL([], N'') AS [],
ISNULL([], N'') AS []
FROM base
)
SELECT *
FROM result
ORDER BY [], [], [Level], [RID];
END
GO

View File

@@ -0,0 +1,260 @@
USE [YL_MESDB];
GO
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
CREATE OR ALTER PROCEDURE [dbo].[_发货状态查询]
@ nvarchar(4000) = N'0',
@ nvarchar(4000) = N'0',
@ nvarchar(4000) = N'0',
@ nvarchar(4000) = N'0',
@ datetime = NULL,
@ nvarchar(20) = N'',
@ nvarchar(20) = N''
AS
BEGIN
SET NOCOUNT ON;
SELECT
d.[TaskAID],
STRING_AGG(CONVERT(nvarchar(max), d.[]), N',')
WITHIN GROUP (ORDER BY d.[]) AS []
INTO #当前加工操作人汇总
FROM
(
SELECT DISTINCT
[TaskAID],
NULLIF(LTRIM(RTRIM([])), N'') AS []
FROM [dbo].[YL_加工中心_操作记录表]
WHERE [] = N'开始加工'
AND [] IS NULL
AND [] LIKE N'%装配%'
AND [] IS NOT NULL
AND NULLIF(LTRIM(RTRIM([])), N'') IS NOT NULL
) AS d
GROUP BY d.[TaskAID];
CREATE UNIQUE CLUSTERED INDEX [IX_当前加工操作人汇总_TaskAID]
ON #当前加工操作人汇总 ([TaskAID]);
SELECT
[TaskAID],
SUM(CASE WHEN [] = N'终检' THEN ISNULL([], 0) ELSE 0 END) AS [],
SUM(CASE WHEN [] = N'收检' THEN ISNULL([], 0) ELSE 0 END) AS []
INTO #质检汇总
FROM [dbo].[View_质量检验_质检记录]
WHERE [] IN (N'收检', N'终检')
GROUP BY [TaskAID];
CREATE UNIQUE CLUSTERED INDEX [IX_质检汇总_TaskAID]
ON #质检汇总 ([TaskAID]);
SELECT
gs.[],
SUM(gs.[]) AS []
INTO #合同装配工时汇总
FROM [dbo].[View_生产工时视图] AS gs
INNER JOIN [dbo].[_人员信息] AS ry ON gs.[] = ry.[Personnel_Name]
WHERE ry.[] = N'装配'
GROUP BY gs.[];
CREATE INDEX [IX_合同装配工时汇总_合同号]
ON #合同装配工时汇总 ([合同号]);
;WITH AS
(
SELECT
c.[DocStatus] AS [],
c.[],
c.[],
CONVERT(nvarchar(4000), c.[]) AS [],
c.[],
c.[],
c.[],
a.[TaskAID],
COALESCE(a.[], c.[]) AS [],
COALESCE(
NULLIF(CONVERT(nvarchar(200), a.[]), N''),
NULLIF(CONVERT(nvarchar(200), c.[]), N'')
) AS [],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
CONVERT(date, a.[]) AS [],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
c.[] AS [],
a.[],
a.[],
a.[],
b.[],
ISNULL(h.[], 0) AS [],
ISNULL(q.[], 0) AS []
FROM [SAP].[SBO_YL].[dbo].[UBT_ODRF_ODLNMES] AS c
LEFT JOIN [YL_MESDB].[dbo].[View_生产订单_MES] AS a ON c.[] = a.[]
LEFT JOIN #当前加工操作人汇总 AS b ON a.[TaskAID] = b.[TaskAID]
LEFT JOIN #质检汇总 AS q ON a.[TaskAID] = q.[TaskAID]
LEFT JOIN #合同装配工时汇总 AS h ON a.[合同号] = h.[合同号]
WHERE
(
a.[TaskAID] IS NULL
OR a.[] IS NULL
OR ISNULL(q.[], 0) + ISNULL(q.[], 0) <> a.[]
OR ISNULL(q.[], 0) <> ISNULL(a.[], 0)
)
AND (@ = N'0' OR CONVERT(nvarchar(100), c.[]) LIKE N'%' + @ + N'%')
AND
(
@ = N'0'
OR COALESCE(
NULLIF(CONVERT(nvarchar(200), a.[]), N''),
NULLIF(CONVERT(nvarchar(200), c.[]), N'')
) LIKE N'%' + @ + N'%'
)
AND
(
@ = N'0'
OR ISNULL(CONVERT(nvarchar(4000), c.[]), N'') LIKE N'%' + @ + N'%'
)
AND (@ = N'0' OR ISNULL(c.[], N'') LIKE N'%' + @ + N'%')
AND (@ IS NULL OR CONVERT(date, c.[]) = CONVERT(date, @))
AND
(
ISNULL(@, N'') = N''
OR (@ = N'' AND ISNULL(a.[], 0) = 1)
OR (@ = N'' AND ISNULL(a.[], 0) <> 1)
)
AND
(
ISNULL(@, N'') = N''
OR (@ = N'发料齐套' AND (a.[] = N'发料齐套' OR ISNULL(a.[], N'') = N'1'))
OR (@ = N'发料缺件' AND (a.[] = N'发料缺件' OR ISNULL(a.[], N'') = N'2'))
OR
(
@ = N'未发料'
AND ISNULL(a.[], N'') NOT IN (N'1', N'2', N'发料齐套', N'发料缺件')
)
)
UNION ALL
SELECT
CAST(NULL AS char(1)) AS [],
a.[] AS [],
a.[],
CONVERT(nvarchar(4000), a.[]) AS [],
CAST(NULL AS numeric(19, 6)) AS [],
CAST(NULL AS datetime) AS [],
CAST(NULL AS int) AS [],
a.[TaskAID],
a.[],
CONVERT(nvarchar(200), a.[]) AS [],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
CONVERT(date, a.[]) AS [],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
b.[],
ISNULL(h.[], 0) AS [],
ISNULL(q.[], 0) AS []
FROM [YL_MESDB].[dbo].[View_生产订单_MES] AS a
LEFT JOIN #当前加工操作人汇总 AS b ON a.[TaskAID] = b.[TaskAID]
LEFT JOIN #质检汇总 AS q ON a.[TaskAID] = q.[TaskAID]
LEFT JOIN #合同装配工时汇总 AS h ON a.[合同号] = h.[合同号]
WHERE
a.[] = N''
AND a.[] LIKE N'%装配%'
AND
(
a.[] IS NULL
OR ISNULL(q.[], 0) + ISNULL(q.[], 0) <> a.[]
OR ISNULL(q.[], 0) <> ISNULL(a.[], 0)
)
AND NOT EXISTS
(
SELECT 1
FROM [SAP].[SBO_YL].[dbo].[UBT_ODRF_ODLNMES] AS c
WHERE c.[] = a.[]
)
AND (@ = N'0' OR CONVERT(nvarchar(100), a.[]) LIKE N'%' + @ + N'%')
AND (@ = N'0' OR ISNULL(CONVERT(nvarchar(200), a.[]), N'') LIKE N'%' + @ + N'%')
AND (@ = N'0' OR ISNULL(a.[], N'') LIKE N'%' + @ + N'%')
AND (@ = N'0' OR ISNULL(a.[], N'') LIKE N'%' + @ + N'%')
AND (@ IS NULL OR CONVERT(date, a.[]) = CONVERT(date, @))
AND
(
ISNULL(@, N'') = N''
OR (@ = N'' AND ISNULL(a.[], 0) = 1)
OR (@ = N'' AND ISNULL(a.[], 0) <> 1)
)
AND
(
ISNULL(@, N'') = N''
OR (@ = N'发料齐套' AND (a.[] = N'发料齐套' OR ISNULL(a.[], N'') = N'1'))
OR (@ = N'发料缺件' AND (a.[] = N'发料缺件' OR ISNULL(a.[], N'') = N'2'))
OR
(
@ = N'未发料'
AND ISNULL(a.[], N'') NOT IN (N'1', N'2', N'发料齐套', N'发料缺件')
)
)
)
SELECT *
FROM
ORDER BY
CASE WHEN [] IS NULL THEN 1 ELSE 0 END,
[],
[],
[],
[];
END
GO

View File

@@ -0,0 +1,209 @@
USE [YL_MESDB];
GO
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
CREATE OR ALTER PROCEDURE [dbo].[_发货状态查询]
@ nvarchar(4000) = N'0',
@ nvarchar(4000) = N'0',
@ nvarchar(4000) = N'0',
@ nvarchar(4000) = N'0',
@ datetime = NULL,
@ nvarchar(20) = N'',
@ nvarchar(20) = N''
AS
BEGIN
SET NOCOUNT ON;
;WITH AS
(
SELECT DISTINCT
[TaskAID],
NULLIF(LTRIM(RTRIM([])), N'') AS []
FROM [dbo].[YL_加工中心_操作记录表]
WHERE NULLIF(LTRIM(RTRIM([])), N'') IS NOT NULL
),
AS
(
SELECT
[TaskAID],
STRING_AGG(CONVERT(nvarchar(max), []), N',')
WITHIN GROUP (ORDER BY []) AS []
FROM
GROUP BY [TaskAID]
),
AS
(
SELECT
[TaskAID],
SUM(ISNULL([], 0)) AS []
FROM [dbo].[View_质量检验_质检记录]
GROUP BY [TaskAID]
),
AS
(
SELECT
gs.[],
SUM(gs.[]) AS []
FROM [dbo].[View_生产工时视图] AS gs
INNER JOIN [dbo].[_人员信息] AS ry ON gs.[] = ry.[Personnel_Name]
WHERE ry.[] = N'装配'
GROUP BY gs.[]
)
SELECT
c.[DocStatus] AS [],
c.[],
c.[],
CONVERT(nvarchar(4000), c.[]) AS [],
c.[],
c.[],
c.[],
a.[TaskAID],
COALESCE(a.[], c.[]) AS [],
COALESCE(
NULLIF(CONVERT(nvarchar(200), a.[]), N''),
NULLIF(CONVERT(nvarchar(200), c.[]), N'')
) AS [],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
c.[] AS [],
a.[],
a.[],
a.[],
b.[],
ISNULL(h.[], 0) AS [],
ISNULL(q.[], 0) AS []
FROM [SAP].[SBO_YL].[dbo].[UBT_ODRF_ODLNMES] AS c
LEFT JOIN [YL_MESDB].[dbo].[View_生产订单_MES] AS a ON c.[] = a.[]
LEFT JOIN AS b ON a.[TaskAID] = b.[TaskAID]
LEFT JOIN AS q ON a.[TaskAID] = q.[TaskAID]
LEFT JOIN AS h ON a.[] = h.[]
WHERE
(@ = N'0' OR CONVERT(nvarchar(100), c.[]) LIKE N'%' + @ + N'%')
AND
(
@ = N'0'
OR COALESCE(
NULLIF(CONVERT(nvarchar(200), a.[]), N''),
NULLIF(CONVERT(nvarchar(200), c.[]), N'')
) LIKE N'%' + @ + N'%'
)
AND
(
@ = N'0'
OR ISNULL(CONVERT(nvarchar(4000), c.[]), N'') LIKE N'%' + @ + N'%'
)
AND (@ = N'0' OR ISNULL(c.[], N'') LIKE N'%' + @ + N'%')
AND (@ IS NULL OR CONVERT(date, c.[]) = CONVERT(date, @))
AND
(
ISNULL(@, N'') = N''
OR a.[TaskAID] IS NULL
OR (@ = N'' AND ISNULL(a.[], 0) = 1)
OR (@ = N'' AND ISNULL(a.[], 0) <> 1)
)
AND
(
ISNULL(@, N'') = N''
OR a.[TaskAID] IS NULL
OR (@ = N'发料齐套' AND (a.[] = N'发料齐套' OR ISNULL(a.[], N'') = N'1'))
OR (@ = N'发料缺件' AND (a.[] = N'发料缺件' OR ISNULL(a.[], N'') = N'2'))
OR
(
@ = N'未发料'
AND ISNULL(a.[], N'') NOT IN (N'1', N'2', N'发料齐套', N'发料缺件')
)
)
UNION ALL
SELECT
CAST(NULL AS char(1)) AS [],
a.[] AS [],
a.[],
CONVERT(nvarchar(4000), a.[]) AS [],
CAST(NULL AS numeric(19, 6)) AS [],
CAST(NULL AS datetime) AS [],
CAST(NULL AS int) AS [],
a.[TaskAID],
a.[],
CONVERT(nvarchar(200), a.[]) AS [],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
a.[],
b.[],
ISNULL(h.[], 0) AS [],
ISNULL(q.[], 0) AS []
FROM [YL_MESDB].[dbo].[View_生产订单_MES] AS a
LEFT JOIN AS b ON a.[TaskAID] = b.[TaskAID]
LEFT JOIN AS q ON a.[TaskAID] = q.[TaskAID]
LEFT JOIN AS h ON a.[] = h.[]
WHERE
a.[] = N''
AND a.[] LIKE N'%装配%'
AND NOT EXISTS
(
SELECT 1
FROM [SAP].[SBO_YL].[dbo].[UBT_ODRF_ODLNMES] AS c
WHERE c.[] = a.[]
)
AND (@ = N'0' OR CONVERT(nvarchar(100), a.[]) LIKE N'%' + @ + N'%')
AND (@ = N'0' OR ISNULL(CONVERT(nvarchar(200), a.[]), N'') LIKE N'%' + @ + N'%')
AND (@ = N'0' OR ISNULL(a.[], N'') LIKE N'%' + @ + N'%')
AND (@ = N'0' OR ISNULL(a.[], N'') LIKE N'%' + @ + N'%')
AND (@ IS NULL OR CONVERT(date, a.[]) = CONVERT(date, @))
ORDER BY [], [], [];
END
GO