From 20c6d587adc4cc2fecc1ccc2ea451995aa889474 Mon Sep 17 00:00:00 2001 From: meswork764 Date: Mon, 22 Jun 2026 18:07:51 +0800 Subject: [PATCH] feat: update MES tracking and timesheet reports --- ...nee_to_timesheet_export_procs_20260622.sql | 188 ++++ ...gnee_to_timesheet_query_procs_20260622.sql | 492 ++++++++++ ...ours_to_production_plan_track_20260622.sql | 186 ++++ ...时_查询_before_add_assignee_20260622_172419.sql | 94 ++ ..._查询_导出_before_add_assignee_20260622_172419.sql | 49 + ...工时_查询_before_add_assignee_20260622_172419.sql | 164 ++++ ..._查询_导出_before_add_assignee_20260622_172419.sql | 50 + ...时_查询_before_add_assignee_20260622_172419.sql | 129 +++ ..._查询_导出_before_add_assignee_20260622_172419.sql | 50 + ...时_查询_before_add_assignee_20260622_172419.sql | 90 ++ ..._查询_导出_before_add_assignee_20260622_172419.sql | 48 + ...跟踪_before_add_standard_hours_20260622_173740.sql | 196 ++++ MES_Manage_View_V20/script.sql | Bin 1665476 -> 0 bytes .../sql_异常提醒_装配及时送检_查询.sql | 81 ++ .../AssemblyPunctualInspection/index.vue | 267 ++++++ .../ProductionPlanTrack/index.vue | 3 + .../ProductionManagement/Timesheet/index.vue | 27 + .../CheckTask/processReceive.vue | 3 +- .../TestAssemblyTask/index.vue | 117 ++- 装配任务看板/dist.zip | Bin 0 -> 850353 bytes 装配任务看板/src/router/index.js | 6 + 装配任务看板/src/views/TestTaskDashboard.vue | 898 ++++++++++++++++++ 22 files changed, 3136 insertions(+), 2 deletions(-) create mode 100644 MES_Manage_View_V20/db_backups/add_assignee_to_timesheet_export_procs_20260622.sql create mode 100644 MES_Manage_View_V20/db_backups/add_assignee_to_timesheet_query_procs_20260622.sql create mode 100644 MES_Manage_View_V20/db_backups/add_standard_hours_to_production_plan_track_20260622.sql create mode 100644 MES_Manage_View_V20/db_backups/工时统计_任务工时_查询_before_add_assignee_20260622_172419.sql create mode 100644 MES_Manage_View_V20/db_backups/工时统计_任务工时_查询_导出_before_add_assignee_20260622_172419.sql create mode 100644 MES_Manage_View_V20/db_backups/工时统计_作业者工时_查询_before_add_assignee_20260622_172419.sql create mode 100644 MES_Manage_View_V20/db_backups/工时统计_作业者工时_查询_导出_before_add_assignee_20260622_172419.sql create mode 100644 MES_Manage_View_V20/db_backups/工时统计_设备工时_查询_before_add_assignee_20260622_172419.sql create mode 100644 MES_Manage_View_V20/db_backups/工时统计_设备工时_查询_导出_before_add_assignee_20260622_172419.sql create mode 100644 MES_Manage_View_V20/db_backups/工时统计_项目工时_查询_before_add_assignee_20260622_172419.sql create mode 100644 MES_Manage_View_V20/db_backups/工时统计_项目工时_查询_导出_before_add_assignee_20260622_172419.sql create mode 100644 MES_Manage_View_V20/db_backups/生产管理_生产计划跟踪_before_add_standard_hours_20260622_173740.sql delete mode 100644 MES_Manage_View_V20/script.sql create mode 100644 MES_Manage_View_V20/sql_异常提醒_装配及时送检_查询.sql create mode 100644 MES_Manage_View_V20/src/views/AnomalousManagement/AssemblyPunctualInspection/index.vue create mode 100644 装配任务看板/dist.zip create mode 100644 装配任务看板/src/views/TestTaskDashboard.vue diff --git a/MES_Manage_View_V20/db_backups/add_assignee_to_timesheet_export_procs_20260622.sql b/MES_Manage_View_V20/db_backups/add_assignee_to_timesheet_export_procs_20260622.sql new file mode 100644 index 0000000..aa399fa --- /dev/null +++ b/MES_Manage_View_V20/db_backups/add_assignee_to_timesheet_export_procs_20260622.sql @@ -0,0 +1,188 @@ +USE [YL_MESDB] +GO + +ALTER PROCEDURE [dbo].[工时统计_项目工时_查询_导出] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + SELECT '项目工时统计_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype + + SELECT 256*20 AS 合同号, 256*20 AS 订单号, 256*30 AS 产品名称, 256*40 AS 产品编码, 256*15 AS 工序名称, 256*12 AS 操作人, + 256*12 AS 指派对象, 256*12 AS 计划数量, 256*12 AS 完成数量, 256*10 AS 报工数量, 256*15 AS 计划开始, 256*15 AS 计划完成, 256*12 AS '工时(h)' + + SELECT 0 AS 合同号, 0 AS 订单号, 0 AS 产品名称, 0 AS 产品编码, 0 AS 工序名称, 0 AS 操作人, + 0 AS 指派对象, 0 AS 计划数量, 0 AS 完成数量, 0 AS 报工数量, 0 AS 计划开始, 0 AS 计划完成, 0 AS '工时(h)' + + SELECT + v.订单合同号 AS 合同号, + v.订单号, + v.产品名称, + v.产品编码, + v.工序名称, + v.操作人, + ISNULL(v.工位名称, '') AS 指派对象, + CASE WHEN v.计划数量 IS NULL THEN '' WHEN v.计划数量 = FLOOR(v.计划数量) THEN CAST(CAST(v.计划数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(v.计划数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END AS 计划数量, + CASE WHEN v.完成数量 IS NULL THEN '' WHEN v.完成数量 = FLOOR(v.完成数量) THEN CAST(CAST(v.完成数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(v.完成数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END AS 完成数量, + CASE WHEN v.操作类别 IN ('报工', '辅助结束') THEN CAST(v.操作数值 AS VARCHAR(20)) ELSE '0' END AS 报工数量, + CONVERT(VARCHAR(10), v.报工日期, 120) AS 计划开始, + CONVERT(VARCHAR(10), v.报工日期, 120) AS 计划完成, + CAST(CAST(v.加工工时 / 60.0 / 60.0 AS DECIMAL(10,2)) AS VARCHAR(20)) AS '工时(h)' + FROM View_生产工时视图 v + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND (@合同号 IS NULL OR @合同号 = '' OR v.订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR v.操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR v.产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR v.工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR v.订单号 LIKE '%' + @订单号 + '%') + ORDER BY v.订单合同号, v.产品编码, v.工序名称, v.操作人, v.订单号 +END +GO + +ALTER PROCEDURE [dbo].[工时统计_作业者工时_查询_导出] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + SELECT '作业者工时统计_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype + + SELECT 256*12 AS 操作人, 256*15 AS 工作日期, 256*20 AS 合同号, 256*12 AS 订单号, 256*40 AS 产品编码, + 256*25 AS 产品名称, 256*15 AS 工序名称, 256*12 AS 指派对象, 256*10 AS 报工数量, 256*20 AS 开始时间, 256*20 AS 结束时间, 256*12 AS '工时(h)' + + SELECT 0 AS 操作人, 0 AS 工作日期, 0 AS 合同号, 0 AS 订单号, 0 AS 产品编码, + 0 AS 产品名称, 0 AS 工序名称, 0 AS 指派对象, 0 AS 报工数量, 0 AS 开始时间, 0 AS 结束时间, 0 AS '工时(h)' + + SELECT + 操作人, + CONVERT(VARCHAR(10), 开始时间, 120) AS 工作日期, + ISNULL(订单合同号, '') AS 合同号, + ISNULL(订单号, '') AS 订单号, + ISNULL(产品编码, '') AS 产品编码, + ISNULL(产品名称, '') AS 产品名称, + ISNULL(工序名称, '') AS 工序名称, + ISNULL(工位名称, '') AS 指派对象, + CASE WHEN 操作类别 IN ('报工', '辅助结束', '加班', '异常', '开始加工') THEN CAST(操作数值 AS VARCHAR(20)) ELSE '0' END AS 报工数量, + CONVERT(VARCHAR(19), 开始时间, 120) AS 开始时间, + CONVERT(VARCHAR(19), 结束时间, 120) AS 结束时间, + CAST(CAST(总时长 / 60.0 / 60.0 AS DECIMAL(10,2)) AS VARCHAR(20)) AS '工时(h)' + FROM [dbo].[View_生产工时视图] + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND 操作人 IS NOT NULL AND 操作人 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + AND ISNULL(阶段标识, 0) != -1 + ORDER BY 操作人, 开始时间 +END +GO + +ALTER PROCEDURE [dbo].[工时统计_任务工时_查询_导出] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + SELECT '任务工时统计_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype + + SELECT 256*20 AS 合同号, 256*12 AS 订单号, 256*40 AS 产品编码, 256*25 AS 产品名称, 256*15 AS 工序名称, + 256*12 AS 操作人, 256*12 AS 指派对象, 256*12 AS 计划数量, 256*12 AS 完成数量, 256*10 AS 报工数量, 256*20 AS 开始时间, 256*20 AS 结束时间, 256*12 AS '工时(h)' + + SELECT 0 AS 合同号, 0 AS 订单号, 0 AS 产品编码, 0 AS 产品名称, 0 AS 工序名称, + 0 AS 操作人, 0 AS 指派对象, 0 AS 计划数量, 0 AS 完成数量, 0 AS 报工数量, 0 AS 开始时间, 0 AS 结束时间, 0 AS '工时(h)' + + SELECT + ISNULL(订单合同号, '') AS 合同号, + ISNULL(订单号, '') AS 订单号, + ISNULL(产品编码, '') AS 产品编码, + ISNULL(产品名称, '') AS 产品名称, + ISNULL(工序名称, '') AS 工序名称, + ISNULL(操作人, '') AS 操作人, + ISNULL(工位名称, '') AS 指派对象, + CASE WHEN 计划数量 IS NULL THEN '' WHEN 计划数量 = FLOOR(计划数量) THEN CAST(CAST(计划数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(计划数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END AS 计划数量, + CASE WHEN 完成数量 IS NULL THEN '' WHEN 完成数量 = FLOOR(完成数量) THEN CAST(CAST(完成数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(完成数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END AS 完成数量, + CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN CAST(操作数值 AS VARCHAR(20)) ELSE '0' END AS 报工数量, + CONVERT(VARCHAR(19), 开始时间, 120) AS 开始时间, + CONVERT(VARCHAR(19), 结束时间, 120) AS 结束时间, + CAST(CAST(加工工时 / 60.0 / 60.0 AS DECIMAL(10,2)) AS VARCHAR(20)) AS '工时(h)' + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + ORDER BY 订单合同号, 订单号, 产品编码, 工序名称, 开始时间 +END +GO + +ALTER PROCEDURE [dbo].[工时统计_设备工时_查询_导出] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + SELECT '设备工时统计_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype + + SELECT 256*12 AS 操作人, 256*15 AS 工作日期, 256*20 AS 合同号, 256*12 AS 订单号, 256*40 AS 产品编码, + 256*25 AS 产品名称, 256*15 AS 工序名称, 256*12 AS 指派对象, 256*10 AS 报工数量, 256*20 AS 开始时间, 256*20 AS 结束时间, 256*12 AS '工时(h)' + + SELECT 0 AS 操作人, 0 AS 工作日期, 0 AS 合同号, 0 AS 订单号, 0 AS 产品编码, + 0 AS 产品名称, 0 AS 工序名称, 0 AS 指派对象, 0 AS 报工数量, 0 AS 开始时间, 0 AS 结束时间, 0 AS '工时(h)' + + SELECT + 工位名称, + CONVERT(VARCHAR(10), 开始时间, 120) AS 工作日期, + ISNULL(订单合同号, '') AS 合同号, + ISNULL(订单号, '') AS 订单号, + ISNULL(产品编码, '') AS 产品编码, + ISNULL(产品名称, '') AS 产品名称, + ISNULL(工序名称, '') AS 工序名称, + ISNULL(工位名称, '') AS 指派对象, + CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN CAST(操作数值 AS VARCHAR(20)) ELSE '0' END AS 报工数量, + CONVERT(VARCHAR(19), 开始时间, 120) AS 开始时间, + CONVERT(VARCHAR(19), 结束时间, 120) AS 结束时间, + CAST(CAST(加工工时 / 60.0 / 60.0 AS DECIMAL(10,2)) AS VARCHAR(20)) AS '工时(h)' + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 报工日期 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 报工日期 <= @结束日期) + AND 工位名称 IS NOT NULL AND 工位名称 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 工位名称 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + AND ISNULL(阶段标识, 0) = -1 + ORDER BY 工位名称, 开始时间 +END +GO diff --git a/MES_Manage_View_V20/db_backups/add_assignee_to_timesheet_query_procs_20260622.sql b/MES_Manage_View_V20/db_backups/add_assignee_to_timesheet_query_procs_20260622.sql new file mode 100644 index 0000000..8ed69ee --- /dev/null +++ b/MES_Manage_View_V20/db_backups/add_assignee_to_timesheet_query_procs_20260622.sql @@ -0,0 +1,492 @@ +USE [YL_MESDB] +GO + +ALTER PROCEDURE [dbo].[工时统计_项目工时_查询] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + ;WITH 订单工时汇总 AS ( + SELECT + v.订单合同号 AS 合同号, + v.产品编码, + v.产品名称, + MAX(v.计划数量) AS 计划数量, + MAX(v.完成数量) AS 完成数量, + SUM(CASE WHEN v.操作类别 IN ('报工', '辅助结束') THEN v.操作数值 ELSE 0 END) AS 报工数量, + MIN(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划开始, + MAX(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划完成, + CAST(SUM(v.加工工时) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 总工时小时 + FROM View_生产工时视图 v + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND (@合同号 IS NULL OR @合同号 = '' OR v.订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR v.操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR v.产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR v.工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR v.订单号 LIKE '%' + @订单号 + '%') + GROUP BY v.订单合同号, v.产品编码, v.产品名称 + ), + 工序工时明细 AS ( + SELECT + v.订单合同号 AS 合同号, + v.产品编码, + v.工序名称, + v.操作人, + MAX(v.工位名称) AS 指派对象, + v.订单号, + SUM(CASE WHEN v.操作类别 IN ('报工', '辅助结束') THEN v.操作数值 ELSE 0 END) AS 报工数量, + CAST(SUM(v.加工工时) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 工时小时, + MIN(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划开始, + MAX(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划完成 + FROM View_生产工时视图 v + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND (@合同号 IS NULL OR @合同号 = '' OR v.订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR v.操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR v.产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR v.工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR v.订单号 LIKE '%' + @订单号 + '%') + GROUP BY v.订单合同号, v.产品编码, v.工序名称, v.操作人, v.订单号 + ) + SELECT + 1 AS [Level], + 合同号 AS contractNo, + 产品名称 AS materialDesc, + 产品编码 AS materialCode, + '' AS processName, + '' AS operator, + '' AS 指派对象, + CASE WHEN 计划数量 = FLOOR(计划数量) THEN CAST(CAST(计划数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(计划数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END + '/' + + CASE WHEN 完成数量 = FLOOR(完成数量) THEN CAST(CAST(完成数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(完成数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END AS qty, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + ISNULL(计划开始, '') AS planStart, + ISNULL(计划完成, '') AS planEnd, + CAST(总工时小时 AS VARCHAR(20)) AS workHours, + '' AS 订单号 + FROM 订单工时汇总 + + UNION ALL + + SELECT + 2 AS [Level], + d.合同号 AS contractNo, + '' AS materialDesc, + d.产品编码 AS materialCode, + d.工序名称 AS processName, + d.操作人 AS operator, + ISNULL(d.指派对象, '') AS 指派对象, + '' AS qty, + CAST(d.报工数量 AS VARCHAR(20)) AS reportQty, + d.计划开始 AS planStart, + d.计划完成 AS planEnd, + CAST(d.工时小时 AS VARCHAR(20)) AS workHours, + d.订单号 AS 订单号 + FROM 工序工时明细 d + + ORDER BY contractNo, materialCode, [Level], processName +END +GO + +ALTER PROCEDURE [dbo].[工时统计_作业者工时_查询] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + ;WITH 操作人汇总 AS ( + SELECT + 操作人, + COUNT(*) AS 报工次数, + SUM(CASE + WHEN 操作类别 NOT IN ('异常') THEN 操作数值 + WHEN 操作类别 = '异常' THEN -操作数值 + ELSE 0 + END) AS 报工数量, + CAST(SUM(CASE + WHEN 操作类别 = '异常' THEN -总时长 + ELSE 总时长 + END) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 总工时小时 + FROM [dbo].[View_生产工时视图] + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 开始时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 结束时间 <= @结束日期) + AND 操作人 IS NOT NULL AND 操作人 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + AND ISNULL(阶段标识, 0) != -1 + GROUP BY 操作人 + ), + 日期汇总 AS ( + SELECT + 操作人, + CONVERT(VARCHAR(10), 开始时间, 120) AS 工作日期, + COUNT(*) AS 报工次数, + SUM(CASE + WHEN 操作类别 NOT IN ('异常') THEN 操作数值 + WHEN 操作类别 = '异常' THEN -操作数值 + ELSE 0 + END) AS 报工数量, + CAST(SUM(CASE + WHEN 操作类别 = '异常' THEN -总时长 + ELSE 总时长 + END) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 工时小时 + FROM [dbo].[View_生产工时视图] + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 开始时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 结束时间 <= @结束日期) + AND 操作人 IS NOT NULL AND 操作人 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + AND ISNULL(阶段标识, 0) != -1 + GROUP BY 操作人, CONVERT(VARCHAR(10), 开始时间, 120) + ), + 报工明细 AS ( + SELECT + 操作人, + CONVERT(VARCHAR(10), 开始时间, 120) AS 工作日期, + 订单合同号 AS 合同号, + 订单号, + 产品编码, + 产品名称, + 工序名称, + 工位名称 AS 指派对象, + CASE + WHEN 操作类别 NOT IN ('异常') THEN 操作数值 + WHEN 操作类别 = '异常' THEN -操作数值 + ELSE 0 + END AS 报工数量, + CONVERT(VARCHAR(19), 开始时间, 120) AS 开始时间, + CONVERT(VARCHAR(19), 结束时间, 120) AS 结束时间, + CAST(CASE + WHEN 操作类别 = '异常' THEN -总时长 + ELSE 总时长 + END / 60.0 / 60.0 AS DECIMAL(10,2)) AS 工时小时, + 异常说明, + 工序说明, + 操作类别 + FROM [dbo].[View_生产工时视图] + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 开始时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 结束时间 <= @结束日期) + AND 操作人 IS NOT NULL AND 操作人 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + AND ISNULL(阶段标识, 0) != -1 + ) + SELECT + 1 AS [Level], + 操作人 AS operator, + '' AS dateLabel, + CAST(报工次数 AS VARCHAR(20)) AS reportCount, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + '' AS contractNo, + '' AS orderNo, + '' AS productCode, + '' AS productName, + '' AS processName, + '' AS 指派对象, + '' AS startTime, + '' AS endTime, + '' AS 异常说明, + '' AS 工序说明, + '' AS 操作类别, + CAST(总工时小时 AS VARCHAR(20)) AS workHours + FROM 操作人汇总 + + UNION ALL + + SELECT + 2 AS [Level], + 操作人 AS operator, + 工作日期 AS dateLabel, + CAST(报工次数 AS VARCHAR(20)) AS reportCount, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + '' AS contractNo, + '' AS orderNo, + '' AS productCode, + '' AS productName, + '' AS processName, + '' AS 指派对象, + '' AS startTime, + '' AS endTime, + '' AS 异常说明, + '' AS 工序说明, + '' AS 操作类别, + CAST(工时小时 AS VARCHAR(20)) AS workHours + FROM 日期汇总 + + UNION ALL + + SELECT + 3 AS [Level], + 操作人 AS operator, + 工作日期 AS dateLabel, + '' AS reportCount, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + ISNULL(合同号, '') AS contractNo, + ISNULL(订单号, '') AS orderNo, + ISNULL(产品编码, '') AS productCode, + ISNULL(产品名称, '') AS productName, + ISNULL(工序名称, '') AS processName, + ISNULL(指派对象, '') AS 指派对象, + ISNULL(开始时间, '') AS startTime, + ISNULL(结束时间, '') AS endTime, + ISNULL(异常说明, '') AS 异常说明, + ISNULL(工序说明, '') AS 工序说明, + ISNULL(操作类别, '') AS 操作类别, + CAST(工时小时 AS VARCHAR(20)) AS workHours + FROM 报工明细 + + ORDER BY operator, dateLabel, [Level] +END +GO + +ALTER PROCEDURE [dbo].[工时统计_任务工时_查询] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + ;WITH 任务汇总 AS ( + SELECT + 订单合同号 AS 合同号, + 订单号, + 产品编码, + 产品名称, + 工序名称, + 操作类别, + MAX(计划数量) AS 计划数量, + MAX(完成数量) AS 完成数量, + SUM(CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN 操作数值 ELSE 0 END) AS 报工数量, + CAST(SUM(总时长) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 总工时小时 + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + GROUP BY 订单合同号, 订单号, 产品编码, 产品名称, 工序名称, 操作类别 + ), + 报工明细 AS ( + SELECT + 订单合同号 AS 合同号, + 订单号, + 产品编码, + 工序名称, + 操作人, + 工位名称 AS 指派对象, + 操作类别, + CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN 操作数值 ELSE 0 END AS 报工数量, + CONVERT(VARCHAR(19), 开始时间, 120) AS 开始时间, + CONVERT(VARCHAR(19), 结束时间, 120) AS 结束时间, + CAST(总时长 / 60.0 / 60.0 AS DECIMAL(10,2)) AS 工时小时 + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + ) + SELECT + 1 AS [Level], + ISNULL(合同号, '') AS contractNo, + ISNULL(订单号, '') AS orderNo, + ISNULL(产品编码, '') AS productCode, + ISNULL(产品名称, '') AS productName, + ISNULL(工序名称, '') AS processName, + '' AS operator, + '' AS 指派对象, + CASE WHEN 计划数量 IS NULL THEN '0' WHEN 计划数量 = FLOOR(计划数量) THEN CAST(CAST(计划数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(计划数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END + '/' + + CASE WHEN 完成数量 IS NULL THEN '0' WHEN 完成数量 = FLOOR(完成数量) THEN CAST(CAST(完成数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(完成数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END AS qty, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + '' AS startTime, + '' AS endTime, + CAST(总工时小时 AS VARCHAR(20)) AS workHours, + 操作类别 + FROM 任务汇总 + + UNION ALL + + SELECT + 2 AS [Level], + ISNULL(合同号, '') AS contractNo, + ISNULL(订单号, '') AS orderNo, + ISNULL(产品编码, '') AS productCode, + '' AS productName, + ISNULL(工序名称, '') AS processName, + ISNULL(操作人, '') AS operator, + ISNULL(指派对象, '') AS 指派对象, + '' AS qty, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + ISNULL(开始时间, '') AS startTime, + ISNULL(结束时间, '') AS endTime, + CAST(工时小时 AS VARCHAR(20)) AS workHours, + 操作类别 + FROM 报工明细 + + ORDER BY contractNo, orderNo, productCode, processName, [Level], startTime +END +GO + +ALTER PROCEDURE [dbo].[工时统计_设备工时_查询] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + ;WITH 操作人汇总 AS ( + SELECT + 工位名称, + COUNT(*) AS 报工次数, + SUM(CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN 操作数值 ELSE 0 END) AS 报工数量, + CAST(SUM(加工工时) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 总工时小时 + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND 操作人 IS NOT NULL AND 操作人 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 工位名称 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + AND ISNULL(阶段标识, 0) = -1 + GROUP BY 工位名称 + ), + 日期汇总 AS ( + SELECT + 工位名称, + CONVERT(VARCHAR(10), 开始时间, 120) AS 工作日期, + COUNT(*) AS 报工次数, + SUM(CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN 操作数值 ELSE 0 END) AS 报工数量, + CAST(SUM(加工工时) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 工时小时 + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND 工位名称 IS NOT NULL AND 工位名称 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 工位名称 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + AND ISNULL(阶段标识, 0) = -1 + GROUP BY 工位名称, CONVERT(VARCHAR(10), 开始时间, 120) + ), + 报工明细 AS ( + SELECT + 工位名称, + CONVERT(VARCHAR(10), 开始时间, 120) AS 工作日期, + 订单合同号 AS 合同号, + 订单号, + 产品编码, + 产品名称, + 工序名称, + 工位名称 AS 指派对象, + CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN 操作数值 ELSE 0 END AS 报工数量, + CONVERT(VARCHAR(19), 开始时间, 120) AS 开始时间, + CONVERT(VARCHAR(19), 结束时间, 120) AS 结束时间, + CAST(加工工时 / 60.0 / 60.0 AS DECIMAL(10,2)) AS 工时小时 + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND 操作人 IS NOT NULL AND 操作人 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 工位名称 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + AND ISNULL(阶段标识, 0) = -1 + ) + SELECT + 1 AS [Level], + 工位名称 AS operator, + '' AS dateLabel, + CAST(报工次数 AS VARCHAR(20)) AS reportCount, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + '' AS contractNo, + '' AS orderNo, + '' AS productCode, + '' AS productName, + '' AS processName, + '' AS 指派对象, + '' AS startTime, + '' AS endTime, + CAST(总工时小时 AS VARCHAR(20)) AS workHours + FROM 操作人汇总 + + UNION ALL + + SELECT + 2 AS [Level], + 工位名称 AS operator, + 工作日期 AS dateLabel, + CAST(报工次数 AS VARCHAR(20)) AS reportCount, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + '' AS contractNo, + '' AS orderNo, + '' AS productCode, + '' AS productName, + '' AS processName, + '' AS 指派对象, + '' AS startTime, + '' AS endTime, + CAST(工时小时 AS VARCHAR(20)) AS workHours + FROM 日期汇总 + + UNION ALL + + SELECT + 3 AS [Level], + 工位名称 AS operator, + 工作日期 AS dateLabel, + '' AS reportCount, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + ISNULL(合同号, '') AS contractNo, + ISNULL(订单号, '') AS orderNo, + ISNULL(产品编码, '') AS productCode, + ISNULL(产品名称, '') AS productName, + ISNULL(工序名称, '') AS processName, + ISNULL(指派对象, '') AS 指派对象, + ISNULL(开始时间, '') AS startTime, + ISNULL(结束时间, '') AS endTime, + CAST(工时小时 AS VARCHAR(20)) AS workHours + FROM 报工明细 + + ORDER BY operator, dateLabel, [Level] +END +GO diff --git a/MES_Manage_View_V20/db_backups/add_standard_hours_to_production_plan_track_20260622.sql b/MES_Manage_View_V20/db_backups/add_standard_hours_to_production_plan_track_20260622.sql new file mode 100644 index 0000000..6d7e346 --- /dev/null +++ b/MES_Manage_View_V20/db_backups/add_standard_hours_to_production_plan_track_20260622.sql @@ -0,0 +1,186 @@ +USE [YL_MESDB] +GO + +ALTER PROCEDURE [dbo].[生产管理_生产计划跟踪] + @订单号 int = 0, + @物料类型 nvarchar(50) = '', + @合同号 nvarchar(50) = '', + @产品编码 nvarchar(50) = '', + @产品名称 nvarchar(50) = '', + @工序名称 nvarchar(50) = '', + @要求完工日期1 nvarchar(50) = '', + @要求完工日期2 nvarchar(50) = '', + @计划开始1 nvarchar(50) = '', + @计划开始2 nvarchar(50) = '', + @计划完成1 nvarchar(50) = '', + @计划完成2 nvarchar(50) = '', + @排产状态 nvarchar(50) = '全部', + @指派对象 nvarchar(50) = '全部', + @自制件属性 nvarchar(50) = '全部', + @计划号 nvarchar(50) = '', + @加急状态 nvarchar(50) = '', + @单据状态 nvarchar(50) = '' +AS +BEGIN + DECLARE @selectStr NVARCHAR(MAX) + DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE [物料类型] = ''pit_Resource'' ' + + SET @selectStr = N' + SELECT top 500 + v.计划号, + 加急总数, + 拣配状态, + 自制件属性, + 入库数量, + 外协分组, + case + when isnull(任务状态,0)=4 then ''已完成'' + when isnull(任务状态,0)=2 then ''已开工'' + when isnull(任务状态,0)=0 then ''待执行'' + when isnull(任务状态,0)=1 then ''可执行'' + else '''' + end as [任务状态], + case + when isnull(加工状态,0)=2 then ''辅助开始'' + when isnull(加工状态,0)=3 then ''辅助结束'' + when isnull(加工状态,0)=4 then ''开始加工'' + when isnull(加工状态,0)=5 then ''暂停'' + when isnull(加工状态,0)=6 then ''报工'' + else '''' + end as [加工状态], + [计划数量订单], + ISNULL(开工时间, 0) AS 开工时间, + ISNULL(进度, 0) AS 进度, + v.[TaskAID], + [合同号], + v.[订单编号] AS 订单号, + [订单行号], + [订单拆分内码] AS 拆分内码, + [物料编号] AS 产品编码, + [物料描述] AS 产品名称, + TRIM(''.'' FROM TRIM(''0'' FROM CAST([计划数量] AS VARCHAR(30)))) AS 计划数量, + ISNULL(gy.标准工时, 0) AS 标准工时, + [计划完成] AS 要求完工日期, + [工序名称], + 完成数量, + 收料数量, + CASE + WHEN [加急状态] = 1 THEN ''加急'' + ELSE '''' + END AS 加急状态, + 加急数量, + 性质, + ISNULL(总工时, 0) AS 总工时, + [占用情况], + [排产状态], + [工序计划数量], + 指派对象编号, + 指派对象, + TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, + 计划开始时间, + 计划完成时间, + 最晚开始时间, + [派工状态], + [外协通知], + [优先级], + [未完成说明], + [派工特殊说明], + [最后编辑人], + [最后编辑时间], + [二次派工], + CASE + WHEN zj_终检.计划号 IS NOT NULL THEN ''是'' + ELSE ''否'' + END AS 终检, + ISNULL(zj_收检.合格数合计, 0) AS 收检合格数, + ISNULL(zj_收检.不合格数合计, 0) AS 收检不合格数, + ISNULL(zj_收检.合格数合计, 0) + ISNULL(zj_收检.不合格数合计, 0) AS 收检总数, + ISNULL(jl.开始时间, 0) AS 开始时间, + ISNULL(jl.结束时间, 0) AS 结束时间, + ISNULL(jl.外协结束时间, 0) AS 外协结束时间, + STUFF(( + SELECT '','' + d2.工序名称 + FROM [dbo].[View_生产订单_MES] d2 + WHERE d2.订单编号 = v.订单编号 order by d2.订单行号 + FOR XML PATH('''') + ), 1, 1, '''') AS 工艺路线 + FROM [dbo].[View_生产订单全部(包括已关闭)] v + LEFT JOIN ( + SELECT DISTINCT 计划号 + FROM dbo.YL_质量检验_质检记录 + WHERE 质检类型 = ''终检'' + ) zj_终检 ON v.[订单编号] = zj_终检.计划号 + LEFT JOIN ( + SELECT + TaskAID, + SUM(ISNULL(合格数, 0)) AS 合格数合计, + SUM(ISNULL(不合格数, 0)) AS 不合格数合计 + FROM dbo.YL_质量检验_质检记录 + WHERE 质检类型 = ''收检'' + GROUP BY TaskAID + ) zj_收检 ON v.[TaskAID] = zj_收检.TaskAID + LEFT JOIN ( + SELECT + TaskAID, + min(ISNULL(开始时间, 0)) AS 开始时间, + MAX(CASE WHEN 操作类别 = ''报工'' THEN ISNULL(开始时间, 0) ELSE NULL END) AS 外协结束时间, + MAX(CASE WHEN 操作类别 = ''报工'' THEN ISNULL(结束时间, 0) ELSE NULL END) AS 结束时间 + FROM [dbo].[YL_加工中心_操作记录表] + GROUP BY TaskAID + ) jl ON v.[TaskAID] = jl.TaskAID + LEFT JOIN ( + SELECT + 订单编号, + 工艺顺序, + MAX(ISNULL(标准工时, 0)) AS 标准工时 + FROM dbo.[车间生产管理工艺_零件生产工艺_工艺库] + GROUP BY 订单编号, 工艺顺序 + ) gy ON v.[订单编号] = gy.[订单编号] AND v.[订单行号] = gy.[工艺顺序]' + + IF (@订单号 > 0) + SET @selectStrWhere = @selectStrWhere + ' AND v.[订单编号] = ' + CONVERT(VARCHAR(10), @订单号) + IF (@计划号 > 0) + SET @selectStrWhere = @selectStrWhere + ' AND v.[计划号] = '''+@计划号+'''' + IF (@合同号 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [合同号] LIKE ''%' + @合同号 + '%''' + IF (@产品编码 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @产品编码 + '%''' + IF (@产品名称 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [物料描述] LIKE ''%' + @产品名称 + '%''' + IF (@工序名称 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [工序名称] = ''' + @工序名称 + '''' + IF (@要求完工日期1 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [计划完成] >= ''' + @要求完工日期1 + '''' + IF (@要求完工日期2 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [计划完成] <= ''' + @要求完工日期2 + '''' + IF (@计划开始1 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] >= ''' + @计划开始1 + '''' + IF (@计划开始2 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] <= ''' + @计划开始2 + '''' + IF (@计划完成1 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [计划完成时间] >= ''' + @计划完成1 + '''' + IF (@计划完成2 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [计划完成时间] <= ''' + @计划完成2 + '''' + IF (@排产状态 = '未完成') + SET @selectStrWhere = @selectStrWhere + ' AND ISNULL([排产状态], 0) = 0' + ELSE IF (@排产状态 = '已完成') + SET @selectStrWhere = @selectStrWhere + ' AND [排产状态] = 1' + IF (@自制件属性 = '机加') + SET @selectStrWhere = @selectStrWhere + ' AND [自制件属性] = ''机加件''' + ELSE IF (@自制件属性 = '装配') + SET @selectStrWhere = @selectStrWhere + ' AND [自制件属性] LIKE ''%装配''' + IF (@加急状态 = '加急') + SET @selectStrWhere = @selectStrWhere + ' AND [加急状态] = 1' + IF (@单据状态 = '正常') + SET @selectStrWhere = @selectStrWhere + ' AND [单据状态] is null' + ELSE IF (@单据状态 = '关闭') + SET @selectStrWhere = @selectStrWhere + ' AND [单据状态] is not null' + IF (@指派对象 <> '全部') + SET @selectStrWhere = @selectStrWhere + ' AND [指派对象] IN (SELECT value FROM STRING_SPLIT(''' + @指派对象 + ''', '',''))' + + SET @selectStrWhere = @selectStrWhere + ' ORDER BY v.[计划完成] ASC, v.[订单编号] ASC' + SET @selectStr = @selectStr + @selectStrWhere + PRINT @selectStr + EXEC sp_executesql @selectStr +END +GO diff --git a/MES_Manage_View_V20/db_backups/工时统计_任务工时_查询_before_add_assignee_20260622_172419.sql b/MES_Manage_View_V20/db_backups/工时统计_任务工时_查询_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..c0e8318 --- /dev/null +++ b/MES_Manage_View_V20/db_backups/工时统计_任务工时_查询_before_add_assignee_20260622_172419.sql @@ -0,0 +1,94 @@ + +CREATE PROCEDURE [dbo].[工时统计_任务工时_查询] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + ;WITH 任务汇总 AS ( + SELECT + 订单合同号 AS 合同号, + 订单号, + 产品编码, + 产品名称, + 工序名称, + 操作类别, + MAX(计划数量) AS 计划数量, + MAX(完成数量) AS 完成数量, + SUM(CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN 操作数值 ELSE 0 END) AS 报工数量, + CAST(SUM(总时长) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 总工时小时 + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + GROUP BY 订单合同号, 订单号, 产品编码, 产品名称, 工序名称,操作类别 + ), + 报工明细 AS ( + SELECT + 订单合同号 AS 合同号, + 订单号, + 产品编码, + 工序名称, + 操作人, + 操作类别, + CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN 操作数值 ELSE 0 END AS 报工数量, + CONVERT(VARCHAR(19), 开始时间, 120) AS 开始时间, + CONVERT(VARCHAR(19), 结束时间, 120) AS 结束时间, + CAST(总时长 / 60.0 / 60.0 AS DECIMAL(10,2)) AS 工时小时 + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + ) + SELECT + 1 AS [Level], + ISNULL(合同号, '') AS contractNo, + ISNULL(订单号, '') AS orderNo, + ISNULL(产品编码, '') AS productCode, + ISNULL(产品名称, '') AS productName, + ISNULL(工序名称, '') AS processName, + '' AS operator, + CASE WHEN 计划数量 IS NULL THEN '0' WHEN 计划数量 = FLOOR(计划数量) THEN CAST(CAST(计划数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(计划数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END + '/' + + CASE WHEN 完成数量 IS NULL THEN '0' WHEN 完成数量 = FLOOR(完成数量) THEN CAST(CAST(完成数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(完成数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END AS qty, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + '' AS startTime, + '' AS endTime, + CAST(总工时小时 AS VARCHAR(20)) AS workHours, + 操作类别 + FROM 任务汇总 + + UNION ALL + + SELECT + 2 AS [Level], + ISNULL(合同号, '') AS contractNo, + ISNULL(订单号, '') AS orderNo, + ISNULL(产品编码, '') AS productCode, + '' AS productName, + ISNULL(工序名称, '') AS processName, + ISNULL(操作人, '') AS operator, + '' AS qty, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + ISNULL(开始时间, '') AS startTime, + ISNULL(结束时间, '') AS endTime, + CAST(工时小时 AS VARCHAR(20)) AS workHours, + 操作类别 + FROM 报工明细 + + ORDER BY contractNo, orderNo, productCode, processName, [Level], startTime +END + diff --git a/MES_Manage_View_V20/db_backups/工时统计_任务工时_查询_导出_before_add_assignee_20260622_172419.sql b/MES_Manage_View_V20/db_backups/工时统计_任务工时_查询_导出_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..eeff329 --- /dev/null +++ b/MES_Manage_View_V20/db_backups/工时统计_任务工时_查询_导出_before_add_assignee_20260622_172419.sql @@ -0,0 +1,49 @@ + +CREATE PROCEDURE [dbo].[工时统计_任务工时_查询_导出] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + -- 导出文件名和类型 + SELECT '任务工时统计_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype + + -- 字段宽度 + SELECT 256*20 AS 合同号, 256*12 AS 订单号, 256*40 AS 产品编码, 256*25 AS 产品名称, 256*15 AS 工序名称, + 256*12 AS 操作人, 256*12 AS 计划数量, 256*12 AS 完成数量, 256*10 AS 报工数量, 256*20 AS 开始时间, 256*20 AS 结束时间, 256*12 AS '工时(h)' + + -- 是否计算列 + SELECT 0 AS 合同号, 0 AS 订单号, 0 AS 产品编码, 0 AS 产品名称, 0 AS 工序名称, + 0 AS 操作人, 0 AS 计划数量, 0 AS 完成数量, 0 AS 报工数量, 0 AS 开始时间, 0 AS 结束时间, 0 AS '工时(h)' + + -- 导出数据:每行都填满完整信息 + SELECT + ISNULL(订单合同号, '') AS 合同号, + ISNULL(订单号, '') AS 订单号, + ISNULL(产品编码, '') AS 产品编码, + ISNULL(产品名称, '') AS 产品名称, + ISNULL(工序名称, '') AS 工序名称, + ISNULL(操作人, '') AS 操作人, + CASE WHEN 计划数量 IS NULL THEN '' WHEN 计划数量 = FLOOR(计划数量) THEN CAST(CAST(计划数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(计划数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END AS 计划数量, + CASE WHEN 完成数量 IS NULL THEN '' WHEN 完成数量 = FLOOR(完成数量) THEN CAST(CAST(完成数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(完成数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END AS 完成数量, + CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN CAST(操作数值 AS VARCHAR(20)) ELSE '0' END AS 报工数量, + CONVERT(VARCHAR(19), 开始时间, 120) AS 开始时间, + CONVERT(VARCHAR(19), 结束时间, 120) AS 结束时间, + CAST(CAST(加工工时 / 60.0 / 60.0 AS DECIMAL(10,2)) AS VARCHAR(20)) AS '工时(h)' + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + ORDER BY 订单合同号, 订单号, 产品编码, 工序名称, 开始时间 +END + diff --git a/MES_Manage_View_V20/db_backups/工时统计_作业者工时_查询_before_add_assignee_20260622_172419.sql b/MES_Manage_View_V20/db_backups/工时统计_作业者工时_查询_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..4d977bb --- /dev/null +++ b/MES_Manage_View_V20/db_backups/工时统计_作业者工时_查询_before_add_assignee_20260622_172419.sql @@ -0,0 +1,164 @@ + +CREATE PROCEDURE [dbo].[工时统计_作业者工时_查询] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + ;WITH 操作人汇总 AS ( + SELECT + 操作人, + COUNT(*) AS 报工次数, + SUM(CASE + --WHEN 操作类别 IN ('报工', '辅助结束', '加班', '开始加工') THEN 操作数值 + WHEN 操作类别 NOT IN ('异常') THEN 操作数值 + WHEN 操作类别 = '异常' THEN -操作数值 -- 异常工时记为负数 + ELSE 0 + END) AS 报工数量, + CAST(SUM(CASE + WHEN 操作类别 = '异常' THEN -总时长 -- 异常时长记为负数 + ELSE 总时长 + END) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 总工时小时 + FROM [dbo].[View_生产工时视图] + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 开始时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 结束时间 <= @结束日期) + AND 操作人 IS NOT NULL AND 操作人 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + and isNull(阶段标识,0) != -1 + GROUP BY 操作人 + ), + 日期汇总 AS ( + SELECT + 操作人, + CONVERT(VARCHAR(10), 开始时间, 120) AS 工作日期, + COUNT(*) AS 报工次数, + SUM(CASE + --WHEN 操作类别 IN ('报工', '辅助结束', '加班', '开始加工') THEN 操作数值 + WHEN 操作类别 NOT IN ('异常') THEN 操作数值 + WHEN 操作类别 = '异常' THEN -操作数值 -- 异常工时记为负数 + ELSE 0 + END) AS 报工数量, + CAST(SUM(CASE + WHEN 操作类别 = '异常' THEN -总时长 -- 异常时长记为负数 + ELSE 总时长 + END) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 工时小时 + FROM [dbo].[View_生产工时视图] + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 开始时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 结束时间 <= @结束日期) + AND 操作人 IS NOT NULL AND 操作人 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + and isNull(阶段标识,0) != -1 + GROUP BY 操作人, CONVERT(VARCHAR(10), 开始时间, 120) + ), + 报工明细 AS ( + SELECT + 操作人, + CONVERT(VARCHAR(10), 开始时间, 120) AS 工作日期, + 订单合同号 AS 合同号, + 订单号, + 产品编码, + 产品名称, + 工序名称, + CASE + --WHEN 操作类别 IN ('报工', '辅助结束', '加班', '开始加工') THEN 操作数值 + WHEN 操作类别 NOT IN ('异常') THEN 操作数值 + WHEN 操作类别 = '异常' THEN -操作数值 -- 异常数量记为负数 + ELSE 0 + END AS 报工数量, + CONVERT(VARCHAR(19), 开始时间, 120) AS 开始时间, + CONVERT(VARCHAR(19), 结束时间, 120) AS 结束时间, + CAST(CASE + WHEN 操作类别 = '异常' THEN -总时长 -- 异常时长记为负数 + ELSE 总时长 + END / 60.0 / 60.0 AS DECIMAL(10,2)) AS 工时小时, + 异常说明, + 工序说明, + 操作类别 + FROM [dbo].[View_生产工时视图] + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 开始时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 结束时间 <= @结束日期) + AND 操作人 IS NOT NULL AND 操作人 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + and isNull(阶段标识,0) != -1 + ) + SELECT + 1 AS [Level], + 操作人 AS operator, + '' AS dateLabel, + CAST(报工次数 AS VARCHAR(20)) AS reportCount, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + '' AS contractNo, + '' AS orderNo, + '' AS productCode, + '' AS productName, + '' AS processName, + '' AS startTime, + '' AS endTime, + '' AS 异常说明, + '' AS 工序说明, + '' AS 操作类别, + CAST(总工时小时 AS VARCHAR(20)) AS workHours + FROM 操作人汇总 + + UNION ALL + + SELECT + 2 AS [Level], + 操作人 AS operator, + 工作日期 AS dateLabel, + CAST(报工次数 AS VARCHAR(20)) AS reportCount, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + '' AS contractNo, + '' AS orderNo, + '' AS productCode, + '' AS productName, + '' AS processName, + '' AS startTime, + '' AS endTime, + '' AS 异常说明, + '' AS 工序说明, + '' AS 操作类别, + CAST(工时小时 AS VARCHAR(20)) AS workHours + FROM 日期汇总 + + UNION ALL + + SELECT + 3 AS [Level], + 操作人 AS operator, + 工作日期 AS dateLabel, + '' AS reportCount, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + ISNULL(合同号, '') AS contractNo, + ISNULL(订单号, '') AS orderNo, + ISNULL(产品编码, '') AS productCode, + ISNULL(产品名称, '') AS productName, + ISNULL(工序名称, '') AS processName, + ISNULL(开始时间, '') AS startTime, + ISNULL(结束时间, '') AS endTime, + ISNULL(异常说明, '') AS 异常说明, + ISNULL(工序说明, '') AS 工序说明, + ISNULL(操作类别, '') AS 操作类别, + CAST(工时小时 AS VARCHAR(20)) AS workHours + FROM 报工明细 + + ORDER BY operator, dateLabel, [Level] +END diff --git a/MES_Manage_View_V20/db_backups/工时统计_作业者工时_查询_导出_before_add_assignee_20260622_172419.sql b/MES_Manage_View_V20/db_backups/工时统计_作业者工时_查询_导出_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..4af8454 --- /dev/null +++ b/MES_Manage_View_V20/db_backups/工时统计_作业者工时_查询_导出_before_add_assignee_20260622_172419.sql @@ -0,0 +1,50 @@ + +CREATE PROCEDURE [dbo].[工时统计_作业者工时_查询_导出] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + -- 导出文件名和类型 + SELECT '作业者工时统计_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype + + -- 字段宽度 + SELECT 256*12 AS 操作人, 256*15 AS 工作日期, 256*20 AS 合同号, 256*12 AS 订单号, 256*40 AS 产品编码, + 256*25 AS 产品名称, 256*15 AS 工序名称, 256*10 AS 报工数量, 256*20 AS 开始时间, 256*20 AS 结束时间, 256*12 AS '工时(h)' + + -- 是否计算列 + SELECT 0 AS 操作人, 0 AS 工作日期, 0 AS 合同号, 0 AS 订单号, 0 AS 产品编码, + 0 AS 产品名称, 0 AS 工序名称, 0 AS 报工数量, 0 AS 开始时间, 0 AS 结束时间, 0 AS '工时(h)' + + -- 导出数据:每行都填满完整信息 + SELECT + 操作人, + CONVERT(VARCHAR(10), 开始时间, 120) AS 工作日期, + ISNULL(订单合同号, '') AS 合同号, + ISNULL(订单号, '') AS 订单号, + ISNULL(产品编码, '') AS 产品编码, + ISNULL(产品名称, '') AS 产品名称, + ISNULL(工序名称, '') AS 工序名称, + CASE WHEN 操作类别 IN ('报工', '辅助结束','加班','异常','开始加工') THEN CAST(操作数值 AS VARCHAR(20)) ELSE '0' END AS 报工数量, + CONVERT(VARCHAR(19), 开始时间, 120) AS 开始时间, + CONVERT(VARCHAR(19), 结束时间, 120) AS 结束时间, + CAST(CAST(总时长 / 60.0 / 60.0 AS DECIMAL(10,2)) AS VARCHAR(20)) AS '工时(h)' + FROM [dbo].[View_生产工时视图] + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND 操作人 IS NOT NULL AND 操作人 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + and isNull(阶段标识,0) != -1 + ORDER BY 操作人, 开始时间 +END + diff --git a/MES_Manage_View_V20/db_backups/工时统计_设备工时_查询_before_add_assignee_20260622_172419.sql b/MES_Manage_View_V20/db_backups/工时统计_设备工时_查询_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..1a730a7 --- /dev/null +++ b/MES_Manage_View_V20/db_backups/工时统计_设备工时_查询_before_add_assignee_20260622_172419.sql @@ -0,0 +1,129 @@ + +CREATE PROCEDURE [dbo].[工时统计_设备工时_查询] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + ;WITH 操作人汇总 AS ( + SELECT + 工位名称, + COUNT(*) AS 报工次数, + SUM(CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN 操作数值 ELSE 0 END) AS 报工数量, + CAST(SUM(加工工时) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 总工时小时 + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND 操作人 IS NOT NULL AND 操作人 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 工位名称 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + and isNull(阶段标识,0) = -1 + GROUP BY 工位名称 + ), + 日期汇总 AS ( + SELECT + 工位名称, + CONVERT(VARCHAR(10), 开始时间, 120) AS 工作日期, + COUNT(*) AS 报工次数, + SUM(CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN 操作数值 ELSE 0 END) AS 报工数量, + CAST(SUM(加工工时) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 工时小时 + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND 工位名称 IS NOT NULL AND 工位名称 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 工位名称 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + and isNull(阶段标识,0) = -1 + GROUP BY 工位名称, CONVERT(VARCHAR(10), 开始时间, 120) + ), + 报工明细 AS ( + SELECT + 工位名称, + CONVERT(VARCHAR(10), 开始时间, 120) AS 工作日期, + 订单合同号 AS 合同号, + 订单号, + 产品编码, + 产品名称, + 工序名称, + CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN 操作数值 ELSE 0 END AS 报工数量, + CONVERT(VARCHAR(19), 开始时间, 120) AS 开始时间, + CONVERT(VARCHAR(19), 结束时间, 120) AS 结束时间, + CAST(加工工时 / 60.0 / 60.0 AS DECIMAL(10,2)) AS 工时小时 + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND 操作人 IS NOT NULL AND 操作人 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 工位名称 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + and isNull(阶段标识,0) = -1 + ) + SELECT + 1 AS [Level], + 工位名称 AS operator, + '' AS dateLabel, + CAST(报工次数 AS VARCHAR(20)) AS reportCount, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + '' AS contractNo, + '' AS orderNo, + '' AS productCode, + '' AS productName, + '' AS processName, + '' AS startTime, + '' AS endTime, + CAST(总工时小时 AS VARCHAR(20)) AS workHours + FROM 操作人汇总 + + UNION ALL + + SELECT + 2 AS [Level], + 工位名称 AS operator, + 工作日期 AS dateLabel, + CAST(报工次数 AS VARCHAR(20)) AS reportCount, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + '' AS contractNo, + '' AS orderNo, + '' AS productCode, + '' AS productName, + '' AS processName, + '' AS startTime, + '' AS endTime, + CAST(工时小时 AS VARCHAR(20)) AS workHours + FROM 日期汇总 + + UNION ALL + + SELECT + 3 AS [Level], + 工位名称 AS operator, + 工作日期 AS dateLabel, + '' AS reportCount, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + ISNULL(合同号, '') AS contractNo, + ISNULL(订单号, '') AS orderNo, + ISNULL(产品编码, '') AS productCode, + ISNULL(产品名称, '') AS productName, + ISNULL(工序名称, '') AS processName, + ISNULL(开始时间, '') AS startTime, + ISNULL(结束时间, '') AS endTime, + CAST(工时小时 AS VARCHAR(20)) AS workHours + FROM 报工明细 + + ORDER BY operator, dateLabel, [Level] +END + diff --git a/MES_Manage_View_V20/db_backups/工时统计_设备工时_查询_导出_before_add_assignee_20260622_172419.sql b/MES_Manage_View_V20/db_backups/工时统计_设备工时_查询_导出_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..99c138d --- /dev/null +++ b/MES_Manage_View_V20/db_backups/工时统计_设备工时_查询_导出_before_add_assignee_20260622_172419.sql @@ -0,0 +1,50 @@ + +CREATE PROCEDURE [dbo].[工时统计_设备工时_查询_导出] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + -- 导出文件名和类型 + SELECT '设备工时统计_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype + + -- 字段宽度 + SELECT 256*12 AS 操作人, 256*15 AS 工作日期, 256*20 AS 合同号, 256*12 AS 订单号, 256*40 AS 产品编码, + 256*25 AS 产品名称, 256*15 AS 工序名称, 256*10 AS 报工数量, 256*20 AS 开始时间, 256*20 AS 结束时间, 256*12 AS '工时(h)' + + -- 是否计算列 + SELECT 0 AS 操作人, 0 AS 工作日期, 0 AS 合同号, 0 AS 订单号, 0 AS 产品编码, + 0 AS 产品名称, 0 AS 工序名称, 0 AS 报工数量, 0 AS 开始时间, 0 AS 结束时间, 0 AS '工时(h)' + + -- 导出数据:每行都填满完整信息 + SELECT + 工位名称, + CONVERT(VARCHAR(10), 开始时间, 120) AS 工作日期, + ISNULL(订单合同号, '') AS 合同号, + ISNULL(订单号, '') AS 订单号, + ISNULL(产品编码, '') AS 产品编码, + ISNULL(产品名称, '') AS 产品名称, + ISNULL(工序名称, '') AS 工序名称, + CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN CAST(操作数值 AS VARCHAR(20)) ELSE '0' END AS 报工数量, + CONVERT(VARCHAR(19), 开始时间, 120) AS 开始时间, + CONVERT(VARCHAR(19), 结束时间, 120) AS 结束时间, + CAST(CAST(加工工时 / 60.0 / 60.0 AS DECIMAL(10,2)) AS VARCHAR(20)) AS '工时(h)' + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 报工日期 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 报工日期 <= @结束日期) + AND 工位名称 IS NOT NULL AND 工位名称 != '' + AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR 工位名称 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%') + and isNull(阶段标识,0) = -1 + ORDER BY 工位名称, 开始时间 +END + diff --git a/MES_Manage_View_V20/db_backups/工时统计_项目工时_查询_before_add_assignee_20260622_172419.sql b/MES_Manage_View_V20/db_backups/工时统计_项目工时_查询_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..f722360 --- /dev/null +++ b/MES_Manage_View_V20/db_backups/工时统计_项目工时_查询_before_add_assignee_20260622_172419.sql @@ -0,0 +1,90 @@ +CREATE PROCEDURE [dbo].[工时统计_项目工时_查询] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + ;WITH 订单工时汇总 AS ( + SELECT + v.订单合同号 AS 合同号, + v.产品编码, + v.产品名称, + MAX(v.计划数量) AS 计划数量, + MAX(v.完成数量) AS 完成数量, + SUM(CASE WHEN v.操作类别 IN ('报工', '辅助结束') THEN v.操作数值 ELSE 0 END) AS 报工数量, + MIN(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划开始, + MAX(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划完成, + CAST(SUM(v.加工工时) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 总工时小时 + FROM View_生产工时视图 v + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND (@合同号 IS NULL OR @合同号 = '' OR v.订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR v.操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR v.产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR v.工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR v.订单号 LIKE '%' + @订单号 + '%') + GROUP BY v.订单合同号, v.产品编码, v.产品名称 + ), + 工序工时明细 AS ( + SELECT + v.订单合同号 AS 合同号, + v.产品编码, + v.工序名称, + v.操作人, + v.订单号, + SUM(CASE WHEN v.操作类别 IN ('报工', '辅助结束') THEN v.操作数值 ELSE 0 END) AS 报工数量, + CAST(SUM(v.加工工时) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 工时小时, + MIN(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划开始, + MAX(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划完成 + FROM View_生产工时视图 v + WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND (@合同号 IS NULL OR @合同号 = '' OR v.订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR v.操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR v.产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR v.工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR v.订单号 LIKE '%' + @订单号 + '%') + GROUP BY v.订单合同号, v.产品编码, v.工序名称, v.操作人,v.订单号 + ) + SELECT + 1 AS [Level], + 合同号 AS contractNo, + 产品名称 AS materialDesc, + 产品编码 AS materialCode, + '' AS processName, + '' AS operator, + CASE WHEN 计划数量 = FLOOR(计划数量) THEN CAST(CAST(计划数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(计划数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END + '/' + + CASE WHEN 完成数量 = FLOOR(完成数量) THEN CAST(CAST(完成数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(完成数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END AS qty, + CAST(报工数量 AS VARCHAR(20)) AS reportQty, + ISNULL(计划开始, '') AS planStart, + ISNULL(计划完成, '') AS planEnd, + CAST(总工时小时 AS VARCHAR(20)) AS workHours, + '' AS 订单号 + FROM 订单工时汇总 + + UNION ALL + + SELECT + 2 AS [Level], + d.合同号 AS contractNo, + '' AS materialDesc, + d.产品编码 AS materialCode, + d.工序名称 AS processName, + d.操作人 AS operator, + '' AS qty, + CAST(d.报工数量 AS VARCHAR(20)) AS reportQty, + d.计划开始 AS planStart, + d.计划完成 AS planEnd, + CAST(d.工时小时 AS VARCHAR(20)) AS workHours, + d.订单号 AS 订单号 + FROM 工序工时明细 d + + ORDER BY contractNo, materialCode, [Level], processName +END + diff --git a/MES_Manage_View_V20/db_backups/工时统计_项目工时_查询_导出_before_add_assignee_20260622_172419.sql b/MES_Manage_View_V20/db_backups/工时统计_项目工时_查询_导出_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..a57fb15 --- /dev/null +++ b/MES_Manage_View_V20/db_backups/工时统计_项目工时_查询_导出_before_add_assignee_20260622_172419.sql @@ -0,0 +1,48 @@ +CREATE PROCEDURE [dbo].[工时统计_项目工时_查询_导出] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + -- 导出文件名和类型 + SELECT '项目工时统计_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype + + -- 字段宽度 + SELECT 256*20 AS 合同号, 256*20 AS 订单号,256*30 AS 产品名称, 256*40 AS 产品编码, 256*15 AS 工序名称, 256*12 AS 操作人, + 256*12 AS 计划数量, 256*12 AS 完成数量, 256*10 AS 报工数量, 256*15 AS 计划开始, 256*15 AS 计划完成, 256*12 AS '工时(h)' + + -- 是否计算列 + SELECT 0 AS 合同号, 0 AS 订单号,0 AS 产品名称, 0 AS 产品编码, 0 AS 工序名称, 0 AS 操作人, + 0 AS 计划数量, 0 AS 完成数量, 0 AS 报工数量, 0 AS 计划开始, 0 AS 计划完成, 0 AS '工时(h)' + + -- 导出数据:每行都填满完整信息 + SELECT + v.订单合同号 AS 合同号, + v.订单号, + v.产品名称, + v.产品编码, + v.工序名称, + v.操作人, + CASE WHEN v.计划数量 IS NULL THEN '' WHEN v.计划数量 = FLOOR(v.计划数量) THEN CAST(CAST(v.计划数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(v.计划数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END AS 计划数量, + CASE WHEN v.完成数量 IS NULL THEN '' WHEN v.完成数量 = FLOOR(v.完成数量) THEN CAST(CAST(v.完成数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(v.完成数量 AS DECIMAL(10,1)) AS VARCHAR(20)) END AS 完成数量, + CASE WHEN v.操作类别 IN ('报工', '辅助结束') THEN CAST(v.操作数值 AS VARCHAR(20)) ELSE '0' END AS 报工数量, + CONVERT(VARCHAR(10), v.报工日期, 120) AS 计划开始, + CONVERT(VARCHAR(10), v.报工日期, 120) AS 计划完成, + CAST(CAST(v.加工工时 / 60.0 / 60.0 AS DECIMAL(10,2)) AS VARCHAR(20)) AS '工时(h)' + FROM View_生产工时视图 v + WHERE(@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 <= @结束日期) + AND (@合同号 IS NULL OR @合同号 = '' OR v.订单合同号 LIKE '%' + @合同号 + '%') + AND (@操作人 IS NULL OR @操作人 = '' OR v.操作人 LIKE '%' + @操作人 + '%') + AND (@产品编码 IS NULL OR @产品编码 = '' OR v.产品编码 LIKE '%' + @产品编码 + '%') + AND (@工序名称 IS NULL OR @工序名称 = '' OR v.工序名称 LIKE '%' + @工序名称 + '%') + AND (@订单号 IS NULL OR @订单号 = '' OR v.订单号 LIKE '%' + @订单号 + '%') + ORDER BY v.订单合同号, v.产品编码, v.工序名称, v.操作人,v.订单号 +END + diff --git a/MES_Manage_View_V20/db_backups/生产管理_生产计划跟踪_before_add_standard_hours_20260622_173740.sql b/MES_Manage_View_V20/db_backups/生产管理_生产计划跟踪_before_add_standard_hours_20260622_173740.sql new file mode 100644 index 0000000..7974e70 --- /dev/null +++ b/MES_Manage_View_V20/db_backups/生产管理_生产计划跟踪_before_add_standard_hours_20260622_173740.sql @@ -0,0 +1,196 @@ + +CREATE PROCEDURE [dbo].[生产管理_生产计划跟踪] + @订单号 int = 0, + @物料类型 nvarchar(50) = '', --自制件、装配件 + @合同号 nvarchar(50) = '', + @产品编码 nvarchar(50) = '', + @产品名称 nvarchar(50) = '', + @工序名称 nvarchar(50) = '', + @要求完工日期1 nvarchar(50) = '', + @要求完工日期2 nvarchar(50) = '', + @计划开始1 nvarchar(50) = '', + @计划开始2 nvarchar(50) = '', + @计划完成1 nvarchar(50) = '', + @计划完成2 nvarchar(50) = '', + @排产状态 nvarchar(50) = '全部', --全部,已完成、未完成 + @指派对象 nvarchar(50) = '全部', + @自制件属性 nvarchar(50) = '全部', + @计划号 nvarchar(50) = '', + @加急状态 nvarchar(50) = '', + @单据状态 nvarchar(50) = '' +AS +BEGIN + DECLARE @selectStr NVARCHAR(MAX) + DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE [物料类型] = ''pit_Resource'' ' + + SET @selectStr = N' + SELECT top 500 + v.计划号, + 加急总数, + 拣配状态, + 自制件属性, + 入库数量, + 外协分组, + case + when isnull(任务状态,0)=4 then ''已完成'' + when isnull(任务状态,0)=2 then ''已开工'' + when isnull(任务状态,0)=0 then ''待执行'' + when isnull(任务状态,0)=1 then ''可执行'' + else '''' + end as [任务状态], + case + when isnull(加工状态,0)=2 then ''辅助开始'' + when isnull(加工状态,0)=3 then ''辅助结束'' + when isnull(加工状态,0)=4 then ''开始加工'' + when isnull(加工状态,0)=5 then ''暂停'' + when isnull(加工状态,0)=6 then ''报工'' + else '''' + end as [加工状态], + [计划数量订单], + ISNULL(开工时间, 0) AS 开工时间, + ISNULL(进度, 0) AS 进度, + v.[TaskAID], + [合同号], + v.[订单编号] AS 订单号, + [订单行号], + [订单拆分内码] AS 拆分内码, + [物料编号] AS 产品编码, + [物料描述] AS 产品名称, + TRIM(''.'' FROM TRIM(''0'' FROM CAST([计划数量] AS VARCHAR(30)))) AS 计划数量, + [计划完成] AS 要求完工日期, + [工序名称], + 完成数量, + 收料数量, + CASE + WHEN [加急状态] = 1 THEN ''加急'' + ELSE '''' + END AS 加急状态, + 加急数量, + 性质, + ISNULL(总工时, 0) AS 总工时, + [占用情况], + [排产状态], + [工序计划数量], + 指派对象编号, + 指派对象, + TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, + 计划开始时间, + 计划完成时间, + 最晚开始时间, + [派工状态], + [外协通知], + [优先级], + [未完成说明], + [派工特殊说明], + [最后编辑人], + [最后编辑时间], + [二次派工], + CASE + WHEN zj_终检.计划号 IS NOT NULL THEN ''是'' + ELSE ''否'' + END AS 终检, + -- 新增收检相关字段 + ISNULL(zj_收检.合格数合计, 0) AS 收检合格数, + ISNULL(zj_收检.不合格数合计, 0) AS 收检不合格数, + ISNULL(zj_收检.合格数合计, 0) + ISNULL(zj_收检.不合格数合计, 0) AS 收检总数, + ISNULL(jl.开始时间, 0) AS 开始时间, + ISNULL(jl.结束时间, 0) AS 结束时间, + ISNULL(jl.外协结束时间, 0) AS 外协结束时间, + STUFF(( + SELECT '','' + d2.工序名称 + FROM [dbo].[View_生产订单_MES] d2 + WHERE d2.订单编号 = v.订单编号 order by d2.订单行号 + FOR XML PATH('''') + ), 1, 1, '''') AS 工艺路线 + FROM [dbo].[View_生产订单全部(包括已关闭)] v + -- 终检判断 + LEFT JOIN ( + SELECT DISTINCT 计划号 + FROM dbo.YL_质量检验_质检记录 + WHERE 质检类型 = ''终检'' + ) zj_终检 ON v.[订单编号] = zj_终检.计划号 + -- 收检数量统计 + LEFT JOIN ( + SELECT + TaskAID, + SUM(ISNULL(合格数, 0)) AS 合格数合计, + SUM(ISNULL(不合格数, 0)) AS 不合格数合计 + FROM dbo.YL_质量检验_质检记录 + WHERE 质检类型 = ''收检'' + GROUP BY TaskAID + ) zj_收检 ON v.[TaskAID] = zj_收检.TaskAID + LEFT JOIN ( + SELECT + TaskAID, + min(ISNULL(开始时间, 0)) AS 开始时间, + MAX(CASE WHEN 操作类别 = ''报工'' THEN ISNULL(开始时间, 0) ELSE NULL END) AS 外协结束时间, + MAX(CASE WHEN 操作类别 = ''报工'' THEN ISNULL(结束时间, 0) ELSE NULL END) AS 结束时间 + FROM [dbo].[YL_加工中心_操作记录表] + GROUP BY TaskAID + ) jl ON v.[TaskAID] = jl.TaskAID' + + -- 添加筛选条件 + IF (@订单号 > 0) + SET @selectStrWhere = @selectStrWhere + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号) + IF (@计划号 > 0) + SET @selectStrWhere = @selectStrWhere + ' AND v.[计划号] = '''+@计划号+'''' + IF (@合同号 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [合同号] LIKE ''%' + @合同号 + '%''' + + IF (@产品编码 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @产品编码 + '%''' + + IF (@产品名称 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [物料描述] LIKE ''%' + @产品名称 + '%''' + + IF (@工序名称 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [工序名称] = ''' + @工序名称 + '''' + + IF (@要求完工日期1 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [计划完成] >= ''' + @要求完工日期1 + '''' + + IF (@要求完工日期2 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [计划完成] <= ''' + @要求完工日期2 + '''' + + IF (@计划开始1 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] >= ''' + @计划开始1 + '''' + + IF (@计划开始2 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] <= ''' + @计划开始2 + '''' + + IF (@计划完成1 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [计划完成时间] >= ''' + @计划完成1 + '''' + + IF (@计划完成2 <> '') + SET @selectStrWhere = @selectStrWhere + ' AND [计划完成时间] <= ''' + @计划完成2 + '''' + + IF (@排产状态 = '未完成') + SET @selectStrWhere = @selectStrWhere + ' AND ISNULL([排产状态], 0) = 0' + ELSE IF (@排产状态 = '已完成') + SET @selectStrWhere = @selectStrWhere + ' AND [排产状态] = 1' + IF (@自制件属性 = '机加') + SET @selectStrWhere = @selectStrWhere + ' AND [自制件属性] = ''机加件''' + ELSE IF (@自制件属性 = '装配') + SET @selectStrWhere = @selectStrWhere + ' AND [自制件属性] LIKE ''%装配''' + + IF (@加急状态 = '加急') + SET @selectStrWhere = @selectStrWhere + ' AND [加急状态] = 1' + IF (@单据状态 = '正常') + SET @selectStrWhere = @selectStrWhere + ' AND [单据状态] is null' + ELSE IF (@单据状态 = '关闭') + SET @selectStrWhere = @selectStrWhere + ' AND [单据状态] is not null' + IF (@指派对象 <> '全部') + SET @selectStrWhere = @selectStrWhere + ' AND [指派对象] IN (SELECT value FROM STRING_SPLIT(''' + @指派对象 + ''', '',''))' + + -- 添加排序 + SET @selectStrWhere = @selectStrWhere + ' ORDER BY [计划完成] ASC, [订单编号] ASC' + + -- 合并SQL + SET @selectStr = @selectStr + @selectStrWhere + + -- 打印SQL(调试用) + PRINT @selectStr + + -- 执行查询 + EXEC sp_executesql @selectStr +END diff --git a/MES_Manage_View_V20/script.sql b/MES_Manage_View_V20/script.sql deleted file mode 100644 index 44fc3e1185b2e1849c2df8890f8f32637e9e9094..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1665476 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ⅇ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 z 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%0Ds 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
  • @>aQ?vw&$WBAnzPcx1bq= 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 diff --git a/MES_Manage_View_V20/sql_异常提醒_装配及时送检_查询.sql b/MES_Manage_View_V20/sql_异常提醒_装配及时送检_查询.sql new file mode 100644 index 0000000..0723a24 --- /dev/null +++ b/MES_Manage_View_V20/sql_异常提醒_装配及时送检_查询.sql @@ -0,0 +1,81 @@ +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 diff --git a/MES_Manage_View_V20/src/views/AnomalousManagement/AssemblyPunctualInspection/index.vue b/MES_Manage_View_V20/src/views/AnomalousManagement/AssemblyPunctualInspection/index.vue new file mode 100644 index 0000000..3c65fa6 --- /dev/null +++ b/MES_Manage_View_V20/src/views/AnomalousManagement/AssemblyPunctualInspection/index.vue @@ -0,0 +1,267 @@ + + + + + diff --git a/MES_Manage_View_V20/src/views/ProductionManagement/ProductionPlanTrack/index.vue b/MES_Manage_View_V20/src/views/ProductionManagement/ProductionPlanTrack/index.vue index 1282b78..d36dc74 100644 --- a/MES_Manage_View_V20/src/views/ProductionManagement/ProductionPlanTrack/index.vue +++ b/MES_Manage_View_V20/src/views/ProductionManagement/ProductionPlanTrack/index.vue @@ -54,6 +54,7 @@ +