diff --git a/db_backups/add_assignee_to_timesheet_export_procs_20260622.sql b/db_backups/add_assignee_to_timesheet_export_procs_20260622.sql new file mode 100644 index 0000000..aa399fa --- /dev/null +++ b/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/db_backups/add_assignee_to_timesheet_query_procs_20260622.sql b/db_backups/add_assignee_to_timesheet_query_procs_20260622.sql new file mode 100644 index 0000000..8ed69ee --- /dev/null +++ b/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/db_backups/add_standard_hours_to_production_plan_track_20260622.sql b/db_backups/add_standard_hours_to_production_plan_track_20260622.sql new file mode 100644 index 0000000..6d7e346 --- /dev/null +++ b/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/db_backups/alter_quality_details_query_fieldkey_20260625.sql b/db_backups/alter_quality_details_query_fieldkey_20260625.sql new file mode 100644 index 0000000..edaa2a4 --- /dev/null +++ b/db_backups/alter_quality_details_query_fieldkey_20260625.sql @@ -0,0 +1,81 @@ +ALTER PROCEDURE [dbo].[质量管理_质检明细_查询] + @质检类型 nvarchar(4000) = '10', + @开始日期 datetime = NULL, + @结束日期 datetime = NULL, + @订单号 nvarchar(4000) = '0', + @合同号 nvarchar(4000) = '0', + @零件编码 nvarchar(4000) = '0', + @零件名称 nvarchar(4000) = '0', + @PageCurrent int = 1, + @PageSize int = 20, + @PageCount int OUTPUT, + @ItemCount int OUTPUT +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @tbname sysname = ' [dbo].[View_质检明细] ' + DECLARE @fieldkey sysname = 'QT_AID' + DECLARE @where nvarchar(4000) + DECLARE @fieldshow nvarchar(1000) + DECLARE @fieldOrder nvarchar(1000) = ' 检测时间 DESC, QT_AID DESC ' + + SET @where = ' (1=1) ' + + IF @质检类型 = '10' + SET @where = @where + ' AND (1=1) ' + ELSE IF @质检类型 = '0' + SET @where = @where + ' AND 质检类型 = ''收检'' ' + ELSE IF @质检类型 = '1' + SET @where = @where + ' AND 质检类型 = ''终检'' ' + ELSE IF @质检类型 = '2' + SET @where = @where + ' AND 质检类型 = ''来料检验'' ' + ELSE IF @质检类型 = '3' + SET @where = @where + ' AND 质检类型 = ''退库检验'' ' + + IF @订单号 <> '0' + SET @where = @where + ' AND 计划号 LIKE ''%' + @订单号 + '%'' ' + + --IF @合同号 <> '0' + -- SET @where = @where + ' AND 内部合同号 LIKE ''%' + @合同号 + '%'' ' + + IF @零件编码 <> '0' + SET @where = @where + ' AND 零件编码 LIKE ''%' + @零件编码 + '%'' ' + + IF @零件名称 <> '0' + SET @where = @where + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'' ' + + IF @开始日期 IS NOT NULL + SET @where = @where + ' AND 检测时间 >= ''' + CONVERT(nvarchar(30), @开始日期, 120) + ''' ' + + IF @结束日期 IS NOT NULL + SET @where = @where + ' AND 检测时间 <= ''' + CONVERT(nvarchar(30), @结束日期, 120) + ''' ' + + SET @fieldshow = ' + [QT_AID] + ,[质检类型] + ,[零件编码] + ,[零件名称] + ,[内部合同号] + ,[计划号] + ,[工序名称] + ,[检验数量] + ,[合格数] + ,[不合格数] + ,[检测人] + ,[检测时间] + ,[检测说明] + ,[工位名称] + ,[订单类型]' + + EXEC [dbo].[sp_xt_pagesplit] + @tbname, + @fieldkey, + @where, + @fieldshow, + @fieldOrder, + @PageCurrent, + @PageSize, + @PageCount OUTPUT, + @ItemCount OUTPUT +END diff --git a/db_backups/alter_timesheet_device_planqty_project_task_processdesc_20260623.sql b/db_backups/alter_timesheet_device_planqty_project_task_processdesc_20260623.sql new file mode 100644 index 0000000..da611ec --- /dev/null +++ b/db_backups/alter_timesheet_device_planqty_project_task_processdesc_20260623.sql @@ -0,0 +1,426 @@ +USE [YL_MESDB] +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +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; + + IF @开始日期 = CONVERT(DATE, '19000101', 112) SET @开始日期 = NULL; + IF @结束日期 = CONVERT(DATE, '19000101', 112) SET @结束日期 = NULL; + + ;WITH 操作人汇总 AS ( + SELECT + 工位名称, + COUNT(*) AS 报工次数, + SUM(CASE WHEN 操作类别 IN (N'报工', N'辅助结束') THEN 操作数值 ELSE 0 END) AS 报工数量, + CAST(SUM(加工工时) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 总工时小时 + FROM View_生产工时视图全部 + WHERE (@开始日期 IS NULL OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL 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 (N'报工', N'辅助结束') THEN 操作数值 ELSE 0 END) AS 报工数量, + CAST(SUM(加工工时) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 工时小时 + FROM View_生产工时视图全部 + WHERE (@开始日期 IS NULL OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL 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 合同号, + 订单号, + 产品编码, + 产品名称, + CAST(计划数量 AS DECIMAL(19,6)) AS 计划数量, + 工序名称, + 工位名称 AS 指派对象, + CASE + WHEN 操作描述 LIKE N'%白班%' THEN N'白班' + WHEN 操作描述 LIKE N'%夜班%' THEN N'夜班' + ELSE N'' + END AS 班次, + 操作类别 AS 报工类型, + CASE WHEN 操作类别 IN (N'报工', N'辅助结束') 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 结束时间 >= @开始日期) + AND (@结束日期 IS NULL 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, + CAST(NULL AS DECIMAL(19,6)) AS 计划数量, + '' AS processName, + '' AS 班次, + '' AS 报工类型, + '' 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, + CAST(NULL AS DECIMAL(19,6)) AS 计划数量, + '' AS processName, + '' AS 班次, + '' AS 报工类型, + '' 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, + 计划数量 AS 计划数量, + ISNULL(工序名称, '') AS processName, + ISNULL(班次, '') AS 班次, + ISNULL(报工类型, '') AS 报工类型, + ISNULL(指派对象, '') AS 指派对象, + ISNULL(开始时间, '') AS startTime, + ISNULL(结束时间, '') AS endTime, + 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, + @工时类型 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + IF @开始日期 = CONVERT(DATE, '19000101', 112) SET @开始日期 = NULL; + IF @结束日期 = CONVERT(DATE, '19000101', 112) SET @结束日期 = NULL; + + ;WITH 人员班组 AS ( + SELECT + LTRIM(RTRIM(Personnel_Name)) AS Personnel_Name, + MAX(NULLIF(LTRIM(RTRIM(班组)), '')) AS 班组 + FROM [YL_MESDB].[dbo].[登录基础数据_人员信息] + WHERE Personnel_Name IS NOT NULL + GROUP BY LTRIM(RTRIM(Personnel_Name)) + ), + 工时基础 AS ( + SELECT + v.*, + ISNULL(p.班组, '未分类') AS 工时类型, + CASE + WHEN v.操作类别 IN ('报工', '辅助结束') AND ISNULL(v.加工工时, 0) > 0 THEN ISNULL(v.加工工时, 0) + WHEN v.操作类别 IN ('报工', '辅助结束') AND ISNULL(v.总时长, 0) > 0 AND ISNULL(v.加工工时, 0) = 0 THEN ISNULL(v.总时长, 0) + WHEN v.操作类别 LIKE '%加班%' AND ISNULL(v.总时长, 0) > 0 THEN ISNULL(v.总时长, 0) + WHEN v.操作类别 = '开始加工' AND ISNULL(v.总时长, 0) > 0 THEN ISNULL(v.总时长, 0) + ELSE 0 + END AS 有效工时秒 + FROM View_生产工时视图全部 v + LEFT JOIN 人员班组 p ON LTRIM(RTRIM(v.操作人)) = p.Personnel_Name + ), + 订单工时汇总 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 工时基础 v + WHERE (@开始日期 IS NULL OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL 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 '%' + @订单号 + '%') + AND (@工时类型 IS NULL OR @工时类型 = '' OR v.工时类型 = @工时类型) + GROUP BY v.订单合同号, v.产品编码, v.产品名称 + ), + 工序工时明细 AS ( + SELECT + v.订单合同号 AS 合同号, + v.产品编码, + v.工序名称, + MAX(v.工序说明) AS 工序说明, + 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 计划完成, + MAX(v.计划数量) AS 计划数量 + FROM 工时基础 v + WHERE (@开始日期 IS NULL OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL 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 '%' + @订单号 + '%') + AND (@工时类型 IS NULL OR @工时类型 = '' OR v.工时类型 = @工时类型) + GROUP BY v.订单合同号, v.产品编码, v.工序名称, v.工时类型, v.操作人, v.订单号 + ) + SELECT + 1 AS [Level], + 合同号 AS contractNo, + 产品名称 AS materialDesc, + 产品编码 AS materialCode, + CAST(NULL AS DECIMAL(19,6)) AS 计划数量, + '' AS processName, + '' AS 工序说明, + '' AS 工时类型, + '' 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 计划数量, + d.工序名称 AS processName, + ISNULL(d.工序说明, '') AS 工序说明, + d.工时类型 AS 工时类型, + 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, + @工时类型 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + IF @开始日期 = CONVERT(DATE, '19000101', 112) SET @开始日期 = NULL; + IF @结束日期 = CONVERT(DATE, '19000101', 112) SET @结束日期 = NULL; + + ;WITH 人员班组 AS ( + SELECT + LTRIM(RTRIM(Personnel_Name)) AS Personnel_Name, + MAX(NULLIF(LTRIM(RTRIM(班组)), '')) AS 班组 + FROM [YL_MESDB].[dbo].[登录基础数据_人员信息] + WHERE Personnel_Name IS NOT NULL + GROUP BY LTRIM(RTRIM(Personnel_Name)) + ), + 工时基础 AS ( + SELECT + v.*, + ISNULL(p.班组, '未分类') AS 工时类型, + CASE + WHEN v.操作类别 IN ('报工', '辅助结束') AND ISNULL(v.加工工时, 0) > 0 THEN ISNULL(v.加工工时, 0) + WHEN v.操作类别 IN ('报工', '辅助结束') AND ISNULL(v.总时长, 0) > 0 AND ISNULL(v.加工工时, 0) = 0 THEN ISNULL(v.总时长, 0) + WHEN v.操作类别 LIKE '%加班%' AND ISNULL(v.总时长, 0) > 0 THEN ISNULL(v.总时长, 0) + WHEN v.操作类别 = '开始加工' AND ISNULL(v.总时长, 0) > 0 THEN ISNULL(v.总时长, 0) + ELSE 0 + END AS 有效工时秒 + FROM View_生产工时视图全部 v + LEFT JOIN 人员班组 p ON LTRIM(RTRIM(v.操作人)) = p.Personnel_Name + ), + 任务汇总 AS ( + SELECT + 订单合同号 AS 合同号, + 订单号, + 产品编码, + 产品名称, + 工序名称, + MAX(工序说明) 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 工时基础 + WHERE (@开始日期 IS NULL OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL 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 '%' + @订单号 + '%') + AND (@工时类型 IS NULL OR @工时类型 = '' OR 工时类型 = @工时类型) + 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 工时基础 + WHERE (@开始日期 IS NULL OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL 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 '%' + @订单号 + '%') + AND (@工时类型 IS NULL OR @工时类型 = '' OR 工时类型 = @工时类型) + ) + SELECT + 1 AS [Level], + ISNULL(合同号, '') AS contractNo, + ISNULL(订单号, '') AS orderNo, + ISNULL(产品编码, '') AS productCode, + ISNULL(产品名称, '') AS productName, + ISNULL(工序名称, '') AS processName, + ISNULL(工序说明, '') AS 工序说明, + CAST(计划数量 AS DECIMAL(19,6)) AS 计划数量, + ISNULL(工时类型, '') AS 工时类型, + '' 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 工序说明, + CAST(计划数量 AS DECIMAL(19,6)) AS 计划数量, + ISNULL(工时类型, '') AS 工时类型, + 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 diff --git a/db_backups/alter_timesheet_operator_task_worktype_planqty_20260623.sql b/db_backups/alter_timesheet_operator_task_worktype_planqty_20260623.sql new file mode 100644 index 0000000..367de29 --- /dev/null +++ b/db_backups/alter_timesheet_operator_task_worktype_planqty_20260623.sql @@ -0,0 +1,328 @@ +USE [YL_MESDB] +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER OFF +GO + +ALTER PROCEDURE [dbo].[工时统计_作业者工时_查询] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @工时类型 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + ;WITH 人员班组 AS ( + SELECT + LTRIM(RTRIM(Personnel_Name)) AS Personnel_Name, + MAX(NULLIF(LTRIM(RTRIM(班组)), '')) AS 班组 + FROM [YL_MESDB].[dbo].[登录基础数据_人员信息] + WHERE Personnel_Name IS NOT NULL + GROUP BY LTRIM(RTRIM(Personnel_Name)) + ), + 工时基础 AS ( + SELECT + v.*, + ISNULL(p.班组, '未分类') AS 工时类型, + CASE + WHEN v.操作类别 IN ('报工', '辅助结束') AND ISNULL(v.加工工时, 0) > 0 THEN ISNULL(v.加工工时, 0) + WHEN v.操作类别 IN ('报工', '辅助结束') AND ISNULL(v.总时长, 0) > 0 AND ISNULL(v.加工工时, 0) = 0 THEN ISNULL(v.总时长, 0) + WHEN v.操作类别 LIKE '%加班%' AND ISNULL(v.总时长, 0) > 0 THEN ISNULL(v.总时长, 0) + WHEN v.操作类别 = '开始加工' AND ISNULL(v.总时长, 0) > 0 THEN ISNULL(v.总时长, 0) + WHEN v.操作类别 = '异常' THEN -ISNULL(v.总时长, 0) + ELSE 0 + END AS 有效工时秒 + FROM [dbo].[View_生产工时视图] v + LEFT JOIN 人员班组 p ON LTRIM(RTRIM(v.操作人)) = p.Personnel_Name + ), + 操作人汇总 AS ( + SELECT + 操作人, + COUNT(*) AS 报工次数, + SUM(CASE + WHEN 操作类别 NOT IN ('异常') THEN 操作数值 + WHEN 操作类别 = '异常' THEN -操作数值 + ELSE 0 + END) AS 报工数量, + CAST(SUM(有效工时秒) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 总工时小时 + FROM 工时基础 + 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 (@工时类型 IS NULL OR @工时类型 = '' OR 工时类型 = @工时类型) + 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(有效工时秒) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 工时小时 + FROM 工时基础 + 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 (@工时类型 IS NULL OR @工时类型 = '' OR 工时类型 = @工时类型) + 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(有效工时秒 / 60.0 / 60.0 AS DECIMAL(10,2)) AS 工时小时, + 异常说明, + 工序说明, + 操作类别 + FROM 工时基础 + 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 (@工时类型 IS NULL OR @工时类型 = '' OR 工时类型 = @工时类型) + 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, + CAST(NULL AS DECIMAL(19,6)) AS 计划数量, + '' AS 工时类型, + '' 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, + CAST(NULL AS DECIMAL(19,6)) AS 计划数量, + '' AS 工时类型, + '' 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, + 计划数量 AS 计划数量, + ISNULL(工时类型, '') AS 工时类型, + 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, + @工时类型 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + ;WITH 人员班组 AS ( + SELECT + LTRIM(RTRIM(Personnel_Name)) AS Personnel_Name, + MAX(NULLIF(LTRIM(RTRIM(班组)), '')) AS 班组 + FROM [YL_MESDB].[dbo].[登录基础数据_人员信息] + WHERE Personnel_Name IS NOT NULL + GROUP BY LTRIM(RTRIM(Personnel_Name)) + ), + 工时基础 AS ( + SELECT + v.*, + ISNULL(p.班组, '未分类') AS 工时类型, + CASE + WHEN v.操作类别 IN ('报工', '辅助结束') AND ISNULL(v.加工工时, 0) > 0 THEN ISNULL(v.加工工时, 0) + WHEN v.操作类别 IN ('报工', '辅助结束') AND ISNULL(v.总时长, 0) > 0 AND ISNULL(v.加工工时, 0) = 0 THEN ISNULL(v.总时长, 0) + WHEN v.操作类别 LIKE '%加班%' AND ISNULL(v.总时长, 0) > 0 THEN ISNULL(v.总时长, 0) + WHEN v.操作类别 = '开始加工' AND ISNULL(v.总时长, 0) > 0 THEN ISNULL(v.总时长, 0) + ELSE 0 + END AS 有效工时秒 + FROM View_生产工时视图 v + LEFT JOIN 人员班组 p ON LTRIM(RTRIM(v.操作人)) = p.Personnel_Name + ), + 任务汇总 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 工时基础 + 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 '%' + @订单号 + '%') + AND (@工时类型 IS NULL OR @工时类型 = '' OR 工时类型 = @工时类型) + 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 工时基础 + 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 '%' + @订单号 + '%') + AND (@工时类型 IS NULL OR @工时类型 = '' OR 工时类型 = @工时类型) + ) + SELECT + 1 AS [Level], + ISNULL(合同号, '') AS contractNo, + ISNULL(订单号, '') AS orderNo, + ISNULL(产品编码, '') AS productCode, + ISNULL(产品名称, '') AS productName, + ISNULL(工序名称, '') AS processName, + CAST(计划数量 AS DECIMAL(19,6)) AS 计划数量, + ISNULL(工时类型, '') AS 工时类型, + '' 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, + CAST(计划数量 AS DECIMAL(19,6)) AS 计划数量, + ISNULL(工时类型, '') AS 工时类型, + 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 diff --git a/db_backups/alter_工时统计_设备工时_查询_add_shift_reporttype_20260623.sql b/db_backups/alter_工时统计_设备工时_查询_add_shift_reporttype_20260623.sql new file mode 100644 index 0000000..b4ac439 --- /dev/null +++ b/db_backups/alter_工时统计_设备工时_查询_add_shift_reporttype_20260623.sql @@ -0,0 +1,152 @@ +USE [YL_MESDB] +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +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 (N'报工', N'辅助结束') THEN 操作数值 ELSE 0 END) AS 报工数量, + CAST(SUM(加工工时) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 总工时小时 + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL 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 (N'报工', N'辅助结束') THEN 操作数值 ELSE 0 END) AS 报工数量, + CAST(SUM(加工工时) / 60.0 / 60.0 AS DECIMAL(10,1)) AS 工时小时 + FROM View_生产工时视图 + WHERE (@开始日期 IS NULL OR 结束时间 >= @开始日期) + AND (@结束日期 IS NULL 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 操作描述 LIKE N'%白班%' THEN N'白班' + WHEN 操作描述 LIKE N'%夜班%' THEN N'夜班' + ELSE N'' + END AS 班次, + 操作类别 AS 报工类型, + CASE WHEN 操作类别 IN (N'报工', N'辅助结束') 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 结束时间 >= @开始日期) + AND (@结束日期 IS NULL 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 报工类型, + '' 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 报工类型, + '' 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 报工类型, + 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/db_backups/alter_工时统计_项目工时_查询_add_workhour_type_20260623.sql b/db_backups/alter_工时统计_项目工时_查询_add_workhour_type_20260623.sql new file mode 100644 index 0000000..a81b07a --- /dev/null +++ b/db_backups/alter_工时统计_项目工时_查询_add_workhour_type_20260623.sql @@ -0,0 +1,132 @@ +USE [YL_MESDB] +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER OFF +GO + +ALTER PROCEDURE [dbo].[工时统计_项目工时_查询] + @合同号 NVARCHAR(50) = NULL, + @操作人 NVARCHAR(50) = NULL, + @产品编码 NVARCHAR(100) = NULL, + @工序名称 NVARCHAR(50) = NULL, + @订单号 NVARCHAR(50) = NULL, + @工时类型 NVARCHAR(50) = NULL, + @开始日期 DATE = NULL, + @结束日期 DATE = NULL +AS +BEGIN + SET NOCOUNT ON; + + ;WITH 人员班组 AS ( + SELECT + LTRIM(RTRIM(Personnel_Name)) AS Personnel_Name, + MAX(NULLIF(LTRIM(RTRIM(班组)), '')) AS 班组 + FROM [YL_MESDB].[dbo].[登录基础数据_人员信息] + WHERE Personnel_Name IS NOT NULL + GROUP BY LTRIM(RTRIM(Personnel_Name)) + ), + 工时基础 AS ( + SELECT + v.*, + ISNULL(p.班组, '未分类') AS 工时类型, + CASE + WHEN v.操作类别 IN ('报工', '辅助结束') AND ISNULL(v.加工工时, 0) > 0 THEN ISNULL(v.加工工时, 0) + WHEN v.操作类别 IN ('报工', '辅助结束') AND ISNULL(v.总时长, 0) > 0 AND ISNULL(v.加工工时, 0) = 0 THEN ISNULL(v.总时长, 0) + WHEN v.操作类别 LIKE '%加班%' AND ISNULL(v.总时长, 0) > 0 THEN ISNULL(v.总时长, 0) + WHEN v.操作类别 = '开始加工' AND ISNULL(v.总时长, 0) > 0 THEN ISNULL(v.总时长, 0) + ELSE 0 + END AS 有效工时秒 + FROM View_生产工时视图 v + LEFT JOIN 人员班组 p ON LTRIM(RTRIM(v.操作人)) = p.Personnel_Name + ), + 订单工时汇总 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 工时基础 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 '%' + @订单号 + '%') + AND (@工时类型 IS NULL OR @工时类型 = '' OR v.工时类型 = @工时类型) + GROUP BY v.订单合同号, v.产品编码, v.产品名称 + ), + 工序工时明细 AS ( + SELECT + v.订单合同号 AS 合同号, + v.产品编码, + 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 计划完成, + MAX(v.计划数量) AS 计划数量 + FROM 工时基础 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 '%' + @订单号 + '%') + AND (@工时类型 IS NULL OR @工时类型 = '' OR v.工时类型 = @工时类型) + GROUP BY v.订单合同号, v.产品编码, v.工序名称, v.工时类型, v.操作人, v.订单号 + ) + SELECT + 1 AS [Level], + 合同号 AS contractNo, + 产品名称 AS materialDesc, + 产品编码 AS materialCode, + CAST(NULL AS DECIMAL(19,6)) AS 计划数量, + '' AS processName, + '' AS 工时类型, + '' 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 计划数量, + d.工序名称 AS processName, + d.工时类型 AS 工时类型, + 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 diff --git a/db_backups/sp_xt_pagesplit_before_qualitydetails_check_20260625.sql b/db_backups/sp_xt_pagesplit_before_qualitydetails_check_20260625.sql new file mode 100644 index 0000000..ee1b3ef --- /dev/null +++ b/db_backups/sp_xt_pagesplit_before_qualitydetails_check_20260625.sql @@ -0,0 +1,94 @@ +CREATE PROCEDURE [dbo].[sp_xt_pagesplit] +@tbname sysname, +@fieldkey sysname, +@where nvarchar(1000), +@fieldshow nvarchar(max), +@fieldOrder nvarchar(1000), +@PageCurrent int=1, +@PageSize int=30, +@PageCount int OUTPUT, +@ItemCount int output +AS +BEGIN + SET NOCOUNT ON + + -- 参数检查 + IF ISNULL(@PageCurrent,0)<1 SET @PageCurrent=1 + IF ISNULL(@PageSize,0)<1 SET @PageSize=10 + IF ISNULL(@FieldShow,N'')=N'' SET @FieldShow=N'*' + + -- 处理排序 + DECLARE @OrderBy nvarchar(1000) + IF ISNULL(@FieldOrder,N'')=N'' + SET @OrderBy = N'' + ELSE + SET @OrderBy = N'ORDER BY ' + LTRIM(@FieldOrder) + + -- 处理条件 - 重要:去掉WHERE关键字,只保留条件内容 + DECLARE @WhereCondition nvarchar(1000) + IF ISNULL(@Where,N'')=N'' + SET @WhereCondition = N'' + ELSE + SET @WhereCondition = @Where -- 只保存条件内容,不加WHERE + + -- 清理字段名 + SET @fieldkey = LTRIM(RTRIM(@fieldkey)) + DECLARE @quotedKey NVARCHAR(128) = QUOTENAME(@fieldkey) + + -- 计算总记录数 + DECLARE @sql nvarchar(MAX) + IF @WhereCondition = N'' + SET @sql = N'SELECT @ItemCount = COUNT(*) FROM ' + @tbname + ELSE + SET @sql = N'SELECT @ItemCount = COUNT(*) FROM ' + @tbname + N' WHERE ' + @WhereCondition + + EXEC sp_executesql @sql, N'@ItemCount int OUTPUT', @ItemCount OUTPUT + + -- 计算总页数 + SET @PageCount = CEILING((@ItemCount + 0.0) / @PageSize) + IF @PageCount = 0 SET @PageCount = 1 + + -- 返回当前页数据 + DECLARE @TopRows INT = (@PageCurrent - 1) * @PageSize + + IF @PageCurrent = 1 + BEGIN + -- 第一页 + IF @WhereCondition = N'' + SET @sql = N'SELECT TOP ' + CONVERT(NVARCHAR, @PageSize) + N' ' + @FieldShow + N' + FROM ' + @tbname + N' ' + @OrderBy + ELSE + SET @sql = N'SELECT TOP ' + CONVERT(NVARCHAR, @PageSize) + N' ' + @FieldShow + N' + FROM ' + @tbname + N' WHERE ' + @WhereCondition + N' ' + @OrderBy + END + ELSE + BEGIN + -- 其他页 + IF @WhereCondition = N'' + BEGIN + -- 无条件的情况 + SET @sql = N'SELECT TOP ' + CONVERT(NVARCHAR, @PageSize) + N' ' + @FieldShow + N' + FROM ' + @tbname + N' + WHERE ' + @quotedKey + N' NOT IN ( + SELECT TOP ' + CONVERT(NVARCHAR, @TopRows) + N' ' + @quotedKey + N' + FROM ' + @tbname + N' ' + @OrderBy + N' + ) ' + @OrderBy + END + ELSE + BEGIN + -- 有条件的情况 + SET @sql = N'SELECT TOP ' + CONVERT(NVARCHAR, @PageSize) + N' ' + @FieldShow + N' + FROM ' + @tbname + N' + WHERE ' + @quotedKey + N' NOT IN ( + SELECT TOP ' + CONVERT(NVARCHAR, @TopRows) + N' ' + @quotedKey + N' + FROM ' + @tbname + N' WHERE ' + @WhereCondition + N' ' + @OrderBy + N' + ) AND ' + @WhereCondition + N' ' + @OrderBy + END + END + + -- 调试用,可以注释掉 + -- PRINT @sql + + -- 执行 + EXEC(@sql) +END diff --git a/db_backups/工时统计_任务工时_查询_before_add_assignee_20260622_172419.sql b/db_backups/工时统计_任务工时_查询_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..c0e8318 --- /dev/null +++ b/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/db_backups/工时统计_任务工时_查询_导出_before_add_assignee_20260622_172419.sql b/db_backups/工时统计_任务工时_查询_导出_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..eeff329 --- /dev/null +++ b/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/db_backups/工时统计_作业者工时_查询_before_add_assignee_20260622_172419.sql b/db_backups/工时统计_作业者工时_查询_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..4d977bb --- /dev/null +++ b/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/db_backups/工时统计_作业者工时_查询_导出_before_add_assignee_20260622_172419.sql b/db_backups/工时统计_作业者工时_查询_导出_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..4af8454 --- /dev/null +++ b/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/db_backups/工时统计_设备工时_查询_before_add_assignee_20260622_172419.sql b/db_backups/工时统计_设备工时_查询_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..1a730a7 --- /dev/null +++ b/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/db_backups/工时统计_设备工时_查询_导出_before_add_assignee_20260622_172419.sql b/db_backups/工时统计_设备工时_查询_导出_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..99c138d --- /dev/null +++ b/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/db_backups/工时统计_项目工时_查询_before_add_assignee_20260622_172419.sql b/db_backups/工时统计_项目工时_查询_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..f722360 --- /dev/null +++ b/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/db_backups/工时统计_项目工时_查询_导出_before_add_assignee_20260622_172419.sql b/db_backups/工时统计_项目工时_查询_导出_before_add_assignee_20260622_172419.sql new file mode 100644 index 0000000..a57fb15 --- /dev/null +++ b/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/db_backups/生产管理_生产计划跟踪_before_add_standard_hours_20260622_173740.sql b/db_backups/生产管理_生产计划跟踪_before_add_standard_hours_20260622_173740.sql new file mode 100644 index 0000000..7974e70 --- /dev/null +++ b/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/db_backups/质量管理_质检明细_查询_before_fieldkey_20260625.sql b/db_backups/质量管理_质检明细_查询_before_fieldkey_20260625.sql new file mode 100644 index 0000000..2e50973 --- /dev/null +++ b/db_backups/质量管理_质检明细_查询_before_fieldkey_20260625.sql @@ -0,0 +1,94 @@ + +-- 质量管理_质检明细_查询 +CREATE PROCEDURE [dbo].[质量管理_质检明细_查询] + @质检类型 nvarchar(4000) = '10', -- 修改为字符串类型,因为传入的是字符串 + @开始日期 datetime = NULL, + @结束日期 datetime = NULL, + @订单号 nvarchar(4000) = '0', -- 修改为字符串类型,避免类型转换问题 + @合同号 nvarchar(4000) = '0', + @零件编码 nvarchar(4000) = '0', + @零件名称 nvarchar(4000) = '0', + @PageCurrent int = 1, -- 要显示的页码 + @PageSize int = 20, -- 每页的大小(记录数) + @PageCount int OUTPUT, -- 总页数 + @ItemCount int OUTPUT -- 数据总数 +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @tbname sysname = ' [dbo].[View_质检明细] ' -- 要分页显示的表名 + DECLARE @fieldkey sysname = ' ' -- 用于定位记录的主键(惟一键)字段 + DECLARE @where nvarchar(4000) -- 查询条件 + DECLARE @fieldshow nvarchar(1000) -- 要显示的字段列表 + DECLARE @fieldOrder nvarchar(1000) = ' 检测时间 DESC ' -- 排序字段 + + -- 构建查询条件(使用参数化方式,避免SQL注入) + SET @where = ' (1=1) ' + + -- 质检类型过滤 + IF @质检类型 = '10' -- 全部 + SET @where = @where + ' AND (1=1) ' + ELSE IF @质检类型 = '0' + SET @where = @where + ' AND 质检类型 = ''收检'' ' + ELSE IF @质检类型 = '1' + SET @where = @where + ' AND 质检类型 = ''终检'' ' + ELSE IF @质检类型 = '2' + SET @where = @where + ' AND 质检类型 = ''来料检验'' ' + ELSE IF @质检类型 = '3' + SET @where = @where + ' AND 质检类型 = ''退库检验'' ' + + -- 订单号过滤条件(修正:使用LIKE时加引号) + IF @订单号 <> '0' + SET @where = @where + ' AND 计划号 LIKE ''%' + @订单号 + '%'' ' + + -- 合同号过滤条件 + --IF @合同号 <> '0' + -- SET @where = @where + ' AND 内部合同号 LIKE ''%' + @合同号 + '%'' ' + + -- 零件编码过滤条件 + IF @零件编码 <> '0' + SET @where = @where + ' AND 零件编码 LIKE ''%' + @零件编码 + '%'' ' + + -- 零件名称过滤条件 + IF @零件名称 <> '0' + SET @where = @where + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'' ' + + -- 日期范围过滤(如果提供了日期参数) + IF @开始日期 IS NOT NULL + SET @where = @where + ' AND 检测时间 >= ''' + CONVERT(nvarchar(30), @开始日期, 120) + ''' ' + + IF @结束日期 IS NOT NULL + SET @where = @where + ' AND 检测时间 <= ''' + CONVERT(nvarchar(30), @结束日期, 120) + ''' ' + + SET @fieldshow = ' + [QT_AID] + ,[质检类型] + ,[零件编码] + ,[零件名称] + ,[内部合同号] + ,[计划号] + ,[工序名称] + ,[检验数量] + ,[合格数] + ,[不合格数] + ,[检测人] + ,[检测时间] + ,[检测说明] + ,[工位名称] + ,[订单类型]' + + -- 调试用(可以注释掉) + PRINT @where + + -- 执行分页存储过程 + EXEC [dbo].[sp_xt_pagesplit] + @tbname, + @fieldkey, + @where, + @fieldshow, + @fieldOrder, + @PageCurrent, + @PageSize, + @PageCount OUTPUT, + @ItemCount OUTPUT +END diff --git a/MES_功能列表_页面_存储过程映射.md b/doc_old/MES_功能列表_页面_存储过程映射.md similarity index 100% rename from MES_功能列表_页面_存储过程映射.md rename to doc_old/MES_功能列表_页面_存储过程映射.md diff --git a/MES_技术分析报告.md b/doc_old/MES_技术分析报告.md similarity index 100% rename from MES_技术分析报告.md rename to doc_old/MES_技术分析报告.md diff --git a/MES_用户操作手册.md b/doc_old/MES_用户操作手册.md similarity index 100% rename from MES_用户操作手册.md rename to doc_old/MES_用户操作手册.md diff --git a/MES_程序使用说明书.md b/doc_old/MES_程序使用说明书.md similarity index 100% rename from MES_程序使用说明书.md rename to doc_old/MES_程序使用说明书.md diff --git a/doc_old/MacroinfManage_MES.code-workspace b/doc_old/MacroinfManage_MES.code-workspace new file mode 100644 index 0000000..2a0ed79 --- /dev/null +++ b/doc_old/MacroinfManage_MES.code-workspace @@ -0,0 +1,7 @@ +{ + "folders": [ + { + "path": ".." + } + ] +} \ No newline at end of file diff --git a/doc_old/fix_机加设备生产运营看板_加急任务查询.sql b/doc_old/fix_机加设备生产运营看板_加急任务查询.sql new file mode 100644 index 0000000..55ac683 --- /dev/null +++ b/doc_old/fix_机加设备生产运营看板_加急任务查询.sql @@ -0,0 +1,69 @@ +USE [YL_MESDB] +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO + +ALTER PROCEDURE [dbo].[机加设备生产运营看板_加急任务查询] +AS +BEGIN + SET NOCOUNT ON; + + SELECT + [订单编号] + ,[合同号] + ,[订单类型] + ,[订单状态] + ,[物料编号] + ,[物料描述] + ,[计划数量] + ,[计量单位] + ,[下达日期] + ,[计划开始时间] + ,[计划完成] + ,[自制件属性] + ,加急总数 as 加急数量 + ,工序名称 + ,指派对象 + ,外协分组 + ,REPLACE(STUFF(( + SELECT + ' -> ' + ISNULL(d2.工序名称, '') + '(' + ISNULL(d2.指派对象, '') + ')' + + '|' + ISNULL(CAST(d2.加工状态 AS VARCHAR(10)), '0') + + '|' + ISNULL(CAST(CAST(ISNULL(( + SELECT SUM(合格数) + FROM [dbo].[YL_质量检验_质检记录] + WHERE TaskAID = d2.TaskAID + ), 0) AS INT) AS VARCHAR(10)), '0') + + '|' + ISNULL(CONVERT(VARCHAR(2), MONTH(d2.计划开始时间)) + '月' + CONVERT(VARCHAR(2), DAY(d2.计划开始时间)) + '日', '') + + '|' + ISNULL(CAST(d2.订单行号 AS VARCHAR(10)), '') + + '|' + ISNULL(CAST(d2.外协分组 AS NVARCHAR(50)), '') + + '|' + ISNULL(CAST(CAST(ISNULL(( + SELECT SUM(操作数值) + FROM [dbo].[YL_加工中心_操作记录表] + WHERE TaskAID = d2.TaskAID + AND 操作类别 = '收料' + ), 0) AS INT) AS VARCHAR(10)), '0') + + '|' + ISNULL(CAST(CAST(ISNULL(( + SELECT SUM(不合格数) + FROM [dbo].[YL_质量检验_质检记录] + WHERE TaskAID = d2.TaskAID + ), 0) AS INT) AS VARCHAR(10)), '0') + FROM [dbo].[View_生产订单_MES] d2 + WHERE d2.订单编号 = v.订单编号 + ORDER BY d2.订单行号 + FOR XML PATH('') + ), 1, 6, ''), '>', '>') AS 工序进度详情 + ,(SELECT COUNT(DISTINCT 订单编号) FROM [YL_MESDB].[dbo].[View_生产订单_MES] WHERE 加急总数 > 0 AND 指派对象 NOT LIKE '%装配%') AS [加急订单总数] +FROM [YL_MESDB].[dbo].[View_生产订单_MES] v +WHERE 加急总数 > 0 +AND 指派对象 NOT LIKE '%装配%' +AND 订单行号 = ( + SELECT MIN(订单行号) + FROM [YL_MESDB].[dbo].[View_生产订单_MES] + WHERE 订单编号 = v.订单编号 +) + +END diff --git a/fix_生产管理_外协报表_查询.sql b/doc_old/fix_生产管理_外协报表_查询.sql similarity index 100% rename from fix_生产管理_外协报表_查询.sql rename to doc_old/fix_生产管理_外协报表_查询.sql diff --git a/fix_质量管理_入库质检任务_查询.sql b/doc_old/fix_质量管理_入库质检任务_查询.sql similarity index 100% rename from fix_质量管理_入库质检任务_查询.sql rename to doc_old/fix_质量管理_入库质检任务_查询.sql diff --git a/doc_old/index.html b/doc_old/index.html new file mode 100644 index 0000000..e726634 --- /dev/null +++ b/doc_old/index.html @@ -0,0 +1,16 @@ + + + + + + <%= htmlWebpackPlugin.options.title %> + + + + + +
+ + + + diff --git a/doc_old/sql_异常提醒_装配及时送检_查询.sql b/doc_old/sql_异常提醒_装配及时送检_查询.sql new file mode 100644 index 0000000..0723a24 --- /dev/null +++ b/doc_old/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/doc_old/~$开发计划与新增需求分析记录_2026-05-27.docx b/doc_old/~$开发计划与新增需求分析记录_2026-05-27.docx new file mode 100644 index 0000000..68d0529 Binary files /dev/null and b/doc_old/~$开发计划与新增需求分析记录_2026-05-27.docx differ diff --git a/doc_old/今后开发计划_2026-05-27.md b/doc_old/今后开发计划_2026-05-27.md new file mode 100644 index 0000000..8a5bdc5 --- /dev/null +++ b/doc_old/今后开发计划_2026-05-27.md @@ -0,0 +1,77 @@ +# 今后开发计划与新增需求分析记录 + +生成日期:2026-05-27 +项目:MES_Manage_View_V20 + +## 一、排期口径 + +- 按“最终调整”数字从小到大排序。 +- 从 2026-05-28 开始排期。 +- 按工作日递推,跳过周六、周日。 +- 跳过端午节、中秋节、国庆节法定放假日期。 +- 调休日按工作日处理。 +- 暂按单开发线串行排期。 + +节假日口径: + +- 端午节:2026-06-19 至 2026-06-21。 +- 中秋节:2026-09-25 至 2026-09-27。 +- 国庆节:2026-10-01 至 2026-10-07。 +- 调休上班日:2026-09-20、2026-10-10。 + +## 二、开发计划排期 + +| 顺序 | 需求 | 预估 | 开始 | 结束 | 备注 | +|---:|---|---:|---|---|---| +| 1 | 及时开工报表 | 1天 | 5.28 | 5.29 | 增加正选/反选查询 | +| 2 | 机加件排产-表单 | 4天 | 5.29 | 6.04 | 日期筛选优化 + 历史工时查询;SAP新增字段不算MES开发 | +| 3 | 装配已排产需求 | 12天 | 6.04 | 6.23 | 大需求,建议分阶段交付 | +| 4 | 生产日报-送检(机加/装配) | 3天 | 6.23 | 6.26 | 建议统一报表,部门做筛选维度 | +| 5 | 及时齐套跟踪结果报表 | 5天 | 6.26 | 7.03 | 依赖SAP缺件明细实时接口 | +| 6 | 生产计划跟踪 | 3天 | 7.03 | 7.08 | 工序状态、颜色、标准工时、订单状态 | +| 7 | 外协任务检验 | 3天 | 7.08 | 7.13 | 增加指派对象、供应商、SAP采购收货单号 | +| 8 | 异常管控 | 5天 | 7.13 | 7.20 | 报工页面直接报异常,多审批人可见一人处理 | +| 9 | 机加班次产量表 | 3天 | 7.20 | 7.23 | 新增报表 | +| 10 | 发货通知列表 | 1天 | 7.23 | 7.24 | SAP数据已提供,可新增查询报表 | +| 11 | 质检任务早知道 | 1天 | 7.24 | 7.27 | 依赖“装配已排产需求”的装配完成时间 | +| 12 | 生产工艺 | 2天 | 7.27 | 7.29 | 无生产工艺时自动带出标准工艺 | +| 13 | 工时报表 + 备注类小改 | 2天 | 7.29 | 7.31 | 指派对象、机加领料备注、机加/装配退库备注、保存提示等合并处理 | +| 14 | 生产订单关闭 | 4天 | 7.31 | 8.06 | 批量更新SAP订单状态,风险较高 | +| 15 | 及时检验报表 | 4天 | 8.06 | 8.12 | 报工超过2天未检验 | +| 16 | 工序流转卡 | 1天 | 8.12 | 8.13 | 增加打印原料编码 | +| 17 | 一楼质检大屏幕 | 4天 | 8.13 | 8.19 | 及时率、关键工序 | +| 18 | 机加现场大屏幕 | 3天 | 8.19 | 8.24 | 缺勤、关键工序 | +| 19 | 装配现场大屏幕 | 4天 | 8.24 | 8.28 | 缺勤、及时送检 | +| 20 | 编程任务清单 | 4天 | 8.28 | 9.03 | 按装配类似逻辑做编程报工 | +| 21 | 设备档案管理 | 2天 | 9.03 | 9.07 | 需先确认字段归属 | +| 22 | 设备数据采集 | 8天 | 9.07 | 9.17 | 采集接口、落库、状态汇总 | +| 23 | 设备指标/OEE | 6天 | 9.17 | 9.24 | 依赖设备采集和标准工时口径 | +| 24 | 工时查询-设备采集联动 | 2天 | 9.24 | 9.29 | 程序工时字段对接采集数据 | +| 25 | 手续确认报表 | 3天 | 9.29 | 10.09 | 装配/电气齐套列表 + 手续确认 | +| 26 | 产品合格率(工位) | 3天 | 10.09 | 10.13 | 需确认良品/总产量口径 | +| 27 | 让步接收记录 | 2天 | 10.13 | 10.15 | 新增查询页面 | +| 28 | 设计任务报工模块 | 6天 | 10.15 | 10.23 | MES自建设计任务、设计工时 | +| 29 | 工时异常报表 | 2天 | 10.23 | 10.27 | 依赖标准工时和实际单件工时 | +| 30 | 正在加工状态 | 1天 | 10.27 | 10.28 | 机加正在进行中状态 | + +## 三、暂不直接排期 / 需等前置条件 + +| 需求 | 原因 | +|---|---| +| 及时拣配(机加)MES | 等SAP数据、条码规则、状态写回规则 | +| 及时拣配(装配)MES | 等SAP数据、条码规则、状态写回规则 | +| 及时送检报表 | 需确认发料齐套时间/SAP字段是否稳定;若SAP数据已到,可插入0.5天 | +| 工艺内容修改 | 已开工任务怎么处理未定 | +| 标牌打印操作 | 需求未确定 | +| 首检、巡检 | 需求内容为空,无法估时 | +| 外协采购订单收检结果 | 需求内容为空,无法估时 | +| 不合格品单据打印 | 需求内容为空,无法估时 | + +## 四、排期结论 + +按以上单线工作日计划,已明确可做事项预计到 2026-10-28 完成。 + +实际执行建议先做 5.28 到 6.23 的前三项,因为它们优先级最高,且“装配已排产需求”会影响后面的质检早知道、日计划、及时送检等需求。 + +## 五、新增需求分析与开发记录原文 + diff --git a/doc_old/今后开发计划与新增需求分析记录_2026-05-27.docx b/doc_old/今后开发计划与新增需求分析记录_2026-05-27.docx new file mode 100644 index 0000000..10399e1 Binary files /dev/null and b/doc_old/今后开发计划与新增需求分析记录_2026-05-27.docx differ diff --git a/doc_old/今日工作汇报_2026-05-23.txt b/doc_old/今日工作汇报_2026-05-23.txt new file mode 100644 index 0000000..274d21a --- /dev/null +++ b/doc_old/今日工作汇报_2026-05-23.txt @@ -0,0 +1,137 @@ +今日工作汇报 + +日期:2026年5月23日 + +一、今日已处理问题 + +1. 修复采购收货检备注问题 +已处理采购收货检验相关备注字段异常,保证备注信息能够正常记录、查询和展示。 + +2. 查询序检因已入库导致质检失败的原因 +已排查序检过程中因生产订单或物料已入库导致质检失败的问题,明确该类失败与当前入库状态校验逻辑有关,后续如需优化,需要结合入库状态、质检状态和业务允许范围进一步确认处理规则。 + +3. 修改生产任务看板未按期齐套任务数据 +已调整生产任务看板中“未按期齐套任务”相关数据逻辑,修正看板展示数据与实际业务状态不一致的问题。 + +二、今日需求分析记录 + +1. 工艺内容修改 +已分析该需求。由于涉及已开工任务,当前结论是不允许直接修改。后续如要支持,需要设计工艺版本、任务快照和已开工任务处理规则,目前暂不开发。 + +2. 机加件排产-表单 +已分析计划开始时间、计划完成时间筛选逻辑,后续改为按单日期查询。 +同时分析新增历史工时查询:在机加件已排产页面增加总工时字段,点击后弹窗查看明细,按设备、日期分组显示生产任务和工时合计,查询方式参考工时查询页面。 + +3. 工序流转卡 +已确认打印内容需要增加原料编码,开发周期约0.2天。 + +4. 生产计划跟踪 +已分析当前序展示逻辑。后续需要在当前序中显示完整工艺路线,并根据任务状态判断哪道序正在加工、哪些序等待加工。 +进度显示规则示例:当前工序加工中显示“打磨中”,当前工序完成后显示“打磨毕待喷漆”。 +括号内容为指派对象,外协工序括号中也显示指派对象。 +同时需要增加标准工时和订单状态字段。 + +5. 设计任务报工模块 +已分析该模块为MES自建任务,不依赖生产订单,不上传SAP。 +设计工时单独记录,后续用于报表和工时统计。 +质量、装配、机加工时分别来自各自业务模块,后续可按系统角色权限区分。 + +6. 工时报表 +已确认作业者工时新增指派对象字段,开发周期约0.1天。 +作业者工时一对多计算问题当前暂不修改,因为当前版本已不再按旧逻辑计算,需要后续重新确认规则。 + +7. 工时查询 +程序工时字段需要结合设备数据采集计算,后续可能新增设备信息。目前等待设备采集数据,不进入开发。 + +8. 生产领料(补充)-机加 +已确认领料单需要新增备注字段,开发周期约0.2天。 + +9. 生产退库-机加 +已确认按照装配退库方式增加备注字段,开发周期约0.2天。 + +10. 生产退库-装配 +已确认需要增加备注字段,开发周期约0.1天。 + +11. 机加班次产量表 +已分析为新增报表,按设备分组,设备下按日期、班次展示每天每班次干了哪些任务,支持时间和班次筛选。 + +12. 外协任务报表(采购) +已确认增加采购到货期说明字段,开发周期约0.1天。 + +13. 外协任务检验 / 序检 +已分析需要记录指派对象、供应商、SAP采购收货单号。 +当前表中没有记录设备,只记录工序,所以后续如果要做设备合格率暂时无法实现;增加供应商后,可以支持外协供应商合格率相关统计。 + +14. 手续确认报表 +已分析为新增页面。装配、电气发料齐套时间列表合并显示,展示内容参考装配中心。 +新增“手续确认”字段,点击选择已完成后消失。 +消失条件包括:手续确认已完成、生产订单取消/关闭、整单已入库。 + +15. 及时检验报表 +已分析为新增报表。统计生产报工完成后超过2天未检验的任务。 +数据依据为[YL_加工中心_操作记录表],条件包括操作类别为报工、操作数值大于0,并以结束时间作为起算时间。 + +16. 及时齐套跟踪结果报表 +已分析为新增报表。缺件明细为实时数据,来源SAP,通过生产订单号查询加急件明细。 +缺料物料的生产订单号需要绑定主生产订单号,支持多个子订单包含关系。 +页面需要支持展开查看缺件明细,并显示当前进度、排序、预计完成时间、预计可执行时间等信息。 + +17. 及时送检报表 +已确认为新需求,基于发料齐套时间,SAP数据已到,预计开发周期约0.5天。 + +18. 生产日报-送检(机加 / 装配) +已分析后续可能根据多个部门拆分多个报表,也可以先按部门筛选方式设计,避免重复开发。 + +19. 编程任务清单 +已分析本质为编程报工,类似装配中心的任务列表算法。 +后续需要按设备展示任务清单,并支持编程开始、结束、工时统计等功能。 + +20. 标牌打印操作 +当前需求未确定,暂不排开发周期。 + +21. 发货通知列表 +SAP已提供数据,大屏已显示,后续需要新增报表页面,预计开发周期约0.5天。 + +22. 生产订单关闭 +已分析需要新增批量更新SAP订单状态功能。 +后续开发时需要支持批量选择、调用SAP、记录成功失败结果,并防止重复关闭。 + +23. 制定标准工艺 +已确认点击保存时增加提示信息,开发周期约0.1天。 + +24. 生产工艺 +已分析编辑时如果没有生产工艺,需要自动带出标准工艺。 +带出内容作为编辑草稿,不应直接覆盖保存,避免误改生产工艺。 + +25. 异常管控 +已分析报工页面需要支持选择任务后直接报异常,不再进入异常页面后重新选择任务。 +审批人改为多选,一人处理即可,其他被选审批人也能看到任务。 +审批人来源不固定,可能来自部门、角色、组织层级或任意人员,因此都需要支持。 + +26. 及时开工报表 +已分析当前是指派对象反选查询,客户还需要正选查询页面。 +后续需要支持指派对象正选和反选两种查询方式。 + +27. 让步接收记录 +已分析为新增查询页面。数据来源为质检记录中让步接收字段不为空的数据。 + +28. 装配已排产需求 +已完成重点分析。该需求需要新增装配已排产需求界面,增加系统/非系统筛选。 +高压单元为系统,阀类为非系统,判断方式暂按物料名称关键字。 +新增装配完成时间,来源为发料齐套时间加3天,可手动修改,字段落库到生产计划表。 +还需要显示SAP派工时间、合同交货期,增加钣金预达、钣金到达、泵、当前对应人员、当前对应内容、累计工时、预计总工时、合同工时汇总、合同进度参考、预计剩余工时、生产异常等字段。 +工时按装配、质量、设计分类,装配来自装配报工,质量来自质检报工,设计来自新设计任务报工模块。 +同步需要做日计划报表,按装配完成时间分组,支持导出和打印。 + +29. 质检任务早知道 +已分析为新增页面,基于装配已排产需求中的装配完成时间,去掉已完成任务后,按装配完成时间分组展示。 + +三、今日分析结论 + +今日除已处理的三个问题外,主要完成了新增需求的逐项梳理,明确了哪些可以直接开发、哪些依赖SAP、哪些依赖设备采集、哪些需求暂不明确、哪些当前无法修改。 + +其中可直接进入开发的小项包括:工序流转卡原料编码、工时报表指派对象、领料/退库备注、外协采购到货期说明、发货通知列表、标准工艺保存提示等。 + +需要重点设计后再开发的需求包括:装配已排产需求、生产计划跟踪、及时齐套跟踪结果报表、设计任务报工、异常管控、手续确认报表。 + +依赖外部数据的需求包括:SAP派工时间、合同交货期、发料齐套时间、及时齐套缺件明细、设备数据采集工时。 diff --git a/doc_old/今日工作汇报_2026-05-25.md b/doc_old/今日工作汇报_2026-05-25.md new file mode 100644 index 0000000..b6105f1 --- /dev/null +++ b/doc_old/今日工作汇报_2026-05-25.md @@ -0,0 +1,151 @@ +# 元利 MES 项目 — 今日工作汇报 + +日期:2026-05-25 +项目:MES_Manage_View_V20 + +## 一、今日主要工作 + +### 1. 完成 `src/views` 页面与 SAP 交互分析整理 + +基于 `元利项目详细分析.md`,对主系统 `src/views` 中涉及 SAP 的页面调用进行了梳理,明确了 SAP 交互主要集中在以下业务链路: + +| 业务链路 | 涉及页面 | SAP 交互内容 | +|---|---|---| +| 机加/装配排产 | `SelfMakePlan`、`SelfMakePlando`、`SelfMakePlandone`、`InstallMakePlan`、`InstallMakePlanDo` | 回写 SAP 生产订单计划日期、派工信息、优先级、未完成说明 | +| 生产订单关闭 | `PlannOrderClose` | 更新 SAP 生产订单关闭状态 | +| 工序基础数据 | `ProcedureManagement` | 新增、查询、修改 SAP RouteStages | +| 工位资源维护 | `WorkstationManagement` | 新增、修改 SAP Resources | +| 外协业务 | `OutsourceMange`、`SaleOutsourceMange`、装配排产相关页面 | 创建 SAP 采购申请 | +| 工时校验/投料 | `WorkHoursCheck` | 查询 SAP 生产订单、更新工序资源、提交 InventoryGenExits | +| 质检/收货 | `processReceive`、`materialReturn`、`QualityCenter` | 查询 SAP 订单、创建采购收货单、生成库存任务 | + +分析结论: +- 当前系统不是单点 SAP 对接,而是计划、工艺、工位、生产、外协、质检、工时多个模块共同对接 SAP。 +- SAP 写操作失败会造成 MES 与 SAP 状态不一致,需要在后续开发中保留失败原因、同步状态和重试依据。 +- 生产订单关闭、工时校验、外协采购申请、采购收货是高风险操作,需要重点检查重复提交和半成功问题。 + +### 2. 生成元利项目详细流程图 + +已根据 `元利项目详细分析.md` 生成: + +- `元利项目详细流程图.md` + +内容包括: +- 系统总体架构流程 +- 登录、菜单、权限流程 +- 基础资料维护流程 +- 标准工艺/生产工艺流程 +- 机加排产与 SAP 回写流程 +- 装配排产与采购申请流程 +- 机加生产执行流程 +- 装配中心执行流程 +- 质检流程 +- 外协流程 +- 工时校验与 SAP 投料流程 +- 异常管控流程 +- 生产订单关闭与 SAP 状态同步流程 +- 看板数据汇总流程 +- 新增需求与维护入口判断流程 + +### 3. 生成新增需求界面原型设计 + +已根据 `新增需求分析与开发记录_2026-05-23.md` 生成: + +- `新增需求界面原型设计_2026-05-25.md` + +主要覆盖以下页面原型: +- 设计任务报工 +- 机加班次产量表 +- 手续确认报表 +- 及时检验报表 +- 及时齐套跟踪结果报表 +- 生产日报-送检 +- 编程任务清单/编程报工 +- 让步接收记录 +- 装配已排产需求 +- 质检任务早知道 +- 及时送检报表 +- 发货通知列表 +- 工时异常报表 + +同时补充了现有页面改造说明,包括机加已排产、生产计划跟踪、序检收检、生产订单关闭、生产工艺、异常管控、及时开工报表、工时报表、领料/退库/外协小字段等。 + +### 4. 生成元利项目详细用户使用说明书 + +已根据 `元利项目详细分析.md` 生成: + +- `元利项目详细用户使用说明书.md` + +内容覆盖: +- 登录与通用操作 +- 基础资料维护 +- 工艺与图纸管理 +- 计划排产管理 +- 生产执行管理 +- 外协业务 +- 质检管理 +- 工时与报表 +- 异常管控 +- 设备管理与采集 +- 看板使用 +- 销售与交付查询 +- 新增需求相关页面使用 +- 系统维护 +- 常见问题和名词解释 + +### 5. 修正新增需求分析口径 + +对前期新增需求分析进行了补充修正,重点明确不能只判断“是否新增页面”,还必须判断: + +1. 数据来源是什么。 +2. 字段在哪里维护。 +3. 是否已有业务页面承载。 +4. 是否需要新增维护页面。 +5. 是否影响历史任务、报表和看板。 + +已补充的关键结论: +- 缺勤人员不能从“没有报工”反推,必须有应到人员和实到人员来源。 +- 关键工序应在标准工艺和生产工艺中维护,任务下发时做快照。 +- 看板只读取缺勤、关键工序、OEE、及时率等指标,不作为主维护入口。 + +## 二、今日修改工作 + +### 1. 工时校验报工培训 + +今日进行了工时校验和报工相关培训,重点说明: +- 报工数据与工时校验之间的关系。 +- MES 工时与 SAP 工时提交的关系。 +- 工时校验页面中 SAP 订单、工序、资源、投料的核对方式。 +- SAP 提交失败时需要查看失败原因,避免重复提交。 + +### 2. 质检历史数据修复 + +已处理质检历史数据修复工作,重点围绕历史质检记录、任务状态和相关查询口径进行校正,减少历史数据对当前质检查询和报表统计的影响。 + +### 3. 修改生产订单关闭判断条件 + +已修改生产订单关闭相关判断条件,调整关闭前校验逻辑,避免不符合条件的订单被错误关闭,同时减少已完成、已入库、已取消等状态判断不一致带来的问题。 + +### 4. 修复休息日加班和法定加班计算 Bug + +已修复休息日加班和法定加班计算异常问题,调整加班类型对应的计算逻辑,避免休息日加班和法定加班工时统计错误。 + +## 三、今日产出文档 + +| 文档 | 说明 | +|---|---| +| `元利项目详细流程图.md` | 根据详细分析生成系统级和业务级流程图 | +| `新增需求界面原型设计_2026-05-25.md` | 根据新增需求生成界面原型和页面说明 | +| `元利项目详细用户使用说明书.md` | 根据详细分析生成面向用户的完整操作说明 | +| `新增需求分析与开发记录_2026-05-23.md` | 补充数据来源、维护入口、是否新建页面等分析 | +| `隐性需求综合分析_2026-05-25.md` | 补充维护入口和隐性需求判断规则 | +| `MES_Manage_View_V20_src_views_逐页面详细分析.md` | 补充页面归属、缺勤、关键工序、看板维护边界说明 | + +## 四、当前结论 + +1. 元利 MES 与 SAP 的交互范围较广,后续所有涉及 SAP 写操作的功能都需要补同步状态、失败原因和重试机制。 +2. 新增需求不能简单按“新增页面”评估,要同步判断维护入口、数据来源、历史数据和看板影响。 +3. 工时、质检、订单关闭、加班计算属于当前重点稳定性工作,已完成培训和部分修复。 +4. 后续开发建议优先处理低风险、小范围功能,再推进装配已排产需求、及时齐套、设计/编程报工、OEE 等跨模块功能。 + + diff --git a/doc_old/今日工作汇报_2026-05-26.md b/doc_old/今日工作汇报_2026-05-26.md new file mode 100644 index 0000000..28a883a --- /dev/null +++ b/doc_old/今日工作汇报_2026-05-26.md @@ -0,0 +1,143 @@ +# 元利 MES 项目 — 今日工作汇报 + +日期:2026-05-26 +项目:MES_Manage_View_V20 + +## 一、今日主要工作 + +### 1. 丰富并修改元利项目详细流程图 + +今日继续完善 `元利项目详细流程图.md`,在原有系统级流程基础上,进一步补充页面级、业务级流程说明。 + +重点补充内容: +- 登录、菜单权限、动态路由生成流程。 +- 工艺、图纸、生产订单、排产、生产执行、质检、外协、工时校验、生产订单关闭等模块之间的衔接关系。 +- 机加排产、装配排产、机加中心、装配中心、质量中心、工时校验等关键页面的详细业务流。 +- SAP 回写、SAP 查询、WMS/库存任务、MES 存储过程之间的数据流转关系。 +- 将流程图尽量调整为“框 + 箭头 + 文字”的形式,减少字母节点指引,便于培训和现场讲解。 + +本次调整后,流程图更适合用于: +- 给客户讲解整体 MES 业务闭环。 +- 给实施人员定位页面与数据流关系。 +- 给开发人员判断新增需求影响范围。 + +### 2. 工时校验数据对接梳理 + +今日继续梳理工时校验页面与 MES/SAP 数据之间的对接关系,重点围绕 `ProductionManagement/WorkHoursCheck`。 + +已梳理内容: +- 对接数据时发现装配人员工时数据错误,经检查由于用户重复提交导致的问题 +- 在排查过程中发现装配人员报工加班时,同时生成了正常报工的工时 + + +### 3. 生产订单关闭培训与相关数据处理 + +今日进行了生产订单关闭相关培训和数据处理,重点说明生产订单关闭页面的使用边界。 + +培训内容: +- 生产订单关闭前需要先确认订单在 MES 中的任务完成情况。 +- 关闭前需要核对生产订单状态、入库情况、报工情况和 SAP 状态。 +- 批量关闭时要区分已成功关闭、关闭失败、不能关闭三类结果。 +- SAP 关闭失败时不应重复点击,应先确认 SAP 返回原因。 + +数据处理内容: +- 协助检查生产订单关闭相关数据。 +- 梳理关闭条件与当前订单状态之间的关系。 +- 对异常数据进行核对,避免误关或重复关闭。 + +### 4. 沟通报工结果数据上传到 SAP 的影响 + +今日围绕报工结果上传 SAP 的影响进行了沟通和确认。 + +沟通重点: +- 超过班次工作时间部分的工时 如果不选择加班,系统自动记录这段工时 +- 这段工时如果上次到SAP会导致其他生成订单工时不准确的问题,因为计算方法核算的是当日总报工时间记为8小时 +- 这段时间如果上传,就会导致其他工时减少 +- 休息日/法定时选择不加班工时记录的问题,讨论结果是MES正常记录 但是不传输给SAP + + +### 5. 修改装配报工数据重复问题 + +今日处理装配报工数据重复问题。 + +处理重点: +- 排查装配报工过程中可能重复写入的数据链路。 +- 核对装配任务、报工记录、质检/送检记录之间的关联关系。 +- 调整重复数据产生场景,避免同一任务重复形成报工结果。 +- 修改后重点关注装配中心报工、送检、任务完成状态的回显是否一致。 + +处理结果: +- 已针对装配报工重复问题进行修正。 +- 后续需要继续观察现场报工数据,确认是否仍存在重复写入或重复统计。 + +### 6. 丰富并修改用户使用说明书 + +今日重点丰富 `元利项目详细用户使用说明书.md`。 + +主要修改内容: +- 将第 21 章逐页说明整体扩展,不再只写笼统功能说明。 +- 对 78 个页面按源码逐页补充: + - 页面用途 + - 具体操作步骤 + - 查询条件/输入项 + - 结果表重点列 + - 页面按钮/状态/页签 + - 弹窗/表单重点项 + - 后台处理/外部接口 + - 操作注意事项 +- 将第 21 章页面标题从英文页面名改为中文页面名,例如: + - `WorkHoursCheck` 改为 `工时校验` + - `SelfMakePlandone` 改为 `机加已排产` + - `MachiningCenter` 改为 `机加中心` + - `QualityCenter` 改为 `质量中心` +- 对 `机加已排产` 章节进行了重点细化,补充日程拖拽、指派数量、拆分派工、二次派工、原料状态、图纸、外协分组、最晚开始、红色加急排序、SAP 日期同步等操作。 + +说明书修改后更适合: +- 现场用户培训。 +- 新员工快速熟悉页面。 +- 实施人员按页面排查问题。 +- 后续新增需求评审时对照现有功能。 + +### 7. 修改原料退库检,增加加急显示 + +今日处理原料退库检页面加急显示需求。 + +涉及页面: +- `QualityManagement/CheckTask/materialReturn.vue` + +处理内容: +- 在原料退库检任务中增加加急状态/加急信息显示。 +- 方便质检人员优先识别加急退库检任务。 +- 便于后续按加急任务排序、提醒或优先处理。 + +业务影响: +- 质检人员在原料退库检页面可以更直观看到加急任务。 +- 加急退库检任务可优先处理,减少对生产或后续流程的影响。 + +## 二、今日产出与修改文件 + +| 文件 | 今日处理内容 | +|---|---| +| `元利项目详细流程图.md` | 丰富业务流程图,补充多页面、多模块数据流 | +| `元利项目详细用户使用说明书.md` | 扩展第 21 章逐页操作说明,标题改为中文页面名 | +| `ProductionManagement/WorkHoursCheck` | 梳理工时校验与 SAP 上传关系 | +| `PlanManagement/PlannOrderClose` | 生产订单关闭培训与数据处理 | +| 装配报工相关页面/数据 | 修正装配报工重复数据问题 | +| `QualityManagement/CheckTask/materialReturn.vue` | 原料退库检增加加急显示 | + +## 三、今日沟通事项 + +1. 与相关人员沟通工时校验数据上传 SAP 的影响,明确报工结果、工时、SAP 工序资源之间的关系。 +2. 对生产订单关闭进行培训,说明关闭前校验、关闭失败处理和数据风险。 +3. 结合装配报工重复问题,沟通现场报工操作和后台数据写入逻辑。 +4. 结合用户说明书和流程图,明确后续培训资料需要按页面逐步讲解,不能只写功能概述。 + +## 四、当前风险与注意事项 + +| 风险点 | 影响 | 处理建议 | +|---|---|---| +| 工时上传 SAP 重复提交 | 可能造成 SAP 工时或库存单据重复 | 上传失败时先查失败原因,不要连续重复提交 | +| 生产订单关闭条件不一致 | 可能误关订单或关闭失败 | 关闭前核对 MES 任务、入库、报工和 SAP 状态 | +| 装配报工重复 | 影响工时、任务进度、质检/送检统计 | 修复后继续观察现场数据 | +| 加急任务未突出显示 | 质检处理优先级不明确 | 原料退库检已增加加急显示,后续可扩展排序 | +| 用户手册仍需继续细化 | 培训时可能仍有页面操作细节不足 | 后续按重点业务页面继续逐页补强 | diff --git a/今日工作汇报_20260522.md b/doc_old/今日工作汇报_20260522.md similarity index 89% rename from 今日工作汇报_20260522.md rename to doc_old/今日工作汇报_20260522.md index 1c5192e..c324308 100644 --- a/今日工作汇报_20260522.md +++ b/doc_old/今日工作汇报_20260522.md @@ -137,34 +137,6 @@ --- -## 五、明日工作计划(建议) - -### 上午 - -| 优先级 | 事项 | -|:--:|------| -| 🔴 | 与甲方沟通 GM-01(已开工任务工艺修改方案) | -| 🔴 | 与甲方沟通 BG-01~04(设计任务报工模块详细需求) | -| 🟠 | 启动 RP-01(手续确认报表)存储过程开发 | -| 🟠 | 启动 BG-08(工位任务汇总表)— 见《需求分析_自制件与工位汇总表》 | - -### 下午 - -| 优先级 | 事项 | -|:--:|------| -| 🟠 | JH-01~04 生产计划跟踪(颜色/状态/字段)前端改动 | -| 🟡 | LL-01~03 领料退库备注字段添加 | -| 🟡 | BG-05~06 工时报表字段修改 | -| 🟡 | WX-01 外协报表增加采购到货期说明 | - -### 需SAP协调 - -| 事项 | 对接人 | -|------|:--:| -| PC-01 SAP增加字段 | SAP顾问 | -| RP-04/05/06/07 SAP数据接口 | SAP顾问 | - ---- > 📅 日期: 2026-05-22 > 📊 需求总数: 34项 | 已修复: 9项 | 待处理: 25项 diff --git a/修改注意事项.txt b/doc_old/修改注意事项.txt similarity index 100% rename from 修改注意事项.txt rename to doc_old/修改注意事项.txt diff --git a/doc_old/元利项目详细分析.md b/doc_old/元利项目详细分析.md new file mode 100644 index 0000000..c0afb48 --- /dev/null +++ b/doc_old/元利项目详细分析.md @@ -0,0 +1,9794 @@ +# MES_Manage_View_V20 src/views 逐页面详细分析 + +生成日期:2026-05-25 + +分析范围:`MES_Manage_View_V20/src/views` 下 78 个 .vue/.js 文件;辅助读取 `src/api`、`config/index.js`、`static/config.js` 和 SQL 脚本。 + +## 重要说明 + +- 页面功能不是只按文件名猜测,报告同时参考页面路径、按钮/字段文案、方法名、存储过程名和 SQL 过程体。 +- 存储过程处理说明来自 SQL 静态解析:读写对象、参数、返回字段、过滤条件、更新语句、分组分页、JSON、事务、SAP 链接库等。 +- 如果某个过程没有解析到过程体,报告会明确说明不能准确判断内部表/视图和处理逻辑。 + +## 技术路线总览 + +- 前端:Vue 2.7、Vue Router、Vuex、Element UI,页面以 Options API 为主。 +- 数据访问:页面调用 `this.CreateData(type, procedureName, params[, pageSize, pageCurrent])` 组包,再调用 `this.ExecDatabase(data)` 访问后端。 +- 后端:统一接口接收 type/name/param,执行 SQL Server 存储过程,返回 `response.data` 和分页信息。 +- 数据库:`YL_MESDB`,核心对象包括生产计划/生产任务、加工中心操作记录、质检记录、设备数据、权限菜单等表和视图。 +- SAP:`src/api/b1s.js` 通过 `window.dt_Config.baseURLB1` 访问 B1 Service Layer;部分过程也跨库读取 `SAP.SBO_YL.dbo.*`。 + +## 模块汇总 + +| 模块 | 页面数 | 主要能力 | +|---|---:|---| +| 404.vue | 1 | 布局/静态页面 | +| AnomalousManagement | 1 | 过程 4 个 | +| CraftManagement | 1 | 过程 4 个 | +| DeviceManagement | 4 | 过程 11 个 | +| PlanManagement | 8 | 过程 22 个、直接 SAP 调用 8 处 | +| ProcessManagement | 9 | 过程 55 个、直接 SAP 调用 3 处 | +| ProductionManagement | 23 | 过程 111 个、直接 SAP 调用 15 处 | +| QualityManagement | 13 | 过程 54 个、直接 SAP 调用 7 处 | +| SaleManagement | 1 | 过程 4 个 | +| SystemMaintenance | 6 | 过程 20 个、直接 SAP 调用 2 处 | +| dashboard | 1 | 布局/静态页面 | +| layout | 9 | 过程 4 个 | +| login | 1 | 布局/静态页面 | + +## SAP 交互总清单 + +| 页面 | 行号 | 方法 | 接口 | 提交字段线索 | +|---|---:|---|---|---| +| `src/views/PlanManagement/InstallMakePlanDo/index.vue` | 1332 | `postB1` | `/PurchaseRequests` | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments` | +| `src/views/PlanManagement/InstallMakePlanDo/index.vue` | 1523 | `patchB1` | `/ProductionOrders(` | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`U_YJQTdate`、`优先级`、`未完成说明`、`派工特殊说明` | +| `src/views/PlanManagement/InstallMakePlan/index.vue` | 1332 | `postB1` | `/PurchaseRequests` | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments` | +| `src/views/PlanManagement/InstallMakePlan/index.vue` | 1523 | `patchB1` | `/ProductionOrders(` | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`U_YJQTdate`、`优先级`、`未完成说明`、`派工特殊说明` | +| `src/views/PlanManagement/PlannOrderClose/index.vue` | 117 | `patchB1` | `/ProductionOrders(` | `AbsoluteEntry`、`ProductionOrderStatus` | +| `src/views/PlanManagement/SelfMakePlan/index.vue` | 1500 | `patchB1` | `/ProductionOrders(` | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`优先级`、`未完成说明`、`派工特殊说明` | +| `src/views/PlanManagement/SelfMakePlando/index.vue` | 1433 | `patchB1` | `/ProductionOrders(` | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`优先级`、`未完成说明`、`派工特殊说明` | +| `src/views/PlanManagement/SelfMakePlandone/index.vue` | 1259 | `patchB1` | `/ProductionOrders(` | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`优先级`、`未完成说明`、`派工特殊说明` | +| `src/views/ProcessManagement/ProcedureManagement/index.vue` | 155 | `postB1` | `/RouteStages` | `Code`、`Description`、`CreationDate`、`DateOfUpdate` | +| `src/views/ProcessManagement/ProcedureManagement/index.vue` | 192 | `getB1` | `/RouteStages` | `filter`、`Description`、`DateOfUpdate`、`confirmButtonText`、`cancelButtonText`、`type` | +| `src/views/ProcessManagement/ProcedureManagement/index.vue` | 198 | `patchB1` | `/RouteStages(` | `Description`、`DateOfUpdate`、`confirmButtonText`、`cancelButtonText`、`type`、`top` | +| `src/views/ProductionManagement/AssemblyCenter/index.vue` | 3561 | `getB1` | `/ProductionOrders` | `filter`、`数据`、`lines`、`请求失败` | +| `src/views/ProductionManagement/AssemblyCenter/index.vue` | 3730 | `posttm` | `/stocktask/task/issueordertask` | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` | +| `src/views/ProductionManagement/MachiningCenter/index.vue` | 5751 | `posttm` | `/stocktask/task/receiptordertask` | `label` | +| `src/views/ProductionManagement/MachiningCenter/index.vue` | 6409 | `getB1` | `/ProductionOrders` | `filter`、`数据`、`lines`、`请求失败` | +| `src/views/ProductionManagement/MachiningCenter/index.vue` | 6560 | `posttm` | `/stocktask/task/issueordertask` | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` | +| `src/views/ProductionManagement/OutsourceMange/index.vue` | 966 | `postB1` | `/PurchaseRequests` | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments` | +| `src/views/ProductionManagement/SaleOutsourceMange/index.vue` | 1041 | `postB1` | `/PurchaseRequests` | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments` | +| `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` | 1105 | `patchB1` | `ProductionOrders(${order.AbsoluteEntry})` | `ProductionOrderLines`、`ProductionOrdersStages`、`更新SAP失败`、`更新SAP工序和资源失败` | +| `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` | 2124 | `getB1` | `/ProductionOrders` | `filter` | +| `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` | 2255 | `getB1` | `/ProductionOrders` | `filter`、`加班记录`、`记录` | +| `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` | 2311 | `postB1` | `/InventoryGenExits` | `DocDate`、`DocDueDate`、`Comments`、`DocumentLines`、`处理记录失败` | +| `src/views/ProductionManagement/WorkHoursCheck/index.vue` | 577 | `getB1` | `/ProductionOrders` | `filter`、`获取订单数据失败`、`获取到工序数据`、`success`、`error`、`结构异常`、`获取到订单` | +| `src/views/ProductionManagement/WorkHoursCheck/index.vue` | 672 | `getB1` | `/ProductionOrders` | `filter`、`使用原订单` | +| `src/views/ProductionManagement/WorkHoursCheck/index.vue` | 733 | `postB1` | `/InventoryGenExits` | `DocDate`、`DocDueDate`、`Comments`、`AID`、`DocumentLines`、`success`、`error`、`提交工时单据失败`、`warning` | +| `src/views/ProductionManagement/WorkHoursCheck/index.vue` | 1482 | `patchB1` | `ProductionOrders(${order.AbsoluteEntry})` | `ProductionOrderLines`、`ProductionOrdersStages`、`更新SAP失败`、`查找设备资源`、`StageID` | +| `src/views/QualityManagement/CheckTask/materialReturn.vue` | 878 | `getB1` | `/ProductionOrders` | `filter`、`lines`、`doc_date`、`doc_type`、`external_num`、`target_type`、`task_items`、`base_type`、`item_code`、`item_name` | +| `src/views/QualityManagement/CheckTask/materialReturn.vue` | 921 | `posttm` | `/stocktask/task/receiptordertask` | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` | +| `src/views/QualityManagement/CheckTask/processReceive.vue` | 820 | `postB1` | `/QueryService_PostQuery` | `QueryPath`、`QueryOption` | +| `src/views/QualityManagement/CheckTask/processReceive.vue` | 842 | `postB1` | `/PurchaseDeliveryNotes` | `CardCode`、`CardName`、`DocDate`、`DocumentLines`、`BaseEntry`、`BaseLine`、`BaseType`、`Quantity`、`U_WWPassedQty` | +| `src/views/QualityManagement/CheckTask/salesReturn.vue` | 623 | `posttm` | `/stocktask/task/issueordertask` | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` | +| `src/views/QualityManagement/QualityCenter/index.vue` | 3415 | `getB1` | `/ProductionOrders` | `filter`、`数据`、`lines`、`请求失败` | +| `src/views/QualityManagement/QualityCenter/index.vue` | 3584 | `posttm` | `/stocktask/task/issueordertask` | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` | +| `src/views/SystemMaintenance/WorkstationManagement/index.vue` | 201 | `patchB1` | `/Resources('` | `Name`、`message`、`type`、`VisCode`、`ForeignName` | +| `src/views/SystemMaintenance/WorkstationManagement/index.vue` | 235 | `postB1` | `/Resources` | `VisCode`、`Name`、`ForeignName`、`Type`、`Group`、`UnitOfMeasure`、`IssueMethod`、`Active`、`Inactive`、`Remarks` | + +## 1. src/views/404.vue + +**页面位置**:`src/views/404.vue` +**所属模块**:404.vue +**源码行数**:255 + +### 页面功能 + +该页面是 404 错误页,用于路由不存在时展示错误信息。 + +### 页面流程图 + +该页面未发现后端存储过程调用,通常不形成完整业务流程。 + +### 用户操作与页面线索 + +可见按钮/字段线索:无 + +主要方法线索:`data`、`message` + +### 字段映射表 + +未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。 + +### 技术路线 + +- Vue 2 Options API +- Element UI +- 未发现页面级后端存储过程调用 + +### 调用的存储过程总览 + +未发现 `CreateData(...)` 存储过程调用。 + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +无数据库调用链。 + +### 存储过程处理逻辑明细 + +无页面级存储过程调用。 + +## 2. src/views/AnomalousManagement/PunctualWork/index.vue + +**页面位置**:`src/views/AnomalousManagement/PunctualWork/index.vue` +**所属模块**:AnomalousManagement / PunctualWork +**源码行数**:697 + +### 页面功能 + +该页面用于发现“计划应开工但现场未及时开工”的任务。用户按任务状态、工位、工序、异常原因等条件筛选,页面展示生产订单、销售订单、物料、工序、指派对象、分配数量、上序合格数、加工/收料状态和加急数量,服务于生产异常提醒和催办。 + +页面可见的操作/字段包括 “全部”、“待执行”、“可执行”、“已开工”、“已完成”、“item.指南工位号”、“指派对象”、“生产订单”、“销售订单”、“物料名称”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `异常提醒_及时开工_查询`、`MES_登录_工位与名称_查询`、`Prog_MES_LoadProcess`、`查询字典` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `异常提醒_及时开工_查询` -> `MES_登录_工位与名称_查询` -> `Prog_MES_LoadProcess` -> `查询字典` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`全部`、`待执行`、`可执行`、`已开工`、`已完成`、`item.指南工位号`、`指派对象`、`生产订单`、`销售订单`、`物料名称`、`物料编码`、`顺序`、`工序名称`、`分配数`、`上序合格数`、`加工状态`、`收料状态`、`加急数量` + +主要方法线索:`searchTable` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.TaskAID ` | `@TaskAID` | `TaskAID, ` | +| 参数 | `this.orderNo2 ` | `@订单号` | `[订单编号] as 订单号, ` | +| 参数 | `this.productCode2` | `@零件编号` | - | +| 参数 | `this.completionTime ? this.completionTime[0` | `@计划开工_Start` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@计划开工_End` | - | +| 参数 | `this.productionStatus2` | `@生产状态` | - | +| 参数 | `this.Doing` | `@工位名称` | - | +| 参数 | `this.$store.state.user.id` | `@用户ID` | - | +| 参数 | `this.plannum` | `@计划号` | - | +| 参数 | `this.salenum` | `@销售订单` | - | +| 显示列 | `指派对象` | - | `指派对象` | +| 显示列 | `生产订单` | - | `[订单编号] as 订单号, ` | +| 显示列 | `销售订单` | - | `合同号, ` | +| 显示列 | `物料名称` | - | `[物料描述] as 零件名称, ` | +| 显示列 | `物料编码` | - | `[物料编号] as 零件编码, ` | +| 显示列 | `顺序` | - | `顺序` | +| 显示列 | `工序名称` | - | `[工艺编号], [工序名称]` | +| 显示列 | `分配数` | - | `分配数` | +| 显示列 | `上序合格数` | - | `上序合格数` | +| 显示列 | `加工状态` | - | `加工状态` | +| 显示列 | `收料状态` | - | `收料状态` | +| 显示列 | `加急数量` | - | `加急数量` | +| 显示列 | `下序名称` | - | `下序名称` | +| 显示列 | `加急` | - | `加急总数, ` | +| 显示列 | `优先` | - | `优先` | +| 显示列 | `首检` | - | `首检` | +| 显示列 | `序检` | - | `序检` | +| 显示列 | `内码` | - | `[订单拆分内码], ` | +| 显示列 | `完成数` | - | `完成数量` | +| 显示列 | `任务状态` | - | `任务状态` | +| 显示列 | `计划号` | - | `计划号` | +| 显示列 | `计划开始` | - | `计划开始` | +| 显示列 | `计划完成` | - | `计划完成` | +| 显示列 | `开工时间` | - | `[开工时间], ` | +| 显示列 | `备注` | - | `派工特殊说明, ` | +| 显示列 | `收料数` | - | `收料` | +| 输入字段 | `TaskAID` | `@TaskAID` | - | +| 输入字段 | `orderNo2` | `@订单号` | - | +| 输入字段 | `productCode2` | `@零件编号` | - | +| 输入字段 | `plannum` | `@计划号` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 555 | 11(当前通用存储过程查询/执行) | `异常提醒_及时开工_查询` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 610 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 663 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadProcess` | 查询/读取数据 | 查询 | 表:`基础表_工序` | +| 675 | 11(当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `异常提醒_及时开工_查询`:`@生产状态 int = -1, `;`DECLARE @whereStr nvarchar(max) = ' WHERE 排产状态 = 1 '`;`派工特殊说明, `;`case when isnull([加急状态], 0) = 1 then ''加急'' else ''否'' end as [加急], `;`[二次派工], `;`[计划完成时间] as 计划完成, `;`isnull([完成数量], 0) as 完成数量, `;`when isnull(发料状态, 0) = 1 then ''发料齐套''` + +### 数据库调用链 + +- `src/views/AnomalousManagement/PunctualWork/index.vue` -> `异常提醒_及时开工_查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/AnomalousManagement/PunctualWork/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/AnomalousManagement/PunctualWork/index.vue` -> `Prog_MES_LoadProcess` -> 表:`基础表_工序` -> 查询/读取数据 +- `src/views/AnomalousManagement/PunctualWork/index.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `异常提醒_及时开工_查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID int`、`@订单号 int`、`@零件编号 nvarchar(50)`、`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`、`@生产状态 int`、`@工位名称 nvarchar(500)`、`@用户ID nvarchar(50)`、`@计划号 nvarchar(50)`、`@销售订单 nvarchar(50)`。 主要返回字段线索:`TaskAID, `、`[订单编号] as 订单号, `、`合同号, `、`加急总数, `、`派工特殊说明, `、`[订单拆分内码], `、`[订单行号], `、`[开工时间], `、`[物料编号] as 零件编码, `、`[物料描述] as 零件名称, `。 关键过滤/匹配条件:`DECLARE @whereStr nvarchar(max) = ' WHERE 排产状态 = 1 '`;`WHERE next_task.[订单编号] = main.[订单编号]`;`AND next_task.[订单行号] = main.[订单行号] + 1`;`AND next_task.[排产状态] = 1`;`WHERE b.订单编号 = main.[订单编号]`;`AND b.订单行号 = main.[订单行号] - 1`;`AND a.检测类型编号 = 6`;`WHERE EXISTS (`;`WHERE b.订单编号 = main.订单编号`;`AND b.订单行号 = main.订单行号`。 关键写入/状态处理语句线索:`SET @whereStr = @whereStr + ' AND [指派对象] ''外协'' AND [指派对象] NOT LIKE ''%装配%'' AND [指派对象] ''期初物料'' and (计划开始时间 < 开工时间 or 开工时间 is null) and isnull(加工状态, 0) = 0 '`;`SET @whereStr = @whereStr + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)`;`SET @whereStr = @whereStr + ' AND [计划号] = '''+@计划号+''''`;`SET @whereStr = @whereStr + ' AND [合同号] LIKE ''%' + @销售订单 + '%'''`;`SET @whereStr = @whereStr + ' AND [TaskAID] = ' + CONVERT(VARCHAR(10), @TaskAID)`;`SET @whereStr = @whereStr + ' AND [物料编号] LIKE ''%' + @零件编号 + '%'''`;`SET @whereStr = @whereStr + ' AND [计划开始时间] < = ''' + @计划开工_End + ''''`;`SET @whereStr = @whereStr +`;`SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) IN (0, 1, 2) '`;`SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) = 0 '`;`SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) = 1 '`;`SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) = 2 '`。 排序/分组/分页线索:`ORDER BY next_task.[订单行号]) AS 下序名称, `;`SET @selStr = @selStr + @whereStr + ' ORDER BY [计划开始时间], 指派对象'`。 +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `Prog_MES_LoadProcess` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 主要返回字段线索:`[工艺编号], [工序名称]`。 排序/分组/分页线索:`SELECT [工艺编号], [工序名称] FROM [基础表_工序] ORDER BY [工艺编号]`。 +- `查询字典` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。 + +## 3. src/views/CraftManagement/CraftMaintain/index.vue + +**页面位置**:`src/views/CraftManagement/CraftMaintain/index.vue` +**所属模块**:CraftManagement / CraftMaintain +**源码行数**:302 + +### 页面功能 + +该页面维护产品结构树。用户可以新增、编辑、删除产品结构节点,查询现有产品结构,并为后续工艺、物料、BOM 或生产任务提供层级基础数据。 + +页面可见的操作/字段包括 “新增”、“编辑”、“删除”、“展开”、“产品结构维护”、“产品材料维护”、“工艺参数维护”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `WEB_基本表_产品结构_新增`、`WEB_基本表_产品结构_查询`、`WEB_基本表_产品结构_删除`、`WEB_基本表_产品结构_修改` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `WEB_基本表_产品结构_新增` -> `WEB_基本表_产品结构_查询` -> `WEB_基本表_产品结构_删除` -> `WEB_基本表_产品结构_修改` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`新增`、`编辑`、`删除`、`展开`、`产品结构维护`、`产品材料维护`、`工艺参数维护` + +主要方法线索:`handleAdd` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.productId` | `@父节点` | - | +| 参数 | `value` | `@节点名称` | - | +| 参数 | `this.PartType.substring(0, 4)` | `@节点类型` | - | +| 参数 | `this.productId` | `@子节点` | - | +| 输入字段 | `PartType` | `@节点类型` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 97 | 11(当前通用存储过程查询/执行) | `WEB_基本表_产品结构_新增` | 新增业务数据 | 未找到过程体 | 未知 | +| 110 | 11(当前通用存储过程查询/执行) | `WEB_基本表_产品结构_查询` | 查询/读取数据 | 未找到过程体 | 未知 | +| 129 | 11(当前通用存储过程查询/执行) | `WEB_基本表_产品结构_删除` | 删除业务数据 | 未找到过程体 | 未知 | +| 161 | 11(当前通用存储过程查询/执行) | `WEB_基本表_产品结构_修改` | 更新/保存业务数据 | 未找到过程体 | 未知 | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +- `src/views/CraftManagement/CraftMaintain/index.vue` -> `WEB_基本表_产品结构_新增` -> 过程体未解析 -> 新增业务数据 +- `src/views/CraftManagement/CraftMaintain/index.vue` -> `WEB_基本表_产品结构_查询` -> 过程体未解析 -> 查询/读取数据 +- `src/views/CraftManagement/CraftMaintain/index.vue` -> `WEB_基本表_产品结构_删除` -> 过程体未解析 -> 删除业务数据 +- `src/views/CraftManagement/CraftMaintain/index.vue` -> `WEB_基本表_产品结构_修改` -> 过程体未解析 -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `WEB_基本表_产品结构_新增` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。 +- `WEB_基本表_产品结构_查询` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。 +- `WEB_基本表_产品结构_删除` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 删除业务数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。 +- `WEB_基本表_产品结构_修改` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。 + +## 4. src/views/DeviceManagement/DeviceDataHistory/index.vue + +**页面位置**:`src/views/DeviceManagement/DeviceDataHistory/index.vue` +**所属模块**:DeviceManagement / DeviceDataHistory +**源码行数**:183 + +### 页面功能 + +该页面查询设备历史采集数据。用户按工位/设备、参数名称、起止时间分页查询历史记录,用于追溯设备运行参数。 + +页面可见的操作/字段包括 “查询”、“item.name”、“设备名称”、“参数名称”、“设备编号”、“数值”、“单位”、“采集时间”、“结束日期”、“开始日期”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `MES_登录_工位与名称_查询`、`设备管理_设备数据_历史查询` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `设备管理_设备数据_历史查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`item.name`、`设备名称`、`参数名称`、`设备编号`、`数值`、`单位`、`采集时间`、`结束日期`、`开始日期`、`请选择设备`、`请输入参数名称` + +主要方法线索:`getbasedata` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.pageCurrent` | `@PageCurrent` | - | +| 参数 | `this.pageSize` | `@PageSize` | - | +| 参数 | `'1111', 'int', '1'` | `@PageCount` | - | +| 参数 | `'1111', 'int', '1'` | `@ItemCount` | - | +| 参数 | `this.completionTime[0` | `@开始时间` | - | +| 参数 | `this.completionTime[1` | `@结束时间` | - | +| 参数 | `this.equipmentType` | `@设备名称` | - | +| 参数 | `this.dataname` | `@参数名称` | - | +| 显示列 | `设备名称` | - | `Zone` | +| 显示列 | `参数名称` | - | `TagName` | +| 显示列 | `设备编号` | - | `TagID` | +| 显示列 | `数值` | - | `数值` | +| 显示列 | `单位` | - | `TagUnit` | +| 显示列 | `采集时间` | - | `采集时间` | +| 输入字段 | `completionTime` | `@开始时间` | - | +| 输入字段 | `equipmentType` | `@设备名称` | - | +| 输入字段 | `dataname` | `@参数名称` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 142 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 162 | 11(当前通用存储过程查询/执行) | `设备管理_设备数据_历史查询` | 查询/读取数据 | 分页 | 未在 SQL 中解析到明确依赖 | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `设备管理_设备数据_历史查询`:`, [在线状态]` + +### 数据库调用链 + +- `src/views/DeviceManagement/DeviceDataHistory/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/DeviceManagement/DeviceDataHistory/index.vue` -> `设备管理_设备数据_历史查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `设备管理_设备数据_历史查询` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:分页。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`、`@结束时间 nvarchar(50),`、`@开始时间 nvarchar(50),`、`@设备名称 nvarchar(50),`、`@参数名称 nvarchar(50)`。 关键过滤/匹配条件:`declare @where nvarchar(1000)`;`set @where = ' 1 = 1 '`;`SET @where = @where + N' AND 工位号 = ''' + REPLACE(@设备名称, '''', '''''') + '''';`;`SET @where = @where + N' AND 变量名称 LIKE ''%' + REPLACE(@参数名称, '''', '''''') + '%''';`;`SET @where = @where + N' AND 创建时间 > = ''' + REPLACE(@开始时间, '''', '''''') + '''';`;`SET @where = @where + N' AND 创建时间 < = ''' + REPLACE(@结束时间, '''', '''''') + '''';`;`exec [dbo].[sp_xt_pagesplit] @tbname, @fieldkey, @where, @fieldshow, @fieldOrder, @PageCurrent, @PageSize, @PageCount out, @ItemCount out`。 关键写入/状态处理语句线索:`set @tbname = '历史_设备数据_定时'`;`set @fieldkey = 'AID'`;`set @where = ' 1 = 1 '`;`set @fieldOrder = ''`;`set @fieldshow = '[AID]`;`SET @where = @where + N' AND 工位号 = ''' + REPLACE(@设备名称, '''', '''''') + '''';`;`SET @where = @where + N' AND 变量名称 LIKE ''%' + REPLACE(@参数名称, '''', '''''') + '%''';`;`SET @开始时间 = @开始时间 + ' 00:00:00.000'`;`SET @结束时间 = @结束时间 + ' 23:59:59.999'`;`SET @where = @where + N' AND 创建时间 > = ''' + REPLACE(@开始时间, '''', '''''') + '''';`;`SET @where = @where + N' AND 创建时间 < = ''' + REPLACE(@结束时间, '''', '''''') + '''';`。 实现特征:分页。 + +## 5. src/views/DeviceManagement/DeviceInformation/index.vue + +**页面位置**:`src/views/DeviceManagement/DeviceInformation/index.vue` +**所属模块**:DeviceManagement / DeviceInformation +**源码行数**:434 + +### 页面功能 + +该页面维护设备台账和设备相关基础资料。用户可以查询设备信息,新增、修改、删除设备,维护维修记录、工时记录或点检配置。 + +页面可见的操作/字段包括 “查询”、“设备”、“--> 取消”、“确定”、“item.name”、“设备名称”、“设备型号”、“设备类型”、“加工工艺”、“工位”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `查询字典`、`设备管理_设备信息_查询`、`设备管理_设备信息_增加`、`设备管理_设备信息_编辑`、`设备管理_设备信息_删除` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `查询字典` -> `设备管理_设备信息_查询` -> `设备管理_设备信息_增加` -> `设备管理_设备信息_编辑` -> `设备管理_设备信息_删除` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`设备`、`--> 取消`、`确定`、`item.name`、`设备名称`、`设备型号`、`设备类型`、`加工工艺`、`工位`、`工时单价(元/小时)`、`月设备加工能力`、`点检类型名称`、`操作`、`item.label`、`工位号`、`工时单价`、`点检类型` + +主要方法线索:`getbasedata`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 显示列 | `设备名称` | - | `设备名称` | +| 显示列 | `设备型号` | - | `设备型号` | +| 显示列 | `设备类型` | - | `*, [dbo].[YL_基础表_数据字典].词条名称 as 设备类型名称` | +| 显示列 | `加工工艺` | - | `加工工艺` | +| 显示列 | `工位` | - | `工位` | +| 显示列 | `工时单价(元/小时)` | - | `工时单价(元/小时)` | +| 显示列 | `月设备加工能力` | - | `月设备加工能力` | +| 显示列 | `点检类型名称` | - | `点检类型名称` | +| 显示列 | `操作` | - | `操作` | +| 输入字段 | `equipmentName` | - | - | +| 输入字段 | `equipmentType` | - | - | +| 输入字段 | `opName` | - | - | +| 输入字段 | `form.设备名称` | - | - | +| 输入字段 | `form.设备型号` | - | - | +| 输入字段 | `form.设备类型` | - | - | +| 输入字段 | `form.加工工艺` | - | - | +| 输入字段 | `form.工位号` | - | - | +| 输入字段 | `form.工时单价` | - | - | +| 输入字段 | `form.月设备加工能力` | - | - | +| 输入字段 | `form.点检类型` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 235 | 11(当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | +| 257 | 11(当前通用存储过程查询/执行) | `设备管理_设备信息_查询` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | +| 318 | 12(当前通用存储过程写入/业务动作) | `设备管理_设备信息_增加` | 新增业务数据 | 查询、新增、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 | +| 351 | 12(当前通用存储过程写入/业务动作) | `设备管理_设备信息_编辑` | 更新/保存业务数据 | 更新、处理报工/工时 | 未在 SQL 中解析到明确依赖 | +| 378 | 12(当前通用存储过程写入/业务动作) | `设备管理_设备信息_编辑` | 更新/保存业务数据 | 更新、处理报工/工时 | 未在 SQL 中解析到明确依赖 | +| 404 | 12(当前通用存储过程写入/业务动作) | `设备管理_设备信息_删除` | 删除业务数据 | 查询、删除 | 未在 SQL 中解析到明确依赖 | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +- `src/views/DeviceManagement/DeviceInformation/index.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 +- `src/views/DeviceManagement/DeviceInformation/index.vue` -> `设备管理_设备信息_查询` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 +- `src/views/DeviceManagement/DeviceInformation/index.vue` -> `设备管理_设备信息_增加` -> 未在 SQL 中解析到明确依赖 -> 新增业务数据 +- `src/views/DeviceManagement/DeviceInformation/index.vue` -> `设备管理_设备信息_编辑` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据 +- `src/views/DeviceManagement/DeviceInformation/index.vue` -> `设备管理_设备信息_编辑` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据 +- `src/views/DeviceManagement/DeviceInformation/index.vue` -> `设备管理_设备信息_删除` -> 未在 SQL 中解析到明确依赖 -> 删除业务数据 + +### 存储过程处理逻辑明细 + +- `查询字典` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。 +- `设备管理_设备信息_查询` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 入参/分页参数:`@设备名称_check bit`、`@设备名称 nvarchar(50)`、`@设备类型_check bit`、`@设备类型 int`、`@工位_check bit`、`@工位 nvarchar(50)`。 主要返回字段线索:`*, [dbo].[YL_基础表_数据字典].词条名称 as 设备类型名称`。 关键过滤/匹配条件:`set @selectStrWhere = 'where 1 = 1 '`;`set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '`;`set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'`。 关键写入/状态处理语句线索:`set @selectStr = `;`set @selectStrWhere = 'where 1 = 1 '`;`set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '`;`set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'`;`set @selectStr = @selectStr+@selectStrWhere`。 +- `设备管理_设备信息_增加` 属于 设备与实时数据,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`基础数据_设备工位点检表`。 入参/分页参数:`@设备名称 nvarchar(50)`、`@设备类型 nvarchar(50)`、`@设备型号 nvarchar(50)`、`@加工工艺 int`、`@点检类型 int`、`@工位 nvarchar(50)`、`@工时单价 float`、`@月设备加工能力 float`。 关键写入/状态处理语句线索:`insert into 基础数据_设备工位点检表(设备名称, 设备型号, 设备类型)values(@设备名称, @设备型号, @设备类型)`。 +- `设备管理_设备信息_编辑` 属于 设备与实时数据,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`基础数据_设备工位点检表`。 入参/分页参数:`@设备流水号 int`、`@设备名称 nvarchar(50)`、`@设备类型 nvarchar(50)`、`@设备型号 nvarchar(50)`、`@加工工艺 int`、`@点检类型 int`、`@工位 nvarchar(50)`、`@原工位 nvarchar(50)`、`@工时单价 float`、`@月设备加工能力 float`。 关键过滤/匹配条件:`update 基础数据_设备工位点检表 set 设备名称 = @设备名称, 设备型号 = @设备型号, 设备类型 = @设备类型 where 设备流水号 = @设备流水号`。 关键写入/状态处理语句线索:`update 基础数据_设备工位点检表 set 设备名称 = @设备名称, 设备型号 = @设备型号, 设备类型 = @设备类型 where 设备流水号 = @设备流水号`。 +- `设备管理_设备信息_编辑` 属于 设备与实时数据,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`基础数据_设备工位点检表`。 入参/分页参数:`@设备流水号 int`、`@设备名称 nvarchar(50)`、`@设备类型 nvarchar(50)`、`@设备型号 nvarchar(50)`、`@加工工艺 int`、`@点检类型 int`、`@工位 nvarchar(50)`、`@原工位 nvarchar(50)`、`@工时单价 float`、`@月设备加工能力 float`。 关键过滤/匹配条件:`update 基础数据_设备工位点检表 set 设备名称 = @设备名称, 设备型号 = @设备型号, 设备类型 = @设备类型 where 设备流水号 = @设备流水号`。 关键写入/状态处理语句线索:`update 基础数据_设备工位点检表 set 设备名称 = @设备名称, 设备型号 = @设备型号, 设备类型 = @设备类型 where 设备流水号 = @设备流水号`。 +- `设备管理_设备信息_删除` 属于 设备与实时数据,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、删除。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`基础数据_设备工位点检表`。 入参/分页参数:`@设备流水号 int`。 关键过滤/匹配条件:`delete from 基础数据_设备工位点检表 where 设备流水号 = @设备流水号`。 关键写入/状态处理语句线索:`delete from 基础数据_设备工位点检表 where 设备流水号 = @设备流水号`。 + +## 6. src/views/DeviceManagement/DeviceRealData/index.vue + +**页面位置**:`src/views/DeviceManagement/DeviceRealData/index.vue` +**所属模块**:DeviceManagement / DeviceRealData +**源码行数**:306 + +### 页面功能 + +该页面展示设备实时或近实时数据。用户按工位和数据类型查询当前采集值、统计值或状态,通常用于设备运行监控。 + +页面可见的操作/字段包括 “查询”、“item.name”、“设备名称”、“参数名称”、“参数值”、“操作”、“开始时间”、“结束时间”、“状态”、“时长(m)”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `设备管理_设备数据_工位信息_查询`、`设备管理_设备数据_统计数据查询`、`设备管理_设备数据_统计数据查询_通过类型` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `设备管理_设备数据_工位信息_查询` -> `设备管理_设备数据_统计数据查询` -> `设备管理_设备数据_统计数据查询_通过类型` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`item.name`、`设备名称`、`参数名称`、`参数值`、`操作`、`开始时间`、`结束时间`、`状态`、`时长(m)`、`订单编号`、`加工时长`、`采集时间`、`结束日期`、`开始日期`、`请选择设备` + +主要方法线索:`getbasedata` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.pageCurrent` | `@PageCurrent` | - | +| 参数 | `this.pageSize` | `@PageSize` | - | +| 参数 | `'1111', 'int', '1'` | `@PageCount` | - | +| 参数 | `'1111', 'int', '1'` | `@ItemCount` | - | +| 参数 | `this.completionTime[0` | `@开始时间` | - | +| 参数 | `this.completionTime[1` | `@结束时间` | - | +| 参数 | `this.equipmentType` | `@设备名称` | - | +| 参数 | `row.参数名称` | `@参数名称` | - | +| 参数 | `row.数据类型` | `@数据类型` | - | +| 显示列 | `设备名称` | - | `Zone` | +| 显示列 | `参数名称` | - | `TagName` | +| 显示列 | `参数值` | - | `参数值` | +| 显示列 | `操作` | - | `操作` | +| 显示列 | `开始时间` | - | `Zone` | +| 显示列 | `结束时间` | - | `TagName` | +| 显示列 | `状态` | - | `工位号, 设备状态, @状态名称 as 状态名称, convert(varchar(16), 创建时间, 121) as 创建时间` | +| 显示列 | `时长(m)` | - | `时长(m)` | +| 显示列 | `订单编号` | - | `Zone` | +| 显示列 | `加工时长` | - | `TagName` | +| 显示列 | `采集时间` | - | `采集时间` | +| 输入字段 | `completionTime` | `@开始时间` | - | +| 输入字段 | `equipmentType` | `@设备名称` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 170 | 11(当前通用存储过程查询/执行) | `设备管理_设备数据_工位信息_查询` | 查询/读取数据 | 查询、新增 | 未在 SQL 中解析到明确依赖 | +| 200 | 11(当前通用存储过程查询/执行) | `设备管理_设备数据_统计数据查询` | 查询/读取数据 | 查询、新增、处理报工/工时 | 表:`YL_设备管理_工时记录` | +| 283 | 11(当前通用存储过程查询/执行) | `设备管理_设备数据_统计数据查询_通过类型` | 查询/读取数据 | 查询、处理报工/工时 | 表:`YL_设备管理_工时记录` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `设备管理_设备数据_统计数据查询`:`select top 1 @开机时刻 = convert(varchar(19), 创建时间, 121) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = 1 order by 创建时间`;`select @停机时长 = count(1) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = 0`;`select @报警时长 = count(1) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = 2`;`select @关机时长 = count(1) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = -1` +- `设备管理_设备数据_统计数据查询_通过类型`:`declare @设备状态 int = -999`;`declare @状态名称 nvarchar(50) = '未知'`;`if(@参数名称 = '开机时刻') begin set @设备状态 = 0 set @状态名称 = '开机' end`;`if(@参数名称 = '停机时长') begin set @设备状态 = 0 set @状态名称 = '停机' end`;`if(@参数名称 = '报警时长') begin set @设备状态 = 2 set @状态名称 = '报警' end`;`if(@参数名称 = '关机时长') begin set @设备状态 = -1 set @状态名称 = '关机' end`;`select 工位号, 设备状态, @状态名称 as 状态名称, convert(varchar(16), 创建时间, 121) as 创建时间 from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = @设备状态 order by 创建时间` + +### 数据库调用链 + +- `src/views/DeviceManagement/DeviceRealData/index.vue` -> `设备管理_设备数据_工位信息_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/DeviceManagement/DeviceRealData/index.vue` -> `设备管理_设备数据_统计数据查询` -> 表:`YL_设备管理_工时记录` -> 查询/读取数据 +- `src/views/DeviceManagement/DeviceRealData/index.vue` -> `设备管理_设备数据_统计数据查询_通过类型` -> 表:`YL_设备管理_工时记录` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `设备管理_设备数据_工位信息_查询` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、新增。 读取/关联对象:未在 SQL 中解析到明确依赖。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`insert into @TempTable (工位名称, 工位号)values('加3', '加3')`。 +- `设备管理_设备数据_统计数据查询` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`YL_设备管理_工时记录`。 入参/分页参数:`@结束时间 nvarchar(50),`、`@开始时间 nvarchar(50),`、`@设备名称 nvarchar(50)`。 主要返回字段线索:`top 1 @开机时刻 = convert(varchar(19), 创建时间, 121)`。 关键过滤/匹配条件:`select top 1 @开机时刻 = convert(varchar(19), 创建时间, 121) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = 1 order by 创建时间`;`select @停机时长 = count(1) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = 0`;`select @报警时长 = count(1) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = 2`;`select @关机时长 = count(1) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = -1`;`select @程序时长 = sum(循环时间) from [YL_设备管理_工时记录] where 指派对象 = @设备名称 and 采集时间 > = @开始时间 and 采集时间 < = @结束时间`。 关键写入/状态处理语句线索:`set @开始时间 = @开始时间 + ' 00:00:00.000'`;`set @结束时间 = @结束时间 + ' 23:59:59.999'`;`insert into @TempTable (设备名称, 参数名称, 参数值, 数据类型)values(@设备名称, '开机时刻', @开机时刻, 0)`;`insert into @TempTable (设备名称, 参数名称, 参数值, 数据类型)values(@设备名称, '停机时长', @停机时长, 1)`;`insert into @TempTable (设备名称, 参数名称, 参数值, 数据类型)values(@设备名称, '关机时长', @关机时长, 1)`;`insert into @TempTable (设备名称, 参数名称, 参数值, 数据类型)values(@设备名称, '报警时长', @报警时长, 1)`;`insert into @TempTable (设备名称, 参数名称, 参数值, 数据类型)values(@设备名称, '程序时长', @程序时长, 2)`。 排序/分组/分页线索:`select top 1 @开机时刻 = convert(varchar(19), 创建时间, 121) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = 1 order by 创建时间`。 +- `设备管理_设备数据_统计数据查询_通过类型` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`YL_设备管理_工时记录`。 入参/分页参数:`@结束时间 nvarchar(50),`、`@开始时间 nvarchar(50),`、`@设备名称 nvarchar(50),`、`@参数名称 nvarchar(50),`、`@数据类型 int`。 主要返回字段线索:`工位号, 设备状态, @状态名称 as 状态名称, convert(varchar(16), 创建时间, 121) as 创建时间`。 关键过滤/匹配条件:`select 工位号, 设备状态, @状态名称 as 状态名称, convert(varchar(16), 创建时间, 121) as 创建时间 from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = @设备状态 order by 创建时间`;`select * from [YL_设备管理_工时记录] where 指派对象 = @设备名称 and 采集时间 > = @开始时间 and 采集时间 < = @结束时间 order by 采集时间`。 关键写入/状态处理语句线索:`SET @开始时间 = @开始时间 + ' 00:00:00.000'`;`SET @结束时间 = @结束时间 + ' 23:59:59.999'`;`if(@参数名称 = '开机时刻') begin set @设备状态 = 0 set @状态名称 = '开机' end`;`if(@参数名称 = '停机时长') begin set @设备状态 = 0 set @状态名称 = '停机' end`;`if(@参数名称 = '报警时长') begin set @设备状态 = 2 set @状态名称 = '报警' end`;`if(@参数名称 = '关机时长') begin set @设备状态 = -1 set @状态名称 = '关机' end`。 排序/分组/分页线索:`select 工位号, 设备状态, @状态名称 as 状态名称, convert(varchar(16), 创建时间, 121) as 创建时间 from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = @设备状态 order by 创建时间`;`select * from [YL_设备管理_工时记录] where 指派对象 = @设备名称 and 采集时间 > = @开始时间 and 采集时间 < = @结束时间 order by 采集时间`。 + +## 7. src/views/DeviceManagement/Devicedata/index.vue + +**页面位置**:`src/views/DeviceManagement/Devicedata/index.vue` +**所属模块**:DeviceManagement / Devicedata +**源码行数**:165 + +### 页面功能 + +该页面面向设备采集数据管理,查询缓存变量和设备数据,支持按设备、参数、时间等维度查看实时或历史采集结果。 + +页面可见的操作/字段包括 “查询”、“item.name”、“设备名称”、“参数名称”、“设备编号”、“数值”、“单位”、“更新时间”、“请选择设备”、“请输入参数名称”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `MES_登录_工位与名称_查询`、`设备管理_设备数据查询` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `设备管理_设备数据查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`item.name`、`设备名称`、`参数名称`、`设备编号`、`数值`、`单位`、`更新时间`、`请选择设备`、`请输入参数名称` + +主要方法线索:`getbasedata` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.pageCurrent` | `@PageCurrent` | - | +| 参数 | `this.pageSize` | `@PageSize` | - | +| 参数 | `'1111', 'int', '1'` | `@PageCount` | - | +| 参数 | `'1111', 'int', '1'` | `@ItemCount` | - | +| 参数 | `this.equipmentType` | `@设备名称` | - | +| 参数 | `this.dataname` | `@参数名称` | - | +| 显示列 | `设备名称` | - | `[Zone], ` | +| 显示列 | `参数名称` | - | `[TagName], ` | +| 显示列 | `设备编号` | - | `[TagID], ` | +| 显示列 | `数值` | - | `数值` | +| 显示列 | `单位` | - | `TagUnit` | +| 显示列 | `更新时间` | - | `更新时间` | +| 输入字段 | `equipmentType` | `@设备名称` | - | +| 输入字段 | `dataname` | `@参数名称` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 126 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 144 | 11(当前通用存储过程查询/执行) | `设备管理_设备数据查询` | 查询/读取数据 | 查询、分页 | 表:`CaChe_Var` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `设备管理_设备数据查询`:`WHEN [TagName] = N''设备状态'' THEN` + +### 数据库调用链 + +- `src/views/DeviceManagement/Devicedata/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/DeviceManagement/Devicedata/index.vue` -> `设备管理_设备数据查询` -> 表:`CaChe_Var` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `设备管理_设备数据查询` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、分页。 读取/关联对象:表:`CaChe_Var`。 入参/分页参数:`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`、`@设备名称 nvarchar(50),`、`@参数名称 nvarchar(50)`。 主要返回字段线索:`[AID], `、`[CreateTime], `、`[UpdateTime], `、`[Zone], `、`[Sort], `、`[TagID], `、`[TagName], `、`CASE`、`WHEN [TagName] = N''操作模式'' THEN`、`CASE TRY_CAST([TagValue] AS INT)`。 关键过滤/匹配条件:`DECLARE @where NVARCHAR(4000) = N' WHERE 1 = 1 ';`;`SET @where = @where + N' AND Zone = ''' + REPLACE(@设备名称, '''', '''''') + '''';`;`SET @where = @where + N' AND TagName LIKE ''%' + REPLACE(@参数名称, '''', '''''') + '%''';`;`SET @selectStr = @selectStr + @where;`。 关键写入/状态处理语句线索:`SET @where = @where + N' AND Zone = ''' + REPLACE(@设备名称, '''', '''''') + '''';`;`SET @where = @where + N' AND TagName LIKE ''%' + REPLACE(@参数名称, '''', '''''') + '%''';`;`SET @selectStr = N'`;`SET @selectStr = @selectStr + @where;`。 + +## 8. src/views/PlanManagement/InstallMakePlanDo/index.vue + +**页面位置**:`src/views/PlanManagement/InstallMakePlanDo/index.vue` +**所属模块**:PlanManagement / InstallMakePlanDo +**源码行数**:1763 + +### 页面功能 + +该页面处理装配件排产。用户查询待排产/已排产装配任务,选择工位和人员,修改计划开工/完成时间、优先级、说明,执行单条派工、二次派工、批量确认排产,并在确认时同步 SAP 生产订单状态或创建相关请求。 + +页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确定”、“派工”、“计划排产”、“编辑”、“取 消”、“确 定”、“全部”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Queryzp`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询`、`MES_OrderPlanned_EditTaskPlanned` 等过程 取数或提交业务动作。 + +### 页面流程图 + +装配排产流程: + +```mermaid +flowchart LR + A[输入订单/合同/物料/工序/时间条件] --> B[MES_OrderPlanned_Queryzp 查询装配任务] + B --> C[选择任务] + C --> D[Prog_MES_LoadStations 选择工位] + D --> E[系统管理_人员管理_所有有效人员查询 选择人员] + E --> F[计划排产_派工 或 MES_OrderPlanned_SingleTaskPlanned] + F --> G[计划排产_二次派工] + G --> H[MES_OrderPlanned_Finish 确认排产] + H --> I[PATCH /ProductionOrders(...) 或 POST SAP 请求] + I --> J[刷新排产结果] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`批量排产`、`排产完成`、`确定`、`派工`、`计划排产`、`编辑`、`取 消`、`确 定`、`全部`、`已完成`、`未完成`、`item.指南工位号`、`表单`、`序号`、`生产订单`、`计划号`、`物料编码` + +主要方法线索:`getCurrentTime` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.orderNo ` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `'自制件'` | `@物料类型` | - | +| 参数 | `this.contractNo` | `@合同号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.productCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.productName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.processName` | `@工序名称` | - | +| 参数 | `this.nature` | `@性质` | - | +| 参数 | `this.completionTime[0` | `@要求完工日期1` | - | +| 参数 | `this.completionTime[1` | `@要求完工日期2` | - | +| 参数 | `this.planStartTime[0` | `@计划开始1` | - | +| 参数 | `this.planStartTime[1` | `@计划开始2` | - | +| 参数 | `this.planendTime[0` | `@计划完成1` | - | +| 参数 | `this.planendTime[1` | `@计划完成2` | - | +| 参数 | `this.productionStatus` | `@排产状态` | - | +| 参数 | `this.station` | `@指派对象` | - | +| 参数 | `this.doneorderNo ` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.donecontractNo` | `@合同号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.doneproductCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.doneproductName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.doneprocessName` | `@工序名称` | - | +| 参数 | `this.donenature` | `@性质` | - | +| 参数 | `this.doneproductionStatus` | `@排产状态` | - | +| 参数 | `editstr` | `@editstr` | - | +| 参数 | `row.订单号` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `row.订单行号` | `@订单行号` | - | +| 参数 | `row.拆分内码` | `@订单拆分内码` | - | +| 参数 | `row.taskaid` | `@TaskAID` | - | +| 参数 | `row.二次派工` | `@personnel` | - | +| 参数 | `row.派工特殊说明` | `@派工特殊说明` | - | +| 参数 | `this.$store.state.user.name` | `@派工操作人` | - | +| 参数 | `row.指派对象编号` | `@指派对象编号` | - | +| 参数 | `row.指派对象` | `@指派对象` | - | +| 参数 | `this.editnumber` | `@指派数量` | - | +| 参数 | `row.计划开始时间` | `@计划开始时间` | - | +| 参数 | `row.计划完成时间` | `@计划完成时间` | - | +| 参数 | `row.最晚开始时间` | `@最晚开始时间` | - | +| 参数 | `item.订单号` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `item.订单行号` | `@订单行号` | - | +| 参数 | `item.拆分内码` | `@订单拆分内码` | - | +| 参数 | `item.指派对象编号` | `@指派对象编号` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) +- FullCalendar + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 816 | 11(当前通用存储过程查询/执行) | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 查询、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 965 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 1034 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` | +| 1089 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` | +| 1124 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` | +| 1137 | 11(当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` | +| 1177 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1194 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1211 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1228 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1242 | 12(当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1251 | 12(当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1325 | 12(当前通用存储过程写入/业务动作) | `计划排产_派工` | 计划排产或派工 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1378 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1409 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1531 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 查询、更新、解析 JSON 批量数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1560 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1641 | 12(当前通用存储过程写入/业务动作) | `计划排产_自制件_日程时间修改` | 更新/保存业务数据 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 1332 行:`postB1("/PurchaseRequests")` +- 第 1523 行:`patchB1("/ProductionOrders(")` + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 1332 | `postB1` | `/PurchaseRequests` | 调用外部接口,失败会影响对应外部系统同步。 | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments`、`DocumentLines`、`ItemCode` | +| 1523 | `patchB1` | `/ProductionOrders(` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`U_YJQTdate`、`优先级`、`未完成说明`、`派工特殊说明` | + +### 状态流转说明 + +- `计划排产_生产订单_已排产订单查询`:`CREATE PROCEDURE [dbo].[计划排产_生产订单_已排产订单查询]`;`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1` +- `MES_OrderPlanned_Queryzp`:`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, `;`case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, `;`[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], `;`FROM dbo.YL_质量检验_质检记录` +- `MES_OrderPlanned_Queryzp`:`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, `;`case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, `;`[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], `;`FROM dbo.YL_质量检验_质检记录` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `计划排产_二次派工`:`create PROCEDURE [dbo].[计划排产_二次派工]`;`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID` +- `计划排产_二次派工`:`create PROCEDURE [dbo].[计划排产_二次派工]`;`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID` +- `计划排产_派工`:`CREATE PROCEDURE [dbo].[计划排产_派工]`;`@派工操作人 NVARCHAR(50)`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`[派工状态] = 1`;`, [派工时间] = getdate()`;`, [派工操作人] = @派工操作人`;`'成功' AS 状态, ` +- `MES_OrderPlanned_SingleTaskPlanned`:`@派工特殊说明 nvarchar(500) = '', `;`@计划完成时间 nvarchar(50) = '', `;`@派工操作人 nvarchar(50) = ''`;`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`INSERT INTO [MES_接口_生产计划_生产任务]` +- `MES_OrderPlanned_SingleTaskPlanned`:`@派工特殊说明 nvarchar(500) = '', `;`@计划完成时间 nvarchar(50) = '', `;`@派工操作人 nvarchar(50) = ''`;`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`INSERT INTO [MES_接口_生产计划_生产任务]` +- `MES_OrderPlanned_Finish`:`@任务列表 NVARCHAR(MAX), `;`@派工操作人 NVARCHAR(MAX)`;`t.[排产状态] = 1, `;`t.[任务状态] = 0, `;`t.派工特殊说明 = j.派工特殊说明, `;`t.计划完成时间 = j.计划完成时间, `;`t.派工操作人 = @派工操作人, `;`t.最后编辑人 = @派工操作人, ` +- `MES_OrderPlanned_DescriptionEdit`:`@未完成说明 nvarchar(50) = '', `;`@派工特殊说明 nvarchar(500) = '', `;`Update [MES_接口_生产计划_生产任务] set`;`未完成说明 = @未完成说明, `;`派工特殊说明 = @派工特殊说明, ` +- `计划排产_自制件_日程时间修改`:`CREATE PROCEDURE [dbo].[计划排产_自制件_日程时间修改]`;`@计划完成时间 nvarchar(50) = ''`;`IF @计划完成时间 ''`;`SET @EndTime = CONVERT(datetime, @计划完成时间, 120)`;`UPDATE [MES_接口_生产计划_生产任务]`;`计划完成时间 = @EndTime`;`AND ISNULL(派工状态, 0) = 0`;`SELECT '0' AS result, '未找到符合条件的记录或派工状态不为0' AS message` + +### 数据库调用链 + +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `计划排产_生产订单_已排产订单查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 查询/读取数据 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_Queryzp` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_Queryzp` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `计划排产_派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_Finish` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 确认/关闭/完成业务动作 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `计划排产_自制件_日程时间修改` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `计划排产_生产订单_已排产订单查询` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`。 +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `MES_OrderPlanned_Queryzp` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] like ''%装配%'''`;`WHERE 质检类型 = ''终检''`;`AND v.[订单行号] = g.工艺顺序'`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 +- `MES_OrderPlanned_Queryzp` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] like ''%装配%'''`;`WHERE 质检类型 = ''终检''`;`AND v.[订单行号] = g.工艺顺序'`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 +- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 +- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `计划排产_二次派工` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 +- `计划排产_二次派工` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 +- `计划排产_派工` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';`;`WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempOrders (订单编号)`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET`。 实现特征:事务控制、临时表 `#TempOrders`。 +- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`INSERT INTO [MES_接口_生产计划_生产任务]`;`set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`if(@最晚开始时间 = '') set @最晚开始时间 = NULL`;`if(@计划开始时间 = '') set @计划开始时间 = NULL`;`if(@计划完成时间 = '') set @计划完成时间 = NULL`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET [指派对象编号] = @指派对象编号`。 +- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`INSERT INTO [MES_接口_生产计划_生产任务]`;`set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`if(@最晚开始时间 = '') set @最晚开始时间 = NULL`;`if(@计划开始时间 = '') set @计划开始时间 = NULL`;`if(@计划完成时间 = '') set @计划完成时间 = NULL`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET [指派对象编号] = @指派对象编号`。 +- `MES_OrderPlanned_Finish` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:查询、更新、解析 JSON 批量数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@任务列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(MAX)`。 主要返回字段线索:`TaskAID = JSON_VALUE(value, '$.taskaid'), `、`指派对象 = JSON_VALUE(value, '$."指派对象"'), `、`指派数量 = JSON_VALUE(value, '$."指派数量"'), `、`指派对象编号 = JSON_VALUE(value, '$."指派对象编号"'), `、`派工特殊说明 = JSON_VALUE(value, '$."派工特殊说明"'), `、`计划开始时间 = JSON_VALUE(value, '$."计划开始时间"'), `、`计划完成时间 = JSON_VALUE(value, '$."计划完成时间"'), `、`最晚开始时间 = JSON_VALUE(value, '$."最晚开始时间"')`。 关键写入/状态处理语句线索:`UPDATE t`;`SET`。 实现特征:JSON 批量解析。 +- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。 +- `计划排产_自制件_日程时间修改` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int`、`@订单拆分内码 int`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号`;`AND 订单行号 = @订单行号`;`AND 订单拆分内码 = @订单拆分内码`;`AND ISNULL(派工状态, 0) = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @StartTime = CONVERT(datetime, @计划开始时间, 120)`;`SET @StartTime = NULL`;`SET @EndTime = CONVERT(datetime, @计划完成时间, 120)`;`SET @EndTime = NULL`;`UPDATE [MES_接口_生产计划_生产任务]`;`SET 计划开始时间 = @StartTime, `。 实现特征:异常捕获。 + +## 9. src/views/PlanManagement/InstallMakePlan/index.vue + +**页面位置**:`src/views/PlanManagement/InstallMakePlan/index.vue` +**所属模块**:PlanManagement / InstallMakePlan +**源码行数**:1763 + +### 页面功能 + +该页面处理装配件排产。用户查询待排产/已排产装配任务,选择工位和人员,修改计划开工/完成时间、优先级、说明,执行单条派工、二次派工、批量确认排产,并在确认时同步 SAP 生产订单状态或创建相关请求。 + +页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确定”、“派工”、“计划排产”、“编辑”、“取 消”、“确 定”、“全部”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Queryzp`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询`、`MES_OrderPlanned_EditTaskPlanned` 等过程 取数或提交业务动作。 + +### 页面流程图 + +装配排产流程: + +```mermaid +flowchart LR + A[输入订单/合同/物料/工序/时间条件] --> B[MES_OrderPlanned_Queryzp 查询装配任务] + B --> C[选择任务] + C --> D[Prog_MES_LoadStations 选择工位] + D --> E[系统管理_人员管理_所有有效人员查询 选择人员] + E --> F[计划排产_派工 或 MES_OrderPlanned_SingleTaskPlanned] + F --> G[计划排产_二次派工] + G --> H[MES_OrderPlanned_Finish 确认排产] + H --> I[PATCH /ProductionOrders(...) 或 POST SAP 请求] + I --> J[刷新排产结果] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`批量排产`、`排产完成`、`确定`、`派工`、`计划排产`、`编辑`、`取 消`、`确 定`、`全部`、`已完成`、`未完成`、`item.指南工位号`、`表单`、`序号`、`生产订单`、`计划号`、`物料编码` + +主要方法线索:`getCurrentTime` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.orderNo ` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `'自制件'` | `@物料类型` | - | +| 参数 | `this.contractNo` | `@合同号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.productCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.productName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.processName` | `@工序名称` | - | +| 参数 | `this.nature` | `@性质` | - | +| 参数 | `this.completionTime[0` | `@要求完工日期1` | - | +| 参数 | `this.completionTime[1` | `@要求完工日期2` | - | +| 参数 | `this.planStartTime[0` | `@计划开始1` | - | +| 参数 | `this.planStartTime[1` | `@计划开始2` | - | +| 参数 | `this.planendTime[0` | `@计划完成1` | - | +| 参数 | `this.planendTime[1` | `@计划完成2` | - | +| 参数 | `this.productionStatus` | `@排产状态` | - | +| 参数 | `this.station` | `@指派对象` | - | +| 参数 | `this.doneorderNo ` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.donecontractNo` | `@合同号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.doneproductCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.doneproductName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.doneprocessName` | `@工序名称` | - | +| 参数 | `this.donenature` | `@性质` | - | +| 参数 | `this.doneproductionStatus` | `@排产状态` | - | +| 参数 | `editstr` | `@editstr` | - | +| 参数 | `row.订单号` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `row.订单行号` | `@订单行号` | - | +| 参数 | `row.拆分内码` | `@订单拆分内码` | - | +| 参数 | `row.taskaid` | `@TaskAID` | - | +| 参数 | `row.二次派工` | `@personnel` | - | +| 参数 | `row.派工特殊说明` | `@派工特殊说明` | - | +| 参数 | `this.$store.state.user.name` | `@派工操作人` | - | +| 参数 | `row.指派对象编号` | `@指派对象编号` | - | +| 参数 | `row.指派对象` | `@指派对象` | - | +| 参数 | `this.editnumber` | `@指派数量` | - | +| 参数 | `row.计划开始时间` | `@计划开始时间` | - | +| 参数 | `row.计划完成时间` | `@计划完成时间` | - | +| 参数 | `row.最晚开始时间` | `@最晚开始时间` | - | +| 参数 | `item.订单号` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `item.订单行号` | `@订单行号` | - | +| 参数 | `item.拆分内码` | `@订单拆分内码` | - | +| 参数 | `item.指派对象编号` | `@指派对象编号` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) +- FullCalendar + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 816 | 11(当前通用存储过程查询/执行) | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 查询、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 965 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 1034 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` | +| 1089 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` | +| 1124 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` | +| 1137 | 11(当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` | +| 1177 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1194 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1211 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1228 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1242 | 12(当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1251 | 12(当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1325 | 12(当前通用存储过程写入/业务动作) | `计划排产_派工` | 计划排产或派工 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1378 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1409 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1531 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 查询、更新、解析 JSON 批量数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1560 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1641 | 12(当前通用存储过程写入/业务动作) | `计划排产_自制件_日程时间修改` | 更新/保存业务数据 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 1332 行:`postB1("/PurchaseRequests")` +- 第 1523 行:`patchB1("/ProductionOrders(")` + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 1332 | `postB1` | `/PurchaseRequests` | 调用外部接口,失败会影响对应外部系统同步。 | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments`、`DocumentLines`、`ItemCode` | +| 1523 | `patchB1` | `/ProductionOrders(` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`U_YJQTdate`、`优先级`、`未完成说明`、`派工特殊说明` | + +### 状态流转说明 + +- `计划排产_生产订单_已排产订单查询`:`CREATE PROCEDURE [dbo].[计划排产_生产订单_已排产订单查询]`;`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1` +- `MES_OrderPlanned_Queryzp`:`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, `;`case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, `;`[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], `;`FROM dbo.YL_质量检验_质检记录` +- `MES_OrderPlanned_Queryzp`:`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, `;`case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, `;`[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], `;`FROM dbo.YL_质量检验_质检记录` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `计划排产_二次派工`:`create PROCEDURE [dbo].[计划排产_二次派工]`;`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID` +- `计划排产_二次派工`:`create PROCEDURE [dbo].[计划排产_二次派工]`;`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID` +- `计划排产_派工`:`CREATE PROCEDURE [dbo].[计划排产_派工]`;`@派工操作人 NVARCHAR(50)`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`[派工状态] = 1`;`, [派工时间] = getdate()`;`, [派工操作人] = @派工操作人`;`'成功' AS 状态, ` +- `MES_OrderPlanned_SingleTaskPlanned`:`@派工特殊说明 nvarchar(500) = '', `;`@计划完成时间 nvarchar(50) = '', `;`@派工操作人 nvarchar(50) = ''`;`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`INSERT INTO [MES_接口_生产计划_生产任务]` +- `MES_OrderPlanned_SingleTaskPlanned`:`@派工特殊说明 nvarchar(500) = '', `;`@计划完成时间 nvarchar(50) = '', `;`@派工操作人 nvarchar(50) = ''`;`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`INSERT INTO [MES_接口_生产计划_生产任务]` +- `MES_OrderPlanned_Finish`:`@任务列表 NVARCHAR(MAX), `;`@派工操作人 NVARCHAR(MAX)`;`t.[排产状态] = 1, `;`t.[任务状态] = 0, `;`t.派工特殊说明 = j.派工特殊说明, `;`t.计划完成时间 = j.计划完成时间, `;`t.派工操作人 = @派工操作人, `;`t.最后编辑人 = @派工操作人, ` +- `MES_OrderPlanned_DescriptionEdit`:`@未完成说明 nvarchar(50) = '', `;`@派工特殊说明 nvarchar(500) = '', `;`Update [MES_接口_生产计划_生产任务] set`;`未完成说明 = @未完成说明, `;`派工特殊说明 = @派工特殊说明, ` +- `计划排产_自制件_日程时间修改`:`CREATE PROCEDURE [dbo].[计划排产_自制件_日程时间修改]`;`@计划完成时间 nvarchar(50) = ''`;`IF @计划完成时间 ''`;`SET @EndTime = CONVERT(datetime, @计划完成时间, 120)`;`UPDATE [MES_接口_生产计划_生产任务]`;`计划完成时间 = @EndTime`;`AND ISNULL(派工状态, 0) = 0`;`SELECT '0' AS result, '未找到符合条件的记录或派工状态不为0' AS message` + +### 数据库调用链 + +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `计划排产_生产订单_已排产订单查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 查询/读取数据 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_Queryzp` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_Queryzp` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `计划排产_派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_Finish` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 确认/关闭/完成业务动作 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `计划排产_自制件_日程时间修改` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `计划排产_生产订单_已排产订单查询` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`。 +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `MES_OrderPlanned_Queryzp` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] like ''%装配%'''`;`WHERE 质检类型 = ''终检''`;`AND v.[订单行号] = g.工艺顺序'`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 +- `MES_OrderPlanned_Queryzp` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] like ''%装配%'''`;`WHERE 质检类型 = ''终检''`;`AND v.[订单行号] = g.工艺顺序'`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 +- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 +- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `计划排产_二次派工` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 +- `计划排产_二次派工` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 +- `计划排产_派工` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';`;`WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempOrders (订单编号)`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET`。 实现特征:事务控制、临时表 `#TempOrders`。 +- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`INSERT INTO [MES_接口_生产计划_生产任务]`;`set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`if(@最晚开始时间 = '') set @最晚开始时间 = NULL`;`if(@计划开始时间 = '') set @计划开始时间 = NULL`;`if(@计划完成时间 = '') set @计划完成时间 = NULL`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET [指派对象编号] = @指派对象编号`。 +- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`INSERT INTO [MES_接口_生产计划_生产任务]`;`set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`if(@最晚开始时间 = '') set @最晚开始时间 = NULL`;`if(@计划开始时间 = '') set @计划开始时间 = NULL`;`if(@计划完成时间 = '') set @计划完成时间 = NULL`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET [指派对象编号] = @指派对象编号`。 +- `MES_OrderPlanned_Finish` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:查询、更新、解析 JSON 批量数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@任务列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(MAX)`。 主要返回字段线索:`TaskAID = JSON_VALUE(value, '$.taskaid'), `、`指派对象 = JSON_VALUE(value, '$."指派对象"'), `、`指派数量 = JSON_VALUE(value, '$."指派数量"'), `、`指派对象编号 = JSON_VALUE(value, '$."指派对象编号"'), `、`派工特殊说明 = JSON_VALUE(value, '$."派工特殊说明"'), `、`计划开始时间 = JSON_VALUE(value, '$."计划开始时间"'), `、`计划完成时间 = JSON_VALUE(value, '$."计划完成时间"'), `、`最晚开始时间 = JSON_VALUE(value, '$."最晚开始时间"')`。 关键写入/状态处理语句线索:`UPDATE t`;`SET`。 实现特征:JSON 批量解析。 +- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。 +- `计划排产_自制件_日程时间修改` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int`、`@订单拆分内码 int`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号`;`AND 订单行号 = @订单行号`;`AND 订单拆分内码 = @订单拆分内码`;`AND ISNULL(派工状态, 0) = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @StartTime = CONVERT(datetime, @计划开始时间, 120)`;`SET @StartTime = NULL`;`SET @EndTime = CONVERT(datetime, @计划完成时间, 120)`;`SET @EndTime = NULL`;`UPDATE [MES_接口_生产计划_生产任务]`;`SET 计划开始时间 = @StartTime, `。 实现特征:异常捕获。 + +## 10. src/views/PlanManagement/PlanShell/index.vue + +**页面位置**:`src/views/PlanManagement/PlanShell/index.vue` +**所属模块**:PlanManagement / PlanShell +**源码行数**:850 + +### 页面功能 + +该页面是计划外壳/计划跟踪类页面,按缺料、发货通知、完成状态等条件查询计划或装配相关任务,用于计划人员集中查看订单齐套、发货和关闭情况。 + +页面可见的操作/字段包括 “查询”、“缺料”、“关闭”、“全部”、“已下达发货通知”、“未下达发货通知”、“是”、“否”、“已完成”、“未完成”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `生产管理_装配中心_缺料查询`、`计划排产_查询计划信息`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `生产管理_装配中心_缺料查询` -> `计划排产_查询计划信息` -> `MES_OrderPlanned_DescriptionEdit` -> `Prog_MES_LoadStations` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`缺料`、`关闭`、`全部`、`已下达发货通知`、`未下达发货通知`、`是`、`否`、`已完成`、`未完成`、`发料齐套`、`发料缺件`、`未发料`、`机加`、`装配`、`加急`、`正常`、`序号` + +主要方法线索:`miss` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `row.产品编码` | `@ItemCode` | - | +| 参数 | `row.订单号` | `@订单号` | - | +| 参数 | `this.orderNo ` | `@订单号` | - | +| 参数 | `'自制件'` | `@物料类型` | - | +| 参数 | `this.contractNo` | `@合同号` | - | +| 参数 | `this.productCode` | `@产品编码` | - | +| 参数 | `this.productName` | `@产品名称` | - | +| 参数 | `this.processName` | `@工序名称` | - | +| 参数 | `this.planStartTime` | `@计划开始` | - | +| 参数 | `this.planendTime` | `@计划完成` | - | +| 参数 | `this.productionStatus` | `@排产状态` | - | +| 参数 | `'全部'` | `@指派对象` | - | +| 参数 | `this.plannum` | `@计划号` | `v.计划号, ` | +| 参数 | `this.ShipmentStatus` | `@发货状态` | `isnull(发货状态, 0) as [发货状态], ` | +| 参数 | `this.complete` | `@齐套` | `when isnull(发料状态, 0) = 1 then ''发料齐套''` | +| 参数 | `this.checkstatus` | `@检验状态` | - | +| 参数 | `this.sendstatus` | `@发料状态` | `when isnull(发料状态, 0) = 1 then ''发料齐套''` | +| 参数 | `this.selfStatus` | `@自制件属性` | - | +| 参数 | `this.outsourceStatus === '是' ? 1 : 0` | `@是否外协` | - | +| 参数 | `this.currentRow.订单号` | `@订单号` | - | +| 参数 | `this.currentRow.订单行号` | `@订单行号` | - | +| 参数 | `this.currentRow.拆分内码` | `@订单拆分内码` | - | +| 参数 | `this.editForm.优先级` | `@优先级` | - | +| 参数 | `this.editForm.未完成说明` | `@未完成说明` | - | +| 参数 | `this.editForm.派工特殊说明` | `@派工特殊说明` | - | +| 参数 | `this.$store.state.user.name` | `@最后编辑人` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `工序名称` | - | `工序名称` | +| 显示列 | `计划数量` | - | `计划数量` | +| 显示列 | `指派对象` | - | `指派对象` | +| 显示列 | `开始时间` | - | `计划开始时间` | +| 显示列 | `结束时间` | - | `计划完成时间` | +| 显示列 | `完成进度` | - | `进度` | +| 显示列 | `完成数量` | - | `完成数量` | +| 显示列 | `合格数` | - | `收检合格数` | +| 显示列 | `不良数` | - | `收检不合格数` | +| 显示列 | `任务状态` | - | `任务状态` | +| 显示列 | `加工状态` | - | `加工状态` | +| 显示列 | `操作` | - | `操作` | +| 显示列 | `发货通知` | - | `发货通知` | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 355 | 11(当前通用存储过程查询/执行) | `生产管理_装配中心_缺料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` | +| 630 | 11(当前通用存储过程查询/执行) | `计划排产_查询计划信息` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 视图:`View_生产订单_MES` | +| 664 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 723 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- 生产管理_装配中心_缺料查询: SAP.SBO_YL.dbo.UBT_OPKL_MissQty + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `生产管理_装配中心_缺料查询`:`select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号` +- `计划排产_查询计划信息`:`CREATE PROCEDURE [dbo].[计划排产_查询计划信息]`;`@计划完成 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`@发货状态 nvarchar(50) = '全部', `;`@检验状态 nvarchar(50) = '', `;`@发料状态 nvarchar(50) = '全部', `;`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE [物料类型] = ''pit_Resource'' and [排产状态] = 1 '`;`拣配状态, ` +- `MES_OrderPlanned_DescriptionEdit`:`@未完成说明 nvarchar(50) = '', `;`@派工特殊说明 nvarchar(500) = '', `;`Update [MES_接口_生产计划_生产任务] set`;`未完成说明 = @未完成说明, `;`派工特殊说明 = @派工特殊说明, ` + +### 数据库调用链 + +- `src/views/PlanManagement/PlanShell/index.vue` -> `生产管理_装配中心_缺料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` -> 查询/读取数据 +- `src/views/PlanManagement/PlanShell/index.vue` -> `计划排产_查询计划信息` -> 视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/PlanManagement/PlanShell/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/PlanShell/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `生产管理_装配中心_缺料查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty`。 入参/分页参数:`@ItemCode nvarchar(500),`、`@订单号 int`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号`。 实现特征:读取 SAP 数据库对象。 +- `计划排产_查询计划信息` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@计划开始 nvarchar(50)`、`@计划完成 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@计划号 nvarchar(50)`、`@发货状态 nvarchar(50)`、`@齐套 nvarchar(50)`、`@检验状态 nvarchar(50)`、`@发料状态 nvarchar(50)`、`@自制件属性 nvarchar(50)`。 主要返回字段线索:`top 300`、`v.计划号, `、`拣配状态, `、`入库数量, `、`要求发货日期, `、`isnull(发货状态, 0) as [发货状态], `、`case`、`when isnull(发料状态, 0) = 1 then ''发料齐套''`、`when isnull(发料状态, 0) = 2 then ''发料缺件''`、`when isnull(发料状态, 0) = 0 then ''未发料''`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE [物料类型] = ''pit_Resource'' and [排产状态] = 1 '`;`WHEN qt.检验数量_8 > 0 AND qt.检验数量_6 > 0 AND qt.检验数量_8 > = qt.检验数量_6 THEN ''已完成''`;`WHEN qt.检验数量_8 > 0 AND qt.检验数量_6 > 0 AND qt.检验数量_8 < qt.检验数量_6 THEN ''未完成''`;`WHEN qt.检验数量_8 = 0 AND qt.检验数量_6 > 0 THEN ''未完成''`;`WHEN qt.检验数量_8 > 0 AND qt.检验数量_6 = 0 THEN ''已完成''`;`WHERE 质检类型 = ''终检''`;`WHERE 质检类型 = ''收检''`;`SET @selectStrWhere = @selectStrWhere + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)`;`SET @selectStrWhere = @selectStrWhere + ' AND v.[计划号] = '''+@计划号+''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [合同号] LIKE ''%' + @合同号 + '%'''`。 关键写入/状态处理语句线索:`SET @selectStr = N'`;`SET @selectStrWhere = @selectStrWhere + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)`;`SET @selectStrWhere = @selectStrWhere + ' AND v.[计划号] = '''+@计划号+''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [合同号] LIKE ''%' + @合同号 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @产品编码 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料描述] LIKE ''%' + @产品名称 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [工序名称] = ''' + @工序名称 + ''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] > = ''' + @计划开始 + ''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] < = ''' + @计划完成 + ''''`;`SET @selectStrWhere = @selectStrWhere + ' AND ISNULL([发货状态], 0) = 0'`;`SET @selectStrWhere = @selectStrWhere + ' AND [发货状态] = 1'`;`SET @selectStrWhere = @selectStrWhere + ' AND ISNULL([自制件属性], 0) = ''机加件'''`。 排序/分组/分页线索:`GROUP BY TaskAID`;`SET @selectStrWhere = @selectStrWhere + ' ORDER BY 计划开始时间 asc'`。 +- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。 +- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 + +## 11. src/views/PlanManagement/PlannOrderClose/index.vue + +**页面位置**:`src/views/PlanManagement/PlannOrderClose/index.vue` +**所属模块**:PlanManagement / PlannOrderClose +**源码行数**:151 + +### 页面功能 + +该页面用于生产订单关闭。用户筛选 SAP 未关闭或 MES 待确认订单,执行 SAP 生产订单关闭,并调用 MES 过程记录或确认订单关闭状态。 + +页面可见的操作/字段包括 “查询”、“确认”、“关闭”、“全部”、“已关闭”、“未关闭”、“可关闭”、“SAP未关闭”、“机加”、“装配”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `计划排产_生产订单关闭_查询全部订单`、`计划排产_生产订单关闭_关闭订单`、`计划排产_生产订单关闭_确认订单` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `计划排产_生产订单关闭_查询全部订单` -> `计划排产_生产订单关闭_关闭订单` -> `计划排产_生产订单关闭_确认订单` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`确认`、`关闭`、`全部`、`已关闭`、`未关闭`、`可关闭`、`SAP未关闭`、`机加`、`装配`、`订单编号`、`合同号`、`产品编码`、`产品名称`、`计划数量`、`入库数量`、`终检不合格`、`终检合格` + +主要方法线索:`searchTable` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.equipmentName` | `@订单号` | `v.订单号 as 订单编号, ` | +| 参数 | `this.equipmentType` | `@单据状态` | - | +| 参数 | `this.orderType` | `@属性` | - | +| 显示列 | `订单编号` | - | `v.订单号 as 订单编号, ` | +| 显示列 | `合同号` | - | `MAX(合同号) as 合同号, ` | +| 显示列 | `产品编码` | - | `MAX(产品编码) as 产品编码, ` | +| 显示列 | `产品名称` | - | `MAX(产品名称) as 产品名称, ` | +| 显示列 | `计划数量` | - | `MAX(计划数量) as 计划数量, ` | +| 显示列 | `入库数量` | - | `MAX(入库数量) as 入库数量, ` | +| 显示列 | `终检不合格` | - | `MAX(终检不合格数合计) as 终检不合格数合计, ` | +| 显示列 | `终检合格` | - | `MAX(终检合格数合计) as 终检合格数合计, ` | +| 显示列 | `收检合格` | - | `MAX(终检不合格数合计) as 终检不合格数合计, ` | +| 显示列 | `收检不合格` | - | `MAX(终检不合格数合计) as 终检不合格数合计, ` | +| 显示列 | `操作` | - | `操作` | +| 输入字段 | `equipmentName` | `@订单号` | - | +| 输入字段 | `equipmentType` | `@单据状态` | - | +| 输入字段 | `orderType` | `@属性` | - | +| 输入字段 | `opName` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 102 | 11(当前通用存储过程查询/执行) | `计划排产_生产订单关闭_查询全部订单` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`YL_质量检验_质检记录` | +| 111 | 11(当前通用存储过程查询/执行) | `计划排产_生产订单关闭_关闭订单` | 确认/关闭/完成业务动作 | 查询、更新、处理报工/工时、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`;视图:`View_生产工时视图` | +| 129 | 12(当前通用存储过程写入/业务动作) | `计划排产_生产订单关闭_确认订单` | 确认/关闭/完成业务动作 | 更新、处理计划/派工 | 表:`MES_接口_生产计划` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 117 行:`patchB1("/ProductionOrders(")` + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 117 | `patchB1` | `/ProductionOrders(` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `AbsoluteEntry`、`ProductionOrderStatus` | + +### 状态流转说明 + +- `计划排产_生产订单关闭_查询全部订单`:`CREATE PROCEDURE [dbo].[计划排产_生产订单关闭_查询全部订单]`;`@单据状态 nvarchar(100) = '', `;`if(@单据状态 = '可关闭')`;`MAX(确认状态) as 确认状态, `;`MAX(单据状态) as 单据状态, `;`FROM dbo.YL_质量检验_质检记录`;`WHERE (质检类型 = ''收检'')`;`FROM dbo.YL_质量检验_质检记录 AS YL_质量检验_质检记录_1` +- `计划排产_生产订单关闭_关闭订单`:`CREATE PROCEDURE [dbo].[计划排产_生产订单关闭_关闭订单]`;`declare @selectStrWhere nvarchar(4000) = ' WHERE (v.加工工时 > 0 OR v.总时长 > 0)`;`min(完成数量) as 完成数量, `;`MAX(确认状态) as 确认状态, `;`MAX(单据状态) as 单据状态`;`FROM dbo.YL_质量检验_质检记录`;`WHERE 质检类型 = ''收检''`;`WHERE 质检类型 = ''终检''` +- `计划排产_生产订单关闭_确认订单`:`create PROCEDURE [dbo].[计划排产_生产订单关闭_确认订单]`;`update [dbo].[MES_接口_生产计划] set 确认状态 = 1 where 订单编号 = @订单号` + +### 数据库调用链 + +- `src/views/PlanManagement/PlannOrderClose/index.vue` -> `计划排产_生产订单关闭_查询全部订单` -> 表:`MES_接口_生产计划`、`YL_质量检验_质检记录` -> 查询/读取数据 +- `src/views/PlanManagement/PlannOrderClose/index.vue` -> `计划排产_生产订单关闭_关闭订单` -> 表:`MES_接口_生产计划`;视图:`View_生产工时视图` -> 确认/关闭/完成业务动作 +- `src/views/PlanManagement/PlannOrderClose/index.vue` -> `计划排产_生产订单关闭_确认订单` -> 表:`MES_接口_生产计划` -> 确认/关闭/完成业务动作 + +### 存储过程处理逻辑明细 + +- `计划排产_生产订单关闭_查询全部订单` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`YL_质量检验_质检记录`。 入参/分页参数:`@订单号 nvarchar(100)`、`@单据状态 nvarchar(100)`、`@属性 nvarchar(100)`。 主要返回字段线索:`top 100`、`v.订单号 as 订单编号, `、`MAX(产品名称) as 产品名称, `、`MAX(产品编码) as 产品编码, `、`MAX(入库数量) as 入库数量, `、`MAX(合同号) as 合同号, `、`MAX(终检不合格数合计) as 终检不合格数合计, `、`MAX(终检合格数合计) as 终检合格数合计, `、`MAX(计划数量) as 计划数量, `、`MAX(确认状态) as 确认状态, `。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' WHERE 1 = 1 '`;`WHERE (质检类型 = ''收检'')`;`WHERE (质检类型 = ''终检'')`;`WHERE`;`set @selectStr = @selectStr + ' and v.订单号 = ''' + @订单号 + ''''`;`set @selectStr = @selectStr + ' and ([自制件属性] = ''机加件'') '`;`set @selectStr = @selectStr + ' and [自制件属性] like ''%装配%'' '`;`AND MAX(终检不合格数合计) + MAX(终检合格数合计) + MAX(不合格数合计) = MAX(计划数量)`;`AND max(ISNULL(v.入库数量, 0)) = max(ISNULL(zj_终检数量.终检合格数合计, 0)) ORDER BY v.订单号'`;`WHERE 质检类型 = ''终检''`。 关键写入/状态处理语句线索:`set @selectStr = '`;`set @selectStr = @selectStr + ' and v.订单号 = ''' + @订单号 + ''''`;`set @selectStr = @selectStr + ' and ([自制件属性] = ''机加件'') '`;`set @selectStr = @selectStr + ' and [自制件属性] like ''%装配%'' '`;`set @selectStr = @selectStr + 'GROUP BY v.订单号`;`set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = ''' + @订单号 + ''''`;`set @selectStrWhere = @selectStrWhere + ' and ([单据状态] = ''已关闭'') '`;`set @selectStrWhere = @selectStrWhere + ' and ([单据状态] = ''已关闭'' or [单据状态] = ''已取消'') '`;`set @selectStrWhere = @selectStrWhere + ' and [单据状态] is null'`;`set @selectStrWhere = @selectStrWhere + ' and ([自制件属性] = ''机加件'') '`;`set @selectStrWhere = @selectStrWhere + ' and [自制件属性] like ''%装配%'' '`;`set @selectStrWhere = @selectStrWhere + ' group by v.订单编号'`。 排序/分组/分页线索:`GROUP BY 计划号) AS zj_收检 ON v.订单号 = zj_收检.计划号 LEFT OUTER JOIN`;`GROUP BY 计划号) AS zj_终检数量 ON v.订单号 = zj_终检数量.计划号`;`set @selectStr = @selectStr + 'GROUP BY v.订单号`;`HAVING`;`AND max(ISNULL(v.入库数量, 0)) = max(ISNULL(zj_终检数量.终检合格数合计, 0)) ORDER BY v.订单号'`;`GROUP BY 计划号`;`set @selectStrWhere = @selectStrWhere + ' group by v.订单编号'`。 +- `计划排产_生产订单关闭_关闭订单` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:查询、更新、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`;视图:`View_生产工时视图`。 写入或更新对象:`MES_接口_生产计划`。 入参/分页参数:`@订单号 nvarchar(100)`。 主要返回字段线索:`v.订单号, `、`MAX(产品名称) as 产品名称, `、`MAX(产品编码) as 产品编码, `、`MAX(入库数量) as 入库数量, `、`MAX(合同号) as 合同号, `、`MAX(终检不合格数合计) as 终检不合格数合计, `、`MAX(终检合格数合计) as 终检合格数合计, `、`MAX(合格数合计) as 合格数合计, `、`MAX(不合格数合计) as 不合格数合计, `、`MAX(计划数量) as 计划数量, `。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' WHERE (v.加工工时 > 0 OR v.总时长 > 0)`;`AND v.Expr1 IS NULL`;`WHERE 质检类型 = ''收检''`;`WHERE 质检类型 = ''终检''`;`set @selectStrWhere = ' WHERE (v.加工工时 > 0 OR v.总时长 > 0)`;`AND v.订单号 = ''' + @订单号 + '''`;`where 订单编号 = @订单号`。 关键写入/状态处理语句线索:`set @selectStr = '`;`set @selectStrWhere = @selectStrWhere + ' group by v.订单号'`;`set @selectStr = @selectStr + @selectStrWhere`;`set @selectStrWhere = ' WHERE (v.加工工时 > 0 OR v.总时长 > 0)`;`update [dbo].[MES_接口_生产计划]`;`set 单据状态 = '已关闭'`。 排序/分组/分页线索:`GROUP BY TaskAID`;`set @selectStrWhere = @selectStrWhere + ' group by v.订单号'`;`group by v.订单号'`。 +- `计划排产_生产订单关闭_确认订单` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`。 入参/分页参数:`@订单号 int`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划] set 确认状态 = 1 where 订单编号 = @订单号`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划] set 确认状态 = 1 where 订单编号 = @订单号`。 + +## 12. src/views/PlanManagement/SelfMakePlan/index.vue + +**页面位置**:`src/views/PlanManagement/SelfMakePlan/index.vue` +**所属模块**:PlanManagement / SelfMakePlan +**源码行数**:1736 + +### 页面功能 + +该页面处理自制件/机加件排产。用户查询生产订单工序任务,筛选订单、合同、物料、工序、计划时间、排产状态和指派对象,完成工位派工、人员二次派工、外协分组、计划说明维护和排产确认。 + +页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确定”、“派工”、“计划排产”、“编辑”、“取 消”、“确 定”、“全部”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Query`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询`、`MES_OrderPlanned_EditTaskPlanned` 等过程 取数或提交业务动作。 + +### 页面流程图 + +自制/机加排产流程: + +```mermaid +flowchart LR + A[输入订单/合同/物料/工序/时间条件] --> B[调用 MES_OrderPlanned_Query 查询待排产任务] + B --> C[选择任务行] + C --> D{派工方式} + D --> E[MES_OrderPlanned_SingleTaskPlanned 单任务派工] + D --> F[计划排产_二次派工 绑定人员] + D --> G[计划排产_外协分组] + E --> H[MES_OrderPlanned_EditTaskPlanned/DescriptionEdit 修改计划字段] + F --> H + G --> H + H --> I[MES_OrderPlanned_Finish 确认排产] + I --> J[PATCH /ProductionOrders(...) 回写 SAP 生产订单状态] + J --> K[页面刷新任务状态] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`批量排产`、`排产完成`、`确定`、`派工`、`计划排产`、`编辑`、`取 消`、`确 定`、`全部`、`已完成`、`未完成`、`item.指南工位号`、`表单`、`序号`、`生产订单`、`计划号`、`物料编码` + +主要方法线索:`getCurrentTime` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.orderNo ` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `'自制件'` | `@物料类型` | - | +| 参数 | `this.contractNo` | `@合同号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.productCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.productName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.processName` | `@工序名称` | - | +| 参数 | `this.nature` | `@性质` | - | +| 参数 | `this.completionTime[0` | `@要求完工日期1` | - | +| 参数 | `this.completionTime[1` | `@要求完工日期2` | - | +| 参数 | `this.planStartTime[0` | `@计划开始1` | - | +| 参数 | `this.planStartTime[1` | `@计划开始2` | - | +| 参数 | `this.planendTime[0` | `@计划完成1` | - | +| 参数 | `this.planendTime[1` | `@计划完成2` | - | +| 参数 | `this.productionStatus` | `@排产状态` | - | +| 参数 | `this.station` | `@指派对象` | - | +| 参数 | `this.doneorderNo ` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.donecontractNo` | `@合同号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.doneproductCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.doneproductName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.doneprocessName` | `@工序名称` | - | +| 参数 | `this.donenature` | `@性质` | - | +| 参数 | `this.doneproductionStatus` | `@排产状态` | - | +| 参数 | `editstr` | `@editstr` | - | +| 参数 | `row.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `row.订单行号` | `@订单行号` | - | +| 参数 | `row.拆分内码` | `@订单拆分内码` | - | +| 参数 | `row.taskaid` | `@TaskAID` | - | +| 参数 | `row.二次派工` | `@personnel` | - | +| 参数 | `row.派工特殊说明` | `@派工特殊说明` | - | +| 参数 | `this.$store.state.user.name` | `@派工操作人` | - | +| 参数 | `row.指派对象编号` | `@指派对象编号` | - | +| 参数 | `row.指派对象` | `@指派对象` | - | +| 参数 | `this.editnumber` | `@指派数量` | - | +| 参数 | `row.计划开始时间` | `@计划开始时间` | - | +| 参数 | `row.计划完成时间` | `@计划完成时间` | - | +| 参数 | `row.最晚开始时间` | `@最晚开始时间` | - | +| 参数 | `item.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `item.订单行号` | `@订单行号` | - | +| 参数 | `item.拆分内码` | `@订单拆分内码` | - | +| 参数 | `item.指派对象编号` | `@指派对象编号` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) +- FullCalendar + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 815 | 11(当前通用存储过程查询/执行) | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 查询、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 965 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 1034 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` | +| 1092 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` | +| 1130 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` | +| 1143 | 11(当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` | +| 1183 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1200 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1217 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1234 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1248 | 12(当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1257 | 12(当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1361 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1392 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1507 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 查询、更新、解析 JSON 批量数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1536 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1617 | 12(当前通用存储过程写入/业务动作) | `计划排产_自制件_日程时间修改` | 更新/保存业务数据 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 1500 行:`patchB1("/ProductionOrders(")` + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 1500 | `patchB1` | `/ProductionOrders(` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`优先级`、`未完成说明`、`派工特殊说明` | + +### 状态流转说明 + +- `计划排产_生产订单_已排产订单查询`:`CREATE PROCEDURE [dbo].[计划排产_生产订单_已排产订单查询]`;`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1` +- `MES_OrderPlanned_Query`:`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'`;`[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, v.备注, `;`case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, `;`[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], isnull(g.标准工时, 0) as 标准工时, ` +- `MES_OrderPlanned_Query`:`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'`;`[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, v.备注, `;`case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, `;`[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], isnull(g.标准工时, 0) as 标准工时, ` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `计划排产_二次派工`:`create PROCEDURE [dbo].[计划排产_二次派工]`;`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID` +- `计划排产_二次派工`:`create PROCEDURE [dbo].[计划排产_二次派工]`;`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID` +- `MES_OrderPlanned_SingleTaskPlanned`:`@派工特殊说明 nvarchar(500) = '', `;`@计划完成时间 nvarchar(50) = '', `;`@派工操作人 nvarchar(50) = ''`;`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`INSERT INTO [MES_接口_生产计划_生产任务]` +- `MES_OrderPlanned_SingleTaskPlanned`:`@派工特殊说明 nvarchar(500) = '', `;`@计划完成时间 nvarchar(50) = '', `;`@派工操作人 nvarchar(50) = ''`;`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`INSERT INTO [MES_接口_生产计划_生产任务]` +- `MES_OrderPlanned_Finish`:`@任务列表 NVARCHAR(MAX), `;`@派工操作人 NVARCHAR(MAX)`;`t.[排产状态] = 1, `;`t.[任务状态] = 0, `;`t.派工特殊说明 = j.派工特殊说明, `;`t.计划完成时间 = j.计划完成时间, `;`t.派工操作人 = @派工操作人, `;`t.最后编辑人 = @派工操作人, ` +- `MES_OrderPlanned_DescriptionEdit`:`@未完成说明 nvarchar(50) = '', `;`@派工特殊说明 nvarchar(500) = '', `;`Update [MES_接口_生产计划_生产任务] set`;`未完成说明 = @未完成说明, `;`派工特殊说明 = @派工特殊说明, ` +- `计划排产_自制件_日程时间修改`:`CREATE PROCEDURE [dbo].[计划排产_自制件_日程时间修改]`;`@计划完成时间 nvarchar(50) = ''`;`IF @计划完成时间 ''`;`SET @EndTime = CONVERT(datetime, @计划完成时间, 120)`;`UPDATE [MES_接口_生产计划_生产任务]`;`计划完成时间 = @EndTime`;`AND ISNULL(派工状态, 0) = 0`;`SELECT '0' AS result, '未找到符合条件的记录或派工状态不为0' AS message` + +### 数据库调用链 + +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `计划排产_生产订单_已排产订单查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_Query` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_Query` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_Finish` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 确认/关闭/完成业务动作 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `计划排产_自制件_日程时间修改` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `计划排产_生产订单_已排产订单查询` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`。 +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `MES_OrderPlanned_Query` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'`;`WHERE 质检类型 = ''终检''`;`AND v.[订单行号] = g.工艺顺序'`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 +- `MES_OrderPlanned_Query` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'`;`WHERE 质检类型 = ''终检''`;`AND v.[订单行号] = g.工艺顺序'`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 +- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 +- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `计划排产_二次派工` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 +- `计划排产_二次派工` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 +- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`INSERT INTO [MES_接口_生产计划_生产任务]`;`set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`if(@最晚开始时间 = '') set @最晚开始时间 = NULL`;`if(@计划开始时间 = '') set @计划开始时间 = NULL`;`if(@计划完成时间 = '') set @计划完成时间 = NULL`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET [指派对象编号] = @指派对象编号`。 +- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`INSERT INTO [MES_接口_生产计划_生产任务]`;`set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`if(@最晚开始时间 = '') set @最晚开始时间 = NULL`;`if(@计划开始时间 = '') set @计划开始时间 = NULL`;`if(@计划完成时间 = '') set @计划完成时间 = NULL`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET [指派对象编号] = @指派对象编号`。 +- `MES_OrderPlanned_Finish` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:查询、更新、解析 JSON 批量数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@任务列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(MAX)`。 主要返回字段线索:`TaskAID = JSON_VALUE(value, '$.taskaid'), `、`指派对象 = JSON_VALUE(value, '$."指派对象"'), `、`指派数量 = JSON_VALUE(value, '$."指派数量"'), `、`指派对象编号 = JSON_VALUE(value, '$."指派对象编号"'), `、`派工特殊说明 = JSON_VALUE(value, '$."派工特殊说明"'), `、`计划开始时间 = JSON_VALUE(value, '$."计划开始时间"'), `、`计划完成时间 = JSON_VALUE(value, '$."计划完成时间"'), `、`最晚开始时间 = JSON_VALUE(value, '$."最晚开始时间"')`。 关键写入/状态处理语句线索:`UPDATE t`;`SET`。 实现特征:JSON 批量解析。 +- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。 +- `计划排产_自制件_日程时间修改` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int`、`@订单拆分内码 int`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号`;`AND 订单行号 = @订单行号`;`AND 订单拆分内码 = @订单拆分内码`;`AND ISNULL(派工状态, 0) = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @StartTime = CONVERT(datetime, @计划开始时间, 120)`;`SET @StartTime = NULL`;`SET @EndTime = CONVERT(datetime, @计划完成时间, 120)`;`SET @EndTime = NULL`;`UPDATE [MES_接口_生产计划_生产任务]`;`SET 计划开始时间 = @StartTime, `。 实现特征:异常捕获。 + +## 13. src/views/PlanManagement/SelfMakePlando/index.vue + +**页面位置**:`src/views/PlanManagement/SelfMakePlando/index.vue` +**所属模块**:PlanManagement / SelfMakePlando +**源码行数**:1669 + +### 页面功能 + +该页面处理自制件/机加件排产。用户查询生产订单工序任务,筛选订单、合同、物料、工序、计划时间、排产状态和指派对象,完成工位派工、人员二次派工、外协分组、计划说明维护和排产确认。 + +页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确定”、“查看”、“零件图纸”、“工艺图纸”、“编辑”、“计划排产”、“取 消”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `工艺管理_图纸维护_查看图纸`、`工艺管理_工艺维护_查看图纸`、`工艺管理_获取物料原料信息`、`计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Query` 等过程 取数或提交业务动作。 + +### 页面流程图 + +自制/机加排产流程: + +```mermaid +flowchart LR + A[输入订单/合同/物料/工序/时间条件] --> B[调用 MES_OrderPlanned_Query 查询待排产任务] + B --> C[选择任务行] + C --> D{派工方式} + D --> E[MES_OrderPlanned_SingleTaskPlanned 单任务派工] + D --> F[计划排产_二次派工 绑定人员] + D --> G[计划排产_外协分组] + E --> H[MES_OrderPlanned_EditTaskPlanned/DescriptionEdit 修改计划字段] + F --> H + G --> H + H --> I[MES_OrderPlanned_Finish 确认排产] + I --> J[PATCH /ProductionOrders(...) 回写 SAP 生产订单状态] + J --> K[页面刷新任务状态] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`批量排产`、`排产完成`、`确定`、`查看`、`零件图纸`、`工艺图纸`、`编辑`、`计划排产`、`取 消`、`确 定`、`关闭`、`全部`、`已完成`、`未完成`、`item.指南工位号`、`表单`、`序号` + +主要方法线索:`getitemdraw`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `item` | `@订单编号` | - | +| 参数 | `this.orderNo ` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `'自制件'` | `@物料类型` | - | +| 参数 | `this.contractNo` | `@合同号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.productCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.productName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.processName` | `@工序名称` | - | +| 参数 | `this.nature` | `@性质` | - | +| 参数 | `this.completionTime[0` | `@要求完工日期1` | - | +| 参数 | `this.completionTime[1` | `@要求完工日期2` | - | +| 参数 | `this.planStartTime[0` | `@计划开始1` | - | +| 参数 | `this.planStartTime[1` | `@计划开始2` | - | +| 参数 | `this.planendTime[0` | `@计划完成1` | - | +| 参数 | `this.planendTime[1` | `@计划完成2` | - | +| 参数 | `this.productionStatus` | `@排产状态` | - | +| 参数 | `this.station` | `@指派对象` | - | +| 参数 | `this.doneorderNo ` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.donecontractNo` | `@合同号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.doneproductCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.doneproductName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.doneprocessName` | `@工序名称` | - | +| 参数 | `this.donenature` | `@性质` | - | +| 参数 | `this.doneproductionStatus` | `@排产状态` | - | +| 参数 | `editstr` | `@editstr` | - | +| 参数 | `row.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `row.订单行号` | `@订单行号` | - | +| 参数 | `row.拆分内码` | `@订单拆分内码` | - | +| 参数 | `row.taskaid` | `@TaskAID` | - | +| 参数 | `row.二次派工` | `@personnel` | - | +| 参数 | `row.派工特殊说明` | `@派工特殊说明` | - | +| 参数 | `this.$store.state.user.name` | `@派工操作人` | - | +| 参数 | `row.指派对象编号` | `@指派对象编号` | - | +| 参数 | `row.指派对象` | `@指派对象` | - | +| 参数 | `this.editnumber` | `@指派数量` | - | +| 参数 | `row.计划开始时间` | `@计划开始时间` | - | +| 参数 | `row.计划完成时间` | `@计划完成时间` | - | +| 参数 | `row.最晚开始时间` | `@最晚开始时间` | - | +| 参数 | `item.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `item.订单行号` | `@订单行号` | - | +| 参数 | `item.拆分内码` | `@订单拆分内码` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) +- FullCalendar +- PDF/图纸预览或导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 632 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 663 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` | +| 680 | 11(当前通用存储过程查询/执行) | `工艺管理_获取物料原料信息` | 业务存储过程调用 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` | +| 710 | 11(当前通用存储过程查询/执行) | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 查询、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 860 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 929 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` | +| 987 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` | +| 1025 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` | +| 1038 | 11(当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` | +| 1078 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1095 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1112 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1129 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1143 | 12(当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1152 | 12(当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1278 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1309 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1345 | 12(当前通用存储过程写入/业务动作) | `计划排产_外协分组` | 计划排产或派工 | 更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1440 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 查询、更新、解析 JSON 批量数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1469 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1550 | 12(当前通用存储过程写入/业务动作) | `计划排产_自制件_日程时间修改` | 更新/保存业务数据 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 1433 行:`patchB1("/ProductionOrders(")` +存储过程内读取 SAP B1 数据库对象: +- 工艺管理_获取物料原料信息: SAP.SBO_YL.dbo.UBT_OWOR_material + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 1433 | `patchB1` | `/ProductionOrders(` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`优先级`、`未完成说明`、`派工特殊说明` | + +### 状态流转说明 + +- `工艺管理_获取物料原料信息`:`SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号` +- `计划排产_生产订单_已排产订单查询`:`CREATE PROCEDURE [dbo].[计划排产_生产订单_已排产订单查询]`;`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1` +- `MES_OrderPlanned_Query`:`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'`;`[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, v.备注, `;`case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, `;`[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], isnull(g.标准工时, 0) as 标准工时, ` +- `MES_OrderPlanned_Query`:`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'`;`[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, v.备注, `;`case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, `;`[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], isnull(g.标准工时, 0) as 标准工时, ` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `计划排产_二次派工`:`create PROCEDURE [dbo].[计划排产_二次派工]`;`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID` +- `计划排产_二次派工`:`create PROCEDURE [dbo].[计划排产_二次派工]`;`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID` +- `MES_OrderPlanned_SingleTaskPlanned`:`@派工特殊说明 nvarchar(500) = '', `;`@计划完成时间 nvarchar(50) = '', `;`@派工操作人 nvarchar(50) = ''`;`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`INSERT INTO [MES_接口_生产计划_生产任务]` +- `MES_OrderPlanned_SingleTaskPlanned`:`@派工特殊说明 nvarchar(500) = '', `;`@计划完成时间 nvarchar(50) = '', `;`@派工操作人 nvarchar(50) = ''`;`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`INSERT INTO [MES_接口_生产计划_生产任务]` +- `计划排产_外协分组`:`create PROCEDURE [dbo].[计划排产_外协分组]`;`update [dbo].[MES_接口_生产计划_生产任务] set 外协分组 = @外协分组 where AID = @TaskAID` +- `MES_OrderPlanned_Finish`:`@任务列表 NVARCHAR(MAX), `;`@派工操作人 NVARCHAR(MAX)`;`t.[排产状态] = 1, `;`t.[任务状态] = 0, `;`t.派工特殊说明 = j.派工特殊说明, `;`t.计划完成时间 = j.计划完成时间, `;`t.派工操作人 = @派工操作人, `;`t.最后编辑人 = @派工操作人, ` +- `MES_OrderPlanned_DescriptionEdit`:`@未完成说明 nvarchar(50) = '', `;`@派工特殊说明 nvarchar(500) = '', `;`Update [MES_接口_生产计划_生产任务] set`;`未完成说明 = @未完成说明, `;`派工特殊说明 = @派工特殊说明, ` +- `计划排产_自制件_日程时间修改`:`CREATE PROCEDURE [dbo].[计划排产_自制件_日程时间修改]`;`@计划完成时间 nvarchar(50) = ''`;`IF @计划完成时间 ''`;`SET @EndTime = CONVERT(datetime, @计划完成时间, 120)`;`UPDATE [MES_接口_生产计划_生产任务]`;`计划完成时间 = @EndTime`;`AND ISNULL(派工状态, 0) = 0`;`SELECT '0' AS result, '未找到符合条件的记录或派工状态不为0' AS message` + +### 数据库调用链 + +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `工艺管理_获取物料原料信息` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` -> 业务存储过程调用 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `计划排产_生产订单_已排产订单查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_Query` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_Query` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `计划排产_外协分组` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_Finish` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 确认/关闭/完成业务动作 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `计划排产_自制件_日程时间修改` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_获取物料原料信息` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号`。 实现特征:读取 SAP 数据库对象。 +- `计划排产_生产订单_已排产订单查询` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`。 +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `MES_OrderPlanned_Query` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'`;`WHERE 质检类型 = ''终检''`;`AND v.[订单行号] = g.工艺顺序'`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 +- `MES_OrderPlanned_Query` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'`;`WHERE 质检类型 = ''终检''`;`AND v.[订单行号] = g.工艺顺序'`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 +- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 +- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `计划排产_二次派工` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 +- `计划排产_二次派工` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 +- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`INSERT INTO [MES_接口_生产计划_生产任务]`;`set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`if(@最晚开始时间 = '') set @最晚开始时间 = NULL`;`if(@计划开始时间 = '') set @计划开始时间 = NULL`;`if(@计划完成时间 = '') set @计划完成时间 = NULL`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET [指派对象编号] = @指派对象编号`。 +- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`INSERT INTO [MES_接口_生产计划_生产任务]`;`set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`if(@最晚开始时间 = '') set @最晚开始时间 = NULL`;`if(@计划开始时间 = '') set @计划开始时间 = NULL`;`if(@计划完成时间 = '') set @计划完成时间 = NULL`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET [指派对象编号] = @指派对象编号`。 +- `计划排产_外协分组` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@外协分组 NVARCHAR(50)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 外协分组 = @外协分组 where AID = @TaskAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`update [dbo].[MES_接口_生产计划_生产任务] set 外协分组 = @外协分组 where AID = @TaskAID`。 +- `MES_OrderPlanned_Finish` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:查询、更新、解析 JSON 批量数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@任务列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(MAX)`。 主要返回字段线索:`TaskAID = JSON_VALUE(value, '$.taskaid'), `、`指派对象 = JSON_VALUE(value, '$."指派对象"'), `、`指派数量 = JSON_VALUE(value, '$."指派数量"'), `、`指派对象编号 = JSON_VALUE(value, '$."指派对象编号"'), `、`派工特殊说明 = JSON_VALUE(value, '$."派工特殊说明"'), `、`计划开始时间 = JSON_VALUE(value, '$."计划开始时间"'), `、`计划完成时间 = JSON_VALUE(value, '$."计划完成时间"'), `、`最晚开始时间 = JSON_VALUE(value, '$."最晚开始时间"')`。 关键写入/状态处理语句线索:`UPDATE t`;`SET`。 实现特征:JSON 批量解析。 +- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。 +- `计划排产_自制件_日程时间修改` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int`、`@订单拆分内码 int`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号`;`AND 订单行号 = @订单行号`;`AND 订单拆分内码 = @订单拆分内码`;`AND ISNULL(派工状态, 0) = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @StartTime = CONVERT(datetime, @计划开始时间, 120)`;`SET @StartTime = NULL`;`SET @EndTime = CONVERT(datetime, @计划完成时间, 120)`;`SET @EndTime = NULL`;`UPDATE [MES_接口_生产计划_生产任务]`;`SET 计划开始时间 = @StartTime, `。 实现特征:异常捕获。 + +## 14. src/views/PlanManagement/SelfMakePlandone/index.vue + +**页面位置**:`src/views/PlanManagement/SelfMakePlandone/index.vue` +**所属模块**:PlanManagement / SelfMakePlandone +**源码行数**:1495 + +### 页面功能 + +该页面处理自制件/机加件排产。用户查询生产订单工序任务,筛选订单、合同、物料、工序、计划时间、排产状态和指派对象,完成工位派工、人员二次派工、外协分组、计划说明维护和排产确认。 + +页面可见的操作/字段包括 “查询”、“确定”、“查看”、“派工”、“编辑”、“取 消”、“确 定”、“全部”、“已完成”、“未完成”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `工艺管理_获取物料原料信息`、`计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Query`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询` 等过程 取数或提交业务动作。 + +### 页面流程图 + +自制/机加排产流程: + +```mermaid +flowchart LR + A[输入订单/合同/物料/工序/时间条件] --> B[调用 MES_OrderPlanned_Query 查询待排产任务] + B --> C[选择任务行] + C --> D{派工方式} + D --> E[MES_OrderPlanned_SingleTaskPlanned 单任务派工] + D --> F[计划排产_二次派工 绑定人员] + D --> G[计划排产_外协分组] + E --> H[MES_OrderPlanned_EditTaskPlanned/DescriptionEdit 修改计划字段] + F --> H + G --> H + H --> I[MES_OrderPlanned_Finish 确认排产] + I --> J[PATCH /ProductionOrders(...) 回写 SAP 生产订单状态] + J --> K[页面刷新任务状态] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`确定`、`查看`、`派工`、`编辑`、`取 消`、`确 定`、`全部`、`已完成`、`未完成`、`item.指南工位号`、`表单`、`生产订单`、`计划号`、`物料编码`、`物料名称`、`计划数`、`要求完工日期` + +主要方法线索:`getitemdata`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `item` | `@订单编号` | - | +| 参数 | `this.orderNo ` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `'自制件'` | `@物料类型` | - | +| 参数 | `this.contractNo` | `@合同号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.productCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.productName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.processName` | `@工序名称` | - | +| 参数 | `this.nature` | `@性质` | - | +| 参数 | `this.completionTime[0` | `@要求完工日期1` | - | +| 参数 | `this.completionTime[1` | `@要求完工日期2` | - | +| 参数 | `this.planStartTime[0` | `@计划开始1` | - | +| 参数 | `this.planStartTime[1` | `@计划开始2` | - | +| 参数 | `this.planendTime[0` | `@计划完成1` | - | +| 参数 | `this.planendTime[1` | `@计划完成2` | - | +| 参数 | `this.productionStatus` | `@排产状态` | - | +| 参数 | `this.station` | `@指派对象` | - | +| 参数 | `this.doneorderNo ` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.donecontractNo` | `@合同号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.doneproductCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.doneproductName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.doneprocessName` | `@工序名称` | - | +| 参数 | `this.donenature` | `@性质` | - | +| 参数 | `this.doneproductionStatus` | `@排产状态` | - | +| 参数 | `editstr` | `@editstr` | - | +| 参数 | `row.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `row.订单行号` | `@订单行号` | - | +| 参数 | `row.拆分内码` | `@订单拆分内码` | - | +| 参数 | `row.taskaid` | `@TaskAID` | - | +| 参数 | `row.二次派工` | `@personnel` | - | +| 参数 | `row.派工特殊说明` | `@派工特殊说明` | - | +| 参数 | `this.$store.state.user.name` | `@派工操作人` | - | +| 参数 | `row.指派对象编号` | `@指派对象编号` | - | +| 参数 | `row.指派对象` | `@指派对象` | - | +| 参数 | `this.editnumber` | `@指派数量` | - | +| 参数 | `row.计划开始时间` | `@计划开始时间` | - | +| 参数 | `row.计划完成时间` | `@计划完成时间` | - | +| 参数 | `row.最晚开始时间` | `@最晚开始时间` | - | +| 参数 | `item.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `item.订单行号` | `@订单行号` | - | +| 参数 | `item.拆分内码` | `@订单拆分内码` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) +- FullCalendar + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 600 | 11(当前通用存储过程查询/执行) | `工艺管理_获取物料原料信息` | 业务存储过程调用 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` | +| 630 | 11(当前通用存储过程查询/执行) | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 查询、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 710 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 779 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` | +| 837 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` | +| 874 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` | +| 887 | 11(当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` | +| 927 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 944 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 961 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 978 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 992 | 12(当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1001 | 12(当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1105 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1136 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1172 | 12(当前通用存储过程写入/业务动作) | `计划排产_外协分组` | 计划排产或派工 | 更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1266 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 查询、更新、解析 JSON 批量数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1295 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1376 | 12(当前通用存储过程写入/业务动作) | `计划排产_自制件_日程时间修改` | 更新/保存业务数据 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 1259 行:`patchB1("/ProductionOrders(")` +存储过程内读取 SAP B1 数据库对象: +- 工艺管理_获取物料原料信息: SAP.SBO_YL.dbo.UBT_OWOR_material + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 1259 | `patchB1` | `/ProductionOrders(` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`优先级`、`未完成说明`、`派工特殊说明` | + +### 状态流转说明 + +- `工艺管理_获取物料原料信息`:`SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号` +- `计划排产_生产订单_已排产订单查询`:`CREATE PROCEDURE [dbo].[计划排产_生产订单_已排产订单查询]`;`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1` +- `MES_OrderPlanned_Query`:`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'`;`[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, v.备注, `;`case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, `;`[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], isnull(g.标准工时, 0) as 标准工时, ` +- `MES_OrderPlanned_Query`:`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'`;`[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, v.备注, `;`case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, `;`[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], isnull(g.标准工时, 0) as 标准工时, ` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `计划排产_二次派工`:`create PROCEDURE [dbo].[计划排产_二次派工]`;`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID` +- `计划排产_二次派工`:`create PROCEDURE [dbo].[计划排产_二次派工]`;`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID` +- `MES_OrderPlanned_SingleTaskPlanned`:`@派工特殊说明 nvarchar(500) = '', `;`@计划完成时间 nvarchar(50) = '', `;`@派工操作人 nvarchar(50) = ''`;`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`INSERT INTO [MES_接口_生产计划_生产任务]` +- `MES_OrderPlanned_SingleTaskPlanned`:`@派工特殊说明 nvarchar(500) = '', `;`@计划完成时间 nvarchar(50) = '', `;`@派工操作人 nvarchar(50) = ''`;`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`INSERT INTO [MES_接口_生产计划_生产任务]` +- `计划排产_外协分组`:`create PROCEDURE [dbo].[计划排产_外协分组]`;`update [dbo].[MES_接口_生产计划_生产任务] set 外协分组 = @外协分组 where AID = @TaskAID` +- `MES_OrderPlanned_Finish`:`@任务列表 NVARCHAR(MAX), `;`@派工操作人 NVARCHAR(MAX)`;`t.[排产状态] = 1, `;`t.[任务状态] = 0, `;`t.派工特殊说明 = j.派工特殊说明, `;`t.计划完成时间 = j.计划完成时间, `;`t.派工操作人 = @派工操作人, `;`t.最后编辑人 = @派工操作人, ` +- `MES_OrderPlanned_DescriptionEdit`:`@未完成说明 nvarchar(50) = '', `;`@派工特殊说明 nvarchar(500) = '', `;`Update [MES_接口_生产计划_生产任务] set`;`未完成说明 = @未完成说明, `;`派工特殊说明 = @派工特殊说明, ` +- `计划排产_自制件_日程时间修改`:`CREATE PROCEDURE [dbo].[计划排产_自制件_日程时间修改]`;`@计划完成时间 nvarchar(50) = ''`;`IF @计划完成时间 ''`;`SET @EndTime = CONVERT(datetime, @计划完成时间, 120)`;`UPDATE [MES_接口_生产计划_生产任务]`;`计划完成时间 = @EndTime`;`AND ISNULL(派工状态, 0) = 0`;`SELECT '0' AS result, '未找到符合条件的记录或派工状态不为0' AS message` + +### 数据库调用链 + +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `工艺管理_获取物料原料信息` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` -> 业务存储过程调用 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `计划排产_生产订单_已排产订单查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_Query` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_Query` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `计划排产_外协分组` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_Finish` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 确认/关闭/完成业务动作 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `计划排产_自制件_日程时间修改` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `工艺管理_获取物料原料信息` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号`。 实现特征:读取 SAP 数据库对象。 +- `计划排产_生产订单_已排产订单查询` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`。 +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `MES_OrderPlanned_Query` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'`;`WHERE 质检类型 = ''终检''`;`AND v.[订单行号] = g.工艺顺序'`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 +- `MES_OrderPlanned_Query` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'`;`WHERE 质检类型 = ''终检''`;`AND v.[订单行号] = g.工艺顺序'`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 +- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 +- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `计划排产_二次派工` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 +- `计划排产_二次派工` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 +- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`INSERT INTO [MES_接口_生产计划_生产任务]`;`set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`if(@最晚开始时间 = '') set @最晚开始时间 = NULL`;`if(@计划开始时间 = '') set @计划开始时间 = NULL`;`if(@计划完成时间 = '') set @计划完成时间 = NULL`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET [指派对象编号] = @指派对象编号`。 +- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`INSERT INTO [MES_接口_生产计划_生产任务]`;`set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`if(@最晚开始时间 = '') set @最晚开始时间 = NULL`;`if(@计划开始时间 = '') set @计划开始时间 = NULL`;`if(@计划完成时间 = '') set @计划完成时间 = NULL`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET [指派对象编号] = @指派对象编号`。 +- `计划排产_外协分组` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@外协分组 NVARCHAR(50)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 外协分组 = @外协分组 where AID = @TaskAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`update [dbo].[MES_接口_生产计划_生产任务] set 外协分组 = @外协分组 where AID = @TaskAID`。 +- `MES_OrderPlanned_Finish` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:查询、更新、解析 JSON 批量数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@任务列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(MAX)`。 主要返回字段线索:`TaskAID = JSON_VALUE(value, '$.taskaid'), `、`指派对象 = JSON_VALUE(value, '$."指派对象"'), `、`指派数量 = JSON_VALUE(value, '$."指派数量"'), `、`指派对象编号 = JSON_VALUE(value, '$."指派对象编号"'), `、`派工特殊说明 = JSON_VALUE(value, '$."派工特殊说明"'), `、`计划开始时间 = JSON_VALUE(value, '$."计划开始时间"'), `、`计划完成时间 = JSON_VALUE(value, '$."计划完成时间"'), `、`最晚开始时间 = JSON_VALUE(value, '$."最晚开始时间"')`。 关键写入/状态处理语句线索:`UPDATE t`;`SET`。 实现特征:JSON 批量解析。 +- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。 +- `计划排产_自制件_日程时间修改` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int`、`@订单拆分内码 int`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号`;`AND 订单行号 = @订单行号`;`AND 订单拆分内码 = @订单拆分内码`;`AND ISNULL(派工状态, 0) = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @StartTime = CONVERT(datetime, @计划开始时间, 120)`;`SET @StartTime = NULL`;`SET @EndTime = CONVERT(datetime, @计划完成时间, 120)`;`SET @EndTime = NULL`;`UPDATE [MES_接口_生产计划_生产任务]`;`SET 计划开始时间 = @StartTime, `。 实现特征:异常捕获。 + +## 15. src/views/PlanManagement/priorityinstall/index.vue + +**页面位置**:`src/views/PlanManagement/priorityinstall/index.vue` +**所属模块**:PlanManagement / priorityinstall +**源码行数**:1127 + +### 页面功能 + +该页面用于装配优先级调整。用户查询装配计划任务,修改计划开工/完成时间、派工对象或优先级,用于插单和重点订单排序。 + +页面可见的操作/字段包括 “查询”、“月”、“周”、“日”、“今天”、“表单”、“生产订单”、“计划号”、“物料编码”、“物料名称”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `MES_OrderPlanned_Queryzp`、`MES_OrderPlanned_EditTaskPlanned` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `MES_OrderPlanned_Queryzp` -> `MES_OrderPlanned_EditTaskPlanned` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`月`、`周`、`日`、`今天`、`表单`、`生产订单`、`计划号`、`物料编码`、`物料名称`、`计划数`、`要求完工日期`、`工时`、`工序名称`、`指派对象`、`指派数量`、`计划开始`、`计划完成` + +主要方法线索:`handleWindowResize`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.doneorderNo ` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `'自制件'` | `@物料类型` | - | +| 参数 | `this.donecontractNo` | `@合同号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.doneproductCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.doneproductName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.doneprocessName` | `@工序名称` | - | +| 参数 | `this.planStartTime[0` | `@计划开始1` | - | +| 参数 | `this.planStartTime[1` | `@计划开始2` | - | +| 参数 | `this.doneproductionStatus` | `@排产状态` | - | +| 参数 | `this.station` | `@指派对象` | - | +| 参数 | ``[计划开始时间` | `@editstr` | - | +| 参数 | `row.订单号` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `row.订单行号` | `@订单行号` | - | +| 参数 | `row.拆分内码` | `@订单拆分内码` | - | +| 参数 | `订单号` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `订单行号` | `@订单行号` | - | +| 参数 | `拆分内码` | `@订单拆分内码` | - | +| 参数 | ``[标准工时` | `@editstr` | - | +| 显示列 | `生产订单` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 显示列 | `计划号` | - | `计划号` | +| 显示列 | `物料编码` | - | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 显示列 | `物料名称` | - | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 显示列 | `计划数` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 显示列 | `要求完工日期` | - | `要求完工日期` | +| 显示列 | `工时` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 显示列 | `工序名称` | - | `工序名称` | +| 显示列 | `指派对象` | - | `指派对象` | +| 显示列 | `指派数量` | - | `指派数量` | +| 显示列 | `计划开始` | - | `计划开始` | +| 显示列 | `计划完成` | - | `计划完成` | +| 输入字段 | `doneorderNo` | `@订单号` | - | +| 输入字段 | `donecontractNo` | `@合同号` | - | +| 输入字段 | `doneproductCode` | `@产品编码` | - | +| 输入字段 | `doneproductName` | `@产品名称` | - | +| 输入字段 | `doneprocessName` | `@工序名称` | - | +| 输入字段 | `planStartTime` | `@计划开始1` | - | +| 输入字段 | `doneactiveTab` | - | - | +| 输入字段 | `scope.row.计划开始时间` | `@editstr` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- FullCalendar + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 471 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` | +| 581 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 732 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 798 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `MES_OrderPlanned_Queryzp`:`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, `;`case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, `;`[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], `;`FROM dbo.YL_质量检验_质检记录` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` + +### 数据库调用链 + +- `src/views/PlanManagement/priorityinstall/index.vue` -> `MES_OrderPlanned_Queryzp` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/PlanManagement/priorityinstall/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/priorityinstall/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/PlanManagement/priorityinstall/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `MES_OrderPlanned_Queryzp` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] like ''%装配%'''`;`WHERE 质检类型 = ''终检''`;`AND v.[订单行号] = g.工艺顺序'`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 + +## 16. src/views/ProcessManagement/PartDrawing/index.vue + +**页面位置**:`src/views/ProcessManagement/PartDrawing/index.vue` +**所属模块**:ProcessManagement / PartDrawing +**源码行数**:905 + +### 页面功能 + +该页面维护零件图纸。用户按物料查询图纸、查看文件、验证名称、删除图纸并保留删除记录。 + +页面可见的操作/字段包括 “查询”、“零件图”、“选零件上传零件图”、“查看删除记录”、“查看”、“删除”、“取消”、“确定”、“关闭”、“查看信息”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `工艺管理_图纸维护_查询删除记录`、`工艺管理_图纸维护_零件图查询`、`工艺管理_图纸维护_物料查询`、`工艺管理_图纸维护_验证名称`、`工艺管理_图纸维护_查看图纸`、`工艺管理_图纸维护_删除图纸` 等过程 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `工艺管理_图纸维护_查询删除记录` -> `工艺管理_图纸维护_零件图查询` -> `工艺管理_图纸维护_物料查询` -> `工艺管理_图纸维护_验证名称` -> `工艺管理_图纸维护_查看图纸` -> `工艺管理_图纸维护_删除图纸` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`零件图`、`选零件上传零件图`、`查看删除记录`、`查看`、`删除`、`取消`、`确定`、`关闭`、`查看信息`、`关 闭`、`item.物料编码`、`序号`、`物料编号`、`物料名称`、`文件名称`、`导入人`、`导入时间` + +主要方法线索:`showDeleteRecords` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.itemnum` | `@物料编码` | - | +| 参数 | `query` | `@过滤` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `物料编号` | - | `物料编号, ` | +| 显示列 | `物料名称` | - | `物料描述` | +| 显示列 | `文件名称` | - | `文件名称, ` | +| 显示列 | `导入人` | - | `worker` | +| 显示列 | `导入时间` | - | `WHEN uploadTime IS NOT NULL` | +| 显示列 | `操作` | - | `操作人, ` | +| 显示列 | `操作人` | - | `操作人, ` | +| 显示列 | `删除时间` | - | `CONVERT(NVARCHAR(19), 删除时间, 120) AS 删除时间, ` | +| 显示列 | `备注` | - | `ISNULL(备注, '''') AS 备注` | +| 显示列 | `物料编码` | - | `物料编码` | +| 显示列 | `现有图纸导入人` | - | `导入人` | +| 输入字段 | `stationNumberValues` | - | - | +| 输入字段 | `selectedMaterials` | - | - | +| 输入字段 | `itemnum` | `@物料编码` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- PDF/图纸预览或导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 323 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查询删除记录` | 查询/读取数据 | 查询 | 未在 SQL 中解析到明确依赖 | +| 355 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` | +| 366 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_物料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` | +| 398 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_验证名称` | 业务存储过程调用 | 查询 | 表:`物料数据` | +| 442 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 471 | 12(当前通用存储过程写入/业务动作) | `工艺管理_图纸维护_删除图纸` | 删除业务数据 | 查询、新增 | 表:`物料基础数据_零件图纸` | +| 556 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 838 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` | +| 851 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- 工艺管理_图纸维护_物料查询: SAP.SBO_YL.dbo.UBT_OITM + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `工艺管理_图纸维护_物料查询`:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''` + +### 数据库调用链 + +- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_查询删除记录` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_零件图查询` -> 视图:`View_图纸视图` -> 查询/读取数据 +- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_物料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据 +- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_验证名称` -> 表:`物料数据` -> 业务存储过程调用 +- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_删除图纸` -> 表:`物料基础数据_零件图纸` -> 删除业务数据 +- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_零件图查询` -> 视图:`View_图纸视图` -> 查询/读取数据 +- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_零件图查询` -> 视图:`View_图纸视图` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `工艺管理_图纸维护_查询删除记录` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编码 nvarchar(200)`。 主要返回字段线索:`top 50`、`物料编号, `、`文件名称, `、`操作人, `、`CONVERT(NVARCHAR(19), 删除时间, 120) AS 删除时间, `、`ISNULL(备注, '''') AS 备注`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE 1 = 1 '`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @物料编码 + '%'''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @selectStr = N' SELECT top 50`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @物料编码 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' ORDER BY 删除时间 DESC'`;`SET @selectStr = @selectStr + @selectStrWhere`。 排序/分组/分页线索:`SET @selectStrWhere = @selectStrWhere + ' ORDER BY 删除时间 DESC'`。 +- `工艺管理_图纸维护_零件图查询` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`、`@导入人 nvarchar(50)`。 主要返回字段线索:`TOP 50 *`。 关键过滤/匹配条件:`IF @导入人 IS NOT NULL AND LTRIM(RTRIM(@导入人)) ! = ''`;`WHERE num LIKE '%' + @零件图号 + '%'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY`;`ORDER BY uploadTime DESC`。 +- `工艺管理_图纸维护_物料查询` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@过滤 NVARCHAR(200)`。 主要返回字段线索:`top 100 *`。 关键过滤/匹配条件:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`。 实现特征:读取 SAP 数据库对象。 +- `工艺管理_图纸维护_验证名称` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`物料数据`。 入参/分页参数:`@零件图号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM [dbo].[物料数据] where 物料编码 = @零件图号`。 关键写入/状态处理语句线索:`set nocount on;`。 +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_图纸维护_删除图纸` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:表:`物料基础数据_零件图纸`。 写入或更新对象:`物料基础数据_零件图纸`、`物料基础数据_零件图纸删除记录`。 入参/分页参数:`@物料编号 NVARCHAR(100),`、`@文件名称 NVARCHAR(255)`、`@操作人 NVARCHAR(50)`。 关键过滤/匹配条件:`delete [dbo].[物料基础数据_零件图纸] where num = @物料编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO 物料基础数据_零件图纸删除记录 (`。 实现特征:事务控制、异常捕获。 +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_图纸维护_零件图查询` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`、`@导入人 nvarchar(50)`。 主要返回字段线索:`TOP 50 *`。 关键过滤/匹配条件:`IF @导入人 IS NOT NULL AND LTRIM(RTRIM(@导入人)) ! = ''`;`WHERE num LIKE '%' + @零件图号 + '%'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY`;`ORDER BY uploadTime DESC`。 +- `工艺管理_图纸维护_零件图查询` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`、`@导入人 nvarchar(50)`。 主要返回字段线索:`TOP 50 *`。 关键过滤/匹配条件:`IF @导入人 IS NOT NULL AND LTRIM(RTRIM(@导入人)) ! = ''`;`WHERE num LIKE '%' + @零件图号 + '%'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY`;`ORDER BY uploadTime DESC`。 + +## 17. src/views/ProcessManagement/PartDrawlook/index.vue + +**页面位置**:`src/views/ProcessManagement/PartDrawlook/index.vue` +**所属模块**:ProcessManagement / PartDrawlook +**源码行数**:463 + +### 页面功能 + +该页面偏只读查看零件图纸,通常给生产或质检人员按物料快速打开图纸。 + +页面可见的操作/字段包括 “查询”、“查看”、“删除”、“取消”、“确定”、“关闭”、“item.物料编码”、“序号”、“物料编号”、“物料名称”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `工艺管理_图纸维护_查询删除记录`、`工艺管理_图纸维护_零件图查询全部`、`工艺管理_图纸维护_物料查询`、`工艺管理_图纸维护_验证名称`、`工艺管理_图纸维护_查看图纸`、`工艺管理_图纸维护_删除图纸` 等过程 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `工艺管理_图纸维护_查询删除记录` -> `工艺管理_图纸维护_零件图查询全部` -> `工艺管理_图纸维护_物料查询` -> `工艺管理_图纸维护_验证名称` -> `工艺管理_图纸维护_查看图纸` -> `工艺管理_图纸维护_删除图纸` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`查看`、`删除`、`取消`、`确定`、`关闭`、`item.物料编码`、`序号`、`物料编号`、`物料名称`、`文件名称`、`导入人`、`导入时间`、`操作`、`操作人`、`删除时间`、`备注`、`请选择物料` + +主要方法线索:`showDeleteRecords` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.itemnum` | `@物料编码` | - | +| 参数 | `query` | `@过滤` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `物料编号` | - | `物料编号, ` | +| 显示列 | `物料名称` | - | `物料描述` | +| 显示列 | `文件名称` | - | `文件名称, ` | +| 显示列 | `导入人` | - | `worker` | +| 显示列 | `导入时间` | - | `WHEN uploadTime IS NOT NULL` | +| 显示列 | `操作` | - | `操作人, ` | +| 显示列 | `操作人` | - | `操作人, ` | +| 显示列 | `删除时间` | - | `CONVERT(NVARCHAR(19), 删除时间, 120) AS 删除时间, ` | +| 显示列 | `备注` | - | `ISNULL(备注, '''') AS 备注` | +| 输入字段 | `stationNumberValue` | - | - | +| 输入字段 | `uploadValue` | - | - | +| 输入字段 | `itemnum` | `@物料编码` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- PDF/图纸预览或导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 174 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查询删除记录` | 查询/读取数据 | 查询 | 未在 SQL 中解析到明确依赖 | +| 205 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询全部` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` | +| 216 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_物料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` | +| 248 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_验证名称` | 业务存储过程调用 | 查询 | 表:`物料数据` | +| 294 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 317 | 12(当前通用存储过程写入/业务动作) | `工艺管理_图纸维护_删除图纸` | 删除业务数据 | 查询、新增 | 表:`物料基础数据_零件图纸` | +| 386 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 414 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询全部` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` | +| 425 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询全部` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- 工艺管理_图纸维护_物料查询: SAP.SBO_YL.dbo.UBT_OITM + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `工艺管理_图纸维护_物料查询`:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''` + +### 数据库调用链 + +- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_查询删除记录` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_零件图查询全部` -> 视图:`View_图纸视图` -> 查询/读取数据 +- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_物料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据 +- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_验证名称` -> 表:`物料数据` -> 业务存储过程调用 +- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_删除图纸` -> 表:`物料基础数据_零件图纸` -> 删除业务数据 +- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_零件图查询全部` -> 视图:`View_图纸视图` -> 查询/读取数据 +- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_零件图查询全部` -> 视图:`View_图纸视图` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `工艺管理_图纸维护_查询删除记录` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编码 nvarchar(200)`。 主要返回字段线索:`top 50`、`物料编号, `、`文件名称, `、`操作人, `、`CONVERT(NVARCHAR(19), 删除时间, 120) AS 删除时间, `、`ISNULL(备注, '''') AS 备注`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE 1 = 1 '`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @物料编码 + '%'''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @selectStr = N' SELECT top 50`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @物料编码 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' ORDER BY 删除时间 DESC'`;`SET @selectStr = @selectStr + @selectStrWhere`。 排序/分组/分页线索:`SET @selectStrWhere = @selectStrWhere + ' ORDER BY 删除时间 DESC'`。 +- `工艺管理_图纸维护_零件图查询全部` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50 *`。 关键过滤/匹配条件:`WHERE num LIKE '%' + @零件图号 + '%'`。 关键写入/状态处理语句线索:`set nocount on;`。 +- `工艺管理_图纸维护_物料查询` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@过滤 NVARCHAR(200)`。 主要返回字段线索:`top 100 *`。 关键过滤/匹配条件:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`。 实现特征:读取 SAP 数据库对象。 +- `工艺管理_图纸维护_验证名称` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`物料数据`。 入参/分页参数:`@零件图号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM [dbo].[物料数据] where 物料编码 = @零件图号`。 关键写入/状态处理语句线索:`set nocount on;`。 +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_图纸维护_删除图纸` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:表:`物料基础数据_零件图纸`。 写入或更新对象:`物料基础数据_零件图纸`、`物料基础数据_零件图纸删除记录`。 入参/分页参数:`@物料编号 NVARCHAR(100),`、`@文件名称 NVARCHAR(255)`、`@操作人 NVARCHAR(50)`。 关键过滤/匹配条件:`delete [dbo].[物料基础数据_零件图纸] where num = @物料编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO 物料基础数据_零件图纸删除记录 (`。 实现特征:事务控制、异常捕获。 +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_图纸维护_零件图查询全部` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50 *`。 关键过滤/匹配条件:`WHERE num LIKE '%' + @零件图号 + '%'`。 关键写入/状态处理语句线索:`set nocount on;`。 +- `工艺管理_图纸维护_零件图查询全部` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50 *`。 关键过滤/匹配条件:`WHERE num LIKE '%' + @零件图号 + '%'`。 关键写入/状态处理语句线索:`set nocount on;`。 + +## 18. src/views/ProcessManagement/ProcedureManagement/index.vue + +**页面位置**:`src/views/ProcessManagement/ProcedureManagement/index.vue` +**所属模块**:ProcessManagement / ProcedureManagement +**源码行数**:268 + +### 页面功能 + +该页面维护工序/路线阶段主数据。新增或修改工序时会同步 SAP B1 的 RouteStages,保证 MES 工序与 SAP 工艺阶段一致。 + +页面可见的操作/字段包括 “新增工艺”、“--> 取 消”、“确 定”、“序号”、“工艺名称”、“操作”、“请输入工艺名称”、“title”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `MES_ProcessManagement_ProcessGet`、`MES_ProcessManagement_ProcessAdd`、`MES_ProcessManagement_ProcessEdit`、`MES_ProcessManagement_Processdel` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `MES_ProcessManagement_ProcessGet` -> `MES_ProcessManagement_ProcessAdd` -> `MES_ProcessManagement_ProcessEdit` -> `MES_ProcessManagement_Processdel` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`新增工艺`、`--> 取 消`、`确 定`、`序号`、`工艺名称`、`操作`、`请输入工艺名称`、`title` + +主要方法线索:`getProcess` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 显示列 | `序号` | - | `序号` | +| 显示列 | `工艺名称` | - | `工艺编号 as 工艺编号, 工序名称 as 工艺名称` | +| 显示列 | `操作` | - | `操作` | +| 输入字段 | `searchName` | - | - | +| 输入字段 | `form1.ProcessClassification` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 112 | 11(当前通用存储过程查询/执行) | `MES_ProcessManagement_ProcessGet` | 查询/读取数据 | 查询 | 表:`基础表_工序` | +| 151 | 11(当前通用存储过程查询/执行) | `MES_ProcessManagement_ProcessAdd` | 新增业务数据 | 查询、新增 | 未在 SQL 中解析到明确依赖 | +| 188 | 12(当前通用存储过程写入/业务动作) | `MES_ProcessManagement_ProcessEdit` | 更新/保存业务数据 | 更新 | 未在 SQL 中解析到明确依赖 | +| 225 | 12(当前通用存储过程写入/业务动作) | `MES_ProcessManagement_Processdel` | 业务存储过程调用 | 未找到过程体 | 未知 | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 155 行:`postB1("/RouteStages")` +- 第 192 行:`getB1("/RouteStages")` +- 第 198 行:`patchB1("/RouteStages(")` + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 155 | `postB1` | `/RouteStages` | 新增或更新 SAP 工序阶段。失败会导致 MES 工序与 SAP RouteStages 不一致。 | `Code`、`Description`、`CreationDate`、`DateOfUpdate` | +| 192 | `getB1` | `/RouteStages` | 新增或更新 SAP 工序阶段。失败会导致 MES 工序与 SAP RouteStages 不一致。 | `filter`、`Description`、`DateOfUpdate`、`confirmButtonText`、`cancelButtonText`、`type` | +| 198 | `patchB1` | `/RouteStages(` | 新增或更新 SAP 工序阶段。失败会导致 MES 工序与 SAP RouteStages 不一致。 | `Description`、`DateOfUpdate`、`confirmButtonText`、`cancelButtonText`、`type`、`top` | + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +- `src/views/ProcessManagement/ProcedureManagement/index.vue` -> `MES_ProcessManagement_ProcessGet` -> 表:`基础表_工序` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcedureManagement/index.vue` -> `MES_ProcessManagement_ProcessAdd` -> 未在 SQL 中解析到明确依赖 -> 新增业务数据 +- `src/views/ProcessManagement/ProcedureManagement/index.vue` -> `MES_ProcessManagement_ProcessEdit` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据 +- `src/views/ProcessManagement/ProcedureManagement/index.vue` -> `MES_ProcessManagement_Processdel` -> 过程体未解析 -> 业务存储过程调用 + +### 存储过程处理逻辑明细 + +- `MES_ProcessManagement_ProcessGet` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 入参/分页参数:`@工艺编号 nvarchar(50)`。 主要返回字段线索:`工艺编号 as 工艺编号, 工序名称 as 工艺名称`。 关键过滤/匹配条件:`IF @工艺编号 IS NOT NULL AND @工艺编号 ! = ''`;`SELECT 工艺编号 as 工艺编号, 工序名称 as 工艺名称 FROM [基础表_工序] WHERE 工艺编号 IN (SELECT value FROM STRING_SPLIT(@工艺编号, ', '))`。 排序/分组/分页线索:`SELECT 工艺编号 as 工艺编号, 工序名称 as 工艺名称 FROM [基础表_工序] ORDER BY 工艺编号`。 +- `MES_ProcessManagement_ProcessAdd` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`基础表_工序`。 入参/分页参数:`@工艺名称 nvarchar(50)`。 主要返回字段线索:`ISNULL(MAX(工艺编号), 0) +1`。 关键过滤/匹配条件:`select 工艺编号 from 基础表_工序 where 工序名称 = @工艺名称`。 关键写入/状态处理语句线索:`INSERT INTO 基础表_工序 (工艺编号, 工序名称) VALUES((select ISNULL(MAX(工艺编号), 0) +1 from 基础表_工序 ), @工艺名称)`。 +- `MES_ProcessManagement_ProcessEdit` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`基础表_工序`。 入参/分页参数:`@工艺名称 nvarchar(50)`、`@工艺编号 int`。 关键过滤/匹配条件:`update 基础表_工序 set 工序名称 = @工艺名称 where 工艺编号 = @工艺编号`。 关键写入/状态处理语句线索:`update 基础表_工序 set 工序名称 = @工艺名称 where 工艺编号 = @工艺编号`。 +- `MES_ProcessManagement_Processdel` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。 + +## 19. src/views/ProcessManagement/ProcessDrawing/index.vue + +**页面位置**:`src/views/ProcessManagement/ProcessDrawing/index.vue` +**所属模块**:ProcessManagement / ProcessDrawing +**源码行数**:417 + +### 页面功能 + +该页面维护工艺图纸。用户按物料/工艺条件查询工艺图,验证名称,查看或删除工艺图纸。 + +页面可见的操作/字段包括 “查询”、“工艺图”、“选零件上传工艺图”、“选订单上传工艺图”、“查看”、“删除”、“取消”、“确定”、“item.物料编码”、“序号”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `工艺管理_工艺维护_工艺图查询`、`工艺管理_图纸维护_物料查询`、`工艺管理_工艺维护_验证名称`、`工艺管理_工艺维护_查看图纸`、`工艺管理_工艺维护_删除图纸` 等过程 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `工艺管理_工艺维护_工艺图查询` -> `工艺管理_图纸维护_物料查询` -> `工艺管理_工艺维护_验证名称` -> `工艺管理_工艺维护_查看图纸` -> `工艺管理_工艺维护_删除图纸` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`工艺图`、`选零件上传工艺图`、`选订单上传工艺图`、`查看`、`删除`、`取消`、`确定`、`item.物料编码`、`序号`、`物料编号`、`物料名称`、`文件名称`、`导入人`、`导入时间`、`操作`、`请选择物料`、`请选择` + +主要方法线索:`queryitem` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `query` | `@过滤` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `物料编号` | - | `num` | +| 显示列 | `物料名称` | - | `t2.物料描述` | +| 显示列 | `文件名称` | - | `THEN name` | +| 显示列 | `导入人` | - | `worker` | +| 显示列 | `导入时间` | - | `WHEN uploadTime IS NOT NULL` | +| 显示列 | `操作` | - | `操作` | +| 输入字段 | `stationNumberValue` | - | - | +| 输入字段 | `uploadValue` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- PDF/图纸预览或导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 165 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺维护_工艺图查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` | +| 176 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_物料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` | +| 208 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺维护_验证名称` | 业务存储过程调用 | 查询 | 表:`物料数据` | +| 250 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` | +| 271 | 12(当前通用存储过程写入/业务动作) | `工艺管理_工艺维护_删除图纸` | 删除业务数据 | 执行数据库业务逻辑 | 表:`物料基础数据_工艺图纸` | +| 340 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` | +| 368 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺维护_工艺图查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` | +| 379 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺维护_工艺图查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- 工艺管理_工艺维护_工艺图查询: SAP.SBO_YL.dbo.UBT_OITM +- 工艺管理_图纸维护_物料查询: SAP.SBO_YL.dbo.UBT_OITM +- 工艺管理_工艺维护_工艺图查询: SAP.SBO_YL.dbo.UBT_OITM +- 工艺管理_工艺维护_工艺图查询: SAP.SBO_YL.dbo.UBT_OITM + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `工艺管理_工艺维护_工艺图查询`:`SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码 where num = @零件图号`;`SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码` +- `工艺管理_图纸维护_物料查询`:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''` +- `工艺管理_工艺维护_工艺图查询`:`SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码 where num = @零件图号`;`SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码` +- `工艺管理_工艺维护_工艺图查询`:`SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码 where num = @零件图号`;`SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码` + +### 数据库调用链 + +- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_工艺维护_工艺图查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_图纸维护_物料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_工艺维护_验证名称` -> 表:`物料数据` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_工艺维护_删除图纸` -> 表:`物料基础数据_工艺图纸` -> 删除业务数据 +- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_工艺维护_工艺图查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_工艺维护_工艺图查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `工艺管理_工艺维护_工艺图查询` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50`、`t1.*, `、`t2.物料描述`。 关键过滤/匹配条件:`SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码 where num = @零件图号`。 关键写入/状态处理语句线索:`set nocount on;`。 实现特征:读取 SAP 数据库对象。 +- `工艺管理_图纸维护_物料查询` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@过滤 NVARCHAR(200)`。 主要返回字段线索:`top 100 *`。 关键过滤/匹配条件:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`。 实现特征:读取 SAP 数据库对象。 +- `工艺管理_工艺维护_验证名称` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`物料数据`。 入参/分页参数:`@零件图号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM [dbo].[物料数据] where 物料编码 = @零件图号`。 关键写入/状态处理语句线索:`set nocount on;`。 +- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_工艺维护_删除图纸` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 删除业务数据。 数据库处理摘要:执行数据库业务逻辑。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 nvarchar(50)`。 关键过滤/匹配条件:`delete [dbo].[物料基础数据_工艺图纸] where num = @物料编号`。 关键写入/状态处理语句线索:`set nocount on;`。 +- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_工艺维护_工艺图查询` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50`、`t1.*, `、`t2.物料描述`。 关键过滤/匹配条件:`SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码 where num = @零件图号`。 关键写入/状态处理语句线索:`set nocount on;`。 实现特征:读取 SAP 数据库对象。 +- `工艺管理_工艺维护_工艺图查询` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50`、`t1.*, `、`t2.物料描述`。 关键过滤/匹配条件:`SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码 where num = @零件图号`。 关键写入/状态处理语句线索:`set nocount on;`。 实现特征:读取 SAP 数据库对象。 + +## 20. src/views/ProcessManagement/ProcessInquiry/index.vue + +**页面位置**:`src/views/ProcessManagement/ProcessInquiry/index.vue` +**所属模块**:ProcessManagement / ProcessInquiry +**源码行数**:802 + +### 页面功能 + +该页面用于工艺路线查询。用户按物料、产品、工序等条件查看标准工艺或生产工艺,服务于排产、生产和质检核对。 + +页面可见的操作/字段包括 “查询”、“打印”、“item.物料编码”、“全部”、“已打印”、“未打印”、“已拣配”、“未拣配”、“机加件”、“装配件”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `MES_ProcessManagement_PartGet`、`工艺管理_工艺查询_查询生产工艺`、`工艺管理_工艺查询_更新打印次数` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `MES_ProcessManagement_PartGet` -> `工艺管理_工艺查询_查询生产工艺` -> `工艺管理_工艺查询_更新打印次数` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`打印`、`item.物料编码`、`全部`、`已打印`、`未打印`、`已拣配`、`未拣配`、`机加件`、`装配件`、`序号`、`生产订单`、`计划号`、`物料名称`、`物料编码`、`加工数量`、`打印次数`、`生产工艺物料名称` + +主要方法线索:`handleSelectionChange` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 显示列 | `序号` | - | `序号` | +| 显示列 | `生产订单` | - | `c.[订单编号]` | +| 显示列 | `计划号` | - | `计划号` | +| 显示列 | `物料名称` | - | `零件名称` | +| 显示列 | `物料编码` | - | `[零件图号]` | +| 显示列 | `加工数量` | - | `c.[计划数量]` | +| 显示列 | `打印次数` | - | `周转单打印次数` | +| 输入字段 | `partNameValue3` | - | - | +| 输入字段 | `orderNo` | - | - | +| 输入字段 | `plannum` | - | - | +| 输入字段 | `taskstatus` | - | - | +| 输入字段 | `pickingstatus` | - | - | +| 输入字段 | `orderstatus` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 297 | 11(当前通用存储过程查询/执行) | `MES_ProcessManagement_PartGet` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` | +| 350 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺查询_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` | +| 646 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺查询_更新打印次数` | 查询/读取数据 | 查询、新增、更新、处理计划/派工 | 表:`MES_接口_生产计划` | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- MES_ProcessManagement_PartGet: SAP.SBO_YL.dbo.UBT_OITM + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `MES_ProcessManagement_PartGet`:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''` +- `工艺管理_工艺查询_查询生产工艺`:`, c.计划完成`;`, c.加急状态` +- `工艺管理_工艺查询_更新打印次数`:`'成功' AS 状态, `;`'错误' AS 状态, ` + +### 数据库调用链 + +- `src/views/ProcessManagement/ProcessInquiry/index.vue` -> `MES_ProcessManagement_PartGet` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessInquiry/index.vue` -> `工艺管理_工艺查询_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessInquiry/index.vue` -> `工艺管理_工艺查询_更新打印次数` -> 表:`MES_接口_生产计划` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `MES_ProcessManagement_PartGet` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@过滤 NVARCHAR(200)`。 主要返回字段线索:`top 100 *`。 关键过滤/匹配条件:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`。 实现特征:读取 SAP 数据库对象。 +- `工艺管理_工艺查询_查询生产工艺` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`c.[订单编号]`、`c.[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`、`isnull(工时合计, 0) as 工时合计`。 关键过滤/匹配条件:`FROM [dbo].[View_生产订单_MES] as c inner join [车间生产管理工艺_零件生产工艺_工艺库] as a on a.订单编号 = c.订单编号 and a.工艺顺序 = c.订单行号`;`where c.[订单编号] = @订单编号`。 排序/分组/分页线索:`ORDER BY TaskAID`。 +- `工艺管理_工艺查询_更新打印次数` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、新增、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';`;`WHERE 订单编号 IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempOrders (订单编号)`;`UPDATE [dbo].[MES_接口_生产计划]`;`SET 周转单打印次数 = ISNULL(周转单打印次数, 0) + 1`。 实现特征:事务控制、异常捕获、临时表 `#TempOrders`。 + +## 21. src/views/ProcessManagement/ProcessProduct/index.vue + +**页面位置**:`src/views/ProcessManagement/ProcessProduct/index.vue` +**所属模块**:ProcessManagement / ProcessProduct +**源码行数**:1232 + +### 页面功能 + +该页面维护产品与工艺/图纸的关系,使产品、物料、工序、图纸等基础数据形成可查询的工艺资料。 + +页面可见的操作/字段包括 “查询”、“批量生成生产工艺”、“编辑工艺”、“拷贝”、“零件图纸”、“工艺图纸”、“保存为标准工艺”、“下发任务”、“已保存”、“保存”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `工艺管理_获取物料原料信息`、`工艺管理_生产工艺_查询生产工艺`、`工艺管理_生产工艺_工艺拷贝`、`工艺管理_生产工艺_生产工艺拷贝`、`工艺管理_生产工艺_标准工艺拷贝`、`计划排产_生产订单_订单查询` 等过程 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `工艺管理_获取物料原料信息` -> `工艺管理_生产工艺_查询生产工艺` -> `工艺管理_生产工艺_工艺拷贝` -> `工艺管理_生产工艺_生产工艺拷贝` -> `工艺管理_生产工艺_标准工艺拷贝` -> `计划排产_生产订单_订单查询` -> `计划排产_生产订单_订单任务_生产工艺任务下发` -> `计划排产_生产订单_订单任务_单条生产工艺任务下发` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`批量生成生产工艺`、`编辑工艺`、`拷贝`、`零件图纸`、`工艺图纸`、`保存为标准工艺`、`下发任务`、`已保存`、`保存`、`取消`、`确定`、`关闭`、`全部`、`未下发`、`已下发`、`机加件`、`装配件` + +主要方法线索:`getitemdata`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `item` | `@订单编号` | - | +| 参数 | `this.orderNo ` | `@订单号` | - | +| 参数 | `this.contractNo` | `@合同号` | - | +| 参数 | `this.productCode` | `@产品编码` | - | +| 参数 | `this.productName` | `@产品名称` | - | +| 参数 | `this.completionTime[0` | `@下达日期1` | - | +| 参数 | `this.completionTime[1` | `@下达日期2` | - | +| 参数 | `this.taskstatus` | `@任务状态` | - | +| 参数 | `this.orderstatus` | `@订单状态` | - | +| 参数 | `this.standardprocess` | `@工艺状态` | - | +| 参数 | `this.plannum` | `@计划号` | - | +| 参数 | `this.pageCurrent` | `@PageCurrent` | - | +| 参数 | `this.pageSize` | `@PageSize` | - | +| 参数 | `'1111', 'int', '1'` | `@PageCount` | - | +| 参数 | `'1111', 'int', '1'` | `@ItemCount` | - | +| 参数 | `this.selectedRow.订单编号` | `@订单编号` | - | +| 参数 | `this.selectedRow.物料编号` | `@物料编号` | - | +| 参数 | `this.selectedRow.计划数量` | `@计划数量` | - | +| 参数 | `row.工艺顺序` | `@工艺顺序` | `g.工艺顺序 AS 订单行号, ` | +| 参数 | `orderids` | `@订单编号` | - | +| 参数 | `orderitems` | `@零件图号` | - | +| 参数 | `ordernums` | `@计划数量` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `销售订单` | - | `合同号` | +| 显示列 | `计划号` | - | `计划号` | +| 显示列 | `生产订单` | - | `[订单编号]` | +| 显示列 | `物料编码` | - | `g.零件图号 AS 物料编码, ` | +| 显示列 | `物料名称` | - | `mp.物料描述 AS 物料名称, ` | +| 显示列 | `属性` | - | `自制件属性` | +| 显示列 | `计划数` | - | `[计划数量]` | +| 显示列 | `下达日期` | - | `下达日期` | +| 显示列 | `计划开始` | - | `计划开始` | +| 显示列 | `计划完成` | - | `计划完成` | +| 显示列 | `加急状态` | - | `加急状态` | +| 显示列 | `标准工艺` | - | `标准工艺` | +| 显示列 | `生产工艺` | - | `生产工艺` | +| 显示列 | `图纸` | - | `图纸` | +| 显示列 | `备注` | - | `备注` | +| 显示列 | `操作` | - | `操作` | +| 显示列 | `工序` | - | `xg.工序名称, ` | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- PDF/图纸预览或导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 546 | 11(当前通用存储过程查询/执行) | `工艺管理_获取物料原料信息` | 业务存储过程调用 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` | +| 575 | 11(当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` | +| 601 | 12(当前通用存储过程写入/业务动作) | `工艺管理_生产工艺_工艺拷贝` | 业务存储过程调用 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` | +| 618 | 11(当前通用存储过程查询/执行) | `工艺管理_生产工艺_生产工艺拷贝` | 业务存储过程调用 | 查询、分页、处理计划/派工 | 表:`MES_接口_生产计划` | +| 624 | 11(当前通用存储过程查询/执行) | `工艺管理_生产工艺_标准工艺拷贝` | 业务存储过程调用 | 查询、分页 | 表:`车间生产管理工艺_零件工序_工艺库`、`物料数据` | +| 669 | 11(当前通用存储过程查询/执行) | `计划排产_生产订单_订单查询` | 查询/读取数据 | 查询、分页、处理计划/派工 | 表:`MES_接口_生产计划`;视图:`View_生产计划零件图纸视图` | +| 696 | 11(当前通用存储过程查询/执行) | `计划排产_生产订单_订单任务_生产工艺任务下发` | 计划排产或派工 | 查询、新增、更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 721 | 12(当前通用存储过程写入/业务动作) | `计划排产_生产订单_订单任务_单条生产工艺任务下发` | 计划排产或派工 | 查询、新增、更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 753 | 12(当前通用存储过程写入/业务动作) | `工艺管理_零件工序_生产工艺_批量生成生产工艺` | 业务存储过程调用 | 查询、新增、更新、分页、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` | +| 765 | 11(当前通用存储过程查询/执行) | `设备管理_设备信息_查询` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | +| 801 | 11(当前通用存储过程查询/执行) | `MES_ProcessManagement_ProcessBindGet` | 查询/读取数据 | 查询 | 表:`车间生产管理工艺_零件工序_工艺库` | +| 814 | 11(当前通用存储过程查询/执行) | `工艺管理_制定标准工艺_拷贝生产工艺` | 业务存储过程调用 | 查询 | 表:`车间生产管理工艺_零件生产工艺_工艺库` | +| 841 | 11(当前通用存储过程查询/执行) | `MES_ProcessManagement_ProcessGet` | 查询/读取数据 | 查询 | 表:`基础表_工序` | +| 863 | 12(当前通用存储过程写入/业务动作) | `车间生产管理工艺_零件工序_保存为标准工艺` | 更新/保存业务数据 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` | +| 883 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 905 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` | +| 961 | 11(当前通用存储过程查询/执行) | `工艺管理_零件工序_生产工艺_修改数据` | 更新/保存业务数据 | 查询、新增、更新、处理计划/派工 | 表:`MES_接口_生产计划` | +| 966 | 11(当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` | +| 1015 | 11(当前通用存储过程查询/执行) | `工艺管理_零件工序_生产工艺_编辑` | 更新/保存业务数据 | 更新、处理报工/工时 | 未在 SQL 中解析到明确依赖 | +| 1036 | 11(当前通用存储过程查询/执行) | `工艺管理_零件工序_生产工艺_编辑插入工序` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划` | +| 1042 | 11(当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` | +| 1059 | 11(当前通用存储过程查询/执行) | `工艺管理_零件工序_生产工艺_删除工序` | 删除业务数据 | 查询、更新、删除、处理计划/派工 | 表:`MES_接口_生产计划` | +| 1065 | 11(当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` | +| 1081 | 11(当前通用存储过程查询/执行) | `工艺管理_零件工序_生产工艺_上移工序` | 业务存储过程调用 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划` | +| 1087 | 11(当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` | +| 1103 | 11(当前通用存储过程查询/执行) | `工艺管理_零件工序_生产工艺_下移工序` | 业务存储过程调用 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划` | +| 1109 | 11(当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` | +| 1123 | 11(当前通用存储过程查询/执行) | `工艺管理_零件工序_生产工艺_插入工序` | 业务存储过程调用 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划` | +| 1129 | 11(当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` | +| 1140 | 11(当前通用存储过程查询/执行) | `工艺管理_生产工艺_启用` | 业务存储过程调用 | 更新、处理计划/派工 | 表:`MES_接口_生产计划` | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- 工艺管理_获取物料原料信息: SAP.SBO_YL.dbo.UBT_OWOR_material + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `工艺管理_获取物料原料信息`:`SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号` +- `计划排产_生产订单_订单查询`:`CREATE PROCEDURE [dbo].[计划排产_生产订单_订单查询]`;`@任务状态 int = 1, `;`@订单状态 int = 1, `;`@工艺状态 int, `;`set @where = ' (单据状态 ''已取消'' OR 单据状态 IS NULL) '`;`IF @任务状态 = 2`;`SET @where = @where + ' AND ISNULL(任务状态, 0) = '+ CAST(@任务状态 AS VARCHAR(10));`;`IF @任务状态 = 1` +- `计划排产_生产订单_订单任务_生产工艺任务下发`:`CREATE PROCEDURE [dbo].[计划排产_生产订单_订单任务_生产工艺任务下发]`;`declare @任务状态 int`;`select @任务状态 = isnull(任务状态, 0) from [dbo].[MES_接口_生产计划] where 订单编号 = @订单编号`;`if (@任务状态 2 and @自制件属性 = '机加件')`;`'insert into [dbo].[MES_接口_生产计划_生产任务] (不装配, 订单编号, 计划数量, 物料编码, 订单行号, 顺序编号, 工序名称, 物料名称, 订单发货类型, 物料类型, 基本数量, 已发货数量, 订单拆分内码, 阶段标识, 可视订单)`;`update [dbo].[MES_接口_生产计划] set 任务状态 = 2 where 订单编号 = @订单编号`;`if (@任务状态 2 and @自制件属性 like '%装配%')`;`'insert into [dbo].[MES_接口_生产计划_生产任务] (不装配, 订单编号, 计划数量, 物料编码, 订单行号, ` +- `计划排产_生产订单_订单任务_单条生产工艺任务下发`:`CREATE PROCEDURE [dbo].[计划排产_生产订单_订单任务_单条生产工艺任务下发]`;`UPDATE dbo.MES_接口_生产计划_生产任务`;`INSERT INTO [dbo].[MES_接口_生产计划_生产任务]`;`update [dbo].[MES_接口_生产计划] set 任务状态 = 2 where 订单编号 = @订单编号` + +### 数据库调用链 + +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_获取物料原料信息` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_工艺拷贝` -> 表:`MES_接口_生产计划` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_生产工艺拷贝` -> 表:`MES_接口_生产计划` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_标准工艺拷贝` -> 表:`车间生产管理工艺_零件工序_工艺库`、`物料数据` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `计划排产_生产订单_订单查询` -> 表:`MES_接口_生产计划`;视图:`View_生产计划零件图纸视图` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `计划排产_生产订单_订单任务_生产工艺任务下发` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `计划排产_生产订单_订单任务_单条生产工艺任务下发` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_批量生成生产工艺` -> 表:`MES_接口_生产计划` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `设备管理_设备信息_查询` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `MES_ProcessManagement_ProcessBindGet` -> 表:`车间生产管理工艺_零件工序_工艺库` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_制定标准工艺_拷贝生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `MES_ProcessManagement_ProcessGet` -> 表:`基础表_工序` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `车间生产管理工艺_零件工序_保存为标准工艺` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_修改数据` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_编辑` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_编辑插入工序` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_删除工序` -> 表:`MES_接口_生产计划` -> 删除业务数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_上移工序` -> 表:`MES_接口_生产计划` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_下移工序` -> 表:`MES_接口_生产计划` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_插入工序` -> 表:`MES_接口_生产计划` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_启用` -> 表:`MES_接口_生产计划` -> 业务存储过程调用 + +### 存储过程处理逻辑明细 + +- `工艺管理_获取物料原料信息` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号`。 实现特征:读取 SAP 数据库对象。 +- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 +- `工艺管理_生产工艺_工艺拷贝` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@零件图号 nvarchar(50)`、`@订单编号 int,`、`@计划数量 int,`、`@工艺类型 int`。 主要返回字段线索:`@工艺数量 = count(*)`。 关键过滤/匹配条件:`select @工艺数量 = count(*) from 车间生产管理工艺_零件工序_工艺库 where 零件图号 = @零件图号`;`select @工艺数量 = count(*) from 车间生产管理工艺_零件生产工艺_工艺库 where 零件图号 = @零件图号`;`delete 车间生产管理工艺_零件生产工艺_工艺库 where 订单编号 = @订单编号`;`where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号`;`WHERE 零件图号 = @零件图号 and 工艺顺序 = @i and 启用 = 1`;`where 零件图号 = @物料编号 and 工艺顺序 = @i and 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`set @l = 1`;`set @新增条数 = @工艺数量`;`insert into 车间生产管理工艺_零件生产工艺_工艺库(订单编号, 计划数量, 零件图号, 工艺顺序, 启用)values(@订单编号, @计划数量, @物料编号, ISNULL(@最大顺序, 0)+1, 0)`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号`;`set @l = @l+1`;`set @i = 1`;`update 车间生产管理工艺_零件生产工艺_工艺库`;`set 工艺编号 = @工艺编号, `;`set @i = @i+1`。 +- `工艺管理_生产工艺_生产工艺拷贝` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、分页、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`from [MES_接口_生产计划] where 生产工艺 = 1) t WHERE rn = 1;`。 排序/分组/分页线索:`ROW_NUMBER() OVER (PARTITION BY [物料编号] ORDER BY (SELECT NULL)) AS rn`。 实现特征:分页。 +- `工艺管理_生产工艺_标准工艺拷贝` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、分页。 读取/关联对象:表:`车间生产管理工艺_零件工序_工艺库`、`物料数据`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`from [dbo].[车间生产管理工艺_零件工序_工艺库] a left join [dbo].[物料数据] b on a.零件图号 = b.物料编码 where a.启用 = 1) t WHERE rn = 1;`。 排序/分组/分页线索:`ROW_NUMBER() OVER (PARTITION BY a.[零件图号] ORDER BY (SELECT NULL)) AS rn`。 实现特征:分页。 +- `计划排产_生产订单_订单查询` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、分页、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`;视图:`View_生产计划零件图纸视图`。 入参/分页参数:`@订单号 int`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@下达日期1 nvarchar(50)`、`@下达日期2 nvarchar(50)`、`@任务状态 int`、`@订单状态 int`、`@工艺状态 int,`、`@计划号 nvarchar(50)`、`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`。 关键过滤/匹配条件:`declare @where nvarchar(4000)`;`set @where = ' (单据状态 ''已取消'' OR 单据状态 IS NULL) '`;`SET @where = @where + ' AND [订单编号] = ' + CAST(@订单号 AS VARCHAR(10));`;`IF @计划号 IS NOT NULL AND @计划号 0`;`SET @where = @where + ' AND 计划号 = '''+@计划号+''''`;`SET @where = @where + ' AND [合同号] LIKE ''%' + @合同号 + '%''';`;`SET @where = @where + ' AND [物料编号] LIKE ''%' + @产品编码 + '%''';`;`SET @where = @where + ' AND [物料描述] LIKE ''%' + @产品名称 + '%''';`;`SET @where = @where + ' AND 下达日期 > = ''' + @下达日期1 + '''';`;`SET @where = @where + ' AND 下达日期 < = ''' + @下达日期2 + '''';`。 关键写入/状态处理语句线索:`set @tbname = '[dbo].[View_生产计划零件图纸视图]'`;`set @fieldkey = ' 订单编号 '`;`set @where = ' (单据状态 ''已取消'' OR 单据状态 IS NULL) '`;`set @fieldshow = ''`;`set @fieldOrder = '订单编号 DESC'`;`SET @where = @where + ' AND [订单编号] = ' + CAST(@订单号 AS VARCHAR(10));`;`SET @where = @where + ' AND 计划号 = '''+@计划号+''''`;`SET @where = @where + ' AND [合同号] LIKE ''%' + @合同号 + '%''';`;`SET @where = @where + ' AND [物料编号] LIKE ''%' + @产品编码 + '%''';`;`SET @where = @where + ' AND [物料描述] LIKE ''%' + @产品名称 + '%''';`;`SET @where = @where + ' AND 下达日期 > = ''' + @下达日期1 + '''';`;`SET @where = @where + ' AND 下达日期 < = ''' + @下达日期2 + '''';`。 实现特征:分页。 +- `计划排产_生产订单_订单任务_生产工艺任务下发` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@订单编号 nvarchar(max),`、`@物料编号 nvarchar(max),`、`@计划数量 int`。 主要返回字段线索:`@任务状态 = isnull(任务状态, 0)`。 关键过滤/匹配条件:`select @任务状态 = isnull(任务状态, 0) from [dbo].[MES_接口_生产计划] where 订单编号 = @订单编号`;`select @自制件属性 = isnull(自制件属性, 0) from [dbo].[MES_接口_生产计划] where 订单编号 = @订单编号`;`if (@任务状态 2 and @自制件属性 = '机加件')`;`where 车间生产管理工艺_零件生产工艺_工艺库.零件图号 = '''+@物料编号+'''and MES_接口_生产计划.订单编号 = '''+@订单编号+''''`;`update [dbo].[MES_接口_生产计划] set 任务状态 = 2 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 1 where 订单编号 = @订单编号`;`if (@任务状态 2 and @自制件属性 like '%装配%')`。 关键写入/状态处理语句线索:`set @selectStr2 = `;`'insert into [dbo].[MES_接口_生产计划_生产任务] (不装配, 订单编号, 计划数量, 物料编码, 订单行号, 顺序编号, 工序名称, 物料名称, 订单发货类型, 物料类型, 基本数量, 已发货数量, 订单拆分内码, 阶段标识, 可视订单)`;`update [dbo].[MES_接口_生产计划] set 任务状态 = 2 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 1 where 订单编号 = @订单编号`;`'insert into [dbo].[MES_接口_生产计划_生产任务] (不装配, 订单编号, 计划数量, 物料编码, 订单行号, `。 +- `计划排产_生产订单_订单任务_单条生产工艺任务下发` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@订单编号 NVARCHAR(50),`、`@物料编号 NVARCHAR(50),`、`@计划数量 INT,`、`@工艺顺序 INT`。 主要返回字段线索:`''4'' AS 不装配, `、`g.订单编号, `、`g.计划数量, `、`g.零件图号 AS 物料编码, `、`g.工艺顺序 AS 订单行号, `、`g.工艺编号 AS 顺序编号, `、`xg.工序名称, `、`mp.物料描述 AS 物料名称, `、`''im_Manual'' AS 订单发货类型, `、`''pit_Resource'' AS 物料类型, `。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`;`AND 物料编码 = @物料编号`;`AND 订单行号 > = @工艺顺序;`;`LEFT JOIN dbo.MES_接口_生产计划 mp ON g.零件图号 = mp.物料编号 AND mp.订单编号 = g.订单编号`;`WHERE g.零件图号 = ''' + @Safe物料编号 + '''`;`AND mp.订单编号 = ''' + @Safe订单编号 + '''`;`AND g.工艺顺序 = ' + @Safe工艺顺序 + ';'`;`update [dbo].[MES_接口_生产计划] set 任务状态 = 2 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 1 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`UPDATE dbo.MES_接口_生产计划_生产任务`;`SET 订单行号 = 订单行号 + 1`;`SET @SQL = '`;`INSERT INTO [dbo].[MES_接口_生产计划_生产任务]`;`update [dbo].[MES_接口_生产计划] set 任务状态 = 2 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 1 where 订单编号 = @订单编号`。 实现特征:事务控制、异常捕获。 +- `工艺管理_零件工序_生产工艺_批量生成生产工艺` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新、分页、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@零件图号 NVARCHAR(MAX),`、`@订单编号 NVARCHAR(MAX),`、`@计划数量 NVARCHAR(MAX)`。 主要返回字段线索:`TRIM(value)`。 关键过滤/匹配条件:`IF @零件图号 IS NULL OR @订单编号 IS NULL OR @计划数量 IS NULL`;`WHERE 订单编号 IN (SELECT TRIM(value) FROM STRING_SPLIT(@订单编号, '', '')) ;';`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @sql1 = N'`;`UPDATE [dbo].[MES_接口_生产计划]`;`SET 生产工艺 = 1`;`SET @sql2 = N'`;`INSERT INTO 车间生产管理工艺_零件生产工艺_工艺库`。 排序/分组/分页线索:`SELECT TRIM(value) AS PartID, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS rn`;`SELECT TRIM(value) AS OrderID, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS rn`;`SELECT TRIM(value) AS Qty, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS rn`。 实现特征:分页。 +- `设备管理_设备信息_查询` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 入参/分页参数:`@设备名称_check bit`、`@设备名称 nvarchar(50)`、`@设备类型_check bit`、`@设备类型 int`、`@工位_check bit`、`@工位 nvarchar(50)`。 主要返回字段线索:`*, [dbo].[YL_基础表_数据字典].词条名称 as 设备类型名称`。 关键过滤/匹配条件:`set @selectStrWhere = 'where 1 = 1 '`;`set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '`;`set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'`。 关键写入/状态处理语句线索:`set @selectStr = `;`set @selectStrWhere = 'where 1 = 1 '`;`set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '`;`set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'`;`set @selectStr = @selectStr+@selectStrWhere`。 +- `MES_ProcessManagement_ProcessBindGet` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`*, dbo.基础表_工序.工序名称 as 工艺名称`。 关键过滤/匹配条件:`on 车间生产管理工艺_零件工序_工艺库.工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on 车间生产管理工艺_零件工序_工艺库.工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 ORDER BY [工艺顺序]`。 +- `工艺管理_制定标准工艺_拷贝生产工艺` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`@最大订单 = max(订单编号)`。 关键过滤/匹配条件:`select @最大订单 = max(订单编号) from 车间生产管理工艺_零件生产工艺_工艺库 where 零件图号 = @物料编号 and 启用 = 1`;`on [车间生产管理工艺_零件生产工艺_工艺库].工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 and 启用 = 1 and 订单编号 = @最大订单 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on [车间生产管理工艺_零件生产工艺_工艺库].工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 and 启用 = 1 and 订单编号 = @最大订单 ORDER BY [工艺顺序]`。 +- `MES_ProcessManagement_ProcessGet` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 入参/分页参数:`@工艺编号 nvarchar(50)`。 主要返回字段线索:`工艺编号 as 工艺编号, 工序名称 as 工艺名称`。 关键过滤/匹配条件:`IF @工艺编号 IS NOT NULL AND @工艺编号 ! = ''`;`SELECT 工艺编号 as 工艺编号, 工序名称 as 工艺名称 FROM [基础表_工序] WHERE 工艺编号 IN (SELECT value FROM STRING_SPLIT(@工艺编号, ', '))`。 排序/分组/分页线索:`SELECT 工艺编号 as 工艺编号, 工序名称 as 工艺名称 FROM [基础表_工序] ORDER BY 工艺编号`。 +- `车间生产管理工艺_零件工序_保存为标准工艺` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(500),`、`@订单编号 int`。 主要返回字段线索:`[零件图号]`、`[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[计划数量]`、`[准备工时]`、`[标准工时]`、`[工时合计]`、`[工卡量具]`。 关键过滤/匹配条件:`delete 车间生产管理工艺_零件工序_工艺库 where 零件图号 = @物料编号`;`from 车间生产管理工艺_零件生产工艺_工艺库 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 标准工艺 = 1 where 物料编号 = @物料编号`。 关键写入/状态处理语句线索:`insert into 车间生产管理工艺_零件工序_工艺库 ( [零件图号]`;`update [dbo].[MES_接口_生产计划] set 标准工艺 = 1 where 物料编号 = @物料编号`。 +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_零件工序_生产工艺_修改数据` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工艺编号 int`、`@计划数量 int`、`@订单编号 int`。 主要返回字段线索:`top 1 @工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`select top 1 @工序顺序 = 工艺顺序 from 车间生产管理工艺_零件生产工艺_工艺库 where 零件图号 = @物料编号 and 订单编号 = @订单编号 order by 工艺顺序 desc`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`insert into dbo.车间生产管理工艺_零件生产工艺_工艺库(计划数量, 零件图号, 工艺顺序, 工艺编号, 订单编号)values(@计划数量, @物料编号, @工序顺序+1, @工艺编号, @订单编号)`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 排序/分组/分页线索:`select top 1 @工序顺序 = 工艺顺序 from 车间生产管理工艺_零件生产工艺_工艺库 where 零件图号 = @物料编号 and 订单编号 = @订单编号 order by 工艺顺序 desc`。 +- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 +- `工艺管理_零件工序_生产工艺_编辑` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@idd int,`、`@工艺要求 nvarchar(500)`、`@准备工时 int`、`@标准工时 int`、`@工时合计 int`、`@工卡量具 nvarchar(500)`、`@指定机床 nvarchar(500)`、`@车间 nvarchar(500)`、`@备注 nvarchar(500)`、`@属性 nvarchar(500)`。 关键过滤/匹配条件:`工时合计 = @工时合计, 工卡量具 = @工卡量具, 指定机床 = @指定机床, 车间 = @车间, 备注 = @备注, 属性 = @属性 where id = @idd`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件生产工艺_工艺库 set 工艺要求 = @工艺要求, 准备工时 = @准备工时, 标准工时 = @标准工时, `。 +- `工艺管理_零件工序_生产工艺_编辑插入工序` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@idd int,`、`@工艺编号 int,`、`@计划数量 int,`、`@订单编号 int`。 关键过滤/匹配条件:`update 车间生产管理工艺_零件生产工艺_工艺库 set 工艺编号 = @工艺编号, 计划数量 = @计划数量 where id = @idd`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件生产工艺_工艺库 set 工艺编号 = @工艺编号, 计划数量 = @计划数量 where id = @idd`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 +- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 +- `工艺管理_零件工序_生产工艺_删除工序` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、更新、删除、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@idd int`、`@订单编号 int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`select @工序顺序 = 工艺顺序 from 车间生产管理工艺_零件生产工艺_工艺库 where id = @idd`;`where 工艺顺序>@工序顺序 and 零件图号 = @物料编号 and 订单编号 = @订单编号`;`delete from 车间生产管理工艺_零件生产工艺_工艺库 where id = @idd`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件生产工艺_工艺库 set 工艺顺序 = 工艺顺序 - 1`;`delete from 车间生产管理工艺_零件生产工艺_工艺库 where id = @idd`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 +- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 +- `工艺管理_零件工序_生产工艺_上移工序` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@idd int`、`@订单编号 int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`where id = @idd`;`where 零件图号 = @物料编号 and 工艺顺序 = @工序顺序-1 and 订单编号 = @订单编号`;`where id = @前idd`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`update dbo.车间生产管理工艺_零件生产工艺_工艺库`;`set 工艺顺序 = @工序顺序-1`;`set 工艺顺序 = @工序顺序`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 +- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 +- `工艺管理_零件工序_生产工艺_下移工序` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@idd int`、`@订单编号 int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`where id = @idd`;`where 零件图号 = @物料编号 and 工艺顺序 = @工序顺序+1 and 订单编号 = @订单编号`;`where id = @后idd`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`update dbo.车间生产管理工艺_零件生产工艺_工艺库`;`set 工艺顺序 = @工序顺序+1`;`set 工艺顺序 = @工序顺序`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 +- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 +- `工艺管理_零件工序_生产工艺_插入工序` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@零件图号 nvarchar(50)`、`@idd int`、`@订单编号 int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`select @工序顺序 = 工艺顺序 from dbo.车间生产管理工艺_零件生产工艺_工艺库 where id = @idd`;`where 工艺顺序> = @工序顺序 and 零件图号 = @零件图号 and 订单编号 = @订单编号`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`update dbo.车间生产管理工艺_零件生产工艺_工艺库`;`set 工艺顺序 = 工艺顺序+1`;`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 +- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 +- `工艺管理_生产工艺_启用` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@订单编号 nvarchar(50)`。 关键过滤/匹配条件:`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 1 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 1 where 订单编号 = @订单编号`;`update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号`。 + +## 22. src/views/ProcessManagement/ProcessesDevelop/index.vue + +**页面位置**:`src/views/ProcessManagement/ProcessesDevelop/index.vue` +**所属模块**:ProcessManagement / ProcessesDevelop +**源码行数**:918 + +### 页面功能 + +该页面用于工艺开发和生产工艺路线维护。用户围绕物料、工序、顺序、工艺参数、图纸等信息维护标准或生产用工艺路线。 + +页面可见的操作/字段包括 “查询”、“拷贝”、“图纸”、“已保存”、“保存”、“导出”、“--> 生产工艺 取消”、“确定”、“item.物料编码”、“工序”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `工艺管理_获取物料原料信息`、`设备管理_设备信息_查询`、`工艺管理_生产计划物料查询`、`工艺管理_生产工艺_生产工艺拷贝`、`工艺管理_生产工艺_标准工艺拷贝`、`MES_ProcessManagement_ProcessBindGet` 等过程 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `工艺管理_获取物料原料信息` -> `设备管理_设备信息_查询` -> `工艺管理_生产计划物料查询` -> `工艺管理_生产工艺_生产工艺拷贝` -> `工艺管理_生产工艺_标准工艺拷贝` -> `MES_ProcessManagement_ProcessBindGet` -> `工艺管理_制定标准工艺_拷贝生产工艺` -> `MES_ProcessManagement_ProcessGet` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`拷贝`、`图纸`、`已保存`、`保存`、`导出`、`--> 生产工艺 取消`、`确定`、`item.物料编码`、`工序`、`序号`、`工序名称`、`准备工时`、`标准工时`、`工时合计`、`工装量具`、`item.name`、`指定机床` + +主要方法线索:`getitemdata`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `item` | `@订单编号` | - | +| 参数 | `query` | `@过滤` | - | +| 显示列 | `工序` | - | `*, dbo.基础表_工序.工序名称 as 工艺名称` | +| 显示列 | `序号` | - | `top 1 @工序顺序 = 工艺顺序` | +| 显示列 | `工序名称` | - | `*, dbo.基础表_工序.工序名称 as 工艺名称` | +| 显示列 | `准备工时` | - | `dbo.车间生产管理工艺_零件工序_工艺库.准备工时, ` | +| 显示列 | `标准工时` | - | `dbo.车间生产管理工艺_零件工序_工艺库.标准工时, ` | +| 显示列 | `工时合计` | - | `dbo.车间生产管理工艺_零件工序_工艺库.工时合计, ` | +| 显示列 | `工装量具` | - | `工装量具` | +| 显示列 | `指定机床` | - | `指定机床` | +| 显示列 | `车间` | - | `dbo.车间生产管理工艺_零件工序_工艺库.id, ` | +| 显示列 | `工序说明` | - | `工序说明` | +| 显示列 | `备注` | - | `备注` | +| 显示列 | `操作` | - | `操作` | +| 显示列 | `工序说明` | - | `dbo.车间生产管理工艺_零件工序_工艺库.工艺要求, ` | +| 输入字段 | `partNameValue3` | - | - | +| 输入字段 | `processSearchName` | - | - | +| 输入字段 | `scope.row.准备工时` | - | - | +| 输入字段 | `scope.row.标准工时` | - | - | +| 输入字段 | `scope.row.工时合计` | - | - | +| 输入字段 | `scope.row.工卡量具` | - | - | +| 输入字段 | `scope.row.指定机床` | - | - | +| 输入字段 | `scope.row.车间` | - | - | +| 输入字段 | `scope.row.工艺要求` | - | - | +| 输入字段 | `scope.row.备注` | - | - | +| 输入字段 | `processprodutc` | - | - | +| 输入字段 | `partNameValue2` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- PDF/图纸预览或导出 +- Excel/报表导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 333 | 11(当前通用存储过程查询/执行) | `工艺管理_获取物料原料信息` | 业务存储过程调用 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` | +| 352 | 11(当前通用存储过程查询/执行) | `设备管理_设备信息_查询` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | +| 385 | 11(当前通用存储过程查询/执行) | `工艺管理_生产计划物料查询` | 查询/读取数据 | 查询、处理计划/派工 | 未在 SQL 中解析到明确依赖 | +| 402 | 11(当前通用存储过程查询/执行) | `工艺管理_生产工艺_生产工艺拷贝` | 业务存储过程调用 | 查询、分页、处理计划/派工 | 表:`MES_接口_生产计划` | +| 409 | 11(当前通用存储过程查询/执行) | `工艺管理_生产工艺_标准工艺拷贝` | 业务存储过程调用 | 查询、分页 | 表:`车间生产管理工艺_零件工序_工艺库`、`物料数据` | +| 452 | 11(当前通用存储过程查询/执行) | `MES_ProcessManagement_ProcessBindGet` | 查询/读取数据 | 查询 | 表:`车间生产管理工艺_零件工序_工艺库` | +| 468 | 11(当前通用存储过程查询/执行) | `MES_ProcessManagement_ProcessBindGet` | 查询/读取数据 | 查询 | 表:`车间生产管理工艺_零件工序_工艺库` | +| 482 | 11(当前通用存储过程查询/执行) | `工艺管理_制定标准工艺_拷贝生产工艺` | 业务存储过程调用 | 查询 | 表:`车间生产管理工艺_零件生产工艺_工艺库` | +| 538 | 11(当前通用存储过程查询/执行) | `MES_ProcessManagement_ProcessGet` | 查询/读取数据 | 查询 | 表:`基础表_工序` | +| 568 | 12(当前通用存储过程写入/业务动作) | `工艺管理_制定标准工艺_拷贝工艺保存` | 更新/保存业务数据 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` | +| 587 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` | +| 634 | 11(当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_修改数据_工艺库` | 更新/保存业务数据 | 查询、新增、更新、处理计划/派工 | 表:`MES_接口_生产计划` | +| 638 | 11(当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_查询工序信息_工艺库` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 | +| 687 | 11(当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_编辑_工艺库` | 更新/保存业务数据 | 更新、处理报工/工时 | 未在 SQL 中解析到明确依赖 | +| 695 | 11(当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_编辑插入行` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划` | +| 700 | 11(当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_查询工序信息_工艺库` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 | +| 715 | 11(当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_删除工序_工艺库` | 删除业务数据 | 查询、更新、删除、处理计划/派工 | 表:`MES_接口_生产计划` | +| 720 | 11(当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_查询工序信息_工艺库` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 | +| 734 | 11(当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_上移工序_工艺库` | 业务存储过程调用 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划` | +| 739 | 11(当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_查询工序信息_工艺库` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 | +| 754 | 11(当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_下移工序_工艺库` | 业务存储过程调用 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划` | +| 759 | 11(当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_查询工序信息_工艺库` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 | +| 774 | 11(当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_插入工序_工艺库` | 业务存储过程调用 | 查询、更新 | 未在 SQL 中解析到明确依赖 | +| 780 | 11(当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_查询工序信息_工艺库` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 | +| 795 | 11(当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_启用` | 业务存储过程调用 | 更新、处理计划/派工 | 表:`MES_接口_生产计划` | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- 工艺管理_获取物料原料信息: SAP.SBO_YL.dbo.UBT_OWOR_material + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `工艺管理_获取物料原料信息`:`SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号` +- `工艺管理_生产计划物料查询`:`SELECT top 100 * FROM [SAP].[SBO_YL].[dbo].[UBT_OITM] where 物料编码 like '' +'%'+@过滤+'%' +''` + +### 数据库调用链 + +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `工艺管理_获取物料原料信息` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `设备管理_设备信息_查询` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `工艺管理_生产计划物料查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `工艺管理_生产工艺_生产工艺拷贝` -> 表:`MES_接口_生产计划` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `工艺管理_生产工艺_标准工艺拷贝` -> 表:`车间生产管理工艺_零件工序_工艺库`、`物料数据` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `MES_ProcessManagement_ProcessBindGet` -> 表:`车间生产管理工艺_零件工序_工艺库` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `MES_ProcessManagement_ProcessBindGet` -> 表:`车间生产管理工艺_零件工序_工艺库` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `工艺管理_制定标准工艺_拷贝生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `MES_ProcessManagement_ProcessGet` -> 表:`基础表_工序` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `工艺管理_制定标准工艺_拷贝工艺保存` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_修改数据_工艺库` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_查询工序信息_工艺库` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_编辑_工艺库` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_编辑插入行` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_查询工序信息_工艺库` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_删除工序_工艺库` -> 表:`MES_接口_生产计划` -> 删除业务数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_查询工序信息_工艺库` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_上移工序_工艺库` -> 表:`MES_接口_生产计划` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_查询工序信息_工艺库` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_下移工序_工艺库` -> 表:`MES_接口_生产计划` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_查询工序信息_工艺库` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_插入工序_工艺库` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_查询工序信息_工艺库` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_启用` -> 表:`MES_接口_生产计划` -> 业务存储过程调用 + +### 存储过程处理逻辑明细 + +- `工艺管理_获取物料原料信息` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号`。 实现特征:读取 SAP 数据库对象。 +- `设备管理_设备信息_查询` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 入参/分页参数:`@设备名称_check bit`、`@设备名称 nvarchar(50)`、`@设备类型_check bit`、`@设备类型 int`、`@工位_check bit`、`@工位 nvarchar(50)`。 主要返回字段线索:`*, [dbo].[YL_基础表_数据字典].词条名称 as 设备类型名称`。 关键过滤/匹配条件:`set @selectStrWhere = 'where 1 = 1 '`;`set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '`;`set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'`。 关键写入/状态处理语句线索:`set @selectStr = `;`set @selectStrWhere = 'where 1 = 1 '`;`set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '`;`set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'`;`set @selectStr = @selectStr+@selectStrWhere`。 +- `工艺管理_生产计划物料查询` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@过滤 NVARCHAR(200)`。 主要返回字段线索:`top 100 *`。 关键过滤/匹配条件:`SELECT top 100 * FROM [SAP].[SBO_YL].[dbo].[UBT_OITM] where 物料编码 like '' +'%'+@过滤+'%' +''`。 +- `工艺管理_生产工艺_生产工艺拷贝` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、分页、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`from [MES_接口_生产计划] where 生产工艺 = 1) t WHERE rn = 1;`。 排序/分组/分页线索:`ROW_NUMBER() OVER (PARTITION BY [物料编号] ORDER BY (SELECT NULL)) AS rn`。 实现特征:分页。 +- `工艺管理_生产工艺_标准工艺拷贝` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、分页。 读取/关联对象:表:`车间生产管理工艺_零件工序_工艺库`、`物料数据`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`from [dbo].[车间生产管理工艺_零件工序_工艺库] a left join [dbo].[物料数据] b on a.零件图号 = b.物料编码 where a.启用 = 1) t WHERE rn = 1;`。 排序/分组/分页线索:`ROW_NUMBER() OVER (PARTITION BY a.[零件图号] ORDER BY (SELECT NULL)) AS rn`。 实现特征:分页。 +- `MES_ProcessManagement_ProcessBindGet` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`*, dbo.基础表_工序.工序名称 as 工艺名称`。 关键过滤/匹配条件:`on 车间生产管理工艺_零件工序_工艺库.工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on 车间生产管理工艺_零件工序_工艺库.工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 ORDER BY [工艺顺序]`。 +- `MES_ProcessManagement_ProcessBindGet` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`*, dbo.基础表_工序.工序名称 as 工艺名称`。 关键过滤/匹配条件:`on 车间生产管理工艺_零件工序_工艺库.工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on 车间生产管理工艺_零件工序_工艺库.工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 ORDER BY [工艺顺序]`。 +- `工艺管理_制定标准工艺_拷贝生产工艺` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`@最大订单 = max(订单编号)`。 关键过滤/匹配条件:`select @最大订单 = max(订单编号) from 车间生产管理工艺_零件生产工艺_工艺库 where 零件图号 = @物料编号 and 启用 = 1`;`on [车间生产管理工艺_零件生产工艺_工艺库].工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 and 启用 = 1 and 订单编号 = @最大订单 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on [车间生产管理工艺_零件生产工艺_工艺库].工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 and 启用 = 1 and 订单编号 = @最大订单 ORDER BY [工艺顺序]`。 +- `MES_ProcessManagement_ProcessGet` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 入参/分页参数:`@工艺编号 nvarchar(50)`。 主要返回字段线索:`工艺编号 as 工艺编号, 工序名称 as 工艺名称`。 关键过滤/匹配条件:`IF @工艺编号 IS NOT NULL AND @工艺编号 ! = ''`;`SELECT 工艺编号 as 工艺编号, 工序名称 as 工艺名称 FROM [基础表_工序] WHERE 工艺编号 IN (SELECT value FROM STRING_SPLIT(@工艺编号, ', '))`。 排序/分组/分页线索:`SELECT 工艺编号 as 工艺编号, 工序名称 as 工艺名称 FROM [基础表_工序] ORDER BY 工艺编号`。 +- `工艺管理_制定标准工艺_拷贝工艺保存` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@零件图号 nvarchar(50)`、`@工艺类型 int`。 主要返回字段线索:`@工艺数量 = count(*)`。 关键过滤/匹配条件:`select @工艺数量 = count(*) from 车间生产管理工艺_零件工序_工艺库 where 零件图号 = @零件图号`;`select @工艺数量 = count(*) from 车间生产管理工艺_零件生产工艺_工艺库 where 零件图号 = @零件图号`;`delete 车间生产管理工艺_零件工序_工艺库 where 零件图号 = @物料编号`;`where 零件图号 = @物料编号`;`update [dbo].[MES_接口_生产计划] set 标准工艺 = 1 where 物料编号 = @物料编号`;`WHERE 零件图号 = @零件图号 and 工艺顺序 = @i and 启用 = 1`;`where 零件图号 = @物料编号 and 工艺顺序 = @i`。 关键写入/状态处理语句线索:`set @l = 1`;`set @新增条数 = @工艺数量`;`insert into 车间生产管理工艺_零件工序_工艺库(零件图号, 工艺顺序, 启用)values(@物料编号, ISNULL(@最大顺序, 0)+1, 0)`;`update [dbo].[MES_接口_生产计划] set 标准工艺 = 1 where 物料编号 = @物料编号`;`set @l = @l+1`;`set @i = 1`;`update 车间生产管理工艺_零件工序_工艺库`;`set 工艺编号 = @工艺编号, `;`set @i = @i+1`。 +- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `车间生产管理工艺_零件工序_修改数据_工艺库` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工艺编号 int`。 主要返回字段线索:`top 1 @工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`select top 1 @工序顺序 = 工艺顺序 from 车间生产管理工艺_零件工序_工艺库 where 零件图号 = @物料编号 order by 工艺顺序 desc`;`update 车间生产管理工艺_零件工序_工艺库 set 工艺编号 = @工艺编号 where id = @idd`;`update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号`。 关键写入/状态处理语句线索:`insert into dbo.车间生产管理工艺_零件工序_工艺库(零件图号, 工艺顺序, 工艺编号)values(@物料编号, @工序顺序+1, @工艺编号)`;`update 车间生产管理工艺_零件工序_工艺库 set 工艺编号 = @工艺编号 where id = @idd`;`update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号`。 排序/分组/分页线索:`select top 1 @工序顺序 = 工艺顺序 from 车间生产管理工艺_零件工序_工艺库 where 零件图号 = @物料编号 order by 工艺顺序 desc`。 +- `车间生产管理工艺_零件工序_查询工序信息_工艺库` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`dbo.车间生产管理工艺_零件工序_工艺库.id, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺要求, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺编号, `、`dbo.基础表_工序.工序名称 as 工艺名称, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序, `、`零件图号, `、`dbo.车间生产管理工艺_零件工序_工艺库.准备工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.标准工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.工时合计, `、`dbo.车间生产管理工艺_零件工序_工艺库.工卡量具, `。 关键过滤/匹配条件:`where 零件图号 = @物料编号`。 排序/分组/分页线索:`order by dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序`。 +- `车间生产管理工艺_零件工序_编辑_工艺库` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@idd int,`、`@工艺要求 nvarchar(500)`、`@准备工时 int`、`@标准工时 int`、`@工时合计 int`、`@工卡量具 nvarchar(500)`、`@指定机床 nvarchar(500)`、`@车间 nvarchar(500)`、`@备注 nvarchar(500)`。 关键过滤/匹配条件:`update 车间生产管理工艺_零件工序_工艺库 set 工艺要求 = @工艺要求, 准备工时 = @准备工时, 标准工时 = @标准工时, 工时合计 = @工时合计, 工卡量具 = @工卡量具, 指定机床 = @指定机床, 车间 = @车间, 备注 = @备注 where id = @idd`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件工序_工艺库 set 工艺要求 = @工艺要求, 准备工时 = @准备工时, 标准工时 = @标准工时, 工时合计 = @工时合计, 工卡量具 = @工卡量具, 指定机床 = @指定机床, 车间 = @车间, 备注 = @备注 where id = @idd`。 +- `车间生产管理工艺_零件工序_编辑插入行` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@idd int,`、`@工艺编号 int,`、`@物料编号 nvarchar(50)`。 关键过滤/匹配条件:`update 车间生产管理工艺_零件工序_工艺库 set 工艺编号 = @工艺编号 where id = @idd`;`update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号`;`update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件工序_工艺库 set 工艺编号 = @工艺编号 where id = @idd`;`update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号`;`update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。 +- `车间生产管理工艺_零件工序_查询工序信息_工艺库` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`dbo.车间生产管理工艺_零件工序_工艺库.id, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺要求, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺编号, `、`dbo.基础表_工序.工序名称 as 工艺名称, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序, `、`零件图号, `、`dbo.车间生产管理工艺_零件工序_工艺库.准备工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.标准工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.工时合计, `、`dbo.车间生产管理工艺_零件工序_工艺库.工卡量具, `。 关键过滤/匹配条件:`where 零件图号 = @物料编号`。 排序/分组/分页线索:`order by dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序`。 +- `车间生产管理工艺_零件工序_删除工序_工艺库` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、更新、删除、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@idd int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`select @工序顺序 = 工艺顺序 from 车间生产管理工艺_零件工序_工艺库 where id = @idd`;`where 工艺顺序>@工序顺序 and 零件图号 = @物料编号`;`delete from 车间生产管理工艺_零件工序_工艺库 where id = @idd`;`update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号`;`update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件工序_工艺库 set 工艺顺序 = 工艺顺序 - 1`;`delete from 车间生产管理工艺_零件工序_工艺库 where id = @idd`;`update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号`;`update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。 +- `车间生产管理工艺_零件工序_查询工序信息_工艺库` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`dbo.车间生产管理工艺_零件工序_工艺库.id, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺要求, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺编号, `、`dbo.基础表_工序.工序名称 as 工艺名称, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序, `、`零件图号, `、`dbo.车间生产管理工艺_零件工序_工艺库.准备工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.标准工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.工时合计, `、`dbo.车间生产管理工艺_零件工序_工艺库.工卡量具, `。 关键过滤/匹配条件:`where 零件图号 = @物料编号`。 排序/分组/分页线索:`order by dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序`。 +- `车间生产管理工艺_零件工序_上移工序_工艺库` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@idd int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`where id = @idd`;`where 零件图号 = @物料编号 and 工艺顺序 = @工序顺序-1`;`where id = @前idd`;`update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号`;`update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。 关键写入/状态处理语句线索:`update dbo.车间生产管理工艺_零件工序_工艺库`;`set 工艺顺序 = @工序顺序-1`;`set 工艺顺序 = @工序顺序`;`update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号`;`update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。 +- `车间生产管理工艺_零件工序_查询工序信息_工艺库` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`dbo.车间生产管理工艺_零件工序_工艺库.id, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺要求, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺编号, `、`dbo.基础表_工序.工序名称 as 工艺名称, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序, `、`零件图号, `、`dbo.车间生产管理工艺_零件工序_工艺库.准备工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.标准工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.工时合计, `、`dbo.车间生产管理工艺_零件工序_工艺库.工卡量具, `。 关键过滤/匹配条件:`where 零件图号 = @物料编号`。 排序/分组/分页线索:`order by dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序`。 +- `车间生产管理工艺_零件工序_下移工序_工艺库` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@idd int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`where id = @idd`;`where 零件图号 = @物料编号 and 工艺顺序 = @工序顺序+1`;`where id = @后idd`;`update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号`;`update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。 关键写入/状态处理语句线索:`update dbo.车间生产管理工艺_零件工序_工艺库`;`set 工艺顺序 = @工序顺序+1`;`set 工艺顺序 = @工序顺序`;`update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号`;`update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。 +- `车间生产管理工艺_零件工序_查询工序信息_工艺库` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`dbo.车间生产管理工艺_零件工序_工艺库.id, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺要求, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺编号, `、`dbo.基础表_工序.工序名称 as 工艺名称, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序, `、`零件图号, `、`dbo.车间生产管理工艺_零件工序_工艺库.准备工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.标准工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.工时合计, `、`dbo.车间生产管理工艺_零件工序_工艺库.工卡量具, `。 关键过滤/匹配条件:`where 零件图号 = @物料编号`。 排序/分组/分页线索:`order by dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序`。 +- `车间生产管理工艺_零件工序_插入工序_工艺库` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@零件图号 nvarchar(50)`、`@idd int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`select @工序顺序 = 工艺顺序 from dbo.车间生产管理工艺_零件工序_工艺库 where id = @idd`;`where 工艺顺序> = @工序顺序 and 零件图号 = @零件图号`。 关键写入/状态处理语句线索:`update dbo.车间生产管理工艺_零件工序_工艺库`;`set 工艺顺序 = 工艺顺序+1`。 +- `车间生产管理工艺_零件工序_查询工序信息_工艺库` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`dbo.车间生产管理工艺_零件工序_工艺库.id, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺要求, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺编号, `、`dbo.基础表_工序.工序名称 as 工艺名称, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序, `、`零件图号, `、`dbo.车间生产管理工艺_零件工序_工艺库.准备工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.标准工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.工时合计, `、`dbo.车间生产管理工艺_零件工序_工艺库.工卡量具, `。 关键过滤/匹配条件:`where 零件图号 = @物料编号`。 排序/分组/分页线索:`order by dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序`。 +- `车间生产管理工艺_零件工序_启用` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`。 关键过滤/匹配条件:`update 车间生产管理工艺_零件工序_工艺库 set 启用 = 1 where 零件图号 = @物料编号`;`update [dbo].[MES_接口_生产计划] set 标准工艺 = 1 where 物料编号 = @物料编号`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件工序_工艺库 set 启用 = 1 where 零件图号 = @物料编号`;`update [dbo].[MES_接口_生产计划] set 标准工艺 = 1 where 物料编号 = @物料编号`。 + +## 23. src/views/ProcessManagement/ProcurementDrawlook/index.vue + +**页面位置**:`src/views/ProcessManagement/ProcurementDrawlook/index.vue` +**所属模块**:ProcessManagement / ProcurementDrawlook +**源码行数**:463 + +### 页面功能 + +该页面提供采购场景的图纸查看。用户按采购物料查询图纸,查看或删除图纸记录,支持采购、外协、来料检验时查阅技术文件。 + +页面可见的操作/字段包括 “查询”、“查看”、“删除”、“取消”、“确定”、“关闭”、“item.物料编码”、“序号”、“物料编号”、“物料名称”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `工艺管理_图纸维护_查询删除记录`、`工艺管理_图纸维护_零件图查询采购`、`工艺管理_图纸维护_物料查询_采购`、`工艺管理_图纸维护_验证名称`、`工艺管理_图纸维护_查看图纸`、`工艺管理_图纸维护_删除图纸` 等过程 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `工艺管理_图纸维护_查询删除记录` -> `工艺管理_图纸维护_零件图查询采购` -> `工艺管理_图纸维护_物料查询_采购` -> `工艺管理_图纸维护_验证名称` -> `工艺管理_图纸维护_查看图纸` -> `工艺管理_图纸维护_删除图纸` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`查看`、`删除`、`取消`、`确定`、`关闭`、`item.物料编码`、`序号`、`物料编号`、`物料名称`、`文件名称`、`导入人`、`导入时间`、`操作`、`操作人`、`删除时间`、`备注`、`请选择物料` + +主要方法线索:`showDeleteRecords` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.itemnum` | `@物料编码` | - | +| 参数 | `query` | `@过滤` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `物料编号` | - | `物料编号, ` | +| 显示列 | `物料名称` | - | `物料描述` | +| 显示列 | `文件名称` | - | `文件名称, ` | +| 显示列 | `导入人` | - | `worker` | +| 显示列 | `导入时间` | - | `WHEN uploadTime IS NOT NULL` | +| 显示列 | `操作` | - | `操作人, ` | +| 显示列 | `操作人` | - | `操作人, ` | +| 显示列 | `删除时间` | - | `CONVERT(NVARCHAR(19), 删除时间, 120) AS 删除时间, ` | +| 显示列 | `备注` | - | `ISNULL(备注, '''') AS 备注` | +| 输入字段 | `stationNumberValue` | - | - | +| 输入字段 | `uploadValue` | - | - | +| 输入字段 | `itemnum` | `@物料编码` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- PDF/图纸预览或导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 174 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查询删除记录` | 查询/读取数据 | 查询 | 未在 SQL 中解析到明确依赖 | +| 205 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询采购` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` | +| 216 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_物料查询_采购` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` | +| 248 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_验证名称` | 业务存储过程调用 | 查询 | 表:`物料数据` | +| 294 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 317 | 12(当前通用存储过程写入/业务动作) | `工艺管理_图纸维护_删除图纸` | 删除业务数据 | 查询、新增 | 表:`物料基础数据_零件图纸` | +| 386 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 414 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询采购` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` | +| 425 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询采购` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- 工艺管理_图纸维护_物料查询_采购: SAP.SBO_YL.dbo.UBT_OITM + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `工艺管理_图纸维护_物料查询_采购`:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +'' and U_BuyToPrint = 'Y'` + +### 数据库调用链 + +- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_查询删除记录` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_零件图查询采购` -> 视图:`View_图纸视图` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_物料查询_采购` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_验证名称` -> 表:`物料数据` -> 业务存储过程调用 +- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_删除图纸` -> 表:`物料基础数据_零件图纸` -> 删除业务数据 +- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_零件图查询采购` -> 视图:`View_图纸视图` -> 查询/读取数据 +- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_零件图查询采购` -> 视图:`View_图纸视图` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `工艺管理_图纸维护_查询删除记录` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编码 nvarchar(200)`。 主要返回字段线索:`top 50`、`物料编号, `、`文件名称, `、`操作人, `、`CONVERT(NVARCHAR(19), 删除时间, 120) AS 删除时间, `、`ISNULL(备注, '''') AS 备注`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE 1 = 1 '`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @物料编码 + '%'''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @selectStr = N' SELECT top 50`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @物料编码 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' ORDER BY 删除时间 DESC'`;`SET @selectStr = @selectStr + @selectStrWhere`。 排序/分组/分页线索:`SET @selectStrWhere = @selectStrWhere + ' ORDER BY 删除时间 DESC'`。 +- `工艺管理_图纸维护_零件图查询采购` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50 *`。 关键过滤/匹配条件:`WHERE num LIKE '%' + @零件图号 + '%' and U_BuyToPrint = 'Y'`;`[dbo].[View_图纸视图] WHERE U_BuyToPrint = 'Y'`。 关键写入/状态处理语句线索:`set nocount on;`。 +- `工艺管理_图纸维护_物料查询_采购` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@过滤 NVARCHAR(200)`。 主要返回字段线索:`top 100 *`。 关键过滤/匹配条件:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +'' and U_BuyToPrint = 'Y'`。 实现特征:读取 SAP 数据库对象。 +- `工艺管理_图纸维护_验证名称` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`物料数据`。 入参/分页参数:`@零件图号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM [dbo].[物料数据] where 物料编码 = @零件图号`。 关键写入/状态处理语句线索:`set nocount on;`。 +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_图纸维护_删除图纸` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:表:`物料基础数据_零件图纸`。 写入或更新对象:`物料基础数据_零件图纸`、`物料基础数据_零件图纸删除记录`。 入参/分页参数:`@物料编号 NVARCHAR(100),`、`@文件名称 NVARCHAR(255)`、`@操作人 NVARCHAR(50)`。 关键过滤/匹配条件:`delete [dbo].[物料基础数据_零件图纸] where num = @物料编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO 物料基础数据_零件图纸删除记录 (`。 实现特征:事务控制、异常捕获。 +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_图纸维护_零件图查询采购` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50 *`。 关键过滤/匹配条件:`WHERE num LIKE '%' + @零件图号 + '%' and U_BuyToPrint = 'Y'`;`[dbo].[View_图纸视图] WHERE U_BuyToPrint = 'Y'`。 关键写入/状态处理语句线索:`set nocount on;`。 +- `工艺管理_图纸维护_零件图查询采购` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50 *`。 关键过滤/匹配条件:`WHERE num LIKE '%' + @零件图号 + '%' and U_BuyToPrint = 'Y'`;`[dbo].[View_图纸视图] WHERE U_BuyToPrint = 'Y'`。 关键写入/状态处理语句线索:`set nocount on;`。 + +## 24. src/views/ProcessManagement/ProductionOrder/index.vue + +**页面位置**:`src/views/ProcessManagement/ProductionOrder/index.vue` +**所属模块**:ProcessManagement / ProductionOrder +**源码行数**:594 + +### 页面功能 + +该页面处理生产订单资料。用户查询 ERP/MES 生产订单,并通过过程把 SAP 生产订单同步成 MES 生产计划和工序任务。 + +页面可见的操作/字段包括 “查询”、“批量生成任务”、“查看生产工艺”、“查看标准工艺”、“全部”、“未下发”、“已下发”、“机加件”、“装配件”、“序号”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `设备管理_设备信息_查询`、`工艺管理_生产工艺_查询生产工艺`、`工艺管理_生产工艺_查询标准工艺`、`工艺管理_工艺任务_订单查询`、`计划排产_生产订单_订单任务` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `设备管理_设备信息_查询` -> `工艺管理_生产工艺_查询生产工艺` -> `工艺管理_生产工艺_查询标准工艺` -> `工艺管理_工艺任务_订单查询` -> `计划排产_生产订单_订单任务` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`批量生成任务`、`查看生产工艺`、`查看标准工艺`、`全部`、`未下发`、`已下发`、`机加件`、`装配件`、`序号`、`销售订单`、`生产订单`、`物料编码`、`物料名称`、`属性`、`计划数`、`下达日期`、`计划开始` + +主要方法线索:`getbasedata`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.orderNo ` | `@订单号` | - | +| 参数 | `this.contractNo` | `@合同号` | - | +| 参数 | `this.productCode` | `@产品编码` | - | +| 参数 | `this.productName` | `@产品名称` | - | +| 参数 | `this.completionTime[0` | `@要求完工日期1` | - | +| 参数 | `this.completionTime[1` | `@要求完工日期2` | - | +| 参数 | `this.orderstatus` | `@订单状态` | - | +| 参数 | `this.taskstatus` | `@任务状态` | - | +| 参数 | `ordernums` | `@订单编号` | `[订单编号]` | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `销售订单` | - | `合同号` | +| 显示列 | `生产订单` | - | `[订单编号]` | +| 显示列 | `物料编码` | - | `物料编号` | +| 显示列 | `物料名称` | - | `物料描述` | +| 显示列 | `属性` | - | `TOP 1 @自制件属性 = ISNULL(自制件属性, '0')` | +| 显示列 | `计划数` | - | `[计划数量]` | +| 显示列 | `下达日期` | - | `下达日期` | +| 显示列 | `计划开始` | - | `计划开始` | +| 显示列 | `计划完成` | - | `计划完成` | +| 显示列 | `加急状态` | - | `加急状态` | +| 显示列 | `标准工艺` | - | `标准工艺` | +| 显示列 | `生产工艺` | - | `生产工艺` | +| 显示列 | `操作` | - | `操作` | +| 显示列 | `序号` | - | `[工艺顺序]` | +| 显示列 | `工序名称` | - | `*, dbo.基础表_工序.工序名称 as 工艺名称` | +| 显示列 | `工序说明` | - | `[工艺要求]` | +| 显示列 | `准备工时` | - | `isnull(准备工时, 0) as 准备工时` | +| 显示列 | `标准工时` | - | `isnull(标准工时, 0) as 标准工时` | +| 显示列 | `工时合计` | - | `工时合计` | +| 显示列 | `工装量具` | - | `工装量具` | +| 显示列 | `指定机床` | - | `指定机床` | +| 显示列 | `车间` | - | `车间` | +| 显示列 | `备注` | - | `备注` | +| 输入字段 | `orderNo` | `@订单号` | - | +| 输入字段 | `contractNo` | `@合同号` | - | +| 输入字段 | `productCode` | `@产品编码` | - | +| 输入字段 | `productName` | `@产品名称` | - | +| 输入字段 | `taskstatus` | `@任务状态` | - | +| 输入字段 | `orderstatus` | `@订单状态` | - | +| 输入字段 | `completionTime` | `@要求完工日期1` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 354 | 11(当前通用存储过程查询/执行) | `设备管理_设备信息_查询` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | +| 401 | 11(当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` | +| 437 | 11(当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询标准工艺` | 查询/读取数据 | 查询 | 表:`车间生产管理工艺_零件工序_工艺库` | +| 460 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺任务_订单查询` | 查询/读取数据 | 查询、处理计划/派工 | 表:`MES_接口_生产计划` | +| 498 | 12(当前通用存储过程写入/业务动作) | `计划排产_生产订单_订单任务` | 计划排产或派工 | 查询、新增、更新、分页、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `工艺管理_工艺任务_订单查询`:`CREATE PROCEDURE [dbo].[工艺管理_工艺任务_订单查询]`;`@订单状态 int = 1, `;`@任务状态 int = 0`;`DECLARE @selectStrWhere NVARCHAR(MAX) = ' WHERE p.[生产工艺] = 1 and (单据状态 ''已取消'' OR 单据状态 IS NULL) ';`;`SET @selectStrWhere = @selectStrWhere + ' AND p.[计划完成] > = ''' + @要求完工日期1 + '''';`;`SET @selectStrWhere = @selectStrWhere + ' AND p.[计划完成] < = ''' + @要求完工日期2 + '''';`;`IF @任务状态 = 2`;`SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.任务状态, 0) = '+ CAST(@任务状态 AS VARCHAR(10));` +- `计划排产_生产订单_订单任务`:`CREATE PROCEDURE [dbo].[计划排产_生产订单_订单任务]`;`INSERT INTO [dbo].[MES_接口_生产计划_生产任务] (`;`SET 任务状态 = 2`;`已发货数量, 订单拆分内码, 阶段标识, 可视订单, 计划开始时间, 计划完成时间, 指派对象`;`ms.计划完成, ` + +### 数据库调用链 + +- `src/views/ProcessManagement/ProductionOrder/index.vue` -> `设备管理_设备信息_查询` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 +- `src/views/ProcessManagement/ProductionOrder/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据 +- `src/views/ProcessManagement/ProductionOrder/index.vue` -> `工艺管理_生产工艺_查询标准工艺` -> 表:`车间生产管理工艺_零件工序_工艺库` -> 查询/读取数据 +- `src/views/ProcessManagement/ProductionOrder/index.vue` -> `工艺管理_工艺任务_订单查询` -> 表:`MES_接口_生产计划` -> 查询/读取数据 +- `src/views/ProcessManagement/ProductionOrder/index.vue` -> `计划排产_生产订单_订单任务` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 + +### 存储过程处理逻辑明细 + +- `设备管理_设备信息_查询` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 入参/分页参数:`@设备名称_check bit`、`@设备名称 nvarchar(50)`、`@设备类型_check bit`、`@设备类型 int`、`@工位_check bit`、`@工位 nvarchar(50)`。 主要返回字段线索:`*, [dbo].[YL_基础表_数据字典].词条名称 as 设备类型名称`。 关键过滤/匹配条件:`set @selectStrWhere = 'where 1 = 1 '`;`set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '`;`set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'`。 关键写入/状态处理语句线索:`set @selectStr = `;`set @selectStrWhere = 'where 1 = 1 '`;`set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '`;`set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'`;`set @selectStr = @selectStr+@selectStrWhere`。 +- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 +- `工艺管理_生产工艺_查询标准工艺` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`*, dbo.基础表_工序.工序名称 as 工艺名称`。 关键过滤/匹配条件:`on [车间生产管理工艺_零件工序_工艺库].工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 and 启用 = 1 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on [车间生产管理工艺_零件工序_工艺库].工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 and 启用 = 1 ORDER BY [工艺顺序]`。 +- `工艺管理_工艺任务_订单查询` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单号 int`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@订单状态 int`、`@任务状态 int`。 主要返回字段线索:`p.*`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(MAX) = ' WHERE p.[生产工艺] = 1 and (单据状态 ''已取消'' OR 单据状态 IS NULL) ';`;`SET @selectStrWhere = @selectStrWhere + ' AND p.[订单编号] = ' + CAST(@订单号 AS VARCHAR(10));`;`SET @selectStrWhere = @selectStrWhere + ' AND p.[合同号] LIKE ''%' + @合同号 + '%''';`;`SET @selectStrWhere = @selectStrWhere + ' AND p.[物料编号] LIKE ''%' + @产品编码 + '%''';`;`SET @selectStrWhere = @selectStrWhere + ' AND p.[物料描述] LIKE ''%' + @产品名称 + '%''';`;`SET @selectStrWhere = @selectStrWhere + ' AND p.[计划完成] > = ''' + @要求完工日期1 + '''';`;`SET @selectStrWhere = @selectStrWhere + ' AND p.[计划完成] < = ''' + @要求完工日期2 + '''';`;`SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.任务状态, 0) = '+ CAST(@任务状态 AS VARCHAR(10));`;`SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.任务状态, 0) = 0'`;`SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.自制件属性, '''') LIKE ''%装配%'''`。 关键写入/状态处理语句线索:`SET @selectStr = N'`;`SET @selectStrWhere = @selectStrWhere + ' AND p.[订单编号] = ' + CAST(@订单号 AS VARCHAR(10));`;`SET @selectStrWhere = @selectStrWhere + ' AND p.[合同号] LIKE ''%' + @合同号 + '%''';`;`SET @selectStrWhere = @selectStrWhere + ' AND p.[物料编号] LIKE ''%' + @产品编码 + '%''';`;`SET @selectStrWhere = @selectStrWhere + ' AND p.[物料描述] LIKE ''%' + @产品名称 + '%''';`;`SET @selectStrWhere = @selectStrWhere + ' AND p.[计划完成] > = ''' + @要求完工日期1 + '''';`;`SET @selectStrWhere = @selectStrWhere + ' AND p.[计划完成] < = ''' + @要求完工日期2 + '''';`;`SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.任务状态, 0) = '+ CAST(@任务状态 AS VARCHAR(10));`;`SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.任务状态, 0) = 0'`;`SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.自制件属性, '''') LIKE ''%装配%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.自制件属性, 0) = ''机加件'''`;`SET @selectStr = @selectStr + @selectStrWhere;`。 +- `计划排产_生产订单_订单任务` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、分页、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号 nvarchar(max)`。 主要返回字段线索:`TOP 1 @自制件属性 = ISNULL(自制件属性, '0')`。 关键过滤/匹配条件:`WHERE 订单编号 IN (SELECT TRIM(value) FROM STRING_SPLIT(@订单编号, ', '));`;`WHERE 订单编号 IN (SELECT TRIM(value) FROM STRING_SPLIT(@订单编号, '', ''))`;`WHERE src.rn = 1;';`;`WHERE 订单编号 IN (SELECT TRIM(value) FROM STRING_SPLIT(@订单编号, '', ''));';`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @selectStr2 = N'`;`INSERT INTO [dbo].[MES_接口_生产计划_生产任务] (`;`SET @selectStr1 = N'`;`UPDATE [dbo].[MES_接口_生产计划]`;`SET 任务状态 = 2`。 排序/分组/分页线索:`ROW_NUMBER() OVER (`;`ORDER BY (SELECT NULL)`。 实现特征:分页。 + +## 25. src/views/ProductionManagement/AbnormalControl/index.vue + +**页面位置**:`src/views/ProductionManagement/AbnormalControl/index.vue` +**所属模块**:ProductionManagement / AbnormalControl +**源码行数**:1015 + +### 页面功能 + +该页面管理生产异常。用户查询异常记录,推进异常处理、关闭或记录处理结果。 + +页面可见的操作/字段包括 “处理”、“转办”、“发起新流程”、“查看进度”、“完结”、“查看详情”、“点击上传”、“添加审批人”、“查询”、“取 消”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `sp_获取最近处理任务`、`人员管理_人员信息查询`、`sp_获取我的流程`、`sp_获取待处理任务`、`MES_ProductAdmin_Query`、`sp_创建流程_简化版` 等过程 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `sp_获取最近处理任务` -> `人员管理_人员信息查询` -> `sp_获取我的流程` -> `sp_获取待处理任务` -> `MES_ProductAdmin_Query` -> `sp_创建流程_简化版` -> `sp_处理审批` -> `sp_转办流程` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`处理`、`转办`、`发起新流程`、`查看进度`、`完结`、`查看详情`、`点击上传`、`添加审批人`、`查询`、`取 消`、`提 交`、`确 定`、`确 认 完 结`、`取消`、`确定`、`待我处理`、`紧急`、`高` + +主要方法线索:`uploadSuccessPDF` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.$store.state.user.id` | `@审批人ID` | - | +| 参数 | `this.$store.state.user.id` | `@发起人ID` | - | +| 参数 | `null` | `@状态` | `p.状态, ` | +| 参数 | `this.orderNo ` | `@订单号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `'自制件'` | `@物料类型` | - | +| 参数 | `this.contractNo` | `@合同号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.productCode` | `@产品编码` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.productName` | `@产品名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.processName` | `@工序名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.nature` | `@性质` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.completionTime ? this.completionTime[0` | `@要求完工日期1` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@要求完工日期2` | - | +| 参数 | `this.productionStatus` | `@排产状态` | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` | +| 参数 | `''` | `@工位` | - | +| 参数 | `this.newProcessForm.title` | `@流程标题` | - | +| 参数 | `this.newProcessForm.description` | `@流程描述` | - | +| 参数 | `this.newProcessForm.priority ` | `@优先级` | - | +| 参数 | `this.$store.state.user.name` | `@发起人姓名` | - | +| 参数 | `approverId` | `@审批人ID` | - | +| 参数 | `approverName` | `@审批人姓名` | - | +| 参数 | `'0'` | `@新流程ID` | - | +| 参数 | `this.tableOrderNum ` | `@已关联计划号` | - | +| 参数 | `this.tableProductName ` | `@零件名称` | - | +| 参数 | `this.tableProductCode ` | `@零件编号` | - | +| 参数 | `this.tableProcessName ` | `@工序名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `task.流程ID` | `@流程ID` | - | +| 参数 | `task.节点ID` | `@节点ID` | - | +| 参数 | `this.$store.state.user.name` | `@审批人姓名` | - | +| 参数 | `this.$refs.approvalForm.model.result` | `@处理结果` | - | +| 参数 | `this.$refs.approvalForm.model.comment` | `@审批意见` | - | +| 参数 | `''` | `@成功` | - | +| 参数 | `this.currentTask.流程ID` | `@流程ID` | - | +| 参数 | `this.currentTask.节点ID` | `@节点ID` | - | +| 参数 | `this.$store.state.user.id` | `@原审批人ID` | - | +| 参数 | `this.$store.state.user.name` | `@原审批人姓名` | - | +| 参数 | `this.transferForm.newApproverId` | `@新审批人ID` | - | +| 参数 | `this.transferForm.newApproverName` | `@新审批人姓名` | - | +| 参数 | `this.transferForm.reason` | `@转办原因` | - | +| 参数 | `this.selectProcess.流程ID` | `@流程ID` | - | +| 参数 | `this.completeForm.result` | `@完成类型` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- PDF/图纸预览或导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 559 | 11(当前通用存储过程查询/执行) | `sp_获取最近处理任务` | 业务存储过程调用 | 查询 | 未在 SQL 中解析到明确依赖 | +| 567 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` | +| 583 | 11(当前通用存储过程查询/执行) | `sp_获取我的流程` | 业务存储过程调用 | 查询 | 未在 SQL 中解析到明确依赖 | +| 598 | 11(当前通用存储过程查询/执行) | `sp_获取待处理任务` | 业务存储过程调用 | 查询、处理计划/派工 | 未在 SQL 中解析到明确依赖 | +| 624 | 11(当前通用存储过程查询/执行) | `MES_ProductAdmin_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 视图:`View_生产订单_MES` | +| 749 | 11(当前通用存储过程查询/执行) | `sp_创建流程_简化版` | 业务存储过程调用 | 查询、新增、处理计划/派工 | 未在 SQL 中解析到明确依赖 | +| 783 | 12(当前通用存储过程写入/业务动作) | `sp_处理审批` | 业务存储过程调用 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 | +| 824 | 12(当前通用存储过程写入/业务动作) | `sp_转办流程` | 业务存储过程调用 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 | +| 852 | 11(当前通用存储过程查询/执行) | `sp_完成流程` | 业务存储过程调用 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 | +| 869 | 11(当前通用存储过程查询/执行) | `sp_获取流程详情` | 业务存储过程调用 | 查询、处理计划/派工 | 未在 SQL 中解析到明确依赖 | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `sp_获取最近处理任务`:`create PROCEDURE [dbo].[sp_获取最近处理任务]` +- `sp_获取我的流程`:`@状态 NVARCHAR(20) = NULL`;`p.状态, `;`AND (@状态 IS NULL OR p.状态 = @状态)` +- `sp_获取待处理任务`:`create PROCEDURE [dbo].[sp_获取待处理任务]`;`AND pn.状态 = 'processing'`;`AND p.状态 = 'processing'` +- `MES_ProductAdmin_Query`:`@排产状态 nvarchar(50) = '全部', `;`SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`;`, [优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID`;`SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], '''' as 合同交货期, [计划完成] as 预计齐套时间, ''齐'' as 是否齐套, '''' as 齐套检测, ''是'' as 齐套锁料, [计划开始] as 备料日期, 0 as 加急`;`, [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], TaskAID`;`if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''`;`if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''` +- `sp_创建流程_简化版`:`状态, ` +- `sp_处理审批`:`SET 状态 = @处理结果, `;`SET 状态 = 'rejected', `;`SET 状态 = 'processing', `;`SET 状态 = 'completed', `;`当前节点 = '已完成', ` +- `sp_转办流程`:`AND pn.状态 = 'processing'`;`AND p.状态 = 'processing'` +- `sp_完成流程`:`create PROCEDURE [dbo].[sp_完成流程]`;`@完成类型 NVARCHAR(20), `;`@完成原因 NVARCHAR(500), `;`AND 状态 IN ('draft', 'processing')`;`INSERT INTO 流程完成记录表 (`;`流程ID, 发起人ID, 发起人姓名, 完成类型, 完成原因`;`VALUES (@流程ID, @发起人ID, @发起人姓名, @完成类型, @完成原因);`;`SET 状态 = @完成类型, ` +- `sp_获取流程详情`:`p.状态, `;`状态, `;`WHEN 步骤序号 < (SELECT 当前步骤 FROM 流程表 WHERE 流程ID = @流程ID) THEN '已完成'`;`END as 状态描述, ` + +### 数据库调用链 + +- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_获取最近处理任务` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `人员管理_人员信息查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_获取我的流程` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_获取待处理任务` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `MES_ProductAdmin_Query` -> 视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_创建流程_简化版` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_处理审批` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_转办流程` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_完成流程` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_获取流程详情` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 + +### 存储过程处理逻辑明细 + +- `sp_获取最近处理任务` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@审批人ID NVARCHAR(100)`。 主要返回字段线索:`ar.记录ID, `、`p.流程ID, `、`p.流程标题 as 流程名称, `、`p.发起人姓名 as 申请人, `、`ar.审批人姓名 as 处理人, `、`ar.处理结果, `、`CASE ar.处理结果`、`WHEN 'approved' THEN '同意'`、`WHEN 'rejected' THEN '拒绝'`、`ELSE ar.处理结果`。 关键过滤/匹配条件:`WHERE ar.审批人ID = @审批人ID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY ar.处理时间 DESC;`。 +- `人员管理_人员信息查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `sp_获取我的流程` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@发起人ID NVARCHAR(100),`、`@状态 NVARCHAR(20)`。 主要返回字段线索:`p.流程ID, `、`p.流程标题, `、`p.流程描述, `、`p.优先级, `、`p.状态, `、`p.当前节点, `、`p.当前步骤, `、`p.总步骤数, `、`p.创建时间 as 发起时间, `、`p.更新时间`。 关键过滤/匹配条件:`WHERE p.发起人ID = @发起人ID`;`AND (@状态 IS NULL OR p.状态 = @状态)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.更新时间 DESC;`。 +- `sp_获取待处理任务` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@审批人ID NVARCHAR(100)`。 主要返回字段线索:`p.流程ID, `、`p.流程标题, `、`p.流程描述, `、`p.优先级, `、`p.发起人姓名 as 申请人, `、`p.创建时间 as 申请时间, `、`p.已关联计划号, `、`p.零件名称, `、`p.零件编号, `、`p.工序名称, `。 关键过滤/匹配条件:`WHERE pn.审批人ID = @审批人ID`;`AND pn.状态 = 'processing'`;`AND p.状态 = 'processing'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY`。 +- `MES_ProductAdmin_Query` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@性质 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@工位 nvarchar(500)`。 主要返回字段线索:`top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`、`[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`、`[优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'''`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''`;`if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''`;`if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''`;`if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''`;`if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''`;`if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''`;`if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`;`if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''`;`if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''`;`if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''`;`if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''`;`if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''`;`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 [不装配] ''否'''`。 +- `sp_创建流程_简化版` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程表`、`流程节点表`。 入参/分页参数:`@流程标题 NVARCHAR(200),`、`@流程描述 NVARCHAR(MAX)`、`@优先级 NVARCHAR(20)`、`@发起人ID NVARCHAR(100),`、`@发起人姓名 NVARCHAR(100),`、`@审批人ID NVARCHAR(100),`、`@审批人姓名 NVARCHAR(100),`、`@新流程ID INT`、`@已关联计划号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@工序名称 NVARCHAR(100)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO 流程表 (`;`SET @新流程ID = SCOPE_IDENTITY();`;`INSERT INTO 流程节点表 (`;`SET @结果 = 1;`;`SET @消息 = '流程创建成功,流程ID: ' + CAST(@新流程ID AS NVARCHAR(10));`;`SET @结果 = 0;`;`SET @消息 = '错误: ' + ERROR_MESSAGE();`。 实现特征:事务控制、异常捕获。 +- `sp_处理审批` 属于 通用业务,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程表`、`流程节点表`、`审批记录表`。 入参/分页参数:`@流程ID INT,`、`@节点ID INT,`、`@审批人ID NVARCHAR(100),`、`@审批人姓名 NVARCHAR(100),`、`@处理结果 NVARCHAR(20),`、`@审批意见 NVARCHAR(MAX)`、`@成功 BIT`。 主要返回字段线索:`@当前步骤 = 步骤序号`。 关键过滤/匹配条件:`WHERE 节点ID = @节点ID;`;`WHERE 流程ID = @流程ID;`;`SELECT @当前步骤 = 步骤序号 FROM 流程节点表 WHERE 节点ID = @节点ID;`;`WHERE 流程ID = @流程ID AND 步骤序号 = @当前步骤 + 1;`;`WHERE 节点ID = @下一节点ID;`;`当前节点 = (SELECT 节点名称 FROM 流程节点表 WHERE 节点ID = @下一节点ID), `。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO 审批记录表 (流程ID, 节点ID, 审批人ID, 审批人姓名, 处理结果, 审批意见)`;`UPDATE 流程节点表`;`SET 状态 = @处理结果, `;`UPDATE 流程表`;`SET 状态 = 'rejected', `;`SET 状态 = 'processing', `;`SET 当前步骤 = @当前步骤 + 1, `;`SET 状态 = 'completed', `;`SET @成功 = 1;`;`SET @成功 = 0;`。 实现特征:事务控制、异常捕获。 +- `sp_转办流程` 属于 通用业务,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程节点表`、`流程转办表`、`审批记录表`。 入参/分页参数:`@流程ID INT,`、`@节点ID INT,`、`@原审批人ID NVARCHAR(100),`、`@原审批人姓名 NVARCHAR(100),`、`@新审批人ID NVARCHAR(100),`、`@新审批人姓名 NVARCHAR(100),`、`@转办原因 NVARCHAR(500),`、`@成功 BIT`。 主要返回字段线索:`1`。 关键过滤/匹配条件:`WHERE p.流程ID = @流程ID`;`AND pn.节点ID = @节点ID`;`AND pn.状态 = 'processing'`;`AND p.状态 = 'processing'`;`AND pn.审批人ID = @原审批人ID`;`WHERE 节点ID = @节点ID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @成功 = 0;`;`INSERT INTO 流程转办表 (`;`UPDATE 流程节点表`;`SET 审批人ID = @新审批人ID, `;`INSERT INTO 审批记录表 (流程ID, 节点ID, 审批人ID, 审批人姓名, 处理结果, 审批意见)`;`SET @成功 = 1;`。 实现特征:事务控制、异常捕获。 +- `sp_完成流程` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程表`、`流程节点表`、`流程完成记录表`、`审批记录表`。 入参/分页参数:`@流程ID INT,`、`@发起人ID NVARCHAR(100),`、`@发起人姓名 NVARCHAR(100),`、`@完成类型 NVARCHAR(20),`、`@完成原因 NVARCHAR(500),`、`@成功 BIT`。 主要返回字段线索:`1`。 关键过滤/匹配条件:`WHERE 流程ID = @流程ID`;`AND 发起人ID = @发起人ID`;`AND 状态 IN ('draft', 'processing')`;`WHERE 流程ID = @流程ID;`;`AND 状态 = 'processing';`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @成功 = 0;`;`INSERT INTO 流程完成记录表 (`;`UPDATE 流程表`;`SET 状态 = @完成类型, `;`UPDATE 流程节点表`;`SET 状态 = 'cancelled', `;`INSERT INTO 审批记录表 (流程ID, 节点ID, 审批人ID, 审批人姓名, 处理结果, 审批意见)`;`SET @成功 = 1;`。 实现特征:事务控制、异常捕获。 +- `sp_获取流程详情` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@流程ID INT`。 主要返回字段线索:`@流程信息 = (`、`SELECT`、`p.流程ID, `、`p.流程标题, `、`p.流程描述, `、`p.优先级, `、`p.状态, `、`p.发起人姓名, `、`p.当前节点, `、`p.当前步骤, `。 关键过滤/匹配条件:`WHERE p.流程ID = @流程ID`;`WHEN 步骤序号 < (SELECT 当前步骤 FROM 流程表 WHERE 流程ID = @流程ID) THEN '已完成'`;`WHEN 步骤序号 = (SELECT 当前步骤 FROM 流程表 WHERE 流程ID = @流程ID) THEN '进行中'`;`WHERE 流程ID = @流程ID`;`WHERE ar.流程ID = @流程ID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 步骤序号`;`ORDER BY ar.处理时间 DESC`。 + +## 26. src/views/ProductionManagement/AssemblePlanTrack/index.vue + +**页面位置**:`src/views/ProductionManagement/AssemblePlanTrack/index.vue` +**所属模块**:ProductionManagement / AssemblePlanTrack +**源码行数**:514 + +### 页面功能 + +该页面跟踪装配计划执行,展示装配任务进度、计划完成情况和异常。 + +页面可见的操作/字段包括 “查询”、“全部”、“已完成”、“未完成”、“序号”、“工序名称”、“计划数量”、“指派对象”、“开始时间”、“结束时间”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `MES_OrderPlanned_Queryzp`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `MES_OrderPlanned_Queryzp` -> `MES_OrderPlanned_DescriptionEdit` -> `Prog_MES_LoadStations` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`全部`、`已完成`、`未完成`、`序号`、`工序名称`、`计划数量`、`指派对象`、`开始时间`、`结束时间`、`完成进度`、`拆分内码`、`销售订单`、`生产订单`、`产品编码`、`产品名称`、`要求完工日`、`当前序` + +主要方法线索:`getHeaderClass`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.orderNo ` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `'自制件'` | `@物料类型` | - | +| 参数 | `this.contractNo` | `@合同号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.productCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.productName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.processName` | `@工序名称` | - | +| 参数 | `this.planStartTime[0` | `@计划开始1` | - | +| 参数 | `this.planStartTime[1` | `@计划开始2` | - | +| 参数 | `this.planendTime[0` | `@计划完成1` | - | +| 参数 | `this.planendTime[1` | `@计划完成2` | - | +| 参数 | `this.completionTime ? this.completionTime[0` | `@要求完工日期1` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@要求完工日期2` | - | +| 参数 | `this.productionStatus` | `@排产状态` | - | +| 参数 | `'全部'` | `@指派对象` | - | +| 参数 | `this.currentRow.订单号` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.currentRow.订单行号` | `@订单行号` | - | +| 参数 | `this.currentRow.拆分内码` | `@订单拆分内码` | - | +| 参数 | `this.editForm.优先级` | `@优先级` | - | +| 参数 | `this.editForm.未完成说明` | `@未完成说明` | - | +| 参数 | `this.editForm.派工特殊说明` | `@派工特殊说明` | - | +| 参数 | `this.$store.state.user.name` | `@最后编辑人` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `工序名称` | - | `工序名称` | +| 显示列 | `计划数量` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 显示列 | `指派对象` | - | `指派对象` | +| 显示列 | `开始时间` | - | `计划开始时间` | +| 显示列 | `结束时间` | - | `计划完成时间` | +| 显示列 | `完成进度` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 显示列 | `拆分内码` | - | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 显示列 | `销售订单` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 显示列 | `生产订单` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 显示列 | `产品编码` | - | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 显示列 | `产品名称` | - | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 显示列 | `要求完工日` | - | `要求完工日` | +| 显示列 | `当前序` | - | `当前序` | +| 显示列 | `排产` | - | `排产` | +| 显示列 | `开工` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 显示列 | `终检` | - | `终检` | +| 显示列 | `加急` | - | `加急` | +| 显示列 | `优先级` | - | `优先级` | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 347 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` | +| 380 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 439 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `MES_OrderPlanned_Queryzp`:`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, `;`case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, `;`[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], `;`FROM dbo.YL_质量检验_质检记录` +- `MES_OrderPlanned_DescriptionEdit`:`@未完成说明 nvarchar(50) = '', `;`@派工特殊说明 nvarchar(500) = '', `;`Update [MES_接口_生产计划_生产任务] set`;`未完成说明 = @未完成说明, `;`派工特殊说明 = @派工特殊说明, ` + +### 数据库调用链 + +- `src/views/ProductionManagement/AssemblePlanTrack/index.vue` -> `MES_OrderPlanned_Queryzp` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/AssemblePlanTrack/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/ProductionManagement/AssemblePlanTrack/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `MES_OrderPlanned_Queryzp` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] like ''%装配%'''`;`WHERE 质检类型 = ''终检''`;`AND v.[订单行号] = g.工艺顺序'`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 +- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。 +- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 + +## 27. src/views/ProductionManagement/AssembleStatus/index.vue + +**页面位置**:`src/views/ProductionManagement/AssembleStatus/index.vue` +**所属模块**:ProductionManagement / AssembleStatus +**源码行数**:354 + +### 页面功能 + +该页面查看装配现场状态,重点展示进行中任务和当前工位状态。 + +页面可见的操作/字段包括 “查询”、“item.label”、“序号”、“人员名称”、“工位”、“生产订单”、“计划号”、“销售订单”、“物料名称”、“物料编码”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `人员管理_人员信息查询_质检部门_查询`、`MES_登录_工位与名称_查询`、`生产管理_装配状态_获取进行中任务` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `人员管理_人员信息查询_质检部门_查询` -> `MES_登录_工位与名称_查询` -> `生产管理_装配状态_获取进行中任务` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`item.label`、`序号`、`人员名称`、`工位`、`生产订单`、`计划号`、`销售订单`、`物料名称`、`物料编码`、`顺序`、`工序名称`、`分配数`、`上序合格数`、`加工状态`、`送检数`、`收检合格数`、`收检不合格数` + +主要方法线索:`getCheckerList`、`for` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `selectedChecker ? selectedChecker.label : ''` | `@操作人` | `t.操作人 AS UserName, ` | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `人员名称` | - | `t.操作人 AS UserName, ` | +| 显示列 | `工位` | - | `[VisCode] as 工位代码` | +| 显示列 | `生产订单` | - | `订单号` | +| 显示列 | `计划号` | - | `计划号` | +| 显示列 | `销售订单` | - | `合同号` | +| 显示列 | `物料名称` | - | `零件名称` | +| 显示列 | `物料编码` | - | `零件编码` | +| 显示列 | `顺序` | - | `顺序` | +| 显示列 | `工序名称` | - | `t.工序名称, ` | +| 显示列 | `分配数` | - | `分配数` | +| 显示列 | `上序合格数` | - | `上序合格数` | +| 显示列 | `加工状态` | - | `加工状态` | +| 显示列 | `送检数` | - | `完成数量` | +| 显示列 | `收检合格数` | - | `收检合格数` | +| 显示列 | `收检不合格数` | - | `收检不合格数` | +| 显示列 | `入库数量` | - | `入库数量` | +| 显示列 | `发料状态` | - | `发料状态` | +| 显示列 | `拣配状态` | - | `拣配状态` | +| 显示列 | `齐套` | - | `齐套` | +| 显示列 | `开始时间` | - | `t.开始时间 AS StartTime, ` | +| 显示列 | `计划开始` | - | `计划开始` | +| 显示列 | `计划完成` | - | `计划完成` | +| 显示列 | `备注` | - | `派工特殊说明` | +| 输入字段 | `checker` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 267 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` | +| 278 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 296 | 11(当前通用存储过程查询/执行) | `生产管理_装配状态_获取进行中任务` | 业务存储过程调用 | 查询、处理质检数据、处理计划/派工 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `人员管理_人员信息查询_质检部门_查询`:`create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]` +- `生产管理_装配状态_获取进行中任务`:`CREATE PROCEDURE [dbo].[生产管理_装配状态_获取进行中任务]`;`mes.工序名称 AS 任务工序名称, `;`mes.任务状态, `;`mes.完成数量, `;`mes.计划完成时间 AS 计划完成, `;`when isnull(mes.发料状态, 0) = 1 then '发料齐套'`;`when isnull(mes.发料状态, 0) = 2 then '发料缺件'`;`end as [发料状态], ` + +### 数据库调用链 + +- `src/views/ProductionManagement/AssembleStatus/index.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/ProductionManagement/AssembleStatus/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/ProductionManagement/AssembleStatus/index.vue` -> `生产管理_装配状态_获取进行中任务` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` -> 业务存储过程调用 + +### 存储过程处理逻辑明细 + +- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `生产管理_装配状态_获取进行中任务` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`。 入参/分页参数:`@操作人 nvarchar(50)`。 主要返回字段线索:`t.AID AS 操作记录ID, `、`t.TaskAID, `、`t.操作人 AS UserName, `、`t.开始时间 AS StartTime, `、`t.操作类别, `、`t.操作类别编号, `、`t.工序名称, `、`t.工位名称, `、`t.订单编号, `、`t.物料编号, `。 关键过滤/匹配条件:`WHERE 质检类型 = '收检'`;`WHERE`;`AND t.结束时间 IS NULL`;`and t.工位名称 like '%装配%'`;`and t.操作数值 is not null`;`AND (@操作人 = '' OR t.操作人 = @操作人)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`GROUP BY TaskAID`;`ORDER BY t.操作人, t.开始时间 DESC;`。 实现特征:异常捕获。 + +## 28. src/views/ProductionManagement/AssembleTaskManage/index.vue + +**页面位置**:`src/views/ProductionManagement/AssembleTaskManage/index.vue` +**所属模块**:ProductionManagement / AssembleTaskManage +**源码行数**:1041 + +### 页面功能 + +该页面管理装配任务。用户查询装配生产任务、查看工时汇总,进行派工、任务说明维护和外协/生产通知。 + +页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确认修改”、“拆分子任务”、“确定”、“编辑”、“取 消”、“确 定”、“全部”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `MES_登录_工位与名称_查询`、`MES_OrderPlanned_Finish`、`MES_OrderPlanned_ChildTask_Add`、`MES_OrderPlanned_ChildTask_Get`、`MES_OrderPlanned_Query`、`Prog_MES_LoadStations` 等过程 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `MES_OrderPlanned_Finish` -> `MES_OrderPlanned_ChildTask_Add` -> `MES_OrderPlanned_ChildTask_Get` -> `MES_OrderPlanned_Query` -> `Prog_MES_LoadStations` -> `MES_OrderPlanned_EditTaskPlanned` -> `MES_OrderPlanned_SingleTaskPlanned` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`批量排产`、`排产完成`、`确认修改`、`拆分子任务`、`确定`、`编辑`、`取 消`、`确 定`、`全部`、`已完成`、`未完成`、`表单`、`序号`、`销售订单`、`生产订单`、`订单行号`、`拆分内码` + +主要方法线索:`getDoing`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `row.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.$store.state.user.name` | `@派工操作人` | - | +| 参数 | `this.$refs.formData.model.TaskAID` | `@TaskAID` | - | +| 参数 | `this.$refs.formData.model.装配任务概述` | `@任务描述` | - | +| 参数 | `this.$refs.formData.model.指派对象` | `@指派对象` | - | +| 参数 | `this.$refs.formData.model.指派对象编号` | `@指派对象编号` | - | +| 参数 | `this.$refs.formData.model.指派数量` | `@指派数量` | - | +| 参数 | `this.$refs.formData.model.计划开始时间` | `@计划开始时间` | - | +| 参数 | `this.$refs.formData.model.计划完成时间` | `@计划结束时间` | - | +| 参数 | `this.$refs.formData.model.最晚开始时间` | `@最晚开始时间` | - | +| 参数 | `0` | `@TaskAID` | - | +| 参数 | `this.orderNo ` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `'装配件'` | `@物料类型` | - | +| 参数 | `this.contractNo` | `@合同号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `this.productCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.productName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` | +| 参数 | `this.processName` | `@工序名称` | - | +| 参数 | `this.nature` | `@性质` | - | +| 参数 | `this.completionTime[0` | `@要求完工日期1` | - | +| 参数 | `this.completionTime[1` | `@要求完工日期2` | - | +| 参数 | `this.productionStatus` | `@排产状态` | - | +| 参数 | `editstr` | `@editstr` | - | +| 参数 | `row.订单行号` | `@订单行号` | - | +| 参数 | `row.拆分内码` | `@订单拆分内码` | - | +| 参数 | `row.指派对象编号` | `@指派对象编号` | - | +| 参数 | `row.指派对象` | `@指派对象` | - | +| 参数 | `this.editnumber` | `@指派数量` | - | +| 参数 | `row.派工特殊说明` | `@派工特殊说明` | - | +| 参数 | `row.计划开始时间` | `@计划开始时间` | - | +| 参数 | `row.计划完成时间` | `@计划完成时间` | - | +| 参数 | `row.最晚开始时间` | `@最晚开始时间` | - | +| 参数 | `item.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` | +| 参数 | `item.订单行号` | `@订单行号` | - | +| 参数 | `item.拆分内码` | `@订单拆分内码` | - | +| 参数 | `item.指派对象编号` | `@指派对象编号` | - | +| 参数 | `item.指派对象` | `@指派对象` | - | +| 参数 | `item.指派数量` | `@指派数量` | - | +| 参数 | `item.派工特殊说明` | `@派工特殊说明` | - | +| 参数 | `item.计划开始时间` | `@计划开始时间` | - | +| 参数 | `item.计划完成时间` | `@计划完成时间` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- FullCalendar + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 500 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 528 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 查询、更新、解析 JSON 批量数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 568 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_ChildTask_Add` | 新增业务数据 | 查询、新增、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 583 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_ChildTask_Get` | 查询/读取数据 | 查询、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 634 | 11(当前通用存储过程查询/执行) | `MES_OrderPlanned_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` | +| 649 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` | +| 675 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 692 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 709 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 726 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 780 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 810 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 882 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 963 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `MES_OrderPlanned_Finish`:`@任务列表 NVARCHAR(MAX), `;`@派工操作人 NVARCHAR(MAX)`;`t.[排产状态] = 1, `;`t.[任务状态] = 0, `;`t.派工特殊说明 = j.派工特殊说明, `;`t.计划完成时间 = j.计划完成时间, `;`t.派工操作人 = @派工操作人, `;`t.最后编辑人 = @派工操作人, ` +- `MES_OrderPlanned_ChildTask_Add`:`@任务描述 NVARCHAR(500) = NULL, `;`INSERT INTO [dbo].[MES_接口_生产计划_生产任务_子任务]`;`[任务描述], `;`@任务描述, ` +- `MES_OrderPlanned_ChildTask_Get`:`[任务描述], `;`[计划结束时间] as 计划完成时间, `;`from [MES_接口_生产计划_生产任务_子任务]` +- `MES_OrderPlanned_Query`:`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'`;`[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, v.备注, `;`case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, `;`[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], isnull(g.标准工时, 0) as 标准工时, ` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` +- `MES_OrderPlanned_SingleTaskPlanned`:`@派工特殊说明 nvarchar(500) = '', `;`@计划完成时间 nvarchar(50) = '', `;`@派工操作人 nvarchar(50) = ''`;`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`INSERT INTO [MES_接口_生产计划_生产任务]` +- `MES_OrderPlanned_SingleTaskPlanned`:`@派工特殊说明 nvarchar(500) = '', `;`@计划完成时间 nvarchar(50) = '', `;`@派工操作人 nvarchar(50) = ''`;`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`INSERT INTO [MES_接口_生产计划_生产任务]` +- `MES_OrderPlanned_DescriptionEdit`:`@未完成说明 nvarchar(50) = '', `;`@派工特殊说明 nvarchar(500) = '', `;`Update [MES_接口_生产计划_生产任务] set`;`未完成说明 = @未完成说明, `;`派工特殊说明 = @派工特殊说明, ` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` + +### 数据库调用链 + +- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_Finish` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 确认/关闭/完成业务动作 +- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_ChildTask_Add` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 新增业务数据 +- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_ChildTask_Get` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 查询/读取数据 +- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_Query` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据 +- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `MES_OrderPlanned_Finish` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:查询、更新、解析 JSON 批量数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@任务列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(MAX)`。 主要返回字段线索:`TaskAID = JSON_VALUE(value, '$.taskaid'), `、`指派对象 = JSON_VALUE(value, '$."指派对象"'), `、`指派数量 = JSON_VALUE(value, '$."指派数量"'), `、`指派对象编号 = JSON_VALUE(value, '$."指派对象编号"'), `、`派工特殊说明 = JSON_VALUE(value, '$."派工特殊说明"'), `、`计划开始时间 = JSON_VALUE(value, '$."计划开始时间"'), `、`计划完成时间 = JSON_VALUE(value, '$."计划完成时间"'), `、`最晚开始时间 = JSON_VALUE(value, '$."最晚开始时间"')`。 关键写入/状态处理语句线索:`UPDATE t`;`SET`。 实现特征:JSON 批量解析。 +- `MES_OrderPlanned_ChildTask_Add` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID BIGINT,`、`@任务描述 NVARCHAR(500)`、`@指派对象 NVARCHAR(50)`、`@指派对象编号 NVARCHAR(50)`、`@指派数量 INT`、`@计划开始时间 DATETIME`、`@计划结束时间 DATETIME`、`@最晚开始时间 DATETIME`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO [dbo].[MES_接口_生产计划_生产任务_子任务]`。 实现特征:事务控制、异常捕获。 +- `MES_OrderPlanned_ChildTask_Get` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID BIGINT`。 主要返回字段线索:`[AID], `、`[TaskAID], `、`[任务描述], `、`[指派对象], `、`[指派对象编号], `、`[指派数量], `、`[计划开始时间], `、`[计划结束时间] as 计划完成时间, `、`[最晚开始时间]`。 +- `MES_OrderPlanned_Query` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'`;`WHERE 质检类型 = ''终检''`;`AND v.[订单行号] = g.工艺顺序'`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)`;`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+''''`。 +- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 +- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`INSERT INTO [MES_接口_生产计划_生产任务]`;`set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`if(@最晚开始时间 = '') set @最晚开始时间 = NULL`;`if(@计划开始时间 = '') set @计划开始时间 = NULL`;`if(@计划完成时间 = '') set @计划完成时间 = NULL`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET [指派对象编号] = @指派对象编号`。 +- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`INSERT INTO [MES_接口_生产计划_生产任务]`;`set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`if(@最晚开始时间 = '') set @最晚开始时间 = NULL`;`if(@计划开始时间 = '') set @计划开始时间 = NULL`;`if(@计划完成时间 = '') set @计划完成时间 = NULL`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET [指派对象编号] = @指派对象编号`。 +- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 + +## 29. src/views/ProductionManagement/AssembleTasksSum/index.vue + +**页面位置**:`src/views/ProductionManagement/AssembleTasksSum/index.vue` +**所属模块**:ProductionManagement / AssembleTasksSum +**源码行数**:532 + +### 页面功能 + +该页面汇总装配任务,按订单、工位、人员或状态统计装配执行情况。 + +页面可见的操作/字段包括 “查询”、“编辑”、“取 消”、“确 定”、“item.指南工位号”、“表单”、“序号”、“销售订单”、“生产订单”、“零件编码”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `MES_登录_工位与名称_查询`、`MES_ProductTask_WorkTimeSum`、`MES_ProductAdmin_Query`、`Prog_MES_LoadStations`、`MES_OrderPlanned_DescriptionEdit`、`MES_OrderPlanned_EditTaskPlanned` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `MES_ProductTask_WorkTimeSum` -> `MES_ProductAdmin_Query` -> `Prog_MES_LoadStations` -> `MES_OrderPlanned_DescriptionEdit` -> `MES_OrderPlanned_EditTaskPlanned` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`编辑`、`取 消`、`确 定`、`item.指南工位号`、`表单`、`序号`、`销售订单`、`生产订单`、`零件编码`、`产品名称`、`计划数`、`工序名称`、`总工时`、`占用情况`、`计划开始时间`、`计划完成时间`、`最晚开始时间` + +主要方法线索:`getDoing`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.completionTime ? this.completionTime[0` | `@计划开工_Start` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@计划开工_End` | - | +| 参数 | `this.orderNo ` | `@订单号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `'装配件'` | `@物料类型` | - | +| 参数 | `this.contractNo` | `@合同号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.productCode` | `@产品编码` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.productName` | `@产品名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.processName` | `@工序名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.nature` | `@性质` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.completionTime ? this.completionTime[0` | `@要求完工日期1` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@要求完工日期2` | - | +| 参数 | `this.productionStatus` | `@排产状态` | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` | +| 参数 | `this.Doing.toString()` | `@工位` | - | +| 参数 | `this.currentRow.订单号` | `@订单号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.currentRow.订单行号` | `@订单行号` | - | +| 参数 | `this.currentRow.拆分内码` | `@订单拆分内码` | - | +| 参数 | `this.editForm.优先级` | `@优先级` | - | +| 参数 | `this.editForm.未完成说明` | `@未完成说明` | - | +| 参数 | `this.editForm.派工特殊说明` | `@派工特殊说明` | - | +| 参数 | `this.$store.state.user.name` | `@最后编辑人` | - | +| 参数 | `editstr` | `@editstr` | - | +| 参数 | `taskInfo.订单号` | `@订单号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `taskInfo.订单行号` | `@订单行号` | - | +| 参数 | `taskInfo.拆分内码` | `@订单拆分内码` | - | +| 参数 | `startTime` | `@计划开始时间` | - | +| 参数 | `endTime` | `@计划完成时间` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `销售订单` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 显示列 | `生产订单` | - | `生产订单` | +| 显示列 | `零件编码` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 显示列 | `产品名称` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 显示列 | `计划数` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 显示列 | `工序名称` | - | `TaskAID, 工序名称, sum(工时) as 总工时` | +| 显示列 | `总工时` | - | `TaskAID, 工序名称, sum(工时) as 总工时` | +| 显示列 | `占用情况` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 显示列 | `计划开始时间` | - | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` | +| 显示列 | `计划完成时间` | - | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` | +| 显示列 | `最晚开始时间` | - | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` | +| 显示列 | `要求完工日期` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 显示列 | `收料` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- FullCalendar + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 254 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 274 | 11(当前通用存储过程查询/执行) | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 | +| 318 | 11(当前通用存储过程查询/执行) | `MES_ProductAdmin_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 视图:`View_生产订单_MES` | +| 336 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` | +| 373 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 453 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `MES_ProductTask_WorkTimeSum`:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称` +- `MES_ProductAdmin_Query`:`@排产状态 nvarchar(50) = '全部', `;`SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`;`, [优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID`;`SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], '''' as 合同交货期, [计划完成] as 预计齐套时间, ''齐'' as 是否齐套, '''' as 齐套检测, ''是'' as 齐套锁料, [计划开始] as 备料日期, 0 as 加急`;`, [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], TaskAID`;`if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''`;`if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''` +- `MES_OrderPlanned_DescriptionEdit`:`@未完成说明 nvarchar(50) = '', `;`@派工特殊说明 nvarchar(500) = '', `;`Update [MES_接口_生产计划_生产任务] set`;`未完成说明 = @未完成说明, `;`派工特殊说明 = @派工特殊说明, ` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` + +### 数据库调用链 + +- `src/views/ProductionManagement/AssembleTasksSum/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/ProductionManagement/AssembleTasksSum/index.vue` -> `MES_ProductTask_WorkTimeSum` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理 +- `src/views/ProductionManagement/AssembleTasksSum/index.vue` -> `MES_ProductAdmin_Query` -> 视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/AssembleTasksSum/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据 +- `src/views/ProductionManagement/AssembleTasksSum/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/ProductionManagement/AssembleTasksSum/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `MES_ProductTask_WorkTimeSum` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`。 主要返回字段线索:`TaskAID, 工序名称, sum(工时) as 总工时`。 关键过滤/匹配条件:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 排序/分组/分页线索:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 +- `MES_ProductAdmin_Query` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@性质 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@工位 nvarchar(500)`。 主要返回字段线索:`top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`、`[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`、`[优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'''`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''`;`if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''`;`if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''`;`if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''`;`if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''`;`if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''`;`if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`;`if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''`;`if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''`;`if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''`;`if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''`;`if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''`;`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 [不装配] ''否'''`。 +- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 +- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 + +## 30. src/views/ProductionManagement/AssemblyCenter/index.vue + +**页面位置**:`src/views/ProductionManagement/AssemblyCenter/index.vue` +**所属模块**:ProductionManagement / AssemblyCenter +**源码行数**:4838 + +### 页面功能 + +该页面是装配生产执行主界面。装配人员按工位查询装配任务,处理开工、结束/报工、送检、缺料查询、收检记录、图纸查看和退库等动作,并会读取 SAP 生产订单信息辅助判断。 + +页面可见的操作/字段包括 “查询 --> 缺料”、“上一个 下一个”、“删除当前记录 关闭”、“上一个 下一个 保存当前记录 删除当前记录 关闭”、“确定 关闭”、“取 消”、“确 定”、“新增异常工时”、“编辑”、“取消”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `生产管理_获取人员绑定`、`加急订单_加急明细查询`、`MES_人员工时记录_获取进行中任务2`、`MES_人员工时记录_获取进行中任务`、`工时校验_获取订单列表`、`异常工时_新增操作记录` 等过程 取数或提交业务动作。 + +### 页面流程图 + +装配中心执行流程: + +```mermaid +flowchart LR + A[选择工位/人员] --> B[MES_ProductCenter_GetTask_zp 查询装配任务] + B --> C[查看缺料/图纸/工序] + C --> D[MES_人员工时记录_开始 或生产任务开始] + D --> E[执行装配] + E --> F[MES_ProductTask_SendInspection 送检/报工] + F --> G[收检记录/质检数据] + G --> H[读取 SAP ProductionOrders 辅助判断] + H --> I[刷新装配任务] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询 --> 缺料`、`上一个 下一个`、`删除当前记录 关闭`、`上一个 下一个 保存当前记录 删除当前记录 关闭`、`确定 关闭`、`取 消`、`确 定`、`新增异常工时`、`编辑`、`取消`、`关闭`、`确定`、`全部`、`待执行`、`可执行`、`已开工`、`已完成`、`item.指南工位号` + +主要方法线索:`handletaskChange` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `row.零件编码` | `@物料编号` | `docentry as 订单编号, itemcode as 物料编号, 加急数量` | +| 参数 | `userName` | `@用户ID` | - | +| 参数 | `orderId` | `@订单编号` | `订单编号, ` | +| 参数 | `this.TaskAID ` | `@TaskAID` | - | +| 参数 | `this.orderNo2 ` | `@订单号` | `[订单编号] as 订单号, ` | +| 参数 | `this.productCode2` | `@零件编号` | - | +| 参数 | `this.productionStatus2 ` | `@生产状态` | - | +| 参数 | `this.Doing` | `@工位名称` | - | +| 参数 | `this.$store.state.user.id` | `@用户ID` | - | +| 参数 | `this.plannum` | `@计划号` | - | +| 参数 | `this.salenum` | `@销售订单` | - | +| 参数 | `""` | `@计划开工_Start` | - | +| 参数 | `""` | `@计划开工_End` | - | +| 参数 | `this.completionTime ? this.completionTime[0` | `@计划开工_Start` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@计划开工_End` | - | +| 参数 | `row.零件编码` | `@ItemCode` | - | +| 参数 | `row.订单号` | `@订单号` | `[订单编号] as 订单号, ` | +| 参数 | `taskAID` | `@TaskAID` | - | +| 参数 | `userId` | `@用户ID` | - | +| 参数 | `userName` | `@用户名` | - | +| 参数 | `userName` | `@操作人` | - | +| 参数 | `this.workendData.备注` | `@备注` | - | +| 参数 | `this.workendData.工序说明` | `@工序说明` | - | +| 参数 | `this.workendData.异常说明` | `@异常说明` | - | +| 参数 | `0` | `@本次检数` | `@检验数 = ISNULL(本次检数, 0)` | +| 参数 | `isOvertime` | `@是否加班` | - | +| 参数 | `ordinaryPersons` | `@加班人员` | - | +| 参数 | `specialPersons` | `@特殊加班人员` | - | +| 参数 | `isRestDay` | `@是否休息日` | - | +| 参数 | `isLegalRestDay` | `@是否法定休息日` | - | +| 参数 | `shiftStandardHours` | `@班次标准工时` | - | +| 参数 | `row.TaskAID` | `@TaskAID` | - | +| 参数 | `this.$store.state.user.name` | `@optor` | - | +| 参数 | `this.assistNumber` | `@recievCount` | - | +| 参数 | `this.receiveCheckData.TaskAID` | `@TaskAID` | - | +| 参数 | `6` | `@检测类型编号` | - | +| 参数 | `"收检"` | `@质检类型` | - | +| 参数 | `this.receiveCheckData.零件名称` | `@零件名称` | - | +| 参数 | `this.receiveCheckData.内部合同号` | `@内部合同号` | - | +| 参数 | `this.receiveCheckData.零件编码` | `@零件编码` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) +- TM/OpenAPI 接口(`src/api/tm.js`) +- PDF/图纸预览或导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 2196 | 11(当前通用存储过程查询/执行) | `生产管理_获取人员绑定` | 基础权限/人员数据处理 | 查询 | 表:`MES_资源主数据`、`工位人员绑定表` | +| 2277 | 11(当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` | +| 2290 | 11(当前通用存储过程查询/执行) | `MES_人员工时记录_获取进行中任务2` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` | +| 2324 | 11(当前通用存储过程查询/执行) | `MES_人员工时记录_获取进行中任务` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` | +| 2398 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单列表` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` | +| 2444 | 11(当前通用存储过程查询/执行) | `异常工时_新增操作记录` | 新增业务数据 | 查询、新增、处理报工/工时 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` | +| 2477 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` | +| 2521 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 2575 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadProcess` | 查询/读取数据 | 查询 | 表:`基础表_工序` | +| 2714 | 11(当前通用存储过程查询/执行) | `MES_ProductCenter_GetTask_zp` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 2818 | 11(当前通用存储过程查询/执行) | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 | +| 2850 | 11(当前通用存储过程查询/执行) | `生产管理_装配中心_缺料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` | +| 2883 | 12(当前通用存储过程写入/业务动作) | `MES_人员工时记录_开始` | 报工或工时处理 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`;视图:`View_生产订单_MES` | +| 3204 | 12(当前通用存储过程写入/业务动作) | `MES_人员工时记录_结束` | 报工或工时处理 | 查询、新增、更新、处理报工/工时、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录` | +| 3276 | 12(当前通用存储过程写入/业务动作) | `MES_ProductTask_SendInspection` | 业务存储过程调用 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES` | +| 3323 | 11(当前通用存储过程查询/执行) | `加工中心_收检_读取收检记录` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 3412 | 12(当前通用存储过程写入/业务动作) | `MES_QulityInspection_ReceiveCheck` | 质量检验处理 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` | +| 3450 | 11(当前通用存储过程查询/执行) | `加工中心_异常工时_获取操作记录列表` | 报工或工时处理 | 查询、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` | +| 3504 | 11(当前通用存储过程查询/执行) | `加工中心_修改工时_保存修改记录` | 更新/保存业务数据 | 更新、处理报工/工时 | 表:`YL_加工中心_操作记录表` | +| 3539 | 11(当前通用存储过程查询/执行) | `生产管理_加工中心_生产发料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE` | +| 3593 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 3627 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` | +| 3668 | 12(当前通用存储过程写入/业务动作) | `生产管理_加工中心_退库` | 业务存储过程调用 | 查询、新增、处理质检数据 | 表:`质量检验_质检任务_SAP` | +| 3914 | 11(当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 4144 | 12(当前通用存储过程写入/业务动作) | `MES_QulityInspection_CheckItemData_Save` | 更新/保存业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` | +| 4232 | 11(当前通用存储过程查询/执行) | `MES_QulityInspection_GetItemStandard` | 查询/读取数据 | 查询、处理质检数据 | 表:`YL_质量检验_检测标准` | +| 4284 | 11(当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 4327 | 11(当前通用存储过程查询/执行) | `MES_QulityInspection_GetItemStandard` | 查询/读取数据 | 查询、处理质检数据 | 表:`YL_质量检验_检测标准` | +| 4529 | 12(当前通用存储过程写入/业务动作) | `MES_QulityInspection_CheckItemData_Save` | 更新/保存业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 3561 行:`getB1("/ProductionOrders")` +- 第 3730 行:`posttm("/stocktask/task/issueordertask")` +存储过程内读取 SAP B1 数据库对象: +- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL +- 生产管理_装配中心_缺料查询: SAP.SBO_YL.dbo.UBT_OPKL_MissQty +- 生产管理_加工中心_生产发料查询: SAP.SBO_YL.dbo.UBT_OWOR_OIGE + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 3561 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter`、`数据`、`lines`、`请求失败` | +| 3730 | `posttm` | `/stocktask/task/issueordertask` | 调用外部接口,失败会影响对应外部系统同步。 | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` | + +### 状态流转说明 + +- `生产管理_获取人员绑定`:`AND b.绑定状态 = 1;` +- `加急订单_加急明细查询`:`SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` +- `MES_人员工时记录_获取进行中任务2`:`CREATE PROCEDURE [dbo].[MES_人员工时记录_获取进行中任务2]`;`pt.工序名称 AS 任务工序名称, `;`pt.任务状态, `;`pt.完成数量, `;`pt.计划完成时间 AS 计划完成, `;`FROM [dbo].[YL_加工中心_操作记录表] t`;`LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID`;`t.操作类别 = '开始加工'` +- `MES_人员工时记录_获取进行中任务`:`CREATE PROCEDURE [dbo].[MES_人员工时记录_获取进行中任务]`;`pt.工序名称 AS 任务工序名称, `;`pt.任务状态, `;`pt.完成数量, `;`pt.计划完成时间 AS 计划完成, `;`FROM [dbo].[YL_加工中心_操作记录表] t`;`LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID`;`AND t.操作类别 = '开始加工'` +- `异常工时_新增操作记录`:`INSERT INTO [dbo].[YL_加工中心_操作记录表] (`;`操作描述, 开始时间, 结束时间, 总时长, 报工日期, 已报工, 不装配, ` +- `MES_ProductCenter_GetTask_zp`:`@生产状态 int = -1, `;`DECLARE @whereStr nvarchar(max) = ' WHERE 排产状态 = 1 '`;`派工特殊说明, `;`case when isnull([加急状态], 0) = 1 then ''加急'' else ''否'' end as [加急], `;`[二次派工], `;`[计划完成时间] as 计划完成, `;`isnull([完成数量], 0) as 完成数量, `;`when isnull(发料状态, 0) = 1 then ''发料齐套''` +- `MES_ProductTask_WorkTimeSum`:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称` +- `生产管理_装配中心_缺料查询`:`select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号` +- `MES_人员工时记录_开始`:`declare @任务状态 int = -1`;`FROM[dbo].[MES_接口_生产计划_生产任务]`;`SELECT 1 FROM YL_加工中心_操作记录表`;`AND 操作类别 = '开始加工'`;`select @任务状态 = isnull(任务状态, 0)from View_生产订单_MES where TaskAID = @TaskAID`;`if(@任务状态 = 1)`;`UPDATE MES_接口_生产计划_生产任务`;`任务状态 = '2', ` +- `MES_人员工时记录_结束`:`FROM [dbo].[MES_接口_生产计划_生产任务]`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`FROM YL_加工中心_操作记录表`;`AND 操作类别 = '开始加工'`;`UPDATE YL_加工中心_操作记录表`;`操作描述 = '用户 ' + @用户名 + ' 结束加工,' +`;`INSERT INTO [dbo].[YL_加工中心_报工记录]`;`INSERT INTO [dbo].[YL_加工中心_操作记录表] (` +- `MES_ProductTask_SendInspection`:`declare @任务状态 int`;`declare @完成数量 int`;`Update MES_接口_生产计划_生产任务`;`set 完成数量 = isnull(完成数量, 0)+@recievCount, `;`select @分配数量 = 指派数量, @完成数量 = 完成数量, @订单编号 = 订单编号, @工位名称 = 指派对象 from MES_接口_生产计划_生产任务 where AID = @TaskAID`;`if(@完成数量 = @分配数量)`;`set 任务状态 = 4, `;`INSERT INTO [dbo].[YL_加工中心_操作记录表]` +- `加工中心_收检_读取收检记录`:`CREATE PROCEDURE [dbo].[加工中心_收检_读取收检记录]`;`declare @完成数量 int`;`select @已检验数量 = sum(检验数量) OVER() from YL_质量检验_质检记录 where TaskAID = @TaskAID and 质检类型 = '收检'`;`select @完成数量 = 完成数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID`;`FROM [dbo].[YL_质量检验_质检记录] qc`;`select isnull(@已检验数量, 0), isnull(@完成数量, 0), isnull(@上序合格数, 0), @订单行号` +- `MES_QulityInspection_ReceiveCheck`:`@质检类型 NVARCHAR(50), `;`FROM [dbo].[MES_接口_生产计划_生产任务]`;`FROM [YL_MESDB].[dbo].[YL_质量检验_质检记录] qc`;`0 AS 清零任务数`;`INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (`;`[质检类型], `;`@质检类型, `;`INNER JOIN [dbo].[MES_接口_生产计划_生产任务] task ON qc.TaskAID = task.AID` +- `加工中心_异常工时_获取操作记录列表`:`CREATE PROCEDURE [dbo].[加工中心_异常工时_获取操作记录列表]`;`o.实际工时 as 加工工时, `;`o.已报工, `;`FROM [dbo].[YL_加工中心_操作记录表] o` +- `加工中心_修改工时_保存修改记录`:`CREATE PROCEDURE [dbo].[加工中心_修改工时_保存修改记录]`;`update [dbo].[YL_加工中心_操作记录表]` +- `生产管理_加工中心_生产发料查询`:`CREATE PROCEDURE [dbo].[生产管理_加工中心_生产发料查询]`;`select * from SAP.SBO_YL.dbo.UBT_OWOR_OIGE where 生产订单号 = @生产订单号` +- `生产管理_加工中心_退库`:`CREATE PROCEDURE [dbo].[生产管理_加工中心_退库]`;`select @行号 = max(isnull(行号, 0)) from [dbo].[质量检验_质检任务_SAP] where [订单编号] = @生产订单号 and [订单类型] = '202-60'`;`insert into [dbo].[质量检验_质检任务_SAP] ( [订单编号]` +- `Prog_MES_GetProductOrder_byAID`:`, [加急状态]`;`, [排产状态]`;`, [计划完成时间]`;`, [派工状态]`;`, [派工时间]`;`, [任务状态]`;`, [未完成说明]`;`, [派工特殊说明]` +- `MES_QulityInspection_CheckItemData_Save`:`@质检类型 nvarchar(100) = '', `;`FROM [dbo].[YL_质量检验_质检记录]`;`AND 质检类型 = @质检类型`;`INSERT INTO [dbo].[YL_质量检验_质检记录](`;`TaskAID, 质检类型, 检测类型编号, 零件名称, 内部合同号, `;`@TaskAID, @质检类型, @检测类型编号, @零件名称, @内部合同号, `;`UPDATE [dbo].[YL_质量检验_质检记录]`;`FROM [dbo].[YL_质量检验_质检记录_检测零件]` +- `Prog_MES_GetProductOrder_byAID`:`, [加急状态]`;`, [排产状态]`;`, [计划完成时间]`;`, [派工状态]`;`, [派工时间]`;`, [任务状态]`;`, [未完成说明]`;`, [派工特殊说明]` +- `MES_QulityInspection_CheckItemData_Save`:`@质检类型 nvarchar(100) = '', `;`FROM [dbo].[YL_质量检验_质检记录]`;`AND 质检类型 = @质检类型`;`INSERT INTO [dbo].[YL_质量检验_质检记录](`;`TaskAID, 质检类型, 检测类型编号, 零件名称, 内部合同号, `;`@TaskAID, @质检类型, @检测类型编号, @零件名称, @内部合同号, `;`UPDATE [dbo].[YL_质量检验_质检记录]`;`FROM [dbo].[YL_质量检验_质检记录_检测零件]` + +### 数据库调用链 + +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `生产管理_获取人员绑定` -> 表:`MES_资源主数据`、`工位人员绑定表` -> 基础权限/人员数据处理 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_人员工时记录_获取进行中任务2` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` -> 报工或工时处理 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_人员工时记录_获取进行中任务` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` -> 报工或工时处理 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `工时校验_获取订单列表` -> 表:`MES_接口_生产计划` -> 报工或工时处理 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `异常工时_新增操作记录` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` -> 新增业务数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `Prog_MES_LoadProcess` -> 表:`基础表_工序` -> 查询/读取数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_ProductCenter_GetTask_zp` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_ProductTask_WorkTimeSum` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `生产管理_装配中心_缺料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` -> 查询/读取数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_人员工时记录_开始` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`;视图:`View_生产订单_MES` -> 报工或工时处理 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_人员工时记录_结束` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录` -> 报工或工时处理 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_ProductTask_SendInspection` -> 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES` -> 业务存储过程调用 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `加工中心_收检_读取收检记录` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_QulityInspection_ReceiveCheck` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` -> 质量检验处理 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `加工中心_异常工时_获取操作记录列表` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 报工或工时处理 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `加工中心_修改工时_保存修改记录` -> 表:`YL_加工中心_操作记录表` -> 更新/保存业务数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `生产管理_加工中心_生产发料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE` -> 查询/读取数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `生产管理_加工中心_退库` -> 表:`质量检验_质检任务_SAP` -> 业务存储过程调用 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_QulityInspection_CheckItemData_Save` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` -> 更新/保存业务数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_QulityInspection_GetItemStandard` -> 表:`YL_质量检验_检测标准` -> 查询/读取数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_QulityInspection_GetItemStandard` -> 表:`YL_质量检验_检测标准` -> 查询/读取数据 +- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_QulityInspection_CheckItemData_Save` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `生产管理_获取人员绑定` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 基础权限/人员数据处理。 数据库处理摘要:查询。 读取/关联对象:表:`MES_资源主数据`、`工位人员绑定表`。 入参/分页参数:`@操作人ID NVARCHAR(50)`。 主要返回字段线索:`m.[name] AS 工位名称`。 关键过滤/匹配条件:`WHERE`;`AND b.绑定状态 = 1;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。 +- `MES_人员工时记录_获取进行中任务2` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`。 入参/分页参数:`@用户ID NVARCHAR(50)`。 主要返回字段线索:`t.AID AS 操作记录ID, `、`t.TaskAID, `、`t.操作人 AS UserName, `、`t.开始时间 AS StartTime, `、`t.操作类别, `、`t.操作类别编号, `、`t.工序名称, `、`t.工位名称, `、`t.订单编号, `、`t.物料编号, `。 关键过滤/匹配条件:`WHERE`;`AND t.结束时间 IS NULL`;`and t.工位名称 like '%装配%'`;`and t.操作数值 is not null`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY t.开始时间 DESC;`。 实现特征:异常捕获。 +- `MES_人员工时记录_获取进行中任务` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`。 入参/分页参数:`@用户ID NVARCHAR(50)`。 主要返回字段线索:`t.AID AS 操作记录ID, `、`t.TaskAID, `、`t.操作人 AS UserName, `、`t.开始时间 AS StartTime, `、`t.操作类别, `、`t.操作类别编号, `、`t.工序名称, `、`t.工位名称, `、`t.订单编号, `、`t.物料编号, `。 关键过滤/匹配条件:`WHERE t.操作人 = @用户ID`;`AND t.操作类别 = '开始加工'`;`AND t.结束时间 IS NULL`;`and t.工位名称 like '%装配%'`;`and t.操作数值 is not null`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY t.开始时间 DESC;`。 实现特征:异常捕获。 +- `工时校验_获取订单列表` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`DISTINCT top 20`、`订单编号, `、`物料编号 as 零件编码, `、`物料描述 as 零件名称`。 关键过滤/匹配条件:`FROM [dbo].[MES_接口_生产计划] WHERE 订单编号 LIKE '%' + @订单编号 + '%' OR @订单编号 = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单编号 ;`。 +- `异常工时_新增操作记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@操作类别 nvarchar(50),`、`@订单编号 nvarchar(50),`、`@物料编号 nvarchar(50),`、`@物料描述 nvarchar(50),`、`@工序名称 nvarchar(50),`、`@操作人 nvarchar(50),`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@操作内容 nvarchar(500)`、`@操作描述 nvarchar(2000)`、`@TaskAID nvarchar(2000)`。 主要返回字段线索:`@工位名称 = 指派对象`。 关键过滤/匹配条件:`select @工位名称 = 指派对象 from [dbo].[View_生产订单_MES] where TaskAID = @TaskAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @工时 = DATEDIFF(SECOND, @开始时间, @结束时间);`;`INSERT INTO [dbo].[YL_加工中心_操作记录表] (`。 实现特征:异常捕获。 +- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。 +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `Prog_MES_LoadProcess` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 主要返回字段线索:`[工艺编号], [工序名称]`。 排序/分组/分页线索:`SELECT [工艺编号], [工序名称] FROM [基础表_工序] ORDER BY [工艺编号]`。 +- `MES_ProductCenter_GetTask_zp` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID int`、`@订单号 int`、`@零件编号 nvarchar(50)`、`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`、`@生产状态 int`、`@工位名称 nvarchar(50)`、`@用户ID nvarchar(50)`、`@计划号 nvarchar(50)`、`@销售订单 nvarchar(50)`。 主要返回字段线索:`TaskAID, `、`[订单编号] as 订单号, `、`合同号, `、`自制件属性, `、`加急总数, `、`派工特殊说明, `、`[订单拆分内码], `、`[订单行号], `、`[开工时间], `、`[物料编号] as 零件编码, `。 关键过滤/匹配条件:`DECLARE @whereStr nvarchar(max) = ' WHERE 排产状态 = 1 '`;`WHERE next_task.[订单编号] = main.[订单编号]`;`AND next_task.[订单行号] = main.[订单行号] + 1`;`AND next_task.[排产状态] = 1`;`WHERE b.订单编号 = main.[订单编号]`;`AND b.订单行号 = main.[订单行号] - 1`;`AND a.检测类型编号 = 6`;`WHERE EXISTS (`;`WHERE b.订单编号 = main.订单编号`;`AND b.订单行号 = main.订单行号`。 关键写入/状态处理语句线索:`SET @whereStr = @whereStr + ' AND [指派对象] ''外协'' AND [指派对象] LIKE ''%装配%'''`;`SET @whereStr = @whereStr + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)`;`SET @whereStr = @whereStr + ' AND [计划号] = '''+@计划号+''''`;`SET @whereStr = @whereStr + ' AND [合同号] LIKE ''%' + @销售订单 + '%'''`;`SET @whereStr = @whereStr + ' AND [TaskAID] = ' + CONVERT(VARCHAR(10), @TaskAID)`;`SET @whereStr = @whereStr + ' AND [物料编号] LIKE ''%' + @零件编号 + '%'''`;`SET @whereStr = @whereStr + ' AND [计划开始时间] > = ''' + @计划开工_Start + ''''`;`SET @whereStr = @whereStr + ' AND [计划开始时间] < = ''' + @计划开工_End + ''''`;`SET @whereStr = @whereStr +`;`SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) IN (0, 1, 2) '`;`SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) = 0 '`;`SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) = 1 '`。 排序/分组/分页线索:`ORDER BY next_task.[订单行号]) AS 下序名称, `;`SET @selStr = @selStr + @whereStr + ' ORDER BY [计划开始时间], [订单编号], [阶段标识]'`。 +- `MES_ProductTask_WorkTimeSum` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`。 主要返回字段线索:`TaskAID, 工序名称, sum(工时) as 总工时`。 关键过滤/匹配条件:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 排序/分组/分页线索:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 +- `生产管理_装配中心_缺料查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty`。 入参/分页参数:`@ItemCode nvarchar(500),`、`@订单号 int`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号`。 实现特征:读取 SAP 数据库对象。 +- `MES_人员工时记录_开始` 属于 系统基础资料/权限,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID INT,`、`@用户ID NVARCHAR(50),`、`@用户名 NVARCHAR(50),`、`@操作人 NVARCHAR(50)`。 主要返回字段线索:`@订单编号 = ISNULL(订单编号, ''), `、`@物料编号 = ISNULL(物料编码, ''), `、`@物料描述 = ISNULL(物料名称, ''), `、`@工序名称 = ISNULL(工序名称, ''), `、`@工位名称 = ISNULL(指派对象, ''), `、`@阶段标识 = ISNULL(顺序编号, -1)`。 关键过滤/匹配条件:`WHERE AID = @TaskAID`;`WHERE TaskAID = @TaskAID`;`AND 操作人 = @用户名`;`AND 操作类别 = '开始加工'`;`AND 结束时间 IS NULL`;`select @任务状态 = isnull(任务状态, 0)from View_生产订单_MES where TaskAID = @TaskAID`。 关键写入/状态处理语句线索:`UPDATE MES_接口_生产计划_生产任务`;`SET`;`INSERT INTO YL_加工中心_操作记录表 (`。 实现特征:异常捕获。 +- `MES_人员工时记录_结束` 属于 系统基础资料/权限,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录`。 写入或更新对象:`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`。 入参/分页参数:`@TaskAID INT,`、`@用户ID NVARCHAR(50),`、`@用户名 NVARCHAR(50),`、`@操作人 NVARCHAR(50),`、`@备注 NVARCHAR(200)`、`@工序说明 NVARCHAR(200)`、`@异常说明 NVARCHAR(200)`、`@本次检数 NVARCHAR(200)`、`@是否加班 INT`、`@加班人员 NVARCHAR(500)`、`@特殊加班人员 NVARCHAR(500)`、`@是否休息日 INT`、`@是否法定休息日 INT`、`@班次标准工时 NVARCHAR`。 主要返回字段线索:`@订单编号 = ISNULL(订单编号, ''), `、`@物料编号 = ISNULL(物料编码, ''), `、`@物料描述 = ISNULL(物料名称, ''), `、`@工序名称 = ISNULL(工序名称, ''), `、`@工位名称 = ISNULL(指派对象, ''), `、`@阶段标识 = ISNULL(顺序编号, -1), `、`@检验数 = ISNULL(本次检数, 0)`。 关键过滤/匹配条件:`WHERE AID = @TaskAID`;`WHERE TaskAID = @TaskAID`;`AND 操作人 = @用户名`;`AND 操作类别 = '开始加工'`;`AND 结束时间 IS NULL`;`WHERE 班次名称 = '白班'`;`IF @是否休息日 = 1 OR @是否法定休息日 = 1`;`WHERE AID = @开始记录ID`;`IF @是否法定休息日 = 1 AND @是否加班 = 0`;`ELSE IF @是否休息日 = 1 AND @是否加班 = 0`。 关键写入/状态处理语句线索:`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET 本次检数 = ISNULL(@检验数, 0) + ISNULL(@本次检数, 0)`;`SET @白班结束时间 = '16:30:00'`;`SET @白班结束时间_完整 = CAST(CAST(@结束时间 AS DATE) AS DATETIME) + CAST(@白班结束时间 AS DATETIME)`;`SET @加班时长秒 = @总工时`;`SET @加班开始时间 = @开始时间`;`SET @工作时间 = 0`;`SET @工作时间 = @总工时`;`SET @报工开始时间 = @开始时间`;`SET @报工结束时间 = @结束时间`;`SET @加班时长秒 = 0`;`SET @加班开始时间 = NULL`。 排序/分组/分页线索:`ORDER BY 开始时间 DESC`。 实现特征:异常捕获、临时表 `#TempOvertimePersons`。 +- `MES_ProductTask_SendInspection` 属于 生产执行/工时,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`。 入参/分页参数:`@TaskAID bigint,`、`@recievCount int,`、`@optor nvarchar(50)`。 主要返回字段线索:`@分配数量 = 指派数量, @完成数量 = 完成数量, @订单编号 = 订单编号, @工位名称 = 指派对象`。 关键过滤/匹配条件:`where AID = @TaskAID`;`select @分配数量 = 指派数量, @完成数量 = 完成数量, @订单编号 = 订单编号, @工位名称 = 指派对象 from MES_接口_生产计划_生产任务 where AID = @TaskAID`;`select @dicItemID = 词条编号 from YL_基础表_数据字典 where 词条名称 = @词条名称 and 数据类别 = @数据类别`;`from View_生产订单_MES where TaskAID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务`;`set 完成数量 = isnull(完成数量, 0)+@recievCount, `;`set 任务状态 = 4, `;`INSERT INTO [dbo].[YL_加工中心_操作记录表]`;`INSERT INTO [dbo].[YL_加工中心_报工记录]`。 +- `加工中心_收检_读取收检记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID int`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID`;`select @已检验数量 = sum(检验数量) OVER() from YL_质量检验_质检记录 where TaskAID = @TaskAID and 质检类型 = '收检'`;`select @完成数量 = 完成数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID`;`WHERE vt.[订单编号] = @订单编号`;`AND vt.[订单行号] = @订单行号-1`;`AND qc.检测类型编号 = '6'`。 +- `MES_QulityInspection_ReceiveCheck` 属于 质量检验,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 质量检验处理。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@内部合同号 int,`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@工序名称 NVARCHAR(100),`、`@检测数量 INT,`、`@合格数 INT,`、`@不合格数 INT,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@计划生产数 INT,`、`@检测说明 NVARCHAR(MAX)`。 主要返回字段线索:`@分配数量 = ISNULL(指派数量, 0)`。 关键过滤/匹配条件:`WHERE AID = @TaskAID`;`WHERE qc.TaskAID = @TaskAID`;`WHERE task.订单编号 = @计划号`;`AND task.订单行号 = @当前订单行号`;`AND qc.质检类型 = '收检'`;`WHERE 订单编号 = @计划号`;`AND 订单行号 = @当前订单行号 + 1`;`AND ISNULL(订单拆分内码, 1) = 1`;`IF @下一道工序AID IS NOT NULL and @合格数 > 0`;`WHERE AID = @下一道工序AID and isnull(任务状态, 0) < 1`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET 任务状态 = 4`;`SET 任务状态 = 1`。 实现特征:事务控制、异常捕获。 +- `加工中心_异常工时_获取操作记录列表` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@操作人 nvarchar(50)`。 主要返回字段线索:`o.AID, `、`o.操作类别编号, `、`o.操作类别, `、`o.阶段标识, `、`o.工序名称, `、`o.工位编号, `、`o.工位名称, `、`o.操作人 as 指派对象, `、`o.合同号, `、`o.订单编号 as 订单号, `。 关键过滤/匹配条件:`WHERE c.AID IS NULL and o.操作人 = @操作人 and o.操作类别编号 in ('8', '9')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `加工中心_修改工时_保存修改记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID bigint,`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@工时 int,`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 关键过滤/匹配条件:`where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[YL_加工中心_操作记录表]`;`set 最后编辑时间 = GETDATE(), 最后编辑人 = @最后编辑人, 实际工时 = @工时, 开始时间 = @开始时间, 结束时间 = @结束时间`。 +- `生产管理_加工中心_生产发料查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE`。 入参/分页参数:`@生产订单号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from SAP.SBO_YL.dbo.UBT_OWOR_OIGE where 生产订单号 = @生产订单号`。 关键写入/状态处理语句线索:`set nocount on;`。 实现特征:读取 SAP 数据库对象。 +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `生产管理_加工中心_退库` 属于 生产执行/工时,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、处理质检数据。 读取/关联对象:表:`质量检验_质检任务_SAP`。 写入或更新对象:`质量检验_质检任务_SAP`。 入参/分页参数:`@生产订单号 bigint,`、`@编码 nvarchar(500),`、`@名称 nvarchar(500),`、`@数量 float,`、`@单位 nvarchar(50),`、`@批次信息 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`@行号 = max(isnull(行号, 0))`。 关键过滤/匹配条件:`select @行号 = max(isnull(行号, 0)) from [dbo].[质量检验_质检任务_SAP] where [订单编号] = @生产订单号 and [订单类型] = '202-60'`。 关键写入/状态处理语句线索:`insert into [dbo].[质量检验_质检任务_SAP] ( [订单编号]`。 +- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID`;`WHERE vt.[订单编号] = vo.[订单编号]`;`AND vt.[订单行号] = vo.[订单行号]-1`;`AND qc.检测类型编号 = '6'`;`WHERE [TaskAID] = @TaskAID`。 +- `MES_QulityInspection_CheckItemData_Save` 属于 质量检验,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 写入或更新对象:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 入参/分页参数:`@TaskAID bigint`、`@物料编号 nvarchar(100)`、`@阶段标识 int`、`@工序名称 nvarchar(100)`、`@计划号 int`、`@检测项目 nvarchar(500)`、`@理论值 nvarchar(50)`、`@上限值 nvarchar(50)`、`@下限值 nvarchar(50)`、`@实测值 nvarchar(50)`、`@测量单位 nvarchar(50)`、`@检验比例 nvarchar(50)`、`@检具 nvarchar(50)`、`@检测结果 int`、`@合格数 int`、`@不合格数 int`、`@备注 nvarchar(200)`、`@检测人 nvarchar(50)`、`@检测时间 datetime`、`@当前检测零件编号 int`、`@质检类型 nvarchar(100)`、`@检测类型编号 nvarchar(100)`、`@零件名称 nvarchar(100)`、`@内部合同号 nvarchar(100)`。 主要返回字段线索:`@ExistingQT_AID = QT_AID`。 关键过滤/匹配条件:`WHERE TaskAID = @TaskAID`;`AND 零件编码 = @零件编码`;`AND 工序名称 = @工序名称`;`AND 质检类型 = @质检类型`;`AND 检测人 = @检测人`;`AND CONVERT(DATE, 检测时间) = CONVERT(DATE, @检测时间);`;`WHERE QT_AID = @ExistingQT_AID;`;`WHERE QT_AID = @ExistingQT_AID`;`AND 零件编号 = @零件编码`;`AND 当前检测零件编号 = @当前检测零件编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO [dbo].[YL_质量检验_质检记录](`;`SET @QT_AID = SCOPE_IDENTITY();`;`SET @ExistingQT_AID = @QT_AID;`;`SET @CurrentQualifiedCount = @CurrentQualifiedCount + @合格数;`;`SET @CurrentUnqualifiedCount = @CurrentUnqualifiedCount + @不合格数;`;`SET @CurrentInspectionCount = @CurrentInspectionCount + @检验数量;`;`UPDATE [dbo].[YL_质量检验_质检记录]`;`SET`;`SET @QT_AID = @ExistingQT_AID;`;`SET @PartResult = 0;`;`INSERT INTO [dbo].[YL_质量检验_质检记录_检测零件](`。 实现特征:事务控制、异常捕获。 +- `MES_QulityInspection_GetItemStandard` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工序名称编号 int`、`@检测类别编号 int`。 主要返回字段线索:`[物料编号]`、`[工序名称编号]`、`[检测项目]`、`[理论值]`、`[上限值]`、`[下限值]`、`[测量单位]`、`[检验比例]`、`[检具]`、`[备注]`。 关键过滤/匹配条件:`where [物料编号] = @物料编号 and [工序名称编号] = @工序名称编号 and [检测类别编号] = @检测类别编号`。 +- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID`;`WHERE vt.[订单编号] = vo.[订单编号]`;`AND vt.[订单行号] = vo.[订单行号]-1`;`AND qc.检测类型编号 = '6'`;`WHERE [TaskAID] = @TaskAID`。 +- `MES_QulityInspection_GetItemStandard` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工序名称编号 int`、`@检测类别编号 int`。 主要返回字段线索:`[物料编号]`、`[工序名称编号]`、`[检测项目]`、`[理论值]`、`[上限值]`、`[下限值]`、`[测量单位]`、`[检验比例]`、`[检具]`、`[备注]`。 关键过滤/匹配条件:`where [物料编号] = @物料编号 and [工序名称编号] = @工序名称编号 and [检测类别编号] = @检测类别编号`。 +- `MES_QulityInspection_CheckItemData_Save` 属于 质量检验,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 写入或更新对象:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 入参/分页参数:`@TaskAID bigint`、`@物料编号 nvarchar(100)`、`@阶段标识 int`、`@工序名称 nvarchar(100)`、`@计划号 int`、`@检测项目 nvarchar(500)`、`@理论值 nvarchar(50)`、`@上限值 nvarchar(50)`、`@下限值 nvarchar(50)`、`@实测值 nvarchar(50)`、`@测量单位 nvarchar(50)`、`@检验比例 nvarchar(50)`、`@检具 nvarchar(50)`、`@检测结果 int`、`@合格数 int`、`@不合格数 int`、`@备注 nvarchar(200)`、`@检测人 nvarchar(50)`、`@检测时间 datetime`、`@当前检测零件编号 int`、`@质检类型 nvarchar(100)`、`@检测类型编号 nvarchar(100)`、`@零件名称 nvarchar(100)`、`@内部合同号 nvarchar(100)`。 主要返回字段线索:`@ExistingQT_AID = QT_AID`。 关键过滤/匹配条件:`WHERE TaskAID = @TaskAID`;`AND 零件编码 = @零件编码`;`AND 工序名称 = @工序名称`;`AND 质检类型 = @质检类型`;`AND 检测人 = @检测人`;`AND CONVERT(DATE, 检测时间) = CONVERT(DATE, @检测时间);`;`WHERE QT_AID = @ExistingQT_AID;`;`WHERE QT_AID = @ExistingQT_AID`;`AND 零件编号 = @零件编码`;`AND 当前检测零件编号 = @当前检测零件编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO [dbo].[YL_质量检验_质检记录](`;`SET @QT_AID = SCOPE_IDENTITY();`;`SET @ExistingQT_AID = @QT_AID;`;`SET @CurrentQualifiedCount = @CurrentQualifiedCount + @合格数;`;`SET @CurrentUnqualifiedCount = @CurrentUnqualifiedCount + @不合格数;`;`SET @CurrentInspectionCount = @CurrentInspectionCount + @检验数量;`;`UPDATE [dbo].[YL_质量检验_质检记录]`;`SET`;`SET @QT_AID = @ExistingQT_AID;`;`SET @PartResult = 0;`;`INSERT INTO [dbo].[YL_质量检验_质检记录_检测零件](`。 实现特征:事务控制、异常捕获。 + +## 31. src/views/ProductionManagement/DeviceStatus/index.vue + +**页面位置**:`src/views/ProductionManagement/DeviceStatus/index.vue` +**所属模块**:ProductionManagement / DeviceStatus +**源码行数**:352 + +### 页面功能 + +该页面查看设备/工位生产状态,通常用于判断设备是否在加工、待机、报警或空闲。 + +页面可见的操作/字段包括 “查询”、“item.name”、“序号”、“工位”、“生产订单”、“计划号”、“销售订单”、“物料名称”、“物料编码”、“顺序”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `MES_登录_工位与名称_查询`、`设备管理_设备状态_查询` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `设备管理_设备状态_查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`item.name`、`序号`、`工位`、`生产订单`、`计划号`、`销售订单`、`物料名称`、`物料编码`、`顺序`、`工序名称`、`分配数`、`上序合格数`、`加工状态`、`收料状态`、`下序名称`、`优先`、`完成数` + +主要方法线索:`getbasedata` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.equipmentType` | `@设备名称` | - | +| 参数 | `this.dataname` | `@参数名称` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `工位` | - | `[VisCode] as 工位代码` | +| 显示列 | `生产订单` | - | `订单号` | +| 显示列 | `计划号` | - | `计划号` | +| 显示列 | `销售订单` | - | `合同号, ` | +| 显示列 | `物料名称` | - | `零件名称` | +| 显示列 | `物料编码` | - | `零件编码` | +| 显示列 | `顺序` | - | `顺序` | +| 显示列 | `工序名称` | - | `工序名称` | +| 显示列 | `分配数` | - | `分配数` | +| 显示列 | `上序合格数` | - | `上序合格数` | +| 显示列 | `加工状态` | - | `加工状态` | +| 显示列 | `收料状态` | - | `收料状态` | +| 显示列 | `下序名称` | - | `下序名称` | +| 显示列 | `优先` | - | `优先` | +| 显示列 | `完成数` | - | `完成数量` | +| 显示列 | `收检合格数` | - | `收检合格数` | +| 显示列 | `收检不合格数` | - | `收检不合格数` | +| 显示列 | `人员名称` | - | `人员名称` | +| 显示列 | `加急数量` | - | `加急总数, ` | +| 显示列 | `任务状态` | - | `任务状态` | +| 显示列 | `开工时间` | - | `[开工时间], ` | +| 显示列 | `计划开始` | - | `计划开始` | +| 显示列 | `计划完成` | - | `计划完成` | +| 显示列 | `备注` | - | `派工特殊说明, ` | +| 显示列 | `收料数` | - | `收料` | +| 输入字段 | `equipmentType` | `@设备名称` | - | +| 输入字段 | `dataname` | `@参数名称` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 276 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 293 | 11(当前通用存储过程查询/执行) | `设备管理_设备状态_查询` | 查询/读取数据 | 查询、分页、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`MES_资源主数据`、`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`、`View_设备工位人员` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `设备管理_设备状态_查询`:`CREATE PROCEDURE [dbo].[设备管理_设备状态_查询]`;`DECLARE @where NVARCHAR(4000) = N' WHERE 1 = 1 and isnull(加工状态, 0) in (2, 4) ';`;`派工特殊说明, `;`[加急状态], `;`[二次派工], `;`[计划完成时间], `;`[完成数量], `;`发料状态, ` + +### 数据库调用链 + +- `src/views/ProductionManagement/DeviceStatus/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/ProductionManagement/DeviceStatus/index.vue` -> `设备管理_设备状态_查询` -> 表:`MES_资源主数据`、`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`、`View_设备工位人员` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `设备管理_设备状态_查询` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、分页、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_资源主数据`、`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`、`View_设备工位人员`。 入参/分页参数:`@设备名称 nvarchar(50)`。 主要返回字段线索:`main.TaskAID, `、`[订单编号], `、`合同号, `、`加急总数, `、`派工特殊说明, `、`[订单拆分内码], `、`[订单行号], `、`[开工时间], `、`[物料编号], `、`[物料描述], `。 关键过滤/匹配条件:`DECLARE @where NVARCHAR(4000) = N' WHERE 1 = 1 and isnull(加工状态, 0) in (2, 4) ';`;`IF @时间值 > = @夜班开始阈值 OR @时间值 < @白班开始阈值`;`SET @班次条件 = N' AND d2.班次名称 = N''夜班''';`;`SET @班次条件 = N' AND d2.班次名称 = N''白班''';`;`WHERE b.订单编号 = main.[订单编号]`;`AND b.订单行号 = main.[订单行号] - 1`;`AND a.检测类型编号 = 6`;`WHERE d2.工位名称 = main.指派对象 ' + @班次条件 + N'`;`WHERE 质检类型 = ''收检''`;`' + @where + N'`。 关键写入/状态处理语句线索:`SET @班次条件 = N' AND d2.班次名称 = N''夜班''';`;`SET @班次条件 = N' AND d2.班次名称 = N''白班''';`;`SET @selectStr = N'`。 排序/分组/分页线索:`ROW_NUMBER() OVER (PARTITION BY [指派对象] ORDER BY ISNULL([开工时间], ''1900-01-01'') DESC) AS rn, `;`ROW_NUMBER() OVER (PARTITION BY`;`ORDER BY ISNULL([开工时间], ''1900-01-01'') DESC) AS duplicate_rn`;`GROUP BY TaskAID`;`ORDER BY [指派对象];'`。 实现特征:分页。 + +## 32. src/views/ProductionManagement/MachiningCenter/index.vue + +**页面位置**:`src/views/ProductionManagement/MachiningCenter/index.vue` +**所属模块**:ProductionManagement / MachiningCenter +**源码行数**:6909 + +### 页面功能 + +该页面是机加生产执行主界面。操作员按工位查看可执行任务和进行中任务,完成收料、开始加工、暂停/恢复、报工、辅助工序、首检/巡检/序检、生产发料查询、退库、图纸查看等动作,并写入加工中心操作记录和报工记录。 + +页面可见的操作/字段包括 “取 消”、“确 定”、“上一个 下一个”、“删除当前记录 关闭”、“上一个 下一个 保存当前记录 删除当前记录 关闭”、“确定 关闭”、“关闭”、“新增异常工时”、“编辑”、“取消”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `生产管理_加工中心_获取设备人员`、`生产管理_加工中心_获取班次信息`、`加急订单_加急明细查询`、`生产管理_获取人员绑定`、`工时校验_获取订单工序`、`工时校验_获取订单列表` 等过程 取数或提交业务动作。 + +### 页面流程图 + +机加中心执行流程: + +```mermaid +flowchart LR + A[选择工位/人员/任务条件] --> B[MES_ProductCenter_GetTask 查询可执行任务] + B --> C[选择任务] + C --> D[收料 MES_ProductTask_MaterialRecieved] + D --> E[开始加工 MES_ProductTask_WorkingStart] + E --> F{生产过程} + F --> G[暂停/恢复 MES_ProductTask_Rest] + F --> H[首检/巡检/序检] + F --> I[报工 MES_ProductTask_ProdReport] + I --> J[写入操作记录/报工记录] + J --> K[必要时读取 SAP ProductionOrders] + K --> L[刷新任务和进行中状态] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`取 消`、`确 定`、`上一个 下一个`、`删除当前记录 关闭`、`上一个 下一个 保存当前记录 删除当前记录 关闭`、`确定 关闭`、`关闭`、`新增异常工时`、`编辑`、`取消`、`处理`、`转办`、`发起新流程`、`查看进度`、`完结`、`查看详情`、`点击上传`、`添加审批人` + +主要方法线索:`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.selectedRow.指派对象` | `@指派对象` | - | +| 参数 | `shiftName` | `@班次` | - | +| 参数 | `row.零件编码` | `@物料编号` | `docentry as 订单编号, itemcode as 物料编号, 加急数量` | +| 参数 | `orderId` | `@订单编号` | - | +| 参数 | `this.$store.state.user.name` | `@操作人` | - | +| 参数 | `taskAID` | `@TaskAID` | - | +| 参数 | `row.TaskAID` | `@TaskAID` | - | +| 参数 | `this.$store.state.user.name` | `@optor` | - | +| 参数 | `this.TaskAID ` | `@TaskAID` | - | +| 参数 | `this.orderNo2 ` | `@订单号` | `[订单编号] as 订单号, ` | +| 参数 | `this.productCode2` | `@零件编号` | - | +| 参数 | `this.productionStatus2` | `@生产状态` | - | +| 参数 | `this.Doing` | `@工位名称` | - | +| 参数 | `this.$store.state.user.id` | `@用户ID` | - | +| 参数 | `this.plannum` | `@计划号` | - | +| 参数 | `this.salenum` | `@销售订单` | - | +| 参数 | `this.completionTime ? this.completionTime[0` | `@计划开工_Start` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@计划开工_End` | - | +| 参数 | `this.assistNumber` | `@partCount` | - | +| 参数 | `row.分配数` | `@指派数量` | - | +| 参数 | `this.selectedOperators` | `@selectedOperators` | - | +| 参数 | `ordinaryPersons` | `@加班人员` | - | +| 参数 | `specialPersons` | `@特殊加班人员` | - | +| 参数 | `isOvertime` | `@是否加班` | - | +| 参数 | `isRestDay` | `@是否休息日` | - | +| 参数 | `isLegalRestDay` | `@是否法定休息日` | - | +| 参数 | `selectedShiftName` | `@用户选择班次` | - | +| 参数 | `shiftStandardHours` | `@班次标准工时` | - | +| 参数 | `this.receiveNum` | `@recievCount` | - | +| 参数 | `row.指派对象` | `@指派对象` | - | +| 参数 | `row.收料` | `@收料` | - | +| 参数 | `row.分配数` | `@分配数` | - | +| 参数 | `this.workStartNum` | `@辅助数` | - | +| 参数 | `前序不合格总数` | `@前序不合格总数` | - | +| 参数 | `BindRpt_ALLtaskids` | `@BindRpt_ALLtaskids` | - | +| 参数 | `this.currentTime` | `@rptDate` | - | +| 参数 | `this.shift` | `@rptShift` | - | +| 参数 | `this.proReportNum` | `@partCount` | - | +| 参数 | `this.rptDesc` | `@rptDesc` | - | +| 参数 | `this.currentShift.班次名称` | `@班次` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) +- TM/OpenAPI 接口(`src/api/tm.js`) +- PDF/图纸预览或导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 3212 | 11(当前通用存储过程查询/执行) | `生产管理_加工中心_获取设备人员` | 基础权限/人员数据处理 | 查询 | 视图:`View_设备工位人员` | +| 3348 | 11(当前通用存储过程查询/执行) | `生产管理_加工中心_获取班次信息` | 业务存储过程调用 | 查询 | 表:`班次表` | +| 3366 | 11(当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` | +| 3373 | 11(当前通用存储过程查询/执行) | `生产管理_获取人员绑定` | 基础权限/人员数据处理 | 查询 | 表:`MES_资源主数据`、`工位人员绑定表` | +| 3384 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` | +| 3400 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单列表` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` | +| 3445 | 11(当前通用存储过程查询/执行) | `异常工时_新增操作记录` | 新增业务数据 | 查询、新增、处理报工/工时 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` | +| 3501 | 11(当前通用存储过程查询/执行) | `MES_操作记录_获取暂停状态` | 业务存储过程调用 | 查询 | 表:`YL_加工中心_操作记录表` | +| 3571 | 11(当前通用存储过程查询/执行) | `MES_操作记录_获取任务暂停状态` | 业务存储过程调用 | 查询 | 表:`YL_加工中心_操作记录表` | +| 3626 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 3679 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadProcess` | 查询/读取数据 | 查询 | 表:`基础表_工序` | +| 3691 | 11(当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | +| 3706 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` | +| 3744 | 12(当前通用存储过程写入/业务动作) | `MES_ProductTask_HelpStart` | 业务存储过程调用 | 查询、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`;视图:`View_生产订单_MES` | +| 3773 | 11(当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 3794 | 11(当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 3857 | 11(当前通用存储过程查询/执行) | `MES_ProductCenter_GetTask` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 3959 | 11(当前通用存储过程查询/执行) | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 | +| 4054 | 11(当前通用存储过程查询/执行) | `MES_ProductTask_HelpEnd` | 业务存储过程调用 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`班次表`;视图:`View_生产订单_MES` | +| 4088 | 12(当前通用存储过程写入/业务动作) | `MES_ProductTask_MaterialRecieved` | 业务存储过程调用 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划` | +| 4148 | 11(当前通用存储过程查询/执行) | `生产管理_加工中心_设备是否正在加工` | 设备/工位/资源数据处理 | 查询、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 4180 | 11(当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 4205 | 12(当前通用存储过程写入/业务动作) | `MES_ProductTask_WorkingStart` | 业务存储过程调用 | 查询、更新、处理报工/工时、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 4239 | 11(当前通用存储过程查询/执行) | `MES_ProductCenter_GetOrderTasks` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 4258 | 11(当前通用存储过程查询/执行) | `生产管理_加工中心_班次信息` | 业务存储过程调用 | 查询 | 视图:`View_设备工位人员` | +| 4269 | 11(当前通用存储过程查询/执行) | `生产管理_加工中心_开始时间` | 业务存储过程调用 | 查询 | 表:`YL_加工中心_操作记录表` | +| 4460 | 11(当前通用存储过程查询/执行) | `MES_ProductTask_ProdReport` | 报工或工时处理 | 查询、新增、更新、处理报工/工时、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES` | +| 4828 | 11(当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 5058 | 12(当前通用存储过程写入/业务动作) | `MES_QulityInspection_CheckItemData_Save` | 更新/保存业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` | +| 5146 | 11(当前通用存储过程查询/执行) | `MES_QulityInspection_GetItemStandard` | 查询/读取数据 | 查询、处理质检数据 | 表:`YL_质量检验_检测标准` | +| 5198 | 11(当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 5241 | 11(当前通用存储过程查询/执行) | `MES_QulityInspection_GetItemStandard` | 查询/读取数据 | 查询、处理质检数据 | 表:`YL_质量检验_检测标准` | +| 5443 | 12(当前通用存储过程写入/业务动作) | `MES_QulityInspection_CheckItemData_Save` | 更新/保存业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` | +| 5566 | 11(当前通用存储过程查询/执行) | `加工中心_收检_读取收检记录` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 5658 | 12(当前通用存储过程写入/业务动作) | `MES_QulityInspection_ReceiveCheck` | 质量检验处理 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` | +| 5800 | 11(当前通用存储过程查询/执行) | `MES_QualityInspection_CheckRecord_Query` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`基础表_工序` | +| 5835 | 11(当前通用存储过程查询/执行) | `MES_QualityInspection_GetInspectionParts` | 查询/读取数据 | 查询、处理质检数据 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件` | +| 5870 | 11(当前通用存储过程查询/执行) | `MES_QualityInspection_GetInspectionDetails` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测数据` | +| 5906 | 11(当前通用存储过程查询/执行) | `加工中心_异常工时_获取操作记录列表` | 报工或工时处理 | 查询、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` | +| 5957 | 11(当前通用存储过程查询/执行) | `加工中心_修改工时_保存修改记录` | 更新/保存业务数据 | 更新、处理报工/工时 | 表:`YL_加工中心_操作记录表` | +| 6026 | 11(当前通用存储过程查询/执行) | `sp_获取最近处理任务` | 业务存储过程调用 | 查询 | 未在 SQL 中解析到明确依赖 | +| 6034 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` | +| 6050 | 11(当前通用存储过程查询/执行) | `sp_获取我的流程` | 业务存储过程调用 | 查询 | 未在 SQL 中解析到明确依赖 | +| 6065 | 11(当前通用存储过程查询/执行) | `sp_获取待处理任务` | 业务存储过程调用 | 查询、处理计划/派工 | 未在 SQL 中解析到明确依赖 | +| 6091 | 11(当前通用存储过程查询/执行) | `MES_ProductAdmin_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 视图:`View_生产订单_MES` | +| 6216 | 11(当前通用存储过程查询/执行) | `sp_创建流程_简化版` | 业务存储过程调用 | 查询、新增、处理计划/派工 | 未在 SQL 中解析到明确依赖 | +| 6250 | 12(当前通用存储过程写入/业务动作) | `sp_处理审批` | 业务存储过程调用 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 | +| 6291 | 12(当前通用存储过程写入/业务动作) | `sp_转办流程` | 业务存储过程调用 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 | +| 6319 | 11(当前通用存储过程查询/执行) | `sp_完成流程` | 业务存储过程调用 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 | +| 6336 | 11(当前通用存储过程查询/执行) | `sp_获取流程详情` | 业务存储过程调用 | 查询、处理计划/派工 | 未在 SQL 中解析到明确依赖 | +| 6394 | 11(当前通用存储过程查询/执行) | `生产管理_加工中心_生产发料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE` | +| 6443 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 6478 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` | +| 6503 | 12(当前通用存储过程写入/业务动作) | `生产管理_加工中心_退库` | 业务存储过程调用 | 查询、新增、处理质检数据 | 表:`质量检验_质检任务_SAP` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 5751 行:`posttm("/stocktask/task/receiptordertask")` +- 第 6409 行:`getB1("/ProductionOrders")` +- 第 6560 行:`posttm("/stocktask/task/issueordertask")` +存储过程内读取 SAP B1 数据库对象: +- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL +- 生产管理_加工中心_生产发料查询: SAP.SBO_YL.dbo.UBT_OWOR_OIGE + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 5751 | `posttm` | `/stocktask/task/receiptordertask` | 调用外部接口,失败会影响对应外部系统同步。 | `label` | +| 6409 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter`、`数据`、`lines`、`请求失败` | +| 6560 | `posttm` | `/stocktask/task/issueordertask` | 调用外部接口,失败会影响对应外部系统同步。 | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` | + +### 状态流转说明 + +- `生产管理_加工中心_获取设备人员`:`create PROCEDURE [dbo].[生产管理_加工中心_获取设备人员]` +- `生产管理_加工中心_获取班次信息`:`create PROCEDURE [dbo].[生产管理_加工中心_获取班次信息]` +- `加急订单_加急明细查询`:`SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` +- `生产管理_获取人员绑定`:`AND b.绑定状态 = 1;` +- `异常工时_新增操作记录`:`INSERT INTO [dbo].[YL_加工中心_操作记录表] (`;`操作描述, 开始时间, 结束时间, 总时长, 报工日期, 已报工, 不装配, ` +- `MES_操作记录_获取暂停状态`:`CREATE PROCEDURE [dbo].[MES_操作记录_获取暂停状态]`;`FROM [YL_加工中心_操作记录表] p` +- `MES_操作记录_获取任务暂停状态`:`CREATE PROCEDURE [dbo].[MES_操作记录_获取任务暂停状态]`;`FROM [YL_加工中心_操作记录表] p` +- `人员管理_人员信息查询_质检部门_查询`:`create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]` +- `MES_ProductTask_HelpStart`:`declare @任务状态 int = -1`;`select @任务状态 = isnull(任务状态, 0)from View_生产订单_MES where TaskAID = @TaskAID`;`if(@任务状态 = 1)`;`Update MES_接口_生产计划_生产任务 set 可执行 = 1, 加工状态 = @词条ID, 开工时间 = @操作时间, 操作时间 = @操作时间 where AID = @TaskAID`;`if(@任务状态 = 2)` +- `Prog_MES_GetProductOrder_byAID`:`, [加急状态]`;`, [排产状态]`;`, [计划完成时间]`;`, [派工状态]`;`, [派工时间]`;`, [任务状态]`;`, [未完成说明]`;`, [派工特殊说明]` +- `Prog_MES_GetProductOrder_byAID`:`, [加急状态]`;`, [排产状态]`;`, [计划完成时间]`;`, [派工状态]`;`, [派工时间]`;`, [任务状态]`;`, [未完成说明]`;`, [派工特殊说明]` +- `MES_ProductCenter_GetTask`:`@生产状态 int = -1, `;`DECLARE @whereStr nvarchar(max) = ' WHERE 排产状态 = 1 '`;`派工特殊说明, `;`case when isnull([加急状态], 0) = 1 then ''加急'' else ''否'' end as [加急], `;`[二次派工], `;`[计划完成时间] as 计划完成, `;`isnull([完成数量], 0) as 完成数量, `;`when isnull(发料状态, 0) = 1 then ''发料齐套''` +- `MES_ProductTask_WorkTimeSum`:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称` +- `MES_ProductTask_HelpEnd`:`declare @完成数量_New int = -1`;`declare @任务状态 int = -1`;`Select @完成数量_New = isnull(完成数量, 0) + @partCount, `;`select @任务状态 = isnull(任务状态, 0) from View_生产订单_MES where TaskAID = @TaskAID`;`FROM [YL_加工中心_操作记录表]`;`AND ISNULL([已报工], 0) = 0`;`if(@指派数量 > = @完成数量_New)`;`Update MES_接口_生产计划_生产任务` +- `MES_ProductTask_MaterialRecieved`:`declare @任务状态 int`;`select @任务状态 = 任务状态 from MES_接口_生产计划_生产任务 where AID = @TaskAID`;`if(@任务状态 < = 1 )`;`Update MES_接口_生产计划_生产任务`;`set 任务状态 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, `;`if(@任务状态 > 1 )` +- `生产管理_加工中心_设备是否正在加工`:`CREATE PROCEDURE [dbo].[生产管理_加工中心_设备是否正在加工]`;`select * from [dbo].[MES_接口_生产计划_生产任务] where 指派对象 = @指派对象 AND 加工状态 in ( 2, 4 )` +- `Prog_MES_GetProductOrder_byAID`:`, [加急状态]`;`, [排产状态]`;`, [计划完成时间]`;`, [派工状态]`;`, [派工时间]`;`, [任务状态]`;`, [未完成说明]`;`, [派工特殊说明]` +- `MES_ProductTask_WorkingStart`:`declare @任务状态 int = -1`;`declare @词条名称 nvarchar(50) = '开始加工'`;`select @任务状态 = isnull(任务状态, 0), @开工 = isnull(开工, 0) from View_生产订单_MES where TaskAID = @TaskAID`;`if(@任务状态 = 1)`;`Update MES_接口_生产计划_生产任务 set 任务状态 = 2, 可执行 = 1, 开工 = 1, 加工状态 = @词条ID, 开工时间 = @操作时间, 操作时间 = @操作时间 where AID = @TaskAID`;`if(@任务状态 = 2)`;`FROM [dbo].[YL_质量检验_质检记录] qc`;`Update MES_接口_生产计划_生产任务 set 收料 = 1, 收料数量 = @合格数, 操作时间 = @操作时间 where AID = @TaskAID` +- `MES_ProductCenter_GetOrderTasks`:`, [计划完成时间]`;`, isnull([完成数量], 0) as [完成数量]`;`when isnull(任务状态, 0) = 2 then '已开工'`;`else '''' end as [任务状态]`;`FROM [dbo].[YL_质量检验_质检记录] qc` +- `生产管理_加工中心_班次信息`:`create PROCEDURE [dbo].[生产管理_加工中心_班次信息]` +- `生产管理_加工中心_开始时间`:`create PROCEDURE [dbo].[生产管理_加工中心_开始时间]`;`from [YL_加工中心_操作记录表]` +- `MES_ProductTask_ProdReport`:`declare @完成数量_New int = -1`;`@完成数量_New = isnull(完成数量, 0) + @partCount, `;`FROM [YL_加工中心_操作记录表]`;`AND 操作类别 = '开始加工'`;`AND ISNULL([已报工], 0) = 0`;`IF (@完成数量_New + @最新不合格数 < = @指派数量)`;`IF (@完成数量_New + @最新不合格数 < @指派数量)`;`UPDATE MES_接口_生产计划_生产任务` +- `Prog_MES_GetProductOrder_byAID`:`, [加急状态]`;`, [排产状态]`;`, [计划完成时间]`;`, [派工状态]`;`, [派工时间]`;`, [任务状态]`;`, [未完成说明]`;`, [派工特殊说明]` +- `MES_QulityInspection_CheckItemData_Save`:`@质检类型 nvarchar(100) = '', `;`FROM [dbo].[YL_质量检验_质检记录]`;`AND 质检类型 = @质检类型`;`INSERT INTO [dbo].[YL_质量检验_质检记录](`;`TaskAID, 质检类型, 检测类型编号, 零件名称, 内部合同号, `;`@TaskAID, @质检类型, @检测类型编号, @零件名称, @内部合同号, `;`UPDATE [dbo].[YL_质量检验_质检记录]`;`FROM [dbo].[YL_质量检验_质检记录_检测零件]` +- `Prog_MES_GetProductOrder_byAID`:`, [加急状态]`;`, [排产状态]`;`, [计划完成时间]`;`, [派工状态]`;`, [派工时间]`;`, [任务状态]`;`, [未完成说明]`;`, [派工特殊说明]` +- `MES_QulityInspection_CheckItemData_Save`:`@质检类型 nvarchar(100) = '', `;`FROM [dbo].[YL_质量检验_质检记录]`;`AND 质检类型 = @质检类型`;`INSERT INTO [dbo].[YL_质量检验_质检记录](`;`TaskAID, 质检类型, 检测类型编号, 零件名称, 内部合同号, `;`@TaskAID, @质检类型, @检测类型编号, @零件名称, @内部合同号, `;`UPDATE [dbo].[YL_质量检验_质检记录]`;`FROM [dbo].[YL_质量检验_质检记录_检测零件]` +- `加工中心_收检_读取收检记录`:`CREATE PROCEDURE [dbo].[加工中心_收检_读取收检记录]`;`declare @完成数量 int`;`select @已检验数量 = sum(检验数量) OVER() from YL_质量检验_质检记录 where TaskAID = @TaskAID and 质检类型 = '收检'`;`select @完成数量 = 完成数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID`;`FROM [dbo].[YL_质量检验_质检记录] qc`;`select isnull(@已检验数量, 0), isnull(@完成数量, 0), isnull(@上序合格数, 0), @订单行号` +- `MES_QulityInspection_ReceiveCheck`:`@质检类型 NVARCHAR(50), `;`FROM [dbo].[MES_接口_生产计划_生产任务]`;`FROM [YL_MESDB].[dbo].[YL_质量检验_质检记录] qc`;`0 AS 清零任务数`;`INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (`;`[质检类型], `;`@质检类型, `;`INNER JOIN [dbo].[MES_接口_生产计划_生产任务] task ON qc.TaskAID = task.AID` +- `MES_QualityInspection_CheckRecord_Query`:`a.[质检类型], `;`FROM [dbo].[YL_质量检验_质检记录] a`;`WHERE 质检类型 ''来料检验''` +- `MES_QualityInspection_GetInspectionParts`:`FROM [dbo].[YL_质量检验_质检记录_检测零件]` +- `MES_QualityInspection_GetInspectionDetails`:`FROM [dbo].[YL_质量检验_质检记录_检测数据]` +- `加工中心_异常工时_获取操作记录列表`:`CREATE PROCEDURE [dbo].[加工中心_异常工时_获取操作记录列表]`;`o.实际工时 as 加工工时, `;`o.已报工, `;`FROM [dbo].[YL_加工中心_操作记录表] o` +- `加工中心_修改工时_保存修改记录`:`CREATE PROCEDURE [dbo].[加工中心_修改工时_保存修改记录]`;`update [dbo].[YL_加工中心_操作记录表]` +- `sp_获取最近处理任务`:`create PROCEDURE [dbo].[sp_获取最近处理任务]` +- `sp_获取我的流程`:`@状态 NVARCHAR(20) = NULL`;`p.状态, `;`AND (@状态 IS NULL OR p.状态 = @状态)` +- `sp_获取待处理任务`:`create PROCEDURE [dbo].[sp_获取待处理任务]`;`AND pn.状态 = 'processing'`;`AND p.状态 = 'processing'` +- `MES_ProductAdmin_Query`:`@排产状态 nvarchar(50) = '全部', `;`SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`;`, [优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID`;`SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], '''' as 合同交货期, [计划完成] as 预计齐套时间, ''齐'' as 是否齐套, '''' as 齐套检测, ''是'' as 齐套锁料, [计划开始] as 备料日期, 0 as 加急`;`, [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], TaskAID`;`if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''`;`if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''` +- `sp_创建流程_简化版`:`状态, ` +- `sp_处理审批`:`SET 状态 = @处理结果, `;`SET 状态 = 'rejected', `;`SET 状态 = 'processing', `;`SET 状态 = 'completed', `;`当前节点 = '已完成', ` +- `sp_转办流程`:`AND pn.状态 = 'processing'`;`AND p.状态 = 'processing'` +- `sp_完成流程`:`create PROCEDURE [dbo].[sp_完成流程]`;`@完成类型 NVARCHAR(20), `;`@完成原因 NVARCHAR(500), `;`AND 状态 IN ('draft', 'processing')`;`INSERT INTO 流程完成记录表 (`;`流程ID, 发起人ID, 发起人姓名, 完成类型, 完成原因`;`VALUES (@流程ID, @发起人ID, @发起人姓名, @完成类型, @完成原因);`;`SET 状态 = @完成类型, ` +- `sp_获取流程详情`:`p.状态, `;`状态, `;`WHEN 步骤序号 < (SELECT 当前步骤 FROM 流程表 WHERE 流程ID = @流程ID) THEN '已完成'`;`END as 状态描述, ` +- `生产管理_加工中心_生产发料查询`:`CREATE PROCEDURE [dbo].[生产管理_加工中心_生产发料查询]`;`select * from SAP.SBO_YL.dbo.UBT_OWOR_OIGE where 生产订单号 = @生产订单号` +- `生产管理_加工中心_退库`:`CREATE PROCEDURE [dbo].[生产管理_加工中心_退库]`;`select @行号 = max(isnull(行号, 0)) from [dbo].[质量检验_质检任务_SAP] where [订单编号] = @生产订单号 and [订单类型] = '202-60'`;`insert into [dbo].[质量检验_质检任务_SAP] ( [订单编号]` + +### 数据库调用链 + +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_加工中心_获取设备人员` -> 视图:`View_设备工位人员` -> 基础权限/人员数据处理 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_加工中心_获取班次信息` -> 表:`班次表` -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_获取人员绑定` -> 表:`MES_资源主数据`、`工位人员绑定表` -> 基础权限/人员数据处理 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `工时校验_获取订单列表` -> 表:`MES_接口_生产计划` -> 报工或工时处理 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `异常工时_新增操作记录` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` -> 新增业务数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_操作记录_获取暂停状态` -> 表:`YL_加工中心_操作记录表` -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_操作记录_获取任务暂停状态` -> 表:`YL_加工中心_操作记录表` -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `Prog_MES_LoadProcess` -> 表:`基础表_工序` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductTask_HelpStart` -> 表:`MES_接口_生产计划`;视图:`View_生产订单_MES` -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductCenter_GetTask` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductTask_WorkTimeSum` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductTask_HelpEnd` -> 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`班次表`;视图:`View_生产订单_MES` -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductTask_MaterialRecieved` -> 表:`MES_接口_生产计划` -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_加工中心_设备是否正在加工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 设备/工位/资源数据处理 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductTask_WorkingStart` -> 表:`MES_接口_生产计划`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductCenter_GetOrderTasks` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_加工中心_班次信息` -> 视图:`View_设备工位人员` -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_加工中心_开始时间` -> 表:`YL_加工中心_操作记录表` -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductTask_ProdReport` -> 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES` -> 报工或工时处理 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QulityInspection_CheckItemData_Save` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` -> 更新/保存业务数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QulityInspection_GetItemStandard` -> 表:`YL_质量检验_检测标准` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QulityInspection_GetItemStandard` -> 表:`YL_质量检验_检测标准` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QulityInspection_CheckItemData_Save` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` -> 更新/保存业务数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `加工中心_收检_读取收检记录` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QulityInspection_ReceiveCheck` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` -> 质量检验处理 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QualityInspection_CheckRecord_Query` -> 表:`YL_质量检验_质检记录`、`基础表_工序` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QualityInspection_GetInspectionParts` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QualityInspection_GetInspectionDetails` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测数据` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `加工中心_异常工时_获取操作记录列表` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 报工或工时处理 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `加工中心_修改工时_保存修改记录` -> 表:`YL_加工中心_操作记录表` -> 更新/保存业务数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_获取最近处理任务` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `人员管理_人员信息查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_获取我的流程` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_获取待处理任务` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductAdmin_Query` -> 视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_创建流程_简化版` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_处理审批` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_转办流程` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_完成流程` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_获取流程详情` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_加工中心_生产发料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据 +- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_加工中心_退库` -> 表:`质量检验_质检任务_SAP` -> 业务存储过程调用 + +### 存储过程处理逻辑明细 + +- `生产管理_加工中心_获取设备人员` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 基础权限/人员数据处理。 数据库处理摘要:查询。 读取/关联对象:视图:`View_设备工位人员`。 入参/分页参数:`@指派对象 nvarchar(50),`、`@班次 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM [YL_MESDB].[dbo].[View_设备工位人员] where 工位名称 = @指派对象 and 班次名称 = @班次`。 +- `生产管理_加工中心_获取班次信息` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`班次表`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。 +- `生产管理_获取人员绑定` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 基础权限/人员数据处理。 数据库处理摘要:查询。 读取/关联对象:表:`MES_资源主数据`、`工位人员绑定表`。 入参/分页参数:`@操作人ID NVARCHAR(50)`。 主要返回字段线索:`m.[name] AS 工位名称`。 关键过滤/匹配条件:`WHERE`;`AND b.绑定状态 = 1;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。 +- `工时校验_获取订单列表` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`DISTINCT top 20`、`订单编号, `、`物料编号 as 零件编码, `、`物料描述 as 零件名称`。 关键过滤/匹配条件:`FROM [dbo].[MES_接口_生产计划] WHERE 订单编号 LIKE '%' + @订单编号 + '%' OR @订单编号 = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单编号 ;`。 +- `异常工时_新增操作记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@操作类别 nvarchar(50),`、`@订单编号 nvarchar(50),`、`@物料编号 nvarchar(50),`、`@物料描述 nvarchar(50),`、`@工序名称 nvarchar(50),`、`@操作人 nvarchar(50),`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@操作内容 nvarchar(500)`、`@操作描述 nvarchar(2000)`、`@TaskAID nvarchar(2000)`。 主要返回字段线索:`@工位名称 = 指派对象`。 关键过滤/匹配条件:`select @工位名称 = 指派对象 from [dbo].[View_生产订单_MES] where TaskAID = @TaskAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @工时 = DATEDIFF(SECOND, @开始时间, @结束时间);`;`INSERT INTO [dbo].[YL_加工中心_操作记录表] (`。 实现特征:异常捕获。 +- `MES_操作记录_获取暂停状态` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`YL_加工中心_操作记录表`。 入参/分页参数:`@操作人 NVARCHAR(50)`。 主要返回字段线索:`p.TaskAID, `、`p.关联操作类型 AS PreviousState, `、`p.操作人 AS Operator, `、`p.开始时间 AS PauseTime`。 关键过滤/匹配条件:`WHERE p.操作类别 = '暂停'`;`AND (p.结束时间 IS NULL OR p.结束时间 = '')`;`AND p.关联操作类型 IS NOT NULL`;`WHERE 1 = 0;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.开始时间 DESC`。 实现特征:异常捕获。 +- `MES_操作记录_获取任务暂停状态` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID INT`。 主要返回字段线索:`TOP 1`、`p.TaskAID, `、`p.关联操作类型 AS PreviousState, `、`p.操作人 AS Operator, `、`p.开始时间 AS PauseTime`。 关键过滤/匹配条件:`WHERE p.操作类别 = '暂停'`;`AND p.TaskAID = @TaskAID`;`AND (p.结束时间 IS NULL OR p.结束时间 = '')`;`AND p.关联操作类型 IS NOT NULL`;`WHERE 1 = 0;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.开始时间 DESC`。 实现特征:异常捕获。 +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `Prog_MES_LoadProcess` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 主要返回字段线索:`[工艺编号], [工序名称]`。 排序/分组/分页线索:`SELECT [工艺编号], [工序名称] FROM [基础表_工序] ORDER BY [工艺编号]`。 +- `查询字典` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。 +- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `MES_ProductTask_HelpStart` 属于 生产执行/工时,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@optor nvarchar(50)`。 主要返回字段线索:`@词条ID = 词条编号`。 关键过滤/匹配条件:`select @词条ID = 词条编号 from YL_基础表_数据字典 where 词条名称 = @词条名称 and 数据类别 = @数据类别`;`select @任务状态 = isnull(任务状态, 0)from View_生产订单_MES where TaskAID = @TaskAID`;`Update MES_接口_生产计划_生产任务 set 可执行 = 1, 加工状态 = @词条ID, 开工时间 = @操作时间, 操作时间 = @操作时间 where AID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务 set 可执行 = 1, 加工状态 = @词条ID, 开工时间 = @操作时间, 操作时间 = @操作时间 where AID = @TaskAID`。 +- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID`;`WHERE vt.[订单编号] = vo.[订单编号]`;`AND vt.[订单行号] = vo.[订单行号]-1`;`AND qc.检测类型编号 = '6'`;`WHERE [TaskAID] = @TaskAID`。 +- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID`;`WHERE vt.[订单编号] = vo.[订单编号]`;`AND vt.[订单行号] = vo.[订单行号]-1`;`AND qc.检测类型编号 = '6'`;`WHERE [TaskAID] = @TaskAID`。 +- `MES_ProductCenter_GetTask` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID int`、`@订单号 int`、`@零件编号 nvarchar(50)`、`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`、`@生产状态 int`、`@工位名称 nvarchar(50)`、`@用户ID nvarchar(50)`、`@计划号 nvarchar(50)`、`@销售订单 nvarchar(50)`。 主要返回字段线索:`TaskAID, `、`[订单编号] as 订单号, `、`合同号, `、`加急总数, `、`派工特殊说明, `、`[订单拆分内码], `、`[订单行号], `、`[开工时间], `、`[物料编号] as 零件编码, `、`[物料描述] as 零件名称, `。 关键过滤/匹配条件:`DECLARE @whereStr nvarchar(max) = ' WHERE 排产状态 = 1 '`;`WHERE next_task.[订单编号] = main.[订单编号]`;`AND next_task.[订单行号] = main.[订单行号] + 1`;`AND next_task.[排产状态] = 1`;`WHERE b.订单编号 = main.[订单编号]`;`AND b.订单行号 = main.[订单行号] - 1`;`AND a.检测类型编号 = 6`;`WHERE EXISTS (`;`WHERE b.订单编号 = main.订单编号`;`AND b.订单行号 = main.订单行号`。 关键写入/状态处理语句线索:`SET @whereStr = @whereStr + ' AND [指派对象] ''外协'' AND [指派对象] NOT LIKE ''%装配%'''`;`SET @whereStr = @whereStr + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)`;`SET @whereStr = @whereStr + ' AND [计划号] = '''+@计划号+''''`;`SET @whereStr = @whereStr + ' AND [合同号] LIKE ''%' + @销售订单 + '%'''`;`SET @whereStr = @whereStr + ' AND [TaskAID] = ' + CONVERT(VARCHAR(10), @TaskAID)`;`SET @whereStr = @whereStr + ' AND [物料编号] LIKE ''%' + @零件编号 + '%'''`;`SET @whereStr = @whereStr + ' AND [计划开始时间] > = ''' + @计划开工_Start + ''''`;`SET @whereStr = @whereStr + ' AND [计划开始时间] < = ''' + @计划开工_End + ''''`;`SET @whereStr = @whereStr +`;`SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) IN (0, 1, 2) '`;`SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) = 0 '`;`SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) = 1 '`。 排序/分组/分页线索:`ORDER BY next_task.[订单行号]) AS 下序名称, `;`SET @selStr = @selStr + @whereStr + ' ORDER BY [计划开始时间], [订单编号], [阶段标识]'`。 +- `MES_ProductTask_WorkTimeSum` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`。 主要返回字段线索:`TaskAID, 工序名称, sum(工时) as 总工时`。 关键过滤/匹配条件:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 排序/分组/分页线索:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 +- `MES_ProductTask_HelpEnd` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`班次表`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID bigint,`、`@partCount int,`、`@optor nvarchar(50),`、`@指派数量 decimal(16,2)`、`@selectedOperators NVARCHAR(50)`、`@加班人员 nvarchar(500)`、`@特殊加班人员 nvarchar(500)`、`@是否加班 bit`、`@是否休息日 bit`、`@是否法定休息日 bit`、`@用户选择班次 nvarchar(50)`、`@班次标准工时 int`。 主要返回字段线索:`@词条ID = 词条编号`。 关键过滤/匹配条件:`select @词条ID = 词条编号 from YL_基础表_数据字典 where 词条名称 = @词条名称 and 数据类别 = @数据类别`;`FROM View_生产订单_MES where TaskAID = @TaskAID`;`select @任务状态 = isnull(任务状态, 0) from View_生产订单_MES where TaskAID = @TaskAID`;`WHERE TaskAID = @TaskAID`;`AND 操作类别 = '辅助开始'`;`AND 开始时间 IS NOT NULL`;`AND ISNULL([已报工], 0) = 0`;`IF @开始总分钟 > = 465 AND @开始总分钟 < 990`;`WHERE 班次名称 = @当前班次`;`IF (@是否休息日 = 1 OR @是否法定休息日 = 1)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @报工开始时间 = DATEADD(HOUR, -1, @操作时间)`;`SET @打卡开始秒 = DATEDIFF(SECOND, '00:00:00', CAST(@报工开始时间 AS time))`;`SET @打卡结束秒 = DATEDIFF(SECOND, '00:00:00', CAST(@操作时间 AS time))`;`SET @总时长秒 = @打卡结束秒 - @打卡开始秒`;`SET @当前班次 = ISNULL(@用户选择班次, '')`;`SET @当前班次 = '白班'`;`SET @当前班次 = '夜班'`;`SET @加班时长秒 = @总时长秒`;`SET @加班开始时间 = @报工开始时间`;`SET @班次结束时间_完整 = CAST(@基准日期 AS DATETIME) + CAST(@班次结束时间 AS datetime)`;`SET @加班时长秒 = DATEDIFF(SECOND, @班次结束时间_完整, @操作时间)`。 排序/分组/分页线索:`ORDER BY 开始时间 DESC`。 实现特征:临时表 `#TempPersons`。 +- `MES_ProductTask_MaterialRecieved` 属于 生产执行/工时,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@recievCount int,`、`@optor nvarchar(50)`。 主要返回字段线索:`@任务状态 = 任务状态`。 关键过滤/匹配条件:`select @任务状态 = 任务状态 from MES_接口_生产计划_生产任务 where AID = @TaskAID`;`where AID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务`;`set 任务状态 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, `;`set 收料 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, `。 +- `生产管理_加工中心_设备是否正在加工` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 设备/工位/资源数据处理。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@指派对象 NVARCHAR(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[MES_接口_生产计划_生产任务] where 指派对象 = @指派对象 AND 加工状态 in ( 2, 4 )`。 +- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID`;`WHERE vt.[订单编号] = vo.[订单编号]`;`AND vt.[订单行号] = vo.[订单行号]-1`;`AND qc.检测类型编号 = '6'`;`WHERE [TaskAID] = @TaskAID`。 +- `MES_ProductTask_WorkingStart` 属于 生产执行/工时,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@optor nvarchar(50),`、`@收料 int,`、`@分配数 int`。 主要返回字段线索:`@任务状态 = isnull(任务状态, 0), @开工 = isnull(开工, 0)`。 关键过滤/匹配条件:`select @任务状态 = isnull(任务状态, 0), @开工 = isnull(开工, 0) from View_生产订单_MES where TaskAID = @TaskAID`;`select @词条ID = 词条编号 from YL_基础表_数据字典 where 词条名称 = @词条名称 and 数据类别 = @数据类别`;`Update MES_接口_生产计划_生产任务 set 任务状态 = 2, 可执行 = 1, 开工 = 1, 加工状态 = @词条ID, 开工时间 = @操作时间, 操作时间 = @操作时间 where AID = @TaskAID`;`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID`;`WHERE vt.[订单行号] = @订单行号-1`;`and vt.订单编号 = @订单编号`;`AND qc.检测类型编号 = '6'`;`if(@收料@合格数 and @订单行号>1)`;`Update MES_接口_生产计划_生产任务 set 收料 = 1, 收料数量 = @合格数, 操作时间 = @操作时间 where AID = @TaskAID`;`if(@收料@合格数 and @订单行号 = 1)`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务 set 任务状态 = 2, 可执行 = 1, 开工 = 1, 加工状态 = @词条ID, 开工时间 = @操作时间, 操作时间 = @操作时间 where AID = @TaskAID`;`Update MES_接口_生产计划_生产任务 set 收料 = 1, 收料数量 = @合格数, 操作时间 = @操作时间 where AID = @TaskAID`;`Update MES_接口_生产计划_生产任务 set 收料 = 1, 收料数量 = @分配数, 操作时间 = @操作时间 where AID = @TaskAID`。 +- `MES_ProductCenter_GetOrderTasks` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID`;`WHERE vt.[订单编号] = vo.[订单编号]`;`AND vt.[订单行号] < vo.[订单行号]`;`AND qc.检测类型编号 = '6'`;`AND vt.[订单行号] = vo.[订单行号]-1`;`where [订单编号] = @订单编号`。 排序/分组/分页线索:`order by [订单行号]`。 +- `生产管理_加工中心_班次信息` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:视图:`View_设备工位人员`。 主要返回字段线索:`*`。 +- `生产管理_加工中心_开始时间` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID nvarchar(50)`。 主要返回字段线索:`top(1)`、`开始时间`。 关键过滤/匹配条件:`where TaskAID = @TaskAID`。 排序/分组/分页线索:`order by 结束时间 desc`。 +- `MES_ProductTask_ProdReport` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`。 入参/分页参数:`@TaskAID bigint,`、`@BindRpt_ALLtaskids nvarchar(500),`、`@rptDate nvarchar(50),`、`@rptShift nvarchar(50),`、`@partCount int,`、`@rptDesc nvarchar(50),`、`@optor nvarchar(50),`、`@前序不合格总数 nvarchar(500),`、`@加班人员 nvarchar(500)`、`@特殊加班人员 nvarchar(500)`、`@是否加班 nvarchar(10)`、`@是否休息日 nvarchar(10)`、`@是否法定休息日 nvarchar(10)`、`@用户选择班次 nvarchar(50)`、`@班次标准工时 int`。 主要返回字段线索:`@词条ID = 词条编号`。 关键过滤/匹配条件:`WHEN @是否加班 = '1' OR @是否加班 = 'true' OR @是否加班 = 'True' OR @是否加班 = 'TRUE' THEN 1`;`WHEN @是否休息日 = '1' OR @是否休息日 = 'true' OR @是否休息日 = 'True' OR @是否休息日 = 'TRUE' THEN 1`;`WHEN @是否法定休息日 = '1' OR @是否法定休息日 = 'true' OR @是否法定休息日 = 'True' OR @是否法定休息日 = 'TRUE' THEN 1`;`where 词条名称 = @词条名称 and 数据类别 = @数据类别`;`where TaskAID = @TaskAID`;`WHERE TaskAID = @TaskAID`;`AND 操作类别 = '开始加工'`;`AND 开始时间 IS NOT NULL`;`AND ISNULL([已报工], 0) = 0`;`AND 操作类别 IN ('加班', '休息日加班', '法定休息日加班', '休息日工作', '法定休息日工作')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @打卡开始秒 = DATEDIFF(SECOND, '00:00:00', CAST(@报工开始时间 AS time))`;`SET @打卡结束秒 = DATEDIFF(SECOND, '00:00:00', CAST(@rptDate AS time))`;`SET @打卡结束秒 = @打卡结束秒 + 24 * 3600`;`SET @总时长秒 = @打卡结束秒 - @打卡开始秒`;`SET @中点秒 = @打卡开始秒 + (@总时长秒 / 2)`;`SET @最小班次标准工时 = @班次标准工时`;`SET @位置 = CHARINDEX(', ', @人员列表)`;`SET @当前人员 = LTRIM(RTRIM(SUBSTRING(@人员列表, 1, @位置 - 1)))`;`SET @人员列表 = SUBSTRING(@人员列表, @位置 + 1, LEN(@人员列表))`;`SET @当前人员 = LTRIM(RTRIM(@人员列表))`;`SET @人员列表 = ''`。 排序/分组/分页线索:`ORDER BY 开始时间 DESC`;`FETCH NEXT FROM 班次游标 INTO @当前处理班次, @是否操作人班次`;`FETCH NEXT FROM task_cursor INTO @CurrentTaskAID, @CurrentDefectCount`;`FETCH NEXT FROM task_cursor2 INTO @CurrentTaskAID`。 实现特征:临时表 `#TempPersons`、`#班次处理`、`#TaskData`、`#TaskIDs`、`#DefectCounts`。 +- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID`;`WHERE vt.[订单编号] = vo.[订单编号]`;`AND vt.[订单行号] = vo.[订单行号]-1`;`AND qc.检测类型编号 = '6'`;`WHERE [TaskAID] = @TaskAID`。 +- `MES_QulityInspection_CheckItemData_Save` 属于 质量检验,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 写入或更新对象:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 入参/分页参数:`@TaskAID bigint`、`@物料编号 nvarchar(100)`、`@阶段标识 int`、`@工序名称 nvarchar(100)`、`@计划号 int`、`@检测项目 nvarchar(500)`、`@理论值 nvarchar(50)`、`@上限值 nvarchar(50)`、`@下限值 nvarchar(50)`、`@实测值 nvarchar(50)`、`@测量单位 nvarchar(50)`、`@检验比例 nvarchar(50)`、`@检具 nvarchar(50)`、`@检测结果 int`、`@合格数 int`、`@不合格数 int`、`@备注 nvarchar(200)`、`@检测人 nvarchar(50)`、`@检测时间 datetime`、`@当前检测零件编号 int`、`@质检类型 nvarchar(100)`、`@检测类型编号 nvarchar(100)`、`@零件名称 nvarchar(100)`、`@内部合同号 nvarchar(100)`。 主要返回字段线索:`@ExistingQT_AID = QT_AID`。 关键过滤/匹配条件:`WHERE TaskAID = @TaskAID`;`AND 零件编码 = @零件编码`;`AND 工序名称 = @工序名称`;`AND 质检类型 = @质检类型`;`AND 检测人 = @检测人`;`AND CONVERT(DATE, 检测时间) = CONVERT(DATE, @检测时间);`;`WHERE QT_AID = @ExistingQT_AID;`;`WHERE QT_AID = @ExistingQT_AID`;`AND 零件编号 = @零件编码`;`AND 当前检测零件编号 = @当前检测零件编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO [dbo].[YL_质量检验_质检记录](`;`SET @QT_AID = SCOPE_IDENTITY();`;`SET @ExistingQT_AID = @QT_AID;`;`SET @CurrentQualifiedCount = @CurrentQualifiedCount + @合格数;`;`SET @CurrentUnqualifiedCount = @CurrentUnqualifiedCount + @不合格数;`;`SET @CurrentInspectionCount = @CurrentInspectionCount + @检验数量;`;`UPDATE [dbo].[YL_质量检验_质检记录]`;`SET`;`SET @QT_AID = @ExistingQT_AID;`;`SET @PartResult = 0;`;`INSERT INTO [dbo].[YL_质量检验_质检记录_检测零件](`。 实现特征:事务控制、异常捕获。 +- `MES_QulityInspection_GetItemStandard` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工序名称编号 int`、`@检测类别编号 int`。 主要返回字段线索:`[物料编号]`、`[工序名称编号]`、`[检测项目]`、`[理论值]`、`[上限值]`、`[下限值]`、`[测量单位]`、`[检验比例]`、`[检具]`、`[备注]`。 关键过滤/匹配条件:`where [物料编号] = @物料编号 and [工序名称编号] = @工序名称编号 and [检测类别编号] = @检测类别编号`。 +- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID`;`WHERE vt.[订单编号] = vo.[订单编号]`;`AND vt.[订单行号] = vo.[订单行号]-1`;`AND qc.检测类型编号 = '6'`;`WHERE [TaskAID] = @TaskAID`。 +- `MES_QulityInspection_GetItemStandard` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工序名称编号 int`、`@检测类别编号 int`。 主要返回字段线索:`[物料编号]`、`[工序名称编号]`、`[检测项目]`、`[理论值]`、`[上限值]`、`[下限值]`、`[测量单位]`、`[检验比例]`、`[检具]`、`[备注]`。 关键过滤/匹配条件:`where [物料编号] = @物料编号 and [工序名称编号] = @工序名称编号 and [检测类别编号] = @检测类别编号`。 +- `MES_QulityInspection_CheckItemData_Save` 属于 质量检验,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 写入或更新对象:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 入参/分页参数:`@TaskAID bigint`、`@物料编号 nvarchar(100)`、`@阶段标识 int`、`@工序名称 nvarchar(100)`、`@计划号 int`、`@检测项目 nvarchar(500)`、`@理论值 nvarchar(50)`、`@上限值 nvarchar(50)`、`@下限值 nvarchar(50)`、`@实测值 nvarchar(50)`、`@测量单位 nvarchar(50)`、`@检验比例 nvarchar(50)`、`@检具 nvarchar(50)`、`@检测结果 int`、`@合格数 int`、`@不合格数 int`、`@备注 nvarchar(200)`、`@检测人 nvarchar(50)`、`@检测时间 datetime`、`@当前检测零件编号 int`、`@质检类型 nvarchar(100)`、`@检测类型编号 nvarchar(100)`、`@零件名称 nvarchar(100)`、`@内部合同号 nvarchar(100)`。 主要返回字段线索:`@ExistingQT_AID = QT_AID`。 关键过滤/匹配条件:`WHERE TaskAID = @TaskAID`;`AND 零件编码 = @零件编码`;`AND 工序名称 = @工序名称`;`AND 质检类型 = @质检类型`;`AND 检测人 = @检测人`;`AND CONVERT(DATE, 检测时间) = CONVERT(DATE, @检测时间);`;`WHERE QT_AID = @ExistingQT_AID;`;`WHERE QT_AID = @ExistingQT_AID`;`AND 零件编号 = @零件编码`;`AND 当前检测零件编号 = @当前检测零件编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO [dbo].[YL_质量检验_质检记录](`;`SET @QT_AID = SCOPE_IDENTITY();`;`SET @ExistingQT_AID = @QT_AID;`;`SET @CurrentQualifiedCount = @CurrentQualifiedCount + @合格数;`;`SET @CurrentUnqualifiedCount = @CurrentUnqualifiedCount + @不合格数;`;`SET @CurrentInspectionCount = @CurrentInspectionCount + @检验数量;`;`UPDATE [dbo].[YL_质量检验_质检记录]`;`SET`;`SET @QT_AID = @ExistingQT_AID;`;`SET @PartResult = 0;`;`INSERT INTO [dbo].[YL_质量检验_质检记录_检测零件](`。 实现特征:事务控制、异常捕获。 +- `加工中心_收检_读取收检记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID int`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID`;`select @已检验数量 = sum(检验数量) OVER() from YL_质量检验_质检记录 where TaskAID = @TaskAID and 质检类型 = '收检'`;`select @完成数量 = 完成数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID`;`WHERE vt.[订单编号] = @订单编号`;`AND vt.[订单行号] = @订单行号-1`;`AND qc.检测类型编号 = '6'`。 +- `MES_QulityInspection_ReceiveCheck` 属于 质量检验,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 质量检验处理。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@内部合同号 int,`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@工序名称 NVARCHAR(100),`、`@检测数量 INT,`、`@合格数 INT,`、`@不合格数 INT,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@计划生产数 INT,`、`@检测说明 NVARCHAR(MAX)`。 主要返回字段线索:`@分配数量 = ISNULL(指派数量, 0)`。 关键过滤/匹配条件:`WHERE AID = @TaskAID`;`WHERE qc.TaskAID = @TaskAID`;`WHERE task.订单编号 = @计划号`;`AND task.订单行号 = @当前订单行号`;`AND qc.质检类型 = '收检'`;`WHERE 订单编号 = @计划号`;`AND 订单行号 = @当前订单行号 + 1`;`AND ISNULL(订单拆分内码, 1) = 1`;`IF @下一道工序AID IS NOT NULL and @合格数 > 0`;`WHERE AID = @下一道工序AID and isnull(任务状态, 0) < 1`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET 任务状态 = 4`;`SET 任务状态 = 1`。 实现特征:事务控制、异常捕获。 +- `MES_QualityInspection_CheckRecord_Query` 属于 质量检验,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`基础表_工序`。 入参/分页参数:`@计划号 NVARCHAR(100)`、`@零件编码 NVARCHAR(200)`、`@工艺编号 NVARCHAR(50)`、`@检测类型编号 INT`、`@检验结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`、`@检测时间开始 DATETIME`、`@检测时间结束 DATETIME`。 主要返回字段线索:`top 100`、`a.[QT_AID], `、`a.[TaskAID], `、`a.[检测类型编号], `、`a.[质检类型], `、`a.[零件名称], `、`a.[内部合同号], `、`a.[零件编码], `、`a.[计划号], `、`a.[工序名称], `。 关键过滤/匹配条件:`WHEN a.[不合格数] = 0 AND a.[合格数] > 0 THEN ''合格''`;`WHERE 质检类型 ''来料检验''`;`SET @SQL = @SQL + ' AND a.[计划号] = ''' + @计划号 + ''''`;`SET @SQL = @SQL + ' AND a.[零件编码] LIKE ''%' + @零件编码 + '%'''`;`IF @检测类型编号 IS NOT NULL AND @检测类型编号 > 0`;`SET @SQL = @SQL + ' AND a.[检测类型编号] = ' + CAST(@检测类型编号 AS NVARCHAR(10))`;`SET @SQL = @SQL + ' AND EXISTS (`;`WHERE b2.[工艺编号] = ''' + @工艺编号 + '''`;`AND b2.[工序名称] = a.[工序名称]`;`SET @SQL = @SQL + ' AND a.[不合格数] = 0 AND a.[合格数] > 0'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @SQL = @SQL + ' AND a.[计划号] = ''' + @计划号 + ''''`;`SET @SQL = @SQL + ' AND a.[零件编码] LIKE ''%' + @零件编码 + '%'''`;`SET @SQL = @SQL + ' AND a.[检测类型编号] = ' + CAST(@检测类型编号 AS NVARCHAR(10))`;`SET @SQL = @SQL + ' AND EXISTS (`;`SET @SQL = @SQL + ' AND a.[不合格数] = 0 AND a.[合格数] > 0'`;`SET @SQL = @SQL + ' AND a.[不合格数] > 0'`;`SET @SQL = @SQL + ' AND a.[检测人] LIKE ''%' + @检测人 + '%'''`;`SET @SQL = @SQL + ' ORDER BY a.[检测时间] DESC'`;`SET @检测时间开始 = DATEADD(YEAR, -1, GETDATE())`;`SET @检测时间结束 = GETDATE()`。 排序/分组/分页线索:`SET @SQL = @SQL + ' ORDER BY a.[检测时间] DESC'`。 +- `MES_QualityInspection_GetInspectionParts` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`。 入参/分页参数:`@QT_AID BIGINT`。 主要返回字段线索:`LJ_AID, `、`QT_AID, `、`当前检测零件编号, `、`检测结果, `、`检测时间, `、`检测人, `、`零件编号, `、`CASE`、`WHEN 检测结果 = 1 THEN '合格'`、`WHEN 检测结果 = 0 THEN '不合格'`。 关键过滤/匹配条件:`WHERE QT_AID = @QT_AID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 当前检测零件编号;`。 +- `MES_QualityInspection_GetInspectionDetails` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测数据`。 入参/分页参数:`@LJ_AID BIGINT`。 主要返回字段线索:`AID, `、`LJ_AID, `、`物料编号, `、`当前检测零件编号, `、`阶段标识, `、`工序名称, `、`计划号, `、`检测项目, `、`理论值, `、`上限值, `。 关键过滤/匹配条件:`WHERE LJ_AID = @LJ_AID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY AID;`。 +- `加工中心_异常工时_获取操作记录列表` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@操作人 nvarchar(50)`。 主要返回字段线索:`o.AID, `、`o.操作类别编号, `、`o.操作类别, `、`o.阶段标识, `、`o.工序名称, `、`o.工位编号, `、`o.工位名称, `、`o.操作人 as 指派对象, `、`o.合同号, `、`o.订单编号 as 订单号, `。 关键过滤/匹配条件:`WHERE c.AID IS NULL and o.操作人 = @操作人 and o.操作类别编号 in ('8', '9')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `加工中心_修改工时_保存修改记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID bigint,`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@工时 int,`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 关键过滤/匹配条件:`where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[YL_加工中心_操作记录表]`;`set 最后编辑时间 = GETDATE(), 最后编辑人 = @最后编辑人, 实际工时 = @工时, 开始时间 = @开始时间, 结束时间 = @结束时间`。 +- `sp_获取最近处理任务` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@审批人ID NVARCHAR(100)`。 主要返回字段线索:`ar.记录ID, `、`p.流程ID, `、`p.流程标题 as 流程名称, `、`p.发起人姓名 as 申请人, `、`ar.审批人姓名 as 处理人, `、`ar.处理结果, `、`CASE ar.处理结果`、`WHEN 'approved' THEN '同意'`、`WHEN 'rejected' THEN '拒绝'`、`ELSE ar.处理结果`。 关键过滤/匹配条件:`WHERE ar.审批人ID = @审批人ID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY ar.处理时间 DESC;`。 +- `人员管理_人员信息查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `sp_获取我的流程` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@发起人ID NVARCHAR(100),`、`@状态 NVARCHAR(20)`。 主要返回字段线索:`p.流程ID, `、`p.流程标题, `、`p.流程描述, `、`p.优先级, `、`p.状态, `、`p.当前节点, `、`p.当前步骤, `、`p.总步骤数, `、`p.创建时间 as 发起时间, `、`p.更新时间`。 关键过滤/匹配条件:`WHERE p.发起人ID = @发起人ID`;`AND (@状态 IS NULL OR p.状态 = @状态)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.更新时间 DESC;`。 +- `sp_获取待处理任务` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@审批人ID NVARCHAR(100)`。 主要返回字段线索:`p.流程ID, `、`p.流程标题, `、`p.流程描述, `、`p.优先级, `、`p.发起人姓名 as 申请人, `、`p.创建时间 as 申请时间, `、`p.已关联计划号, `、`p.零件名称, `、`p.零件编号, `、`p.工序名称, `。 关键过滤/匹配条件:`WHERE pn.审批人ID = @审批人ID`;`AND pn.状态 = 'processing'`;`AND p.状态 = 'processing'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY`。 +- `MES_ProductAdmin_Query` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@性质 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@工位 nvarchar(500)`。 主要返回字段线索:`top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`、`[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`、`[优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'''`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''`;`if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''`;`if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''`;`if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''`;`if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''`;`if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''`;`if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`;`if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''`;`if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''`;`if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''`;`if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''`;`if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''`;`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 [不装配] ''否'''`。 +- `sp_创建流程_简化版` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程表`、`流程节点表`。 入参/分页参数:`@流程标题 NVARCHAR(200),`、`@流程描述 NVARCHAR(MAX)`、`@优先级 NVARCHAR(20)`、`@发起人ID NVARCHAR(100),`、`@发起人姓名 NVARCHAR(100),`、`@审批人ID NVARCHAR(100),`、`@审批人姓名 NVARCHAR(100),`、`@新流程ID INT`、`@已关联计划号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@工序名称 NVARCHAR(100)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO 流程表 (`;`SET @新流程ID = SCOPE_IDENTITY();`;`INSERT INTO 流程节点表 (`;`SET @结果 = 1;`;`SET @消息 = '流程创建成功,流程ID: ' + CAST(@新流程ID AS NVARCHAR(10));`;`SET @结果 = 0;`;`SET @消息 = '错误: ' + ERROR_MESSAGE();`。 实现特征:事务控制、异常捕获。 +- `sp_处理审批` 属于 通用业务,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程表`、`流程节点表`、`审批记录表`。 入参/分页参数:`@流程ID INT,`、`@节点ID INT,`、`@审批人ID NVARCHAR(100),`、`@审批人姓名 NVARCHAR(100),`、`@处理结果 NVARCHAR(20),`、`@审批意见 NVARCHAR(MAX)`、`@成功 BIT`。 主要返回字段线索:`@当前步骤 = 步骤序号`。 关键过滤/匹配条件:`WHERE 节点ID = @节点ID;`;`WHERE 流程ID = @流程ID;`;`SELECT @当前步骤 = 步骤序号 FROM 流程节点表 WHERE 节点ID = @节点ID;`;`WHERE 流程ID = @流程ID AND 步骤序号 = @当前步骤 + 1;`;`WHERE 节点ID = @下一节点ID;`;`当前节点 = (SELECT 节点名称 FROM 流程节点表 WHERE 节点ID = @下一节点ID), `。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO 审批记录表 (流程ID, 节点ID, 审批人ID, 审批人姓名, 处理结果, 审批意见)`;`UPDATE 流程节点表`;`SET 状态 = @处理结果, `;`UPDATE 流程表`;`SET 状态 = 'rejected', `;`SET 状态 = 'processing', `;`SET 当前步骤 = @当前步骤 + 1, `;`SET 状态 = 'completed', `;`SET @成功 = 1;`;`SET @成功 = 0;`。 实现特征:事务控制、异常捕获。 +- `sp_转办流程` 属于 通用业务,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程节点表`、`流程转办表`、`审批记录表`。 入参/分页参数:`@流程ID INT,`、`@节点ID INT,`、`@原审批人ID NVARCHAR(100),`、`@原审批人姓名 NVARCHAR(100),`、`@新审批人ID NVARCHAR(100),`、`@新审批人姓名 NVARCHAR(100),`、`@转办原因 NVARCHAR(500),`、`@成功 BIT`。 主要返回字段线索:`1`。 关键过滤/匹配条件:`WHERE p.流程ID = @流程ID`;`AND pn.节点ID = @节点ID`;`AND pn.状态 = 'processing'`;`AND p.状态 = 'processing'`;`AND pn.审批人ID = @原审批人ID`;`WHERE 节点ID = @节点ID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @成功 = 0;`;`INSERT INTO 流程转办表 (`;`UPDATE 流程节点表`;`SET 审批人ID = @新审批人ID, `;`INSERT INTO 审批记录表 (流程ID, 节点ID, 审批人ID, 审批人姓名, 处理结果, 审批意见)`;`SET @成功 = 1;`。 实现特征:事务控制、异常捕获。 +- `sp_完成流程` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程表`、`流程节点表`、`流程完成记录表`、`审批记录表`。 入参/分页参数:`@流程ID INT,`、`@发起人ID NVARCHAR(100),`、`@发起人姓名 NVARCHAR(100),`、`@完成类型 NVARCHAR(20),`、`@完成原因 NVARCHAR(500),`、`@成功 BIT`。 主要返回字段线索:`1`。 关键过滤/匹配条件:`WHERE 流程ID = @流程ID`;`AND 发起人ID = @发起人ID`;`AND 状态 IN ('draft', 'processing')`;`WHERE 流程ID = @流程ID;`;`AND 状态 = 'processing';`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @成功 = 0;`;`INSERT INTO 流程完成记录表 (`;`UPDATE 流程表`;`SET 状态 = @完成类型, `;`UPDATE 流程节点表`;`SET 状态 = 'cancelled', `;`INSERT INTO 审批记录表 (流程ID, 节点ID, 审批人ID, 审批人姓名, 处理结果, 审批意见)`;`SET @成功 = 1;`。 实现特征:事务控制、异常捕获。 +- `sp_获取流程详情` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@流程ID INT`。 主要返回字段线索:`@流程信息 = (`、`SELECT`、`p.流程ID, `、`p.流程标题, `、`p.流程描述, `、`p.优先级, `、`p.状态, `、`p.发起人姓名, `、`p.当前节点, `、`p.当前步骤, `。 关键过滤/匹配条件:`WHERE p.流程ID = @流程ID`;`WHEN 步骤序号 < (SELECT 当前步骤 FROM 流程表 WHERE 流程ID = @流程ID) THEN '已完成'`;`WHEN 步骤序号 = (SELECT 当前步骤 FROM 流程表 WHERE 流程ID = @流程ID) THEN '进行中'`;`WHERE 流程ID = @流程ID`;`WHERE ar.流程ID = @流程ID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 步骤序号`;`ORDER BY ar.处理时间 DESC`。 +- `生产管理_加工中心_生产发料查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE`。 入参/分页参数:`@生产订单号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from SAP.SBO_YL.dbo.UBT_OWOR_OIGE where 生产订单号 = @生产订单号`。 关键写入/状态处理语句线索:`set nocount on;`。 实现特征:读取 SAP 数据库对象。 +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `生产管理_加工中心_退库` 属于 生产执行/工时,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、处理质检数据。 读取/关联对象:表:`质量检验_质检任务_SAP`。 写入或更新对象:`质量检验_质检任务_SAP`。 入参/分页参数:`@生产订单号 bigint,`、`@编码 nvarchar(500),`、`@名称 nvarchar(500),`、`@数量 float,`、`@单位 nvarchar(50),`、`@批次信息 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`@行号 = max(isnull(行号, 0))`。 关键过滤/匹配条件:`select @行号 = max(isnull(行号, 0)) from [dbo].[质量检验_质检任务_SAP] where [订单编号] = @生产订单号 and [订单类型] = '202-60'`。 关键写入/状态处理语句线索:`insert into [dbo].[质量检验_质检任务_SAP] ( [订单编号]`。 + +## 33. src/views/ProductionManagement/OutsourceMange/index.vue + +**页面位置**:`src/views/ProductionManagement/OutsourceMange/index.vue` +**所属模块**:ProductionManagement / OutsourceMange +**源码行数**:1509 + +### 页面功能 + +该页面管理外协任务。用户查询可外协工序,按供应商/订单/工序分组,执行外协派工并同步 SAP 采购请求或相关单据,维护外协发料、收料、质检记录、打印次数和备注。 + +页面可见的操作/字段包括 “查询 派工并同步SAP”、“打印”、“发料”、“收货”、“编辑”、“历史记录”、“查看图纸”、“工艺图纸”、“取 消”、“确 定”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `生产管理_外协管理_外协历史查询`、`计划排产_派工`、`生产管理_外协管理_更新打印次数`、`生产管理_外协管理_更新备注`、`工艺管理_图纸维护_查看图纸`、`工艺管理_工艺维护_查看图纸` 等过程 取数或提交业务动作。 + +### 页面流程图 + +外协业务流程: + +```mermaid +flowchart LR + A[输入订单/合同/供应商/工序条件] --> B[查询外协任务或外协报表] + B --> C[选择外协工序/供应商] + C --> D[计划排产_派工 或外协分组] + D --> E[POST SAP 采购/外协相关请求] + E --> F[外协发料查询/保存] + F --> G[外协收料/质检记录] + G --> H[更新打印次数/备注/报表状态] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询 派工并同步SAP`、`打印`、`发料`、`收货`、`编辑`、`历史记录`、`查看图纸`、`工艺图纸`、`取 消`、`确 定`、`关 闭`、`关闭`、`item.label`、`序号`、`生产订单`、`计划号`、`工序名称`、`物料名称` + +主要方法线索:`print` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `minTaskAID` | `@minTaskAID` | - | +| 参数 | `maxTaskAID` | `@TaskAID` | `TaskAID` | +| 参数 | `this.textcontent` | `@外协备注` | - | +| 参数 | `this.textweight` | `@单重` | - | +| 参数 | `this.textsum` | `@打印数量` | - | +| 参数 | `this.orderNo` | `@订单号` | - | +| 参数 | `this.productCode` | `@产品编码` | - | +| 参数 | `this.itemName` | `@产品名称` | - | +| 参数 | `this.processName` | `@工序名称` | - | +| 参数 | `this.workstate` | `@派工状态` | - | +| 参数 | `this.orderstate` | `@订单状态` | - | +| 参数 | `this.dostate` | `@执行状态` | - | +| 参数 | `this.plannum` | `@计划号` | - | +| 参数 | `maxTaskAID` | `@maxTaskAID` | - | +| 参数 | `this.$store.state.user.name` | `@optor` | - | +| 参数 | `this.receiveNum` | `@recievCount` | - | +| 参数 | `row.单重` | `@单重` | - | +| 参数 | `row.外协备注` | `@备注` | - | +| 参数 | `this.doNum` | `@recievCount` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `生产订单` | - | `订单号` | +| 显示列 | `计划号` | - | `计划号` | +| 显示列 | `工序名称` | - | `工序名称` | +| 显示列 | `物料名称` | - | `产品名称` | +| 显示列 | `同步状态` | - | `同步状态` | +| 显示列 | `上序合格数` | - | `上序合格数` | +| 显示列 | `指派数量` | - | `v.[指派数量], ` | +| 显示列 | `打印数量` | - | `打印数量` | +| 显示列 | `发料数量` | - | `v.[收料数量], ` | +| 显示列 | `收货数量` | - | `v.[完成数量], ` | +| 显示列 | `备注` | - | `外协备注` | +| 显示列 | `单重` | - | `单重` | +| 显示列 | `物料编码` | - | `产品编码` | +| 显示列 | `打印次数` | - | `外协打印次数` | +| 显示列 | `计划开始时间` | - | `计划开始时间` | +| 显示列 | `计划完成时间` | - | `计划完成时间` | +| 显示列 | `操作` | - | `操作描述, ` | +| 显示列 | `备注` | - | `操作描述, ` | +| 显示列 | `时间` | - | `最后编辑时间, ` | +| 显示列 | `数量` | - | `操作数值, ` | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) +- PDF/图纸预览或导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 641 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_外协历史查询` | 查询/读取数据 | 查询、处理外协业务 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` | +| 956 | 12(当前通用存储过程写入/业务动作) | `计划排产_派工` | 计划排产或派工 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1011 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_更新打印次数` | 更新/保存业务数据 | 查询、新增、更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1033 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_更新备注` | 更新/保存业务数据 | 查询、新增、更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1065 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 1084 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` | +| 1111 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_查询外协全部` | 查询/读取数据 | 查询、新增、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单全部(包括已关闭)` | +| 1347 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_外协发料查询` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 1374 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_外协发料查询` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 1416 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_外协发料保存` | 更新/保存业务数据 | 查询、更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划` | +| 1451 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_外协收料保存` | 更新/保存业务数据 | 更新、处理报工/工时、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 966 行:`postB1("/PurchaseRequests")` + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 966 | `postB1` | `/PurchaseRequests` | 调用外部接口,失败会影响对应外部系统同步。 | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments`、`DocumentLines`、`ItemCode` | + +### 状态流转说明 + +- `生产管理_外协管理_外协历史查询`:`FROM [dbo].[YL_加工中心_操作记录表]` +- `计划排产_派工`:`CREATE PROCEDURE [dbo].[计划排产_派工]`;`@派工操作人 NVARCHAR(50)`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`[派工状态] = 1`;`, [派工时间] = getdate()`;`, [派工操作人] = @派工操作人`;`'成功' AS 状态, ` +- `生产管理_外协管理_更新打印次数`:`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`'成功' AS 状态, `;`'错误' AS 状态, ` +- `生产管理_外协管理_更新备注`:`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`'成功' AS 状态, `;`'错误' AS 状态, ` +- `生产管理_外协管理_查询外协全部`:`@派工状态 int = 1, `;`@订单状态 int = 0, `;`@发料状态 int = 2`;`完成数量 nvarchar(50), `;`计划完成 datetime, `;`加急状态 nvarchar(50), `;`排产状态 nvarchar(20), `;`计划完成时间 datetime, ` +- `生产管理_外协管理_外协发料查询`:`, [加急状态]`;`, [排产状态]`;`, [计划完成时间]`;`, [派工状态]`;`, [派工时间]`;`, [任务状态]`;`, [未完成说明]`;`, [派工特殊说明]` +- `生产管理_外协管理_外协发料查询`:`, [加急状态]`;`, [排产状态]`;`, [计划完成时间]`;`, [派工状态]`;`, [派工时间]`;`, [任务状态]`;`, [未完成说明]`;`, [派工特殊说明]` +- `生产管理_外协管理_外协发料保存`:`declare @任务状态 int`;`select @任务状态 = isnull(任务状态, 0) from MES_接口_生产计划_生产任务 where AID = @TaskAID`;`if(@任务状态 < = 1 )`;`Update MES_接口_生产计划_生产任务`;`set 任务状态 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, `;`if(@任务状态 > 1 )` +- `生产管理_外协管理_外协收料保存`:`declare @任务状态 int`;`Update MES_接口_生产计划_生产任务`;`set 完成数量 = isnull(完成数量, 0)+@recievCount, ` + +### 数据库调用链 + +- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_外协历史查询` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `计划排产_派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_更新打印次数` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_更新备注` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据 +- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_查询外协全部` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单全部(包括已关闭)` -> 查询/读取数据 +- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_外协发料查询` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_外协发料查询` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_外协发料保存` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据 +- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_外协收料保存` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `生产管理_外协管理_外协历史查询` 属于 外协协同,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`操作描述, `、`最后编辑时间, `、`操作数值, `、`TaskAID`。 关键过滤/匹配条件:`WHERE [TaskAID] = @TaskAID and 操作类别 = '收料'`。 +- `计划排产_派工` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';`;`WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempOrders (订单编号)`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET`。 实现特征:事务控制、临时表 `#TempOrders`。 +- `生产管理_外协管理_更新打印次数` 属于 外协协同,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';`;`WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempOrders (订单编号)`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET 外协打印次数 = ISNULL(外协打印次数, 0) + 1`。 实现特征:事务控制、异常捕获、临时表 `#TempOrders`。 +- `生产管理_外协管理_更新备注` 属于 外协协同,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX),`、`@外协备注 NVARCHAR(MAX)`、`@单重 NVARCHAR(50)`、`@打印数量 NVARCHAR(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';`;`WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempOrders (订单编号)`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET 外协备注 = @外协备注, 单重 = @单重, 打印数量 = @打印数量`。 实现特征:事务控制、异常捕获、临时表 `#TempOrders`。 +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `生产管理_外协管理_查询外协全部` 属于 外协协同,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、新增、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单全部(包括已关闭)`。 入参/分页参数:`@订单号 int`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@派工状态 int`、`@订单状态 int`、`@计划号 nvarchar(50)`、`@发料状态 int`。 主要返回字段线索:`v.[订单编号], `、`v.[订单行号], `、`v.[物料编号], `、`v.[物料描述], `、`v.[完成数量], `、`v.[指派数量], `、`v.[外协分组], `、`v.[不合格数量], `、`v.[收料数量], `、`v.[合同号], `。 关键过滤/匹配条件:`WHERE v.[物料类型] = 'pit_Resource'`;`AND v.[指派对象] = '外协'`;`AND (@订单号 = 0 OR v.[订单编号] = @订单号)`;`AND (@计划号 = '' OR v.[计划号] LIKE '%' + @计划号 + '%')`;`AND (@产品编码 = '' OR v.[物料编号] LIKE '%' + @产品编码 + '%')`;`AND (@产品名称 = '' OR v.[物料描述] LIKE '%' + @产品名称 + '%')`;`AND (@工序名称 = '' OR v.[工序名称] LIKE '%' + @工序名称 + '%')`;`WHERE prev.订单编号 = bd.订单编号`;`AND prev.订单行号 = bd.订单行号 - 1`;`AND ISNULL(prev.外协分组, '') = ISNULL(bd.外协分组, '')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #BaseData (`。 排序/分组/分页线索:`ORDER BY ga.订单行号`;`GROUP BY 订单编号, 外协分组, 组ID`;`ORDER BY bd.订单编号, bd.订单行号`。 实现特征:临时表 `#BaseData`。 +- `生产管理_外协管理_外协发料查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@maxTaskAID bigint,`、`@minTaskAID bigint`。 主要返回字段线索:`@上序订单编号 = [订单编号], `、`@上序订单行号 = [订单行号]`。 关键过滤/匹配条件:`WHERE [TaskAID] = @minTaskAID`;`WHERE vt.[订单编号] = vo.[订单编号]`;`AND vt.[订单行号] = @上序订单行号 - 1`;`AND qc.检测类型编号 = '6'`;`WHERE qc.TaskAID = @minTaskAID`;`WHERE [TaskAID] = @maxTaskAID`。 +- `生产管理_外协管理_外协发料查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@maxTaskAID bigint,`、`@minTaskAID bigint`。 主要返回字段线索:`@上序订单编号 = [订单编号], `、`@上序订单行号 = [订单行号]`。 关键过滤/匹配条件:`WHERE [TaskAID] = @minTaskAID`;`WHERE vt.[订单编号] = vo.[订单编号]`;`AND vt.[订单行号] = @上序订单行号 - 1`;`AND qc.检测类型编号 = '6'`;`WHERE qc.TaskAID = @minTaskAID`;`WHERE [TaskAID] = @maxTaskAID`。 +- `生产管理_外协管理_外协发料保存` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@recievCount int,`、`@optor nvarchar(50),`、`@单重 nvarchar(50)`、`@备注 nvarchar(50)`。 主要返回字段线索:`@任务状态 = isnull(任务状态, 0)`。 关键过滤/匹配条件:`select @任务状态 = isnull(任务状态, 0) from MES_接口_生产计划_生产任务 where AID = @TaskAID`;`where AID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务`;`set 任务状态 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, `;`set 收料 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, `。 +- `生产管理_外协管理_外协收料保存` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@recievCount int,`、`@optor nvarchar(50)`。 关键过滤/匹配条件:`where AID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务`;`set 完成数量 = isnull(完成数量, 0)+@recievCount, `。 + +## 34. src/views/ProductionManagement/OutsourceSheet/index.vue + +**页面位置**:`src/views/ProductionManagement/OutsourceSheet/index.vue` +**所属模块**:ProductionManagement / OutsourceSheet +**源码行数**:496 + +### 页面功能 + +该页面输出外协报表。用户按订单、合同、产品、计划号、供应商、状态分页查询外协报表,也可导出,用于外协进度、发料、收料、质检、开票等跟踪。 + +页面可见的操作/字段包括 “查询”、“Excel导出”、“全部”、“收检”、“终检”、“来料检验”、“退库检验”、“收料小于发料”、“供应商”、“订单号”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `生产管理_外协报表_导出`、`生产管理_外协报表_查询` 取数或提交业务动作。 + +### 页面流程图 + +外协业务流程: + +```mermaid +flowchart LR + A[输入订单/合同/供应商/工序条件] --> B[查询外协任务或外协报表] + B --> C[选择外协工序/供应商] + C --> D[计划排产_派工 或外协分组] + D --> E[POST SAP 采购/外协相关请求] + E --> F[外协发料查询/保存] + F --> G[外协收料/质检记录] + G --> H[更新打印次数/备注/报表状态] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`Excel导出`、`全部`、`收检`、`终检`、`来料检验`、`退库检验`、`收料小于发料`、`供应商`、`订单号`、`计划号`、`合同号`、`零件编码`、`零件名称`、`工序名称`、`材质`、`数量`、`单价` + +主要方法线索:`tableRowClassName`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.orderNo` | `@订单号` | `订单号, ` | +| 参数 | `this.productCode` | `@产品编码` | `MAX(产品编码) AS 产品编码, ` | +| 参数 | `this.productName` | `@产品名称` | `MAX(产品名称) AS 产品名称, ` | +| 参数 | `this.supplierName` | `@供应商` | `MAX(供应商名称) AS 供应商名称, ` | +| 参数 | `this.statusFilter ? 1 : 0` | `@状态过滤` | - | +| 参数 | `orderId` | `@订单编号` | - | +| 显示列 | `供应商` | - | `MAX(供应商名称) AS 供应商名称, ` | +| 显示列 | `订单号` | - | `订单号, ` | +| 显示列 | `计划号` | - | `MAX(计划号) AS 计划号, ` | +| 显示列 | `合同号` | - | `MAX(合同号) AS 合同号, ` | +| 显示列 | `零件编码` | - | `MAX(产品编码) AS 产品编码, ` | +| 显示列 | `零件名称` | - | `MAX(产品名称) AS 产品名称, ` | +| 显示列 | `工序名称` | - | `工序名称` | +| 显示列 | `材质` | - | `材质` | +| 显示列 | `数量` | - | `MAX(指派数量) AS 指派数量, ` | +| 显示列 | `单价` | - | `MAX(含税单价) AS 含税单价, ` | +| 显示列 | `金额` | - | `MAX(含税行总计) AS 含税行总计, ` | +| 显示列 | `发料日期` | - | `开始时间` | +| 显示列 | `要求到货日期` | - | `计划完成时间` | +| 显示列 | `外协预计到货` | - | `外协预计到货` | +| 显示列 | `收货日期` | - | `外协结束时间` | +| 显示列 | `收货数量` | - | `收料数量` | +| 显示列 | `合格数量` | - | `收检合格数` | +| 显示列 | `报废数量` | - | `收检不合格数` | +| 显示列 | `开票状态` | - | `开票数量` | +| 显示列 | `发料数量` | - | `发料数量合计` | +| 显示列 | `收料数量` | - | `收料数量_报工` | +| 输入字段 | `orderNo` | `@订单号` | - | +| 输入字段 | `contractNo` | - | - | +| 输入字段 | `productCode` | `@产品编码` | - | +| 输入字段 | `productName` | `@产品名称` | - | +| 输入字段 | `QualityStatus` | - | - | +| 输入字段 | `supplierName` | `@供应商` | - | +| 输入字段 | `statusFilter` | `@状态过滤` | - | +| 输入字段 | `activeTab` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- Excel/报表导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 176 | 2001(导出/报表类过程) | `生产管理_外协报表_导出` | 外协业务处理 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 未在 SQL 中解析到明确依赖 | +| 252 | 11(当前通用存储过程查询/执行) | `生产管理_外协报表_查询` | 查询/读取数据 | 查询、分页、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 未在 SQL 中解析到明确依赖 | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `生产管理_外协报表_导出`:`@状态过滤 int = 0`;`MAX(完成数量) AS 完成数量, `;`MAX(CASE WHEN 订单行号 = 1 OR ISNULL(收检合格数, 0) > 0 THEN 1 ELSE 0 END) AS 执行状态, `;`(@状态过滤 = 0 OR MAX(CASE WHEN ISNULL(收料数量_报工, 0) < ISNULL(发料数量合计, 0) THEN 1 ELSE 0 END) = 1)`;`CASE WHEN 开票数量 > 0 THEN '是' ELSE '否' END AS 开票状态, `;`执行状态, `;`CASE WHEN 执行状态 = 1 THEN '可执行' ELSE '不可执行' END AS 执行状态文本, `;`完成数量, ` +- `生产管理_外协报表_查询`:`@状态过滤 int = 0, `;`MIN(计划完成时间) AS 计划完成时间, `;`MAX(完成数量) AS 完成数量, `;`MAX(CASE WHEN 订单行号 = 1 OR ISNULL(收检合格数, 0) > 0 THEN 1 ELSE 0 END) AS 执行状态, `;`(@状态过滤 = 0 OR MAX(CASE WHEN ISNULL(收料数量_报工, 0) < ISNULL(发料数量合计, 0) THEN 1 ELSE 0 END) = 1)`;`计划完成时间, `;`执行状态, `;`CASE WHEN 执行状态 = 1 THEN '可执行' ELSE '不可执行' END AS 执行状态文本, ` + +### 数据库调用链 + +- `src/views/ProductionManagement/OutsourceSheet/index.vue` -> `生产管理_外协报表_导出` -> 未在 SQL 中解析到明确依赖 -> 外协业务处理 +- `src/views/ProductionManagement/OutsourceSheet/index.vue` -> `生产管理_外协报表_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `生产管理_外协报表_导出` 属于 外协协同,前端以 type=2001(导出/报表类过程)调用,页面用途是 外协业务处理。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@订单号 int`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@供应商 nvarchar(100)`、`@状态过滤 int`。 主要返回字段线索:`订单号, `、`拆分内码, `、`MAX(计划号) AS 计划号, `、`MAX(合同号) AS 合同号, `、`MAX(产品编码) AS 产品编码, `、`MAX(产品名称) AS 产品名称, `、`MAX(供应商名称) AS 供应商名称, `、`MAX(指派数量) AS 指派数量, `、`MAX(含税单价) AS 含税单价, `、`MAX(含税行总计) AS 含税行总计, `。 关键过滤/匹配条件:`MAX(CASE WHEN 订单行号 = 1 OR ISNULL(收检合格数, 0) > 0 THEN 1 ELSE 0 END) AS 执行状态, `;`WHERE d2.订单号 = d.订单号 AND d2.拆分内码 = d.拆分内码`;`WHERE 1 = 1`;`AND (@订单号 = 0 OR d.订单号 = @订单号)`;`AND (@产品编码 = '' OR d.产品编码 LIKE '%' + @产品编码 + '%')`;`AND (@产品名称 = '' OR d.产品名称 LIKE '%' + @产品名称 + '%')`;`(@供应商 = '' OR MAX(CASE WHEN 供应商名称 LIKE '%' + @供应商 + '%' THEN 1 ELSE 0 END) = 1)`;`AND`;`(@状态过滤 = 0 OR MAX(CASE WHEN ISNULL(收料数量_报工, 0) < ISNULL(发料数量合计, 0) THEN 1 ELSE 0 END) = 1)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON`。 排序/分组/分页线索:`ORDER BY d2.订单行号`;`GROUP BY 订单号, 拆分内码`;`HAVING`;`ORDER BY 订单号`。 实现特征:临时表 `#MergedResult`。 +- `生产管理_外协报表_查询` 属于 外协协同,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、分页、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@订单号 int`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@计划号 nvarchar(50)`、`@供应商 nvarchar(100)`、`@状态过滤 int`、`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`。 主要返回字段线索:`订单号, `、`拆分内码, `、`MAX(计划号) AS 计划号, `、`MAX(合同号) AS 合同号, `、`MAX(产品编码) AS 产品编码, `、`MAX(产品名称) AS 产品名称, `、`MAX(供应商名称) AS 供应商名称, `、`MAX(指派数量) AS 指派数量, `、`MAX(含税单价) AS 含税单价, `、`MAX(含税行总计) AS 含税行总计, `。 关键过滤/匹配条件:`MAX(CASE WHEN 订单行号 = 1 OR ISNULL(收检合格数, 0) > 0 THEN 1 ELSE 0 END) AS 执行状态, `;`WHERE d2.订单号 = d.订单号 AND d2.拆分内码 = d.拆分内码`;`WHERE 1 = 1`;`and isnull(供应商名称, '') ''`;`AND (@订单号 = 0 OR d.订单号 = @订单号)`;`AND (@计划号 = '' OR d.计划号 = @计划号)`;`AND (@合同号 = '' OR d.合同号 LIKE '%' + @合同号 + '%')`;`AND (@产品编码 = '' OR d.产品编码 LIKE '%' + @产品编码 + '%')`;`AND (@产品名称 = '' OR d.产品名称 LIKE '%' + @产品名称 + '%')`;`AND (@供应商 = '' OR d.供应商名称 LIKE '%' + @供应商 + '%')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON`;`SET @PageCount = 0`;`SET @PageCount = CEILING(CAST(@ItemCount AS FLOAT) / @PageSize)`。 排序/分组/分页线索:`ORDER BY d2.订单行号`;`ROW_NUMBER() OVER (ORDER BY 订单号) AS RowNum`;`GROUP BY 订单号, 拆分内码, 供应商名称`;`HAVING`;`ORDER BY 订单号, 供应商名称`。 实现特征:分页、临时表 `#MergedResult`。 + +## 35. src/views/ProductionManagement/PersonnelBinding/index.vue + +**页面位置**:`src/views/ProductionManagement/PersonnelBinding/index.vue` +**所属模块**:ProductionManagement / PersonnelBinding +**源码行数**:235 + +### 页面功能 + +该页面维护工位与人员绑定关系。用于限制或提示哪些人员可在指定工位报工、开工或执行任务。 + +页面可见的操作/字段包括 “查询”、“绑定人员”、“确 定”、“取 消”、“序号”、“工位名称”、“工位号”、“操作”、“请输入工位名称”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `MES_登录_工位与名称_查询`、`系统管理_人员管理_所有有效人员查询`、`系统管理_工位管理_工位绑定人员查询`、`系统管理_工位管理_工位绑定人员保存` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `系统管理_人员管理_所有有效人员查询` -> `系统管理_工位管理_工位绑定人员查询` -> `系统管理_工位管理_工位绑定人员保存` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`绑定人员`、`确 定`、`取 消`、`序号`、`工位名称`、`工位号`、`操作`、`请输入工位名称` + +主要方法线索:`searchData`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 显示列 | `序号` | - | `序号` | +| 显示列 | `工位名称` | - | `[Name] as 工位名称` | +| 显示列 | `工位号` | - | `[VisCode] as 工位号` | +| 显示列 | `绑定人员` | - | `绑定人员` | +| 显示列 | `操作` | - | `操作` | +| 输入字段 | `searchWorkstationName` | - | - | +| 输入字段 | `selectedPersonnel` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 108 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 122 | 11(当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` | +| 143 | 11(当前通用存储过程查询/执行) | `系统管理_工位管理_工位绑定人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` | +| 183 | 11(当前通用存储过程查询/执行) | `系统管理_工位管理_工位绑定人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` | +| 204 | 11(当前通用存储过程查询/执行) | `系统管理_工位管理_工位绑定人员保存` | 更新/保存业务数据 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `系统管理_工位管理_工位绑定人员查询`:`AND wb.绑定状态 = 1` +- `系统管理_工位管理_工位绑定人员查询`:`AND wb.绑定状态 = 1` +- `系统管理_工位管理_工位绑定人员保存`:`SET 绑定状态 = 0`;`WHERE 工位号 = @工位号 AND 绑定状态 = 1;`;`INSERT INTO 工位人员绑定表 (工位号, 人员编号, 绑定时间, 绑定人, 绑定状态)` + +### 数据库调用链 + +- `src/views/ProductionManagement/PersonnelBinding/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/ProductionManagement/PersonnelBinding/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/ProductionManagement/PersonnelBinding/index.vue` -> `系统管理_工位管理_工位绑定人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/ProductionManagement/PersonnelBinding/index.vue` -> `系统管理_工位管理_工位绑定人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/ProductionManagement/PersonnelBinding/index.vue` -> `系统管理_工位管理_工位绑定人员保存` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。 +- `系统管理_工位管理_工位绑定人员查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 入参/分页参数:`@工位号 NVARCHAR(50)`。 主要返回字段线索:`p.Personnel_Number AS 人员编号, `、`p.Personnel_Name AS 人员姓名, `、`p.account AS 账号, `、`p.Roles_Function AS 角色, `、`wb.绑定时间`。 关键过滤/匹配条件:`WHERE wb.工位号 = @工位号`;`AND wb.绑定状态 = 1`;`AND p.Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.Personnel_Name;`。 +- `系统管理_工位管理_工位绑定人员查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 入参/分页参数:`@工位号 NVARCHAR(50)`。 主要返回字段线索:`p.Personnel_Number AS 人员编号, `、`p.Personnel_Name AS 人员姓名, `、`p.account AS 账号, `、`p.Roles_Function AS 角色, `、`wb.绑定时间`。 关键过滤/匹配条件:`WHERE wb.工位号 = @工位号`;`AND wb.绑定状态 = 1`;`AND p.Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.Personnel_Name;`。 +- `系统管理_工位管理_工位绑定人员保存` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`工位人员绑定表`。 入参/分页参数:`@工位号 NVARCHAR(50),`、`@人员编号列表 NVARCHAR(MAX)`。 主要返回字段线索:`CAST(value AS INT)`。 关键过滤/匹配条件:`WHERE 工位号 = @工位号 AND 绑定状态 = 1;`;`IF @人员编号列表 IS NOT NULL AND LEN(LTRIM(RTRIM(@人员编号列表))) > 0`;`WHERE LTRIM(RTRIM(value)) ! = '';`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`UPDATE 工位人员绑定表`;`SET 绑定状态 = 0`;`INSERT INTO #临时人员表 (人员编号)`;`INSERT INTO 工位人员绑定表 (工位号, 人员编号, 绑定时间, 绑定人, 绑定状态)`。 实现特征:事务控制、异常捕获、临时表 `#临时人员表`。 + +## 36. src/views/ProductionManagement/PickingTask/index.vue + +**页面位置**:`src/views/ProductionManagement/PickingTask/index.vue` +**所属模块**:ProductionManagement / PickingTask +**源码行数**:438 + +### 页面功能 + +该页面处理拣配任务。用户查询生产订单相关拣配/领料任务,并可能联动 SAP 生产订单或库存出入库状态。 + +页面可见的操作/字段包括 “查询”、“转至 完成 --> 生产订单 加急数量 物料编号 关闭”、“装配”、“机加”、“全部”、“一楼”、“二楼”、“仓库”、“已完成”、“未完成”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `生产管理_拣配任务_查询` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `生产管理_拣配任务_查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`转至 完成 --> 生产订单 加急数量 物料编号 关闭`、`装配`、`机加`、`全部`、`一楼`、`二楼`、`仓库`、`已完成`、`未完成`、`序号`、`项目`、`计划号`、`生产订单号`、`物料名称`、`产成品物料编号`、`计划生产数`、`加急数量` + +主要方法线索:`tableRowClassName`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `row.零件编码` | `@物料编号` | - | +| 参数 | `this.contractNo` | `@合同号` | - | +| 参数 | `this.orderNo` | `@订单号` | - | +| 参数 | `this.partNo` | `@零件编号` | - | +| 参数 | `this.positionstate` | `@位置` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `项目` | - | `项目` | +| 显示列 | `计划号` | - | `计划号` | +| 显示列 | `生产订单号` | - | `生产订单号` | +| 显示列 | `物料名称` | - | `物料名称` | +| 显示列 | `产成品物料编号` | - | `产成品物料编号` | +| 显示列 | `计划生产数` | - | `计划生产数` | +| 显示列 | `加急数量` | - | `加急数量` | +| 显示列 | `计划数量` | - | `计划数量` | +| 显示列 | `拣配日期` | - | `拣配日期` | +| 显示列 | `预计齐套时间` | - | `预计齐套时间` | +| 显示列 | `检验操作人` | - | `检测人` | +| 显示列 | `检验时间` | - | `检测时间` | +| 显示列 | `操作` | - | `操作` | +| 输入字段 | `contractNo` | `@合同号` | - | +| 输入字段 | `orderNo` | `@订单号` | - | +| 输入字段 | `partNo` | `@零件编号` | - | +| 输入字段 | `attribute` | - | - | +| 输入字段 | `positionstate` | `@位置` | - | +| 输入字段 | `finishstate` | - | - | +| 输入字段 | `item.订单编号` | - | - | +| 输入字段 | `item.加急数量` | - | - | +| 输入字段 | `item.物料编号` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- Excel/报表导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 326 | 11(当前通用存储过程查询/执行) | `生产管理_拣配任务_查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE` | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- 生产管理_拣配任务_查询: SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `生产管理_拣配任务_查询`:`CREATE PROCEDURE [dbo].[生产管理_拣配任务_查询]`;`SET @selectStr = N' select top 50 * from SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE '` + +### 数据库调用链 + +- `src/views/ProductionManagement/PickingTask/index.vue` -> `生产管理_拣配任务_查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `生产管理_拣配任务_查询` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE`。 入参/分页参数:`@合同号 NVARCHAR(100)`、`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@位置 NVARCHAR(100)`。 主要返回字段线索:`top 50 *`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE 1 = 1 '`;`SET @selectStrWhere = @selectStrWhere + ' AND 项目 LIKE ''%' + REPLACE(@合同号, '''', '''''') + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND 生产订单号 = '+@订单号+''`;`SET @selectStrWhere = @selectStrWhere + ' AND 产成品物料编号 LIKE ''%' + REPLACE(@零件编号, '''', '''''') + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND 位置 = ''一楼拣配'''`;`SET @selectStrWhere = @selectStrWhere + ' AND 位置 = ''二楼拣配'''`;`SET @selectStrWhere = @selectStrWhere + ' AND 位置 = ''二楼主子机加'''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @selectStrWhere = @selectStrWhere + ' AND 项目 LIKE ''%' + REPLACE(@合同号, '''', '''''') + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND 生产订单号 = '+@订单号+''`;`SET @selectStrWhere = @selectStrWhere + ' AND 产成品物料编号 LIKE ''%' + REPLACE(@零件编号, '''', '''''') + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND 位置 = ''一楼拣配'''`;`SET @selectStrWhere = @selectStrWhere + ' AND 位置 = ''二楼拣配'''`;`SET @selectStrWhere = @selectStrWhere + ' AND 位置 = ''二楼主子机加'''`;`SET @selectStr = N' select top 50 * from SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE '`;`set @selectStr = @selectStr + @selectStrWhere`。 实现特征:读取 SAP 数据库对象。 + +## 37. src/views/ProductionManagement/ProductionPlanTrack/index.vue + +**页面位置**:`src/views/ProductionManagement/ProductionPlanTrack/index.vue` +**所属模块**:ProductionManagement / ProductionPlanTrack +**源码行数**:682 + +### 页面功能 + +该页面跟踪生产计划执行。用户查看计划任务的开工、完工、进度、延期或异常情况,用于计划员追踪订单。 + +页面可见的操作/字段包括 “查询”、“关闭”、“全部”、“机加”、“装配”、“是”、“否”、“加急”、“正常”、“序号”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `加急订单_加急明细查询`、`生产管理_生产计划跟踪`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `加急订单_加急明细查询` -> `生产管理_生产计划跟踪` -> `MES_OrderPlanned_DescriptionEdit` -> `Prog_MES_LoadStations` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`关闭`、`全部`、`机加`、`装配`、`是`、`否`、`加急`、`正常`、`序号`、`工序名称`、`计划数量`、`指派对象`、`外协`、`计划开始时间`、`计划结束时间`、`实际开始时间`、`实际结束时间` + +主要方法线索:`Urgent` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `row.产品编码` | `@物料编号` | `docentry as 订单编号, itemcode as 物料编号, 加急数量` | +| 参数 | `this.orderNo ` | `@订单号` | - | +| 参数 | `'自制件'` | `@物料类型` | - | +| 参数 | `this.contractNo` | `@合同号` | - | +| 参数 | `this.productCode` | `@产品编码` | - | +| 参数 | `this.productName` | `@产品名称` | - | +| 参数 | `this.processName` | `@工序名称` | - | +| 参数 | `this.planStartTime[0` | `@计划开始1` | - | +| 参数 | `this.planStartTime[1` | `@计划开始2` | - | +| 参数 | `this.planendTime[0` | `@计划完成1` | - | +| 参数 | `this.planendTime[1` | `@计划完成2` | - | +| 参数 | `this.completionTime ? this.completionTime[0` | `@要求完工日期1` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@要求完工日期2` | - | +| 参数 | `this.productionStatus` | `@排产状态` | - | +| 参数 | `this.selfStatus` | `@自制件属性` | `自制件属性, ` | +| 参数 | `'全部'` | `@指派对象` | - | +| 参数 | `this.plannum` | `@计划号` | `v.计划号, ` | +| 参数 | `this.urgentStatus` | `@加急状态` | - | +| 参数 | `this.outsourceStatus === '是' ? 1 : 0` | `@是否外协` | - | +| 参数 | `this.currentRow.订单号` | `@订单号` | - | +| 参数 | `this.currentRow.订单行号` | `@订单行号` | - | +| 参数 | `this.currentRow.拆分内码` | `@订单拆分内码` | - | +| 参数 | `this.editForm.优先级` | `@优先级` | - | +| 参数 | `this.editForm.未完成说明` | `@未完成说明` | - | +| 参数 | `this.editForm.派工特殊说明` | `@派工特殊说明` | - | +| 参数 | `this.$store.state.user.name` | `@最后编辑人` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `工序名称` | - | `工序名称` | +| 显示列 | `计划数量` | - | `计划数量` | +| 显示列 | `指派对象` | - | `指派对象` | +| 显示列 | `外协` | - | `外协` | +| 显示列 | `计划开始时间` | - | `计划开始时间` | +| 显示列 | `计划结束时间` | - | `计划完成时间` | +| 显示列 | `实际开始时间` | - | `开始时间` | +| 显示列 | `实际结束时间` | - | `实际结束时间` | +| 显示列 | `完成进度` | - | `进度` | +| 显示列 | `完成数量` | - | `完成数量` | +| 显示列 | `外协发料数量` | - | `收料数量` | +| 显示列 | `合格数` | - | `收检合格数` | +| 显示列 | `不良数` | - | `收检不合格数` | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 259 | 11(当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` | +| 487 | 11(当前通用存储过程查询/执行) | `生产管理_生产计划跟踪` | 计划排产或派工 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`、`View_生产订单全部(包括已关闭)` | +| 521 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 580 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `加急订单_加急明细查询`:`SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` +- `生产管理_生产计划跟踪`:`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`@加急状态 nvarchar(50) = ''`;`拣配状态, `;`when isnull(任务状态, 0) = 4 then ''已完成''`;`when isnull(任务状态, 0) = 2 then ''已开工''`;`when isnull(任务状态, 0) = 0 then ''待执行''` +- `MES_OrderPlanned_DescriptionEdit`:`@未完成说明 nvarchar(50) = '', `;`@派工特殊说明 nvarchar(500) = '', `;`Update [MES_接口_生产计划_生产任务] set`;`未完成说明 = @未完成说明, `;`派工特殊说明 = @派工特殊说明, ` + +### 数据库调用链 + +- `src/views/ProductionManagement/ProductionPlanTrack/index.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据 +- `src/views/ProductionManagement/ProductionPlanTrack/index.vue` -> `生产管理_生产计划跟踪` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`、`View_生产订单全部(包括已关闭)` -> 计划排产或派工 +- `src/views/ProductionManagement/ProductionPlanTrack/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/ProductionManagement/ProductionPlanTrack/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。 +- `生产管理_生产计划跟踪` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`、`View_生产订单全部(包括已关闭)`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`top 200`、`v.计划号, `、`加急总数, `、`拣配状态, `、`自制件属性, `、`入库数量, `、`case`、`when isnull(任务状态, 0) = 4 then ''已完成''`、`when isnull(任务状态, 0) = 2 then ''已开工''`、`when isnull(任务状态, 0) = 0 then ''待执行''`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE [物料类型] = ''pit_Resource'' '`;`WHERE d2.订单编号 = v.订单编号 order by d2.订单行号`;`WHERE 质检类型 = ''终检''`;`WHERE 质检类型 = ''收检''`;`SET @selectStrWhere = @selectStrWhere + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)`;`SET @selectStrWhere = @selectStrWhere + ' AND v.[计划号] = '''+@计划号+''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [合同号] LIKE ''%' + @合同号 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @产品编码 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料描述] LIKE ''%' + @产品名称 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [工序名称] = ''' + @工序名称 + ''''`。 关键写入/状态处理语句线索:`SET @selectStr = N'`;`SET @selectStrWhere = @selectStrWhere + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)`;`SET @selectStrWhere = @selectStrWhere + ' AND v.[计划号] = '''+@计划号+''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [合同号] LIKE ''%' + @合同号 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @产品编码 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料描述] LIKE ''%' + @产品名称 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [工序名称] = ''' + @工序名称 + ''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [计划完成] > = ''' + @要求完工日期1 + ''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [计划完成] < = ''' + @要求完工日期2 + ''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] > = ''' + @计划开始1 + ''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] < = ''' + @计划开始2 + ''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [计划完成时间] > = ''' + @计划完成1 + ''''`。 排序/分组/分页线索:`WHERE d2.订单编号 = v.订单编号 order by d2.订单行号`;`GROUP BY TaskAID`;`SET @selectStrWhere = @selectStrWhere + ' ORDER BY [计划完成] ASC, [订单编号] ASC'`。 +- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。 +- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 + +## 38. src/views/ProductionManagement/ProductionTaskManage/index.vue + +**页面位置**:`src/views/ProductionManagement/ProductionTaskManage/index.vue` +**所属模块**:ProductionManagement / ProductionTaskManage +**源码行数**:735 + +### 页面功能 + +该页面管理生产任务。用户按工位、订单、工序查询任务,查看工时汇总,执行派工、修改计划字段、维护任务说明和通知状态。 + +页面可见的操作/字段包括 “查询”、“表单”、“日程”、“派工调整”、“外协通知”、“已发起”、“编辑”、“取 消”、“确 定”、“item.指南工位号”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `MES_登录_工位与名称_查询`、`MES_OrderPlanned_SingleTaskPlanned`、`MES_ProductTask_WorkTimeSum`、`MES_ProductAdmin_Query`、`Prog_MES_LoadStations`、`Prog_MES_SingleTaskPlanned` 等过程 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `MES_OrderPlanned_SingleTaskPlanned` -> `MES_ProductTask_WorkTimeSum` -> `MES_ProductAdmin_Query` -> `Prog_MES_LoadStations` -> `Prog_MES_SingleTaskPlanned` -> `MES_OrderPlanned_DescriptionEdit` -> `MES_ProductTask_Notice` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`表单`、`日程`、`派工调整`、`外协通知`、`已发起`、`编辑`、`取 消`、`确 定`、`item.指南工位号`、`序号`、`销售订单`、`生产订单`、`零件编码`、`产品名称`、`计划数`、`工序名称`、`性质` + +主要方法线索:`getDoing`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `row.订单号` | `@订单号` | - | +| 参数 | `row.订单行号` | `@订单行号` | - | +| 参数 | `row.拆分内码` | `@订单拆分内码` | - | +| 参数 | `this.$refs.formData.model.指派对象编号` | `@指派对象编号` | - | +| 参数 | `this.$refs.formData.model.指派对象` | `@指派对象` | - | +| 参数 | `this.$refs.formData.model.指派数量` | `@指派数量` | - | +| 参数 | `this.$refs.formData.model.派工特殊说明` | `@派工特殊说明` | - | +| 参数 | `this.$refs.formData.model.计划开始时间` | `@计划开始时间` | - | +| 参数 | `this.$refs.formData.model.计划完成时间` | `@计划完成时间` | - | +| 参数 | `this.$refs.formData.model.最晚开始时间` | `@最晚开始时间` | - | +| 参数 | `this.$store.state.user.name` | `@派工操作人` | - | +| 参数 | `this.completionTime ? this.completionTime[0` | `@计划开工_Start` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@计划开工_End` | - | +| 参数 | `this.orderNo ` | `@订单号` | - | +| 参数 | `'自制件'` | `@物料类型` | - | +| 参数 | `this.contractNo` | `@合同号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.productCode` | `@产品编码` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.productName` | `@产品名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.processName` | `@工序名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.nature` | `@性质` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.completionTime ? this.completionTime[0` | `@要求完工日期1` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@要求完工日期2` | - | +| 参数 | `this.productionStatus` | `@排产状态` | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` | +| 参数 | `this.Doing.toString()` | `@工位` | - | +| 参数 | `this.selectedRow.订单号` | `@订单号` | - | +| 参数 | `this.selectedRow.订单行号` | `@订单行号` | - | +| 参数 | `this.selectedRow.拆分内码` | `@订单拆分内码` | - | +| 参数 | `this.taskForm.指派对象编号` | `@指派对象编号` | - | +| 参数 | `this.taskForm.指派对象` | `@指派对象` | - | +| 参数 | `this.taskForm.指派数量` | `@指派数量` | - | +| 参数 | `this.taskForm.派工特殊说明 ` | `@派工特殊说明` | - | +| 参数 | `this.taskForm.计划开始时间 ` | `@计划开始时间` | - | +| 参数 | `this.taskForm.计划完成时间 ` | `@计划完成时间` | - | +| 参数 | `this.taskForm.最晚开始时间 ` | `@最晚开始时间` | - | +| 参数 | `this.currentRow.订单号` | `@订单号` | - | +| 参数 | `this.currentRow.订单行号` | `@订单行号` | - | +| 参数 | `this.currentRow.拆分内码` | `@订单拆分内码` | - | +| 参数 | `this.editForm.优先级` | `@优先级` | - | +| 参数 | `this.editForm.未完成说明` | `@未完成说明` | - | +| 参数 | `this.editForm.派工特殊说明` | `@派工特殊说明` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- FullCalendar + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 366 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 406 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 427 | 11(当前通用存储过程查询/执行) | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 | +| 459 | 11(当前通用存储过程查询/执行) | `MES_ProductAdmin_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 视图:`View_生产订单_MES` | +| 476 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` | +| 519 | 12(当前通用存储过程写入/业务动作) | `Prog_MES_SingleTaskPlanned` | 计划排产或派工 | 未找到过程体 | 未知 | +| 554 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 575 | 12(当前通用存储过程写入/业务动作) | `MES_ProductTask_Notice` | 业务存储过程调用 | 更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 656 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `MES_OrderPlanned_SingleTaskPlanned`:`@派工特殊说明 nvarchar(500) = '', `;`@计划完成时间 nvarchar(50) = '', `;`@派工操作人 nvarchar(50) = ''`;`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`INSERT INTO [MES_接口_生产计划_生产任务]` +- `MES_ProductTask_WorkTimeSum`:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称` +- `MES_ProductAdmin_Query`:`@排产状态 nvarchar(50) = '全部', `;`SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`;`, [优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID`;`SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], '''' as 合同交货期, [计划完成] as 预计齐套时间, ''齐'' as 是否齐套, '''' as 齐套检测, ''是'' as 齐套锁料, [计划开始] as 备料日期, 0 as 加急`;`, [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], TaskAID`;`if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''`;`if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''` +- `MES_OrderPlanned_DescriptionEdit`:`@未完成说明 nvarchar(50) = '', `;`@派工特殊说明 nvarchar(500) = '', `;`Update [MES_接口_生产计划_生产任务] set`;`未完成说明 = @未完成说明, `;`派工特殊说明 = @派工特殊说明, ` +- `MES_ProductTask_Notice`:`UPDATE [MES_接口_生产计划_生产任务] set [外协通知] = @外协通知 where [AID] = @TaskAID` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` + +### 数据库调用链 + +- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `MES_ProductTask_WorkTimeSum` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理 +- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `MES_ProductAdmin_Query` -> 视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据 +- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `Prog_MES_SingleTaskPlanned` -> 过程体未解析 -> 计划排产或派工 +- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `MES_ProductTask_Notice` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 业务存储过程调用 +- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号`;`FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`;`select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量`;`Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0`;`INSERT INTO [MES_接口_生产计划_生产任务]`;`set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'`;`delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0`;`if(@最晚开始时间 = '') set @最晚开始时间 = NULL`;`if(@计划开始时间 = '') set @计划开始时间 = NULL`;`if(@计划完成时间 = '') set @计划完成时间 = NULL`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET [指派对象编号] = @指派对象编号`。 +- `MES_ProductTask_WorkTimeSum` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`。 主要返回字段线索:`TaskAID, 工序名称, sum(工时) as 总工时`。 关键过滤/匹配条件:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 排序/分组/分页线索:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 +- `MES_ProductAdmin_Query` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@性质 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@工位 nvarchar(500)`。 主要返回字段线索:`top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`、`[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`、`[优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'''`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''`;`if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''`;`if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''`;`if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''`;`if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''`;`if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''`;`if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`;`if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''`;`if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''`;`if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''`;`if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''`;`if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''`;`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 [不装配] ''否'''`。 +- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 +- `Prog_MES_SingleTaskPlanned` 属于 通用业务,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。 +- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。 +- `MES_ProductTask_Notice` 属于 生产执行/工时,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID BIGINT,`、`@外协通知 int`。 关键过滤/匹配条件:`UPDATE [MES_接口_生产计划_生产任务] set [外协通知] = @外协通知 where [AID] = @TaskAID`。 关键写入/状态处理语句线索:`UPDATE [MES_接口_生产计划_生产任务] set [外协通知] = @外协通知 where [AID] = @TaskAID`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 + +## 39. src/views/ProductionManagement/ProductionTasksSum/index.vue + +**页面位置**:`src/views/ProductionManagement/ProductionTasksSum/index.vue` +**所属模块**:ProductionManagement / ProductionTasksSum +**源码行数**:533 + +### 页面功能 + +该页面做生产任务汇总。用户按订单、工序、工位、时间等维度查询生产任务和工时汇总,并可编辑计划说明或派工信息。 + +页面可见的操作/字段包括 “查询”、“编辑”、“取 消”、“确 定”、“item.指南工位号”、“表单”、“序号”、“销售订单”、“生产订单”、“零件编码”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `MES_登录_工位与名称_查询`、`MES_ProductTask_WorkTimeSum`、`生产管理_生产任务汇总`、`Prog_MES_LoadStations`、`MES_OrderPlanned_DescriptionEdit`、`MES_OrderPlanned_EditTaskPlanned` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `MES_ProductTask_WorkTimeSum` -> `生产管理_生产任务汇总` -> `Prog_MES_LoadStations` -> `MES_OrderPlanned_DescriptionEdit` -> `MES_OrderPlanned_EditTaskPlanned` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`编辑`、`取 消`、`确 定`、`item.指南工位号`、`表单`、`序号`、`销售订单`、`生产订单`、`零件编码`、`产品名称`、`计划数`、`工序名称`、`总工时`、`占用情况`、`计划开始时间`、`计划完成时间`、`最晚开始时间` + +主要方法线索:`getDoing`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.completionTime ? this.completionTime[0` | `@计划开工_Start` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@计划开工_End` | - | +| 参数 | `this.orderNo ` | `@订单号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `'自制件'` | `@物料类型` | - | +| 参数 | `this.contractNo` | `@合同号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.productCode` | `@产品编码` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.productName` | `@产品名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.processName` | `@工序名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.nature` | `@性质` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.completionTime ? this.completionTime[0` | `@要求完工日期1` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@要求完工日期2` | - | +| 参数 | `this.productionStatus` | `@排产状态` | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` | +| 参数 | `this.Doing.toString()` | `@工位` | - | +| 参数 | `this.currentRow.订单号` | `@订单号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `this.currentRow.订单行号` | `@订单行号` | - | +| 参数 | `this.currentRow.拆分内码` | `@订单拆分内码` | - | +| 参数 | `this.editForm.优先级` | `@优先级` | - | +| 参数 | `this.editForm.未完成说明` | `@未完成说明` | - | +| 参数 | `this.editForm.派工特殊说明` | `@派工特殊说明` | - | +| 参数 | `this.$store.state.user.name` | `@最后编辑人` | - | +| 参数 | `editstr` | `@editstr` | - | +| 参数 | `taskInfo.订单号` | `@订单号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 参数 | `taskInfo.订单行号` | `@订单行号` | - | +| 参数 | `taskInfo.拆分内码` | `@订单拆分内码` | - | +| 参数 | `startTime` | `@计划开始时间` | - | +| 参数 | `endTime` | `@计划完成时间` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `销售订单` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 显示列 | `生产订单` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 显示列 | `零件编码` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 显示列 | `产品名称` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 显示列 | `计划数` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 显示列 | `工序名称` | - | `TaskAID, 工序名称, sum(工时) as 总工时` | +| 显示列 | `总工时` | - | `TaskAID, 工序名称, sum(工时) as 总工时` | +| 显示列 | `占用情况` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 显示列 | `计划开始时间` | - | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` | +| 显示列 | `计划完成时间` | - | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` | +| 显示列 | `最晚开始时间` | - | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` | +| 显示列 | `要求完工日期` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | +| 显示列 | `收料` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- FullCalendar + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 254 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 274 | 11(当前通用存储过程查询/执行) | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 | +| 318 | 11(当前通用存储过程查询/执行) | `生产管理_生产任务汇总` | 业务存储过程调用 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 视图:`View_生产订单_MES` | +| 336 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` | +| 373 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 453 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `MES_ProductTask_WorkTimeSum`:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称` +- `生产管理_生产任务汇总`:`CREATE PROCEDURE [dbo].[生产管理_生产任务汇总]`;`@排产状态 nvarchar(50) = '全部', `;`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and 加工状态 in (2, 4) '`;`SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`;`, [排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`;`, [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], `;`if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''`;`if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''` +- `MES_OrderPlanned_DescriptionEdit`:`@未完成说明 nvarchar(50) = '', `;`@派工特殊说明 nvarchar(500) = '', `;`Update [MES_接口_生产计划_生产任务] set`;`未完成说明 = @未完成说明, `;`派工特殊说明 = @派工特殊说明, ` +- `MES_OrderPlanned_EditTaskPlanned`:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '` + +### 数据库调用链 + +- `src/views/ProductionManagement/ProductionTasksSum/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/ProductionManagement/ProductionTasksSum/index.vue` -> `MES_ProductTask_WorkTimeSum` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理 +- `src/views/ProductionManagement/ProductionTasksSum/index.vue` -> `生产管理_生产任务汇总` -> 视图:`View_生产订单_MES` -> 业务存储过程调用 +- `src/views/ProductionManagement/ProductionTasksSum/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据 +- `src/views/ProductionManagement/ProductionTasksSum/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/ProductionManagement/ProductionTasksSum/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `MES_ProductTask_WorkTimeSum` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`。 主要返回字段线索:`TaskAID, 工序名称, sum(工时) as 总工时`。 关键过滤/匹配条件:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 排序/分组/分页线索:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 +- `生产管理_生产任务汇总` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@性质 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@工位 nvarchar(500)`。 主要返回字段线索:`top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`、`[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`、`[优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], `、`isnull([可执行], 0) as 可执行, isnull([收料], 0) as [收料], isnull([开工], 0) as [开工], isnull([首检], 0) as [首检], isnull([巡检], 0) as [巡检], `、`isnull([进度], 0) as [进度], isnull([序检], 0) as [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and 加工状态 in (2, 4) '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''`;`if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''`;`if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''`;`if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''`;`if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''`;`if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''`;`if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`;`if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'`。 关键写入/状态处理语句线索:`set @selectStr = '`;`if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''`;`if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''`;`if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''`;`if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''`;`if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''`;`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 [不装配] ''否'''`。 +- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 +- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。 +- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`;`if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)`;`if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)`;`if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`;`if(@editstr'')set @updateStr = @updateStr + @editstr`;`set @selStr = @updateStr+@whereStr`。 + +## 40. src/views/ProductionManagement/SaleOutsourceMange/index.vue + +**页面位置**:`src/views/ProductionManagement/SaleOutsourceMange/index.vue` +**所属模块**:ProductionManagement / SaleOutsourceMange +**源码行数**:1630 + +### 页面功能 + +该页面管理外协任务。用户查询可外协工序,按供应商/订单/工序分组,执行外协派工并同步 SAP 采购请求或相关单据,维护外协发料、收料、质检记录、打印次数和备注。 + +页面可见的操作/字段包括 “查询 派工并同步SAP”、“打印”、“发料”、“收货”、“更新”、“编辑”、“历史记录”、“查看图纸”、“工艺图纸”、“收发记录”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `计划排产_重置派工状态`、`生产管理_外协管理_外协历史查询`、`计划排产_派工`、`生产管理_外协管理_更新打印次数`、`生产管理_外协管理_更新备注`、`工艺管理_图纸维护_查看图纸` 等过程 取数或提交业务动作。 + +### 页面流程图 + +外协业务流程: + +```mermaid +flowchart LR + A[输入订单/合同/供应商/工序条件] --> B[查询外协任务或外协报表] + B --> C[选择外协工序/供应商] + C --> D[计划排产_派工 或外协分组] + D --> E[POST SAP 采购/外协相关请求] + E --> F[外协发料查询/保存] + F --> G[外协收料/质检记录] + G --> H[更新打印次数/备注/报表状态] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询 派工并同步SAP`、`打印`、`发料`、`收货`、`更新`、`编辑`、`历史记录`、`查看图纸`、`工艺图纸`、`收发记录`、`质检记录`、`取 消`、`确 定`、`关 闭`、`关闭`、`item.label`、`序号`、`生产订单` + +主要方法线索:`updatedata` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `row.TaskAID` | `@TaskAID` | - | +| 参数 | `minTaskAID` | `@minTaskAID` | - | +| 参数 | `maxTaskAID` | `@TaskAID` | - | +| 参数 | `this.textcontent` | `@外协备注` | - | +| 参数 | `this.textweight` | `@单重` | - | +| 参数 | `this.textsum` | `@打印数量` | - | +| 参数 | `this.orderNo` | `@订单号` | - | +| 参数 | `this.productCode` | `@产品编码` | - | +| 参数 | `this.itemName` | `@产品名称` | - | +| 参数 | `this.processName` | `@工序名称` | - | +| 参数 | `this.workstate` | `@派工状态` | - | +| 参数 | `this.issuingstate` | `@发料状态` | - | +| 参数 | `this.orderstate` | `@订单状态` | - | +| 参数 | `this.dostate` | `@执行状态` | - | +| 参数 | `this.plannum` | `@计划号` | - | +| 参数 | `maxTaskAID` | `@maxTaskAID` | - | +| 参数 | `this.$store.state.user.name` | `@optor` | - | +| 参数 | `this.receiveNum` | `@recievCount` | - | +| 参数 | `row.单重` | `@单重` | - | +| 参数 | `row.外协备注` | `@备注` | - | +| 参数 | `this.doNum` | `@recievCount` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `生产订单` | - | `订单号` | +| 显示列 | `计划号` | - | `计划号` | +| 显示列 | `物料名称` | - | `产品名称` | +| 显示列 | `工序名称` | - | `工序名称` | +| 显示列 | `物料编码` | - | `产品编码` | +| 显示列 | `计划开始时间` | - | `计划开始时间` | +| 显示列 | `计划完成时间` | - | `计划完成时间` | +| 显示列 | `同步状态` | - | `同步状态` | +| 显示列 | `上序合格数` | - | `上序合格数` | +| 显示列 | `指派数量` | - | `v.[指派数量], ` | +| 显示列 | `打印数量` | - | `打印数量` | +| 显示列 | `发料数量` | - | `v.[收料数量], ` | +| 显示列 | `收货数量` | - | `v.[完成数量], ` | +| 显示列 | `单重` | - | `单重` | +| 显示列 | `打印次数` | - | `外协打印次数` | +| 显示列 | `备注` | - | `外协备注` | +| 显示列 | `操作` | - | `操作描述, ` | +| 显示列 | `类型` | - | `操作类别` | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) +- PDF/图纸预览或导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 684 | 11(当前通用存储过程查询/执行) | `计划排产_重置派工状态` | 计划排产或派工 | 更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 715 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_外协历史查询` | 查询/读取数据 | 查询、处理外协业务 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` | +| 1030 | 12(当前通用存储过程写入/业务动作) | `计划排产_派工` | 计划排产或派工 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1086 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_更新打印次数` | 更新/保存业务数据 | 查询、新增、更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1108 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_更新备注` | 更新/保存业务数据 | 查询、新增、更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 1140 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 1159 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` | +| 1187 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_查询外协` | 查询/读取数据 | 查询、新增、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 1419 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_外协发料查询` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 1443 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_查询外协历史记录` | 查询/读取数据 | 查询、处理报工/工时、处理外协业务 | 表:`YL_加工中心_操作记录表` | +| 1468 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_查询质检记录` | 查询/读取数据 | 查询、处理质检数据、处理外协业务 | 表:`YL_质量检验_质检记录` | +| 1495 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_外协发料查询` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 1537 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_外协发料保存` | 更新/保存业务数据 | 查询、更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划` | +| 1572 | 11(当前通用存储过程查询/执行) | `生产管理_外协管理_外协收料保存` | 更新/保存业务数据 | 更新、处理报工/工时、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 1041 行:`postB1("/PurchaseRequests")` + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 1041 | `postB1` | `/PurchaseRequests` | 调用外部接口,失败会影响对应外部系统同步。 | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments`、`DocumentLines`、`ItemCode` | + +### 状态流转说明 + +- `计划排产_重置派工状态`:`CREATE PROCEDURE [dbo].[计划排产_重置派工状态]`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`[派工状态] = 0, `;`[派工时间] = GETDATE(), ` +- `生产管理_外协管理_外协历史查询`:`FROM [dbo].[YL_加工中心_操作记录表]` +- `计划排产_派工`:`CREATE PROCEDURE [dbo].[计划排产_派工]`;`@派工操作人 NVARCHAR(50)`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`[派工状态] = 1`;`, [派工时间] = getdate()`;`, [派工操作人] = @派工操作人`;`'成功' AS 状态, ` +- `生产管理_外协管理_更新打印次数`:`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`'成功' AS 状态, `;`'错误' AS 状态, ` +- `生产管理_外协管理_更新备注`:`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`'成功' AS 状态, `;`'错误' AS 状态, ` +- `生产管理_外协管理_查询外协`:`@派工状态 int = 1, `;`@订单状态 int = 0, `;`@发料状态 int = 2`;`完成数量 nvarchar(50), `;`计划完成 datetime, `;`加急状态 nvarchar(50), `;`排产状态 nvarchar(20), `;`计划完成时间 datetime, ` +- `生产管理_外协管理_外协发料查询`:`, [加急状态]`;`, [排产状态]`;`, [计划完成时间]`;`, [派工状态]`;`, [派工时间]`;`, [任务状态]`;`, [未完成说明]`;`, [派工特殊说明]` +- `生产管理_外协管理_查询外协历史记录`:`select * from [dbo].[YL_加工中心_操作记录表] where 操作类别 in ('收料', '报工') and TaskAID = @maxTaskAID and isnull(操作数值, 0) 0` +- `生产管理_外协管理_查询质检记录`:`create PROCEDURE [dbo].[生产管理_外协管理_查询质检记录]`;`select * from [dbo].[YL_质量检验_质检记录] where TaskAID = @maxTaskAID` +- `生产管理_外协管理_外协发料查询`:`, [加急状态]`;`, [排产状态]`;`, [计划完成时间]`;`, [派工状态]`;`, [派工时间]`;`, [任务状态]`;`, [未完成说明]`;`, [派工特殊说明]` +- `生产管理_外协管理_外协发料保存`:`declare @任务状态 int`;`select @任务状态 = isnull(任务状态, 0) from MES_接口_生产计划_生产任务 where AID = @TaskAID`;`if(@任务状态 < = 1 )`;`Update MES_接口_生产计划_生产任务`;`set 任务状态 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, `;`if(@任务状态 > 1 )` +- `生产管理_外协管理_外协收料保存`:`declare @任务状态 int`;`Update MES_接口_生产计划_生产任务`;`set 完成数量 = isnull(完成数量, 0)+@recievCount, ` + +### 数据库调用链 + +- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `计划排产_重置派工状态` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_外协历史查询` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `计划排产_派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工 +- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_更新打印次数` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_更新备注` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据 +- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_查询外协` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_外协发料查询` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_查询外协历史记录` -> 表:`YL_加工中心_操作记录表` -> 查询/读取数据 +- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_查询质检记录` -> 表:`YL_质量检验_质检记录` -> 查询/读取数据 +- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_外协发料查询` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_外协发料保存` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据 +- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_外协收料保存` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `计划排产_重置派工状态` 属于 计划排产,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID NVARCHAR(MAX)`。 关键过滤/匹配条件:`WHERE AID IN (' + @TaskAID + ')'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @Sql = '`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET`。 +- `生产管理_外协管理_外协历史查询` 属于 外协协同,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`操作描述, `、`最后编辑时间, `、`操作数值, `、`TaskAID`。 关键过滤/匹配条件:`WHERE [TaskAID] = @TaskAID and 操作类别 = '收料'`。 +- `计划排产_派工` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';`;`WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempOrders (订单编号)`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET`。 实现特征:事务控制、临时表 `#TempOrders`。 +- `生产管理_外协管理_更新打印次数` 属于 外协协同,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';`;`WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempOrders (订单编号)`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET 外协打印次数 = ISNULL(外协打印次数, 0) + 1`。 实现特征:事务控制、异常捕获、临时表 `#TempOrders`。 +- `生产管理_外协管理_更新备注` 属于 外协协同,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX),`、`@外协备注 NVARCHAR(MAX)`、`@单重 NVARCHAR(50)`、`@打印数量 NVARCHAR(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';`;`WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempOrders (订单编号)`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET 外协备注 = @外协备注, 单重 = @单重, 打印数量 = @打印数量`。 实现特征:事务控制、异常捕获、临时表 `#TempOrders`。 +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `生产管理_外协管理_查询外协` 属于 外协协同,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、新增、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@派工状态 int`、`@订单状态 int`、`@计划号 nvarchar(50)`、`@发料状态 int`。 主要返回字段线索:`v.[订单编号], `、`v.[订单行号], `、`v.[物料编号], `、`v.[物料描述], `、`v.[完成数量], `、`v.[指派数量], `、`v.[外协分组], `、`v.[不合格数量], `、`v.[收料数量], `、`v.[合同号], `。 关键过滤/匹配条件:`WHERE v.[物料类型] = 'pit_Resource'`;`AND v.[指派对象] = '外协'`;`AND (@订单号 = 0 OR v.[订单编号] = @订单号)`;`AND (@计划号 = '' OR v.[计划号] LIKE '%' + @计划号 + '%')`;`AND (@产品编码 = '' OR v.[物料编号] LIKE '%' + @产品编码 + '%')`;`AND (@产品名称 = '' OR v.[物料描述] LIKE '%' + @产品名称 + '%')`;`AND (@工序名称 = '' OR v.[工序名称] LIKE '%' + @工序名称 + '%')`;`WHERE prev.订单编号 = bd.订单编号`;`AND prev.订单行号 = bd.订单行号 - 1`;`AND ISNULL(prev.外协分组, '') = ISNULL(bd.外协分组, '')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #BaseData (`。 排序/分组/分页线索:`ORDER BY ga.订单行号`;`GROUP BY 订单编号, 外协分组, 组ID`;`ORDER BY bd.订单编号, bd.订单行号`。 实现特征:临时表 `#BaseData`。 +- `生产管理_外协管理_外协发料查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@maxTaskAID bigint,`、`@minTaskAID bigint`。 主要返回字段线索:`@上序订单编号 = [订单编号], `、`@上序订单行号 = [订单行号]`。 关键过滤/匹配条件:`WHERE [TaskAID] = @minTaskAID`;`WHERE vt.[订单编号] = vo.[订单编号]`;`AND vt.[订单行号] = @上序订单行号 - 1`;`AND qc.检测类型编号 = '6'`;`WHERE qc.TaskAID = @minTaskAID`;`WHERE [TaskAID] = @maxTaskAID`。 +- `生产管理_外协管理_查询外协历史记录` 属于 外协协同,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理外协业务。 读取/关联对象:表:`YL_加工中心_操作记录表`。 入参/分页参数:`@maxTaskAID bigint`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[YL_加工中心_操作记录表] where 操作类别 in ('收料', '报工') and TaskAID = @maxTaskAID and isnull(操作数值, 0) 0`。 +- `生产管理_外协管理_查询质检记录` 属于 外协协同,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`。 入参/分页参数:`@maxTaskAID bigint`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[YL_质量检验_质检记录] where TaskAID = @maxTaskAID`。 +- `生产管理_外协管理_外协发料查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@maxTaskAID bigint,`、`@minTaskAID bigint`。 主要返回字段线索:`@上序订单编号 = [订单编号], `、`@上序订单行号 = [订单行号]`。 关键过滤/匹配条件:`WHERE [TaskAID] = @minTaskAID`;`WHERE vt.[订单编号] = vo.[订单编号]`;`AND vt.[订单行号] = @上序订单行号 - 1`;`AND qc.检测类型编号 = '6'`;`WHERE qc.TaskAID = @minTaskAID`;`WHERE [TaskAID] = @maxTaskAID`。 +- `生产管理_外协管理_外协发料保存` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@recievCount int,`、`@optor nvarchar(50),`、`@单重 nvarchar(50)`、`@备注 nvarchar(50)`。 主要返回字段线索:`@任务状态 = isnull(任务状态, 0)`。 关键过滤/匹配条件:`select @任务状态 = isnull(任务状态, 0) from MES_接口_生产计划_生产任务 where AID = @TaskAID`;`where AID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务`;`set 任务状态 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, `;`set 收料 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, `。 +- `生产管理_外协管理_外协收料保存` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@recievCount int,`、`@optor nvarchar(50)`。 关键过滤/匹配条件:`where AID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务`;`set 完成数量 = isnull(完成数量, 0)+@recievCount, `。 + +## 41. src/views/ProductionManagement/ShiftManagement/index.vue + +**页面位置**:`src/views/ProductionManagement/ShiftManagement/index.vue` +**所属模块**:ProductionManagement / ShiftManagement +**源码行数**:390 + +### 页面功能 + +该页面维护班次和班次人员绑定。用户新增、修改、删除班次,给班次绑定人员,为工时计算和报工归属提供基础数据。 + +页面可见的操作/字段包括 “添加新班次”、“编辑”、“保存”、“取消”、“绑定”、“删除”、“确 定”、“取 消”、“序号”、“班次”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `生产管理_班次管理_班次列表查询`、`系统管理_人员管理_所有有效人员查询`、`生产管理_班次管理_班次绑定人员查询`、`生产管理_班次管理_班次保存`、`生产管理_班次管理_班次删除`、`生产管理_班次管理_班次绑定人员保存` 等过程 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `生产管理_班次管理_班次列表查询` -> `系统管理_人员管理_所有有效人员查询` -> `生产管理_班次管理_班次绑定人员查询` -> `生产管理_班次管理_班次保存` -> `生产管理_班次管理_班次删除` -> `生产管理_班次管理_班次绑定人员保存` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`添加新班次`、`编辑`、`保存`、`取消`、`绑定`、`删除`、`确 定`、`取 消`、`序号`、`班次`、`时间`、`绑定人员`、`操作`、`请输入班次名称`、`开始时间`、`结束时间` + +主要方法线索:`searchData`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 显示列 | `序号` | - | `序号` | +| 显示列 | `班次` | - | `班次编号, ` | +| 显示列 | `时间` | - | `CONVERT(VARCHAR(5), 开始时间, 108) AS 开始时间, ` | +| 显示列 | `绑定人员` | - | `绑定人员` | +| 显示列 | `操作` | - | `@操作人, ` | +| 输入字段 | `scope.row.班次名称` | - | - | +| 输入字段 | `scope.row.开始时间` | - | - | +| 输入字段 | `scope.row.结束时间` | - | - | +| 输入字段 | `selectedPersonnel` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 159 | 11(当前通用存储过程查询/执行) | `生产管理_班次管理_班次列表查询` | 查询/读取数据 | 查询 | 未在 SQL 中解析到明确依赖 | +| 179 | 11(当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` | +| 200 | 11(当前通用存储过程查询/执行) | `生产管理_班次管理_班次绑定人员查询` | 查询/读取数据 | 查询 | 未在 SQL 中解析到明确依赖 | +| 252 | 11(当前通用存储过程查询/执行) | `生产管理_班次管理_班次保存` | 更新/保存业务数据 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 | +| 311 | 11(当前通用存储过程查询/执行) | `生产管理_班次管理_班次删除` | 删除业务数据 | 查询、更新 | 未在 SQL 中解析到明确依赖 | +| 334 | 11(当前通用存储过程查询/执行) | `生产管理_班次管理_班次绑定人员查询` | 查询/读取数据 | 查询 | 未在 SQL 中解析到明确依赖 | +| 355 | 11(当前通用存储过程查询/执行) | `生产管理_班次管理_班次绑定人员保存` | 更新/保存业务数据 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +- `src/views/ProductionManagement/ShiftManagement/index.vue` -> `生产管理_班次管理_班次列表查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProductionManagement/ShiftManagement/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/ProductionManagement/ShiftManagement/index.vue` -> `生产管理_班次管理_班次绑定人员查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProductionManagement/ShiftManagement/index.vue` -> `生产管理_班次管理_班次保存` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据 +- `src/views/ProductionManagement/ShiftManagement/index.vue` -> `生产管理_班次管理_班次删除` -> 未在 SQL 中解析到明确依赖 -> 删除业务数据 +- `src/views/ProductionManagement/ShiftManagement/index.vue` -> `生产管理_班次管理_班次绑定人员查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProductionManagement/ShiftManagement/index.vue` -> `生产管理_班次管理_班次绑定人员保存` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `生产管理_班次管理_班次列表查询` 属于 班次与人员排班,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 主要返回字段线索:`班次编号, `、`班次名称, `、`CONVERT(VARCHAR(5), 开始时间, 108) AS 开始时间, `、`CONVERT(VARCHAR(5), 结束时间, 108) AS 结束时间, `、`创建时间, `、`创建人, `、`更新时间, `、`更新人`。 关键过滤/匹配条件:`WHERE 是否删除 = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 开始时间`。 +- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。 +- `生产管理_班次管理_班次绑定人员查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@班次编号 NVARCHAR(50)`。 主要返回字段线索:`p.Personnel_Number AS 人员编号, `、`p.Personnel_Name AS 人员姓名, `、`p.account AS 账号, `、`p.Roles_Function AS 角色, `、`sb.绑定时间`。 关键过滤/匹配条件:`WHERE sb.班次编号 = @班次编号`;`AND sb.是否删除 = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.Personnel_Name`。 +- `生产管理_班次管理_班次保存` 属于 班次与人员排班,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`班次表`。 入参/分页参数:`@班次编号 NVARCHAR(50),`、`@班次名称 NVARCHAR(50),`、`@开始时间 NVARCHAR(5),`、`@结束时间 NVARCHAR(5),`、`@操作人 NVARCHAR(50)`。 主要返回字段线索:`@执行结果 AS 执行结果, @提示信息 AS 提示信息;`、`RETURN;`、`END`、`IF EXISTS (SELECT 1`。 关键过滤/匹配条件:`IF @开始时间DT IS NULL OR @结束时间DT IS NULL`;`IF EXISTS (SELECT 1 FROM 班次表 WHERE 班次名称 = @班次名称 AND 班次编号 ! = @班次编号 AND 是否删除 = 0)`;`IF EXISTS (SELECT 1 FROM 班次表 WHERE 班次编号 = @班次编号 AND 是否删除 = 0)`;`WHERE 班次编号 = @班次编号;`;`IF EXISTS (SELECT 1 FROM 班次表 WHERE 班次编号 = @班次编号 AND 是否删除 = 1)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @开始时间DT = TRY_CAST(@开始时间 AS TIME);`;`SET @结束时间DT = TRY_CAST(@结束时间 AS TIME);`;`SET @执行结果 = 0;`;`SET @提示信息 = '时间格式不正确,请使用HH:mm格式';`;`SET @提示信息 = '班次名称已存在,请使用其他名称';`;`UPDATE 班次表`;`SET`;`SET @提示信息 = '班次更新成功';`;`INSERT INTO 班次表 (`;`SET @提示信息 = '班次保存成功';`。 实现特征:事务控制、异常捕获。 +- `生产管理_班次管理_班次删除` 属于 班次与人员排班,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`班次表`。 入参/分页参数:`@班次编号 NVARCHAR(50),`、`@操作人 NVARCHAR(50)`。 主要返回字段线索:`1`。 关键过滤/匹配条件:`IF EXISTS (SELECT 1 FROM 班次人员绑定表 WHERE 班次编号 = @班次编号 AND 是否删除 = 0)`;`WHERE 班次编号 = @班次编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`UPDATE 班次表`;`SET 是否删除 = 1, `。 实现特征:事务控制、异常捕获。 +- `生产管理_班次管理_班次绑定人员查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@班次编号 NVARCHAR(50)`。 主要返回字段线索:`p.Personnel_Number AS 人员编号, `、`p.Personnel_Name AS 人员姓名, `、`p.account AS 账号, `、`p.Roles_Function AS 角色, `、`sb.绑定时间`。 关键过滤/匹配条件:`WHERE sb.班次编号 = @班次编号`;`AND sb.是否删除 = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.Personnel_Name`。 +- `生产管理_班次管理_班次绑定人员保存` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`班次人员绑定表`。 入参/分页参数:`@班次编号 NVARCHAR(50),`、`@人员编号列表 NVARCHAR(MAX),`、`@操作人 NVARCHAR(50)`。 主要返回字段线索:`@班次编号, `、`value AS 人员编号, `、`GETDATE(), `、`@操作人, `、`0`。 关键过滤/匹配条件:`WHERE 班次编号 = @班次编号`;`AND 是否删除 = 0`;`IF @人员编号列表 IS NOT NULL AND @人员编号列表 ! = ''`;`WHERE value IS NOT NULL AND value ! = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`UPDATE 班次人员绑定表`;`SET 是否删除 = 1, `;`INSERT INTO 班次人员绑定表 (`。 实现特征:事务控制、异常捕获。 + +## 42. src/views/ProductionManagement/Timesheet/index.vue + +**页面位置**:`src/views/ProductionManagement/Timesheet/index.vue` +**所属模块**:ProductionManagement / Timesheet +**源码行数**:858 + +### 页面功能 + +该页面统计工时。用户按项目、作业者、设备、任务等维度查询工时数据,并可导出报表。 + +页面可见的操作/字段包括 “查询”、“Excel导出”、“项目工时”、“合同号”、“产品名称”、“产品编码”、“订单编号”、“工序名称”、“操作人”、“计划/完成”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `工时统计_项目工时_查询`、`工时统计_作业者工时_查询`、`工时统计_设备工时_查询`、`工时统计_任务工时_查询` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `工时统计_项目工时_查询` -> `工时统计_作业者工时_查询` -> `工时统计_设备工时_查询` -> `工时统计_任务工时_查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`Excel导出`、`项目工时`、`合同号`、`产品名称`、`产品编码`、`订单编号`、`工序名称`、`操作人`、`计划/完成`、`报工数量`、`计划开始`、`计划完成`、`工时(h)`、`作业者工时`、`操作人/日期`、`报工次数`、`订单号` + +主要方法线索:`handleSearch` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 显示列 | `合同号` | - | `v.订单合同号 AS 合同号, ` | +| 显示列 | `产品名称` | - | `v.产品名称, ` | +| 显示列 | `产品编码` | - | `v.产品编码, ` | +| 显示列 | `订单编号` | - | `订单号, ` | +| 显示列 | `工序名称` | - | `工序名称, ` | +| 显示列 | `操作人` | - | `操作人, ` | +| 显示列 | `计划/完成` | - | `qty` | +| 显示列 | `报工数量` | - | `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 计划完成, ` | +| 显示列 | `工时(h)` | - | `workHours` | +| 显示列 | `操作人/日期` | - | `operator` | +| 显示列 | `报工次数` | - | `COUNT(*) AS 报工次数, ` | +| 显示列 | `订单号` | - | `订单号, ` | +| 显示列 | `开始时间` | - | `startTime` | +| 显示列 | `结束时间` | - | `endTime` | +| 显示列 | `类型` | - | `SUM(CASE WHEN v.操作类别 IN ('报工', '辅助结束') THEN v.操作数值 ELSE 0 END) AS 报工数量, ` | +| 显示列 | `工序说明` | - | `工序说明` | +| 显示列 | `异常说明` | - | `异常说明` | +| 显示列 | `类型` | - | `workHours` | +| 输入字段 | `searchForm.contractNo` | - | - | +| 输入字段 | `searchForm.operator` | - | - | +| 输入字段 | `searchForm.productCode` | - | - | +| 输入字段 | `searchForm.processName` | - | - | +| 输入字段 | `searchForm.orderNo` | - | - | +| 输入字段 | `searchForm.startDate` | - | - | +| 输入字段 | `searchForm.endDate` | - | - | +| 输入字段 | `activeTab` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- Excel/报表导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 476 | 11(当前通用存储过程查询/执行) | `工时统计_项目工时_查询` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 | +| 547 | 11(当前通用存储过程查询/执行) | `工时统计_作业者工时_查询` | 查询/读取数据 | 查询、处理报工/工时 | 视图:`View_生产工时视图` | +| 568 | 11(当前通用存储过程查询/执行) | `工时统计_设备工时_查询` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 | +| 649 | 11(当前通用存储过程查询/执行) | `工时统计_任务工时_查询` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `工时统计_项目工时_查询`:`MAX(v.完成数量) AS 完成数量, `;`MAX(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划完成, `;`CAST(SUM(v.加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 总工时小时`;`CAST(SUM(v.加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 工时小时, `;`MAX(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划完成`;`CASE WHEN 完成数量 = FLOOR(完成数量) THEN CAST(CAST(完成数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(完成数量 AS DECIMAL(10, 1)) AS VARCHAR(20)) END AS qty, `;`ISNULL(计划完成, '') AS planEnd, `;`d.计划完成 AS planEnd, ` +- `工时统计_设备工时_查询`:`CAST(SUM(加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 总工时小时`;`CAST(SUM(加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 工时小时`;`CAST(加工工时 / 60.0 / 60.0 AS DECIMAL(10, 2)) AS 工时小时` +- `工时统计_任务工时_查询`:`CREATE PROCEDURE [dbo].[工时统计_任务工时_查询]`;`;WITH 任务汇总 AS (`;`MAX(完成数量) 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 AS qty, `;`FROM 任务汇总` + +### 数据库调用链 + +- `src/views/ProductionManagement/Timesheet/index.vue` -> `工时统计_项目工时_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProductionManagement/Timesheet/index.vue` -> `工时统计_作业者工时_查询` -> 视图:`View_生产工时视图` -> 查询/读取数据 +- `src/views/ProductionManagement/Timesheet/index.vue` -> `工时统计_设备工时_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/ProductionManagement/Timesheet/index.vue` -> `工时统计_任务工时_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `工时统计_项目工时_查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@合同号 NVARCHAR(50)`、`@操作人 NVARCHAR(50)`、`@产品编码 NVARCHAR(100)`、`@工序名称 NVARCHAR(50)`、`@订单号 NVARCHAR(50)`、`@开始日期 DATE`、`@结束日期 DATE`。 主要返回字段线索:`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 总工时小时`。 关键过滤/匹配条件:`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 '%' + @订单号 + '%')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`GROUP BY v.订单合同号, v.产品编码, v.产品名称`;`GROUP BY v.订单合同号, v.产品编码, v.工序名称, v.操作人, v.订单号`;`ORDER BY contractNo, materialCode, [Level], processName`。 +- `工时统计_作业者工时_查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产工时视图`。 入参/分页参数:`@合同号 NVARCHAR(50)`、`@操作人 NVARCHAR(50)`、`@产品编码 NVARCHAR(100)`、`@工序名称 NVARCHAR(50)`、`@订单号 NVARCHAR(50)`、`@开始日期 DATE`、`@结束日期 DATE`。 主要返回字段线索:`操作人, `、`COUNT(*) AS 报工次数, `、`SUM(CASE`、`WHEN 操作类别 NOT IN ('异常') THEN 操作数值`、`WHEN 操作类别 = '异常' THEN -操作数值`、`ELSE 0`、`END) AS 报工数量, `、`CAST(SUM(CASE`、`WHEN 操作类别 = '异常' THEN -总时长`、`ELSE 总时长`。 关键过滤/匹配条件:`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`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`GROUP BY 操作人`;`GROUP BY 操作人, CONVERT(VARCHAR(10), 开始时间, 120)`;`ORDER BY operator, dateLabel, [Level]`。 +- `工时统计_设备工时_查询` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@合同号 NVARCHAR(50)`、`@操作人 NVARCHAR(50)`、`@产品编码 NVARCHAR(100)`、`@工序名称 NVARCHAR(50)`、`@订单号 NVARCHAR(50)`、`@开始日期 DATE`、`@结束日期 DATE`。 主要返回字段线索:`工位名称, `、`COUNT(*) AS 报工次数, `、`SUM(CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN 操作数值 ELSE 0 END) AS 报工数量, `、`CAST(SUM(加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 总工时小时`。 关键过滤/匹配条件:`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`;`AND 工位名称 IS NOT NULL AND 工位名称 ! = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`GROUP BY 工位名称`;`GROUP BY 工位名称, CONVERT(VARCHAR(10), 开始时间, 120)`;`ORDER BY operator, dateLabel, [Level]`。 +- `工时统计_任务工时_查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@合同号 NVARCHAR(50)`、`@操作人 NVARCHAR(50)`、`@产品编码 NVARCHAR(100)`、`@工序名称 NVARCHAR(50)`、`@订单号 NVARCHAR(50)`、`@开始日期 DATE`、`@结束日期 DATE`。 主要返回字段线索:`订单合同号 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 总工时小时`。 关键过滤/匹配条件:`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 '%' + @订单号 + '%')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`GROUP BY 订单合同号, 订单号, 产品编码, 产品名称, 工序名称, 操作类别`;`ORDER BY contractNo, orderNo, productCode, processName, [Level], startTime`。 + +## 43. src/views/ProductionManagement/Urgent/index.vue + +**页面位置**:`src/views/ProductionManagement/Urgent/index.vue` +**所属模块**:ProductionManagement / Urgent +**源码行数**:474 + +### 页面功能 + +该页面维护加急任务。用户查询加急订单明细,并更新完成、转至等字段,用于生产/质检优先级管理。 + +页面可见的操作/字段包括 “查询”、“转至 完成 加急明细 --> 生产订单 加急数量 物料编号 关闭”、“装配”、“机加”、“全部”、“已转至”、“未转至”、“已完成”、“未完成”、“序号”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `加急订单_加急明细查询`、`生产管理_加急件管理查询`、`生产管理_加急件管理_更新转至`、`生产管理_加急件管理_更新完成` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `加急订单_加急明细查询` -> `生产管理_加急件管理查询` -> `生产管理_加急件管理_更新转至` -> `生产管理_加急件管理_更新完成` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`转至 完成 加急明细 --> 生产订单 加急数量 物料编号 关闭`、`装配`、`机加`、`全部`、`已转至`、`未转至`、`已完成`、`未完成`、`序号`、`销售订单`、`生产订单`、`物料名称`、`物料编码`、`工序名称`、`计划生产数`、`加急数量`、`收检数量` + +主要方法线索:`Urgent` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `row.零件编码` | `@物料编号` | `docentry as 订单编号, itemcode as 物料编号, 加急数量` | +| 参数 | `this.contractNo` | `@合同号` | `a.内部合同号, ` | +| 参数 | `this.orderNo` | `@订单号` | - | +| 参数 | `this.partNo` | `@零件编号` | - | +| 参数 | `this.changstate` | `@转至状态` | - | +| 参数 | `this.finishstate` | `@完成状态` | - | +| 参数 | `row.计划号` | `@订单号` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `销售订单` | - | `a.内部合同号, ` | +| 显示列 | `生产订单` | - | `a.计划号, ` | +| 显示列 | `物料名称` | - | `a.零件名称, ` | +| 显示列 | `物料编码` | - | `a.零件编码, ` | +| 显示列 | `工序名称` | - | `工序名称` | +| 显示列 | `计划生产数` | - | `计划生产数` | +| 显示列 | `加急数量` | - | `docentry as 订单编号, itemcode as 物料编号, 加急数量` | +| 显示列 | `收检数量` | - | `sum(a.检验数量) as 检验数量, ` | +| 显示列 | `合格数` | - | `sum(a.不合格数) as 不合格数, ` | +| 显示列 | `不合格` | - | `sum(a.不合格数) as 不合格数, ` | +| 显示列 | `检验操作人` | - | `检测人` | +| 显示列 | `检验时间` | - | `检测时间` | +| 显示列 | `操作` | - | `操作` | +| 输入字段 | `contractNo` | `@合同号` | - | +| 输入字段 | `orderNo` | `@订单号` | - | +| 输入字段 | `partNo` | `@零件编号` | - | +| 输入字段 | `attribute` | - | - | +| 输入字段 | `changstate` | `@转至状态` | - | +| 输入字段 | `finishstate` | `@完成状态` | - | +| 输入字段 | `item.订单编号` | - | - | +| 输入字段 | `item.加急数量` | - | - | +| 输入字段 | `item.物料编号` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- Excel/报表导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 311 | 11(当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` | +| 335 | 11(当前通用存储过程查询/执行) | `生产管理_加急件管理查询` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 379 | 11(当前通用存储过程查询/执行) | `生产管理_加急件管理_更新转至` | 更新/保存业务数据 | 更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录` | +| 393 | 11(当前通用存储过程查询/执行) | `生产管理_加急件管理_更新完成` | 更新/保存业务数据 | 更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录` | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `加急订单_加急明细查询`:`SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` +- `生产管理_加急件管理查询`:`@转至状态 int = 3, `;`@完成状态 int = 3, `;`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE [质检类型] = ''终检'' and b.加急总数 > 0 '`;`IF @转至状态 3`;`IF @转至状态 = '1'`;`ELSE IF @转至状态 = '2'`;`IF @完成状态 3`;`IF @完成状态 = '1'` +- `生产管理_加急件管理_更新转至`:`update [dbo].[YL_质量检验_质检记录] set 转至 = 1 where 计划号 = @订单号 and 质检类型 = '终检'` +- `生产管理_加急件管理_更新完成`:`CREATE PROCEDURE [dbo].[生产管理_加急件管理_更新完成]`;`update [dbo].[YL_质量检验_质检记录] set 完成 = 1 where 计划号 = @订单号 and 质检类型 = '终检'` + +### 数据库调用链 + +- `src/views/ProductionManagement/Urgent/index.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据 +- `src/views/ProductionManagement/Urgent/index.vue` -> `生产管理_加急件管理查询` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/ProductionManagement/Urgent/index.vue` -> `生产管理_加急件管理_更新转至` -> 表:`YL_质量检验_质检记录` -> 更新/保存业务数据 +- `src/views/ProductionManagement/Urgent/index.vue` -> `生产管理_加急件管理_更新完成` -> 表:`YL_质量检验_质检记录` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。 +- `生产管理_加急件管理查询` 属于 加急任务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@转至状态 int`、`@完成状态 int`、`@合同号 NVARCHAR(100)`、`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`。 主要返回字段线索:`sum(a.不合格数) as 不合格数, `、`sum(a.合格数) as 合格数, `、`a.内部合同号, `、`a.完成, `、`a.转至, `、`a.计划号, `、`a.零件名称, `、`a.零件编码, `、`sum(a.检验数量) as 检验数量, `、`b.加急总数, `。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE [质检类型] = ''终检'' and b.加急总数 > 0 '`;`SET @selectStrWhere = @selectStrWhere + ' AND a.内部合同号 LIKE ''%' + REPLACE(@合同号, '''', '''''') + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND a.计划号 = '+@订单号+''`;`SET @selectStrWhere = @selectStrWhere + ' AND a.零件编码 LIKE ''%' + REPLACE(@零件编号, '''', '''''') + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND 转至 = 1'`;`SET @selectStrWhere = @selectStrWhere + ' AND 转至 = 0'`;`SET @selectStrWhere = @selectStrWhere + ' AND 完成 = 1'`;`SET @selectStrWhere = @selectStrWhere + ' AND 完成 = 0'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @selectStrWhere = @selectStrWhere + ' AND a.内部合同号 LIKE ''%' + REPLACE(@合同号, '''', '''''') + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND a.计划号 = '+@订单号+''`;`SET @selectStrWhere = @selectStrWhere + ' AND a.零件编码 LIKE ''%' + REPLACE(@零件编号, '''', '''''') + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND 转至 = 1'`;`SET @selectStrWhere = @selectStrWhere + ' AND 转至 = 0'`;`SET @selectStrWhere = @selectStrWhere + ' AND 完成 = 1'`;`SET @selectStrWhere = @selectStrWhere + ' AND 完成 = 0'`;`SET @selectStr = N' select`。 排序/分组/分页线索:`group by a.内部合同号, a.完成, a.转至, a.计划号, `。 +- `生产管理_加急件管理_更新转至` 属于 加急任务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`。 写入或更新对象:`YL_质量检验_质检记录`。 入参/分页参数:`@订单号 int`。 关键过滤/匹配条件:`update [dbo].[YL_质量检验_质检记录] set 转至 = 1 where 计划号 = @订单号 and 质检类型 = '终检'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`update [dbo].[YL_质量检验_质检记录] set 转至 = 1 where 计划号 = @订单号 and 质检类型 = '终检'`。 +- `生产管理_加急件管理_更新完成` 属于 加急任务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`。 写入或更新对象:`YL_质量检验_质检记录`。 入参/分页参数:`@订单号 int`。 关键过滤/匹配条件:`update [dbo].[YL_质量检验_质检记录] set 完成 = 1 where 计划号 = @订单号 and 质检类型 = '终检'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`update [dbo].[YL_质量检验_质检记录] set 完成 = 1 where 计划号 = @订单号 and 质检类型 = '终检'`。 + +## 44. src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue + +**页面位置**:`src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` +**所属模块**:ProductionManagement / WorkHoursCheck +**源码行数**:2489 + +### 页面功能 + +该页面用于工时校验。质检/管理人员查询待校验报工记录,系统计算标准/实际工时,保存单条或批量校验结果;通过校验后可把工序资源或工时/出库类单据上传到 SAP。 + +页面可见的操作/字段包括 “查询”、“一键校验”、“新增工时记录”、“设备工时”、“关闭”、“确 定”、“取消”、“item.label”、“全部”、“已校验”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `人员管理_人员信息查询_质检部门_查询`、`系统管理_人员管理_所有有效人员查询`、`工时校验_获取订单列表`、`工时校验_获取订单工序`、`工时校验_获取昨日之前操作记录列表`、`工时校验_获取资源` 等过程 取数或提交业务动作。 + +### 页面流程图 + +工时校验流程: + +```mermaid +flowchart LR + A[选择人员/订单/工序/日期] --> B[工时校验_获取昨日之前操作记录列表] + B --> C[选择待校验记录] + C --> D[usp_ValidateWorkTime 或 usp_BatchValidateWorkTime 计算工时] + D --> E{校验结果} + E --> F[工时校验_保存校验记录] + E --> G[工时校验_批量保存校验记录] + F --> H[更新校验状态] + G --> H + H --> I[GET/PATCH /ProductionOrders 补工序资源] + I --> J[POST /InventoryGenExits 上传 SAP] + J --> K[标记已上传/失败留痕] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`一键校验`、`新增工时记录`、`设备工时`、`关闭`、`确 定`、`取消`、`item.label`、`全部`、`已校验`、`未校验`、`异常`、`正常`、`装配`、`机加`、`加班`、`序号`、`工时ID` + +主要方法线索:`getCheckerList`、`for` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `orderId` | `@订单编号` | `订单编号, ` | +| 参数 | `selectedChecker ? selectedChecker.label : 0` | `@人员` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `工时ID` | - | `工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode` | +| 显示列 | `人员` | - | `Personnel_Number AS 人员编号, ` | +| 显示列 | `生产订单` | - | `订单编号, ` | +| 显示列 | `物料编码` | - | `产品编码` | +| 显示列 | `物料名称` | - | `产品名称` | +| 显示列 | `工序名称` | - | `工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode` | +| 显示列 | `工位名称` | - | `工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode` | +| 显示列 | `报工类型` | - | `@操作类别编号 = 操作类别编号, ` | +| 显示列 | `数量` | - | `操作数值` | +| 显示列 | `开始时间` | - | `开始时间` | +| 显示列 | `结束时间` | - | `结束时间` | +| 显示列 | `设备工时` | - | `设备工时` | +| 显示列 | `人员工时` | - | `人员工时` | +| 显示列 | `绑定设备数` | - | `绑定设备数` | +| 显示列 | `工序说明` | - | `工序说明` | +| 显示列 | `异常说明` | - | `异常说明` | +| 显示列 | `校验状态` | - | `校验状态` | +| 显示列 | `最后编辑人` | - | `最后编辑人` | +| 显示列 | `最后编辑时间` | - | `最后编辑时间` | +| 显示列 | `操作` | - | `@操作类别编号 = 操作类别编号, ` | +| 显示列 | `累计分钟` | - | `累计分钟` | +| 显示列 | `设备状态` | - | `CASE TRY_CAST([设备状态] AS INT)` | +| 显示列 | `累计秒数` | - | `累计秒数` | +| 输入字段 | `taskid` | - | - | +| 输入字段 | `taskorder` | - | - | +| 输入字段 | `checker` | - | - | +| 输入字段 | `timeRange` | - | - | +| 输入字段 | `checkStatus` | - | - | +| 输入字段 | `abnormalstatus` | - | - | +| 输入字段 | `natureStatus` | - | - | +| 输入字段 | `addwork` | - | - | +| 输入字段 | `activeTab` | - | - | +| 输入字段 | `editForm.订单编号` | - | - | +| 输入字段 | `editForm.产品编码` | - | - | +| 输入字段 | `editForm.产品名称` | - | - | +| 输入字段 | `editForm.工序名称` | - | - | +| 输入字段 | `editForm.工位名称` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 497 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` | +| 548 | 11(当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` | +| 563 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单列表` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` | +| 592 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` | +| 645 | 11(当前通用存储过程查询/执行) | `工时校验_获取昨日之前操作记录列表` | 报工或工时处理 | 分页、处理报工/工时 | 视图:`View_生产工时视图` | +| 737 | 11(当前通用存储过程查询/执行) | `工时校验_获取资源` | 报工或工时处理 | 查询、读取 SAP B1 数据库对象、处理报工/工时 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_ORSC` | +| 759 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` | +| 868 | 11(当前通用存储过程查询/执行) | `工时校验_获取设备数据` | 报工或工时处理 | 查询、处理报工/工时 | 表:`历史_工位设备状态每分钟记录` | +| 1443 | 11(当前通用存储过程查询/执行) | `工时校验_保存校验记录` | 更新/保存业务数据 | 查询、新增、更新、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` | +| 1480 | 11(当前通用存储过程查询/执行) | `工时校验_批量保存校验记录` | 更新/保存业务数据 | 查询、新增、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` | +| 2006 | 11(当前通用存储过程查询/执行) | `工时校验_获取操作人当天报工记录` | 报工或工时处理 | 查询、处理报工/工时 | 表:`YL_加工中心_操作记录表` | +| 2344 | 11(当前通用存储过程查询/执行) | `工时校验_批量保存校验记录` | 更新/保存业务数据 | 查询、新增、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` | +| 2362 | 11(当前通用存储过程查询/执行) | `工时校验_批量保存校验记录` | 更新/保存业务数据 | 查询、新增、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 1105 行:`patchB1("ProductionOrders(${order.AbsoluteEntry})")` +- 第 2124 行:`getB1("/ProductionOrders")` +- 第 2255 行:`getB1("/ProductionOrders")` +- 第 2311 行:`postB1("/InventoryGenExits")` +存储过程内读取 SAP B1 数据库对象: +- 工时校验_获取资源: SAP.SBO_YL.dbo.UBT_ORSC + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 1105 | `patchB1` | `ProductionOrders(${order.AbsoluteEntry})` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `ProductionOrderLines`、`ProductionOrdersStages`、`更新SAP失败`、`更新SAP工序和资源失败` | +| 2124 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter` | +| 2255 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter`、`加班记录`、`记录` | +| 2311 | `postB1` | `/InventoryGenExits` | 上传库存发出/工时相关单据。失败会导致 SAP 未生成对应业务单据。 | `DocDate`、`DocDueDate`、`Comments`、`DocumentLines`、`处理记录失败` | + +### 状态流转说明 + +- `人员管理_人员信息查询_质检部门_查询`:`create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]` +- `工时校验_获取昨日之前操作记录列表`:`@校验状态 nvarchar(4000) = 2, `;`@任务ID nvarchar(4000) = 0, `;`'+ @校验状态 +' = 2`;`OR ('+@校验状态+' = 0 AND Expr1 IS NULL)`;`OR ('+@校验状态+' = 1 AND Expr1 IS NOT NULL)`;`IF @任务ID ! = '0' AND @任务ID ! = ''`;`set @where = @where + ' AND ISNULL(AID, 0) = ' + @任务ID + ' '`;`, 加工工时` +- `工时校验_获取资源`:`select VisName as 资源名称, VisCode, StdCost1 from SAP.SBO_YL.dbo.UBT_ORSC as a where a.VisName = @资源名称` +- `工时校验_获取设备数据`:`CASE TRY_CAST([设备状态] AS INT)`;`END AS 设备状态, `;`FROM [dbo].[历史_工位设备状态每分钟记录]`;`设备状态, `;`WHERE 设备状态 ! = N'未知'`;`GROUP BY 工位名称, 设备状态`;`ORDER BY 设备状态`;`SUM(CASE WHEN 设备状态 = N'运行' THEN 累计分钟 ELSE 0 END) AS 运行总分钟, ` +- `工时校验_保存校验记录`:`FROM [dbo].[YL_加工中心_操作记录表]`;`UPDATE [dbo].[YL_加工中心_操作记录表]`;`已报工 = 1, ` +- `工时校验_批量保存校验记录`:`操作描述, 开始时间, 结束时间, 工时, 报工日期, 已报工, 不装配, `;`FROM [dbo].[YL_加工中心_操作记录表] o` +- `工时校验_获取操作人当天报工记录`:`FROM [dbo].[YL_加工中心_操作记录表]` +- `工时校验_批量保存校验记录`:`操作描述, 开始时间, 结束时间, 工时, 报工日期, 已报工, 不装配, `;`FROM [dbo].[YL_加工中心_操作记录表] o` +- `工时校验_批量保存校验记录`:`操作描述, 开始时间, 结束时间, 工时, 报工日期, 已报工, 不装配, `;`FROM [dbo].[YL_加工中心_操作记录表] o` + +### 数据库调用链 + +- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_获取订单列表` -> 表:`MES_接口_生产计划` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_获取昨日之前操作记录列表` -> 视图:`View_生产工时视图` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_获取资源` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_ORSC` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_获取设备数据` -> 表:`历史_工位设备状态每分钟记录` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据 +- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_批量保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据 +- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_获取操作人当天报工记录` -> 表:`YL_加工中心_操作记录表` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_批量保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据 +- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_批量保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。 +- `工时校验_获取订单列表` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`DISTINCT top 20`、`订单编号, `、`物料编号 as 零件编码, `、`物料描述 as 零件名称`。 关键过滤/匹配条件:`FROM [dbo].[MES_接口_生产计划] WHERE 订单编号 LIKE '%' + @订单编号 + '%' OR @订单编号 = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单编号 ;`。 +- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。 +- `工时校验_获取昨日之前操作记录列表` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:分页、处理报工/工时。 读取/关联对象:视图:`View_生产工时视图`。 入参/分页参数:`@开始时间 datetime`、`@结束时间 datetime`、`@校验状态 nvarchar(4000)`、`@过滤性质 nvarchar(4000)`、`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`、`@异常 nvarchar(4000)`、`@任务ID nvarchar(4000)`、`@生产订单 nvarchar(4000)`、`@加班 nvarchar(4000)`、`@人员 nvarchar(4000)`。 关键过滤/匹配条件:`declare @where nvarchar(4000)`;`set @where = ' (`;`OR ('+@校验状态+' = 0 AND Expr1 IS NULL)`;`OR ('+@校验状态+' = 1 AND Expr1 IS NOT NULL)`;`AND (`;`OR ('+@过滤性质+' = 1 AND ISNULL(工位名称, 工位名称) NOT LIKE ''%装配%'')`;`OR ('+@过滤性质+' = 2 AND ISNULL(工位名称, 工位名称) LIKE ''%装配%'')`;`OR ('+@异常+' = 1 AND (ISNULL(结束时间, 结束时间) IS NULL))`;`OR ('+@异常+' = 2 AND ISNULL(结束时间, 结束时间) IS NOT NULL)`;`AND 开始时间 < CONVERT(VARCHAR(10), GETDATE(), 120) + '' 00:00:00''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`set @tbname = ' [dbo].[View_生产工时视图] '`;`set @fieldkey = ' AID '`;`set @where = ' (`;`set @where = @where + ' AND ISNULL(操作类别, '''') LIKE ''%加班%'' '`;`set @where = @where + ' AND ISNULL(操作类别, '''') NOT LIKE ''%加班%'' '`;`set @where = @where + ' AND ISNULL(AID, 0) = ' + @任务ID + ' '`;`set @where = @where + ' AND ISNULL(订单号, 0) = ' + @生产订单 + ' '`;`set @where = @where + ' AND 操作人 LIKE ''%' + @人员 + '%'' '`;`set @fieldOrder = ' 开始时间 DESC '`;`set @fieldshow = '`。 实现特征:分页。 +- `工时校验_获取资源` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理报工/工时。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_ORSC`。 入参/分页参数:`@资源名称 NVARCHAR(MAX)`。 主要返回字段线索:`VisName as 资源名称, VisCode, StdCost1`。 关键过滤/匹配条件:`select VisName as 资源名称, VisCode, StdCost1 from SAP.SBO_YL.dbo.UBT_ORSC as a where a.VisName = @资源名称`。 实现特征:读取 SAP 数据库对象。 +- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。 +- `工时校验_获取设备数据` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`历史_工位设备状态每分钟记录`。 入参/分页参数:`@工位名称 nvarchar(50)`。 主要返回字段线索:`[AID], `、`[工位号] AS 工位名称, `、`[创建时间], `、`CASE TRY_CAST([设备状态] AS INT)`、`WHEN -1 THEN N'关机'`、`WHEN 0 THEN N'待机'`、`WHEN 1 THEN N'运行'`、`WHEN 2 THEN N'报警'`、`ELSE N'未知'`、`END AS 设备状态, `。 关键过滤/匹配条件:`WHERE 工位号 = @工位名称`;`AND CAST([创建时间] AS DATE) = CAST(GETDATE() AS DATE)`;`WHERE 设备状态 ! = N'未知'`。 排序/分组/分页线索:`LEAD([创建时间]) OVER (ORDER BY [创建时间]) AS 下一记录时间`;`GROUP BY 工位名称, 设备状态`;`ORDER BY 设备状态`;`GROUP BY 工位名称`。 +- `工时校验_保存校验记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@orderAID bigint,`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@总时长 int,`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50),`、`@当日班次最小标准工时 nvarchar(50)`。 主要返回字段线索:`@操作类别编号 = 操作类别编号, `、`@操作类别 = 操作类别, `、`@阶段标识 = 阶段标识, `、`@工序名称 = 工序名称, `、`@工位编号 = 工位编号, `、`@工位名称 = 工位名称, `、`@合同号 = 合同号, `、`@订单编号 = 订单编号, `、`@物料编号 = 物料编号, `、`@物料描述 = 物料描述, `。 关键过滤/匹配条件:`WHERE AID = @orderAID;`;`WHERE AID = @orderAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`UPDATE [dbo].[YL_加工中心_操作记录表]`;`SET`。 实现特征:事务控制、异常捕获。 +- `工时校验_批量保存校验记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`。 入参/分页参数:`@AID列表 nvarchar(MAX),`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE c.AID IS NULL;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempAID (AID)`;`INSERT INTO [dbo].[生产管理_工时校验_校验工时表] (`。 实现特征:事务控制、异常捕获、临时表 `#TempAID`。 +- `工时校验_获取操作人当天报工记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`。 入参/分页参数:`@操作人 nvarchar(50),`、`@开始时间 datetime,`、`@结束时间 datetime`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`WHERE 操作人 = @操作人`;`AND 开始时间 > = @开始时间`;`AND 开始时间 < = @结束时间`;`AND (总时长> 0 or 实际工时 >0)`;`and isNull(阶段标识, 0) ! = -1`;`and 操作类别 not like '%加班%'`;`and 订单编号 3886`。 +- `工时校验_批量保存校验记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`。 入参/分页参数:`@AID列表 nvarchar(MAX),`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE c.AID IS NULL;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempAID (AID)`;`INSERT INTO [dbo].[生产管理_工时校验_校验工时表] (`。 实现特征:事务控制、异常捕获、临时表 `#TempAID`。 +- `工时校验_批量保存校验记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`。 入参/分页参数:`@AID列表 nvarchar(MAX),`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE c.AID IS NULL;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempAID (AID)`;`INSERT INTO [dbo].[生产管理_工时校验_校验工时表] (`。 实现特征:事务控制、异常捕获、临时表 `#TempAID`。 + +## 45. src/views/ProductionManagement/WorkHoursCheck/index.vue + +**页面位置**:`src/views/ProductionManagement/WorkHoursCheck/index.vue` +**所属模块**:ProductionManagement / WorkHoursCheck +**源码行数**:1975 + +### 页面功能 + +该页面用于工时校验。质检/管理人员查询待校验报工记录,系统计算标准/实际工时,保存单条或批量校验结果;通过校验后可把工序资源或工时/出库类单据上传到 SAP。 + +页面可见的操作/字段包括 “查询”、“一键校验”、“直接校验”、“新增工时记录”、“设备工时”、“关闭”、“确 定”、“取消”、“item.label”、“全部”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `usp_BatchValidateWorkTime`、`usp_ValidateWorkTime`、`人员管理_人员信息查询_质检部门_查询`、`系统管理_人员管理_所有有效人员查询`、`工时校验_获取订单列表`、`工时校验_获取订单工序` 等过程 取数或提交业务动作。 + +### 页面流程图 + +工时校验流程: + +```mermaid +flowchart LR + A[选择人员/订单/工序/日期] --> B[工时校验_获取昨日之前操作记录列表] + B --> C[选择待校验记录] + C --> D[usp_ValidateWorkTime 或 usp_BatchValidateWorkTime 计算工时] + D --> E{校验结果} + E --> F[工时校验_保存校验记录] + E --> G[工时校验_批量保存校验记录] + F --> H[更新校验状态] + G --> H + H --> I[GET/PATCH /ProductionOrders 补工序资源] + I --> J[POST /InventoryGenExits 上传 SAP] + J --> K[标记已上传/失败留痕] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`一键校验`、`直接校验`、`新增工时记录`、`设备工时`、`关闭`、`确 定`、`取消`、`item.label`、`全部`、`已校验`、`未校验`、`异常`、`正常`、`装配`、`机加`、`加班`、`序号` + +主要方法线索:`getUserName` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `orderId` | `@订单编号` | `订单编号, ` | +| 参数 | `selectedChecker ? selectedChecker.label : 0` | `@人员` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `工时ID` | - | `工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode` | +| 显示列 | `人员` | - | `@操作人 = 操作人, ` | +| 显示列 | `生产订单` | - | `@订单编号 = 订单号, ` | +| 显示列 | `物料编码` | - | `产品编码` | +| 显示列 | `物料名称` | - | `产品名称` | +| 显示列 | `工序名称` | - | `@工序名称 = 工序名称` | +| 显示列 | `工位名称` | - | `@工位名称 = 工位名称, ` | +| 显示列 | `报工类型` | - | `@操作类别编号 = 操作类别编号, ` | +| 显示列 | `数量` | - | `操作数值` | +| 显示列 | `开始时间` | - | `开始时间` | +| 显示列 | `结束时间` | - | `结束时间` | +| 显示列 | `设备工时` | - | `设备工时` | +| 显示列 | `人员工时` | - | `人员工时` | +| 显示列 | `绑定设备数` | - | `绑定设备数` | +| 显示列 | `工序说明` | - | `工序说明` | +| 显示列 | `异常说明` | - | `异常说明` | +| 显示列 | `校验状态` | - | `校验状态` | +| 显示列 | `最后编辑人` | - | `最后编辑人` | +| 显示列 | `最后编辑时间` | - | `最后编辑时间` | +| 显示列 | `操作` | - | `@操作人 = 操作人, ` | +| 显示列 | `累计分钟` | - | `累计分钟` | +| 显示列 | `设备状态` | - | `CASE TRY_CAST([设备状态] AS INT)` | +| 显示列 | `累计秒数` | - | `累计秒数` | +| 输入字段 | `taskid` | - | - | +| 输入字段 | `taskorder` | - | - | +| 输入字段 | `checker` | - | - | +| 输入字段 | `timeRange` | - | - | +| 输入字段 | `checkStatus` | - | - | +| 输入字段 | `abnormalstatus` | - | - | +| 输入字段 | `natureStatus` | - | - | +| 输入字段 | `addwork` | - | - | +| 输入字段 | `activeTab` | - | - | +| 输入字段 | `editForm.订单编号` | - | - | +| 输入字段 | `editForm.产品编码` | - | - | +| 输入字段 | `editForm.产品名称` | - | - | +| 输入字段 | `editForm.工序名称` | - | - | +| 输入字段 | `editForm.工位名称` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 786 | 11(当前通用存储过程查询/执行) | `usp_BatchValidateWorkTime` | 报工或工时处理 | 查询、新增、更新、解析 JSON 批量数据、处理报工/工时 | 未在 SQL 中解析到明确依赖 | +| 888 | 11(当前通用存储过程查询/执行) | `usp_ValidateWorkTime` | 报工或工时处理 | 查询、新增、更新、解析 JSON 批量数据、处理报工/工时 | 未在 SQL 中解析到明确依赖 | +| 909 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` | +| 960 | 11(当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` | +| 975 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单列表` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` | +| 1004 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` | +| 1057 | 11(当前通用存储过程查询/执行) | `工时校验_获取昨日之前操作记录列表` | 报工或工时处理 | 分页、处理报工/工时 | 视图:`View_生产工时视图` | +| 1149 | 11(当前通用存储过程查询/执行) | `工时校验_获取资源` | 报工或工时处理 | 查询、读取 SAP B1 数据库对象、处理报工/工时 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_ORSC` | +| 1174 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` | +| 1293 | 11(当前通用存储过程查询/执行) | `工时校验_获取设备数据` | 报工或工时处理 | 查询、处理报工/工时 | 表:`历史_工位设备状态每分钟记录` | +| 1650 | 11(当前通用存储过程查询/执行) | `工时校验_保存校验记录` | 更新/保存业务数据 | 查询、新增、更新、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` | +| 1665 | 11(当前通用存储过程查询/执行) | `工时校验_批量保存校验记录` | 更新/保存业务数据 | 查询、新增、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` | +| 1684 | 11(当前通用存储过程查询/执行) | `工时校验_批量保存校验记录` | 更新/保存业务数据 | 查询、新增、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` | +| 1707 | 11(当前通用存储过程查询/执行) | `工时校验_保存校验记录` | 更新/保存业务数据 | 查询、新增、更新、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` | +| 1756 | 11(当前通用存储过程查询/执行) | `工时校验_批量保存校验记录` | 更新/保存业务数据 | 查询、新增、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 577 行:`getB1("/ProductionOrders")` +- 第 672 行:`getB1("/ProductionOrders")` +- 第 733 行:`postB1("/InventoryGenExits")` +- 第 1482 行:`patchB1("ProductionOrders(${order.AbsoluteEntry})")` +存储过程内读取 SAP B1 数据库对象: +- 工时校验_获取资源: SAP.SBO_YL.dbo.UBT_ORSC + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 577 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter`、`获取订单数据失败`、`获取到工序数据`、`success`、`error`、`结构异常`、`获取到订单` | +| 672 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter`、`使用原订单` | +| 733 | `postB1` | `/InventoryGenExits` | 上传库存发出/工时相关单据。失败会导致 SAP 未生成对应业务单据。 | `DocDate`、`DocDueDate`、`Comments`、`AID`、`DocumentLines`、`success`、`error`、`提交工时单据失败`、`warning` | +| 1482 | `patchB1` | `ProductionOrders(${order.AbsoluteEntry})` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `ProductionOrderLines`、`ProductionOrdersStages`、`更新SAP失败`、`查找设备资源`、`StageID` | + +### 状态流转说明 + +- `usp_BatchValidateWorkTime`:`IF @WorkType = '跳过SAP'`;`VALUES (@CurrentAID, 1, '总时长为0,跳过SAP上传', 0, @WorkType, @CalcDetail);`;`PRINT ' 成功: 总时长为0,跳过SAP上传';`;`PRINT '处理完成 - 成功: ' + CAST(@SuccessCount AS NVARCHAR) + ', 失败: ' + CAST(@FailCount AS NVARCHAR);`;`PRINT ' = = = usp_BatchValidateWorkTime 执行完成 = = = ';` +- `usp_ValidateWorkTime`:`@SAPDocumentLine NVARCHAR(MAX) OUTPUT`;`@加工工时 DECIMAL(18, 2), `;`@加工工时 = ISNULL(加工工时, 0), `;`SET @SAPDocumentLine = (`;`UPDATE YL_加工中心_操作记录表`;`加工工时, `;`SET @SAPDocumentLine = NULL;` +- `人员管理_人员信息查询_质检部门_查询`:`create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]` +- `工时校验_获取昨日之前操作记录列表`:`@校验状态 nvarchar(4000) = 2, `;`@任务ID nvarchar(4000) = 0, `;`'+ @校验状态 +' = 2`;`OR ('+@校验状态+' = 0 AND Expr1 IS NULL)`;`OR ('+@校验状态+' = 1 AND Expr1 IS NOT NULL)`;`IF @任务ID ! = '0' AND @任务ID ! = ''`;`set @where = @where + ' AND ISNULL(AID, 0) = ' + @任务ID + ' '`;`, 加工工时` +- `工时校验_获取资源`:`select VisName as 资源名称, VisCode, StdCost1 from SAP.SBO_YL.dbo.UBT_ORSC as a where a.VisName = @资源名称` +- `工时校验_获取设备数据`:`CASE TRY_CAST([设备状态] AS INT)`;`END AS 设备状态, `;`FROM [dbo].[历史_工位设备状态每分钟记录]`;`设备状态, `;`WHERE 设备状态 ! = N'未知'`;`GROUP BY 工位名称, 设备状态`;`ORDER BY 设备状态`;`SUM(CASE WHEN 设备状态 = N'运行' THEN 累计分钟 ELSE 0 END) AS 运行总分钟, ` +- `工时校验_保存校验记录`:`FROM [dbo].[YL_加工中心_操作记录表]`;`UPDATE [dbo].[YL_加工中心_操作记录表]`;`已报工 = 1, ` +- `工时校验_批量保存校验记录`:`操作描述, 开始时间, 结束时间, 工时, 报工日期, 已报工, 不装配, `;`FROM [dbo].[YL_加工中心_操作记录表] o` +- `工时校验_批量保存校验记录`:`操作描述, 开始时间, 结束时间, 工时, 报工日期, 已报工, 不装配, `;`FROM [dbo].[YL_加工中心_操作记录表] o` +- `工时校验_保存校验记录`:`FROM [dbo].[YL_加工中心_操作记录表]`;`UPDATE [dbo].[YL_加工中心_操作记录表]`;`已报工 = 1, ` +- `工时校验_批量保存校验记录`:`操作描述, 开始时间, 结束时间, 工时, 报工日期, 已报工, 不装配, `;`FROM [dbo].[YL_加工中心_操作记录表] o` + +### 数据库调用链 + +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `usp_BatchValidateWorkTime` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `usp_ValidateWorkTime` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_获取订单列表` -> 表:`MES_接口_生产计划` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_获取昨日之前操作记录列表` -> 视图:`View_生产工时视图` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_获取资源` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_ORSC` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_获取设备数据` -> 表:`历史_工位设备状态每分钟记录` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据 +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_批量保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据 +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_批量保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据 +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据 +- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_批量保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `usp_BatchValidateWorkTime` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、新增、更新、解析 JSON 批量数据、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@RecordAIDs NVARCHAR(MAX),`、`@Operator NVARCHAR(50),`、`@Editor NVARCHAR(50),`、`@SuccessCount INT`、`@FailCount INT`、`@ResultDetails NVARCHAR(MAX)`。 主要返回字段线索:`CAST(value AS INT)`。 关键过滤/匹配条件:`WHERE ISNUMERIC(value) = 1;`;`WHERE v.操作类别 NOT IN ('加班', '休息日加班', '法定休息日加班')`;`AND v.总时长 > 0`;`AND TRY_CAST(v.开始时间 AS DATE) IS NOT NULL;`;`WHERE OperatorName = @OpName AND WorkDate = @WDate;`;`DECLARE record_cursor CURSOR FOR SELECT AID FROM #TempRecords WHERE Processed = 0;`;`WHERE v.AID = @CurrentAID;`;`ELSE IF @UploadMinutes < 0 OR @WorkType = '无效'`;`UPDATE #TempRecords SET Processed = 1 WHERE AID = @CurrentAID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempRecords (AID)`;`SET @SuccessCount = 0;`;`SET @FailCount = 0;`;`SET @ResultDetails = '{"SuccessCount":0, "FailCount":0, "Details":[], "Message":"没有有效的记录ID"}';`;`INSERT INTO @OperatorGroups (OperatorName, WorkDate, StandardHours, Ratio, TotalMinutes)`;`UPDATE @OperatorGroups`;`SET Ratio = @Ratio, TotalMinutes = @TotalMin`;`SET @UploadMinutes = @TotalSeconds / 60.0;`;`SET @WorkType = '加班';`;`SET @CalcDetail = (`;`INSERT INTO @ResultTable (AID, Success, Message, UploadMinutes, WorkType, CalculationDetail)`。 排序/分组/分页线索:`FETCH NEXT FROM group_cursor INTO @OpName, @WDate, @StdHours;`;`FETCH NEXT FROM record_cursor INTO @CurrentAID;`。 实现特征:JSON 批量解析、异常捕获、临时表 `#TempRecords`。 +- `usp_ValidateWorkTime` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、新增、更新、解析 JSON 批量数据、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@RecordAID INT,`、`@Operator NVARCHAR(50),`、`@Editor NVARCHAR(50),`、`@StartTime DATETIME`、`@EndTime DATETIME`、`@Success BIT`、`@Message NVARCHAR(500)`、`@SAPDocumentLine NVARCHAR(MAX)`。 主要返回字段线索:`@订单编号 = 订单号, `、`@工位名称 = 工位名称, `、`@操作人 = 操作人, `、`@加工工时 = ISNULL(加工工时, 0), `、`@总时长 = ISNULL(总时长, 0), `、`@工序名称 = 工序名称`。 关键过滤/匹配条件:`WHERE AID = @RecordAID;`;`IF @StartTime IS NOT NULL AND @EndTime IS NOT NULL`;`IF NOT EXISTS (SELECT 1 FROM 生产管理_工时校验_校验工时表 WHERE 报工记录id = @RecordAID)`;`WHERE 报工记录id = @RecordAID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @Success = 0;`;`SET @Message = '工时计算为0或负数,无法上传';`;`SET @SAPDocumentLine = (`;`UPDATE YL_加工中心_操作记录表`;`SET 开始时间 = @StartTime, `;`INSERT INTO 生产管理_工时校验_校验工时表 (`;`UPDATE 生产管理_工时校验_校验工时表`;`SET 计算详情 = @CalculationDetail, `;`SET @Success = 1;`;`SET @Message = '校验成功,上传工时:' + CAST(@UploadMinutes AS NVARCHAR(20)) + '分钟';`;`SET @Message = ERROR_MESSAGE();`。 实现特征:JSON 批量解析、事务控制、异常捕获。 +- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。 +- `工时校验_获取订单列表` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`DISTINCT top 20`、`订单编号, `、`物料编号 as 零件编码, `、`物料描述 as 零件名称`。 关键过滤/匹配条件:`FROM [dbo].[MES_接口_生产计划] WHERE 订单编号 LIKE '%' + @订单编号 + '%' OR @订单编号 = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单编号 ;`。 +- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。 +- `工时校验_获取昨日之前操作记录列表` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:分页、处理报工/工时。 读取/关联对象:视图:`View_生产工时视图`。 入参/分页参数:`@开始时间 datetime`、`@结束时间 datetime`、`@校验状态 nvarchar(4000)`、`@过滤性质 nvarchar(4000)`、`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`、`@异常 nvarchar(4000)`、`@任务ID nvarchar(4000)`、`@生产订单 nvarchar(4000)`、`@加班 nvarchar(4000)`、`@人员 nvarchar(4000)`。 关键过滤/匹配条件:`declare @where nvarchar(4000)`;`set @where = ' (`;`OR ('+@校验状态+' = 0 AND Expr1 IS NULL)`;`OR ('+@校验状态+' = 1 AND Expr1 IS NOT NULL)`;`AND (`;`OR ('+@过滤性质+' = 1 AND ISNULL(工位名称, 工位名称) NOT LIKE ''%装配%'')`;`OR ('+@过滤性质+' = 2 AND ISNULL(工位名称, 工位名称) LIKE ''%装配%'')`;`OR ('+@异常+' = 1 AND (ISNULL(结束时间, 结束时间) IS NULL))`;`OR ('+@异常+' = 2 AND ISNULL(结束时间, 结束时间) IS NOT NULL)`;`AND 开始时间 < CONVERT(VARCHAR(10), GETDATE(), 120) + '' 00:00:00''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`set @tbname = ' [dbo].[View_生产工时视图] '`;`set @fieldkey = ' AID '`;`set @where = ' (`;`set @where = @where + ' AND ISNULL(操作类别, '''') LIKE ''%加班%'' '`;`set @where = @where + ' AND ISNULL(操作类别, '''') NOT LIKE ''%加班%'' '`;`set @where = @where + ' AND ISNULL(AID, 0) = ' + @任务ID + ' '`;`set @where = @where + ' AND ISNULL(订单号, 0) = ' + @生产订单 + ' '`;`set @where = @where + ' AND 操作人 LIKE ''%' + @人员 + '%'' '`;`set @fieldOrder = ' 开始时间 DESC '`;`set @fieldshow = '`。 实现特征:分页。 +- `工时校验_获取资源` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理报工/工时。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_ORSC`。 入参/分页参数:`@资源名称 NVARCHAR(MAX)`。 主要返回字段线索:`VisName as 资源名称, VisCode, StdCost1`。 关键过滤/匹配条件:`select VisName as 资源名称, VisCode, StdCost1 from SAP.SBO_YL.dbo.UBT_ORSC as a where a.VisName = @资源名称`。 实现特征:读取 SAP 数据库对象。 +- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。 +- `工时校验_获取设备数据` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`历史_工位设备状态每分钟记录`。 入参/分页参数:`@工位名称 nvarchar(50)`。 主要返回字段线索:`[AID], `、`[工位号] AS 工位名称, `、`[创建时间], `、`CASE TRY_CAST([设备状态] AS INT)`、`WHEN -1 THEN N'关机'`、`WHEN 0 THEN N'待机'`、`WHEN 1 THEN N'运行'`、`WHEN 2 THEN N'报警'`、`ELSE N'未知'`、`END AS 设备状态, `。 关键过滤/匹配条件:`WHERE 工位号 = @工位名称`;`AND CAST([创建时间] AS DATE) = CAST(GETDATE() AS DATE)`;`WHERE 设备状态 ! = N'未知'`。 排序/分组/分页线索:`LEAD([创建时间]) OVER (ORDER BY [创建时间]) AS 下一记录时间`;`GROUP BY 工位名称, 设备状态`;`ORDER BY 设备状态`;`GROUP BY 工位名称`。 +- `工时校验_保存校验记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@orderAID bigint,`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@总时长 int,`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50),`、`@当日班次最小标准工时 nvarchar(50)`。 主要返回字段线索:`@操作类别编号 = 操作类别编号, `、`@操作类别 = 操作类别, `、`@阶段标识 = 阶段标识, `、`@工序名称 = 工序名称, `、`@工位编号 = 工位编号, `、`@工位名称 = 工位名称, `、`@合同号 = 合同号, `、`@订单编号 = 订单编号, `、`@物料编号 = 物料编号, `、`@物料描述 = 物料描述, `。 关键过滤/匹配条件:`WHERE AID = @orderAID;`;`WHERE AID = @orderAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`UPDATE [dbo].[YL_加工中心_操作记录表]`;`SET`。 实现特征:事务控制、异常捕获。 +- `工时校验_批量保存校验记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`。 入参/分页参数:`@AID列表 nvarchar(MAX),`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE c.AID IS NULL;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempAID (AID)`;`INSERT INTO [dbo].[生产管理_工时校验_校验工时表] (`。 实现特征:事务控制、异常捕获、临时表 `#TempAID`。 +- `工时校验_批量保存校验记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`。 入参/分页参数:`@AID列表 nvarchar(MAX),`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE c.AID IS NULL;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempAID (AID)`;`INSERT INTO [dbo].[生产管理_工时校验_校验工时表] (`。 实现特征:事务控制、异常捕获、临时表 `#TempAID`。 +- `工时校验_保存校验记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@orderAID bigint,`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@总时长 int,`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50),`、`@当日班次最小标准工时 nvarchar(50)`。 主要返回字段线索:`@操作类别编号 = 操作类别编号, `、`@操作类别 = 操作类别, `、`@阶段标识 = 阶段标识, `、`@工序名称 = 工序名称, `、`@工位编号 = 工位编号, `、`@工位名称 = 工位名称, `、`@合同号 = 合同号, `、`@订单编号 = 订单编号, `、`@物料编号 = 物料编号, `、`@物料描述 = 物料描述, `。 关键过滤/匹配条件:`WHERE AID = @orderAID;`;`WHERE AID = @orderAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`UPDATE [dbo].[YL_加工中心_操作记录表]`;`SET`。 实现特征:事务控制、异常捕获。 +- `工时校验_批量保存校验记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`。 入参/分页参数:`@AID列表 nvarchar(MAX),`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE c.AID IS NULL;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO #TempAID (AID)`;`INSERT INTO [dbo].[生产管理_工时校验_校验工时表] (`。 实现特征:事务控制、异常捕获、临时表 `#TempAID`。 + +## 46. src/views/ProductionManagement/WorkhoursEdit/index.vue + +**页面位置**:`src/views/ProductionManagement/WorkhoursEdit/index.vue` +**所属模块**:ProductionManagement / WorkhoursEdit +**源码行数**:839 + +### 页面功能 + +该页面用于编辑已产生的工时/报工记录,修正异常工时或补录说明。 + +页面可见的操作/字段包括 “查询”、“新增工时记录”、“设备工时”、“关闭”、“确 定”、“取消”、“item.label”、“全部”、“已校验”、“未校验”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `人员管理_人员信息查询_质检部门_查询`、`系统管理_人员管理_所有有效人员查询`、`工时校验_获取订单列表`、`工时校验_获取订单工序`、`工时校验_获取操作记录列表`、`工时校验_获取设备数据` 等过程 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `人员管理_人员信息查询_质检部门_查询` -> `系统管理_人员管理_所有有效人员查询` -> `工时校验_获取订单列表` -> `工时校验_获取订单工序` -> `工时校验_获取操作记录列表` -> `工时校验_获取设备数据` -> `工时校验_保存校验记录` -> `工时校验_新增操作记录` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`新增工时记录`、`设备工时`、`关闭`、`确 定`、`取消`、`item.label`、`全部`、`已校验`、`未校验`、`异常`、`正常`、`大于550`、`超时未校验`、`装配`、`机加`、`加班`、`序号` + +主要方法线索:`getCheckerList`、`for` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `orderId` | `@订单编号` | `订单编号, ` | +| 参数 | `selectedChecker ? selectedChecker.label : 0` | `@人员` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `工时ID` | - | `工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode` | +| 显示列 | `人员` | - | `Personnel_Number AS 人员编号, ` | +| 显示列 | `生产订单` | - | `订单编号, ` | +| 显示列 | `物料编码` | - | `产品编码` | +| 显示列 | `物料名称` | - | `产品名称` | +| 显示列 | `工序名称` | - | `工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode` | +| 显示列 | `工位名称` | - | `工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode` | +| 显示列 | `报工类型` | - | `@操作类别编号 = 操作类别编号, ` | +| 显示列 | `数量` | - | `操作数值` | +| 显示列 | `开始时间` | - | `开始时间` | +| 显示列 | `结束时间` | - | `结束时间` | +| 显示列 | `设备工时` | - | `设备工时` | +| 显示列 | `人员工时` | - | `人员工时` | +| 显示列 | `校验状态` | - | `校验状态` | +| 显示列 | `最后编辑人` | - | `最后编辑人` | +| 显示列 | `最后编辑时间` | - | `最后编辑时间` | +| 显示列 | `操作` | - | `@操作类别编号 = 操作类别编号, ` | +| 显示列 | `累计分钟` | - | `累计分钟` | +| 显示列 | `设备状态` | - | `CASE TRY_CAST([设备状态] AS INT)` | +| 显示列 | `累计秒数` | - | `累计秒数` | +| 输入字段 | `taskid` | - | - | +| 输入字段 | `taskorder` | - | - | +| 输入字段 | `checker` | - | - | +| 输入字段 | `timeRange` | - | - | +| 输入字段 | `checkStatus` | - | - | +| 输入字段 | `abnormalstatus` | - | - | +| 输入字段 | `natureStatus` | - | - | +| 输入字段 | `addwork` | - | - | +| 输入字段 | `activeTab` | - | - | +| 输入字段 | `editForm.订单编号` | - | - | +| 输入字段 | `editForm.产品编码` | - | - | +| 输入字段 | `editForm.产品名称` | - | - | +| 输入字段 | `editForm.工序名称` | - | - | +| 输入字段 | `editForm.工位名称` | - | - | +| 输入字段 | `editForm.操作人` | - | - | +| 输入字段 | `editForm.操作类别` | - | - | +| 输入字段 | `editForm.操作数值` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 474 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` | +| 503 | 11(当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` | +| 518 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单列表` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` | +| 547 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` | +| 602 | 11(当前通用存储过程查询/执行) | `工时校验_获取操作记录列表` | 报工或工时处理 | 分页、处理报工/工时 | 视图:`View_生产工时视图` | +| 647 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` | +| 662 | 11(当前通用存储过程查询/执行) | `工时校验_获取设备数据` | 报工或工时处理 | 查询、处理报工/工时 | 表:`历史_工位设备状态每分钟记录` | +| 739 | 11(当前通用存储过程查询/执行) | `工时校验_保存校验记录` | 更新/保存业务数据 | 查询、新增、更新、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` | +| 798 | 11(当前通用存储过程查询/执行) | `工时校验_新增操作记录` | 新增业务数据 | 查询、新增、处理报工/工时 | 表:`YL_加工中心_操作记录表` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `人员管理_人员信息查询_质检部门_查询`:`create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]` +- `工时校验_获取操作记录列表`:`@校验状态 nvarchar(4000) = 2, `;`@任务ID nvarchar(4000) = 0, `;`IF @校验状态 = '0'`;`ELSE IF @校验状态 = '1'`;`set @where = @where + ' AND 结束时间 IS NOT NULL AND ISNULL(加工工时, 总时长) DATEADD(day, -1, GETDATE()) '`;`set @where = @where + ' AND ISNULL(加工工时, 总时长) > 33000 '`;`IF @任务ID ! = '0' AND @任务ID ! = ''`;`set @where = @where + ' AND ISNULL(AID, 0) = ' + @任务ID + ' '` +- `工时校验_获取设备数据`:`CASE TRY_CAST([设备状态] AS INT)`;`END AS 设备状态, `;`FROM [dbo].[历史_工位设备状态每分钟记录]`;`设备状态, `;`WHERE 设备状态 ! = N'未知'`;`GROUP BY 工位名称, 设备状态`;`ORDER BY 设备状态`;`SUM(CASE WHEN 设备状态 = N'运行' THEN 累计分钟 ELSE 0 END) AS 运行总分钟, ` +- `工时校验_保存校验记录`:`FROM [dbo].[YL_加工中心_操作记录表]`;`UPDATE [dbo].[YL_加工中心_操作记录表]`;`已报工 = 1, ` +- `工时校验_新增操作记录`:`INSERT INTO [dbo].[YL_加工中心_操作记录表] (`;`操作描述, TaskAID, 开始时间, 结束时间, 实际工时, 报工日期, 已报工, 不装配, `;`WHEN '开始加工' THEN 4` + +### 数据库调用链 + +- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `工时校验_获取订单列表` -> 表:`MES_接口_生产计划` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `工时校验_获取操作记录列表` -> 视图:`View_生产工时视图` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `工时校验_获取设备数据` -> 表:`历史_工位设备状态每分钟记录` -> 报工或工时处理 +- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `工时校验_保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据 +- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `工时校验_新增操作记录` -> 表:`YL_加工中心_操作记录表` -> 新增业务数据 + +### 存储过程处理逻辑明细 + +- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。 +- `工时校验_获取订单列表` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`DISTINCT top 20`、`订单编号, `、`物料编号 as 零件编码, `、`物料描述 as 零件名称`。 关键过滤/匹配条件:`FROM [dbo].[MES_接口_生产计划] WHERE 订单编号 LIKE '%' + @订单编号 + '%' OR @订单编号 = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单编号 ;`。 +- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。 +- `工时校验_获取操作记录列表` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:分页、处理报工/工时。 读取/关联对象:视图:`View_生产工时视图`。 入参/分页参数:`@开始时间 datetime`、`@结束时间 datetime`、`@校验状态 nvarchar(4000)`、`@过滤性质 nvarchar(4000)`、`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`、`@异常 nvarchar(4000)`、`@任务ID nvarchar(4000)`、`@生产订单 nvarchar(4000)`、`@加班 nvarchar(4000)`、`@人员 nvarchar(4000)`。 关键过滤/匹配条件:`declare @where nvarchar(4000)`;`set @where = ' (1 = 1) '`;`set @where = @where + ' AND Expr1 IS NULL '`;`set @where = @where + ' AND Expr1 IS NOT NULL '`;`set @where = @where + ' AND ISNULL(工位名称, '''') NOT LIKE ''%装配%'' '`;`set @where = @where + ' AND ISNULL(工位名称, '''') LIKE ''%装配%'' '`;`set @where = @where + ' AND 结束时间 IS NULL '`;`set @where = @where + ' AND 结束时间 IS NOT NULL AND ISNULL(加工工时, 总时长) DATEADD(day, -1, GETDATE()) '`;`set @where = @where + ' AND ISNULL(加工工时, 总时长) > 33000 '`;`set @where = @where + ' AND 结束时间 < DATEADD(day, -1, GETDATE()) '`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`set @tbname = ' [dbo].[View_生产工时视图] '`;`set @fieldkey = ' AID '`;`set @where = ' (1 = 1) '`;`set @where = @where + ' AND Expr1 IS NULL '`;`set @where = @where + ' AND Expr1 IS NOT NULL '`;`set @where = @where + ' AND ISNULL(工位名称, '''') NOT LIKE ''%装配%'' '`;`set @where = @where + ' AND ISNULL(工位名称, '''') LIKE ''%装配%'' '`;`set @where = @where + ' AND 结束时间 IS NULL '`;`set @where = @where + ' AND 结束时间 IS NOT NULL AND ISNULL(加工工时, 总时长) DATEADD(day, -1, GETDATE()) '`;`set @where = @where + ' AND ISNULL(加工工时, 总时长) > 33000 '`;`set @where = @where + ' AND 结束时间 < DATEADD(day, -1, GETDATE()) '`。 实现特征:分页。 +- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。 +- `工时校验_获取设备数据` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`历史_工位设备状态每分钟记录`。 入参/分页参数:`@工位名称 nvarchar(50)`。 主要返回字段线索:`[AID], `、`[工位号] AS 工位名称, `、`[创建时间], `、`CASE TRY_CAST([设备状态] AS INT)`、`WHEN -1 THEN N'关机'`、`WHEN 0 THEN N'待机'`、`WHEN 1 THEN N'运行'`、`WHEN 2 THEN N'报警'`、`ELSE N'未知'`、`END AS 设备状态, `。 关键过滤/匹配条件:`WHERE 工位号 = @工位名称`;`AND CAST([创建时间] AS DATE) = CAST(GETDATE() AS DATE)`;`WHERE 设备状态 ! = N'未知'`。 排序/分组/分页线索:`LEAD([创建时间]) OVER (ORDER BY [创建时间]) AS 下一记录时间`;`GROUP BY 工位名称, 设备状态`;`ORDER BY 设备状态`;`GROUP BY 工位名称`。 +- `工时校验_保存校验记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@orderAID bigint,`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@总时长 int,`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50),`、`@当日班次最小标准工时 nvarchar(50)`。 主要返回字段线索:`@操作类别编号 = 操作类别编号, `、`@操作类别 = 操作类别, `、`@阶段标识 = 阶段标识, `、`@工序名称 = 工序名称, `、`@工位编号 = 工位编号, `、`@工位名称 = 工位名称, `、`@合同号 = 合同号, `、`@订单编号 = 订单编号, `、`@物料编号 = 物料编号, `、`@物料描述 = 物料描述, `。 关键过滤/匹配条件:`WHERE AID = @orderAID;`;`WHERE AID = @orderAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`UPDATE [dbo].[YL_加工中心_操作记录表]`;`SET`。 实现特征:事务控制、异常捕获。 +- `工时校验_新增操作记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@操作类别 nvarchar(50),`、`@订单编号 nvarchar(50),`、`@物料编号 nvarchar(50),`、`@物料描述 nvarchar(50),`、`@工序名称 nvarchar(50),`、`@工位名称 nvarchar(50),`、`@操作人 nvarchar(50),`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@操作内容 nvarchar(500)`、`@操作描述 nvarchar(2000)`、`@TaskAID int`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @工时 = DATEDIFF(SECOND, @开始时间, @结束时间);`;`INSERT INTO [dbo].[YL_加工中心_操作记录表] (`。 实现特征:异常捕获。 + +## 47. src/views/ProductionManagement/Workhours/index.vue + +**页面位置**:`src/views/ProductionManagement/Workhours/index.vue` +**所属模块**:ProductionManagement / Workhours +**源码行数**:413 + +### 页面功能 + +该页面用于工时查询,按工序、人员、设备、时间等条件查看工序工时。 + +页面可见的操作/字段包括 “查询”、“工序工时”、“任务描述”、“报工次数”、“报工数量”、“工位名称”、“实际工时”、“辅助工时”、“平均程序工时”、“平均实际工时”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `生产管理_工时查询_工序工时_查询` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `生产管理_工时查询_工序工时_查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`工序工时`、`任务描述`、`报工次数`、`报工数量`、`工位名称`、`实际工时`、`辅助工时`、`平均程序工时`、`平均实际工时`、`平均辅助工时`、`工艺工时`、`合同号`、`订单号`、`产品编码`、`产品名称`、`工序名称`、`请输入合同号` + +主要方法线索:`handleSearch` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 显示列 | `任务描述` | - | `taskAID` | +| 显示列 | `报工次数` | - | `reportCount` | +| 显示列 | `报工数量` | - | `reportQty` | +| 显示列 | `工位名称` | - | `工位名称` | +| 显示列 | `实际工时` | - | `actualWorkHours` | +| 显示列 | `辅助工时` | - | `auxiliaryWorkHours` | +| 显示列 | `平均程序工时` | - | `avgActualWorkHours` | +| 显示列 | `平均实际工时` | - | `avgActualWorkHours` | +| 显示列 | `平均辅助工时` | - | `avgAuxiliaryWorkHours` | +| 显示列 | `工艺工时` | - | `avgAuxiliaryWorkHours` | +| 显示列 | `合同号` | - | `contractNo` | +| 显示列 | `订单号` | - | `orderNo` | +| 显示列 | `产品编码` | - | `productCode` | +| 显示列 | `产品名称` | - | `productName` | +| 显示列 | `工序名称` | - | `processName` | +| 输入字段 | `searchForm.contractNo` | - | - | +| 输入字段 | `searchForm.productCode` | - | - | +| 输入字段 | `searchForm.orderNo` | - | - | +| 输入字段 | `searchForm.datanum` | - | - | +| 输入字段 | `searchForm.startDate` | - | - | +| 输入字段 | `searchForm.endDate` | - | - | +| 输入字段 | `activeTab` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 238 | 11(当前通用存储过程查询/执行) | `生产管理_工时查询_工序工时_查询` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `生产管理_工时查询_工序工时_查询`:`CASE WHEN v.操作内容 = '报工' THEN v.加工工时 ELSE 0 END AS 实际加工工时, `;`CASE WHEN v.操作内容 = '辅助结束' THEN v.加工工时 ELSE 0 END AS 辅助加工工时, `;`AND (CASE WHEN v.操作内容 = '报工' THEN v.加工工时 ELSE 0 END > 0`;`OR CASE WHEN v.操作内容 = '辅助结束' THEN v.加工工时 ELSE 0 END > 0)`;`ISNULL(产品名称, '') + ' ' + ISNULL(产品编码, '') + ' ' + ISNULL(工序名称, '') + ' 序'+ CAST(订单行号 AS VARCHAR(50)) AS 任务描述`;`t.任务描述, `;`CAST(SUM(实际加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 实际工时小时, `;`CAST(SUM(辅助加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 辅助工时小时, ` + +### 数据库调用链 + +- `src/views/ProductionManagement/Workhours/index.vue` -> `生产管理_工时查询_工序工时_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `生产管理_工时查询_工序工时_查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@合同号 NVARCHAR(50)`、`@产品编码 NVARCHAR(100)`、`@订单号 NVARCHAR(50)`、`@开始日期 DATE`、`@结束日期 DATE`、`@数据条数 int`。 主要返回字段线索:`top (@数据条数)`、`v.*, `、`CASE`、`WHEN CAST(v.开始时间 AS TIME) > = @白班开始时间`、`AND CAST(v.开始时间 AS TIME) < @白班结束时间 THEN '白班'`、`WHEN CAST(v.开始时间 AS TIME) > = @夜班开始时间`、`OR CAST(v.开始时间 AS TIME) < @夜班结束时间 THEN '夜班'`、`ELSE '其他'`、`END AS 班次, `、`CASE WHEN v.操作内容 = '报工' THEN v.加工工时 ELSE 0 END AS 实际加工工时, `。 关键过滤/匹配条件:`AND CAST(v.开始时间 AS TIME) < @白班结束时间 THEN '白班'`;`OR CAST(v.开始时间 AS TIME) < @夜班结束时间 THEN '夜班'`;`AND v.订单行号 = p.工艺顺序`;`WHERE (@开始日期 IS NULL OR @开始日期 = '' OR v.开始时间 > = @开始日期)`;`AND (@结束日期 IS NULL OR @结束日期 = '' OR v.结束时间 > = @结束日期)`;`AND (@合同号 IS NULL OR @合同号 = '' OR v.订单合同号 LIKE '%' + @合同号 + '%')`;`AND (@产品编码 IS NULL OR @产品编码 = '' OR v.产品编码 LIKE '%' + @产品编码 + '%')`;`AND (@订单号 IS NULL OR @订单号 = '' OR v.订单号 = @订单号 )`;`AND (CASE WHEN v.操作内容 = '报工' THEN v.加工工时 ELSE 0 END > 0`;`OR CASE WHEN v.操作内容 = '辅助结束' THEN v.加工工时 ELSE 0 END > 0)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`GROUP BY b.TaskAID, t.任务描述`;`GROUP BY b.TaskAID, t.任务描述, CONVERT(VARCHAR(10), b.开始时间, 120)`;`GROUP BY b.TaskAID, t.任务描述, CONVERT(VARCHAR(10), b.开始时间, 120), b.班次, b.工位名称`;`ORDER BY TaskAID, dateLabel, shift, [Level]`。 + +## 48. src/views/QualityManagement/CheckTask/OtherInbound.vue + +**页面位置**:`src/views/QualityManagement/CheckTask/OtherInbound.vue` +**所属模块**:QualityManagement / CheckTask +**源码行数**:752 + +### 页面功能 + +该页面处理其他入库检验。用户查询其他入库待检任务,录入检验结果并更新质检记录。 + +页面可见的操作/字段包括 “查询”、“取 消”、“合格”、“不合格”、“item.label”、“序号”、“生产订单”、“物料名称”、“物料编码”、“采购数”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_其他入库_查询`、`质量管理_其他入库检验_更新` 取数或提交业务动作。 + +### 页面流程图 + +质检业务流程: + +```mermaid +flowchart LR + A[选择检验类型/订单/物料/工序] --> B[查询待检任务] + B --> C[查看图纸/字典/检验人员] + C --> D[录入检测数量、合格数、不合格数和检测明细] + D --> E{检验类型} + E --> F[来料/入库/退货检验更新] + E --> G[序检收检新增或更新] + E --> H[终检/首检/特殊检验保存] + F --> I[写入 YL_质量检验_质检记录及明细] + G --> I + H --> I + I --> J[必要时查询/回写 SAP 生产订单或单据] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`取 消`、`合格`、`不合格`、`item.label`、`序号`、`生产订单`、`物料名称`、`物料编码`、`采购数`、`检验数量`、`合格数`、`不合格数`、`检验人`、`检验时间`、`备注`、`操作`、`请输入生产订单` + +主要方法线索:`getTypeList`、`for`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.orderNo` | `@订单号` | - | +| 参数 | `this.partNo` | `@零件编号` | - | +| 参数 | `this.partName` | `@零件名称` | - | +| 参数 | `this.inspectionDate ? this.inspectionDate[0` | `@检测日期_Start` | - | +| 参数 | `this.inspectionDate ? this.inspectionDate[1` | `@检测日期_End` | - | +| 参数 | `this.inspectionResult` | `@检测结果` | - | +| 参数 | `selectedChecker ? selectedChecker.label : ""` | `@检测人` | - | +| 参数 | `5` | `@检测类型编号` | - | +| 参数 | `"来料检验"` | `@质检类型` | - | +| 参数 | `this.receiveCheckData.零件名称` | `@零件名称` | - | +| 参数 | `this.receiveCheckData.零件编码` | `@零件编码` | - | +| 参数 | `this.receiveCheckData.计划号` | `@计划号` | - | +| 参数 | `this.receiveCheckData.检测数量` | `@检测数量` | - | +| 参数 | `this.receiveCheckData.合格数` | `@合格数` | - | +| 参数 | `this.receiveCheckData.不合格数` | `@不合格数` | - | +| 参数 | `this.receiveCheckData.检测人` | `@检测人` | - | +| 参数 | `this.receiveCheckData.检测时间` | `@检测时间` | - | +| 参数 | `this.receiveCheckData.检测说明` | `@检测说明` | - | +| 参数 | `this.receiveCheckData.行号` | `@行号` | - | +| 参数 | `this.receiveCheckData.订单类型` | `@订单类型` | - | +| 参数 | `this.receiveCheckData.放行数量` | `@放行数量` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `生产订单` | - | `订单编号` | +| 显示列 | `物料名称` | - | `物料名称` | +| 显示列 | `物料编码` | - | `物料编码` | +| 显示列 | `采购数` | - | `计划生产数` | +| 显示列 | `检验数量` | - | `入库数量` | +| 显示列 | `合格数` | - | `合格数` | +| 显示列 | `不合格数` | - | `不合格数` | +| 显示列 | `检验人` | - | `检测人` | +| 显示列 | `检验时间` | - | `检验时间` | +| 显示列 | `备注` | - | `备注` | +| 显示列 | `操作` | - | `操作` | +| 输入字段 | `orderNo` | `@订单号` | - | +| 输入字段 | `partName` | `@零件名称` | - | +| 输入字段 | `partNo` | `@零件编号` | - | +| 输入字段 | `inspectionDate` | `@检测日期_Start` | - | +| 输入字段 | `completionTime` | - | - | +| 输入字段 | `inspectionResult` | `@检测结果` | - | +| 输入字段 | `checker` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- Excel/报表导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 433 | 11(当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | +| 447 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` | +| 483 | 11(当前通用存储过程查询/执行) | `质量管理_其他入库_查询` | 查询/读取数据 | 查询、处理质检数据 | 表:`质量检验_质检任务_SAP` | +| 581 | 12(当前通用存储过程写入/业务动作) | `质量管理_其他入库检验_更新` | 更新/保存业务数据 | 查询、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `人员管理_人员信息查询_质检部门_查询`:`create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]` +- `质量管理_其他入库_查询`:`@状态 NVARCHAR(10) = '', `;`IF @状态 ''`;`IF @状态 = '1'`;`ELSE IF @状态 = '0'`;`* from [dbo].[质量检验_质检任务_SAP] '+@WhereConditions+''` +- `质量管理_其他入库检验_更新`:`@质检类型 NVARCHAR(50), `;`UPDATE [dbo].[质量检验_质检任务_SAP]`;`MERGE INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] AS target`;`@质检类型 AS 质检类型, `;`target.[质检类型] = source.[质检类型], `;`[质检类型], `;`source.[质检类型], ` + +### 数据库调用链 + +- `src/views/QualityManagement/CheckTask/OtherInbound.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/OtherInbound.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/OtherInbound.vue` -> `质量管理_其他入库_查询` -> 表:`质量检验_质检任务_SAP` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/OtherInbound.vue` -> `质量管理_其他入库检验_更新` -> 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `查询字典` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。 +- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `质量管理_其他入库_查询` 属于 质量检验,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`质量检验_质检任务_SAP`。 入参/分页参数:`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@检测日期_Start NVARCHAR(20)`、`@检测日期_End NVARCHAR(20)`、`@检测结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`、`@状态 NVARCHAR(10)`、`@单据码 NVARCHAR(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SET @WhereConditions = @WhereConditions + ' AND (订单类型 = ''59'') '`;`SET @WhereConditions = @WhereConditions + ' AND 单据码 LIKE ''%' + @单据码 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 订单编号 LIKE ''%' + @订单号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 物料编码 LIKE ''%' + @零件编号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 物料名称 LIKE ''%' + @零件名称 + '%'''`;`IF @检测日期_Start '' AND @检测日期_End ''`;`SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检验时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''`;`SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'`;`SET @WhereConditions = @WhereConditions + ' AND ( 不合格数 > 0)'`;`SET @WhereConditions = @WhereConditions + ' AND (ISNULL(合格数, 0) + ISNULL(不合格数, 0) = ISNULL(到货数, 0)) AND ISNULL(到货数, 0) 0'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @WhereConditions = @WhereConditions + ' AND (订单类型 = ''59'') '`;`SET @WhereConditions = @WhereConditions + ' AND 单据码 LIKE ''%' + @单据码 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 订单编号 LIKE ''%' + @订单号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 物料编码 LIKE ''%' + @零件编号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 物料名称 LIKE ''%' + @零件名称 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检验时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''`;`SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'`;`SET @WhereConditions = @WhereConditions + ' AND ( 不合格数 > 0)'`;`SET @WhereConditions = @WhereConditions + ' AND (ISNULL(合格数, 0) + ISNULL(不合格数, 0) = ISNULL(到货数, 0)) AND ISNULL(到货数, 0) 0'`;`SET @WhereConditions = @WhereConditions + ' AND (ISNULL(合格数, 0) + ISNULL(不合格数, 0) < ISNULL(到货数, 入库数量)) '`;`SET @WhereConditions = @WhereConditions + ' AND ISNULL( 检测人, '''') LIKE ''%' + @检测人 + '%'''`。 +- `质量管理_其他入库检验_更新` 属于 质量检验,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP`。 写入或更新对象:`质量检验_质检任务_SAP`。 入参/分页参数:`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@检测数量 decimal(18,`、`@合格数 decimal(18,`、`@不合格数 decimal(18,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@检测说明 NVARCHAR(MAX),`、`@行号 int,`、`@订单类型 NVARCHAR(50),`、`@放行数量 int`。 关键过滤/匹配条件:`WHERE 订单编号 = @计划号 AND 行号 = @行号 and 订单类型 = @订单类型`;`ON (target.[零件编码] = source.[零件编码] AND target.[计划号] = source.[计划号] and target.行号 = source.行号 )`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`UPDATE [dbo].[质量检验_质检任务_SAP]`;`SET 合格数 = @合格数, `;`MERGE INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] AS target`;`UPDATE SET`。 + +## 49. src/views/QualityManagement/CheckTask/final.vue + +**页面位置**:`src/views/QualityManagement/CheckTask/final.vue` +**所属模块**:QualityManagement / CheckTask +**源码行数**:1209 + +### 页面功能 + +该页面处理终检任务。质检人员查询终检任务,录入终检结果,并预留 SAP 生产订单状态回写。 + +页面可见的操作/字段包括 “查询”、“导出 --> -->”、“取 消”、“关闭”、“装配”、“机加”、“全部”、“合格”、“不合格”、“已完成”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `加急订单_加急明细查询`、`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_终检数据_查询`、`质量管理_质量检验_终检记录_查询`、`MES_QulityInspection_FinalCheck` 等过程 取数或提交业务动作。 + +### 页面流程图 + +质检业务流程: + +```mermaid +flowchart LR + A[选择检验类型/订单/物料/工序] --> B[查询待检任务] + B --> C[查看图纸/字典/检验人员] + C --> D[录入检测数量、合格数、不合格数和检测明细] + D --> E{检验类型} + E --> F[来料/入库/退货检验更新] + E --> G[序检收检新增或更新] + E --> H[终检/首检/特殊检验保存] + F --> I[写入 YL_质量检验_质检记录及明细] + G --> I + H --> I + I --> J[必要时查询/回写 SAP 生产订单或单据] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`导出 --> -->`、`取 消`、`关闭`、`装配`、`机加`、`全部`、`合格`、`不合格`、`已完成`、`未完成`、`item.label`、`序号`、`销售订单`、`生产订单`、`物料名称`、`物料编码`、`工序名称` + +主要方法线索:`Urgent` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `row.零件编码` | `@物料编号` | `docentry as 订单编号, itemcode as 物料编号, 加急数量` | +| 参数 | `this.contractNo` | `@合同号` | - | +| 参数 | `this.orderNo` | `@订单号` | - | +| 参数 | `this.partNo` | `@零件编号` | - | +| 参数 | `this.partName` | `@零件名称` | - | +| 参数 | `this.completionTime ? this.completionTime[0` | `@完工日期_Start` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@完工日期_End` | - | +| 参数 | `this.inspectionDate ? this.inspectionDate[0` | `@检测日期_Start` | - | +| 参数 | `this.inspectionDate ? this.inspectionDate[1` | `@检测日期_End` | - | +| 参数 | `this.inspectionResult` | `@检测结果` | - | +| 参数 | `selectedChecker ? selectedChecker.label : ""` | `@检测人` | - | +| 参数 | `this.checkstatus` | `@检验状态` | - | +| 参数 | `this.attribute` | `@属性` | - | +| 参数 | `row.内部合同号 ` | `@合同号` | - | +| 参数 | `row.计划号 ` | `@订单号` | - | +| 参数 | `row.零件编码 ` | `@零件编号` | - | +| 参数 | `row.零件名称 ` | `@零件名称` | - | +| 参数 | `this.inspectionDate[0` | `@检测日期_Start` | - | +| 参数 | `this.inspectionDate[1` | `@检测日期_End` | - | +| 参数 | `this.finalCheckData.TaskAID ` | `@TaskAID` | - | +| 参数 | `8` | `@检测类型编号` | - | +| 参数 | `"终检"` | `@质检类型` | - | +| 参数 | `this.finalCheckData.零件名称` | `@零件名称` | - | +| 参数 | `this.finalCheckData.内部合同号` | `@内部合同号` | - | +| 参数 | `this.finalCheckData.零件编码` | `@零件编码` | - | +| 参数 | `this.finalCheckData.计划号` | `@计划号` | - | +| 参数 | `this.finalCheckData.工序名称` | `@工序名称` | - | +| 参数 | `this.finalCheckData.检测数量` | `@检测数量` | - | +| 参数 | `this.finalCheckData.合格数` | `@合格数` | - | +| 参数 | `this.finalCheckData.不合格数` | `@不合格数` | - | +| 参数 | `this.finalCheckData.检测人` | `@检测人` | - | +| 参数 | `this.finalCheckData.检测时间` | `@检测时间` | - | +| 参数 | `this.finalCheckData.检测说明` | `@检测说明` | - | +| 参数 | `this.finalCheckData.放行数量` | `@放行数量` | - | +| 参数 | `this.finalCheckData.计划号` | `@订单编号` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `销售订单` | - | `内部合同号, ` | +| 显示列 | `生产订单` | - | `计划号, ` | +| 显示列 | `物料名称` | - | `零件名称, ` | +| 显示列 | `物料编码` | - | `零件编码, ` | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- Excel/报表导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 650 | 11(当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` | +| 657 | 11(当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | +| 671 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` | +| 725 | 11(当前通用存储过程查询/执行) | `质量管理_质量检验_终检数据_查询` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 829 | 11(当前通用存储过程查询/执行) | `质量管理_质量检验_终检记录_查询` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录` | +| 923 | 12(当前通用存储过程写入/业务动作) | `MES_QulityInspection_FinalCheck` | 质量检验处理 | 查询、新增、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录` | +| 962 | 11(当前通用存储过程查询/执行) | `工时校验_获取工序和指派对象` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `加急订单_加急明细查询`:`SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` +- `人员管理_人员信息查询_质检部门_查询`:`create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]` +- `质量管理_质量检验_终检数据_查询`:`@检验状态 NVARCHAR(10) = '', `;`SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 计划完成时间) BETWEEN ''' + @完工日期_Start + ''' AND ''' + @完工日期_End + ''''`;`SET @WhereConditions = @WhereConditions + ' AND 检测状态 = 1'`;`SET @WhereConditions = @WhereConditions + ' AND 检测状态 = 2'`;`IF @检验状态 ''`;`IF @检验状态 = '1'`;`SET @WhereConditions = @WhereConditions + ' AND 检验状态 = ''已完成'''`;`ELSE IF @检验状态 = '0'` +- `质量管理_质量检验_终检记录_查询`:`SET @WhereConditions = @WhereConditions + ' AND 质检类型 = ''终检'' AND 检测类型编号 = 8'`;`质检类型, `;`FROM [dbo].[YL_质量检验_质检记录]` +- `MES_QulityInspection_FinalCheck`:`@质检类型 NVARCHAR(50) = '终检', `;`INSERT INTO [dbo].[YL_质量检验_质检记录] (`;`TaskAID, 检测类型编号, 质检类型, 零件名称, 内部合同号, `;`@TaskAID, @检测类型编号, @质检类型, @零件名称, @内部合同号, ` +- `工时校验_获取工序和指派对象`:`select 顺序编号, 指派对象, 工序名称, 订单行号, b.VisCode as 指派对象编号 from MES_接口_生产计划_生产任务 a left join MES_资源主数据 b on a.指派对象 = b.Name where 订单编号 = @订单编号` + +### 数据库调用链 + +- `src/views/QualityManagement/CheckTask/final.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/final.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/final.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/final.vue` -> `质量管理_质量检验_终检数据_查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/final.vue` -> `质量管理_质量检验_终检记录_查询` -> 表:`YL_质量检验_质检记录` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/final.vue` -> `MES_QulityInspection_FinalCheck` -> 表:`YL_质量检验_质检记录` -> 质量检验处理 +- `src/views/QualityManagement/CheckTask/final.vue` -> `工时校验_获取工序和指派对象` -> 表:`MES_接口_生产计划` -> 报工或工时处理 + +### 存储过程处理逻辑明细 + +- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。 +- `查询字典` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。 +- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `质量管理_质量检验_终检数据_查询` 属于 质量检验,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@合同号 NVARCHAR(100)`、`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@完工日期_Start NVARCHAR(20)`、`@完工日期_End NVARCHAR(20)`、`@检测日期_Start NVARCHAR(20)`、`@检测日期_End NVARCHAR(20)`、`@检测结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`、`@检测类别 NVARCHAR(50)`、`@检验状态 NVARCHAR(10)`、`@属性 NVARCHAR(50)`。 主要返回字段线索:`订单编号, MAX(订单行号) AS 最大订单行号`。 关键过滤/匹配条件:`SET @WhereConditions = @WhereConditions + ' AND 内部合同号 LIKE ''%' + REPLACE(@合同号, '''', '''''') + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 计划号 = '+@订单号+''`;`SET @WhereConditions = @WhereConditions + ' AND 零件编码 LIKE ''%' + REPLACE(@零件编号, '''', '''''') + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 零件名称 LIKE ''%' + REPLACE(@零件名称, '''', '''''') + '%'''`;`IF @完工日期_Start '' AND @完工日期_End ''`;`SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 计划完成时间) BETWEEN ''' + @完工日期_Start + ''' AND ''' + @完工日期_End + ''''`;`IF @检测日期_Start '' AND @检测日期_End ''`;`SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检测时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''`;`SET @WhereConditions = @WhereConditions + ' AND 检测状态 = 1'`;`SET @WhereConditions = @WhereConditions + ' AND 检测状态 = 2'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @WhereConditions = @WhereConditions + ' AND 内部合同号 LIKE ''%' + REPLACE(@合同号, '''', '''''') + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 计划号 = '+@订单号+''`;`SET @WhereConditions = @WhereConditions + ' AND 零件编码 LIKE ''%' + REPLACE(@零件编号, '''', '''''') + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 零件名称 LIKE ''%' + REPLACE(@零件名称, '''', '''''') + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 计划完成时间) BETWEEN ''' + @完工日期_Start + ''' AND ''' + @完工日期_End + ''''`;`SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检测时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''`;`SET @WhereConditions = @WhereConditions + ' AND 检测状态 = 1'`;`SET @WhereConditions = @WhereConditions + ' AND 检测状态 = 2'`;`SET @WhereConditions = @WhereConditions + ' AND 检测人 LIKE ''%' + REPLACE(@检测人, '''', '''''') + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 检测类别 = ''' + REPLACE(@检测类别, '''', '''''') + ''''`;`SET @WhereConditions = @WhereConditions + ' AND 检验状态 = ''已完成'''`。 排序/分组/分页线索:`GROUP BY 订单编号`;`GROUP BY TaskAID, 工序名称`;`GROUP BY 内部合同号, 计划号, 零件编码, 零件名称, 工序名称, TaskAID, 加急状态, 加急总数, 自制件属性`;`SET @SQL = @SQL + ' ORDER BY 检测时间 DESC, 内部合同号, 计划号'`。 +- `质量管理_质量检验_终检记录_查询` 属于 质量检验,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`。 入参/分页参数:`@合同号 NVARCHAR(100)`、`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@检测日期_Start NVARCHAR(20)`、`@检测日期_End NVARCHAR(20)`、`@检测结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`。 主要返回字段线索:`QT_AID, `、`TaskAID, `、`检测类型编号, `、`质检类型, `、`零件编码, `、`零件名称, `、`内部合同号, `、`计划号, `、`工序名称, `、`计划生产数, `。 关键过滤/匹配条件:`SET @WhereConditions = @WhereConditions + ' AND 内部合同号 LIKE ''%' + @合同号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 计划号 LIKE ''%' + @订单号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 零件编码 LIKE ''%' + @零件编号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'''`;`IF @检测日期_Start '' AND @检测日期_End ''`;`SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检测时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''`;`SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'`;`SET @WhereConditions = @WhereConditions + ' AND (不合格数 > 0)'`;`SET @WhereConditions = @WhereConditions + ' AND 检测人 LIKE ''%' + @检测人 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 质检类型 = ''终检'' AND 检测类型编号 = 8'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @WhereConditions = @WhereConditions + ' AND 内部合同号 LIKE ''%' + @合同号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 计划号 LIKE ''%' + @订单号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 零件编码 LIKE ''%' + @零件编号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检测时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''`;`SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'`;`SET @WhereConditions = @WhereConditions + ' AND (不合格数 > 0)'`;`SET @WhereConditions = @WhereConditions + ' AND 检测人 LIKE ''%' + @检测人 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 质检类型 = ''终检'' AND 检测类型编号 = 8'`;`SET @WhereConditions = ' WHERE ' + SUBSTRING(@WhereConditions, 5, LEN(@WhereConditions))`;`SET @SQL = '`。 排序/分组/分页线索:`ORDER BY 检测时间 DESC, 内部合同号, 计划号'`。 +- `MES_QulityInspection_FinalCheck` 属于 质量检验,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 质量检验处理。 数据库处理摘要:查询、新增、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`。 写入或更新对象:`YL_质量检验_质检记录`。 入参/分页参数:`@TaskAID INT`、`@检测类型编号 INT`、`@质检类型 NVARCHAR(50)`、`@零件名称 NVARCHAR(100),`、`@内部合同号 NVARCHAR(100),`、`@零件编码 NVARCHAR(100),`、`@计划号 NVARCHAR(100),`、`@工序名称 NVARCHAR(100),`、`@检测数量 INT,`、`@合格数 INT,`、`@不合格数 INT,`、`@检测人 NVARCHAR(50),`、`@检测时间 NVARCHAR(50),`、`@检测说明 NVARCHAR(500)`、`@放行数量 INT`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO [dbo].[YL_质量检验_质检记录] (`。 +- `工时校验_获取工序和指派对象` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`顺序编号, 指派对象, 工序名称, 订单行号, b.VisCode as 指派对象编号`。 关键过滤/匹配条件:`select 顺序编号, 指派对象, 工序名称, 订单行号, b.VisCode as 指派对象编号 from MES_接口_生产计划_生产任务 a left join MES_资源主数据 b on a.指派对象 = b.Name where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 + +## 50. src/views/QualityManagement/CheckTask/firstSpecial.vue + +**页面位置**:`src/views/QualityManagement/CheckTask/firstSpecial.vue` +**所属模块**:QualityManagement / CheckTask +**源码行数**:302 + +### 页面功能 + +该页面处理首检/特殊首件检验。用户按工序和工位选择任务,录入首检数据。 + +页面可见的操作/字段包括 “item.label”、“序号”、“工位编号”、“工序名称”、“操作类别”、“操作人”、“销售订单”、“生产订单”、“物料编号”、“物料名称”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `Prog_MES_LoadProcess`、`Prog_MES_LoadStations`、`MES_QulityInspection_FirstCheckRecords` 取数或提交业务动作。 + +### 页面流程图 + +质检业务流程: + +```mermaid +flowchart LR + A[选择检验类型/订单/物料/工序] --> B[查询待检任务] + B --> C[查看图纸/字典/检验人员] + C --> D[录入检测数量、合格数、不合格数和检测明细] + D --> E{检验类型} + E --> F[来料/入库/退货检验更新] + E --> G[序检收检新增或更新] + E --> H[终检/首检/特殊检验保存] + F --> I[写入 YL_质量检验_质检记录及明细] + G --> I + H --> I + I --> J[必要时查询/回写 SAP 生产订单或单据] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`item.label`、`序号`、`工位编号`、`工序名称`、`操作类别`、`操作人`、`销售订单`、`生产订单`、`物料编号`、`物料名称`、`操作数值`、`开始时间`、`结束时间`、`工时(分)`、`请选择工序`、`请选择工位`、`请输入生产订单`、`请输入零件编号` + +主要方法线索:`getProcessList`、`for` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.process` | `@ProcessID` | - | +| 参数 | `this.station` | `@OPCode` | - | +| 参数 | `this.orderNo` | `@OrderNo` | - | +| 参数 | `this.partNo` | `@PartCode` | - | +| 参数 | `this.operationTime ? this.operationTime[0` | `@PlanStart` | - | +| 参数 | `this.operationTime ? this.operationTime[1` | `@PlanEnd` | - | +| 参数 | `1` | `@不装配` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `工位编号` | - | `[工位编号]` | +| 显示列 | `工序名称` | - | `[工艺编号], [工序名称]` | +| 显示列 | `操作类别` | - | `[操作类别]` | +| 显示列 | `操作人` | - | `[操作人]` | +| 显示列 | `销售订单` | - | `销售订单` | +| 显示列 | `生产订单` | - | `生产订单` | +| 显示列 | `物料编号` | - | `[物料编号]` | +| 显示列 | `物料名称` | - | `物料名称` | +| 显示列 | `操作数值` | - | `操作数值` | +| 显示列 | `开始时间` | - | `开始时间` | +| 显示列 | `结束时间` | - | `结束时间` | +| 显示列 | `工时(分)` | - | `工时(分)` | +| 输入字段 | `process` | `@ProcessID` | - | +| 输入字段 | `station` | `@OPCode` | - | +| 输入字段 | `orderNo` | `@OrderNo` | - | +| 输入字段 | `partNo` | `@PartCode` | - | +| 输入字段 | `operationTime` | `@PlanStart` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 236 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadProcess` | 查询/读取数据 | 查询 | 表:`基础表_工序` | +| 249 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` | +| 273 | 11(当前通用存储过程查询/执行) | `MES_QulityInspection_FirstCheckRecords` | 质量检验处理 | 查询、处理报工/工时 | 表:`YL_加工中心_操作记录表` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `MES_QulityInspection_FirstCheckRecords`:`FROM [YL_加工中心_操作记录表]';` + +### 数据库调用链 + +- `src/views/QualityManagement/CheckTask/firstSpecial.vue` -> `Prog_MES_LoadProcess` -> 表:`基础表_工序` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/firstSpecial.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/firstSpecial.vue` -> `MES_QulityInspection_FirstCheckRecords` -> 表:`YL_加工中心_操作记录表` -> 质量检验处理 + +### 存储过程处理逻辑明细 + +- `Prog_MES_LoadProcess` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 主要返回字段线索:`[工艺编号], [工序名称]`。 排序/分组/分页线索:`SELECT [工艺编号], [工序名称] FROM [基础表_工序] ORDER BY [工艺编号]`。 +- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 +- `MES_QulityInspection_FirstCheckRecords` 属于 质量检验,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 质量检验处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`。 入参/分页参数:`@ProcessID int`、`@OPCode nvarchar(50)`、`@OrderNo int`、`@PartCode nvarchar(50)`、`@PlanStart nvarchar(50)`、`@PlanEnd nvarchar(50)`、`@不装配 int`。 主要返回字段线索:`[操作类别]`、`[阶段标识]`、`[工序名称]`、`[工位编号]`、`[工位名称]`、`[操作人]`、`[合同号]`、`[订单编号]`、`[物料编号]`、`[物料描述]`。 关键过滤/匹配条件:`declare @whereString nvarchar(max) = ' where 操作类别 = ''首检'''`;`if(@ProcessID>0) set @whereString = @whereString+' and [阶段标识] = '+Convert(VARCHAR(10), @ProcessID)`;`if(len(@OPCode)>0) set @whereString = @whereString+' and [工位编号] = '''+@OPCode+''''`;`if(@OrderNo>0) set @whereString = @whereString+' and [订单编号] = '+Convert(VARCHAR(10), @OrderNo)`;`if(len(@PartCode)>0) set @whereString = @whereString+' and [物料编号] like ''%'+@PartCode+'%'''`;`if(len(@PlanStart)>0) set @whereString = @whereString+' and [开始时间] > = '''+Convert(VARCHAR(50), @PlanStart)+''''`;`if(len(@PlanEnd)>0) set @whereString = @whereString+' and [开始时间] < = '''+Convert(VARCHAR(50), DATEADD(day, 1, @PlanEnd))+''''`;`if(@不装配 = 1)set @whereString = @whereString+' and [不装配] ''否'''`;`if(@不装配 = 2)set @whereString = @whereString+' and [不装配] = ''否'''`。 关键写入/状态处理语句线索:`if(@ProcessID>0) set @whereString = @whereString+' and [阶段标识] = '+Convert(VARCHAR(10), @ProcessID)`;`if(len(@OPCode)>0) set @whereString = @whereString+' and [工位编号] = '''+@OPCode+''''`;`if(@OrderNo>0) set @whereString = @whereString+' and [订单编号] = '+Convert(VARCHAR(10), @OrderNo)`;`if(len(@PartCode)>0) set @whereString = @whereString+' and [物料编号] like ''%'+@PartCode+'%'''`;`if(len(@PlanStart)>0) set @whereString = @whereString+' and [开始时间] > = '''+Convert(VARCHAR(50), @PlanStart)+''''`;`if(len(@PlanEnd)>0) set @whereString = @whereString+' and [开始时间] < = '''+Convert(VARCHAR(50), DATEADD(day, 1, @PlanEnd))+''''`;`if(@不装配 = 1)set @whereString = @whereString+' and [不装配] ''否'''`;`if(@不装配 = 2)set @whereString = @whereString+' and [不装配] = ''否'''`;`set @sqlString = @sqlString+@whereString+@orderString`。 排序/分组/分页线索:`declare @orderString nvarchar(max) = ' order by 开始时间 desc'`。 + +## 51. src/views/QualityManagement/CheckTask/materialReturn.vue + +**页面位置**:`src/views/QualityManagement/CheckTask/materialReturn.vue` +**所属模块**:QualityManagement / CheckTask +**源码行数**:1346 + +### 页面功能 + +该页面处理原材料退库检验。用户查询退库检验任务,读取 SAP 生产订单辅助信息,录入并更新检验结果。 + +页面可见的操作/字段包括 “查询”、“扫码”、“取 消”、“合格”、“不合格”、“已完成”、“未完成”、“item.label”、“序号”、“单据码”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_原材料退库_查询`、`质量管理_原材料退库检验_更新` 取数或提交业务动作。 + +### 页面流程图 + +质检业务流程: + +```mermaid +flowchart LR + A[选择检验类型/订单/物料/工序] --> B[查询待检任务] + B --> C[查看图纸/字典/检验人员] + C --> D[录入检测数量、合格数、不合格数和检测明细] + D --> E{检验类型} + E --> F[来料/入库/退货检验更新] + E --> G[序检收检新增或更新] + E --> H[终检/首检/特殊检验保存] + F --> I[写入 YL_质量检验_质检记录及明细] + G --> I + H --> I + I --> J[必要时查询/回写 SAP 生产订单或单据] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`扫码`、`取 消`、`合格`、`不合格`、`已完成`、`未完成`、`item.label`、`序号`、`单据码`、`生产订单`、`物料名称`、`物料编码`、`到货时间`、`检验数量`、`合格数`、`不合格数`、`批次信息` + +主要方法线索:`startscan` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.orderNo` | `@订单号` | - | +| 参数 | `this.partNo` | `@零件编号` | - | +| 参数 | `this.partName` | `@零件名称` | - | +| 参数 | `this.inspectionDate ? this.inspectionDate[0` | `@检测日期_Start` | - | +| 参数 | `this.inspectionDate ? this.inspectionDate[1` | `@检测日期_End` | - | +| 参数 | `this.taskstatus` | `@状态` | - | +| 参数 | `this.inspectionResult` | `@检测结果` | - | +| 参数 | `this.ordercode` | `@单据码` | - | +| 参数 | `selectedChecker ? selectedChecker.label : ""` | `@检测人` | - | +| 参数 | `5` | `@检测类型编号` | - | +| 参数 | `"退库检验"` | `@质检类型` | - | +| 参数 | `this.receiveCheckData.零件名称` | `@零件名称` | - | +| 参数 | `this.receiveCheckData.零件编码` | `@零件编码` | - | +| 参数 | `this.receiveCheckData.计划号` | `@计划号` | - | +| 参数 | `this.receiveCheckData.送检数量` | `@检测数量` | - | +| 参数 | `this.receiveCheckData.合格数` | `@合格数` | - | +| 参数 | `this.receiveCheckData.不合格数` | `@不合格数` | - | +| 参数 | `this.receiveCheckData.检测人` | `@检测人` | - | +| 参数 | `this.receiveCheckData.检测时间` | `@检测时间` | - | +| 参数 | `this.receiveCheckData.检测说明` | `@检测说明` | - | +| 参数 | `this.receiveCheckData.行号` | `@行号` | - | +| 参数 | `this.receiveCheckData.订单类型` | `@订单类型` | - | +| 参数 | `this.receiveCheckData.检测数量` | `@到货数` | - | +| 参数 | `this.receiveCheckData.放行数量` | `@放行数量` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `单据码` | - | `单据码` | +| 显示列 | `生产订单` | - | `订单编号` | +| 显示列 | `物料名称` | - | `物料名称` | +| 显示列 | `物料编码` | - | `物料编码` | +| 显示列 | `到货时间` | - | `采购到货时间` | +| 显示列 | `检验数量` | - | `入库数量` | +| 显示列 | `合格数` | - | `合格数` | +| 显示列 | `不合格数` | - | `不合格数` | +| 显示列 | `批次信息` | - | `批次信息` | +| 显示列 | `检验人` | - | `检测人` | +| 显示列 | `检验时间` | - | `检验时间` | +| 显示列 | `备注` | - | `备注` | +| 显示列 | `操作` | - | `操作` | +| 输入字段 | `ordercode` | `@单据码` | - | +| 输入字段 | `orderNo` | `@订单号` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) +- TM/OpenAPI 接口(`src/api/tm.js`) +- Excel/报表导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 681 | 11(当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | +| 695 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` | +| 733 | 11(当前通用存储过程查询/执行) | `质量管理_原材料退库_查询` | 查询/读取数据 | 查询、处理质检数据 | 表:`质量检验_质检任务_SAP` | +| 841 | 12(当前通用存储过程写入/业务动作) | `质量管理_原材料退库检验_更新` | 更新/保存业务数据 | 查询、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 878 行:`getB1("/ProductionOrders")` +- 第 921 行:`posttm("/stocktask/task/receiptordertask")` + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 878 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter`、`lines`、`doc_date`、`doc_type`、`external_num`、`target_type`、`task_items`、`base_type`、`item_code`、`item_name`、`whs_code`、`manage_type` | +| 921 | `posttm` | `/stocktask/task/receiptordertask` | 调用外部接口,失败会影响对应外部系统同步。 | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` | + +### 状态流转说明 + +- `人员管理_人员信息查询_质检部门_查询`:`create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]` +- `质量管理_原材料退库_查询`:`@状态 NVARCHAR(10) = '', `;`IF @状态 ''`;`IF @状态 = '1'`;`ELSE IF @状态 = '0'`;`* from [dbo].[质量检验_质检任务_SAP] '+@WhereConditions+''` +- `质量管理_原材料退库检验_更新`:`@质检类型 NVARCHAR(50), `;`UPDATE [dbo].[质量检验_质检任务_SAP]`;`MERGE INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] AS target`;`@质检类型 AS 质检类型, `;`target.[质检类型] = source.[质检类型], `;`[质检类型], `;`source.[质检类型], ` + +### 数据库调用链 + +- `src/views/QualityManagement/CheckTask/materialReturn.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/materialReturn.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/materialReturn.vue` -> `质量管理_原材料退库_查询` -> 表:`质量检验_质检任务_SAP` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/materialReturn.vue` -> `质量管理_原材料退库检验_更新` -> 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `查询字典` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。 +- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `质量管理_原材料退库_查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`质量检验_质检任务_SAP`。 入参/分页参数:`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@检测日期_Start NVARCHAR(20)`、`@检测日期_End NVARCHAR(20)`、`@检测结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`、`@状态 NVARCHAR(10)`、`@单据码 NVARCHAR(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SET @WhereConditions = @WhereConditions + ' AND (订单类型 = ''202-60'') '`;`SET @WhereConditions = @WhereConditions + ' AND 单据码 LIKE ''%' + @单据码 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 订单编号 LIKE ''%' + @订单号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 物料编码 LIKE ''%' + @零件编号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 物料名称 LIKE ''%' + @零件名称 + '%'''`;`IF @检测日期_Start '' AND @检测日期_End ''`;`SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检验时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''`;`SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'`;`SET @WhereConditions = @WhereConditions + ' AND ( 不合格数 > 0)'`;`SET @WhereConditions = @WhereConditions + ' AND (ISNULL(合格数, 0) + ISNULL(不合格数, 0) = ISNULL(到货数, 0)) AND ISNULL(到货数, 0) 0'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @WhereConditions = @WhereConditions + ' AND (订单类型 = ''202-60'') '`;`SET @WhereConditions = @WhereConditions + ' AND 单据码 LIKE ''%' + @单据码 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 订单编号 LIKE ''%' + @订单号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 物料编码 LIKE ''%' + @零件编号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 物料名称 LIKE ''%' + @零件名称 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检验时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''`;`SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'`;`SET @WhereConditions = @WhereConditions + ' AND ( 不合格数 > 0)'`;`SET @WhereConditions = @WhereConditions + ' AND (ISNULL(合格数, 0) + ISNULL(不合格数, 0) = ISNULL(到货数, 0)) AND ISNULL(到货数, 0) 0'`;`SET @WhereConditions = @WhereConditions + ' AND (ISNULL(合格数, 0) + ISNULL(不合格数, 0) < ISNULL(到货数, 入库数量)) '`;`SET @WhereConditions = @WhereConditions + ' AND ISNULL( 检测人, '''') LIKE ''%' + @检测人 + '%'''`。 +- `质量管理_原材料退库检验_更新` 属于 生产执行/工时,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP`。 写入或更新对象:`质量检验_质检任务_SAP`。 入参/分页参数:`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@检测数量 decimal(18,`、`@合格数 decimal(18,`、`@不合格数 decimal(18,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@检测说明 NVARCHAR(MAX),`、`@行号 int,`、`@订单类型 NVARCHAR(50),`、`@到货数 decimal(18,`、`@放行数量 int`。 关键过滤/匹配条件:`WHERE 订单编号 = @计划号 AND 行号 = @行号 and 订单类型 = @订单类型`;`ON (target.[零件编码] = source.[零件编码] AND target.[计划号] = source.[计划号] and target.行号 = source.行号 )`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`UPDATE [dbo].[质量检验_质检任务_SAP]`;`SET 合格数 = @合格数, `;`MERGE INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] AS target`;`UPDATE SET`。 + +## 52. src/views/QualityManagement/CheckTask/processReceive.vue + +**页面位置**:`src/views/QualityManagement/CheckTask/processReceive.vue` +**所属模块**:QualityManagement / CheckTask +**源码行数**:1199 + +### 页面功能 + +该页面处理序检收检。质检人员接收工序检验任务,查询加急和字典信息,读取 SAP 工序状态,新增序检收检记录。 + +页面可见的操作/字段包括 “查询”、“导出 -->”、“取 消”、“关闭”、“装配”、“机加”、“全部”、“合格”、“不合格”、“item.label”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `工艺管理_图纸维护_查看图纸`、`加急订单_加急明细查询`、`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_收检记录_查询`、`质量管理_序检收检_新增` 取数或提交业务动作。 + +### 页面流程图 + +质检业务流程: + +```mermaid +flowchart LR + A[选择检验类型/订单/物料/工序] --> B[查询待检任务] + B --> C[查看图纸/字典/检验人员] + C --> D[录入检测数量、合格数、不合格数和检测明细] + D --> E{检验类型} + E --> F[来料/入库/退货检验更新] + E --> G[序检收检新增或更新] + E --> H[终检/首检/特殊检验保存] + F --> I[写入 YL_质量检验_质检记录及明细] + G --> I + H --> I + I --> J[必要时查询/回写 SAP 生产订单或单据] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`导出 -->`、`取 消`、`关闭`、`装配`、`机加`、`全部`、`合格`、`不合格`、`item.label`、`已完成`、`未完成`、`序号`、`销售订单`、`生产订单`、`物料名称`、`物料编码`、`工序名称` + +主要方法线索:`getitemdraw`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `row.零件编码` | `@物料编号` | - | +| 参数 | `this.contractNo` | `@合同号` | - | +| 参数 | `this.orderNo` | `@订单号` | - | +| 参数 | `this.partNo` | `@零件编号` | - | +| 参数 | `this.partName` | `@零件名称` | - | +| 参数 | `this.completionTime ? this.completionTime[0` | `@完工日期_Start` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@完工日期_End` | - | +| 参数 | `this.inspectionDate ? this.inspectionDate[0` | `@检测日期_Start` | - | +| 参数 | `this.inspectionDate ? this.inspectionDate[1` | `@检测日期_End` | - | +| 参数 | `this.inspectionResult` | `@检测结果` | - | +| 参数 | `selectedChecker ? selectedChecker.label : ""` | `@检测人` | `MAX(检测人) AS 检测人, ` | +| 参数 | `this.type` | `@检测类别` | - | +| 参数 | `this.checkstatus` | `@检测状态` | - | +| 参数 | `this.attribute` | `@属性` | - | +| 参数 | `this.receiveCheckData.TaskAID ` | `@TaskAID` | - | +| 参数 | `6` | `@检测类型编号` | - | +| 参数 | `"收检"` | `@质检类型` | - | +| 参数 | `this.receiveCheckData.零件名称` | `@零件名称` | - | +| 参数 | `this.receiveCheckData.内部合同号` | `@内部合同号` | - | +| 参数 | `this.receiveCheckData.零件编码` | `@零件编码` | - | +| 参数 | `this.receiveCheckData.计划号` | `@计划号` | - | +| 参数 | `this.receiveCheckData.工序名称` | `@工序名称` | - | +| 参数 | `this.receiveCheckData.检测数量` | `@检测数量` | - | +| 参数 | `this.receiveCheckData.合格数` | `@合格数` | - | +| 参数 | `this.receiveCheckData.不合格数` | `@不合格数` | - | +| 参数 | `this.receiveCheckData.检测人` | `@检测人` | `MAX(检测人) AS 检测人, ` | +| 参数 | `this.receiveCheckData.检测时间` | `@检测时间` | - | +| 参数 | `this.receiveCheckData.检测说明` | `@检测说明` | - | +| 参数 | `this.receiveCheckData.放行数量` | `@放行数量` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `销售订单` | - | `合同号` | +| 显示列 | `生产订单` | - | `计划号` | +| 显示列 | `物料名称` | - | `零件名称` | +| 显示列 | `物料编码` | - | `零件编码` | +| 显示列 | `工序名称` | - | `工序名称` | +| 显示列 | `工位名称` | - | `工位名称` | +| 显示列 | `加急数量` | - | `docentry as 订单编号, itemcode as 物料编号, 加急数量` | +| 显示列 | `完成数量` | - | `完成数量` | +| 显示列 | `检验数量` | - | `SUM(检验数量) AS 检验数量, ` | +| 显示列 | `检验合格数量` | - | `SUM(合格数) AS 合格数, ` | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) +- PDF/图纸预览或导出 +- Excel/报表导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 578 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 619 | 11(当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` | +| 626 | 11(当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | +| 640 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` | +| 697 | 11(当前通用存储过程查询/执行) | `质量管理_质量检验_收检记录_查询` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`YL_加工中心_操作记录表`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 898 | 12(当前通用存储过程写入/业务动作) | `质量管理_序检收检_新增` | 新增业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 820 行:`postB1("/QueryService_PostQuery")` +- 第 842 行:`postB1("/PurchaseDeliveryNotes")` +存储过程内读取 SAP B1 数据库对象: +- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 820 | `postB1` | `/QueryService_PostQuery` | 调用外部接口,失败会影响对应外部系统同步。 | `QueryPath`、`QueryOption` | +| 842 | `postB1` | `/PurchaseDeliveryNotes` | 调用外部接口,失败会影响对应外部系统同步。 | `CardCode`、`CardName`、`DocDate`、`DocumentLines`、`BaseEntry`、`BaseLine`、`BaseType`、`Quantity`、`U_WWPassedQty` | + +### 状态流转说明 + +- `加急订单_加急明细查询`:`SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` +- `人员管理_人员信息查询_质检部门_查询`:`create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]` +- `质量管理_质量检验_收检记录_查询`:`@检测状态 NVARCHAR(50) = '', `;`DECLARE @WhereConditions NVARCHAR(MAX) = ' and v.单据状态 is null '`;`IF @检测状态 = 1`;`SET @WhereConditions = @WhereConditions + ' AND (ISNULL(q.检验数量, 0)) = (ISNULL(o.完成数量, 0))'`;`IF @检测状态 = 0`;`SET @WhereConditions = @WhereConditions + ' AND (ISNULL(q.检验数量, 0)) < (ISNULL(o.完成数量, 0))'`;`IF @检测状态 = 2`;`FROM [dbo].[YL_质量检验_质检记录]` +- `质量管理_序检收检_新增`:`@质检类型 NVARCHAR(50), `;`DECLARE @已完成检测数量 int`;`select @计划数量 = 计划数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID`;`select @已完成检测数量 = sum(检验数量) from YL_质量检验_质检记录 where [TaskAID] = @TaskAID and 质检类型 = '收检'`;`set @最新检测数量 = @检测数量 + isnull(@已完成检测数量, 0)`;`INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (`;`[质检类型], `;`@质检类型, ` + +### 数据库调用链 + +- `src/views/QualityManagement/CheckTask/processReceive.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/processReceive.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/processReceive.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/processReceive.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/processReceive.vue` -> `质量管理_质量检验_收检记录_查询` -> 表:`YL_加工中心_操作记录表`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/processReceive.vue` -> `质量管理_序检收检_新增` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` -> 新增业务数据 + +### 存储过程处理逻辑明细 + +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。 +- `查询字典` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。 +- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `质量管理_质量检验_收检记录_查询` 属于 质量检验,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_加工中心_操作记录表`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@合同号 NVARCHAR(100)`、`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@完工日期_Start NVARCHAR(20)`、`@完工日期_End NVARCHAR(20)`、`@检测日期_Start NVARCHAR(20)`、`@检测日期_End NVARCHAR(20)`、`@检测结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`、`@检测类别 NVARCHAR(50)`、`@检测状态 NVARCHAR(50)`、`@属性 NVARCHAR(50)`。 主要返回字段线索:`TaskAID, `、`SUM(检验数量) AS 检验数量, `、`SUM(合格数) AS 合格数, `、`SUM(不合格数) AS 不合格数, `、`MAX(检测人) AS 检测人, `、`MAX(检测时间) AS 检测时间, `、`MAX(检测说明) AS 检测说明`。 关键过滤/匹配条件:`DECLARE @WhereConditions NVARCHAR(MAX) = ' and v.单据状态 is null '`;`SET @WhereConditions = @WhereConditions + ' AND o.订单编号 = '+ @订单号 +''`;`SET @WhereConditions = @WhereConditions + ' AND v.[合同号] LIKE ''%' + @合同号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND o.物料编号 LIKE ''%' + @零件编号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND o.物料描述 LIKE ''%' + @零件名称 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND (q.合格数 > 0 AND q.不合格数 = 0)'`;`SET @WhereConditions = @WhereConditions + ' AND (q.不合格数 > 0)'`;`SET @WhereConditions = @WhereConditions + ' AND (ISNULL(q.检验数量, 0)) = (ISNULL(o.完成数量, 0))'`;`SET @WhereConditions = @WhereConditions + ' AND (ISNULL(q.检验数量, 0)) < (ISNULL(o.完成数量, 0))'`;`SET @WhereConditions = @WhereConditions + ' AND 自制件属性 NOT LIKE ''%装配%'''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @WhereConditions = @WhereConditions + ' AND o.订单编号 = '+ @订单号 +''`;`SET @WhereConditions = @WhereConditions + ' AND v.[合同号] LIKE ''%' + @合同号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND o.物料编号 LIKE ''%' + @零件编号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND o.物料描述 LIKE ''%' + @零件名称 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND (q.合格数 > 0 AND q.不合格数 = 0)'`;`SET @WhereConditions = @WhereConditions + ' AND (q.不合格数 > 0)'`;`SET @WhereConditions = @WhereConditions + ' AND (ISNULL(q.检验数量, 0)) = (ISNULL(o.完成数量, 0))'`;`SET @WhereConditions = @WhereConditions + ' AND (ISNULL(q.检验数量, 0)) < (ISNULL(o.完成数量, 0))'`;`SET @WhereConditions = @WhereConditions`;`SET @WhereConditions = @WhereConditions + ' AND 自制件属性 NOT LIKE ''%装配%'''`;`SET @WhereConditions = @WhereConditions + ' AND 自制件属性 LIKE ''%装配%'''`。 排序/分组/分页线索:`GROUP BY TaskAID`;`GROUP BY`;`ORDER BY o.订单编号 desc'`。 +- `质量管理_序检收检_新增` 属于 质量检验,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@内部合同号 int,`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@工序名称 NVARCHAR(100),`、`@检测数量 INT,`、`@合格数 INT,`、`@不合格数 INT,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@检测说明 NVARCHAR(MAX),`、`@放行数量 INT`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID`;`select @已完成检测数量 = sum(检验数量) from YL_质量检验_质检记录 where [TaskAID] = @TaskAID and 质检类型 = '收检'`;`WHERE AID = @TaskAID`;`WHERE 订单编号 = @计划号`;`AND 订单行号 = @当前订单行号 + 1`;`AND ISNULL(订单拆分内码, 1) = 1`;`WHERE AID = @下一道工序AID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`set @最新检测数量 = @检测数量 + isnull(@已完成检测数量, 0)`;`INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET 任务状态 = 1`。 实现特征:事务控制、异常捕获。 + +## 53. src/views/QualityManagement/CheckTask/processSpecial.vue + +**页面位置**:`src/views/QualityManagement/CheckTask/processSpecial.vue` +**所属模块**:QualityManagement / CheckTask +**源码行数**:65 + +### 页面功能 + +该页面处理过程/特殊检验。用户按工序任务录入特殊检验结果和检测明细。 + +### 页面流程图 + +质检业务流程: + +```mermaid +flowchart LR + A[选择检验类型/订单/物料/工序] --> B[查询待检任务] + B --> C[查看图纸/字典/检验人员] + C --> D[录入检测数量、合格数、不合格数和检测明细] + D --> E{检验类型} + E --> F[来料/入库/退货检验更新] + E --> G[序检收检新增或更新] + E --> H[终检/首检/特殊检验保存] + F --> I[写入 YL_质量检验_质检记录及明细] + G --> I + H --> I + I --> J[必要时查询/回写 SAP 生产订单或单据] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:无 + +主要方法线索:无 + +### 字段映射表 + +未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。 + +### 技术路线 + +- Vue 2 Options API +- Element UI +- 未发现页面级后端存储过程调用 + +### 调用的存储过程总览 + +未发现 `CreateData(...)` 存储过程调用。 + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +无数据库调用链。 + +### 存储过程处理逻辑明细 + +无页面级存储过程调用。 + +## 54. src/views/QualityManagement/CheckTask/purchaseIncoming.vue + +**页面位置**:`src/views/QualityManagement/CheckTask/purchaseIncoming.vue` +**所属模块**:QualityManagement / CheckTask +**源码行数**:1335 + +### 页面功能 + +该页面处理采购/来料检验。质检人员查询待检任务,查看图纸、字典和检验人员,录入合格数、不合格数、检测数据,调用过程更新来料检验结果。 + +页面可见的操作/字段包括 “查询”、“取 消”、“关闭”、“合格”、“不合格”、“已完成”、“未完成”、“item.label”、“序号”、“单据码”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `加急订单_加急明细查询`、`工艺管理_图纸维护_查看图纸`、`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_入库质检任务_查询`、`质量管理_来料检验_更新` 取数或提交业务动作。 + +### 页面流程图 + +质检业务流程: + +```mermaid +flowchart LR + A[选择检验类型/订单/物料/工序] --> B[查询待检任务] + B --> C[查看图纸/字典/检验人员] + C --> D[录入检测数量、合格数、不合格数和检测明细] + D --> E{检验类型} + E --> F[来料/入库/退货检验更新] + E --> G[序检收检新增或更新] + E --> H[终检/首检/特殊检验保存] + F --> I[写入 YL_质量检验_质检记录及明细] + G --> I + H --> I + I --> J[必要时查询/回写 SAP 生产订单或单据] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`取 消`、`关闭`、`合格`、`不合格`、`已完成`、`未完成`、`item.label`、`序号`、`单据码`、`生产订单`、`物料名称`、`物料编码`、`到货时间`、`位置`、`加急数量`、`到货数量`、`已检验数量` + +主要方法线索:`Urgent` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `row.物料编码` | `@物料编号` | `docentry as 订单编号, itemcode as 物料编号, 加急数量` | +| 参数 | `this.orderNo` | `@订单号` | - | +| 参数 | `this.partNo` | `@零件编号` | - | +| 参数 | `this.partName` | `@零件名称` | - | +| 参数 | `this.inspectionDate ? this.inspectionDate[0` | `@检测日期_Start` | - | +| 参数 | `this.inspectionDate ? this.inspectionDate[1` | `@检测日期_End` | - | +| 参数 | `this.taskstatus` | `@状态` | - | +| 参数 | `this.inspectionResult` | `@检测结果` | - | +| 参数 | `this.ordercode` | `@单据码` | - | +| 参数 | `selectedChecker ? selectedChecker.label : ""` | `@检测人` | `检测人, ` | +| 参数 | `5` | `@检测类型编号` | - | +| 参数 | `"来料检验"` | `@质检类型` | - | +| 参数 | `this.receiveCheckData.零件名称` | `@零件名称` | - | +| 参数 | `this.receiveCheckData.零件编码` | `@零件编码` | - | +| 参数 | `this.receiveCheckData.计划号` | `@计划号` | - | +| 参数 | `this.receiveCheckData.本次检验数量` | `@检测数量` | - | +| 参数 | `this.receiveCheckData.合格数` | `@合格数` | - | +| 参数 | `this.receiveCheckData.不合格数` | `@不合格数` | - | +| 参数 | `this.receiveCheckData.检测人` | `@检测人` | `检测人, ` | +| 参数 | `this.receiveCheckData.检测时间` | `@检测时间` | - | +| 参数 | `this.receiveCheckData.检测说明` | `@检测说明` | - | +| 参数 | `this.receiveCheckData.行号` | `@行号` | - | +| 参数 | `this.receiveCheckData.订单类型` | `@订单类型` | - | +| 参数 | `this.receiveCheckData.到货总数` | `@到货数` | - | +| 参数 | `this.receiveCheckData.放行数量` | `@放行数量` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `单据码` | - | `单据码` | +| 显示列 | `生产订单` | - | `计划号, ` | +| 显示列 | `物料名称` | - | `物料名称` | +| 显示列 | `物料编码` | - | `物料编码` | +| 显示列 | `到货时间` | - | `采购到货时间` | +| 显示列 | `位置` | - | `存放位置` | +| 显示列 | `加急数量` | - | `docentry as 订单编号, itemcode as 物料编号, 加急数量` | +| 显示列 | `到货数量` | - | `入库数量` | +| 显示列 | `已检验数量` | - | `已检验数量` | +| 显示列 | `剩余待检` | - | `剩余待检数量` | +| 显示列 | `合格数` | - | `合格数, ` | +| 显示列 | `不合格数` | - | `不合格数, ` | +| 显示列 | `检验人` | - | `检测人, ` | +| 显示列 | `检验时间` | - | `检验时间` | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- PDF/图纸预览或导出 +- Excel/报表导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 626 | 11(当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` | +| 634 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 782 | 11(当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | +| 796 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` | +| 842 | 11(当前通用存储过程查询/执行) | `质量管理_质量检验_入库质检任务_查询` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` | +| 990 | 12(当前通用存储过程写入/业务动作) | `质量管理_来料检验_更新` | 更新/保存业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `加急订单_加急明细查询`:`SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` +- `人员管理_人员信息查询_质检部门_查询`:`create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]` +- `质量管理_质量检验_入库质检任务_查询`:`CREATE PROCEDURE [dbo].[质量管理_质量检验_入库质检任务_查询]`;`@状态 NVARCHAR(10) = '', `;`IF @状态 ''`;`SET @OuterWhere = @OuterWhere + ' AND 状态 = ''' + @状态 + ''''`;`FROM [dbo].[YL_质量检验_质检记录]`;`订单类型 AS 质检订单类型, `;`task.加急状态, `;`END AS 状态` +- `质量管理_来料检验_更新`:`@质检类型 NVARCHAR(50), `;`UPDATE [dbo].[质量检验_质检任务_SAP]`;`INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (`;`[质检类型], `;`@质检类型, ` + +### 数据库调用链 + +- `src/views/QualityManagement/CheckTask/purchaseIncoming.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/purchaseIncoming.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/purchaseIncoming.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/purchaseIncoming.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/purchaseIncoming.vue` -> `质量管理_质量检验_入库质检任务_查询` -> 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/purchaseIncoming.vue` -> `质量管理_来料检验_更新` -> 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。 +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `查询字典` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。 +- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `质量管理_质量检验_入库质检任务_查询` 属于 质量检验,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP`。 入参/分页参数:`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@检测日期_Start NVARCHAR(20)`、`@检测日期_End NVARCHAR(20)`、`@检测结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`、`@状态 NVARCHAR(10)`、`@单据码 NVARCHAR(50)`。 主要返回字段线索:`计划号, `、`检验数量, `、`合格数, `、`不合格数, `、`检测人, `、`检测时间, `、`6 AS 检测类型编号`。 关键过滤/匹配条件:`SET @TaskWhere = @TaskWhere + ' AND (task.订单类型 = ''20'') '`;`SET @TaskWhere = @TaskWhere + ' AND task.单据码 LIKE ''%' + @单据码 + '%'''`;`SET @TaskWhere = @TaskWhere + ' AND task.订单编号 LIKE ''%' + @订单号 + '%'''`;`SET @TaskWhere = @TaskWhere + ' AND task.物料编码 LIKE ''%' + @零件编号 + '%'''`;`SET @TaskWhere = @TaskWhere + ' AND task.物料名称 LIKE ''%' + @零件名称 + '%'''`;`SET @OuterWhere = @OuterWhere + ' AND 检测结果 = ' + @检测结果`;`SET @OuterWhere = @OuterWhere + ' AND 状态 = ''' + @状态 + ''''`;`SET @OuterWhere = @OuterWhere + ' AND 检测人 LIKE ''%' + @检测人 + '%'''`;`IF @检测日期_Start '' AND @检测日期_End ''`;`SET @OuterWhere = @OuterWhere + ' AND CAST(检验时间 AS DATE) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @TaskWhere = @TaskWhere + ' AND (task.订单类型 = ''20'') '`;`SET @TaskWhere = @TaskWhere + ' AND task.单据码 LIKE ''%' + @单据码 + '%'''`;`SET @TaskWhere = @TaskWhere + ' AND task.订单编号 LIKE ''%' + @订单号 + '%'''`;`SET @TaskWhere = @TaskWhere + ' AND task.物料编码 LIKE ''%' + @零件编号 + '%'''`;`SET @TaskWhere = @TaskWhere + ' AND task.物料名称 LIKE ''%' + @零件名称 + '%'''`;`SET @OuterWhere = @OuterWhere + ' AND 检测结果 = ' + @检测结果`;`SET @OuterWhere = @OuterWhere + ' AND 状态 = ''' + @状态 + ''''`;`SET @OuterWhere = @OuterWhere + ' AND 检测人 LIKE ''%' + @检测人 + '%'''`;`SET @OuterWhere = @OuterWhere + ' AND CAST(检验时间 AS DATE) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''`;`SET @InnerWhere = ' WHERE ' + SUBSTRING(@TaskWhere, 5, LEN(@TaskWhere))`;`SET @SQL = '`。 排序/分组/分页线索:`GROUP BY 计划号, 行号, 订单类型`;`GROUP BY task.订单编号, task.单据码, task.订单类型, task.物料编码, task.物料名称, task.到货数, task.入库数量, task.加急状态, task.行号, task.采购到货时间, task.存放位置, task.加急总数, cq.已检验数量, cq.累计合格数, cq.累计不合格数`;`ORDER BY 加急状态 DESC'`。 +- `质量管理_来料检验_更新` 属于 质量检验,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP`。 写入或更新对象:`质量检验_质检任务_SAP`。 入参/分页参数:`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@检测数量 decimal(18,`、`@合格数 decimal(18,`、`@不合格数 decimal(18,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@检测说明 NVARCHAR(MAX),`、`@行号 int,`、`@订单类型 NVARCHAR(50),`、`@到货数 decimal(18,`、`@放行数量 int`。 关键过滤/匹配条件:`WHERE 订单编号 = @计划号 AND 行号 = @行号 AND 订单类型 = @订单类型`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`UPDATE [dbo].[质量检验_质检任务_SAP]`;`SET 合格数 = ISNULL(合格数, 0) + @合格数, `;`INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (`。 + +## 55. src/views/QualityManagement/CheckTask/salesReturn.vue + +**页面位置**:`src/views/QualityManagement/CheckTask/salesReturn.vue` +**所属模块**:QualityManagement / CheckTask +**源码行数**:830 + +### 页面功能 + +该页面处理销售退货检验。用户查询销售退货待检任务,录入检验结果并更新质检记录。 + +页面可见的操作/字段包括 “查询”、“取 消”、“合格”、“不合格”、“item.label”、“序号”、“生产订单”、“物料名称”、“物料编码”、“采购数”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_退货质检任务_查询`、`质量管理_销售退货检_更新` 取数或提交业务动作。 + +### 页面流程图 + +质检业务流程: + +```mermaid +flowchart LR + A[选择检验类型/订单/物料/工序] --> B[查询待检任务] + B --> C[查看图纸/字典/检验人员] + C --> D[录入检测数量、合格数、不合格数和检测明细] + D --> E{检验类型} + E --> F[来料/入库/退货检验更新] + E --> G[序检收检新增或更新] + E --> H[终检/首检/特殊检验保存] + F --> I[写入 YL_质量检验_质检记录及明细] + G --> I + H --> I + I --> J[必要时查询/回写 SAP 生产订单或单据] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`取 消`、`合格`、`不合格`、`item.label`、`序号`、`生产订单`、`物料名称`、`物料编码`、`采购数`、`检验数量`、`合格数`、`不合格数`、`检验人`、`检验时间`、`备注`、`操作`、`请输入生产订单` + +主要方法线索:`getTypeList`、`for`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.orderNo` | `@订单号` | - | +| 参数 | `this.partNo` | `@零件编号` | - | +| 参数 | `this.partName` | `@零件名称` | - | +| 参数 | `this.inspectionDate ? this.inspectionDate[0` | `@检测日期_Start` | - | +| 参数 | `this.inspectionDate ? this.inspectionDate[1` | `@检测日期_End` | - | +| 参数 | `this.inspectionResult` | `@检测结果` | - | +| 参数 | `selectedChecker ? selectedChecker.label : ""` | `@检测人` | - | +| 参数 | `5` | `@检测类型编号` | - | +| 参数 | `"来料检验"` | `@质检类型` | - | +| 参数 | `this.receiveCheckData.零件名称` | `@零件名称` | - | +| 参数 | `this.receiveCheckData.零件编码` | `@零件编码` | - | +| 参数 | `this.receiveCheckData.计划号` | `@计划号` | - | +| 参数 | `this.receiveCheckData.检测数量` | `@检测数量` | - | +| 参数 | `this.receiveCheckData.合格数` | `@合格数` | - | +| 参数 | `this.receiveCheckData.不合格数` | `@不合格数` | - | +| 参数 | `this.receiveCheckData.检测人` | `@检测人` | - | +| 参数 | `this.receiveCheckData.检测时间` | `@检测时间` | - | +| 参数 | `this.receiveCheckData.检测说明` | `@检测说明` | - | +| 参数 | `this.receiveCheckData.行号` | `@行号` | - | +| 参数 | `this.receiveCheckData.订单类型` | `@订单类型` | - | +| 参数 | `this.formatDate(this.currentTime)` | `@doc_date` | - | +| 参数 | `"202-59"` | `@doc_type` | - | +| 参数 | `this.receiveCheckData.计划号` | `@external_num` | - | +| 参数 | `param2` | `@task_items` | - | +| 参数 | `"202"` | `@base_type` | - | +| 参数 | `this.receiveCheckData.零件编码` | `@item_code` | - | +| 参数 | `this.receiveCheckData.零件名称` | `@item_name` | - | +| 参数 | `""` | `@whs_code` | - | +| 参数 | `'B'` | `@manage_type` | - | +| 参数 | `0` | `@price` | - | +| 参数 | `this.receiveCheckData.合格数` | `@quantity` | - | +| 参数 | `this.receiveCheckData.行号` | `@base_line_num` | - | +| 参数 | `this.receiveCheckData.计划号` | `@base_entry` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `生产订单` | - | `订单编号` | +| 显示列 | `物料名称` | - | `物料名称` | +| 显示列 | `物料编码` | - | `物料编码` | +| 显示列 | `采购数` | - | `计划生产数` | +| 显示列 | `检验数量` | - | `入库数量` | +| 显示列 | `合格数` | - | `合格数` | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) +- TM/OpenAPI 接口(`src/api/tm.js`) +- Excel/报表导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 421 | 11(当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | +| 435 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` | +| 472 | 11(当前通用存储过程查询/执行) | `质量管理_质量检验_退货质检任务_查询` | 查询/读取数据 | 查询、处理质检数据 | 表:`质量检验_质检任务_SAP` | +| 577 | 12(当前通用存储过程写入/业务动作) | `质量管理_销售退货检_更新` | 更新/保存业务数据 | 查询、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 623 行:`posttm("/stocktask/task/issueordertask")` + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 623 | `posttm` | `/stocktask/task/issueordertask` | 调用外部接口,失败会影响对应外部系统同步。 | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` | + +### 状态流转说明 + +- `人员管理_人员信息查询_质检部门_查询`:`create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]` +- `质量管理_质量检验_退货质检任务_查询`:`CREATE PROCEDURE [dbo].[质量管理_质量检验_退货质检任务_查询]`;`* from [dbo].[质量检验_质检任务_SAP] '+@WhereConditions+''` +- `质量管理_销售退货检_更新`:`@质检类型 NVARCHAR(50), `;`UPDATE [dbo].[质量检验_质检任务_SAP]`;`MERGE INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] AS target`;`@质检类型 AS 质检类型, `;`target.[质检类型] = source.[质检类型], `;`[质检类型], `;`source.[质检类型], ` + +### 数据库调用链 + +- `src/views/QualityManagement/CheckTask/salesReturn.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/salesReturn.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/salesReturn.vue` -> `质量管理_质量检验_退货质检任务_查询` -> 表:`质量检验_质检任务_SAP` -> 查询/读取数据 +- `src/views/QualityManagement/CheckTask/salesReturn.vue` -> `质量管理_销售退货检_更新` -> 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `查询字典` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。 +- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `质量管理_质量检验_退货质检任务_查询` 属于 质量检验,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`质量检验_质检任务_SAP`。 入参/分页参数:`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@检测日期_Start NVARCHAR(20)`、`@检测日期_End NVARCHAR(20)`、`@检测结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SET @WhereConditions = @WhereConditions + ' AND (订单类型 = ''234000031'') '`;`SET @WhereConditions = @WhereConditions + ' AND 订单编号 LIKE ''%' + @订单号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 物料编码 LIKE ''%' + @零件编号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 物料名称 LIKE ''%' + @零件名称 + '%'''`;`IF @检测日期_Start '' AND @检测日期_End ''`;`SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检验时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''`;`SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'`;`SET @WhereConditions = @WhereConditions + ' AND ( 不合格数 > 0)'`;`SET @WhereConditions = @WhereConditions + ' AND ISNULL( 检测人, '''') LIKE ''%' + @检测人 + '%'''`;`SET @WhereConditions = ' WHERE ' + SUBSTRING(@WhereConditions, 5, LEN(@WhereConditions))`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @WhereConditions = @WhereConditions + ' AND (订单类型 = ''234000031'') '`;`SET @WhereConditions = @WhereConditions + ' AND 订单编号 LIKE ''%' + @订单号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 物料编码 LIKE ''%' + @零件编号 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND 物料名称 LIKE ''%' + @零件名称 + '%'''`;`SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检验时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''`;`SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'`;`SET @WhereConditions = @WhereConditions + ' AND ( 不合格数 > 0)'`;`SET @WhereConditions = @WhereConditions + ' AND ISNULL( 检测人, '''') LIKE ''%' + @检测人 + '%'''`;`SET @WhereConditions = ' WHERE ' + SUBSTRING(@WhereConditions, 5, LEN(@WhereConditions))`;`SET @SQL = '`。 +- `质量管理_销售退货检_更新` 属于 质量检验,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP`。 写入或更新对象:`质量检验_质检任务_SAP`。 入参/分页参数:`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@检测数量 decimal(18,`、`@合格数 decimal(18,`、`@不合格数 decimal(18,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@检测说明 NVARCHAR(MAX),`、`@行号 int,`、`@订单类型 NVARCHAR(50)`。 关键过滤/匹配条件:`WHERE 订单编号 = @计划号 AND 行号 = @行号 and 订单类型 = @订单类型`;`ON (target.[零件编码] = source.[零件编码] AND target.[计划号] = source.[计划号] and target.行号 = source.行号 )`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`UPDATE [dbo].[质量检验_质检任务_SAP]`;`SET 合格数 = @合格数, `;`MERGE INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] AS target`;`UPDATE SET`。 + +## 56. src/views/QualityManagement/QualityCenter/index.vue + +**页面位置**:`src/views/QualityManagement/QualityCenter/index.vue` +**所属模块**:QualityManagement / QualityCenter +**源码行数**:4692 + +### 页面功能 + +该页面是质量综合处理中心。用户集中查询质检任务、收检记录、终检/入库任务和质检明细,录入检测数据、不合格处理,并读取 SAP 生产订单信息辅助校验。 + +页面可见的操作/字段包括 “查询 --> --> 缺料”、“上一个 下一个”、“删除当前记录 关闭”、“上一个 下一个 保存当前记录 删除当前记录 关闭”、“确定 关闭”、“取 消”、“确 定”、“新增异常工时”、“编辑”、“取消”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `生产管理_获取人员绑定`、`加急订单_加急明细查询`、`MES_人员工时记录_获取进行中任务2`、`MES_人员工时记录_获取进行中任务`、`工时校验_获取订单列表`、`异常工时_新增操作记录` 等过程 取数或提交业务动作。 + +### 页面流程图 + +质检业务流程: + +```mermaid +flowchart LR + A[选择检验类型/订单/物料/工序] --> B[查询待检任务] + B --> C[查看图纸/字典/检验人员] + C --> D[录入检测数量、合格数、不合格数和检测明细] + D --> E{检验类型} + E --> F[来料/入库/退货检验更新] + E --> G[序检收检新增或更新] + E --> H[终检/首检/特殊检验保存] + F --> I[写入 YL_质量检验_质检记录及明细] + G --> I + H --> I + I --> J[必要时查询/回写 SAP 生产订单或单据] +``` + + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询 --> --> 缺料`、`上一个 下一个`、`删除当前记录 关闭`、`上一个 下一个 保存当前记录 删除当前记录 关闭`、`确定 关闭`、`取 消`、`确 定`、`新增异常工时`、`编辑`、`取消`、`关闭`、`确定`、`全部`、`已送检`、`未送检`、`待执行`、`可执行`、`已开工` + +主要方法线索:`handletaskChange` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `row.零件编码` | `@物料编号` | `docentry as 订单编号, itemcode as 物料编号, 加急数量` | +| 参数 | `userName` | `@用户ID` | - | +| 参数 | `orderId` | `@订单编号` | `订单编号, ` | +| 参数 | `this.TaskAID ` | `@TaskAID` | - | +| 参数 | `this.orderNo2 ` | `@订单号` | `main.[订单编号] as 订单号, ` | +| 参数 | `this.productCode2` | `@零件编号` | - | +| 参数 | `this.productionStatus2 ` | `@生产状态` | - | +| 参数 | `this.Doing` | `@工位名称` | - | +| 参数 | `this.$store.state.user.id` | `@用户ID` | - | +| 参数 | `this.plannum` | `@计划号` | - | +| 参数 | `this.salenum` | `@销售订单` | - | +| 参数 | `this.SendCheckStatus` | `@送检` | - | +| 参数 | `this.completionTime ? this.completionTime[0` | `@计划开工_Start` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@计划开工_End` | - | +| 参数 | `row.零件编码` | `@ItemCode` | - | +| 参数 | `row.订单号` | `@订单号` | `main.[订单编号] as 订单号, ` | +| 参数 | `taskAID` | `@TaskAID` | - | +| 参数 | `userId` | `@用户ID` | - | +| 参数 | `userName` | `@用户名` | - | +| 参数 | `userName` | `@操作人` | - | +| 参数 | `"1"` | `@isOvertime` | - | +| 参数 | `overtimeResult.person` | `@加班人员` | - | +| 参数 | `overtimeResult.hours` | `@overtimeHours` | - | +| 参数 | `currentShift.shiftName` | `@overtimeShift` | - | +| 参数 | `this.currentTime` | `@结束时间` | - | +| 参数 | `this.workendData.备注` | `@备注` | - | +| 参数 | `this.workendData.工序说明` | `@工序说明` | - | +| 参数 | `this.workendData.异常说明` | `@异常说明` | - | +| 参数 | `this.workendData.本次检数` | `@本次检数` | `@检验数 = ISNULL(本次检数, 0)` | +| 参数 | `row.TaskAID` | `@TaskAID` | - | +| 参数 | `this.$store.state.user.name` | `@optor` | - | +| 参数 | `this.assistNumber` | `@recievCount` | - | +| 参数 | `this.receiveCheckData.TaskAID` | `@TaskAID` | - | +| 参数 | `6` | `@检测类型编号` | - | +| 参数 | `"收检"` | `@质检类型` | - | +| 参数 | `this.receiveCheckData.零件名称` | `@零件名称` | - | +| 参数 | `this.receiveCheckData.内部合同号` | `@内部合同号` | - | +| 参数 | `this.receiveCheckData.零件编码` | `@零件编码` | - | +| 参数 | `this.receiveCheckData.计划号 ` | `@计划号` | - | +| 参数 | `this.receiveCheckData.工序名称 ` | `@工序名称` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) +- TM/OpenAPI 接口(`src/api/tm.js`) +- PDF/图纸预览或导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 2168 | 11(当前通用存储过程查询/执行) | `生产管理_获取人员绑定` | 基础权限/人员数据处理 | 查询 | 表:`MES_资源主数据`、`工位人员绑定表` | +| 2249 | 11(当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` | +| 2262 | 11(当前通用存储过程查询/执行) | `MES_人员工时记录_获取进行中任务2` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` | +| 2296 | 11(当前通用存储过程查询/执行) | `MES_人员工时记录_获取进行中任务` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` | +| 2362 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单列表` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` | +| 2408 | 11(当前通用存储过程查询/执行) | `异常工时_新增操作记录` | 新增业务数据 | 查询、新增、处理报工/工时 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` | +| 2441 | 11(当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` | +| 2485 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 2539 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadProcess` | 查询/读取数据 | 查询 | 表:`基础表_工序` | +| 2571 | 11(当前通用存储过程查询/执行) | `质量管理_质检报工_任务查询` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 2676 | 11(当前通用存储过程查询/执行) | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 | +| 2708 | 11(当前通用存储过程查询/执行) | `生产管理_装配中心_缺料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` | +| 2742 | 12(当前通用存储过程写入/业务动作) | `MES_人员工时记录_开始` | 报工或工时处理 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`;视图:`View_生产订单_MES` | +| 2973 | 11(当前通用存储过程查询/执行) | `生产管理_加工中心_班次信息` | 业务存储过程调用 | 查询 | 视图:`View_设备工位人员` | +| 3026 | 11(当前通用存储过程查询/执行) | `生产管理_加工中心_自动加班` | 业务存储过程调用 | 查询、新增、处理报工/工时 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` | +| 3058 | 12(当前通用存储过程写入/业务动作) | `MES_人员工时记录_结束` | 报工或工时处理 | 查询、新增、更新、处理报工/工时、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录` | +| 3130 | 12(当前通用存储过程写入/业务动作) | `MES_ProductTask_SendInspection` | 业务存储过程调用 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES` | +| 3177 | 11(当前通用存储过程查询/执行) | `加工中心_收检_读取收检记录` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 3266 | 12(当前通用存储过程写入/业务动作) | `MES_QulityInspection_ReceiveCheck` | 质量检验处理 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` | +| 3304 | 11(当前通用存储过程查询/执行) | `加工中心_异常工时_获取操作记录列表` | 报工或工时处理 | 查询、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` | +| 3358 | 11(当前通用存储过程查询/执行) | `加工中心_修改工时_保存修改记录` | 更新/保存业务数据 | 更新、处理报工/工时 | 表:`YL_加工中心_操作记录表` | +| 3393 | 11(当前通用存储过程查询/执行) | `生产管理_加工中心_生产发料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE` | +| 3447 | 11(当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` | +| 3481 | 11(当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` | +| 3522 | 12(当前通用存储过程写入/业务动作) | `生产管理_加工中心_退库` | 业务存储过程调用 | 查询、新增、处理质检数据 | 表:`质量检验_质检任务_SAP` | +| 3768 | 11(当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 3998 | 12(当前通用存储过程写入/业务动作) | `MES_QulityInspection_CheckItemData_Save` | 更新/保存业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` | +| 4086 | 11(当前通用存储过程查询/执行) | `MES_QulityInspection_GetItemStandard` | 查询/读取数据 | 查询、处理质检数据 | 表:`YL_质量检验_检测标准` | +| 4138 | 11(当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` | +| 4181 | 11(当前通用存储过程查询/执行) | `MES_QulityInspection_GetItemStandard` | 查询/读取数据 | 查询、处理质检数据 | 表:`YL_质量检验_检测标准` | +| 4383 | 12(当前通用存储过程写入/业务动作) | `MES_QulityInspection_CheckItemData_Save` | 更新/保存业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 3415 行:`getB1("/ProductionOrders")` +- 第 3584 行:`posttm("/stocktask/task/issueordertask")` +存储过程内读取 SAP B1 数据库对象: +- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL +- 生产管理_装配中心_缺料查询: SAP.SBO_YL.dbo.UBT_OPKL_MissQty +- 生产管理_加工中心_生产发料查询: SAP.SBO_YL.dbo.UBT_OWOR_OIGE + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 3415 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter`、`数据`、`lines`、`请求失败` | +| 3584 | `posttm` | `/stocktask/task/issueordertask` | 调用外部接口,失败会影响对应外部系统同步。 | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` | + +### 状态流转说明 + +- `生产管理_获取人员绑定`:`AND b.绑定状态 = 1;` +- `加急订单_加急明细查询`:`SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` +- `MES_人员工时记录_获取进行中任务2`:`CREATE PROCEDURE [dbo].[MES_人员工时记录_获取进行中任务2]`;`pt.工序名称 AS 任务工序名称, `;`pt.任务状态, `;`pt.完成数量, `;`pt.计划完成时间 AS 计划完成, `;`FROM [dbo].[YL_加工中心_操作记录表] t`;`LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID`;`t.操作类别 = '开始加工'` +- `MES_人员工时记录_获取进行中任务`:`CREATE PROCEDURE [dbo].[MES_人员工时记录_获取进行中任务]`;`pt.工序名称 AS 任务工序名称, `;`pt.任务状态, `;`pt.完成数量, `;`pt.计划完成时间 AS 计划完成, `;`FROM [dbo].[YL_加工中心_操作记录表] t`;`LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID`;`AND t.操作类别 = '开始加工'` +- `异常工时_新增操作记录`:`INSERT INTO [dbo].[YL_加工中心_操作记录表] (`;`操作描述, 开始时间, 结束时间, 总时长, 报工日期, 已报工, 不装配, ` +- `质量管理_质检报工_任务查询`:`create PROCEDURE [dbo].[质量管理_质检报工_任务查询]`;`@生产状态 int = -1, `;`DECLARE @whereStr nvarchar(max) = ' WHERE main.排产状态 = 1 '`;`main.派工特殊说明, `;`case when isnull(main.[加急状态], 0) = 1 then ''加急'' else ''否'' end as [加急], `;`main.[二次派工], `;`main.[计划完成时间] as 计划完成, `;`isnull(main.[完成数量], 0) as 完成数量, ` +- `MES_ProductTask_WorkTimeSum`:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称` +- `生产管理_装配中心_缺料查询`:`select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号` +- `MES_人员工时记录_开始`:`declare @任务状态 int = -1`;`FROM[dbo].[MES_接口_生产计划_生产任务]`;`SELECT 1 FROM YL_加工中心_操作记录表`;`AND 操作类别 = '开始加工'`;`select @任务状态 = isnull(任务状态, 0)from View_生产订单_MES where TaskAID = @TaskAID`;`if(@任务状态 = 1)`;`UPDATE MES_接口_生产计划_生产任务`;`任务状态 = '2', ` +- `生产管理_加工中心_班次信息`:`create PROCEDURE [dbo].[生产管理_加工中心_班次信息]` +- `生产管理_加工中心_自动加班`:`CREATE PROCEDURE [dbo].[生产管理_加工中心_自动加班]`;`INSERT INTO [dbo].[YL_加工中心_操作记录表] (`;`操作描述, 开始时间, 结束时间, 总时长, 报工日期, 已报工, 不装配, ` +- `MES_人员工时记录_结束`:`FROM [dbo].[MES_接口_生产计划_生产任务]`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`FROM YL_加工中心_操作记录表`;`AND 操作类别 = '开始加工'`;`UPDATE YL_加工中心_操作记录表`;`操作描述 = '用户 ' + @用户名 + ' 结束加工,' +`;`INSERT INTO [dbo].[YL_加工中心_报工记录]`;`INSERT INTO [dbo].[YL_加工中心_操作记录表] (` +- `MES_ProductTask_SendInspection`:`declare @任务状态 int`;`declare @完成数量 int`;`Update MES_接口_生产计划_生产任务`;`set 完成数量 = isnull(完成数量, 0)+@recievCount, `;`select @分配数量 = 指派数量, @完成数量 = 完成数量, @订单编号 = 订单编号, @工位名称 = 指派对象 from MES_接口_生产计划_生产任务 where AID = @TaskAID`;`if(@完成数量 = @分配数量)`;`set 任务状态 = 4, `;`INSERT INTO [dbo].[YL_加工中心_操作记录表]` +- `加工中心_收检_读取收检记录`:`CREATE PROCEDURE [dbo].[加工中心_收检_读取收检记录]`;`declare @完成数量 int`;`select @已检验数量 = sum(检验数量) OVER() from YL_质量检验_质检记录 where TaskAID = @TaskAID and 质检类型 = '收检'`;`select @完成数量 = 完成数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID`;`FROM [dbo].[YL_质量检验_质检记录] qc`;`select isnull(@已检验数量, 0), isnull(@完成数量, 0), isnull(@上序合格数, 0), @订单行号` +- `MES_QulityInspection_ReceiveCheck`:`@质检类型 NVARCHAR(50), `;`FROM [dbo].[MES_接口_生产计划_生产任务]`;`FROM [YL_MESDB].[dbo].[YL_质量检验_质检记录] qc`;`0 AS 清零任务数`;`INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (`;`[质检类型], `;`@质检类型, `;`INNER JOIN [dbo].[MES_接口_生产计划_生产任务] task ON qc.TaskAID = task.AID` +- `加工中心_异常工时_获取操作记录列表`:`CREATE PROCEDURE [dbo].[加工中心_异常工时_获取操作记录列表]`;`o.实际工时 as 加工工时, `;`o.已报工, `;`FROM [dbo].[YL_加工中心_操作记录表] o` +- `加工中心_修改工时_保存修改记录`:`CREATE PROCEDURE [dbo].[加工中心_修改工时_保存修改记录]`;`update [dbo].[YL_加工中心_操作记录表]` +- `生产管理_加工中心_生产发料查询`:`CREATE PROCEDURE [dbo].[生产管理_加工中心_生产发料查询]`;`select * from SAP.SBO_YL.dbo.UBT_OWOR_OIGE where 生产订单号 = @生产订单号` +- `生产管理_加工中心_退库`:`CREATE PROCEDURE [dbo].[生产管理_加工中心_退库]`;`select @行号 = max(isnull(行号, 0)) from [dbo].[质量检验_质检任务_SAP] where [订单编号] = @生产订单号 and [订单类型] = '202-60'`;`insert into [dbo].[质量检验_质检任务_SAP] ( [订单编号]` +- `Prog_MES_GetProductOrder_byAID`:`, [加急状态]`;`, [排产状态]`;`, [计划完成时间]`;`, [派工状态]`;`, [派工时间]`;`, [任务状态]`;`, [未完成说明]`;`, [派工特殊说明]` +- `MES_QulityInspection_CheckItemData_Save`:`@质检类型 nvarchar(100) = '', `;`FROM [dbo].[YL_质量检验_质检记录]`;`AND 质检类型 = @质检类型`;`INSERT INTO [dbo].[YL_质量检验_质检记录](`;`TaskAID, 质检类型, 检测类型编号, 零件名称, 内部合同号, `;`@TaskAID, @质检类型, @检测类型编号, @零件名称, @内部合同号, `;`UPDATE [dbo].[YL_质量检验_质检记录]`;`FROM [dbo].[YL_质量检验_质检记录_检测零件]` +- `Prog_MES_GetProductOrder_byAID`:`, [加急状态]`;`, [排产状态]`;`, [计划完成时间]`;`, [派工状态]`;`, [派工时间]`;`, [任务状态]`;`, [未完成说明]`;`, [派工特殊说明]` +- `MES_QulityInspection_CheckItemData_Save`:`@质检类型 nvarchar(100) = '', `;`FROM [dbo].[YL_质量检验_质检记录]`;`AND 质检类型 = @质检类型`;`INSERT INTO [dbo].[YL_质量检验_质检记录](`;`TaskAID, 质检类型, 检测类型编号, 零件名称, 内部合同号, `;`@TaskAID, @质检类型, @检测类型编号, @零件名称, @内部合同号, `;`UPDATE [dbo].[YL_质量检验_质检记录]`;`FROM [dbo].[YL_质量检验_质检记录_检测零件]` + +### 数据库调用链 + +- `src/views/QualityManagement/QualityCenter/index.vue` -> `生产管理_获取人员绑定` -> 表:`MES_资源主数据`、`工位人员绑定表` -> 基础权限/人员数据处理 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_人员工时记录_获取进行中任务2` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` -> 报工或工时处理 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_人员工时记录_获取进行中任务` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` -> 报工或工时处理 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `工时校验_获取订单列表` -> 表:`MES_接口_生产计划` -> 报工或工时处理 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `异常工时_新增操作记录` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` -> 新增业务数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `Prog_MES_LoadProcess` -> 表:`基础表_工序` -> 查询/读取数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `质量管理_质检报工_任务查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_ProductTask_WorkTimeSum` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `生产管理_装配中心_缺料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` -> 查询/读取数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_人员工时记录_开始` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`;视图:`View_生产订单_MES` -> 报工或工时处理 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `生产管理_加工中心_班次信息` -> 视图:`View_设备工位人员` -> 业务存储过程调用 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `生产管理_加工中心_自动加班` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` -> 业务存储过程调用 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_人员工时记录_结束` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录` -> 报工或工时处理 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_ProductTask_SendInspection` -> 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES` -> 业务存储过程调用 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `加工中心_收检_读取收检记录` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_QulityInspection_ReceiveCheck` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` -> 质量检验处理 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `加工中心_异常工时_获取操作记录列表` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 报工或工时处理 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `加工中心_修改工时_保存修改记录` -> 表:`YL_加工中心_操作记录表` -> 更新/保存业务数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `生产管理_加工中心_生产发料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE` -> 查询/读取数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `生产管理_加工中心_退库` -> 表:`质量检验_质检任务_SAP` -> 业务存储过程调用 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_QulityInspection_CheckItemData_Save` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` -> 更新/保存业务数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_QulityInspection_GetItemStandard` -> 表:`YL_质量检验_检测标准` -> 查询/读取数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_QulityInspection_GetItemStandard` -> 表:`YL_质量检验_检测标准` -> 查询/读取数据 +- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_QulityInspection_CheckItemData_Save` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` -> 更新/保存业务数据 + +### 存储过程处理逻辑明细 + +- `生产管理_获取人员绑定` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 基础权限/人员数据处理。 数据库处理摘要:查询。 读取/关联对象:表:`MES_资源主数据`、`工位人员绑定表`。 入参/分页参数:`@操作人ID NVARCHAR(50)`。 主要返回字段线索:`m.[name] AS 工位名称`。 关键过滤/匹配条件:`WHERE`;`AND b.绑定状态 = 1;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`;SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。 +- `MES_人员工时记录_获取进行中任务2` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`。 入参/分页参数:`@用户ID NVARCHAR(50)`。 主要返回字段线索:`t.AID AS 操作记录ID, `、`t.TaskAID, `、`t.操作人 AS UserName, `、`t.开始时间 AS StartTime, `、`t.操作类别, `、`t.操作类别编号, `、`t.工序名称, `、`t.工位名称, `、`t.订单编号, `、`t.物料编号, `。 关键过滤/匹配条件:`WHERE`;`AND t.结束时间 IS NULL`;`and t.工位名称 like '%装配%'`;`and t.操作数值 is not null`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY t.开始时间 DESC;`。 实现特征:异常捕获。 +- `MES_人员工时记录_获取进行中任务` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`。 入参/分页参数:`@用户ID NVARCHAR(50)`。 主要返回字段线索:`t.AID AS 操作记录ID, `、`t.TaskAID, `、`t.操作人 AS UserName, `、`t.开始时间 AS StartTime, `、`t.操作类别, `、`t.操作类别编号, `、`t.工序名称, `、`t.工位名称, `、`t.订单编号, `、`t.物料编号, `。 关键过滤/匹配条件:`WHERE t.操作人 = @用户ID`;`AND t.操作类别 = '开始加工'`;`AND t.结束时间 IS NULL`;`and t.工位名称 like '%装配%'`;`and t.操作数值 is not null`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY t.开始时间 DESC;`。 实现特征:异常捕获。 +- `工时校验_获取订单列表` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`DISTINCT top 20`、`订单编号, `、`物料编号 as 零件编码, `、`物料描述 as 零件名称`。 关键过滤/匹配条件:`FROM [dbo].[MES_接口_生产计划] WHERE 订单编号 LIKE '%' + @订单编号 + '%' OR @订单编号 = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单编号 ;`。 +- `异常工时_新增操作记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@操作类别 nvarchar(50),`、`@订单编号 nvarchar(50),`、`@物料编号 nvarchar(50),`、`@物料描述 nvarchar(50),`、`@工序名称 nvarchar(50),`、`@操作人 nvarchar(50),`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@操作内容 nvarchar(500)`、`@操作描述 nvarchar(2000)`、`@TaskAID nvarchar(2000)`。 主要返回字段线索:`@工位名称 = 指派对象`。 关键过滤/匹配条件:`select @工位名称 = 指派对象 from [dbo].[View_生产订单_MES] where TaskAID = @TaskAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @工时 = DATEDIFF(SECOND, @开始时间, @结束时间);`;`INSERT INTO [dbo].[YL_加工中心_操作记录表] (`。 实现特征:异常捕获。 +- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。 +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `Prog_MES_LoadProcess` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 主要返回字段线索:`[工艺编号], [工序名称]`。 排序/分组/分页线索:`SELECT [工艺编号], [工序名称] FROM [基础表_工序] ORDER BY [工艺编号]`。 +- `质量管理_质检报工_任务查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID int`、`@订单号 int`、`@零件编号 nvarchar(50)`、`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`、`@生产状态 int`、`@工位名称 nvarchar(50)`、`@用户ID nvarchar(50)`、`@计划号 nvarchar(50)`、`@销售订单 nvarchar(50)`、`@送检 int`。 主要返回字段线索:`main.TaskAID, `、`main.本次检数, `、`main.[订单编号] as 订单号, `、`main.合同号, `、`main.自制件属性, `、`main.加急总数, `、`main.派工特殊说明, `、`main.[订单拆分内码], `、`main.[订单行号], `、`main.[开工时间], `。 关键过滤/匹配条件:`DECLARE @whereStr nvarchar(max) = ' WHERE main.排产状态 = 1 '`;`WHERE a.检测类型编号 = 6`;`) AS 质检统计 ON main.订单编号 = 质检统计.订单编号 AND main.订单行号 = 质检统计.订单行号`;`) AS 上序统计 ON main.订单编号 = 上序统计.订单编号 AND main.订单行号 = 上序统计.订单行号 + 1'`;`SET @whereStr = @whereStr + ' AND main.[指派对象] ''外协'' AND main.[指派对象] LIKE ''%装配%'''`;`SET @whereStr = @whereStr + ' AND main.[订单编号] = ' + CONVERT(VARCHAR(10), @订单号)`;`SET @whereStr = @whereStr + ' AND main.[计划号] = '''+@计划号+''''`;`SET @whereStr = @whereStr + ' AND main.[合同号] LIKE ''%' + @销售订单 + '%'''`;`SET @whereStr = @whereStr + ' AND main.[TaskAID] = ' + CONVERT(VARCHAR(10), @TaskAID)`;`SET @whereStr = @whereStr + ' AND ISNULL(main.完成数量, 0) > 0 '`。 关键写入/状态处理语句线索:`SET @whereStr = @whereStr + ' AND main.[指派对象] ''外协'' AND main.[指派对象] LIKE ''%装配%'''`;`SET @whereStr = @whereStr + ' AND main.[订单编号] = ' + CONVERT(VARCHAR(10), @订单号)`;`SET @whereStr = @whereStr + ' AND main.[计划号] = '''+@计划号+''''`;`SET @whereStr = @whereStr + ' AND main.[合同号] LIKE ''%' + @销售订单 + '%'''`;`SET @whereStr = @whereStr + ' AND main.[TaskAID] = ' + CONVERT(VARCHAR(10), @TaskAID)`;`SET @whereStr = @whereStr + ' AND ISNULL(main.完成数量, 0) > 0 '`;`SET @whereStr = @whereStr + ' AND ISNULL(main.完成数量, 0) = 0 '`;`SET @whereStr = @whereStr + ' AND main.[物料编号] LIKE ''%' + @零件编号 + '%'''`;`SET @whereStr = @whereStr + ' AND main.[计划开始时间] > = ''' + @计划开工_Start + ''''`;`SET @whereStr = @whereStr + ' AND main.[计划开始时间] < = ''' + @计划开工_End + ''''`;`SET @whereStr = @whereStr +`;`SET @whereStr = @whereStr + ' AND ISNULL(main.任务状态, 0) IN (0, 1, 2) '`。 排序/分组/分页线索:`GROUP BY b.订单编号, b.订单行号`;`SET @selStr = @selStr + @whereStr + ' ORDER BY main.[计划开始时间], main.[订单编号], main.[阶段标识]'`。 +- `MES_ProductTask_WorkTimeSum` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`。 主要返回字段线索:`TaskAID, 工序名称, sum(工时) as 总工时`。 关键过滤/匹配条件:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 排序/分组/分页线索:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 +- `生产管理_装配中心_缺料查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty`。 入参/分页参数:`@ItemCode nvarchar(500),`、`@订单号 int`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号`。 实现特征:读取 SAP 数据库对象。 +- `MES_人员工时记录_开始` 属于 系统基础资料/权限,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID INT,`、`@用户ID NVARCHAR(50),`、`@用户名 NVARCHAR(50),`、`@操作人 NVARCHAR(50)`。 主要返回字段线索:`@订单编号 = ISNULL(订单编号, ''), `、`@物料编号 = ISNULL(物料编码, ''), `、`@物料描述 = ISNULL(物料名称, ''), `、`@工序名称 = ISNULL(工序名称, ''), `、`@工位名称 = ISNULL(指派对象, ''), `、`@阶段标识 = ISNULL(顺序编号, -1)`。 关键过滤/匹配条件:`WHERE AID = @TaskAID`;`WHERE TaskAID = @TaskAID`;`AND 操作人 = @用户名`;`AND 操作类别 = '开始加工'`;`AND 结束时间 IS NULL`;`select @任务状态 = isnull(任务状态, 0)from View_生产订单_MES where TaskAID = @TaskAID`。 关键写入/状态处理语句线索:`UPDATE MES_接口_生产计划_生产任务`;`SET`;`INSERT INTO YL_加工中心_操作记录表 (`。 实现特征:异常捕获。 +- `生产管理_加工中心_班次信息` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:视图:`View_设备工位人员`。 主要返回字段线索:`*`。 +- `生产管理_加工中心_自动加班` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@操作类别 nvarchar(50),`、`@订单编号 nvarchar(50),`、`@物料编号 nvarchar(50),`、`@物料描述 nvarchar(50),`、`@工序名称 nvarchar(50),`、`@操作人 nvarchar(50),`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@TaskAID nvarchar(2000)`、`@加班人员 nvarchar(500)`。 主要返回字段线索:`@工位名称 = 指派对象`。 关键过滤/匹配条件:`select @工位名称 = 指派对象 from [dbo].[View_生产订单_MES] where TaskAID = @TaskAID`;`IF @人员列表 IS NULL OR LEN(@人员列表) = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @工时 = DATEDIFF(SECOND, @开始时间, @结束时间);`;`SET @人员列表 = @操作人;`;`SET @位置 = CHARINDEX(', ', @人员列表);`;`SET @当前人员 = LTRIM(RTRIM(SUBSTRING(@人员列表, 1, @位置 - 1)));`;`SET @人员列表 = SUBSTRING(@人员列表, @位置 + 1, LEN(@人员列表));`;`SET @当前人员 = LTRIM(RTRIM(@人员列表));`;`SET @人员列表 = '';`;`INSERT INTO #Temp人员 (人员名称) VALUES (@当前人员);`;`INSERT INTO [dbo].[YL_加工中心_操作记录表] (`;`SET @成功计数 = @@ROWCOUNT;`。 实现特征:事务控制、异常捕获、临时表 `#Temp人员`。 +- `MES_人员工时记录_结束` 属于 系统基础资料/权限,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录`。 写入或更新对象:`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`。 入参/分页参数:`@TaskAID INT,`、`@用户ID NVARCHAR(50),`、`@用户名 NVARCHAR(50),`、`@操作人 NVARCHAR(50),`、`@备注 NVARCHAR(200)`、`@工序说明 NVARCHAR(200)`、`@异常说明 NVARCHAR(200)`、`@本次检数 NVARCHAR(200)`、`@是否加班 INT`、`@加班人员 NVARCHAR(500)`、`@特殊加班人员 NVARCHAR(500)`、`@是否休息日 INT`、`@是否法定休息日 INT`、`@班次标准工时 NVARCHAR`。 主要返回字段线索:`@订单编号 = ISNULL(订单编号, ''), `、`@物料编号 = ISNULL(物料编码, ''), `、`@物料描述 = ISNULL(物料名称, ''), `、`@工序名称 = ISNULL(工序名称, ''), `、`@工位名称 = ISNULL(指派对象, ''), `、`@阶段标识 = ISNULL(顺序编号, -1), `、`@检验数 = ISNULL(本次检数, 0)`。 关键过滤/匹配条件:`WHERE AID = @TaskAID`;`WHERE TaskAID = @TaskAID`;`AND 操作人 = @用户名`;`AND 操作类别 = '开始加工'`;`AND 结束时间 IS NULL`;`WHERE 班次名称 = '白班'`;`IF @是否休息日 = 1 OR @是否法定休息日 = 1`;`WHERE AID = @开始记录ID`;`IF @是否法定休息日 = 1 AND @是否加班 = 0`;`ELSE IF @是否休息日 = 1 AND @是否加班 = 0`。 关键写入/状态处理语句线索:`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET 本次检数 = ISNULL(@检验数, 0) + ISNULL(@本次检数, 0)`;`SET @白班结束时间 = '16:30:00'`;`SET @白班结束时间_完整 = CAST(CAST(@结束时间 AS DATE) AS DATETIME) + CAST(@白班结束时间 AS DATETIME)`;`SET @加班时长秒 = @总工时`;`SET @加班开始时间 = @开始时间`;`SET @工作时间 = 0`;`SET @工作时间 = @总工时`;`SET @报工开始时间 = @开始时间`;`SET @报工结束时间 = @结束时间`;`SET @加班时长秒 = 0`;`SET @加班开始时间 = NULL`。 排序/分组/分页线索:`ORDER BY 开始时间 DESC`。 实现特征:异常捕获、临时表 `#TempOvertimePersons`。 +- `MES_ProductTask_SendInspection` 属于 生产执行/工时,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`。 入参/分页参数:`@TaskAID bigint,`、`@recievCount int,`、`@optor nvarchar(50)`。 主要返回字段线索:`@分配数量 = 指派数量, @完成数量 = 完成数量, @订单编号 = 订单编号, @工位名称 = 指派对象`。 关键过滤/匹配条件:`where AID = @TaskAID`;`select @分配数量 = 指派数量, @完成数量 = 完成数量, @订单编号 = 订单编号, @工位名称 = 指派对象 from MES_接口_生产计划_生产任务 where AID = @TaskAID`;`select @dicItemID = 词条编号 from YL_基础表_数据字典 where 词条名称 = @词条名称 and 数据类别 = @数据类别`;`from View_生产订单_MES where TaskAID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务`;`set 完成数量 = isnull(完成数量, 0)+@recievCount, `;`set 任务状态 = 4, `;`INSERT INTO [dbo].[YL_加工中心_操作记录表]`;`INSERT INTO [dbo].[YL_加工中心_报工记录]`。 +- `加工中心_收检_读取收检记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID int`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID`;`select @已检验数量 = sum(检验数量) OVER() from YL_质量检验_质检记录 where TaskAID = @TaskAID and 质检类型 = '收检'`;`select @完成数量 = 完成数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID`;`WHERE vt.[订单编号] = @订单编号`;`AND vt.[订单行号] = @订单行号-1`;`AND qc.检测类型编号 = '6'`。 +- `MES_QulityInspection_ReceiveCheck` 属于 质量检验,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 质量检验处理。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@内部合同号 int,`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@工序名称 NVARCHAR(100),`、`@检测数量 INT,`、`@合格数 INT,`、`@不合格数 INT,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@计划生产数 INT,`、`@检测说明 NVARCHAR(MAX)`。 主要返回字段线索:`@分配数量 = ISNULL(指派数量, 0)`。 关键过滤/匹配条件:`WHERE AID = @TaskAID`;`WHERE qc.TaskAID = @TaskAID`;`WHERE task.订单编号 = @计划号`;`AND task.订单行号 = @当前订单行号`;`AND qc.质检类型 = '收检'`;`WHERE 订单编号 = @计划号`;`AND 订单行号 = @当前订单行号 + 1`;`AND ISNULL(订单拆分内码, 1) = 1`;`IF @下一道工序AID IS NOT NULL and @合格数 > 0`;`WHERE AID = @下一道工序AID and isnull(任务状态, 0) < 1`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (`;`UPDATE [dbo].[MES_接口_生产计划_生产任务]`;`SET 任务状态 = 4`;`SET 任务状态 = 1`。 实现特征:事务控制、异常捕获。 +- `加工中心_异常工时_获取操作记录列表` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@操作人 nvarchar(50)`。 主要返回字段线索:`o.AID, `、`o.操作类别编号, `、`o.操作类别, `、`o.阶段标识, `、`o.工序名称, `、`o.工位编号, `、`o.工位名称, `、`o.操作人 as 指派对象, `、`o.合同号, `、`o.订单编号 as 订单号, `。 关键过滤/匹配条件:`WHERE c.AID IS NULL and o.操作人 = @操作人 and o.操作类别编号 in ('8', '9')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `加工中心_修改工时_保存修改记录` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID bigint,`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@工时 int,`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 关键过滤/匹配条件:`where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[YL_加工中心_操作记录表]`;`set 最后编辑时间 = GETDATE(), 最后编辑人 = @最后编辑人, 实际工时 = @工时, 开始时间 = @开始时间, 结束时间 = @结束时间`。 +- `生产管理_加工中心_生产发料查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE`。 入参/分页参数:`@生产订单号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from SAP.SBO_YL.dbo.UBT_OWOR_OIGE where 生产订单号 = @生产订单号`。 关键写入/状态处理语句线索:`set nocount on;`。 实现特征:读取 SAP 数据库对象。 +- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1`;`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`;`WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `生产管理_加工中心_退库` 属于 生产执行/工时,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、处理质检数据。 读取/关联对象:表:`质量检验_质检任务_SAP`。 写入或更新对象:`质量检验_质检任务_SAP`。 入参/分页参数:`@生产订单号 bigint,`、`@编码 nvarchar(500),`、`@名称 nvarchar(500),`、`@数量 float,`、`@单位 nvarchar(50),`、`@批次信息 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`@行号 = max(isnull(行号, 0))`。 关键过滤/匹配条件:`select @行号 = max(isnull(行号, 0)) from [dbo].[质量检验_质检任务_SAP] where [订单编号] = @生产订单号 and [订单类型] = '202-60'`。 关键写入/状态处理语句线索:`insert into [dbo].[质量检验_质检任务_SAP] ( [订单编号]`。 +- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID`;`WHERE vt.[订单编号] = vo.[订单编号]`;`AND vt.[订单行号] = vo.[订单行号]-1`;`AND qc.检测类型编号 = '6'`;`WHERE [TaskAID] = @TaskAID`。 +- `MES_QulityInspection_CheckItemData_Save` 属于 质量检验,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 写入或更新对象:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 入参/分页参数:`@TaskAID bigint`、`@物料编号 nvarchar(100)`、`@阶段标识 int`、`@工序名称 nvarchar(100)`、`@计划号 int`、`@检测项目 nvarchar(500)`、`@理论值 nvarchar(50)`、`@上限值 nvarchar(50)`、`@下限值 nvarchar(50)`、`@实测值 nvarchar(50)`、`@测量单位 nvarchar(50)`、`@检验比例 nvarchar(50)`、`@检具 nvarchar(50)`、`@检测结果 int`、`@合格数 int`、`@不合格数 int`、`@备注 nvarchar(200)`、`@检测人 nvarchar(50)`、`@检测时间 datetime`、`@当前检测零件编号 int`、`@质检类型 nvarchar(100)`、`@检测类型编号 nvarchar(100)`、`@零件名称 nvarchar(100)`、`@内部合同号 nvarchar(100)`。 主要返回字段线索:`@ExistingQT_AID = QT_AID`。 关键过滤/匹配条件:`WHERE TaskAID = @TaskAID`;`AND 零件编码 = @零件编码`;`AND 工序名称 = @工序名称`;`AND 质检类型 = @质检类型`;`AND 检测人 = @检测人`;`AND CONVERT(DATE, 检测时间) = CONVERT(DATE, @检测时间);`;`WHERE QT_AID = @ExistingQT_AID;`;`WHERE QT_AID = @ExistingQT_AID`;`AND 零件编号 = @零件编码`;`AND 当前检测零件编号 = @当前检测零件编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO [dbo].[YL_质量检验_质检记录](`;`SET @QT_AID = SCOPE_IDENTITY();`;`SET @ExistingQT_AID = @QT_AID;`;`SET @CurrentQualifiedCount = @CurrentQualifiedCount + @合格数;`;`SET @CurrentUnqualifiedCount = @CurrentUnqualifiedCount + @不合格数;`;`SET @CurrentInspectionCount = @CurrentInspectionCount + @检验数量;`;`UPDATE [dbo].[YL_质量检验_质检记录]`;`SET`;`SET @QT_AID = @ExistingQT_AID;`;`SET @PartResult = 0;`;`INSERT INTO [dbo].[YL_质量检验_质检记录_检测零件](`。 实现特征:事务控制、异常捕获。 +- `MES_QulityInspection_GetItemStandard` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工序名称编号 int`、`@检测类别编号 int`。 主要返回字段线索:`[物料编号]`、`[工序名称编号]`、`[检测项目]`、`[理论值]`、`[上限值]`、`[下限值]`、`[测量单位]`、`[检验比例]`、`[检具]`、`[备注]`。 关键过滤/匹配条件:`where [物料编号] = @物料编号 and [工序名称编号] = @工序名称编号 and [检测类别编号] = @检测类别编号`。 +- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID`;`WHERE vt.[订单编号] = vo.[订单编号]`;`AND vt.[订单行号] = vo.[订单行号]-1`;`AND qc.检测类型编号 = '6'`;`WHERE [TaskAID] = @TaskAID`。 +- `MES_QulityInspection_GetItemStandard` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工序名称编号 int`、`@检测类别编号 int`。 主要返回字段线索:`[物料编号]`、`[工序名称编号]`、`[检测项目]`、`[理论值]`、`[上限值]`、`[下限值]`、`[测量单位]`、`[检验比例]`、`[检具]`、`[备注]`。 关键过滤/匹配条件:`where [物料编号] = @物料编号 and [工序名称编号] = @工序名称编号 and [检测类别编号] = @检测类别编号`。 +- `MES_QulityInspection_CheckItemData_Save` 属于 质量检验,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 写入或更新对象:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 入参/分页参数:`@TaskAID bigint`、`@物料编号 nvarchar(100)`、`@阶段标识 int`、`@工序名称 nvarchar(100)`、`@计划号 int`、`@检测项目 nvarchar(500)`、`@理论值 nvarchar(50)`、`@上限值 nvarchar(50)`、`@下限值 nvarchar(50)`、`@实测值 nvarchar(50)`、`@测量单位 nvarchar(50)`、`@检验比例 nvarchar(50)`、`@检具 nvarchar(50)`、`@检测结果 int`、`@合格数 int`、`@不合格数 int`、`@备注 nvarchar(200)`、`@检测人 nvarchar(50)`、`@检测时间 datetime`、`@当前检测零件编号 int`、`@质检类型 nvarchar(100)`、`@检测类型编号 nvarchar(100)`、`@零件名称 nvarchar(100)`、`@内部合同号 nvarchar(100)`。 主要返回字段线索:`@ExistingQT_AID = QT_AID`。 关键过滤/匹配条件:`WHERE TaskAID = @TaskAID`;`AND 零件编码 = @零件编码`;`AND 工序名称 = @工序名称`;`AND 质检类型 = @质检类型`;`AND 检测人 = @检测人`;`AND CONVERT(DATE, 检测时间) = CONVERT(DATE, @检测时间);`;`WHERE QT_AID = @ExistingQT_AID;`;`WHERE QT_AID = @ExistingQT_AID`;`AND 零件编号 = @零件编码`;`AND 当前检测零件编号 = @当前检测零件编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO [dbo].[YL_质量检验_质检记录](`;`SET @QT_AID = SCOPE_IDENTITY();`;`SET @ExistingQT_AID = @QT_AID;`;`SET @CurrentQualifiedCount = @CurrentQualifiedCount + @合格数;`;`SET @CurrentUnqualifiedCount = @CurrentUnqualifiedCount + @不合格数;`;`SET @CurrentInspectionCount = @CurrentInspectionCount + @检验数量;`;`UPDATE [dbo].[YL_质量检验_质检记录]`;`SET`;`SET @QT_AID = @ExistingQT_AID;`;`SET @PartResult = 0;`;`INSERT INTO [dbo].[YL_质量检验_质检记录_检测零件](`。 实现特征:事务控制、异常捕获。 + +## 57. src/views/QualityManagement/QualityDetails/index.vue + +**页面位置**:`src/views/QualityManagement/QualityDetails/index.vue` +**所属模块**:QualityManagement / QualityDetails +**源码行数**:308 + +### 页面功能 + +该页面查询质检明细。用户按订单、物料、检验类型、时间等条件查询和导出检测明细。 + +页面可见的操作/字段包括 “查询”、“Excel导出”、“全部”、“收检”、“终检”、“来料检验”、“退库检验”、“序号”、“质检类型”、“零件编码”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `质量管理_质检明细_导出`、`质量管理_质检明细_查询` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `质量管理_质检明细_导出` -> `质量管理_质检明细_查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`Excel导出`、`全部`、`收检`、`终检`、`来料检验`、`退库检验`、`序号`、`质检类型`、`零件编码`、`零件名称`、`销售订单号`、`生产订单号`、`工序名称`、`工位名称`、`供应商代码`、`检验数量`、`合格数` + +主要方法线索:`tableRowClassName`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.QualityStatus` | `@质检类型` | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` | +| 参数 | `this.startDate` | `@开始日期` | - | +| 参数 | `this.endDate` | `@结束日期` | - | +| 参数 | `this.orderNo` | `@订单号` | - | +| 参数 | `this.contractNo` | `@合同号` | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` | +| 参数 | `this.productCode` | `@零件编码` | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` | +| 参数 | `this.productName` | `@零件名称` | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` | +| 参数 | `orderId` | `@订单编号` | - | +| 参数 | `this.pageCurrent` | `@PageCurrent` | - | +| 参数 | `this.pageSize` | `@pageSize` | - | +| 参数 | `'1111', 'int', '1'` | `@PageCount` | - | +| 参数 | `'1111', 'int', '1'` | `@ItemCount` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `质检类型` | - | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` | +| 显示列 | `零件编码` | - | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` | +| 显示列 | `零件名称` | - | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` | +| 显示列 | `销售订单号` | - | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` | +| 显示列 | `生产订单号` | - | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` | +| 显示列 | `工序名称` | - | `256*15 AS 工序名称, 256*15 AS 检验数量, 256*10 AS 合格数, 256*25 AS 不合格数, 256*12 AS 检测人, 256*10 AS 工位名称, ` | +| 显示列 | `工位名称` | - | `256*15 AS 工序名称, 256*15 AS 检验数量, 256*10 AS 合格数, 256*25 AS 不合格数, 256*12 AS 检测人, 256*10 AS 工位名称, ` | +| 显示列 | `供应商代码` | - | `供应商代码` | +| 显示列 | `检验数量` | - | `256*15 AS 工序名称, 256*15 AS 检验数量, 256*10 AS 合格数, 256*25 AS 不合格数, 256*12 AS 检测人, 256*10 AS 工位名称, ` | +| 显示列 | `合格数` | - | `256*15 AS 工序名称, 256*15 AS 检验数量, 256*10 AS 合格数, 256*25 AS 不合格数, 256*12 AS 检测人, 256*10 AS 工位名称, ` | +| 显示列 | `不合格数` | - | `256*15 AS 工序名称, 256*15 AS 检验数量, 256*10 AS 合格数, 256*25 AS 不合格数, 256*12 AS 检测人, 256*10 AS 工位名称, ` | +| 显示列 | `检测人` | - | `256*15 AS 工序名称, 256*15 AS 检验数量, 256*10 AS 合格数, 256*25 AS 不合格数, 256*12 AS 检测人, 256*10 AS 工位名称, ` | +| 显示列 | `检测时间` | - | `256*20 AS 检测时间, 256*20 AS 检测说明` | +| 显示列 | `检测说明` | - | `256*20 AS 检测时间, 256*20 AS 检测说明` | +| 输入字段 | `orderNo` | `@订单号` | - | +| 输入字段 | `contractNo` | `@合同号` | - | +| 输入字段 | `productCode` | `@零件编码` | - | +| 输入字段 | `productName` | `@零件名称` | - | +| 输入字段 | `QualityStatus` | `@质检类型` | - | +| 输入字段 | `startDate` | `@开始日期` | - | +| 输入字段 | `endDate` | `@结束日期` | - | +| 输入字段 | `activeTab` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- Excel/报表导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 174 | 2001(导出/报表类过程) | `质量管理_质检明细_导出` | 质量检验处理 | 查询、处理质检数据、处理计划/派工 | 视图:`View_质检明细` | +| 248 | 11(当前通用存储过程查询/执行) | `质量管理_质检明细_查询` | 查询/读取数据 | 分页、处理质检数据、处理计划/派工 | 视图:`View_质检明细` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `质量管理_质检明细_导出`:`CREATE PROCEDURE [dbo].[质量管理_质检明细_导出]`;`@质检类型 nvarchar(4000) = '10', `;`SELECT '质检明细_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype`;`SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, `;`SELECT 0 AS 质检类型, 0 AS 零件编码, 0 AS 零件名称, 0 AS 内部合同号, 0 AS 计划号, `;`[质检类型]`;`FROM [dbo].[View_质检明细]'`;`IF @质检类型 = '10'` +- `质量管理_质检明细_查询`:`CREATE PROCEDURE [dbo].[质量管理_质检明细_查询]`;`@质检类型 nvarchar(4000) = '10', `;`DECLARE @tbname sysname = ' [dbo].[View_质检明细] '`;`IF @质检类型 = '10'`;`ELSE IF @质检类型 = '0'`;`SET @where = @where + ' AND 质检类型 = ''收检'' '`;`ELSE IF @质检类型 = '1'`;`SET @where = @where + ' AND 质检类型 = ''终检'' '` + +### 数据库调用链 + +- `src/views/QualityManagement/QualityDetails/index.vue` -> `质量管理_质检明细_导出` -> 视图:`View_质检明细` -> 质量检验处理 +- `src/views/QualityManagement/QualityDetails/index.vue` -> `质量管理_质检明细_查询` -> 视图:`View_质检明细` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `质量管理_质检明细_导出` 属于 质量检验,前端以 type=2001(导出/报表类过程)调用,页面用途是 质量检验处理。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:视图:`View_质检明细`。 入参/分页参数:`@质检类型 nvarchar(4000)`、`@开始日期 datetime`、`@结束日期 datetime`、`@订单号 nvarchar(4000)`、`@合同号 nvarchar(4000)`、`@零件编码 nvarchar(4000)`、`@零件名称 nvarchar(4000)`。 主要返回字段线索:`'质检明细_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype`、`SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, `、`256*15 AS 工序名称, 256*15 AS 检验数量, 256*10 AS 合格数, 256*25 AS 不合格数, 256*12 AS 检测人, 256*10 AS 工位名称, `、`256*20 AS 检测时间, 256*20 AS 检测说明`、`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 检测说明`、`DECLARE @where nvarchar(max) = ' where '`、`DECLARE @selStr nvarchar(max) = `、`'SELECT`。 关键过滤/匹配条件:`DECLARE @where nvarchar(max) = ' where '`;`SET @where = @where + ' (1 = 1) '`;`SET @where = @where + ' AND 质检类型 = ''收检'' '`;`SET @where = @where + ' AND 质检类型 = ''终检'' '`;`SET @where = @where + ' AND 质检类型 = ''来料检验'' '`;`SET @where = @where + ' AND 质检类型 = ''退库检验'' '`;`SET @where = @where + ' AND 计划号 LIKE ''%' + @订单号 + '%'' '`;`SET @where = @where + ' AND 零件编码 LIKE ''%' + @零件编码 + '%'' '`;`SET @where = @where + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'' '`;`SET @where = @where + ' AND 检测时间 > = ''' + CONVERT(nvarchar(30), @开始日期, 120) + ''' '`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @where = @where + ' (1 = 1) '`;`SET @where = @where + ' AND 质检类型 = ''收检'' '`;`SET @where = @where + ' AND 质检类型 = ''终检'' '`;`SET @where = @where + ' AND 质检类型 = ''来料检验'' '`;`SET @where = @where + ' AND 质检类型 = ''退库检验'' '`;`SET @where = @where + ' AND 计划号 LIKE ''%' + @订单号 + '%'' '`;`SET @where = @where + ' AND 零件编码 LIKE ''%' + @零件编码 + '%'' '`;`SET @where = @where + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'' '`;`SET @where = @where + ' AND 检测时间 > = ''' + CONVERT(nvarchar(30), @开始日期, 120) + ''' '`;`SET @where = @where + ' AND 检测时间 < = ''' + CONVERT(nvarchar(30), @结束日期, 120) + ''' '`;`SET @selStr = @selStr + @where + ' ORDER BY 检测时间 desc'`。 排序/分组/分页线索:`SET @selStr = @selStr + @where + ' ORDER BY 检测时间 desc'`。 +- `质量管理_质检明细_查询` 属于 质量检验,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:分页、处理质检数据、处理计划/派工。 读取/关联对象:视图:`View_质检明细`。 入参/分页参数:`@质检类型 nvarchar(4000)`、`@开始日期 datetime`、`@结束日期 datetime`、`@订单号 nvarchar(4000)`、`@合同号 nvarchar(4000)`、`@零件编码 nvarchar(4000)`、`@零件名称 nvarchar(4000)`、`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`。 关键过滤/匹配条件:`DECLARE @where nvarchar(4000)`;`SET @where = ' (1 = 1) '`;`SET @where = @where + ' AND (1 = 1) '`;`SET @where = @where + ' AND 质检类型 = ''收检'' '`;`SET @where = @where + ' AND 质检类型 = ''终检'' '`;`SET @where = @where + ' AND 质检类型 = ''来料检验'' '`;`SET @where = @where + ' AND 质检类型 = ''退库检验'' '`;`SET @where = @where + ' AND 计划号 LIKE ''%' + @订单号 + '%'' '`;`SET @where = @where + ' AND 零件编码 LIKE ''%' + @零件编码 + '%'' '`;`SET @where = @where + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'' '`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @where = ' (1 = 1) '`;`SET @where = @where + ' AND (1 = 1) '`;`SET @where = @where + ' AND 质检类型 = ''收检'' '`;`SET @where = @where + ' AND 质检类型 = ''终检'' '`;`SET @where = @where + ' AND 质检类型 = ''来料检验'' '`;`SET @where = @where + ' AND 质检类型 = ''退库检验'' '`;`SET @where = @where + ' AND 计划号 LIKE ''%' + @订单号 + '%'' '`;`SET @where = @where + ' AND 零件编码 LIKE ''%' + @零件编码 + '%'' '`;`SET @where = @where + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'' '`;`SET @where = @where + ' AND 检测时间 > = ''' + CONVERT(nvarchar(30), @开始日期, 120) + ''' '`;`SET @where = @where + ' AND 检测时间 < = ''' + CONVERT(nvarchar(30), @结束日期, 120) + ''' '`。 实现特征:分页。 + +## 58. src/views/QualityManagement/QualityStandardQuery/index copy.vue + +**页面位置**:`src/views/QualityManagement/QualityStandardQuery/index copy.vue` +**所属模块**:QualityManagement / QualityStandardQuery +**源码行数**:816 + +### 页面功能 + +该页面维护/查询检验标准。用户按物料、工序、检测项目维护理论值、上下限、量具和启用状态。 + +页面可见的操作/字段包括 “查询 新增标准 修改 删除 确定 取 消”、“确定 取 消”、“item.label”、“序号”、“零件号”、“工序”、“类型”、“检验项目”、“检验内容”、“上限值”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `Prog_MES_LoadProcess`、`查询字典`、`质量管理_检验标准表_新增`、`质量管理_检验标准表_查询`、`质量管理_检验标准表_修改`、`质量管理_检验标准表_删除` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `Prog_MES_LoadProcess` -> `查询字典` -> `质量管理_检验标准表_新增` -> `质量管理_检验标准表_查询` -> `质量管理_检验标准表_修改` -> `质量管理_检验标准表_删除` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询 新增标准 修改 删除 确定 取 消`、`确定 取 消`、`item.label`、`序号`、`零件号`、`工序`、`类型`、`检验项目`、`检验内容`、`上限值`、`下限值`、`单位`、`检验比例`、`检具`、`备注`、`操作`、`请选择零件号`、`请选择工序` + +主要方法线索:`getNoList`、`for` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.checkForm.零件号` | `@零件号` | - | +| 参数 | `partNoItem ? partNoItem.value : ""` | `@零件编号` | - | +| 参数 | `this.checkForm.工序` | `@工序` | - | +| 参数 | `processItem ? processItem.value : ""` | `@工序编号` | - | +| 参数 | `this.checkForm.类型` | `@类型` | - | +| 参数 | `typeItem ? typeItem.value : ""` | `@类型编号` | - | +| 参数 | `this.checkForm.检验比例` | `@检验比例` | - | +| 参数 | `this.checkForm.检验项目` | `@检验项目` | - | +| 参数 | `this.checkForm.检验内容` | `@检验内容` | - | +| 参数 | `this.checkForm.上限值` | `@上限值` | - | +| 参数 | `this.checkForm.下限值` | `@下限值` | - | +| 参数 | `this.checkForm.单位` | `@单位` | - | +| 参数 | `this.checkForm.检具` | `@检具` | - | +| 参数 | `this.checkForm.备注` | `@备注` | - | +| 参数 | `this.partNo` | `@零件编号` | - | +| 参数 | `this.process` | `@工序编号` | - | +| 参数 | `this.type` | `@类型编号` | - | +| 参数 | `this.currentEditRow.ID` | `@ID` | - | +| 参数 | `row.ID` | `@ID` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `零件号` | - | `零件号` | +| 显示列 | `工序` | - | `[工艺编号], [工序名称]` | +| 显示列 | `类型` | - | `类型` | +| 显示列 | `检验项目` | - | `检验项目` | +| 显示列 | `检验内容` | - | `检验内容` | +| 显示列 | `上限值` | - | `上限值, ` | +| 显示列 | `下限值` | - | `下限值, ` | +| 显示列 | `单位` | - | `测量单位, ` | +| 显示列 | `检验比例` | - | `检验比例, ` | +| 显示列 | `检具` | - | `检具` | +| 显示列 | `备注` | - | `备注` | +| 显示列 | `操作` | - | `操作` | +| 输入字段 | `partNo` | `@零件编号` | - | +| 输入字段 | `process` | `@工序编号` | - | +| 输入字段 | `type` | `@类型编号` | - | +| 输入字段 | `checkForm.零件号` | `@零件号` | - | +| 输入字段 | `checkForm.工序` | `@工序` | - | +| 输入字段 | `checkForm.类型` | `@类型` | - | +| 输入字段 | `checkForm.检验比例` | `@检验比例` | - | +| 输入字段 | `checkForm.检验项目` | `@检验项目` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 512 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadProcess` | 查询/读取数据 | 查询 | 表:`基础表_工序` | +| 524 | 11(当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | +| 598 | 12(当前通用存储过程写入/业务动作) | `质量管理_检验标准表_新增` | 新增业务数据 | 查询、新增、处理质检数据 | 未在 SQL 中解析到明确依赖 | +| 647 | 11(当前通用存储过程查询/执行) | `质量管理_检验标准表_查询` | 查询/读取数据 | 查询、处理质检数据 | 未在 SQL 中解析到明确依赖 | +| 734 | 12(当前通用存储过程写入/业务动作) | `质量管理_检验标准表_修改` | 更新/保存业务数据 | 查询、更新、处理质检数据 | 未在 SQL 中解析到明确依赖 | +| 773 | 12(当前通用存储过程写入/业务动作) | `质量管理_检验标准表_删除` | 删除业务数据 | 查询、删除、处理质检数据 | 未在 SQL 中解析到明确依赖 | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +- `src/views/QualityManagement/QualityStandardQuery/index copy.vue` -> `Prog_MES_LoadProcess` -> 表:`基础表_工序` -> 查询/读取数据 +- `src/views/QualityManagement/QualityStandardQuery/index copy.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 +- `src/views/QualityManagement/QualityStandardQuery/index copy.vue` -> `质量管理_检验标准表_新增` -> 未在 SQL 中解析到明确依赖 -> 新增业务数据 +- `src/views/QualityManagement/QualityStandardQuery/index copy.vue` -> `质量管理_检验标准表_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/QualityManagement/QualityStandardQuery/index copy.vue` -> `质量管理_检验标准表_修改` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据 +- `src/views/QualityManagement/QualityStandardQuery/index copy.vue` -> `质量管理_检验标准表_删除` -> 未在 SQL 中解析到明确依赖 -> 删除业务数据 + +### 存储过程处理逻辑明细 + +- `Prog_MES_LoadProcess` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 主要返回字段线索:`[工艺编号], [工序名称]`。 排序/分组/分页线索:`SELECT [工艺编号], [工序名称] FROM [基础表_工序] ORDER BY [工艺编号]`。 +- `查询字典` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。 +- `质量管理_检验标准表_新增` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 NVARCHAR(100)`、`@工序名称编号 INT`、`@检测项目 NVARCHAR(500)`、`@理论值 NVARCHAR(50)`、`@上限值 NVARCHAR(50)`、`@下限值 NVARCHAR(50)`、`@测量单位 NVARCHAR(50)`、`@检验比例 NVARCHAR(50)`、`@检具 NVARCHAR(100)`、`@备注 NVARCHAR(500)`、`@检测类别编号 INT`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO YL_质量检验_检测标准 (`。 实现特征:事务控制、异常捕获。 +- `质量管理_检验标准表_查询` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 NVARCHAR(100)`、`@工序名称编号 INT`、`@检测类别编号 INT`。 主要返回字段线索:`AID, `、`物料编号, `、`工序名称编号, `、`检测类别编号, `、`检测项目, `、`理论值, `、`上限值, `、`下限值, `、`测量单位, `、`检验比例, `。 关键过滤/匹配条件:`WHERE (@物料编号 IS NULL OR 物料编号 = @物料编号)`;`AND (@工序名称编号 IS NULL OR 工序名称编号 = @工序名称编号)`;`AND (@检测类别编号 IS NULL OR 检测类别编号 = @检测类别编号)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 物料编号, 工序名称编号, 检测类别编号;`。 +- `质量管理_检验标准表_修改` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`YL_质量检验_检测标准`。 入参/分页参数:`@AID INT,`、`@物料编号 NVARCHAR(100)`、`@工序名称编号 INT`、`@检测项目 NVARCHAR(500)`、`@理论值 NVARCHAR(50)`、`@上限值 NVARCHAR(50)`、`@下限值 NVARCHAR(50)`、`@测量单位 NVARCHAR(50)`、`@检验比例 NVARCHAR(50)`、`@检具 NVARCHAR(100)`、`@备注 NVARCHAR(500)`、`@检测类别编号 INT`。 关键过滤/匹配条件:`WHERE AID = @AID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`UPDATE YL_质量检验_检测标准`;`SET`。 实现特征:事务控制、异常捕获。 +- `质量管理_检验标准表_删除` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、删除、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`YL_质量检验_检测标准`。 入参/分页参数:`@AID INT`。 主要返回字段线索:`1`。 关键过滤/匹配条件:`IF NOT EXISTS (SELECT 1 FROM YL_质量检验_检测标准 WHERE AID = @AID)`;`DELETE FROM YL_质量检验_检测标准 WHERE AID = @AID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`DELETE FROM YL_质量检验_检测标准 WHERE AID = @AID;`。 实现特征:事务控制、异常捕获。 + +## 59. src/views/QualityManagement/QualityStandardQuery/index.vue + +**页面位置**:`src/views/QualityManagement/QualityStandardQuery/index.vue` +**所属模块**:QualityManagement / QualityStandardQuery +**源码行数**:786 + +### 页面功能 + +该页面维护/查询检验标准。用户按物料、工序、检测项目维护理论值、上下限、量具和启用状态。 + +页面可见的操作/字段包括 “查询 新增标准 修改 删除 确定 取 消”、“确定 取 消”、“item.label”、“序号”、“物料编号”、“工序名称”、“检测类别”、“检测项目”、“上限值”、“下限值”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `MES_ProcessManagement_PartGet`、`Prog_MES_LoadProcess`、`查询字典`、`质量管理_检验标准表_新增`、`质量管理_检验标准表_查询`、`质量管理_检验标准表_修改` 等过程 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `MES_ProcessManagement_PartGet` -> `Prog_MES_LoadProcess` -> `查询字典` -> `质量管理_检验标准表_新增` -> `质量管理_检验标准表_查询` -> `质量管理_检验标准表_修改` -> `质量管理_检验标准表_删除` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询 新增标准 修改 删除 确定 取 消`、`确定 取 消`、`item.label`、`序号`、`物料编号`、`工序名称`、`检测类别`、`检测项目`、`上限值`、`下限值`、`测量单位`、`检验比例`、`检具`、`备注`、`操作`、`理论值`、`检测类别编号`、`请选择物料编号` + +主要方法线索:`getNoList`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.checkForm.物料编号` | `@物料编号` | - | +| 参数 | `this.checkForm.工序名称编号` | `@工序名称编号` | - | +| 参数 | `this.checkForm.检测类别编号` | `@检测类别编号` | - | +| 参数 | `this.checkForm.检测项目` | `@检测项目` | - | +| 参数 | `this.checkForm.理论值` | `@理论值` | - | +| 参数 | `this.checkForm.上限值` | `@上限值` | - | +| 参数 | `this.checkForm.下限值` | `@下限值` | - | +| 参数 | `this.checkForm.测量单位` | `@测量单位` | - | +| 参数 | `this.checkForm.检验比例` | `@检验比例` | - | +| 参数 | `this.checkForm.检具` | `@检具` | - | +| 参数 | `this.checkForm.备注` | `@备注` | - | +| 参数 | `this.物料编号` | `@物料编号` | - | +| 参数 | `this.工序名称编号` | `@工序名称编号` | - | +| 参数 | `this.检测类别编号` | `@检测类别编号` | - | +| 参数 | `this.checkForm.AID` | `@AID` | - | +| 参数 | `row.AID` | `@AID` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `物料编号` | - | `物料编号, ` | +| 显示列 | `工序名称` | - | `[工艺编号], [工序名称]` | +| 显示列 | `检测类别` | - | `检测类别编号, ` | +| 显示列 | `检测项目` | - | `检测项目, ` | +| 显示列 | `上限值` | - | `上限值, ` | +| 显示列 | `下限值` | - | `下限值, ` | +| 显示列 | `测量单位` | - | `测量单位, ` | +| 显示列 | `检验比例` | - | `检验比例, ` | +| 显示列 | `检具` | - | `检具` | +| 显示列 | `备注` | - | `备注` | +| 显示列 | `操作` | - | `操作` | +| 输入字段 | `物料编号` | `@物料编号` | - | +| 输入字段 | `工序名称编号` | `@工序名称编号` | - | +| 输入字段 | `检测类别编号` | `@检测类别编号` | - | +| 输入字段 | `checkForm.物料编号` | `@物料编号` | - | +| 输入字段 | `checkForm.工序名称编号` | `@工序名称编号` | - | +| 输入字段 | `checkForm.检测类别编号` | `@检测类别编号` | - | +| 输入字段 | `checkForm.检具` | `@检具` | - | +| 输入字段 | `checkForm.检测项目` | `@检测项目` | - | +| 输入字段 | `checkForm.理论值` | `@理论值` | - | +| 输入字段 | `checkForm.上限值` | `@上限值` | - | +| 输入字段 | `checkForm.下限值` | `@下限值` | - | +| 输入字段 | `checkForm.测量单位` | `@测量单位` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 522 | 11(当前通用存储过程查询/执行) | `MES_ProcessManagement_PartGet` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` | +| 544 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadProcess` | 查询/读取数据 | 查询 | 表:`基础表_工序` | +| 556 | 11(当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` | +| 611 | 12(当前通用存储过程写入/业务动作) | `质量管理_检验标准表_新增` | 新增业务数据 | 查询、新增、处理质检数据 | 未在 SQL 中解析到明确依赖 | +| 651 | 11(当前通用存储过程查询/执行) | `质量管理_检验标准表_查询` | 查询/读取数据 | 查询、处理质检数据 | 未在 SQL 中解析到明确依赖 | +| 703 | 12(当前通用存储过程写入/业务动作) | `质量管理_检验标准表_修改` | 更新/保存业务数据 | 查询、更新、处理质检数据 | 未在 SQL 中解析到明确依赖 | +| 742 | 12(当前通用存储过程写入/业务动作) | `质量管理_检验标准表_删除` | 删除业务数据 | 查询、删除、处理质检数据 | 未在 SQL 中解析到明确依赖 | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- MES_ProcessManagement_PartGet: SAP.SBO_YL.dbo.UBT_OITM + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `MES_ProcessManagement_PartGet`:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''` + +### 数据库调用链 + +- `src/views/QualityManagement/QualityStandardQuery/index.vue` -> `MES_ProcessManagement_PartGet` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据 +- `src/views/QualityManagement/QualityStandardQuery/index.vue` -> `Prog_MES_LoadProcess` -> 表:`基础表_工序` -> 查询/读取数据 +- `src/views/QualityManagement/QualityStandardQuery/index.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据 +- `src/views/QualityManagement/QualityStandardQuery/index.vue` -> `质量管理_检验标准表_新增` -> 未在 SQL 中解析到明确依赖 -> 新增业务数据 +- `src/views/QualityManagement/QualityStandardQuery/index.vue` -> `质量管理_检验标准表_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/QualityManagement/QualityStandardQuery/index.vue` -> `质量管理_检验标准表_修改` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据 +- `src/views/QualityManagement/QualityStandardQuery/index.vue` -> `质量管理_检验标准表_删除` -> 未在 SQL 中解析到明确依赖 -> 删除业务数据 + +### 存储过程处理逻辑明细 + +- `MES_ProcessManagement_PartGet` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@过滤 NVARCHAR(200)`。 主要返回字段线索:`top 100 *`。 关键过滤/匹配条件:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`。 实现特征:读取 SAP 数据库对象。 +- `Prog_MES_LoadProcess` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 主要返回字段线索:`[工艺编号], [工序名称]`。 排序/分组/分页线索:`SELECT [工艺编号], [工序名称] FROM [基础表_工序] ORDER BY [工艺编号]`。 +- `查询字典` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。 +- `质量管理_检验标准表_新增` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 NVARCHAR(100)`、`@工序名称编号 INT`、`@检测项目 NVARCHAR(500)`、`@理论值 NVARCHAR(50)`、`@上限值 NVARCHAR(50)`、`@下限值 NVARCHAR(50)`、`@测量单位 NVARCHAR(50)`、`@检验比例 NVARCHAR(50)`、`@检具 NVARCHAR(100)`、`@备注 NVARCHAR(500)`、`@检测类别编号 INT`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`INSERT INTO YL_质量检验_检测标准 (`。 实现特征:事务控制、异常捕获。 +- `质量管理_检验标准表_查询` 属于 工艺与图纸,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 NVARCHAR(100)`、`@工序名称编号 INT`、`@检测类别编号 INT`。 主要返回字段线索:`AID, `、`物料编号, `、`工序名称编号, `、`检测类别编号, `、`检测项目, `、`理论值, `、`上限值, `、`下限值, `、`测量单位, `、`检验比例, `。 关键过滤/匹配条件:`WHERE (@物料编号 IS NULL OR 物料编号 = @物料编号)`;`AND (@工序名称编号 IS NULL OR 工序名称编号 = @工序名称编号)`;`AND (@检测类别编号 IS NULL OR 检测类别编号 = @检测类别编号)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 物料编号, 工序名称编号, 检测类别编号;`。 +- `质量管理_检验标准表_修改` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`YL_质量检验_检测标准`。 入参/分页参数:`@AID INT,`、`@物料编号 NVARCHAR(100)`、`@工序名称编号 INT`、`@检测项目 NVARCHAR(500)`、`@理论值 NVARCHAR(50)`、`@上限值 NVARCHAR(50)`、`@下限值 NVARCHAR(50)`、`@测量单位 NVARCHAR(50)`、`@检验比例 NVARCHAR(50)`、`@检具 NVARCHAR(100)`、`@备注 NVARCHAR(500)`、`@检测类别编号 INT`。 关键过滤/匹配条件:`WHERE AID = @AID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`UPDATE YL_质量检验_检测标准`;`SET`。 实现特征:事务控制、异常捕获。 +- `质量管理_检验标准表_删除` 属于 工艺与图纸,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、删除、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`YL_质量检验_检测标准`。 入参/分页参数:`@AID INT`。 主要返回字段线索:`1`。 关键过滤/匹配条件:`IF NOT EXISTS (SELECT 1 FROM YL_质量检验_检测标准 WHERE AID = @AID)`;`DELETE FROM YL_质量检验_检测标准 WHERE AID = @AID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`DELETE FROM YL_质量检验_检测标准 WHERE AID = @AID;`。 实现特征:事务控制、异常捕获。 + +## 60. src/views/QualityManagement/Unqualified/index.vue + +**页面位置**:`src/views/QualityManagement/Unqualified/index.vue` +**所属模块**:QualityManagement / Unqualified +**源码行数**:577 + +### 页面功能 + +该页面处理不合格品。用户查询不合格记录,查看处置流程和节点,推进让步放行、返工、报废等处理。 + +页面可见的操作/字段包括 “查询”、“Excel导出”、“打印”、“item.label”、“全部”、“收检”、“终检”、“来料检验”、“退库检验”、“序号”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `人员管理_人员信息查询_质检部门_查询`、`质量管理_不合格品处置_查询` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `人员管理_人员信息查询_质检部门_查询` -> `质量管理_不合格品处置_查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`Excel导出`、`打印`、`item.label`、`全部`、`收检`、`终检`、`来料检验`、`退库检验`、`序号`、`质检类型`、`零件编码`、`零件名称`、`内部合同号`、`计划号`、`工序名称`、`工位名称`、`供应商代码` + +主要方法线索:`getCheckerList`、`for` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.QualityStatus` | `@质检类型` | - | +| 参数 | `this.startDate` | `@开始日期` | - | +| 参数 | `this.endDate` | `@结束日期` | - | +| 参数 | `this.orderNo` | `@订单号` | - | +| 参数 | `this.contractNo` | `@合同号` | - | +| 参数 | `this.productCode` | `@零件编码` | - | +| 参数 | `this.productName` | `@零件名称` | - | +| 参数 | `selectedChecker ? selectedChecker.label : 0` | `@检测人` | - | +| 参数 | `this.pageCurrent` | `@PageCurrent` | - | +| 参数 | `this.pageSize` | `@pageSize` | - | +| 参数 | `'1111', 'int', '1'` | `@PageCount` | - | +| 参数 | `'1111', 'int', '1'` | `@ItemCount` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `质检类型` | - | `质检类型` | +| 显示列 | `零件编码` | - | `零件编码` | +| 显示列 | `零件名称` | - | `零件名称` | +| 显示列 | `内部合同号` | - | `内部合同号` | +| 显示列 | `计划号` | - | `计划号` | +| 显示列 | `工序名称` | - | `工序名称` | +| 显示列 | `工位名称` | - | `工位名称` | +| 显示列 | `供应商代码` | - | `供应商代码` | +| 显示列 | `检验数量` | - | `检验数量` | +| 显示列 | `合格数` | - | `合格数` | +| 显示列 | `不合格数` | - | `不合格数` | +| 显示列 | `检测人` | - | `检测人` | +| 显示列 | `检测时间` | - | `检测时间` | +| 显示列 | `检测说明` | - | `检测说明` | +| 显示列 | `操作` | - | `操作` | +| 输入字段 | `orderNo` | `@订单号` | - | +| 输入字段 | `contractNo` | `@合同号` | - | +| 输入字段 | `productCode` | `@零件编码` | - | +| 输入字段 | `productName` | `@零件名称` | - | +| 输入字段 | `checker` | - | - | +| 输入字段 | `QualityStatus` | `@质检类型` | - | +| 输入字段 | `startDate` | `@开始日期` | - | +| 输入字段 | `endDate` | `@结束日期` | - | +| 输入字段 | `activeTab` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- Excel/报表导出 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 316 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` | +| 376 | 11(当前通用存储过程查询/执行) | `质量管理_不合格品处置_查询` | 查询/读取数据 | 分页、处理质检数据、处理计划/派工 | 视图:`View_质检明细` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `人员管理_人员信息查询_质检部门_查询`:`create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]` +- `质量管理_不合格品处置_查询`:`@质检类型 nvarchar(4000) = '10', `;`DECLARE @tbname sysname = ' [dbo].[View_质检明细] '`;`IF @质检类型 = '0'`;`SET @where = @where + ' AND 质检类型 = ''收检'' '`;`ELSE IF @质检类型 = '1'`;`SET @where = @where + ' AND 质检类型 = ''终检'' '`;`ELSE IF @质检类型 = '2'`;`SET @where = @where + ' AND 质检类型 = ''来料检验'' '` + +### 数据库调用链 + +- `src/views/QualityManagement/Unqualified/index.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据 +- `src/views/QualityManagement/Unqualified/index.vue` -> `质量管理_不合格品处置_查询` -> 视图:`View_质检明细` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 +- `质量管理_不合格品处置_查询` 属于 质量检验,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:分页、处理质检数据、处理计划/派工。 读取/关联对象:视图:`View_质检明细`。 入参/分页参数:`@质检类型 nvarchar(4000)`、`@开始日期 datetime`、`@结束日期 datetime`、`@订单号 nvarchar(4000)`、`@合同号 nvarchar(4000)`、`@零件编码 nvarchar(4000)`、`@零件名称 nvarchar(4000)`、`@检测人 nvarchar(4000)`、`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`。 关键过滤/匹配条件:`DECLARE @where nvarchar(4000)`;`SET @where = ' (1 = 1) '`;`SET @where = @where + ' AND 质检类型 = ''收检'' '`;`SET @where = @where + ' AND 质检类型 = ''终检'' '`;`SET @where = @where + ' AND 质检类型 = ''来料检验'' '`;`SET @where = @where + ' AND 质检类型 = ''退库检验'' '`;`SET @where = @where + ' AND 计划号 LIKE ''%' + @订单号 + '%'' '`;`SET @where = @where + ' AND 零件编码 LIKE ''%' + @零件编码 + '%'' '`;`SET @where = @where + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'' '`;`SET @where = @where + ' AND 检测人 LIKE ''%' + @检测人 + '%'' '`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`SET @where = ' (1 = 1) '`;`SET @where = @where + ' AND 质检类型 = ''收检'' '`;`SET @where = @where + ' AND 质检类型 = ''终检'' '`;`SET @where = @where + ' AND 质检类型 = ''来料检验'' '`;`SET @where = @where + ' AND 质检类型 = ''退库检验'' '`;`SET @where = @where + ' AND 计划号 LIKE ''%' + @订单号 + '%'' '`;`SET @where = @where + ' AND 零件编码 LIKE ''%' + @零件编码 + '%'' '`;`SET @where = @where + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'' '`;`SET @where = @where + ' AND 检测人 LIKE ''%' + @检测人 + '%'' '`;`SET @where = @where + ' AND 检测时间 > = ''' + CONVERT(nvarchar(30), @开始日期, 120) + ''' '`;`SET @where = @where + ' AND 检测时间 < = ''' + CONVERT(nvarchar(30), @结束日期, 120) + ''' '`。 实现特征:分页。 + +## 61. src/views/SaleManagement/saleorderstatus/index.vue + +**页面位置**:`src/views/SaleManagement/saleorderstatus/index.vue` +**所属模块**:SaleManagement / saleorderstatus +**源码行数**:804 + +### 页面功能 + +该页面查询销售订单状态。用户按销售订单、合同、物料等条件查看销售订单在 SAP/MES 中的履约、生产、发货或关闭状态。 + +页面可见的操作/字段包括 “查询”、“缺料”、“关闭”、“全部”、“已下达发货通知”、“未下达发货通知”、“机加”、“装配”、“是”、“否”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `生产管理_装配中心_缺料查询`、`销售管理_销售订单状态`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `生产管理_装配中心_缺料查询` -> `销售管理_销售订单状态` -> `MES_OrderPlanned_DescriptionEdit` -> `Prog_MES_LoadStations` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`缺料`、`关闭`、`全部`、`已下达发货通知`、`未下达发货通知`、`机加`、`装配`、`是`、`否`、`加急`、`正常`、`未完成`、`已完成`、`序号`、`工序名称`、`计划数量`、`指派对象` + +主要方法线索:`miss` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `row.产品编码` | `@ItemCode` | - | +| 参数 | `row.订单号` | `@订单号` | - | +| 参数 | `this.orderNo ` | `@订单号` | - | +| 参数 | `'自制件'` | `@物料类型` | - | +| 参数 | `this.contractNo` | `@合同号` | - | +| 参数 | `this.productCode` | `@产品编码` | - | +| 参数 | `this.productName` | `@产品名称` | - | +| 参数 | `this.processName` | `@工序名称` | - | +| 参数 | `this.planStartTime[0` | `@计划开始1` | - | +| 参数 | `this.planStartTime[1` | `@计划开始2` | - | +| 参数 | `this.planendTime[0` | `@计划完成1` | - | +| 参数 | `this.planendTime[1` | `@计划完成2` | - | +| 参数 | `this.completionTime ? this.completionTime[0` | `@要求完工日期1` | - | +| 参数 | `this.completionTime ? this.completionTime[1` | `@要求完工日期2` | - | +| 参数 | `this.productionStatus` | `@排产状态` | - | +| 参数 | `'全部'` | `@指派对象` | - | +| 参数 | `this.plannum` | `@计划号` | `v.计划号, ` | +| 参数 | `this.ShipmentStatus` | `@发货状态` | `isnull(发货状态, 0) as [发货状态], ` | +| 参数 | `this.stockStatus` | `@入库状态` | - | +| 参数 | `this.outsourceStatus === '是' ? 1 : 0` | `@是否外协` | - | +| 参数 | `this.currentRow.订单号` | `@订单号` | - | +| 参数 | `this.currentRow.订单行号` | `@订单行号` | - | +| 参数 | `this.currentRow.拆分内码` | `@订单拆分内码` | - | +| 参数 | `this.editForm.优先级` | `@优先级` | - | +| 参数 | `this.editForm.未完成说明` | `@未完成说明` | - | +| 参数 | `this.editForm.派工特殊说明` | `@派工特殊说明` | - | +| 参数 | `this.$store.state.user.name` | `@最后编辑人` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `工序名称` | - | `工序名称` | +| 显示列 | `计划数量` | - | `计划数量` | +| 显示列 | `指派对象` | - | `指派对象` | +| 显示列 | `开始时间` | - | `计划开始时间` | +| 显示列 | `结束时间` | - | `计划完成时间` | +| 显示列 | `完成进度` | - | `进度` | +| 显示列 | `完成数量` | - | `完成数量` | +| 显示列 | `合格数` | - | `收检合格数` | +| 显示列 | `不良数` | - | `收检不合格数` | +| 显示列 | `任务状态` | - | `任务状态` | +| 显示列 | `加工状态` | - | `加工状态` | +| 显示列 | `操作` | - | `操作` | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 315 | 11(当前通用存储过程查询/执行) | `生产管理_装配中心_缺料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` | +| 584 | 11(当前通用存储过程查询/执行) | `销售管理_销售订单状态` | 业务存储过程调用 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 视图:`View_生产订单_MES` | +| 618 | 12(当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` | +| 677 | 11(当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` | + +### 与 SAP 的交互 + +存储过程内读取 SAP B1 数据库对象: +- 生产管理_装配中心_缺料查询: SAP.SBO_YL.dbo.UBT_OPKL_MissQty + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `生产管理_装配中心_缺料查询`:`select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号` +- `销售管理_销售订单状态`:`CREATE PROCEDURE [dbo].[销售管理_销售订单状态]`;`@计划完成1 nvarchar(50) = '', `;`@计划完成2 nvarchar(50) = '', `;`@排产状态 nvarchar(50) = '全部', `;`@发货状态 nvarchar(50) = '全部', `;`@入库状态 nvarchar(50) = '全部'`;`拣配状态, `;`isnull(发货状态, 0) as [发货状态], ` +- `MES_OrderPlanned_DescriptionEdit`:`@未完成说明 nvarchar(50) = '', `;`@派工特殊说明 nvarchar(500) = '', `;`Update [MES_接口_生产计划_生产任务] set`;`未完成说明 = @未完成说明, `;`派工特殊说明 = @派工特殊说明, ` + +### 数据库调用链 + +- `src/views/SaleManagement/saleorderstatus/index.vue` -> `生产管理_装配中心_缺料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` -> 查询/读取数据 +- `src/views/SaleManagement/saleorderstatus/index.vue` -> `销售管理_销售订单状态` -> 视图:`View_生产订单_MES` -> 业务存储过程调用 +- `src/views/SaleManagement/saleorderstatus/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据 +- `src/views/SaleManagement/saleorderstatus/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `生产管理_装配中心_缺料查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象:SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty`。 入参/分页参数:`@ItemCode nvarchar(500),`、`@订单号 int`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号`。 实现特征:读取 SAP 数据库对象。 +- `销售管理_销售订单状态` 属于 销售/订单状态,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 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)`。 主要返回字段线索:`top 200`、`v.计划号, `、`拣配状态, `、`入库数量, `、`要求发货日期, `、`isnull(发货状态, 0) as [发货状态], `、`case`、`when isnull(发料状态, 0) = 1 then ''发料齐套''`、`when isnull(发料状态, 0) = 2 then ''发料缺件''`、`when isnull(发料状态, 0) = 0 then ''未发料''`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE [物料类型] = ''pit_Resource'' and 自制件属性 LIKE ''%装配%'' '`;`WHERE 质检类型 = ''终检''`;`WHERE 质检类型 = ''收检''`;`SET @selectStrWhere = @selectStrWhere + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)`;`SET @selectStrWhere = @selectStrWhere + ' AND v.[计划号] = '''+@计划号+''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [合同号] LIKE ''%' + @合同号 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @产品编码 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料描述] LIKE ''%' + @产品名称 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [工序名称] = ''' + @工序名称 + ''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [计划完成] > = ''' + @要求完工日期1 + ''''`。 关键写入/状态处理语句线索:`SET @selectStr = N'`;`SET @selectStrWhere = @selectStrWhere + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)`;`SET @selectStrWhere = @selectStrWhere + ' AND v.[计划号] = '''+@计划号+''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [合同号] LIKE ''%' + @合同号 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @产品编码 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [物料描述] LIKE ''%' + @产品名称 + '%'''`;`SET @selectStrWhere = @selectStrWhere + ' AND [工序名称] = ''' + @工序名称 + ''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [计划完成] > = ''' + @要求完工日期1 + ''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [计划完成] < = ''' + @要求完工日期2 + ''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] > = ''' + @计划开始1 + ''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] < = ''' + @计划开始2 + ''''`;`SET @selectStrWhere = @selectStrWhere + ' AND [计划完成时间] > = ''' + @计划完成1 + ''''`。 排序/分组/分页线索:`GROUP BY TaskAID`;`SET @selectStrWhere = @selectStrWhere + ' ORDER BY [合同号] DESC, [订单编号] DESC '`。 +- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。 +- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 + +## 62. src/views/SystemMaintenance/MenuManagement/index.vue + +**页面位置**:`src/views/SystemMaintenance/MenuManagement/index.vue` +**所属模块**:SystemMaintenance / MenuManagement +**源码行数**:480 + +### 页面功能 + +该页面维护菜单和权限。管理员查询、增加、修改、删除菜单/角色权限配置,用于动态路由和按钮权限。 + +页面可见的操作/字段包括 “取消”、“确定”、“item.label”、“模块名称”、“模块路径”、“请选择”、“输入关键字进行过滤”、“新增一级模块”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `菜单系统模块_项目角色_查询数据_MESWORK` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `菜单系统模块_项目角色_查询数据_MESWORK` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`取消`、`确定`、`item.label`、`模块名称`、`模块路径`、`请选择`、`输入关键字进行过滤`、`新增一级模块` + +主要方法线索:`returnModule` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 显示列 | `模块名称` | - | `模块名称` | +| 显示列 | `模块路径` | - | `模块路径` | +| 输入字段 | `roleName` | - | - | +| 输入字段 | `filterTextLeft` | - | - | +| 输入字段 | `filterText` | - | - | +| 输入字段 | `data.AuthButtonsAll` | - | - | +| 输入字段 | `data.SearchData` | - | - | +| 输入字段 | `data.AddData` | - | - | +| 输入字段 | `data.EditData` | - | - | +| 输入字段 | `data.DeleteData` | - | - | +| 输入字段 | `filterTextRight` | - | - | +| 输入字段 | `form1.moduleName` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 434 | 11(当前通用存储过程查询/执行) | `菜单系统模块_项目角色_查询数据_MESWORK` | 查询/读取数据 | 分页 | 未在 SQL 中解析到明确依赖 | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +- `src/views/SystemMaintenance/MenuManagement/index.vue` -> `菜单系统模块_项目角色_查询数据_MESWORK` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `菜单系统模块_项目角色_查询数据_MESWORK` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:分页。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@角色功能 nvarchar(50)`、`@PageCurrent int,`、`@PageSize int,`、`@PageCount int`、`@ItemCount int`。 关键过滤/匹配条件:`declare @where nvarchar(1000)`;`set @where = ' 1 = 1 AND Roles_number ! = 1 '`;`set @where = @where + ' AND [Roles_Function] like ' +'''' + '%' + @角色功能 + '%'+''''`;`PRINT @where`;`exec dbo.sp_xt_pagesplit @tbname, @fieldkey, @where, @fieldshow, @fieldOrder, @PageCurrent, @PageSize, @PageCount out, @ItemCount out`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`set @where = ' 1 = 1 AND Roles_number ! = 1 '`;`set @tbname = '登录基础数据_角色信息'`;`set @fieldkey = ' Roles_number '`;`set @fieldOrder = ' Roles_number '`;`set @fieldshow = ''`;`set @where = @where + ' AND [Roles_Function] like ' +'''' + '%' + @角色功能 + '%'+''''`。 实现特征:分页。 + +## 63. src/views/SystemMaintenance/OperationLog/index.vue + +**页面位置**:`src/views/SystemMaintenance/OperationLog/index.vue` +**所属模块**:SystemMaintenance / OperationLog +**源码行数**:183 + +### 页面功能 + +该页面查询操作日志或报工操作记录,用于审计用户操作和追踪异常。 + +页面可见的操作/字段包括 “查询”、“订单编号”、“操作人”、“序号”、“操作类别”、“工序名称”、“工位名称”、“合同号”、“物料编号”、“物料描述”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `系统管理_报工操作记录_查询` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `系统管理_报工操作记录_查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`订单编号`、`操作人`、`序号`、`操作类别`、`工序名称`、`工位名称`、`合同号`、`物料编号`、`物料描述`、`操作数值`、`开始时间`、`结束时间`、`人员工时`、`设备工时`、`最后编辑人`、`最后编辑时间`、`操作描述` + +主要方法线索:`searchData`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.queryParams.订单编号` | `@订单编号` | - | +| 参数 | `this.queryParams.操作人` | `@操作人` | - | +| 显示列 | `序号` | - | `序号` | +| 显示列 | `订单编号` | - | `订单编号` | +| 显示列 | `操作类别` | - | `操作类别` | +| 显示列 | `工序名称` | - | `工序名称` | +| 显示列 | `工位名称` | - | `工位名称` | +| 显示列 | `操作人` | - | `操作人` | +| 显示列 | `合同号` | - | `合同号` | +| 显示列 | `物料编号` | - | `物料编号` | +| 显示列 | `物料描述` | - | `物料描述` | +| 显示列 | `操作数值` | - | `操作数值` | +| 显示列 | `开始时间` | - | `开始时间` | +| 显示列 | `结束时间` | - | `结束时间` | +| 显示列 | `人员工时` | - | `总时长` | +| 显示列 | `设备工时` | - | `实际工时` | +| 显示列 | `最后编辑人` | - | `最后编辑人` | +| 显示列 | `最后编辑时间` | - | `最后编辑时间` | +| 显示列 | `操作描述` | - | `操作描述` | +| 输入字段 | `queryParams.订单编号` | `@订单编号` | - | +| 输入字段 | `queryParams.操作人` | `@操作人` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 115 | 11(当前通用存储过程查询/执行) | `系统管理_报工操作记录_查询` | 查询/读取数据 | 查询、处理报工/工时 | 表:`YL_加工中心_操作记录表` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +- `系统管理_报工操作记录_查询`:`FROM [dbo].[YL_加工中心_操作记录表]` + +### 数据库调用链 + +- `src/views/SystemMaintenance/OperationLog/index.vue` -> `系统管理_报工操作记录_查询` -> 表:`YL_加工中心_操作记录表` -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `系统管理_报工操作记录_查询` 属于 生产执行/工时,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`。 入参/分页参数:`@订单编号 NVARCHAR(100)`、`@操作人 NVARCHAR(100)`。 主要返回字段线索:`top 100`、`*`。 关键过滤/匹配条件:`WHERE 1 = 1`;`AND (@订单编号 IS NULL OR 订单编号 = @订单编号)`;`AND (@操作人 IS NULL OR 操作人 = @操作人)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY AID DESC`。 + +## 64. src/views/SystemMaintenance/OrgManagement/index.vue + +**页面位置**:`src/views/SystemMaintenance/OrgManagement/index.vue` +**所属模块**:SystemMaintenance / OrgManagement +**源码行数**:240 + +### 页面功能 + +该页面维护组织/角色类基础数据,支持新增、修改、删除和查询。 + +页面可见的操作/字段包括 “查询”、“新增”、“编辑”、“删除”、“确 定”、“取消”、“部门名称”、“请输入部门名称”、“新增部门”、“编辑部门”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `菜单系统模块_项目角色_查询数据_MESWORK`、`菜单系统模块_项目角色_修改数据_MESWORK`、`菜单系统模块_项目角色_增加_MESWORK`、`菜单系统模块_项目角色_删除_MESWORK` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `菜单系统模块_项目角色_查询数据_MESWORK` -> `菜单系统模块_项目角色_修改数据_MESWORK` -> `菜单系统模块_项目角色_增加_MESWORK` -> `菜单系统模块_项目角色_删除_MESWORK` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`新增`、`编辑`、`删除`、`确 定`、`取消`、`部门名称`、`请输入部门名称`、`新增部门`、`编辑部门` + +主要方法线索:`searchData`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 显示列 | `部门名称` | - | `部门名称` | +| 显示列 | `编辑` | - | `编辑` | +| 输入字段 | `RoleFunctioning` | - | - | +| 输入字段 | `form.角色功能` | - | - | +| 输入字段 | `form2.角色功能` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 120 | 11(当前通用存储过程查询/执行) | `菜单系统模块_项目角色_查询数据_MESWORK` | 查询/读取数据 | 分页 | 未在 SQL 中解析到明确依赖 | +| 145 | 11(当前通用存储过程查询/执行) | `菜单系统模块_项目角色_修改数据_MESWORK` | 更新/保存业务数据 | 查询、更新 | 表:`登录基础数据_角色信息` | +| 175 | 11(当前通用存储过程查询/执行) | `菜单系统模块_项目角色_增加_MESWORK` | 新增业务数据 | 查询、新增 | 表:`登录基础数据_角色信息` | +| 202 | 11(当前通用存储过程查询/执行) | `菜单系统模块_项目角色_删除_MESWORK` | 删除业务数据 | 查询、删除 | 表:`登录基础数据_角色信息`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +- `src/views/SystemMaintenance/OrgManagement/index.vue` -> `菜单系统模块_项目角色_查询数据_MESWORK` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/SystemMaintenance/OrgManagement/index.vue` -> `菜单系统模块_项目角色_修改数据_MESWORK` -> 表:`登录基础数据_角色信息` -> 更新/保存业务数据 +- `src/views/SystemMaintenance/OrgManagement/index.vue` -> `菜单系统模块_项目角色_增加_MESWORK` -> 表:`登录基础数据_角色信息` -> 新增业务数据 +- `src/views/SystemMaintenance/OrgManagement/index.vue` -> `菜单系统模块_项目角色_删除_MESWORK` -> 表:`登录基础数据_角色信息`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单` -> 删除业务数据 + +### 存储过程处理逻辑明细 + +- `菜单系统模块_项目角色_查询数据_MESWORK` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:分页。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@角色功能 nvarchar(50)`、`@PageCurrent int,`、`@PageSize int,`、`@PageCount int`、`@ItemCount int`。 关键过滤/匹配条件:`declare @where nvarchar(1000)`;`set @where = ' 1 = 1 AND Roles_number ! = 1 '`;`set @where = @where + ' AND [Roles_Function] like ' +'''' + '%' + @角色功能 + '%'+''''`;`PRINT @where`;`exec dbo.sp_xt_pagesplit @tbname, @fieldkey, @where, @fieldshow, @fieldOrder, @PageCurrent, @PageSize, @PageCount out, @ItemCount out`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`set @where = ' 1 = 1 AND Roles_number ! = 1 '`;`set @tbname = '登录基础数据_角色信息'`;`set @fieldkey = ' Roles_number '`;`set @fieldOrder = ' Roles_number '`;`set @fieldshow = ''`;`set @where = @where + ' AND [Roles_Function] like ' +'''' + '%' + @角色功能 + '%'+''''`。 实现特征:分页。 +- `菜单系统模块_项目角色_修改数据_MESWORK` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新。 读取/关联对象:表:`登录基础数据_角色信息`。 写入或更新对象:`登录基础数据_角色信息`。 入参/分页参数:`@角色功能 nvarchar(50),`、`@角色编号 int`。 主要返回字段线索:`@同名角色是否存在 = count(*)`。 关键过滤/匹配条件:`SELECT @同名角色是否存在 = count(*) FROM [登录基础数据_角色信息] WHERE [Roles_Function] = @角色功能 AND [Roles_number] ! = @角色编号`;`WHERE [Roles_number] = @角色编号`。 关键写入/状态处理语句线索:`UPDATE [dbo].[登录基础数据_角色信息]`;`SET`。 +- `菜单系统模块_项目角色_增加_MESWORK` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:表:`登录基础数据_角色信息`。 写入或更新对象:`登录基础数据_角色信息`。 入参/分页参数:`@角色功能 nvarchar(50)`。 主要返回字段线索:`@同名角色是否存在 = count(*)`。 关键过滤/匹配条件:`SELECT @同名角色是否存在 = count(*) FROM [登录基础数据_角色信息] WHERE [Roles_Function] = @角色功能`。 关键写入/状态处理语句线索:`INSERT INTO [dbo].[登录基础数据_角色信息]( [Roles_Function])`。 +- `菜单系统模块_项目角色_删除_MESWORK` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、删除。 读取/关联对象:表:`登录基础数据_角色信息`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单`。 写入或更新对象:`登录基础数据_角色信息`。 入参/分页参数:`@角色编号 int`。 主要返回字段线索:`@是否分配菜单 = COUNT(*)`。 关键过滤/匹配条件:`select @是否分配菜单 = COUNT(*) from [dbo].[登录基础数据_二级菜单] where 账号代码 = @角色编号`;`select @是否分配人员 = COUNT(*) from [dbo].[登录基础数据_人员权限角色] where Roles_number = @角色编号`;`delete from [dbo].[登录基础数据_角色信息] where Roles_number = @角色编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`delete from [dbo].[登录基础数据_角色信息] where Roles_number = @角色编号`。 + +## 65. src/views/SystemMaintenance/PersonnelManagement/index.vue + +**页面位置**:`src/views/SystemMaintenance/PersonnelManagement/index.vue` +**所属模块**:SystemMaintenance / PersonnelManagement +**源码行数**:526 + +### 页面功能 + +该页面维护人员账号。管理员维护人员、部门、角色、启用状态等登录和权限基础数据。 + +页面可见的操作/字段包括 “查询”、“新增”、“重置密码”、“编辑”、“确 定”、“取消”、“item.label”、“姓名”、“工号”、“密码”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `人员管理_角色信息初始化查询_查询`、`登录基础数据_人员信息_切换是否用户`、`人员管理_人员信息查询_查询`、`人员管理_人员信息修改_编辑`、`人员管理_人员信息修改_删除`、`人员管理_人员信息新增_新增` 等过程 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `人员管理_角色信息初始化查询_查询` -> `登录基础数据_人员信息_切换是否用户` -> `人员管理_人员信息查询_查询` -> `人员管理_人员信息修改_编辑` -> `人员管理_人员信息修改_删除` -> `人员管理_人员信息新增_新增` -> `WEB_摄像头查看权限_查询` -> `WEB_登录基础数据_人员信息_重置密码` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`新增`、`重置密码`、`编辑`、`确 定`、`取消`、`item.label`、`姓名`、`工号`、`密码`、`角色`、`操作`、`请输入姓名`、`请选择角色`、`请输入工号`、`请输入密码`、`title`、`title1` + +主要方法线索:`getPersonalrole`、`for` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 显示列 | `姓名` | - | `姓名` | +| 显示列 | `工号` | - | `工号` | +| 显示列 | `密码` | - | `密码` | +| 显示列 | `角色` | - | `角色` | +| 显示列 | `操作` | - | `操作` | +| 输入字段 | `PersonalName` | - | - | +| 输入字段 | `PersonalroleValue` | - | - | +| 输入字段 | `scope.row.personnel_name` | - | - | +| 输入字段 | `scope.row.account` | - | - | +| 输入字段 | `scope.row.password` | - | - | +| 输入字段 | `form.PersonalName` | - | - | +| 输入字段 | `form.account` | - | - | +| 输入字段 | `form.password` | - | - | +| 输入字段 | `form.PersonalroleValue` | - | - | +| 输入字段 | `form1.PersonalName` | - | - | +| 输入字段 | `form1.account` | - | - | +| 输入字段 | `form1.password` | - | - | +| 输入字段 | `form1.PersonalroleValue` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 193 | 11(当前通用存储过程查询/执行) | `人员管理_角色信息初始化查询_查询` | 查询/读取数据 | 查询 | 未在 SQL 中解析到明确依赖 | +| 207 | 12(当前通用存储过程写入/业务动作) | `登录基础数据_人员信息_切换是否用户` | 基础权限/人员数据处理 | 未找到过程体 | 未知 | +| 243 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息查询_查询` | 查询/读取数据 | 分页 | 未在 SQL 中解析到明确依赖 | +| 296 | 12(当前通用存储过程写入/业务动作) | `人员管理_人员信息修改_编辑` | 更新/保存业务数据 | 更新 | 表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色` | +| 325 | 12(当前通用存储过程写入/业务动作) | `人员管理_人员信息修改_删除` | 更新/保存业务数据 | 更新、删除 | 表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色` | +| 374 | 11(当前通用存储过程查询/执行) | `人员管理_人员信息新增_新增` | 新增业务数据 | 查询、新增 | 表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色` | +| 410 | 11(当前通用存储过程查询/执行) | `WEB_摄像头查看权限_查询` | 查询/读取数据 | 未找到过程体 | 未知 | +| 429 | 12(当前通用存储过程写入/业务动作) | `WEB_登录基础数据_人员信息_重置密码` | 基础权限/人员数据处理 | 查询、更新 | 表:`登录基础数据_人员信息` | +| 441 | 11(当前通用存储过程查询/执行) | `WEB_人员设备查看权限_查询` | 查询/读取数据 | 未找到过程体 | 未知 | +| 459 | 12(当前通用存储过程写入/业务动作) | `WEB_人员设备查看权限_权限切换` | 查询/读取数据 | 未找到过程体 | 未知 | +| 479 | 12(当前通用存储过程写入/业务动作) | `WEB_人员摄像头查看权限_权限切换` | 查询/读取数据 | 未找到过程体 | 未知 | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `人员管理_角色信息初始化查询_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `登录基础数据_人员信息_切换是否用户` -> 过程体未解析 -> 基础权限/人员数据处理 +- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `人员管理_人员信息查询_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `人员管理_人员信息修改_编辑` -> 表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色` -> 更新/保存业务数据 +- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `人员管理_人员信息修改_删除` -> 表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色` -> 更新/保存业务数据 +- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `人员管理_人员信息新增_新增` -> 表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色` -> 新增业务数据 +- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `WEB_摄像头查看权限_查询` -> 过程体未解析 -> 查询/读取数据 +- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `WEB_登录基础数据_人员信息_重置密码` -> 表:`登录基础数据_人员信息` -> 基础权限/人员数据处理 +- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `WEB_人员设备查看权限_查询` -> 过程体未解析 -> 查询/读取数据 +- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `WEB_人员设备查看权限_权限切换` -> 过程体未解析 -> 查询/读取数据 +- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `WEB_人员摄像头查看权限_权限切换` -> 过程体未解析 -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `人员管理_角色信息初始化查询_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 主要返回字段线索:`*`。 关键过滤/匹配条件:`where [Roles_number] 1`。 +- `登录基础数据_人员信息_切换是否用户` 属于 系统基础资料/权限,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 基础权限/人员数据处理。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。 +- `人员管理_人员信息查询_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:分页。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@姓名_check int`、`@姓名 nvarchar(500)`、`@角色代码_check int`、`@角色代码 nvarchar(500)`、`@PageCurrent int,`、`@PageSize int,`、`@PageCount int`、`@ItemCount int`。 关键过滤/匹配条件:`declare @where nvarchar(1000)`;`set @where = ' 1 = 1 '`;`set @where = @where + ' and Personnel_Number is not null'`;`set @where = @where+' and Personnel_Name like '+substring(@a, 1, 1)+'%'+@姓名+substring(@a, 1, 1) + '+'+substring(@a, 1, 1)+'%'+substring(@a, 1, 1)`;`set @where = @where+' and Roles_number = ' + CAST(@角色代码 AS NVARCHAR(50))`;`exec dbo.sp_xt_pagesplit @tbname, @fieldkey, @where, @fieldshow, @fieldOrder, @PageCurrent, @PageSize, @PageCount out, @ItemCount out`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`set @where = ' 1 = 1 '`;`set @tbname = '登录基础数据_管理人员权限视图'`;`set @fieldkey = ' Personnel_Number '`;`set @fieldOrder = ' Personnel_Number desc '`;`set @fieldshow = ''`;`set @a = ''''`;`set @where = @where + ' and Personnel_Number is not null'`;`set @where = @where+' and Personnel_Name like '+substring(@a, 1, 1)+'%'+@姓名+substring(@a, 1, 1) + '+'+substring(@a, 1, 1)+'%'+substring(@a, 1, 1)`;`set @where = @where+' and Roles_number = ' + CAST(@角色代码 AS NVARCHAR(50))`。 实现特征:分页。 +- `人员管理_人员信息修改_编辑` 属于 系统基础资料/权限,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新。 读取/关联对象:表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色`。 写入或更新对象:`登录基础数据_人员信息`、`登录基础数据_人员权限角色`。 入参/分页参数:`@Personnel_Number int`、`@account nvarchar(50)`、`@password nvarchar(50)`、`@Personnel_Name nvarchar(50)`、`@Roles_number int`。 关键过滤/匹配条件:`where Personnel_Number = @Personnel_Number`。 关键写入/状态处理语句线索:`UPDATE [dbo].[登录基础数据_人员信息]`;`SET`;`UPDATE [dbo].[登录基础数据_人员权限角色]`。 +- `人员管理_人员信息修改_删除` 属于 系统基础资料/权限,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、删除。 读取/关联对象:表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色`。 写入或更新对象:`登录基础数据_人员信息`、`登录基础数据_人员权限角色`。 入参/分页参数:`@Personnel_Number int`。 关键过滤/匹配条件:`where Personnel_Number = @Personnel_Number`;`delete from [dbo].[登录基础数据_人员权限角色] where Personnel_Number = @Personnel_Number`。 关键写入/状态处理语句线索:`UPDATE [dbo].[登录基础数据_人员信息]`;`SET`;`delete from [dbo].[登录基础数据_人员权限角色] where Personnel_Number = @Personnel_Number`。 +- `人员管理_人员信息新增_新增` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色`。 写入或更新对象:`登录基础数据_人员信息`、`登录基础数据_人员权限角色`。 入参/分页参数:`@account nvarchar(50)`、`@password nvarchar(50)`、`@Personnel_Name nvarchar(50)`、`@Roles_number int`。 主要返回字段线索:`count(*)`。 关键过滤/匹配条件:`if(select count(*) from [登录基础数据_人员信息] where account = @account ) = 0`;`where account = @account`。 关键写入/状态处理语句线索:`INSERT INTO [登录基础数据_人员信息]`;`INSERT INTO [登录基础数据_人员权限角色]`。 +- `WEB_摄像头查看权限_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。 +- `WEB_登录基础数据_人员信息_重置密码` 属于 系统基础资料/权限,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 基础权限/人员数据处理。 数据库处理摘要:查询、更新。 读取/关联对象:表:`登录基础数据_人员信息`。 写入或更新对象:`登录基础数据_人员信息`。 入参/分页参数:`@Personnel_Number int`。 关键过滤/匹配条件:`update 登录基础数据_人员信息 set password = '123456' where [Personnel_Number] = @Personnel_Number`。 关键写入/状态处理语句线索:`update 登录基础数据_人员信息 set password = '123456' where [Personnel_Number] = @Personnel_Number`。 +- `WEB_人员设备查看权限_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。 +- `WEB_人员设备查看权限_权限切换` 属于 系统基础资料/权限,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 查询/读取数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。 +- `WEB_人员摄像头查看权限_权限切换` 属于 系统基础资料/权限,前端以 type=12(当前通用存储过程写入/业务动作)调用,页面用途是 查询/读取数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。 + +## 66. src/views/SystemMaintenance/SystemRrolemaintenance/index.vue + +**页面位置**:`src/views/SystemMaintenance/SystemRrolemaintenance/index.vue` +**所属模块**:SystemMaintenance / SystemRrolemaintenance +**源码行数**:276 + +### 页面功能 + +该页面维护系统角色。管理员查询、新增、修改、删除角色数据。 + +页面可见的操作/字段包括 “查询”、“新增”、“编辑”、“删除”、“确 定”、“取消”、“角色功能”、“角色名称”、“请输入角色功能”、“新增角色”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `菜单系统模块_项目角色_查询数据_MESWORK`、`菜单系统模块_项目角色_修改数据_MESWORK`、`菜单系统模块_项目角色_增加_MESWORK`、`菜单系统模块_项目角色_删除_MESWORK` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `菜单系统模块_项目角色_查询数据_MESWORK` -> `菜单系统模块_项目角色_修改数据_MESWORK` -> `菜单系统模块_项目角色_增加_MESWORK` -> `菜单系统模块_项目角色_删除_MESWORK` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`新增`、`编辑`、`删除`、`确 定`、`取消`、`角色功能`、`角色名称`、`请输入角色功能`、`新增角色`、`编辑角色` + +主要方法线索:`searchData`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 显示列 | `角色功能` | - | `角色功能` | +| 显示列 | `编辑` | - | `编辑` | +| 输入字段 | `RoleFunctioning` | - | - | +| 输入字段 | `form.角色功能` | - | - | +| 输入字段 | `form2.角色功能` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 156 | 11(当前通用存储过程查询/执行) | `菜单系统模块_项目角色_查询数据_MESWORK` | 查询/读取数据 | 分页 | 未在 SQL 中解析到明确依赖 | +| 181 | 11(当前通用存储过程查询/执行) | `菜单系统模块_项目角色_修改数据_MESWORK` | 更新/保存业务数据 | 查询、更新 | 表:`登录基础数据_角色信息` | +| 211 | 11(当前通用存储过程查询/执行) | `菜单系统模块_项目角色_增加_MESWORK` | 新增业务数据 | 查询、新增 | 表:`登录基础数据_角色信息` | +| 238 | 11(当前通用存储过程查询/执行) | `菜单系统模块_项目角色_删除_MESWORK` | 删除业务数据 | 查询、删除 | 表:`登录基础数据_角色信息`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单` | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +- `src/views/SystemMaintenance/SystemRrolemaintenance/index.vue` -> `菜单系统模块_项目角色_查询数据_MESWORK` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据 +- `src/views/SystemMaintenance/SystemRrolemaintenance/index.vue` -> `菜单系统模块_项目角色_修改数据_MESWORK` -> 表:`登录基础数据_角色信息` -> 更新/保存业务数据 +- `src/views/SystemMaintenance/SystemRrolemaintenance/index.vue` -> `菜单系统模块_项目角色_增加_MESWORK` -> 表:`登录基础数据_角色信息` -> 新增业务数据 +- `src/views/SystemMaintenance/SystemRrolemaintenance/index.vue` -> `菜单系统模块_项目角色_删除_MESWORK` -> 表:`登录基础数据_角色信息`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单` -> 删除业务数据 + +### 存储过程处理逻辑明细 + +- `菜单系统模块_项目角色_查询数据_MESWORK` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:分页。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@角色功能 nvarchar(50)`、`@PageCurrent int,`、`@PageSize int,`、`@PageCount int`、`@ItemCount int`。 关键过滤/匹配条件:`declare @where nvarchar(1000)`;`set @where = ' 1 = 1 AND Roles_number ! = 1 '`;`set @where = @where + ' AND [Roles_Function] like ' +'''' + '%' + @角色功能 + '%'+''''`;`PRINT @where`;`exec dbo.sp_xt_pagesplit @tbname, @fieldkey, @where, @fieldshow, @fieldOrder, @PageCurrent, @PageSize, @PageCount out, @ItemCount out`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`set @where = ' 1 = 1 AND Roles_number ! = 1 '`;`set @tbname = '登录基础数据_角色信息'`;`set @fieldkey = ' Roles_number '`;`set @fieldOrder = ' Roles_number '`;`set @fieldshow = ''`;`set @where = @where + ' AND [Roles_Function] like ' +'''' + '%' + @角色功能 + '%'+''''`。 实现特征:分页。 +- `菜单系统模块_项目角色_修改数据_MESWORK` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新。 读取/关联对象:表:`登录基础数据_角色信息`。 写入或更新对象:`登录基础数据_角色信息`。 入参/分页参数:`@角色功能 nvarchar(50),`、`@角色编号 int`。 主要返回字段线索:`@同名角色是否存在 = count(*)`。 关键过滤/匹配条件:`SELECT @同名角色是否存在 = count(*) FROM [登录基础数据_角色信息] WHERE [Roles_Function] = @角色功能 AND [Roles_number] ! = @角色编号`;`WHERE [Roles_number] = @角色编号`。 关键写入/状态处理语句线索:`UPDATE [dbo].[登录基础数据_角色信息]`;`SET`。 +- `菜单系统模块_项目角色_增加_MESWORK` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:表:`登录基础数据_角色信息`。 写入或更新对象:`登录基础数据_角色信息`。 入参/分页参数:`@角色功能 nvarchar(50)`。 主要返回字段线索:`@同名角色是否存在 = count(*)`。 关键过滤/匹配条件:`SELECT @同名角色是否存在 = count(*) FROM [登录基础数据_角色信息] WHERE [Roles_Function] = @角色功能`。 关键写入/状态处理语句线索:`INSERT INTO [dbo].[登录基础数据_角色信息]( [Roles_Function])`。 +- `菜单系统模块_项目角色_删除_MESWORK` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、删除。 读取/关联对象:表:`登录基础数据_角色信息`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单`。 写入或更新对象:`登录基础数据_角色信息`。 入参/分页参数:`@角色编号 int`。 主要返回字段线索:`@是否分配菜单 = COUNT(*)`。 关键过滤/匹配条件:`select @是否分配菜单 = COUNT(*) from [dbo].[登录基础数据_二级菜单] where 账号代码 = @角色编号`;`select @是否分配人员 = COUNT(*) from [dbo].[登录基础数据_人员权限角色] where Roles_number = @角色编号`;`delete from [dbo].[登录基础数据_角色信息] where Roles_number = @角色编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`delete from [dbo].[登录基础数据_角色信息] where Roles_number = @角色编号`。 + +## 67. src/views/SystemMaintenance/WorkstationManagement/index.vue + +**页面位置**:`src/views/SystemMaintenance/WorkstationManagement/index.vue` +**所属模块**:SystemMaintenance / WorkstationManagement +**源码行数**:306 + +### 页面功能 + +该页面维护工位资源。管理员在 MES 侧新增、修改、删除工位,同时调用 SAP B1 Resources 新增或更新资源主数据。 + +页面可见的操作/字段包括 “查询”、“新增”、“编辑”、“删除”、“确 定”、“取消”、“工位名称”、“工位号”、“请输入工位名称”、“新增工位”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `MES_登录_工位与名称_查询`、`系统管理_工位管理_工位信息修改`、`系统管理_工位管理_工位信息增加`、`系统管理_工位管理_工位信息删除` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `系统管理_工位管理_工位信息修改` -> `系统管理_工位管理_工位信息增加` -> `系统管理_工位管理_工位信息删除` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`查询`、`新增`、`编辑`、`删除`、`确 定`、`取消`、`工位名称`、`工位号`、`请输入工位名称`、`新增工位`、`编辑工位` + +主要方法线索:`searchData`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 显示列 | `工位名称` | - | `[Name] as 工位名称` | +| 显示列 | `工位号` | - | `[VisCode] as 工位号` | +| 显示列 | `编辑` | - | `编辑` | +| 输入字段 | `RoleFunctioning` | - | - | +| 输入字段 | `form.工位名称` | - | - | +| 输入字段 | `form.工位号` | - | - | +| 输入字段 | `form2.工位名称` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 +- SAP B1 Service Layer(`src/api/b1s.js`) + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 168 | 11(当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` | +| 192 | 11(当前通用存储过程查询/执行) | `系统管理_工位管理_工位信息修改` | 更新/保存业务数据 | 查询、更新 | 表:`MES_资源主数据` | +| 228 | 11(当前通用存储过程查询/执行) | `系统管理_工位管理_工位信息增加` | 新增业务数据 | 查询、新增 | 表:`MES_资源主数据` | +| 268 | 11(当前通用存储过程查询/执行) | `系统管理_工位管理_工位信息删除` | 删除业务数据 | 查询、删除 | 表:`MES_资源主数据`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单` | + +### 与 SAP 的交互 + +页面直接 SAP/接口调用: +- 第 201 行:`patchB1("/Resources('")` +- 第 235 行:`postB1("/Resources")` + +### SAP 接口级说明 + +| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 | +|---:|---|---|---|---| +| 201 | `patchB1` | `/Resources('` | 新增或更新 SAP 资源主数据。失败会导致 MES 工位与 SAP 资源不一致。 | `Name`、`message`、`type`、`VisCode`、`ForeignName` | +| 235 | `postB1` | `/Resources` | 新增或更新 SAP 资源主数据。失败会导致 MES 工位与 SAP 资源不一致。 | `VisCode`、`Name`、`ForeignName`、`Type`、`Group`、`UnitOfMeasure`、`IssueMethod`、`Active`、`Inactive`、`Remarks`、`Allocation`、`confirmButtonText` | + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +- `src/views/SystemMaintenance/WorkstationManagement/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据 +- `src/views/SystemMaintenance/WorkstationManagement/index.vue` -> `系统管理_工位管理_工位信息修改` -> 表:`MES_资源主数据` -> 更新/保存业务数据 +- `src/views/SystemMaintenance/WorkstationManagement/index.vue` -> `系统管理_工位管理_工位信息增加` -> 表:`MES_资源主数据` -> 新增业务数据 +- `src/views/SystemMaintenance/WorkstationManagement/index.vue` -> `系统管理_工位管理_工位信息删除` -> 表:`MES_资源主数据`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单` -> 删除业务数据 + +### 存储过程处理逻辑明细 + +- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。 +- `系统管理_工位管理_工位信息修改` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新。 读取/关联对象:表:`MES_资源主数据`。 写入或更新对象:`MES_资源主数据`。 入参/分页参数:`@工位名称 nvarchar(50),`、`@工位号 nvarchar(50)`。 主要返回字段线索:`@同名工位是否存在 = count(*)`。 关键过滤/匹配条件:`SELECT @同名工位是否存在 = count(*) FROM [MES_资源主数据] WHERE [Name] = @工位名称`;`WHERE [VisCode] = @工位号`。 关键写入/状态处理语句线索:`UPDATE [dbo].[MES_资源主数据]`;`SET`。 +- `系统管理_工位管理_工位信息增加` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:表:`MES_资源主数据`。 写入或更新对象:`MES_资源主数据`。 入参/分页参数:`@工位名称 nvarchar(50),`、`@工位号 nvarchar(50)`。 主要返回字段线索:`@同名工位是否存在 = count(*)`。 关键过滤/匹配条件:`SELECT @同名工位是否存在 = count(*) FROM [MES_资源主数据] WHERE [Name] = @工位名称`。 关键写入/状态处理语句线索:`INSERT INTO [dbo].[MES_资源主数据]( [Name], [VisCode], [Type], [Active], [IssueMethod], [Allocation], [SyncTime], [ResourceGroup], [ForeignName], [UnitOfMeasure])`。 +- `系统管理_工位管理_工位信息删除` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、删除。 读取/关联对象:表:`MES_资源主数据`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单`。 写入或更新对象:`MES_资源主数据`。 入参/分页参数:`@工位号 nvarchar(50)`。 关键过滤/匹配条件:`delete from [dbo].[MES_资源主数据] where [VisCode] = @工位号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`;`delete from [dbo].[MES_资源主数据] where [VisCode] = @工位号`。 + +## 68. src/views/dashboard/index.vue + +**页面位置**:`src/views/dashboard/index.vue` +**所属模块**:dashboard / index.vue +**源码行数**:356 + +### 页面功能 + +该页面是系统首页或欢迎页,用于承载看板入口或基础统计展示。 + +### 页面流程图 + +该页面未发现后端存储过程调用,通常不形成完整业务流程。 + +### 用户操作与页面线索 + +可见按钮/字段线索:无 + +主要方法线索:`toView` + +### 字段映射表 + +未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。 + +### 技术路线 + +- Vue 2 Options API +- Element UI +- 未发现页面级后端存储过程调用 + +### 调用的存储过程总览 + +未发现 `CreateData(...)` 存储过程调用。 + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +无数据库调用链。 + +### 存储过程处理逻辑明细 + +无页面级存储过程调用。 + +## 69. src/views/layout/Layout.vue + +**页面位置**:`src/views/layout/Layout.vue` +**所属模块**:layout / Layout.vue +**源码行数**:72 + +### 页面功能 + +该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +### 页面流程图 + +该页面未发现后端存储过程调用,通常不形成完整业务流程。 + +### 用户操作与页面线索 + +可见按钮/字段线索:无 + +主要方法线索:`handleClickOutside` + +### 字段映射表 + +未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。 + +### 技术路线 + +- Vue 2 Options API +- Element UI +- 未发现页面级后端存储过程调用 + +### 调用的存储过程总览 + +未发现 `CreateData(...)` 存储过程调用。 + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +无数据库调用链。 + +### 存储过程处理逻辑明细 + +无页面级存储过程调用。 + +## 70. src/views/layout/components/AppMain.vue + +**页面位置**:`src/views/layout/components/AppMain.vue` +**所属模块**:layout / components +**源码行数**:32 + +### 页面功能 + +该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +### 页面流程图 + +该页面未发现后端存储过程调用,通常不形成完整业务流程。 + +### 用户操作与页面线索 + +可见按钮/字段线索:无 + +主要方法线索:无 + +### 字段映射表 + +未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。 + +### 技术路线 + +- Vue 2 Options API +- Element UI +- 未发现页面级后端存储过程调用 + +### 调用的存储过程总览 + +未发现 `CreateData(...)` 存储过程调用。 + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +无数据库调用链。 + +### 存储过程处理逻辑明细 + +无页面级存储过程调用。 + +## 71. src/views/layout/components/Navbar.vue + +**页面位置**:`src/views/layout/components/Navbar.vue` +**所属模块**:layout / components +**源码行数**:380 + +### 页面功能 + +该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +页面可见的操作/字段包括 “[   登出   ]  --> Log Off”、“取 消”、“提 交”、“旧密码”、“新密码”、“确认密码”、“修改密码”,这些是判断页面业务范围的主要线索。 + +后端主要围绕 `登录基础数据_人员信息_登陆检查密码`、`登录基础数据_人员信息_修改密码`、`WEB_报警查询_未读报警记录_查询`、`WEB_报警查询_未读报警记录_未读条数查询` 取数或提交业务动作。 + +### 页面流程图 + +通用流程:用户输入查询/维护条件 -> 调用 `登录基础数据_人员信息_登陆检查密码` -> `登录基础数据_人员信息_修改密码` -> `WEB_报警查询_未读报警记录_查询` -> `WEB_报警查询_未读报警记录_未读条数查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`[   登出   ]  --> Log Off`、`取 消`、`提 交`、`旧密码`、`新密码`、`确认密码`、`修改密码` + +主要方法线索:`toErrorPage` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 参数 | `this.$store.state.user.id` | `@Personnel_Number` | - | +| 参数 | `this.$store.state.user.id` | `@userId` | - | +| 参数 | `this.updatePasswordForm.oldPassword` | `@旧密码` | - | +| 参数 | `this.updatePasswordForm.newPassword1` | `@新密码1` | `if (@新密码1 = '') begin` | +| 参数 | `this.updatePasswordForm.newPassword2` | `@新密码2` | - | +| 参数 | `this.id` | `@personnel_Number` | - | +| 输入字段 | `updatePasswordForm.oldPassword` | `@旧密码` | - | +| 输入字段 | `updatePasswordForm.newPassword1` | `@新密码1` | - | +| 输入字段 | `updatePasswordForm.newPassword2` | `@新密码2` | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- `CreateData` + `ExecDatabase` 调用后端过程 + +### 调用的存储过程总览 + +| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 | +|---:|---|---|---|---|---| +| 119 | 11(当前通用存储过程查询/执行) | `登录基础数据_人员信息_登陆检查密码` | 基础权限/人员数据处理 | 查询 | 未在 SQL 中解析到明确依赖 | +| 163 | 11(当前通用存储过程查询/执行) | `登录基础数据_人员信息_修改密码` | 更新/保存业务数据 | 查询、更新 | 未在 SQL 中解析到明确依赖 | +| 187 | 11(当前通用存储过程查询/执行) | `WEB_报警查询_未读报警记录_查询` | 查询/读取数据 | 未找到过程体 | 未知 | +| 205 | 11(当前通用存储过程查询/执行) | `WEB_报警查询_未读报警记录_未读条数查询` | 查询/读取数据 | 未找到过程体 | 未知 | + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +- `src/views/layout/components/Navbar.vue` -> `登录基础数据_人员信息_登陆检查密码` -> 未在 SQL 中解析到明确依赖 -> 基础权限/人员数据处理 +- `src/views/layout/components/Navbar.vue` -> `登录基础数据_人员信息_修改密码` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据 +- `src/views/layout/components/Navbar.vue` -> `WEB_报警查询_未读报警记录_查询` -> 过程体未解析 -> 查询/读取数据 +- `src/views/layout/components/Navbar.vue` -> `WEB_报警查询_未读报警记录_未读条数查询` -> 过程体未解析 -> 查询/读取数据 + +### 存储过程处理逻辑明细 + +- `登录基础数据_人员信息_登陆检查密码` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 基础权限/人员数据处理。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@Personnel_Number int`。 主要返回字段线索:`top 1 @password = password`。 关键过滤/匹配条件:`select top 1 @password = password from 登录基础数据_人员信息 where [Personnel_Number] = @Personnel_Number`。 +- `登录基础数据_人员信息_修改密码` 属于 系统基础资料/权限,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`登录基础数据_人员信息`。 入参/分页参数:`@userId int`、`@旧密码 nvarchar(50)`、`@新密码1 nvarchar(50)`、`@新密码2 nvarchar(50)`。 主要返回字段线索:`2 as result, '两次密码不一致!' as msg`、`return`、`end`、`if (@新密码1 = '') begin`、`select 2 as result, '新密码不能为空!' as msg`、`DECLARE @count int`、`SELECT @count = count(1)`。 关键过滤/匹配条件:`SELECT @count = count(1) FROM 登录基础数据_人员信息 WHERE [Personnel_Number] = @userId and password = @旧密码`;`update 登录基础数据_人员信息 set password = @新密码1 where [Personnel_Number] = @userId and password = @旧密码`。 关键写入/状态处理语句线索:`update 登录基础数据_人员信息 set password = @新密码1 where [Personnel_Number] = @userId and password = @旧密码`。 +- `WEB_报警查询_未读报警记录_查询` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。 +- `WEB_报警查询_未读报警记录_未读条数查询` 属于 设备与实时数据,前端以 type=11(当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。 + +## 72. src/views/layout/components/Sidebar/Item.vue + +**页面位置**:`src/views/layout/components/Sidebar/Item.vue` +**所属模块**:layout / components / Sidebar +**源码行数**:30 + +### 页面功能 + +该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +### 页面流程图 + +该页面未发现后端存储过程调用,通常不形成完整业务流程。 + +### 用户操作与页面线索 + +可见按钮/字段线索:无 + +主要方法线索:`render`、`if` + +### 字段映射表 + +未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。 + +### 技术路线 + +- Vue 2 Options API +- Element UI +- 未发现页面级后端存储过程调用 + +### 调用的存储过程总览 + +未发现 `CreateData(...)` 存储过程调用。 + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +无数据库调用链。 + +### 存储过程处理逻辑明细 + +无页面级存储过程调用。 + +## 73. src/views/layout/components/Sidebar/SidebarItem.vue + +**页面位置**:`src/views/layout/components/Sidebar/SidebarItem.vue` +**所属模块**:layout / components / Sidebar +**源码行数**:111 + +### 页面功能 + +该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +页面可见的操作/字段包括 “onlyOneChild.meta.title”、“item.meta.title”、“child.meta.title”,这些是判断页面业务范围的主要线索。 + +### 页面流程图 + +该页面未发现后端存储过程调用,通常不形成完整业务流程。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`onlyOneChild.meta.title`、`item.meta.title`、`child.meta.title` + +主要方法线索:`hasOneShowingChild`、`if` + +### 字段映射表 + +未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。 + +### 技术路线 + +- Vue 2 Options API +- Element UI +- 未发现页面级后端存储过程调用 + +### 调用的存储过程总览 + +未发现 `CreateData(...)` 存储过程调用。 + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +无数据库调用链。 + +### 存储过程处理逻辑明细 + +无页面级存储过程调用。 + +## 74. src/views/layout/components/Sidebar/index.vue + +**页面位置**:`src/views/layout/components/Sidebar/index.vue` +**所属模块**:layout / components / Sidebar +**源码行数**:84 + +### 页面功能 + +该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +### 页面流程图 + +该页面未发现后端存储过程调用,通常不形成完整业务流程。 + +### 用户操作与页面线索 + +可见按钮/字段线索:无 + +主要方法线索:`showLogo` + +### 字段映射表 + +未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。 + +### 技术路线 + +- Vue 2 Options API +- Element UI +- 未发现页面级后端存储过程调用 + +### 调用的存储过程总览 + +未发现 `CreateData(...)` 存储过程调用。 + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +无数据库调用链。 + +### 存储过程处理逻辑明细 + +无页面级存储过程调用。 + +## 75. src/views/layout/components/TagsView.vue + +**页面位置**:`src/views/layout/components/TagsView.vue` +**所属模块**:layout / components +**源码行数**:219 + +### 页面功能 + +该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +### 页面流程图 + +该页面未发现后端存储过程调用,通常不形成完整业务流程。 + +### 用户操作与页面线索 + +可见按钮/字段线索:无 + +主要方法线索:`generateRoute`、`if` + +### 字段映射表 + +未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。 + +### 技术路线 + +- Vue 2 Options API +- Element UI +- 未发现页面级后端存储过程调用 + +### 调用的存储过程总览 + +未发现 `CreateData(...)` 存储过程调用。 + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +无数据库调用链。 + +### 存储过程处理逻辑明细 + +无页面级存储过程调用。 + +## 76. src/views/layout/components/index.js + +**页面位置**:`src/views/layout/components/index.js` +**所属模块**:layout / components +**源码行数**:5 + +### 页面功能 + +该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +### 页面流程图 + +该页面未发现后端存储过程调用,通常不形成完整业务流程。 + +### 用户操作与页面线索 + +可见按钮/字段线索:无 + +主要方法线索:无 + +### 字段映射表 + +未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。 + +### 技术路线 + +- Vue 2 Options API +- Element UI +- 未发现页面级后端存储过程调用 + +### 调用的存储过程总览 + +未发现 `CreateData(...)` 存储过程调用。 + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +无数据库调用链。 + +### 存储过程处理逻辑明细 + +无页面级存储过程调用。 + +## 77. src/views/layout/mixin/ResizeHandler.js + +**页面位置**:`src/views/layout/mixin/ResizeHandler.js` +**所属模块**:layout / mixin +**源码行数**:53 + +### 页面功能 + +该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +### 页面流程图 + +该页面未发现后端存储过程调用,通常不形成完整业务流程。 + +### 用户操作与页面线索 + +可见按钮/字段线索:无 + +主要方法线索:`isMobile` + +### 字段映射表 + +未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。 + +### 技术路线 + +- Vue 2 Options API +- Element UI +- 未发现页面级后端存储过程调用 + +### 调用的存储过程总览 + +未发现 `CreateData(...)` 存储过程调用。 + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +无数据库调用链。 + +### 存储过程处理逻辑明细 + +无页面级存储过程调用。 + +## 78. src/views/login/index.vue + +**页面位置**:`src/views/login/index.vue` +**所属模块**:login / index.vue +**源码行数**:501 + +### 页面功能 + +该页面是登录入口,负责账号密码登录、角色选择、Token/Cookie 写入、路由权限初始化和密码修改入口。 + +页面可见的操作/字段包括 “修改密码”、“登录”、“取消”、“确定”、“角色名称”、“工号”、“原始密码”、“新密码”、“确认密码”、“请输入用户名”,这些是判断页面业务范围的主要线索。 + +### 页面流程图 + +该页面未发现后端存储过程调用,通常不形成完整业务流程。 + +### 用户操作与页面线索 + +可见按钮/字段线索:`修改密码`、`登录`、`取消`、`确定`、`角色名称`、`工号`、`原始密码`、`新密码`、`确认密码`、`请输入用户名`、`请输入密码`、`请选择登录角色` + +主要方法线索:`showPwd`、`if` + +### 字段映射表 + +| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 | +|---|---|---|---| +| 显示列 | `角色名称` | - | `角色名称` | +| 输入字段 | `loginForm.username` | - | - | +| 输入字段 | `loginForm.password` | - | - | +| 输入字段 | `loginForm.checked` | - | - | +| 输入字段 | `form.Account` | - | - | +| 输入字段 | `form.beforPassword` | - | - | +| 输入字段 | `form.newPassword` | - | - | +| 输入字段 | `form.againPassword` | - | - | + +### 技术路线 + +- Vue 2 Options API +- Element UI +- 未发现页面级后端存储过程调用 + +### 调用的存储过程总览 + +未发现 `CreateData(...)` 存储过程调用。 + +### 与 SAP 的交互 + +未发现页面直接调用 SAP B1 Service Layer;相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。 + +### SAP 接口级说明 + +页面无直接 SAP Service Layer 调用。 + +### 状态流转说明 + +未从当前 SQL 静态解析到明确的状态字段变更。 + +### 数据库调用链 + +无数据库调用链。 + +### 存储过程处理逻辑明细 + +无页面级存储过程调用。 + +## SQL 对象总览 + +脚本中解析到表/视图 76 个、存储过程 345 个。 + +### 表/视图清单 + +- 表:`MES_资源主数据` +- 视图:`View_基础数据_工位` +- 表:`生产管理_工时校验_校验工时表` +- 表:`物料基础数据_零件图纸` +- 表:`MES_接口_生产计划` +- 表:`MES_接口_生产计划_生产任务` +- 视图:`View_生产订单_MES` +- 表:`工位人员绑定表` +- 表:`登录基础数据_人员信息` +- 视图:`View_工位人员绑定数` +- 表:`YL_加工中心_操作记录表` +- 视图:`View_生产工时视图` +- 视图:`View_图纸视图` +- 表:`YL_质量检验_质检记录` +- 视图:`View_质量检验_质检记录_外协收检` +- 视图:`View_生产订单全部(包括已关闭)` +- 视图:`View_外协质检` +- 视图:`View_装配信息` +- 视图:`View_生产计划零件图纸视图` +- 表:`登录基础数据_角色信息` +- 表:`登录基础数据_人员权限角色` +- 表:`登录基础数据_二级菜单` +- 视图:`View_账号权限信息` +- 表:`车间生产管理工艺_零件工序_工艺库` +- 视图:`计划任务视图` +- 表:`基础表_工序` +- 视图:`View_标准工艺视图` +- 表:`车间生产管理工艺_零件生产工艺_工艺库` +- 视图:`View_生产工艺视图` +- 视图:`View_报工人员` +- 表:`班次表` +- 表:`班次人员绑定表` +- 视图:`View_设备工位人员` +- 表:`YL_质量检验_不合格品处理` +- 表:`YL_质量检验_不合格品处理_处理节点` +- 视图:`View_质量检验_不合格品处理` +- 视图:`View_校验后的生产工时` +- 表:`登录基础数据_部门` +- 视图:`登录基础数据_管理人员权限视图` +- 视图:`View_生产订单完工` +- 视图:`View_终检状态` +- 视图:`View_质检明细` +- 视图:`View_外协报表视图` +- 视图:`View_质量检验_质检记录` +- 视图:`v_CurrentProductionStatus` +- 视图:`View_生产订单Temp_ERP` +- 表:`_日志` +- 表:`Attachments` +- 表:`BOM数据` +- 表:`CaChe_Var` +- 表:`MES_接口_工艺路线主数据` +- 表:`YL_基础表_数据字典` +- 表:`YL_加工中心_报工记录` +- 表:`YL_设备管理_工时记录` +- 表:`YL_设备管理_设备台账` +- 表:`YL_设备管理_维修记录` +- 表:`YL_质量检验_检测标准` +- 表:`YL_质量检验_量具信息` +- 表:`YL_质量检验_质检记录_检测零件` +- 表:`YL_质量检验_质检记录_检测数据` +- 表:`报警_记录_历史` +- 表:`报警_记录_历史_缓存` +- 表:`基础数据_设备工位点检表` +- 表:`记录_日志_项目运行日志` +- 表:`历史_工位设备状态每分钟记录` +- 表:`历史_设备数据_定时` +- 表:`流程表` +- 表:`流程节点表` +- 表:`流程完成记录表` +- 表:`流程转办表` +- 表:`设备信息缓存表` +- 表:`审批记录表` +- 表:`物料基础数据_工艺图纸` +- 表:`物料基础数据_零件图纸删除记录` +- 表:`物料数据` +- 表:`质量检验_质检任务_SAP` + +## 同级项目数据看板补充分析 + +本节补充 `MES_Manage_View_V20` 同级目录下的大屏/看板项目。它们与主系统 `src/views` 的区别是:页面本身基本不做业务写入,主要通过统一接口 `CreateData('11', 存储过程名, [])` 或 `ExecDatabaseByParam('11', 存储过程名, 参数)` 调用 SQL Server 存储过程,把 MES、SAP 同步表、设备采集缓存和质检记录加工成 KPI、滚动表格和 ECharts/DataV 图表。因此它们虽然“不操作业务”,但会直接放大统计口径问题:主系统一旦新增字段、状态、报工类型或 SAP 同步逻辑,看板上的齐套率、未及时开工、加急、在制、质检未清、设备运行状态可能同步失真。 + +### 看板项目总体技术路线 + +| 项目 | 技术栈 | 入口页面 | 数据访问方式 | 主要刷新/展示方式 | +|---|---|---|---|---| +| `生产任务看板` | Vue 3 + Vite + Element Plus/DataV | `src/views/index.vue` | `CreateData('11', 生产任务综合看板_*)` | 固定 1920x1080 大屏,自适应缩放,定时钟,KPI + 表格 | +| `装配任务看板` | Vue 3 + Vite | `src/views/index.vue`、`ProductionTaskDashboard.vue` | `CreateData('11', 装配中心任务看板_*)`;另一个页面复用生产任务看板过程 | 多列表 2 秒循环滚动 | +| `质检任务看板` | Vue 3 + Vite + ECharts + DataV | `src/views/index.vue` | `CreateData('11', 质量任务看板_*)` | 未清/完成/趋势/明细大屏,标签轮播 | +| `机加设备生产运营看板` | Vue 3 + Vite + ECharts + DataV | `src/views/index.vue`、`machiningOperationTwo.vue` | `CreateData('11', 机加设备生产运营看板_*)`,部分复用 `质量任务看板_*` | 设备状态、计划执行率、在制/加急/不良滚动表 | +| `机加设备生产运营看板二` | Vue 3 + Vite | `src/views/index.vue` | 与 `machiningOperationTwo.vue` 基本同源 | 在制、加急、关键工序汇总 | +| `TableTV` | Vue 3 + Vite | `src/views/index.vue` | `ExecDatabaseByParam('11', '设备管理_设备状态_查询', [['设备名称','']])` | 工位任务卡片,每 5 秒刷新,自动滚动 | +| `board_view` | Vue 2 + Webpack + DataV + vue-seamless-scroll + ECharts | `src/views/left.vue` | `CreateData1('11', 看板_*)`、`ExecDatabase2`,访问 `MESCommonBase.ashx` | 综合项目大屏,30 秒级刷新,分区轮播 | +| `新建文件夹` | Vue 3 + Vite | `index.vue`、`ProductionTaskDashboard.vue`、`AssemblyCenterTaskDashboard.vue` | `index.vue` 调用 `Visualization_QcTask_*`;另两个多为静态/样例或旧版页面 | 试验版质检可视化,过程名在当前 SQL 未落库 | + +统一调用链如下: + +```mermaid +flowchart LR + A[看板 Vue 页面] --> B[CreateData / ExecDatabaseByParam] + B --> C[MESCommonBase.ashx type=11] + C --> D[SQL Server 存储过程] + D --> E[MES 表/视图] + D --> F[SAP.SBO_YL 跨库表或 SAP 同步表] + D --> G[设备采集缓存 CaChe_Var] + D --> H[质量/工时/操作记录] + E --> I[response.data] + F --> I + G --> I + H --> I + I --> J[KPI、滚动表格、图表] +``` + +### 1. `生产任务看板/src/views/index.vue`:生产任务综合看板 + +**页面功能**:这是管理层生产任务总览大屏,首屏展示“按期齐套率、待排产任务、待处理销售订单、工艺 BOM 待完成、采购未及时到货、机加未及时开工、质检及时率、未及时入库、加急件”等 KPI,并在下方展示“未按期齐套任务”和“加急件明细”。页面本身没有新增、修改、审核等业务写入动作,只把多个业务链条汇总成一张风险看板:齐套风险、排产风险、工艺准备风险、开工风险和加急风险。 + +**调用存储过程与处理逻辑**: + +| 页面区域 | 存储过程 | 过程处理了什么 | 主要表/视图 | +|---|---|---|---| +| 按期齐套率 | `生产任务综合看板_按期齐套率` | 统计近一个月、计划开始早于当前 3 天、`自制件属性 like '%装配%'` 的任务,按 `齐套` 计算总任务数、齐套任务数、未齐套任务数、齐套率,并按 `发料状态` 细分发料齐套、发料缺件、未发料。 | `View_生产订单_MES` | +| 待排产/无工艺 | `生产任务综合看板_未排产无工艺查询` | 用三个子查询返回未排产任务数、装配未排产数、无生产工艺计划数。页面再用“未排产任务数 - 装配未排产数”推导机加待排产。 | `View_生产订单_MES`、`MES_接口_生产计划` | +| 加急件明细 | `生产任务综合看板_加急任务查询` | 从 SAP 加急物料跨库表读取加急数量大于 0 的非装配属性数据,再左连 MES 生产计划补下达日期、计划开始、计划完成、计划数量,并用 `COUNT(*) OVER()` 返回加急订单总数。 | `SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`、`MES_接口_生产计划` | +| 机加未及时开工 | `生产任务综合看板_未及时开工查询` | 查询已排产、非装配/非外协/非走手续等任务,要求 `开工时间 IS NULL`、`加工状态 = 0`、计划开始早于当天,并通过质检记录反查合格数,最终只保留 `合格数 = 0` 的未及时开工任务。 | `View_生产订单_MES`、`YL_质量检验_质检记录`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息` | +| 未按期齐套任务 | `生产任务综合看板_未按期齐套任务` | 返回计划开始已过、近一个月同步、`齐套=0`、装配属性任务的完整任务行,用于下方表格展示。 | `View_生产订单_MES` | + +**字段映射**: + +| 前端显示 | 前端字段 | 存储过程返回字段 | 数据库来源/含义 | +|---|---|---|---| +| 按期齐套率 | `complete.completeset` | `齐套率` | `View_生产订单_MES.齐套` 汇总计算 | +| 未齐套数 | `complete.untasknum` | `未齐套任务数` | `齐套=0` 的装配属性任务数 | +| 应齐套数 | `complete.tasknum` | `总任务数` | 符合时间和装配属性条件的任务数 | +| 待排产总数 | `noProcessStats.total` | `未排产任务数` | `排产状态=0` 的生产订单 | +| 机加待排产 | `noProcessStats.machining` | 前端计算 | `未排产任务数 - 装配未排产数` | +| 装配待排产 | `noProcessStats.assembly` | `装配未排产数` | 未排产且自制件属性包含装配 | +| 工艺 BOM 待完成 | `topStats[1].value` | `无生产工艺计划数` | `MES_接口_生产计划.生产工艺=0` | +| 加急件数 | `Urgentnum` | `加急订单总数` | SAP 加急物料表中过滤后的总行数 | +| 加急件明细 | `urgentRows` | `合同号、订单编号、物料描述、物料编号、自制件属性、计划数量、下达日期、计划开始、计划完成` | SAP 加急表 + MES 计划 | +| 未按期齐套表 | `kitRows` | `订单编号、物料描述、物料编号、计划数量、计划开始时间、计划完成时间、合同号、拣配状态、发料状态` | `View_生产订单_MES` | + +**SAP 交互**:页面没有直接调用 B1 Service Layer;SAP 依赖体现在 SQL 过程 `生产任务综合看板_加急任务查询` 读取 `SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。这意味着加急件数取决于 SAP 加急物料表是否同步及时,且页面把 SAP 加急记录与 MES 计划的连接键默认放在 `docentry/订单编号` 上。 + +**状态/口径影响**: + +- `齐套`、`发料状态`、`拣配状态` 是看板核心口径,若主系统新增“部分齐套、手续确认、SAP 发料失败、缺件预计到货”等中间状态,当前页面只能显示二元结果,容易把中间状态误判为未齐套或未发料。 +- `未及时开工` 用 `开工时间 IS NULL + 加工状态=0 + 计划开始<今天 + 合格数=0` 判断。新增设计/编程前置、二次派工、异常暂停后,如果不扩展排除条件,会把“不能开工”也统计为“未及时开工”。 +- 页面里“采购未及时到货、质检及时率、未及时入库”仍是静态或未接入真实过程的显示项,后续若作为管理指标使用,必须补存储过程和来源字段,否则大屏会出现半真半假的 KPI。 + +### 2. `装配任务看板/src/views/index.vue`:装配中心任务看板 + +**页面功能**:围绕装配中心的当天/近期执行情况,展示及时送检数、加急任务数、装配合格率、异常未关闭消息数、缺勤人员,以及四类滚动明细:发货状态列表、装配任务列表、在制任务缺件明细、已完工作务。页面通过 2 秒循环滚动让班组现场持续看到装配交付、缺件、质量和异常风险。 + +**调用存储过程与处理逻辑**: + +| 页面区域 | 存储过程 | 过程处理了什么 | 主要表/视图 | +|---|---|---|---| +| 异常未关闭 | `装配中心任务看板_异常未关闭总数` | 当前实现统计 `流程表` 中 `完成人 is null` 的流程数量,作为未关闭异常数;注释中曾尝试统计装配开始加工未结束记录。 | `流程表` | +| 发货状态列表 | `装配中心任务看板_发货状态查询` | 查询装配属性、`发货状态=1`、任务状态未完成的生产订单,左连操作记录取操作人,左连 SAP 发货/交货中间表取交货数量,按要求发货日期排序。 | `View_生产订单_MES`、`YL_加工中心_操作记录表`、`SAP.SBO_YL.dbo.UBT_ODRF_ODLNMES` | +| 在制任务缺件 | `装配中心任务看板_在制品缺件查询` | 从 SAP 加急/缺件物料表读取非装配属性缺件,再连 MES 生产计划,筛选 MES 自制件属性为装配的主计划,用于展示装配在制缺件。 | `SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`、`MES_接口_生产计划` | +| 加急任务数 | `装配中心任务看板_加急任务总数查询` | 统计已排产、指派对象包含装配、任务状态为待执行/可执行/已开工的任务中 `加急总数>0` 的数量。 | `View_生产订单_MES` | +| 装配任务列表 | `装配中心任务看板_装配任务查询` | 查询已排产、装配指派对象、未完成任务,返回订单、合同、物料、工序、分配数、完成数量、齐套、发料、拣配、任务状态、加工状态等字段。 | `View_生产订单_MES` | +| 装配合格率 | `装配中心任务看板_装配合格率` | 统计近 3 天 `工序名称='装配'` 的质检记录,按合格数/检验数量计算总合格率。 | `View_质量检验_质检记录` | +| 已完成任务 | `装配中心任务看板_已完成任务` | 查询近 3 天装配工序质检记录,按单条记录计算单项合格率,用于完成列表。 | `View_质量检验_质检记录` | + +**字段映射**: + +| 前端显示 | 前端字段 | 存储过程返回字段 | 数据库来源/含义 | +|---|---|---|---| +| 加急任务数 | `summaryCards[1].value` | `加急总数` | 装配任务中加急总数大于 0 的任务数 | +| 装配合格率 | `summaryCards[2].value` | `总合格率` | 近 3 天装配质检合格数 / 检验数量 | +| 异常未关闭 | `summaryCards[3].value` | `装配异常未关闭总数` | `流程表.完成人 is null` | +| 发货状态 | `deliveryRows` | `订单编号、合同号、物料描述、物料编号、齐套、发料状态、操作人、交货数量、要求发货日期、任务状态` | MES 任务 + SAP 发货中间表 | +| 装配任务 | `taskRows` | `订单号、合同号、零件名称、零件编码、工序名称、齐套、发料状态、加急总数、分配数、完成数量、指派对象` | `View_生产订单_MES` | +| 在制缺件 | `materialRows` | `DocEntry、U_Name、ItemCode、加急数量` | SAP 加急/缺件物料表和 MES 计划 | +| 已完工作务 | `doneRows` | `计划号、零件名称、零件编码、单项合格率` | 装配质检记录 | + +**SAP 交互**:前端不直接调 SAP;SQL 层直接读取两个 SAP 库对象:`SAP.SBO_YL.dbo.UBT_ODRF_ODLNMES` 提供发货/交货数量,`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` 提供缺件/加急物料。装配看板因此同时依赖 MES 任务状态和 SAP 缺件/发货同步状态。 + +**状态/口径影响**: + +- 发货状态只筛 `发货状态=1` 且任务状态未完成,如果 SAP 发货通知、MES 发货状态、仓库出库状态不是同一个语义,页面标题“发货状态列表”会混合多个阶段。 +- `装配异常未关闭总数` 当前直接统计所有 `流程表` 未完成人记录,没有限定装配任务;如果流程表中包含机加、质检、外协异常,大屏会高估装配异常。 +- 缺件逻辑把 SAP 缺件子项与 MES 装配主计划关联,若新增主子订单关系、替代料、部分到货、预计齐套时间,需要扩展过程返回字段,否则只能看到“缺件”,看不到是否可恢复生产。 + +### 3. `质检任务看板/src/views/index.vue`:质检任务看板 + +**页面功能**:质检大屏聚合未清任务、加急任务、未清任务分类、未清明细、质检及时率、近七日趋势、关键工序检验任务、当天已完成任务汇总和明细。页面使用 DataV 滚动表格和 ECharts 图表,未清明细支持按“全部、采购入库检、序检收检、原料退库检、销售退货检、终检、其他入库检”自动切换。 + +**调用存储过程与处理逻辑**: + +| 页面区域 | 存储过程 | 过程处理了什么 | 主要表/视图 | +|---|---|---|---| +| 未清任务数/加急数/分类 | `质量任务看板_未完成统计` | 建临时表分 6 类插入未完成统计:工序收检、其他入库、原材料退库、销售退货、采购入库、终检;最后追加 `【汇总】` 行。 | `YL_质量检验_质检记录`、`YL_加工中心_操作记录表`、`质量检验_质检任务_SAP`、`MES_接口_生产计划_生产任务`、`View_生产订单_MES` | +| 未清任务明细 | `质量任务看板_未完成明细查询` | 与统计过程同源,但返回逐条明细:任务类型、订单号、物料、工序、已检/合格/不合格、加急、最近检测说明,并按加急优先排序。 | 同上 | +| 当天完成汇总 | `质量任务看板_当天已完成汇总` | 按当天检测时间统计质检记录中的任务数、合格数、不合格数。 | `View_质量检验_质检记录` | +| 当天完成明细 | `质量任务看板_当天已完成明细` | 按检测类型编号和订单类型归类为采购入库检、序检收检、终检、其他入库检、原料退库检、销售退货检等,按 TaskAID 聚合检验数量、合格数、不合格数,并关联 `View_生产订单_MES` 判断加急。 | `View_质量检验_质检记录`、`View_生产订单_MES` | + +**存储过程具体处理重点**: + +- 工序收检未完成:用 `YL_加工中心_操作记录表` 中报工/辅助结束数量作为应检数量,用 `YL_质量检验_质检记录` 的检测类型 6 已检数量作为已检数量,`已检 < 完成数量` 即为未完成。 +- 入库/退库/退货类未完成:从 `质量检验_质检任务_SAP` 读取 SAP 同步来的质检任务,按订单类型区分 `20` 采购入库、`59` 其他入库、`202-60` 原材料退库、`234000031` 销售退货,并比较已合格+不合格数量与到货数/入库数量。 +- 终检未完成:找每个订单最大订单行号作为最后工序,再用操作记录与检测类型 6/8 的检验数量判断是否终检不足。 +- 加急判断:工序类从 `View_生产订单_MES.加急状态` 判断,SAP 质检任务类从 `质量检验_质检任务_SAP.加急状态` 判断。 + +**字段映射**: + +| 前端显示 | 前端字段 | 返回字段 | 含义 | +|---|---|---|---| +| 未清任务数 | `summary.pendingCount` | `【汇总】.未完成数量` | 六类未完成质检任务合计 | +| 加急任务数 | `summary.urgentCount` | `【汇总】.加急数量` | 六类未完成任务中的加急数 | +| 分类卡片 | `categoryStats` | `质检类型、未完成数量、加急数量` | 过程分类名映射到页面六类标签 | +| 未清明细 | `pendingRows` | `taskType、orderNo、materialName、materialCode、processName、inspectQty、passQty、failQty、urgentQty、inspectRemark、status` | 质检待办明细 | +| 当天完成 | `todayDoneSummary` | `totalCount、passCount、failCount` | 当天质检完成量 | +| 当天完成明细 | `todayDoneRows` | `taskType、orderNo、materialName、materialCode、processName、inspectQty、passQty、failQty、urgentQty` | 当天已检任务列表 | + +**SAP 交互**:前端无直接 SAP 调用;质检看板强依赖 `质量检验_质检任务_SAP`,该表是 SAP 入库、退库、销售退货等质检任务同步到 MES 的落地表。当天完成过程主要读 MES 质检记录,未完成过程同时读 SAP 同步任务和 MES 报工记录。 + +**状态/口径影响**: + +- “未清”不是单表状态,而是跨 `操作记录表`、`质检任务_SAP`、`质检记录` 计算出来的结果;新增质检类型、复检、返工、让步接收、批量检验时,必须同步扩展统计和明细过程。 +- 页面显示了“质检及时率”和趋势图,但当前正式过程只覆盖未完成与当天完成。若要成为真实指标,需要补“应检时间、送检时间、完成检验时间、超期规则、责任部门”的过程。 +- 检测说明字段通过最近一条质检记录取值,只能解释“已有检测记录”的任务;完全未检任务的原因需要另建待检原因或送检说明字段。 + +### 4. `机加设备生产运营看板/src/views/index.vue`:机加设备生产运营看板(一) + +**页面功能**:面向机加工段,展示设备总数、运行/待机/报警/关机数量、在制任务数、未及时开工、当天完成、合格率、不良品、计划执行率,并展示未及时开工、当天完成、不良品等滚动明细和 ECharts 图表。 + +**调用存储过程与处理逻辑**: + +| 页面区域 | 存储过程 | 过程处理了什么 | 主要表/视图 | +|---|---|---|---| +| 设备任务数 | `机加设备生产运营看板_设备任务查询` | 对 `View_生产订单_MES` 中加工状态为辅助开始/开始加工的任务去重后计数,排除外协和装配指派对象。 | `View_生产订单_MES`、`View_设备工位人员` | +| 设备运行状态 | `机加设备生产运营看板_设备运行状态查询` | 从 `CaChe_Var` 读取 `TagName='设备状态'`,把 -1/0/1/2 转成关机/待机/运行/报警,再汇总各状态数量。 | `CaChe_Var` | +| 未及时开工 | `机加设备生产运营看板_未及时开工查询` | 查询已排产、非装配/非外协、未开工、计划开始已过的机加任务,返回任务明细并用窗口函数返回总记录数。 | `View_生产订单_MES`、`YL_质量检验_质检记录`、`MES_接口_生产计划_生产任务` | +| 当天完成汇总 | `质量任务看板_当天已完成汇总` | 复用质检完成汇总,页面据此计算 `passCount/(passCount+failCount)` 作为合格率。 | `View_质量检验_质检记录` | +| 当天完成明细 | `机加设备生产运营看板_当天已完成明细` | 只统计当天检测类型 6/8,即序检收检和终检,返回任务类型、订单、物料、工序、检验数、合格数、不合格数、加急数。 | `View_质量检验_质检记录`、`View_生产订单_MES` | +| 不良品查询 | `机加设备生产运营看板_不良品查询` | 查询昨天的收检/终检质检记录中 `不合格数 > 0` 的记录,并返回总记录数。 | `View_质量检验_质检记录` | +| 计划执行率 | `机加设备生产运营看板_计划执行率` | 当月计划开始且已到计划开始时间的机加任务,按 `开工时间 <= 计划开始时间 + 1天` 计算按期开始率,排除装配、外协、走手续、打磨、钻床等非目标工位。 | `View_生产订单_MES` | + +**SAP 交互**:页面不直接调用 SAP;当前过程主要读 MES 视图和设备采集缓存,没有直接访问 SAP 表。SAP 对它的影响通过 `View_生产订单_MES` 中的计划、任务、加急、齐套等同步字段间接体现。 + +**状态/口径影响**: + +- 设备状态来自 `CaChe_Var` 最新缓存,任务状态来自 `View_生产订单_MES`,两者时间粒度不同。设备显示“运行”但任务未开工、或任务已开工但设备缓存待机,都会造成 OEE 和现场状态不一致。 +- `当天完成` 实际复用质检记录,不等于生产报工完成。若管理层理解为“机加当天完成任务”,需要改成报工/任务完成口径,或者明确是“当天质检完成”。 +- 不良品查询用“昨天”而不是当天,且只看收检/终检,若页面标题没有说明,会与当天完成合格率产生时间口径冲突。 + +### 5. `机加设备生产运营看板/src/views/machiningOperationTwo.vue` 与 `机加设备生产运营看板二/src/views/index.vue` + +**页面功能**:这是机加二屏,重点不是设备状态,而是任务池:在制任务汇总、加急任务汇总、关键工序任务、已开工/在制明细、缺勤人员等。两个项目中的页面结构和调用过程基本一致。 + +**调用存储过程与处理逻辑**: + +| 页面区域 | 存储过程 | 过程处理了什么 | 主要表/视图 | +|---|---|---|---| +| 加急任务汇总/明细 | `机加设备生产运营看板_加急任务查询` | 读取 `View_生产订单_MES` 中 `加急数量 > 0` 且非装配指派对象的数据,返回订单、合同、物料、计划数量、工序、指派对象、加急数量,并用窗口函数返回加急订单总数。 | `View_生产订单_MES` | +| 已开工/当前进行 | `机加设备生产运营看板_机加在制查询` | 查询加工状态为辅助开始或开始加工的任务,按指派对象和开工时间排序去重,排除外协、装配,返回当前各工位正在处理的任务。 | `View_生产订单_MES` | +| 在制任务池 | `机加设备生产运营看板_机加在制查询2` | 查询已排产、未完成、非装配/非外协/非打磨/非走手续的任务,临时表落地后返回总记录数、计划开始早于今天/今天及之后的数量,并计算上序合格数。 | `View_生产订单_MES`、`YL_质量检验_质检记录`、`MES_接口_生产计划_生产任务` | + +**字段映射**: + +| 前端显示 | 返回字段 | 说明 | +|---|---|---| +| 在制任务汇总 | `总记录数、计划开始_今天之前_数量、计划开始_今天及之后_数量` | 页面拆成总在制、超期/当前计划两个子指标 | +| 加急任务汇总 | `加急订单总数` | 首页卡片和加急明细共用 | +| 在制/关键工序明细 | `订单号、合同号、零件名称、零件编码、分配数、工序名称、指派对象、完成数量、上序合格数、加急` | 用于滚动任务表和进度百分比 | + +**状态/口径影响**: + +- `机加在制查询` 用加工状态 2/4 代表“正在执行”,`机加在制查询2` 用排产状态和任务状态代表“任务池”。这两个“在制”不是一个口径,文档和页面标题必须区分“当前执行在制”和“已排产未完成在制”。 +- 上序合格数来自检测类型 6 的质检记录。如果新增返修、让步接收或免检,关键工序是否可开工不能只看上序合格数。 + +### 6. `TableTV/src/views/index.vue`:工位生产监控看板 + +**页面功能**:这是更接近车间电视屏的工位任务卡片页面。它每 5 秒调用一次 `设备管理_设备状态_查询`,把返回的任务按卡片显示,顶部统计总任务数、加急数、完成数量、不合格数量。卡片字段包括任务/工位、物料、工序、加工状态/任务状态、计划/完成/不合格、人员等。 + +**调用存储过程**:`设备管理_设备状态_查询 @设备名称=''`。 + +**存储过程处理逻辑**: + +- 根据当前时间判断白班/夜班,用 `View_设备工位人员` 拼接当前班次人员名称。 +- 从 `View_生产订单_MES` 查询加工状态为辅助开始/开始加工的任务。 +- 计算上序合格数、收检合格数、收检不合格数。 +- 按指派对象、开工时间、订单/工序去重,返回任务状态、加工状态、首检、序检、人员名称等字段。 + +**涉及对象**:`View_生产订单_MES`、`View_设备工位人员`、`YL_质量检验_质检记录`、`MES_接口_生产计划_生产任务`。 + +**SAP 交互**:无直接 SAP 调用;显示的订单、计划、加急、齐套信息来自 MES 视图,受 SAP 同步结果间接影响。 + +**状态/口径影响**: + +- 该页面按当前班次显示人员,班次切换阈值在存储过程中写死为白班 7.5、夜班 16.5。若主系统班次管理修改了班次时间,但此过程不改,大屏人员归属会错。 +- 5 秒刷新会放大数据库压力;若 `设备管理_设备状态_查询` 继续执行复杂子查询和 XML 拼接,需要索引或缓存层支持。 + +### 7. `board_view/src/views/left.vue`:综合项目数据看板 + +**页面功能**:这是综合项目/生产经营大屏。页面分为左侧订单/装配/未完成,中央合同/订单主体和订单明细,右侧设备/质量/环境/水电气等监控区域,并包含计划执行曲线、质量饼图、设备问题柱状图和实时 OEE 区域。页面使用 `vue-seamless-scroll`、DataV 边框、ECharts,定时刷新并支持中间主体订单点击钻取明细。 + +**调用存储过程与处理逻辑**: + +| 页面区域 | 存储过程 | 过程处理了什么 | 主要表/视图 | +|---|---|---|---| +| 顶部/主页关键指标 | `看板_主页六个关键数据_查询` | 计算当月当前计划、当前产量、计划完成率、工时消耗、齐套率、合格率,同时返回环境/水/电/气的占位数据。 | `View_生产订单_MES`、`View_生产工时视图` | +| 左上订单看板 | `看板_左上订单看板_表格_查询` | 按订单聚合合同号、最大计划完成、工艺部进度、装配部进度,并取最后工序完成率作为生产部进度;采购部当前为 0。 | `View_生产订单_MES` | +| 左中装配看板 | `看板_左中装配看板_表格_查询` | 查询机械/电气装配订单,展示内部合同号、产品名称、要求发货时间、出库状态。 | `View_生产订单_MES` | +| 左下未完成 | `看板_左下未完成看板_表格_查询` | 查询未完工任务,左连工时视图求已完工工时,左连工艺视图取标准工时,计算未完工工时。 | `View_生产订单_MES`、`View_生产工时视图`、`View_生产工艺视图` | +| 计划执行曲线 | `看板_左上计划执行情况_曲线_查询` | 近 10 天按计划完成日期统计工艺、采购、生产、装配进度。采购部当前仍为 0。 | `View_生产订单_MES` | +| 中间主体订单 | `看板_中间主体订单_表格_查询` | 按订单聚合工艺/采购/生产/装配进度,供中央列表和点击钻取使用。 | `View_生产订单_MES` | +| 中间主体订单详情 | `看板_中间主体订单详情_表格_查询 @合同号` | 按合同号返回物料描述、编码、属性、额定数量、总需求等字段,库存/待出/可用等字段当前为 0。 | `View_生产订单_MES` | +| 设备状态列表 | `设备管理_设备状态_查询` | 与 `TableTV` 同源,返回当前加工任务和设备/人员/质检状态。 | `View_生产订单_MES` 等 | +| 设备采集变量 | `Event_CaChe_Var_看板查询` | 读取设备采集缓存变量,前端把操作模式、设备状态数值翻译成中文。 | `CaChe_Var` | +| 质量表/饼图 | `看板_右下质量看板_表格_查询`、`看板_右下质量看板_饼图_查询` | 当前 SQL 中表格返回空结果集、饼图返回“无/0”,属于占位实现。 | 占位 | +| 实时 OEE | `看板_中间实时OEE数据展示_查询` | 当前 SQL 插入临时表返回两台加工中心的固定 OEE、时间利用率、性能利用率、合格率、设备状态、进度,属于样例/占位数据。 | 临时表常量 | + +**SAP 交互**:`board_view` 的正式过程主要读 MES 视图,没有直接 B1 API;但 `View_生产订单_MES` 很可能承载 SAP 生产订单同步数据。看板右侧合同、库存、采购、质量等区域当前有多个占位字段,说明它并未完整打通 SAP 库存、采购、发货、质量问题链路。 + +**状态/口径影响**: + +- 综合大屏把工艺、采购、生产、装配进度放在同一张合同进度表,但 SQL 中采购进度多处为 0,占位字段很多。新增采购到货、发货通知、及时齐套需求后,这里必须接入真实采购和库存口径。 +- 中间订单详情库存/在购/占用等字段当前全为 0,若客户把它作为“项目齐套/可用库存”看板,必须补 SAP 库存和采购在途数据。 +- OEE 当前是固定样例,不应作为真实设备绩效依据;若要上线,需要统一设备运行时长、程序时长、报工数量、合格率的计算口径。 + +### 8. `新建文件夹`:试验版/副本看板 + +**页面功能与状态**: + +- `src/views/index.vue` 是新版质检可视化试验页,页面能力比 `质检任务看板` 更完整,包含未清、加急、分类、及时率汇总、及时率趋势、关键工序汇总/明细、当天完成汇总/明细。 +- 它调用的过程是 `Visualization_QcTask_PendingSummary_Query`、`Visualization_QcTask_UrgentSummary_Query`、`Visualization_QcTask_CategorySummary_Query`、`Visualization_QcTask_PendingDetail_Query`、`Visualization_QcTask_RateSummary_Query`、`Visualization_QcTask_RateTrend_Query`、`Visualization_QcTask_KeyProcessSummary_Query`、`Visualization_QcTask_KeyProcessDetail_Query`、`Visualization_QcTask_TodayDoneSummary_Query`、`Visualization_QcTask_TodayDoneDetail_Query`。 +- 当前 `MES_Manage_View_V20/script.sql` 和 `board_view/sql/存储过程.sql` 未发现这些 `Visualization_QcTask_*` 过程定义,因此这套页面要么是试验版接口命名,要么依赖未纳入脚本的数据库对象。不能把它当作已完整落库的正式看板。 +- `ProductionTaskDashboard.vue` 和 `AssemblyCenterTaskDashboard.vue` 分别是生产任务、装配中心看板的静态/样例或旧版页面,当前未看到正式 `CreateData` 调用链,不应作为已接入数据库的正式页面判断。 + +**隐含价值**:虽然未落库,但这套试验页暴露了客户后续可能要的质检能力:及时率汇总、趋势、关键工序质量、未清任务钻取、当天完成明细。这些能力与正式 `质量任务看板_*` 过程高度相关,后续可考虑把正式过程扩展为统一质检看板服务,而不是并行维护两套命名。 + +### 看板与主系统页面的依赖关系 + +| 看板指标 | 依赖主系统动作 | 如果主系统新增/修改会影响什么 | +|---|---|---| +| 齐套率、未齐套任务 | 排产、拣配、发料、SAP 缺件同步 | 新增部分齐套、手续确认、预计齐套日期后,生产任务看板和 board_view 必须改过程 | +| 未及时开工 | 计划开始、开工时间、加工状态、上序合格数 | 新增设计/编程前置、异常暂停、二次派工后,需要避免误判 | +| 加急任务 | SAP 加急表、MES 加急状态/加急数量 | 加急从订单级改到工序/物料级后,所有加急总数和明细都要重算 | +| 装配发货/缺件 | SAP 发货/缺件中间表、MES 装配计划 | 发货通知、仓库出库、交货数量、缺件替代料需要统一解释 | +| 质检未清 | 报工完成、SAP 质检任务、质检记录 | 新增复检、返工、免检、让步接收后,未清统计和明细都要扩展 | +| 设备运行 | `CaChe_Var`、历史设备状态、加工任务 | 若引入真实 OEE,必须同步设备采集、报工、质检合格率 | +| 工时消耗/未完工工时 | 报工记录、生产工艺标准工时 | 设计/编程/装配/质检工时纳入后,board_view 工时口径必须重构 | + +### 同级看板的数据库调用链汇总 + +```mermaid +flowchart TD + A1[生产任务看板] --> P1[生产任务综合看板_*] + A2[装配中心看板] --> P2[装配中心任务看板_*] + A3[质检任务看板] --> P3[质量任务看板_*] + A4[机加运营看板一/二] --> P4[机加设备生产运营看板_*] + A5[TableTV] --> P5[设备管理_设备状态_查询] + A6[board_view 综合大屏] --> P6[看板_* / Event_CaChe_Var_看板查询] + + P1 --> V1[View_生产订单_MES] + P1 --> S1[SAP 加急物料表] + P2 --> V1 + P2 --> S2[SAP 发货/缺件表] + P3 --> Q1[质量检验_质检任务_SAP] + P3 --> Q2[YL_质量检验_质检记录] + P3 --> O1[YL_加工中心_操作记录表] + P4 --> V1 + P4 --> C1[CaChe_Var] + P4 --> Q2 + P5 --> V1 + P5 --> R1[View_设备工位人员] + P6 --> V1 + P6 --> H1[View_生产工时视图] + P6 --> C1 +``` + +### 设备数据采集与大屏新增需求补充 + +本次新增讨论的需求把“设备采集、设备档案、OEE、工时异常、条码拣配、质检/机加/装配现场大屏”纳入同一条业务链。结合现有页面和存储过程,落点如下。 + +#### 1. 设备档案管理:标准工时、主要设备 + +**涉及页面**: + +- `DeviceManagement/DeviceInformation/index.vue`:设备信息维护。 +- `SystemMaintenance/WorkstationManagement/index.vue`:工位和 SAP Resource 维护。 +- `ProductionManagement/PersonnelBinding/index.vue`、`ShiftManagement/index.vue`:人员、班次、工位绑定。 +- 工艺维护类页面:生产工艺/标准工艺中已有 `标准工时`、`准备工时`、`工时合计` 等字段线索。 + +**现有数据基础**: + +- 设备相关过程:`设备管理_设备信息_查询`、`设备管理_设备信息_增加`、`设备管理_设备信息_编辑`、`设备管理_设备状态_查询`、`设备管理_设备数据查询`、`设备管理_设备数据_历史查询`、`设备管理_设备数据_统计数据查询`。 +- 现有表/视图:`基础数据_设备工位点检表`、`View_设备工位人员`、`CaChe_Var`、`历史_设备数据_定时`、`历史_工位设备状态每分钟记录`、`YL_设备管理_工时记录`。 +- 工艺标准工时来源:`车间生产管理工艺_零件生产工艺_工艺库`、`车间生产管理工艺_零件工序_工艺库`、`View_生产工艺视图`。 + +**新增需求分析**: + +设备档案不能只新增一个“标准工时”字段就结束,因为标准工时至少有三种含义: + +| 标准工时类型 | 建议来源 | 用途 | +|---|---|---| +| 工艺标准单件工时 | 生产工艺/标准工艺 | 性能开动率、工时异常 | +| 设备可用标准工时 | 设备档案或班次日历 | 设备利用率 | +| 任务计划标准工时 | 生产任务快照 | 计划执行、未完工工时 | + +因此设备档案应重点维护“是否主要设备、是否参与 OEE、设备/工位关系、采集点位、设备能力参数”,标准单件工时优先从工艺或设备+工序能力表取。否则同一设备加工不同零件时,单台设备 OEE 会被固定标准工时误导。 + +#### 2. 设备数据采集:程序工时、单件工时、设备状态 + +**涉及页面/看板**: + +- `TableTV/src/views/index.vue`:当前每 5 秒调用 `设备管理_设备状态_查询` 展示工位任务。 +- `机加设备生产运营看板/src/views/index.vue`:调用 `机加设备生产运营看板_设备运行状态查询` 读取 `CaChe_Var` 当前设备状态。 +- `board_view/src/views/left.vue`:调用 `Event_CaChe_Var_看板查询` 展示设备采集变量。 +- 主系统设备数据页面:`设备管理_设备数据查询`、`设备管理_设备数据_历史查询`、`设备管理_设备数据_统计数据查询`。 + +**当前处理方式**: + +- `机加设备生产运营看板_设备运行状态查询` 只从 `CaChe_Var` 读取当前 `TagName='设备状态'` 并汇总关机/待机/运行/报警数量。 +- `设备管理_设备数据查询` 会把 `操作模式` 和 `设备状态` 的数值翻译成中文。 +- `设备管理_设备数据_统计数据查询` 已经从 `历史_工位设备状态每分钟记录` 统计停机、关机、报警时长,并从 `YL_设备管理_工时记录` 汇总程序时长。 + +**新增需求需要补的处理链**: + +```mermaid +flowchart LR + A[设备采集原始点位] --> B[采集原始表] + B --> C[当前缓存 CaChe_Var] + B --> D[设备状态历史] + B --> E[程序/循环时间历史] + D --> F[设备状态时长汇总] + E --> G[程序工时/单件工时] + F --> H[设备利用率/OEE] + G --> I[性能开动率/工时异常] +``` + +**必须新增或明确的字段**: + +- 设备编号/工位号 +- 采集时间 +- 设备状态 +- 操作模式 +- 程序号 +- 循环时间 +- 程序开始/结束时间 +- 当前任务或条码 +- 采集质量标识 + +如果没有“设备采集数据与 MES 任务的绑定字段”,程序工时只能按设备和时间段估算,不能准确回写到订单、工序和人员。 + +#### 3. OEE 与设备指标:公式和数据来源 + +**需求公式**: + +| 指标 | 公式 | 需要的数据 | +|---|---|---| +| 产能利用率(单台) | 实际产量 / 计划产量 * 100% | 设备维度计划产量、实际产量 | +| 设备利用率(单台) | 设备工时 / 标准工时 | 设备运行工时、设备/班次标准工时 | +| 设备性能开动率(单台) | 标准单件工时 / 实际单件工时 | 工艺标准单件工时、设备采集单件工时 | +| 产品合格率(工位) | 良品数 / 总产量 | 质检合格数或报工良品数、总产量 | +| OEE | 设备利用率 * 开动率 * 合格率 | 上述三项同口径结果 | + +**当前页面差距**: + +- `board_view` 的 `看板_中间实时OEE数据展示_查询` 当前返回固定样例数据,不是实际 OEE。 +- `机加设备生产运营看板` 当前有设备状态、计划执行率、不良品、当天完成,但没有完整的设备利用率、性能开动率、产品合格率三段计算链。 +- `TableTV` 当前以任务卡片为主,没有展示单件工时/OEE。 + +**建议新增数据库层**: + +| 建议对象 | 作用 | +|---|---| +| `设备采集_原始数据表` | 保存设备原始采集值,避免丢失追溯 | +| `设备状态_分钟汇总表` | 按设备、时间段统计运行/待机/报警/关机时长 | +| `设备程序工时_明细表` | 保存程序号、循环时间、设备、任务绑定 | +| `View_设备OEE_班次指标` | 按设备、日期、班次输出产能利用率、设备利用率、开动率、合格率、OEE | +| `View_设备单件工时异常` | 输出实际单件工时大于标准工时的异常明细 | + +#### 4. 工时异常报表:单件工时大于标准工时 + +**涉及页面**: + +- `ProductionManagement/Timesheet`、工时统计类页面。 +- `ProductionManagement/WorkHoursCheck`:工时校验。 +- 后续新增“工时异常报表”页面。 + +**现有过程线索**: + +- `工时统计_任务工时_查询` +- `工时统计_设备工时_查询` +- `工时统计_作业者工时_查询` +- `工时校验_保存校验记录` +- `设备管理_设备数据_统计数据查询` + +**新增报表逻辑**: + +| 字段 | 来源建议 | 说明 | +|---|---|---| +| 标准单件工时 | 生产工艺/标准工艺 | 应做任务快照 | +| 实际单件工时 | 设备采集循环时间,或设备运行时长/产量 | 无采集时可降级为人工工时/完成数量 | +| 超出时长 | 实际单件工时 - 标准单件工时 | 大于 0 进入异常 | +| 超出比例 | 超出时长 / 标准单件工时 | 用于排序和预警颜色 | +| 异常原因 | 人工确认或规则分类 | 后续闭环需要 | + +**隐性影响**:工时异常报表会反向要求 `WorkHoursCheck` 能解释“人工工时、程序工时、设备工时”三者差异。否则设备采集显示异常,但人工报工正常,页面无法判断该不该上传 SAP 或计入绩效。 + +#### 5. 及时拣配(机加/装配):条码到 MES + +**涉及页面**: + +- `ProductionManagement/MachiningCenter/index.vue`:机加领料/发料/退库/开工相关。 +- `ProductionManagement/AssemblyCenter/index.vue`:装配领料/发料/缺件/开工相关。 +- `生产任务看板`:齐套率、未按期齐套任务。 +- `装配任务看板`:在制缺件、发货状态、装配任务列表。 + +**新增业务流程**: + +```mermaid +flowchart LR + A[扫描条码] --> B[解析条码类型] + B --> C[查 MES 任务/物料/BOM] + C --> D{匹配任务?} + D -- 否 --> E[异常提示/记录] + D -- 是 --> F[保存拣配记录] + F --> G[更新拣配状态] + G --> H[重算齐套/缺件] + H --> I[影响可开工/看板] +``` + +**需要新增或确认的表/字段**: + +- 条码类型、条码值 +- 生产订单/任务 AID +- 物料编码、批次、数量 +- 拣配人、拣配时间 +- 拣配结果 +- 异常原因 +- 是否写回 `拣配状态` +- 是否写回 `齐套` +- 是否触发 `发料状态` + +**SAP 影响**:条码拣配如果涉及库存占用或发料,必须确认 SAP 是否同步校验库存。否则 MES 已拣配、SAP 库存不足,会造成生产看板显示可开工但实际不能发料。 + +#### 6. 一楼质检大屏幕:质检及时率与关键工序 + +**涉及页面/看板**: + +- `质检任务看板/src/views/index.vue` +- `新建文件夹/src/views/index.vue` 试验版质检可视化 +- 主系统 `QualityManagement/QualityCenter`、各类 `CheckTask` +- 工艺维护页面 + +**需求口径**: + +- 质检及时率:报检任务超过 2 天未检验;起算时间取最后一次生产完成时间。 +- 关键工序检验任务汇总数和明细:工艺编辑工艺时标记关键工序。 + +**当前差距**: + +- `质量任务看板_未完成统计` 和 `质量任务看板_未完成明细查询` 能算未完成质检,但没有明确返回“最后一次生产完成时间、超期天数、是否关键工序”。 +- 试验版 `Visualization_QcTask_RateSummary_Query`、`Visualization_QcTask_RateTrend_Query` 等过程名在当前脚本未落库。 + +**需要改造的存储过程**: + +| 过程 | 改造点 | +|---|---| +| `质量任务看板_未完成统计` | 增加超 2 天未检数量、关键工序未检数量 | +| `质量任务看板_未完成明细查询` | 增加最后生产完成时间、超期天数、是否关键工序、关键工序排序 | +| `质量任务看板_当天已完成明细` | 增加关键工序标识,便于完成闭环 | +| 新增 `质量任务看板_质检及时率` | 专门输出应检、及时检、超期未检、及时率 | + +**关键工序字段建议**: + +- 工艺库字段:`是否关键工序` +- 生产任务快照字段:`是否关键工序` +- 看板优先读任务快照,避免工艺后改影响历史任务。 + +#### 7. 机加现场大屏幕:缺勤人员与关键工序任务 + +**涉及页面/看板**: + +- `机加设备生产运营看板/src/views/machiningOperationTwo.vue` +- `机加设备生产运营看板二/src/views/index.vue` +- `TableTV/src/views/index.vue` +- 班次/人员/工位绑定页面 + +**需求**: + +- 缺勤人员:岗位、工位(一对多合并显示)、姓名。 +- 关键工序任务汇总数和明细:工艺编辑时标记关键工序。 + +**当前差距**: + +- 机加二屏现在有“缺勤人员”展示结构,但仍是静态/样例数据。 +- `机加设备生产运营看板_机加在制查询2` 返回在制任务,但没有 `是否关键工序`。 +- 缺勤不能从“没有报工”反推,必须有应到人员与实到人员来源。 + +**建议新增过程**: + +| 过程 | 返回字段 | +|---|---| +| `机加现场大屏_缺勤人员查询` | 岗位、工位列表、姓名、班次、应到时间、缺勤原因 | +| `机加现场大屏_关键工序任务汇总` | 关键工序任务数、加急数、超期数、进行中数 | +| `机加现场大屏_关键工序任务明细` | 订单、合同、物料、工序、工位、指派对象、计划开始、完成数量、上序合格数、加急 | + +**涉及对象**:`View_生产订单_MES`、`View_设备工位人员`、班次表、班次人员绑定表、工艺/生产任务关键工序标识表。 + +#### 8. 装配现场大屏幕:缺勤人员与及时送检 + +**涉及页面/看板**: + +- `装配任务看板/src/views/index.vue` +- `新建文件夹/src/views/AssemblyCenterTaskDashboard.vue` +- 主系统 `ProductionManagement/AssemblyCenter/index.vue` + +**需求**: + +- 缺勤人员:岗位、工位、姓名,一对多合并显示。 +- 及时送检任务列表:可合并到现有任务列表,通过颜色区分;排序在加急后;规则为“发料齐套后 2 天未送检”。 + +**当前差距**: + +- 装配看板 `summaryCards` 中有缺勤人员样例,但没有正式过程。 +- `装配中心任务看板_装配任务查询` 返回齐套、发料状态、任务状态,但未返回发料齐套时间、送检状态、送检时间、超期天数。 +- 质检任务看板能统计未检,但不是以装配“发料齐套后 2 天未送检”为起点。 + +**建议改造**: + +| 过程 | 改造点 | +|---|---| +| `装配中心任务看板_装配任务查询` | 增加发料齐套时间、是否送检、送检时间、送检超期天数、显示颜色等级 | +| 新增 `装配现场大屏_缺勤人员查询` | 返回岗位、工位列表、姓名、班次 | +| 新增 `装配现场大屏_及时送检任务查询` | 返回发料齐套后超过 2 天未送检任务,支持加急后排序 | + +**状态排序建议**: + +1. 加急任务。 +2. 发料齐套后 2 天未送检任务。 +3. 发料齐套但未超期任务。 +4. 缺件任务。 +5. 普通未完成任务。 + +#### 9. 对现有看板章节的修正结论 + +- `机加设备生产运营看板` 当前只能作为“任务/设备状态看板”,还不能作为真实 OEE 看板。需要设备采集明细、标准工时、实际产量、质检良品数统一后才能上线 OEE。 +- `board_view` 的 OEE 仍是样例值,本次需求明确后应优先替换为真实设备指标。 +- `质检任务看板` 已有未完成和当天完成基础,但要满足一楼质检大屏,还必须补“超 2 天未检、最后生产完成时间、关键工序”。 +- `装配任务看板` 的缺勤人员和及时送检当前不是正式数据链,需要新增过程。 +- `TableTV` 可作为设备采集指标的现场承载页,但要注意 5 秒刷新频率和 SQL 性能。 + +## 追加修正:新增需求的页面归属与维护入口复核 + +本节用于修正“只按展示页面分析”的不足。新增需求不能只判断是否新增报表,还要判断字段维护入口是否已经存在。下面按现有 `src/views` 页面归属重新落点。 + +### 1. 标准工艺、生产工艺、关键工序 + +**涉及页面**: + +- `src/views/ProcessManagement/ProcessesDevelop/index.vue`:制定标准工艺。 +- `src/views/ProcessManagement/ProcessProduct/index.vue`:生产工艺。 +- `src/views/ProcessManagement/ProcedureManagement/index.vue`:工序基础数据。 +- `src/views/ProcessManagement/ProcessInquiry/index.vue`:工艺查询。 + +**修正结论**: + +关键工序不是看板字段,而是工艺字段。应在标准工艺和生产工艺中维护: + +| 字段 | 标准工艺维护 | 生产工艺维护 | 任务快照 | +|---|---|---|---| +| 是否关键工序 | 需要 | 需要,默认继承标准工艺,可按订单调整 | 需要 | +| 标准单件工时 | 需要 | 需要,生产订单可覆盖 | 需要 | +| 准备工时/工时合计 | 已有字段线索,应统一口径 | 需要同步 | 需要 | +| 是否影响质检及时率 | 可作为默认规则 | 订单级确认 | 快照后供质检看板读取 | + +**原因**: + +- `ProcessProduct` 已经同时出现“标准工艺”“生产工艺”“批量生成生产工艺”“保存为标准工艺”等业务动作,是订单级工艺维护的合理入口。 +- `ProcessesDevelop` 是标准工艺维护入口,适合维护默认关键工序和标准工时。 +- 质检看板、机加现场大屏只应该读取 `是否关键工序`,不应该承担维护。 + +**必须补充的后端能力**: + +| 对象 | 建议改造 | +|---|---| +| `车间生产管理工艺_零件工序_工艺库` | 增加或确认 `是否关键工序`、`标准单件工时` 字段 | +| `车间生产管理工艺_零件生产工艺_工艺库` | 增加或确认订单级 `是否关键工序`、`标准单件工时` 字段 | +| 生产任务生成/下发过程 | 将关键工序和标准工时快照到任务或任务扩展表 | +| `View_标准工艺视图`、`View_生产工艺视图` | 返回关键工序标识和标准工时 | + +**影响页面/看板**: + +- `QualityManagement/QualityCenter`、`质检任务看板`:按关键工序统计应检、未检、超期。 +- `ProductionManagement/MachiningCenter`、机加现场大屏:关键工序任务汇总和明细。 +- `PlanManagement/ProductionPlanTrack`:工艺路线展示时可标识关键工序。 + +### 2. 缺勤人员:不能由看板静态维护 + +**涉及页面/模块**: + +- `src/views/BasicData/PersonnelManagement` 或人员维护类页面。 +- `src/views/BasicData/ShiftManagement`:班次管理。 +- `src/views/SystemMaintenance/WorkstationManagement/index.vue`:工位和 SAP Resource 维护。 +- `src/views/ProductionManagement/PersonnelBinding/index.vue`:人员绑定线索。 +- `机加设备生产运营看板`、`装配任务看板`:缺勤展示。 + +**修正结论**: + +缺勤人员必须有“应到人员”和“实到人员”两个来源: + +```mermaid +flowchart LR + A[班次管理/排班] --> B[应到人员] + C[工位人员绑定/岗位配置] --> B + D[考勤/上岗/登录/报工] --> E[实到人员] + B --> F[缺勤计算过程] + E --> F + F --> G[机加/装配看板缺勤人员] +``` + +**维护入口建议**: + +| 数据 | 建议入口 | 说明 | +|---|---|---| +| 人员基础信息 | 人员管理 | 姓名、岗位、班组、状态 | +| 班次规则 | 班次管理 | 班次开始/结束、跨天规则 | +| 应到人员/排班 | 若现有班次管理不能承载,需要新增或扩展排班维护 | 缺勤判断的前置条件 | +| 工位/岗位/人员关系 | 工位管理或人员绑定页面 | 支持一人多工位、多岗位合并显示 | +| 实到记录 | 考勤、上岗绑定、登录或报工记录 | 需要最终确认哪个是权威来源 | + +**不建议**: + +- 不建议从“没有报工”直接推断缺勤。 +- 不建议在大屏页面手工维护缺勤人员。 +- 不建议用静态数组或样例过程长期支撑现场看板。 + +**建议新增/改造过程**: + +| 过程 | 用途 | +|---|---| +| `机加现场大屏_缺勤人员查询` | 返回岗位、工位列表、姓名、班次、应到时间、实到状态、缺勤原因 | +| `装配现场大屏_缺勤人员查询` | 同上,按装配岗位/工位过滤 | +| `班次排班_应到人员查询` | 统一给看板和报表复用 | + +### 3. 报表页和维护页的拆分原则 + +现有新增需求里有很多“新增页面”,但页面类型并不相同: + +| 需求 | 页面类型 | 是否承担维护 | +|---|---|---| +| 机加班次产量表 | 报表查询页 | 不承担班次维护,只读班次规则和报工记录 | +| 及时检验报表 | 催办/查询页 | 不维护质检结果,质检仍在质检中心处理 | +| 生产日报-送检 | 日报查询页 | 不维护送检/检验结果 | +| 让步接收记录 | 查询追溯页 | 不维护让步接收,来源是质检中心/不合格处置 | +| 发货通知列表 | SAP 数据查询页 | 默认不维护 SAP 发货通知;如需备注另建扩展表 | +| 手续确认报表 | 待办确认页 | 可以维护 `手续确认`、确认人、确认时间 | +| 及时齐套跟踪结果报表 | 查询 + 部分维护页 | 可维护预计可执行时间、主子订单人工关系,但要留日志 | +| 装配已排产需求 | 交付进度页 + 部分过程字段维护页 | 可维护钣金/泵、备注、人工日期类字段,不能替代装配中心所有业务动作 | +| 设计任务报工 | 新业务操作页 | 维护设计任务和设计工时 | +| 编程任务清单/编程报工 | 新业务操作页 | 维护编程任务、程序号、编程工时 | + +### 4. 现有页面需补的字段归属 + +| 现有页面 | 应补字段/能力 | 说明 | +|---|---|---| +| `ProcessManagement/ProcessesDevelop` | `是否关键工序`、标准单件工时、保存提示 | 标准来源 | +| `ProcessManagement/ProcessProduct` | 自动带出标准工艺、订单级关键工序、生产工艺快照提示 | 生产任务使用来源 | +| `ProcessManagement/ProcedureManagement` | 工序是否需要 SAP 同步状态、是否允许作为关键工序候选 | 工序主数据 | +| `BasicData/ShiftManagement` | 班次业务日、跨天规则、是否参与缺勤/OEE | 班次产量和缺勤基础 | +| `SystemMaintenance/WorkstationManagement` | 工位-设备-岗位-人员关系、SAP Resource 映射 | 缺勤、OEE、设备看板基础 | +| `DeviceManagement/DeviceInformation` | 主要设备、是否参与 OEE、采集点位、设备能力参数 | 不独立承担所有工艺标准工时 | +| `ProductionManagement/MachiningCenter` | 报异常入口、扫码拣配、设备采集任务绑定、关键工序提示 | 机加执行入口 | +| `ProductionManagement/AssemblyCenter` | 报异常入口、发料齐套时间、送检状态、手续确认关联 | 装配执行入口 | +| `QualityManagement/QualityCenter` | 关键工序质检、让步接收、最后生产完成时间、超期天数 | 质检执行入口 | +| `PlanManagement/PlannOrderClose` | 批量关闭 SAP、逐单结果、失败原因、重试 | 关闭动作不应新建孤立页面 | + +### 5. 对看板章节的修正 + +看板章节中出现的“缺勤人员”“关键工序”“及时率”“OEE”都不是单纯前端字段: + +| 看板字段 | 必须有的业务维护入口 | 看板只负责 | +|---|---|---| +| 缺勤人员 | 班次/排班、人员工位绑定、实到来源 | 汇总展示和滚动明细 | +| 关键工序 | 标准工艺、生产工艺、任务快照 | 汇总关键工序任务和未检任务 | +| 质检及时率 | 质检中心、报工完成时间、送检记录 | 计算应检、已检、超期 | +| OEE | 设备档案、采集点位、工艺标准工时、报工/质检数量 | 展示设备指标和下钻 | +| 齐套/缺件 | SAP 缺件、MES 拣配、发料、主子订单关系 | 展示缺件状态和预计可执行时间 | + +后续修改看板时,应先检查维护入口和统一过程是否存在。没有维护入口时,看板开发只能算“展示壳”,不能算需求闭环。 diff --git a/doc_old/元利项目详细流程图.Mermaid b/doc_old/元利项目详细流程图.Mermaid new file mode 100644 index 0000000..1c1d83c --- /dev/null +++ b/doc_old/元利项目详细流程图.Mermaid @@ -0,0 +1,551 @@ +# 元利 MES 项目详细流程图 + +生成日期:2026-05-25 +依据文档:`元利项目详细分析.md` + +说明: +- 本文把 `元利项目详细分析.md` 中的页面、存储过程、SAP 调用、看板和新增隐性需求整理为可维护的 Mermaid 流程图。 +- 图中页面路径以 `src/views/...` 为主,过程名称以文档分析到的 `CreateData(type, name, params)` 调用为主。 +- `type=11` 通常表示查询/读取或通用执行,`type=12` 通常表示写入/业务动作,具体仍以后端实现为准。 + +## 1. 系统总体架构流程 + +```mermaid +flowchart TD + U[用户/班组/计划/质检/设备/管理层] --> FE[Vue 2.7 前端页面] + FE --> ROUTE[动态菜单/路由/权限] + ROUTE --> PAGE[src/views 业务页面] + + PAGE --> CD[CreateData type + procedure + params] + CD --> ED[ExecDatabase 统一后端接口] + ED --> SP[SQL Server 存储过程] + SP --> DB[(YL_MESDB)] + + PAGE --> B1[src/api/b1s.js] + B1 --> SAP[SAP B1 Service Layer] + SP --> SAPDB[(SAP.SBO_YL 跨库/同步表)] + + PAGE --> TM[tm 仓储/条码任务接口] + TM --> WMS[库存/条码任务服务] + + DB --> VIEW[业务视图/报表视图] + VIEW --> PAGE + VIEW --> DASH[生产/装配/质检/机加/综合看板] + SAPDB --> VIEW + SAP --> PAGE + WMS --> PAGE +``` + +关键链路: +- 前端页面不直接写 SQL,而是通过 `CreateData` 组装过程名和参数。 +- SAP 既有前端直接调用 B1 Service Layer,也有 SQL 跨库或同步表读取。 +- 看板主要读存储过程和视图,本身通常不维护业务数据。 + +## 2. 登录、菜单、权限与页面访问流程 + +```mermaid +flowchart TD + A[进入登录页 src/views/login] --> B[输入工号/密码] + B --> C[登录基础数据_人员信息_登陆检查密码] + C --> D{校验通过?} + D -- 否 --> E[提示登录失败] + D -- 是 --> F[写入 Token/用户信息] + F --> G[加载用户角色/菜单权限] + G --> H[登录基础数据_二级菜单/角色权限] + H --> I[生成动态路由] + I --> J[进入 Layout] + J --> K[侧边栏/标签页/AppMain] + K --> L[打开具体业务页面] +``` + +涉及页面: +- `src/views/login/index.vue` +- `src/views/layout/Layout.vue` +- `src/views/layout/components/Sidebar` +- `src/views/SystemMaintenance/MenuManagement` +- `src/views/SystemMaintenance/SystemRrolemaintenance` + +## 3. 基础资料维护总流程 + +```mermaid +flowchart TD + A[系统基础资料] --> B[人员/组织/角色] + A --> C[工位/设备/SAP Resource] + A --> D[班次/人员绑定] + A --> E[工序/物料/图纸/产品结构] + + B --> B1[PersonnelManagement/OrgManagement/SystemRole] + B1 --> B2[人员、岗位、班组、权限] + + C --> C1[WorkstationManagement] + C1 --> C2[维护工位] + C2 --> C3{是否同步 SAP Resource?} + C3 -- 是 --> C4[POST/PATCH /Resources] + C3 -- 否 --> C5[仅 MES 保存] + C4 --> C6[记录同步状态/失败原因] + C5 --> C6 + + C --> C7[DeviceInformation] + C7 --> C8[设备名称/型号/类型/工位/点检/能力] + + D --> D1[ShiftManagement/PersonnelBinding] + D1 --> D2[班次规则/人员工位绑定] + + E --> E1[ProcedureManagement] + E1 --> E2[工序基础数据] + E2 --> E3{是否同步 SAP RouteStages?} + E3 -- 是 --> E4[POST/PATCH /RouteStages] + E3 -- 否 --> E5[MES 本地维护] +``` + +维护口径: +- 缺勤人员不能由看板维护,必须来自班次/排班、人员工位绑定和实到来源。 +- 设备 OEE 基础数据应分散在设备档案、工位、工艺、采集配置中维护,不应只靠看板公式。 + +## 4. 工艺、图纸、标准工艺、生产工艺流程 + +```mermaid +flowchart TD + A[产品/物料/图纸基础] --> B[产品结构维护 CraftMaintain] + A --> C[零件图纸 PartDrawing] + A --> D[工艺图纸 ProcessDrawing] + A --> E[工序基础 ProcedureManagement] + + B --> F[制定标准工艺 ProcessesDevelop] + C --> F + D --> F + E --> F + + F --> G[标准工艺库] + G --> G1[工序顺序] + G --> G2[标准工时/准备工时] + G --> G3[是否关键工序] + + G --> H[生产工艺 ProcessProduct] + H --> I{订单是否已有生产工艺?} + I -- 是 --> J[编辑订单级生产工艺] + I -- 否 --> K[按物料带出标准工艺草稿] + K --> L{用户保存?} + L -- 否 --> M[不写入生产工艺] + L -- 是 --> N[写入生产工艺库] + + J --> O[启用/下发生产工艺] + N --> O + O --> P[生成任务可用工艺快照] + P --> Q[排产/报工/质检/看板读取] +``` + +关键结论: +- `关键工序` 应在标准工艺和生产工艺维护。 +- 生产任务下发时应快照关键工序和标准工时,避免后续改标准工艺影响历史任务。 +- 质检大屏、机加大屏只读取关键工序,不作为维护入口。 + +## 5. 生产订单、机加排产与 SAP 回写流程 + +```mermaid +flowchart TD + A[SAP/MES 生产订单同步] --> B[MES_接口_生产计划] + B --> C[待排产 SelfMakePlan] + C --> D[选择订单/工序/设备/工位/时间] + D --> E[排产保存] + E --> F[MES_接口_生产计划_生产任务] + F --> G[任务排产状态=已排产] + + E --> H{是否回写 SAP 生产订单日期?} + H -- 是 --> I[PATCH /ProductionOrders] + I --> J{SAP 回写成功?} + J -- 是 --> K[记录同步成功] + J -- 否 --> L[记录失败原因/待重试] + H -- 否 --> M[仅 MES 排产] + + G --> N[已排产 SelfMakePlando/SelfMakePlandone] + N --> O[生产计划跟踪/及时开工/机加中心] +``` + +涉及页面: +- `PlanManagement/SelfMakePlan` +- `PlanManagement/SelfMakePlando` +- `PlanManagement/SelfMakePlandone` +- `ProductionManagement/ProductionPlanTrack` +- `AnomalousManagement/PunctualWork` + +风险点: +- MES 排产成功但 SAP 回写失败时,需要保留同步状态和失败原因。 +- 已排产页面新增历史工时、总工时后,必须明确工时来源是生产报工、质检、异常还是设备采集。 + +## 6. 装配排产、外购申请与 SAP 流程 + +```mermaid +flowchart TD + A[装配/电气/系统相关订单] --> B[InstallMakePlan 待排产] + B --> C[选择装配任务/计划时间/优先级] + C --> D[保存装配排产] + D --> E[生成装配生产任务] + + C --> F{需要采购申请?} + F -- 是 --> G[POST /PurchaseRequests] + G --> H{SAP 采购申请成功?} + H -- 是 --> I[记录 SAP 采购请求号] + H -- 否 --> J[记录失败/允许重试] + F -- 否 --> K[不生成采购申请] + + D --> L{是否回写 SAP 生产订单?} + L -- 是 --> M[PATCH /ProductionOrders] + M --> N[同步派工/日期/说明] + L -- 否 --> O[仅 MES 保存] + + E --> P[InstallMakePlanDo/装配中心/装配看板] +``` + +涉及页面: +- `PlanManagement/InstallMakePlan` +- `PlanManagement/InstallMakePlanDo` +- `ProductionManagement/AssemblyCenter` +- `装配任务看板` + +新增需求影响: +- 发料齐套时间、装配完成时间、手续确认、送检状态会反向要求装配排产和装配中心补字段。 + +## 7. 机加生产执行流程 + +```mermaid +flowchart TD + A[已排产机加任务] --> B[MachiningCenter 机加中心] + B --> C{任务是否可开工?} + C -- 否 --> C1[显示不可操作原因: 未齐套/上序未合格/异常/编程未完成/设备占用] + C -- 是 --> D[开始加工/开工] + + D --> E[操作记录表写入开始时间/人员/设备] + E --> F[加工过程] + F --> G{是否异常?} + G -- 是 --> H[直接报异常] + H --> I[AbnormalControl 异常管控] + I --> F + + F --> J[结束报工] + J --> K[写入 YL_加工中心_操作记录表] + K --> L[更新完成数量/工时/任务状态] + + L --> M{是否需要质检?} + M -- 是 --> N[进入质检任务/序检/首检/终检] + M -- 否 --> O[进入下序或完成] + + O --> P{是否入库/转序/外协?} + P -- 转序 --> A + P -- 入库 --> Q[入库/库存任务] + P -- 外协 --> R[外协流程] +``` + +涉及对象: +- `YL_加工中心_操作记录表` +- `MES_接口_生产计划_生产任务` +- `View_生产订单_MES` +- `ProductionManagement/MachiningCenter` + +新增需求影响: +- 编程任务完成状态可能成为开工前置条件。 +- 设备采集工时、程序工时、人工报工工时需要区分。 +- 条码拣配会影响齐套、发料、可开工状态。 + +## 8. 装配中心执行流程 + +```mermaid +flowchart TD + A[已排产装配任务] --> B[AssemblyCenter 装配中心] + B --> C[查询 SAP/MES 订单、物料、发料、齐套] + C --> D{发料/齐套是否满足?} + D -- 否 --> E[缺件/待发料/不可开工] + E --> F[缺件明细/预计可执行时间] + D -- 是 --> G[开始装配] + + G --> H[装配报工/工时记录] + H --> I{是否产生异常?} + I -- 是 --> J[直接报异常 -> AbnormalControl] + I -- 否 --> K[继续装配] + + K --> L[装配完成/更新任务状态] + L --> M{是否需要送检?} + M -- 是 --> N[送检/质检任务] + M -- 否 --> O[入库/发货/后续确认] + + L --> P[手续确认报表] + P --> Q{手续确认完成?} + Q -- 否 --> R[待办保留] + Q -- 是 --> S[从待办消失] + + O --> T[装配看板/生产任务看板] +``` + +关键新增字段: +- 发料齐套时间 +- 装配完成时间 +- 送检状态/送检时间 +- 手续确认、确认人、确认时间 +- 当前对应人员/当前对应内容 + +## 9. 质检业务流程 + +```mermaid +flowchart TD + A[质检任务来源] --> A1[机加报工后待检] + A --> A2[装配送检] + A --> A3[采购入库检] + A --> A4[序检收检/外协收检] + A --> A5[退库/销售退货/其他入库] + + A1 --> B[QualityCenter/CheckTask] + A2 --> B + A3 --> B + A4 --> B + A5 --> B + + B --> C[录入检验结果] + C --> D{合格?} + D -- 是 --> E[合格数量/质检完成] + D -- 否 --> F[不合格处理 Unqualified] + + F --> G{处置方式} + G -- 返工 --> H[回生产/返修] + G -- 报废 --> I[报废记录] + G -- 让步接收 --> J[让步接收字段] + G -- 复检 --> K[生成复检/再次检验] + + E --> L{是否 SAP 收货/库存动作?} + L -- 是 --> M[PurchaseDeliveryNotes 或库存任务] + L -- 否 --> N[MES 本地完成] + + J --> O[让步接收记录查询页] + E --> P[质检看板/及时检验/生产日报] +``` + +涉及页面: +- `QualityManagement/QualityCenter` +- `QualityManagement/CheckTask/processReceive` +- `QualityManagement/CheckTask/purchaseIncoming` +- `QualityManagement/CheckTask/final` +- `QualityManagement/Unqualified` +- `QualityManagement/QualityDetails` + +新增需求影响: +- 及时检验要以生产完成/报工完成时间为起点。 +- 关键工序要从工艺/任务快照读取。 +- 让步接收记录页只查询,不应成为维护入口。 + +## 10. 外协业务流程 + +```mermaid +flowchart TD + A[生产任务指派对象=外协] --> B[OutsourceMange 外协管理] + B --> C[生成外协任务/采购申请] + C --> D{是否提交 SAP 采购申请?} + D -- 是 --> E[POST /PurchaseRequests] + E --> F{SAP 成功?} + F -- 是 --> G[记录采购请求/单据关系] + F -- 否 --> H[记录失败/重试] + D -- 否 --> I[MES 本地外协任务] + + G --> J[外协加工/供应商交付] + I --> J + J --> K[序检收检/外协收货] + K --> L[记录供应商/SAP采购收货单号/指派对象] + L --> M{质检合格?} + M -- 是 --> N[SAP PurchaseDeliveryNotes/入库] + M -- 否 --> O[不合格/返修/让步] + N --> P[外协报表/供应商质量统计] + O --> P +``` + +涉及页面: +- `ProductionManagement/OutsourceMange` +- `ProductionManagement/OutsourceSheet` +- `ProductionManagement/SaleOutsourceMange` +- `QualityManagement/CheckTask/processReceive` + +关键修正: +- 供应商、SAP 采购收货单号、指派对象应在外协/序检收检链路维护,报表只消费这些字段。 + +## 11. 工时、SAP 工时校验与投料流程 + +```mermaid +flowchart TD + A[报工/设备采集/质检/装配] --> B[工时来源汇总] + B --> B1[人工报工工时] + B --> B2[设备运行工时] + B --> B3[程序工时] + B --> B4[质检/装配/设计/编程工时] + + B1 --> C[Workhours/Timesheet/WorkHoursCheck] + B2 --> C + B3 --> C + B4 --> C + + C --> D[工时校验] + D --> E{是否提交 SAP?} + E -- 否 --> F[MES 工时报表/绩效] + E -- 是 --> G[GET /ProductionOrders] + G --> H[匹配 SAP 工序/资源] + H --> I[POST /InventoryGenExits 投料] + H --> J[PATCH /ProductionOrders 更新工序资源/工时] + I --> K{SAP 成功?} + J --> K + K -- 是 --> L[记录提交成功] + K -- 否 --> M[记录失败原因/允许重试] +``` + +涉及页面: +- `ProductionManagement/WorkHoursCheck` +- `ProductionManagement/WorkhoursEdit` +- `ProductionManagement/Workhours` +- `ProductionManagement/Timesheet` + +风险点: +- 程序工时、设备工时、人工工时不是同一口径。 +- 上 SAP 的工时要明确是否包含设计、编程、质检、装配、异常。 + +## 12. 异常管控流程 + +```mermaid +flowchart TD + A[报工/质检/外协/装配/设计/编程页面] --> B[选择任务] + B --> C[点击报异常] + C --> D[带出任务/订单/工序/人员信息] + D --> E[填写异常类型/说明/附件] + E --> F[选择审批人 多选] + F --> G[保存异常] + G --> H[AbnormalControl 异常管控] + + H --> I[审批人待办可见] + I --> J{任一审批人处理?} + J -- 否 --> K[异常未关闭] + J -- 是 --> L[记录实际处理人] + L --> M[异常进入下一状态/关闭] + + K --> N[影响任务可操作性/及时开工/看板] + M --> O[任务恢复或结束] +``` + +关键规则: +- 多审批人不是会签,是多人可见、一人处理。 +- 异常需要带业务域、任务、工序、责任部门,否则看板异常数会混淆。 + +## 13. 生产订单关闭与 SAP 状态同步流程 + +```mermaid +flowchart TD + A[生产订单关闭 PlannOrderClose] --> B[查询可关闭订单] + B --> C[选择单个或批量订单] + C --> D[二次确认] + D --> E[逐单 PATCH /ProductionOrders] + E --> F{单据关闭成功?} + F -- 是 --> G[记录成功/更新 MES 状态] + F -- 否 --> H[记录失败原因] + H --> I[失败项重试] + G --> J[刷新关闭页] + H --> J + J --> K[影响排产页/生产中心/手续确认/看板] +``` + +要求: +- 批量关闭不应“一条失败全批失败”,应逐单记录成功/失败。 +- 关闭结果要被排产、生产中心、装配看板、手续确认报表识别。 + +## 14. 看板数据汇总流程 + +```mermaid +flowchart TD + A[主系统业务数据] --> B[统一视图/存储过程] + C[SAP 同步表/跨库表] --> B + D[设备采集缓存/历史] --> B + E[质检记录/报工记录] --> B + + B --> P[生产任务看板] + B --> Q[装配任务看板] + B --> R[质检任务看板] + B --> S[机加设备生产运营看板] + B --> T[TableTV 工位监控] + B --> U[board_view 综合大屏] + + P --> P1[齐套率/待排产/未及时开工/加急/未入库] + Q --> Q1[装配任务/发货状态/缺件/异常/缺勤] + R --> R1[未清/及时率/关键工序/当天完成] + S --> S1[设备状态/在制/关键工序/缺勤/OEE] + U --> U1[合同进度/工时/采购/库存/OEE] +``` + +看板治理规则: +- 看板只展示和钻取,不作为主维护入口。 +- SAP 类指标必须有同步时间和同步状态。 +- `GETDATE()` 型实时指标如要做日报/历史回看,应补统计日期或日快照。 +- `board_view` 中 OEE、采购、库存等占位指标上线前必须接真实数据或隐藏。 + +## 15. 新增需求与维护入口判断流程 + +```mermaid +flowchart TD + A[收到新增需求/新增字段] --> B{字段性质是什么?} + B -- 主数据 --> C[找基础维护页: 人员/班次/工位/设备/工序/工艺] + B -- 订单过程数据 --> D[找业务页: 计划/排产/装配/机加/质检] + B -- SAP 同步数据 --> E[找 SAP 同步表/接口/同步时间] + B -- 设备采集数据 --> F[找采集原始表/设备状态历史/任务绑定] + B -- 人工确认 --> G[待办页维护并记录确认人时间] + B -- 计算指标 --> H[统一视图/过程/快照] + + C --> I{现有页面能承载?} + D --> I + E --> I + F --> I + G --> I + H --> I + + I -- 是 --> J[扩展现有页面/过程] + I -- 否 --> K[新增维护页或业务页] + J --> L[同步菜单/权限/日志/历史策略] + K --> L + L --> M[检查影响看板/报表/SAP/历史数据] + M --> N[开发排期] +``` + +典型判断: +- 缺勤人员:先确认排班/应到和实到来源;没有维护入口则新增或扩展排班/出勤维护。 +- 关键工序:在标准工艺和生产工艺维护,任务下发快照,看板只读取。 +- 让步接收:质检中心维护,记录页只查询。 +- OEE:设备采集、报工、质检、工艺标准工时共同计算,不是人工维护字段。 + +## 16. 端到端生产业务主流程 + +```mermaid +flowchart TD + A[SAP/MES 生产订单] --> B[工艺准备] + B --> B1[标准工艺] + B1 --> B2[生产工艺] + B2 --> B3[任务工艺快照] + + A --> C[计划排产] + C --> C1[机加排产] + C --> C2[装配排产] + C1 --> D[生产执行] + C2 --> E[装配执行] + + D --> F[报工/工时/设备采集] + E --> G[装配报工/发料/齐套/送检] + + F --> H[质检] + G --> H + H --> I{质量结果} + I -- 合格 --> J[入库/转序/交付] + I -- 不合格 --> K[返工/报废/让步接收/复检] + K --> D + + J --> L[工时校验/SAP 投料/订单状态] + L --> M[订单关闭] + M --> N[报表/看板/日报] + + D --> O[异常管控] + E --> O + H --> O + O --> N + + N --> P[管理层 KPI/现场大屏/追溯查询] +``` + +这个主流程是后续所有新增需求的评估底图:任何新增字段都要判断它落在工艺准备、计划排产、生产执行、质检、入库交付、SAP 回写、看板报表中的哪一环。 diff --git a/doc_old/元利项目详细流程图.md b/doc_old/元利项目详细流程图.md new file mode 100644 index 0000000..88eecf7 --- /dev/null +++ b/doc_old/元利项目详细流程图.md @@ -0,0 +1,2929 @@ +# 元利 MES 项目详细流程图 + +生成日期:2026-05-25 +依据文档:`元利项目详细分析.md` + +说明: +- 本文把 `元利项目详细分析.md` 中的页面、存储过程、SAP 调用、看板和新增隐性需求整理为“文字框 + 箭头”的流程图。 +- 图中页面路径以 `src/views/...` 为主,过程名称以文档分析到的 `CreateData(type, name, params)` 调用为主。 +- `type=11` 通常表示查询/读取或通用执行,`type=12` 通常表示写入/业务动作,具体仍以后端实现为准。 + +## 1. 系统总体架构流程 + +```text +[用户/班组/计划/质检/设备/管理层] --> [Vue 2.7 前端页面] +[Vue 2.7 前端页面] --> [动态菜单/路由/权限] +[动态菜单/路由/权限] --> [src/views 业务页面] +[src/views 业务页面] --> [CreateData type + procedure + params] +[CreateData type + procedure + params] --> [ExecDatabase 统一后端接口] +[ExecDatabase 统一后端接口] --> [SQL Server 存储过程] +[SQL Server 存储过程] --> [YL_MESDB] +[src/views 业务页面] --> [src/api/b1s.js] +[src/api/b1s.js] --> [SAP B1 Service Layer] +[SQL Server 存储过程] --> [SAP.SBO_YL 跨库/同步表] +[src/views 业务页面] --> [tm 仓储/条码任务接口] +[tm 仓储/条码任务接口] --> [库存/条码任务服务] +[YL_MESDB] --> [业务视图/报表视图] +[业务视图/报表视图] --> [src/views 业务页面] +[业务视图/报表视图] --> [生产/装配/质检/机加/综合看板] +[SAP.SBO_YL 跨库/同步表] --> [业务视图/报表视图] +[SAP B1 Service Layer] --> [src/views 业务页面] +[库存/条码任务服务] --> [src/views 业务页面] +``` + +关键链路: +- 前端页面不直接写 SQL,而是通过 `CreateData` 组装过程名和参数。 +- SAP 既有前端直接调用 B1 Service Layer,也有 SQL 跨库或同步表读取。 +- 看板主要读存储过程和视图,本身通常不维护业务数据。 + +## 2. 登录、菜单、权限与页面访问流程 + +```text +[进入登录页 src/views/login] --> [输入工号/密码] +[输入工号/密码] --> [登录基础数据_人员信息_登陆检查密码] +[登录基础数据_人员信息_登陆检查密码] --> [校验通过?] +[校验通过?] -- 否 --> [提示登录失败] +[校验通过?] -- 是 --> [写入 Token/用户信息] +[写入 Token/用户信息] --> [加载用户角色/菜单权限] +[加载用户角色/菜单权限] --> [登录基础数据_二级菜单/角色权限] +[登录基础数据_二级菜单/角色权限] --> [生成动态路由] +[生成动态路由] --> [进入 Layout] +[进入 Layout] --> [侧边栏/标签页/AppMain] +[侧边栏/标签页/AppMain] --> [打开具体业务页面] +``` + +涉及页面: +- `src/views/login/index.vue` +- `src/views/layout/Layout.vue` +- `src/views/layout/components/Sidebar` +- `src/views/SystemMaintenance/MenuManagement` +- `src/views/SystemMaintenance/SystemRrolemaintenance` + +## 3. 基础资料维护总流程 + +```text +[系统基础资料] --> [人员/组织/角色] +[系统基础资料] --> [工位/设备/SAP Resource] +[系统基础资料] --> [班次/人员绑定] +[系统基础资料] --> [工序/物料/图纸/产品结构] +[人员/组织/角色] --> [PersonnelManagement/OrgManagement/SystemRole] +[PersonnelManagement/OrgManagement/SystemRole] --> [人员、岗位、班组、权限] +[工位/设备/SAP Resource] --> [WorkstationManagement] +[WorkstationManagement] --> [维护工位] +[维护工位] --> [是否同步 SAP Resource?] +[是否同步 SAP Resource?] -- 是 --> [POST/PATCH /Resources] +[是否同步 SAP Resource?] -- 否 --> [仅 MES 保存] +[POST/PATCH /Resources] --> [记录同步状态/失败原因] +[仅 MES 保存] --> [记录同步状态/失败原因] +[工位/设备/SAP Resource] --> [DeviceInformation] +[DeviceInformation] --> [设备名称/型号/类型/工位/点检/能力] +[班次/人员绑定] --> [ShiftManagement/PersonnelBinding] +[ShiftManagement/PersonnelBinding] --> [班次规则/人员工位绑定] +[工序/物料/图纸/产品结构] --> [ProcedureManagement] +[ProcedureManagement] --> [工序基础数据] +[工序基础数据] --> [是否同步 SAP RouteStages?] +[是否同步 SAP RouteStages?] -- 是 --> [POST/PATCH /RouteStages] +[是否同步 SAP RouteStages?] -- 否 --> [MES 本地维护] +``` + +维护口径: +- 缺勤人员不能由看板维护,必须来自班次/排班、人员工位绑定和实到来源。 +- 设备 OEE 基础数据应分散在设备档案、工位、工艺、采集配置中维护,不应只靠看板公式。 + +## 4. 工艺、图纸、标准工艺、生产工艺流程 + +```text +[产品/物料/图纸基础] --> [产品结构维护 CraftMaintain] +[产品/物料/图纸基础] --> [零件图纸 PartDrawing] +[产品/物料/图纸基础] --> [工艺图纸 ProcessDrawing] +[产品/物料/图纸基础] --> [工序基础 ProcedureManagement] +[产品结构维护 CraftMaintain] --> [制定标准工艺 ProcessesDevelop] +[零件图纸 PartDrawing] --> [制定标准工艺 ProcessesDevelop] +[工艺图纸 ProcessDrawing] --> [制定标准工艺 ProcessesDevelop] +[工序基础 ProcedureManagement] --> [制定标准工艺 ProcessesDevelop] +[制定标准工艺 ProcessesDevelop] --> [标准工艺库] +[标准工艺库] --> [工序顺序] +[标准工艺库] --> [标准工时/准备工时] +[标准工艺库] --> [是否关键工序] +[标准工艺库] --> [生产工艺 ProcessProduct] +[生产工艺 ProcessProduct] --> [订单是否已有生产工艺?] +[订单是否已有生产工艺?] -- 是 --> [编辑订单级生产工艺] +[订单是否已有生产工艺?] -- 否 --> [按物料带出标准工艺草稿] +[按物料带出标准工艺草稿] --> [用户保存?] +[用户保存?] -- 否 --> [不写入生产工艺] +[用户保存?] -- 是 --> [写入生产工艺库] +[编辑订单级生产工艺] --> [启用/下发生产工艺] +[写入生产工艺库] --> [启用/下发生产工艺] +[启用/下发生产工艺] --> [生成任务可用工艺快照] +[生成任务可用工艺快照] --> [排产/报工/质检/看板读取] +``` + +关键结论: +- `关键工序` 应在标准工艺和生产工艺维护。 +- 生产任务下发时应快照关键工序和标准工时,避免后续改标准工艺影响历史任务。 +- 质检大屏、机加大屏只读取关键工序,不作为维护入口。 + +## 5. 生产订单、机加排产与 SAP 回写流程 + +```text +[SAP/MES 生产订单同步] --> [MES_接口_生产计划] +[MES_接口_生产计划] --> [待排产 SelfMakePlan] +[待排产 SelfMakePlan] --> [选择订单/工序/设备/工位/时间] +[选择订单/工序/设备/工位/时间] --> [排产保存] +[排产保存] --> [MES_接口_生产计划_生产任务] +[MES_接口_生产计划_生产任务] --> [任务排产状态=已排产] +[排产保存] --> [是否回写 SAP 生产订单日期?] +[是否回写 SAP 生产订单日期?] -- 是 --> [PATCH /ProductionOrders] +[PATCH /ProductionOrders] --> [SAP 回写成功?] +[SAP 回写成功?] -- 是 --> [记录同步成功] +[SAP 回写成功?] -- 否 --> [记录失败原因/待重试] +[是否回写 SAP 生产订单日期?] -- 否 --> [仅 MES 排产] +[任务排产状态=已排产] --> [已排产 SelfMakePlando/SelfMakePlandone] +[已排产 SelfMakePlando/SelfMakePlandone] --> [生产计划跟踪/及时开工/机加中心] +``` + +涉及页面: +- `PlanManagement/SelfMakePlan` +- `PlanManagement/SelfMakePlando` +- `PlanManagement/SelfMakePlandone` +- `ProductionManagement/ProductionPlanTrack` +- `AnomalousManagement/PunctualWork` + +风险点: +- MES 排产成功但 SAP 回写失败时,需要保留同步状态和失败原因。 +- 已排产页面新增历史工时、总工时后,必须明确工时来源是生产报工、质检、异常还是设备采集。 + +## 6. 装配排产、外购申请与 SAP 流程 + +```text +[装配/电气/系统相关订单] --> [InstallMakePlan 待排产] +[InstallMakePlan 待排产] --> [选择装配任务/计划时间/优先级] +[选择装配任务/计划时间/优先级] --> [保存装配排产] +[保存装配排产] --> [生成装配生产任务] +[选择装配任务/计划时间/优先级] --> [需要采购申请?] +[需要采购申请?] -- 是 --> [POST /PurchaseRequests] +[POST /PurchaseRequests] --> [SAP 采购申请成功?] +[SAP 采购申请成功?] -- 是 --> [记录 SAP 采购请求号] +[SAP 采购申请成功?] -- 否 --> [记录失败/允许重试] +[需要采购申请?] -- 否 --> [不生成采购申请] +[保存装配排产] --> [是否回写 SAP 生产订单?] +[是否回写 SAP 生产订单?] -- 是 --> [PATCH /ProductionOrders] +[PATCH /ProductionOrders] --> [同步派工/日期/说明] +[是否回写 SAP 生产订单?] -- 否 --> [仅 MES 保存] +[生成装配生产任务] --> [InstallMakePlanDo/装配中心/装配看板] +``` + +涉及页面: +- `PlanManagement/InstallMakePlan` +- `PlanManagement/InstallMakePlanDo` +- `ProductionManagement/AssemblyCenter` +- `装配任务看板` + +新增需求影响: +- 发料齐套时间、装配完成时间、手续确认、送检状态会反向要求装配排产和装配中心补字段。 + +## 7. 机加生产执行流程 + +```text +[已排产机加任务] --> [MachiningCenter 机加中心] +[MachiningCenter 机加中心] --> [任务是否可开工?] +[任务是否可开工?] -- 否 --> [显示不可操作原因: 未齐套/上序未合格/异常/编程未完成/设备占用] +[任务是否可开工?] -- 是 --> [开始加工/开工] +[开始加工/开工] --> [操作记录表写入开始时间/人员/设备] +[操作记录表写入开始时间/人员/设备] --> [加工过程] +[加工过程] --> [是否异常?] +[是否异常?] -- 是 --> [直接报异常] +[直接报异常] --> [AbnormalControl 异常管控] +[AbnormalControl 异常管控] --> [加工过程] +[加工过程] --> [结束报工] +[结束报工] --> [写入 YL_加工中心_操作记录表] +[写入 YL_加工中心_操作记录表] --> [更新完成数量/工时/任务状态] +[更新完成数量/工时/任务状态] --> [是否需要质检?] +[是否需要质检?] -- 是 --> [进入质检任务/序检/首检/终检] +[是否需要质检?] -- 否 --> [进入下序或完成] +[进入下序或完成] --> [是否入库/转序/外协?] +[是否入库/转序/外协?] -- 转序 --> [已排产机加任务] +[是否入库/转序/外协?] -- 入库 --> [入库/库存任务] +[是否入库/转序/外协?] -- 外协 --> [外协流程] +``` + +涉及对象: +- `YL_加工中心_操作记录表` +- `MES_接口_生产计划_生产任务` +- `View_生产订单_MES` +- `ProductionManagement/MachiningCenter` + +新增需求影响: +- 编程任务完成状态可能成为开工前置条件。 +- 设备采集工时、程序工时、人工报工工时需要区分。 +- 条码拣配会影响齐套、发料、可开工状态。 + +## 8. 装配中心执行流程 + +```text +[已排产装配任务] --> [AssemblyCenter 装配中心] +[AssemblyCenter 装配中心] --> [查询 SAP/MES 订单、物料、发料、齐套] +[查询 SAP/MES 订单、物料、发料、齐套] --> [发料/齐套是否满足?] +[发料/齐套是否满足?] -- 否 --> [缺件/待发料/不可开工] +[缺件/待发料/不可开工] --> [缺件明细/预计可执行时间] +[发料/齐套是否满足?] -- 是 --> [开始装配] +[开始装配] --> [装配报工/工时记录] +[装配报工/工时记录] --> [是否产生异常?] +[是否产生异常?] -- 是 --> [直接报异常 -> AbnormalControl] +[是否产生异常?] -- 否 --> [继续装配] +[继续装配] --> [装配完成/更新任务状态] +[装配完成/更新任务状态] --> [是否需要送检?] +[是否需要送检?] -- 是 --> [送检/质检任务] +[是否需要送检?] -- 否 --> [入库/发货/后续确认] +[装配完成/更新任务状态] --> [手续确认报表] +[手续确认报表] --> [手续确认完成?] +[手续确认完成?] -- 否 --> [待办保留] +[手续确认完成?] -- 是 --> [从待办消失] +[入库/发货/后续确认] --> [装配看板/生产任务看板] +``` + +关键新增字段: +- 发料齐套时间 +- 装配完成时间 +- 送检状态/送检时间 +- 手续确认、确认人、确认时间 +- 当前对应人员/当前对应内容 + +## 9. 质检业务流程 + +```text +[质检任务来源] --> [机加报工后待检] +[质检任务来源] --> [装配送检] +[质检任务来源] --> [采购入库检] +[质检任务来源] --> [序检收检/外协收检] +[质检任务来源] --> [退库/销售退货/其他入库] +[机加报工后待检] --> [QualityCenter/CheckTask] +[装配送检] --> [QualityCenter/CheckTask] +[采购入库检] --> [QualityCenter/CheckTask] +[序检收检/外协收检] --> [QualityCenter/CheckTask] +[退库/销售退货/其他入库] --> [QualityCenter/CheckTask] +[QualityCenter/CheckTask] --> [录入检验结果] +[录入检验结果] --> [合格?] +[合格?] -- 是 --> [合格数量/质检完成] +[合格?] -- 否 --> [不合格处理 Unqualified] +[不合格处理 Unqualified] --> [处置方式] +[处置方式] -- 返工 --> [回生产/返修] +[处置方式] -- 报废 --> [报废记录] +[处置方式] -- 让步接收 --> [让步接收字段] +[处置方式] -- 复检 --> [生成复检/再次检验] +[合格数量/质检完成] --> [是否 SAP 收货/库存动作?] +[是否 SAP 收货/库存动作?] -- 是 --> [PurchaseDeliveryNotes 或库存任务] +[是否 SAP 收货/库存动作?] -- 否 --> [MES 本地完成] +[让步接收字段] --> [让步接收记录查询页] +[合格数量/质检完成] --> [质检看板/及时检验/生产日报] +``` + +涉及页面: +- `QualityManagement/QualityCenter` +- `QualityManagement/CheckTask/processReceive` +- `QualityManagement/CheckTask/purchaseIncoming` +- `QualityManagement/CheckTask/final` +- `QualityManagement/Unqualified` +- `QualityManagement/QualityDetails` + +新增需求影响: +- 及时检验要以生产完成/报工完成时间为起点。 +- 关键工序要从工艺/任务快照读取。 +- 让步接收记录页只查询,不应成为维护入口。 + +## 10. 外协业务流程 + +```text +[生产任务指派对象=外协] --> [OutsourceMange 外协管理] +[OutsourceMange 外协管理] --> [生成外协任务/采购申请] +[生成外协任务/采购申请] --> [是否提交 SAP 采购申请?] +[是否提交 SAP 采购申请?] -- 是 --> [POST /PurchaseRequests] +[POST /PurchaseRequests] --> [SAP 成功?] +[SAP 成功?] -- 是 --> [记录采购请求/单据关系] +[SAP 成功?] -- 否 --> [记录失败/重试] +[是否提交 SAP 采购申请?] -- 否 --> [MES 本地外协任务] +[记录采购请求/单据关系] --> [外协加工/供应商交付] +[MES 本地外协任务] --> [外协加工/供应商交付] +[外协加工/供应商交付] --> [序检收检/外协收货] +[序检收检/外协收货] --> [记录供应商/SAP采购收货单号/指派对象] +[记录供应商/SAP采购收货单号/指派对象] --> [质检合格?] +[质检合格?] -- 是 --> [SAP PurchaseDeliveryNotes/入库] +[质检合格?] -- 否 --> [不合格/返修/让步] +[SAP PurchaseDeliveryNotes/入库] --> [外协报表/供应商质量统计] +[不合格/返修/让步] --> [外协报表/供应商质量统计] +``` + +涉及页面: +- `ProductionManagement/OutsourceMange` +- `ProductionManagement/OutsourceSheet` +- `ProductionManagement/SaleOutsourceMange` +- `QualityManagement/CheckTask/processReceive` + +关键修正: +- 供应商、SAP 采购收货单号、指派对象应在外协/序检收检链路维护,报表只消费这些字段。 + +## 11. 工时、SAP 工时校验与投料流程 + +```text +[报工/设备采集/质检/装配] --> [工时来源汇总] +[工时来源汇总] --> [人工报工工时] +[工时来源汇总] --> [设备运行工时] +[工时来源汇总] --> [程序工时] +[工时来源汇总] --> [质检/装配/设计/编程工时] +[人工报工工时] --> [Workhours/Timesheet/WorkHoursCheck] +[设备运行工时] --> [Workhours/Timesheet/WorkHoursCheck] +[程序工时] --> [Workhours/Timesheet/WorkHoursCheck] +[质检/装配/设计/编程工时] --> [Workhours/Timesheet/WorkHoursCheck] +[Workhours/Timesheet/WorkHoursCheck] --> [工时校验] +[工时校验] --> [是否提交 SAP?] +[是否提交 SAP?] -- 否 --> [MES 工时报表/绩效] +[是否提交 SAP?] -- 是 --> [GET /ProductionOrders] +[GET /ProductionOrders] --> [匹配 SAP 工序/资源] +[匹配 SAP 工序/资源] --> [POST /InventoryGenExits 投料] +[匹配 SAP 工序/资源] --> [PATCH /ProductionOrders 更新工序资源/工时] +[POST /InventoryGenExits 投料] --> [SAP 成功?] +[PATCH /ProductionOrders 更新工序资源/工时] --> [SAP 成功?] +[SAP 成功?] -- 是 --> [记录提交成功] +[SAP 成功?] -- 否 --> [记录失败原因/允许重试] +``` + +涉及页面: +- `ProductionManagement/WorkHoursCheck` +- `ProductionManagement/WorkhoursEdit` +- `ProductionManagement/Workhours` +- `ProductionManagement/Timesheet` + +风险点: +- 程序工时、设备工时、人工工时不是同一口径。 +- 上 SAP 的工时要明确是否包含设计、编程、质检、装配、异常。 + +## 12. 异常管控流程 + +```text +[报工/质检/外协/装配/设计/编程页面] --> [选择任务] +[选择任务] --> [点击报异常] +[点击报异常] --> [带出任务/订单/工序/人员信息] +[带出任务/订单/工序/人员信息] --> [填写异常类型/说明/附件] +[填写异常类型/说明/附件] --> [选择审批人 多选] +[选择审批人 多选] --> [保存异常] +[保存异常] --> [AbnormalControl 异常管控] +[AbnormalControl 异常管控] --> [审批人待办可见] +[审批人待办可见] --> [任一审批人处理?] +[任一审批人处理?] -- 否 --> [异常未关闭] +[任一审批人处理?] -- 是 --> [记录实际处理人] +[记录实际处理人] --> [异常进入下一状态/关闭] +[异常未关闭] --> [影响任务可操作性/及时开工/看板] +[异常进入下一状态/关闭] --> [任务恢复或结束] +``` + +关键规则: +- 多审批人不是会签,是多人可见、一人处理。 +- 异常需要带业务域、任务、工序、责任部门,否则看板异常数会混淆。 + +## 13. 生产订单关闭与 SAP 状态同步流程 + +```text +[生产订单关闭 PlannOrderClose] --> [查询可关闭订单] +[查询可关闭订单] --> [选择单个或批量订单] +[选择单个或批量订单] --> [二次确认] +[二次确认] --> [逐单 PATCH /ProductionOrders] +[逐单 PATCH /ProductionOrders] --> [单据关闭成功?] +[单据关闭成功?] -- 是 --> [记录成功/更新 MES 状态] +[单据关闭成功?] -- 否 --> [记录失败原因] +[记录失败原因] --> [失败项重试] +[记录成功/更新 MES 状态] --> [刷新关闭页] +[记录失败原因] --> [刷新关闭页] +[刷新关闭页] --> [影响排产页/生产中心/手续确认/看板] +``` + +要求: +- 批量关闭不应“一条失败全批失败”,应逐单记录成功/失败。 +- 关闭结果要被排产、生产中心、装配看板、手续确认报表识别。 + +## 14. 看板数据汇总流程 + +```text +[主系统业务数据] --> [统一视图/存储过程] +[SAP 同步表/跨库表] --> [统一视图/存储过程] +[设备采集缓存/历史] --> [统一视图/存储过程] +[质检记录/报工记录] --> [统一视图/存储过程] +[统一视图/存储过程] --> [生产任务看板] +[统一视图/存储过程] --> [装配任务看板] +[统一视图/存储过程] --> [质检任务看板] +[统一视图/存储过程] --> [机加设备生产运营看板] +[统一视图/存储过程] --> [TableTV 工位监控] +[统一视图/存储过程] --> [board_view 综合大屏] +[生产任务看板] --> [齐套率/待排产/未及时开工/加急/未入库] +[装配任务看板] --> [装配任务/发货状态/缺件/异常/缺勤] +[质检任务看板] --> [未清/及时率/关键工序/当天完成] +[机加设备生产运营看板] --> [设备状态/在制/关键工序/缺勤/OEE] +[board_view 综合大屏] --> [合同进度/工时/采购/库存/OEE] +``` + +看板治理规则: +- 看板只展示和钻取,不作为主维护入口。 +- SAP 类指标必须有同步时间和同步状态。 +- `GETDATE()` 型实时指标如要做日报/历史回看,应补统计日期或日快照。 +- `board_view` 中 OEE、采购、库存等占位指标上线前必须接真实数据或隐藏。 + +## 15. 新增需求与维护入口判断流程 + +```text +[收到新增需求/新增字段] --> [字段性质是什么?] +[字段性质是什么?] -- 主数据 --> [找基础维护页: 人员/班次/工位/设备/工序/工艺] +[字段性质是什么?] -- 订单过程数据 --> [找业务页: 计划/排产/装配/机加/质检] +[字段性质是什么?] -- SAP 同步数据 --> [找 SAP 同步表/接口/同步时间] +[字段性质是什么?] -- 设备采集数据 --> [找采集原始表/设备状态历史/任务绑定] +[字段性质是什么?] -- 人工确认 --> [待办页维护并记录确认人时间] +[字段性质是什么?] -- 计算指标 --> [统一视图/过程/快照] +[找基础维护页: 人员/班次/工位/设备/工序/工艺] --> [现有页面能承载?] +[找业务页: 计划/排产/装配/机加/质检] --> [现有页面能承载?] +[找 SAP 同步表/接口/同步时间] --> [现有页面能承载?] +[找采集原始表/设备状态历史/任务绑定] --> [现有页面能承载?] +[待办页维护并记录确认人时间] --> [现有页面能承载?] +[统一视图/过程/快照] --> [现有页面能承载?] +[现有页面能承载?] -- 是 --> [扩展现有页面/过程] +[现有页面能承载?] -- 否 --> [新增维护页或业务页] +[扩展现有页面/过程] --> [同步菜单/权限/日志/历史策略] +[新增维护页或业务页] --> [同步菜单/权限/日志/历史策略] +[同步菜单/权限/日志/历史策略] --> [检查影响看板/报表/SAP/历史数据] +[检查影响看板/报表/SAP/历史数据] --> [开发排期] +``` + +典型判断: +- 缺勤人员:先确认排班/应到和实到来源;没有维护入口则新增或扩展排班/出勤维护。 +- 关键工序:在标准工艺和生产工艺维护,任务下发快照,看板只读取。 +- 让步接收:质检中心维护,记录页只查询。 +- OEE:设备采集、报工、质检、工艺标准工时共同计算,不是人工维护字段。 + +## 16. 端到端生产业务主流程 + +```text +[SAP/MES 生产订单] --> [工艺准备] +[工艺准备] --> [标准工艺] +[标准工艺] --> [生产工艺] +[生产工艺] --> [任务工艺快照] +[SAP/MES 生产订单] --> [计划排产] +[计划排产] --> [机加排产] +[计划排产] --> [装配排产] +[机加排产] --> [生产执行] +[装配排产] --> [装配执行] +[生产执行] --> [报工/工时/设备采集] +[装配执行] --> [装配报工/发料/齐套/送检] +[报工/工时/设备采集] --> [质检] +[装配报工/发料/齐套/送检] --> [质检] +[质检] --> [质量结果] +[质量结果] -- 合格 --> [入库/转序/交付] +[质量结果] -- 不合格 --> [返工/报废/让步接收/复检] +[返工/报废/让步接收/复检] --> [生产执行] +[入库/转序/交付] --> [工时校验/SAP 投料/订单状态] +[工时校验/SAP 投料/订单状态] --> [订单关闭] +[订单关闭] --> [报表/看板/日报] +[生产执行] --> [异常管控] +[装配执行] --> [异常管控] +[质检] --> [异常管控] +[异常管控] --> [报表/看板/日报] +[报表/看板/日报] --> [管理层 KPI/现场大屏/追溯查询] +``` + +这个主流程是后续所有新增需求的评估底图:任何新增字段都要判断它落在工艺准备、计划排产、生产执行、质检、入库交付、SAP 回写、看板报表中的哪一环。 + +## 17. 逐页详细框线流程图 + +说明:本章按 `元利项目详细分析.md` 的 78 个 `src/views` 页面逐页生成。每个图都按“进入页面 -> 初始化 -> 查询/业务动作 -> 存储过程/SAP/WMS -> 刷新/异常”的结构展开。 + +### 17.1 逐页模块索引流程 + +```text +[登录后进入 Layout] --> [侧边菜单/动态路由] +[侧边菜单/动态路由] --> [404.vue] +[404.vue] --> [404.vue] +[侧边菜单/动态路由] --> [异常管理] +[异常管理] --> [PunctualWork] +[侧边菜单/动态路由] --> [产品结构与工艺基础] +[产品结构与工艺基础] --> [CraftMaintain] +[侧边菜单/动态路由] --> [设备管理] +[设备管理] --> [DeviceDataHistory / DeviceInformation / DeviceRealData / Devicedata] +[侧边菜单/动态路由] --> [计划排产] +[计划排产] --> [InstallMakePlanDo / InstallMakePlan / PlanShell / PlannOrderClose] +[侧边菜单/动态路由] --> [工艺与图纸] +[工艺与图纸] --> [PartDrawing / PartDrawlook / ProcedureManagement / ProcessDrawing] +[侧边菜单/动态路由] --> [生产执行] +[生产执行] --> [AbnormalControl / AssemblePlanTrack / AssembleStatus / AssembleTaskManage] +[侧边菜单/动态路由] --> [质量管理] +[质量管理] --> [OtherInbound.vue / final.vue / firstSpecial.vue / materialReturn.vue] +[侧边菜单/动态路由] --> [销售管理] +[销售管理] --> [saleorderstatus] +[侧边菜单/动态路由] --> [系统维护] +[系统维护] --> [MenuManagement / OperationLog / OrgManagement / PersonnelManagement] +[侧边菜单/动态路由] --> [首页与看板入口] +[首页与看板入口] --> [dashboard] +[侧边菜单/动态路由] --> [布局与导航] +[布局与导航] --> [Layout.vue / AppMain.vue / Navbar.vue / Item.vue] +[侧边菜单/动态路由] --> [登录] +[登录] --> [login] +``` + +### 17.2 404.vue(404.vue) + +#### 1. `src/views/404.vue` + +页面要点:该页面是 404 错误页,用于路由不存在时展示错误信息。 + +```text +[进入页面 / src/views/404.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +### 17.3 异常管理(AnomalousManagement) + +#### 2. `src/views/AnomalousManagement/PunctualWork/index.vue` + +页面要点:该页面用于发现“计划应开工但现场未及时开工”的任务。用户按任务状态、工位、工序、异常原因等条件筛选,页面展示生产订单、销售订单、物料、工序、指派对象、分配数量、上序合格数、加工/收料状态和加急数量,服务于生产异常提醒和催办。 页面可见的操作/字段包括 “全部”、“待执行”、“可执行”、“已开工”、“已完成”、“item.指南工位号”、“指 +过程覆盖:`异常提醒_及时开工_查询`、`MES_登录_工位与名称_查询`、`Prog_MES_LoadProcess`、`查询字典` + +```text +[进入页面 / src/views/AnomalousManagement/PunctualWork/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadProcess / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadProcess / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 异常提醒_及时开工_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 异常提醒_及时开工_查询 / 查询/读取数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / 登录基础数据_人员信息 / YL_质量检验_质检记录 / 视图:View_生产订单_MES] +[主要数据对象 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / 登录基础数据_人员信息 / YL_质量检验_质检记录 / 视图:View_生产订单_MES] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `异常提醒_及时开工_查询` | 查询/读取数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务、登录基础数据_人员信息、YL_质量检验_质检记录;视图:View_生产订单_MES | +| 2 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 3 | `Prog_MES_LoadProcess` | 查询/读取数据 | 表:基础表_工序 | +| 4 | `查询字典` | 查询/读取数据 | 表:YL_基础表_数据字典 | + +### 17.4 产品结构与工艺基础(CraftManagement) + +#### 3. `src/views/CraftManagement/CraftMaintain/index.vue` + +页面要点:该页面维护产品结构树。用户可以新增、编辑、删除产品结构节点,查询现有产品结构,并为后续工艺、物料、BOM 或生产任务提供层级基础数据。 页面可见的操作/字段包括 “新增”、“编辑”、“删除”、“展开”、“产品结构维护”、“产品材料维护”、“工艺参数维护”,这些是判断页面业务范围的主要线索。 后端主要围绕 WEB_基本表_产品结构_新增、W +过程覆盖:`WEB_基本表_产品结构_新增`、`WEB_基本表_产品结构_查询`、`WEB_基本表_产品结构_删除`、`WEB_基本表_产品结构_修改` + +```text +[进入页面 / src/views/CraftManagement/CraftMaintain/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / WEB_基本表_产品结构_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / WEB_基本表_产品结构_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / WEB_基本表_产品结构_新增 / 新增业务数据] +[type 11(当前通用存储过程查询/执行) / WEB_基本表_产品结构_新增 / 新增业务数据] --> [type 11(当前通用存储过程查询/执行) / WEB_基本表_产品结构_删除 / 删除业务数据] +[type 11(当前通用存储过程查询/执行) / WEB_基本表_产品结构_删除 / 删除业务数据] --> [type 11(当前通用存储过程查询/执行) / WEB_基本表_产品结构_修改 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / WEB_基本表_产品结构_修改 / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `WEB_基本表_产品结构_新增` | 新增业务数据 | 未知 | +| 2 | `WEB_基本表_产品结构_查询` | 查询/读取数据 | 未知 | +| 3 | `WEB_基本表_产品结构_删除` | 删除业务数据 | 未知 | +| 4 | `WEB_基本表_产品结构_修改` | 更新/保存业务数据 | 未知 | + +### 17.5 设备管理(DeviceManagement) + +#### 4. `src/views/DeviceManagement/DeviceDataHistory/index.vue` + +页面要点:该页面查询设备历史采集数据。用户按工位/设备、参数名称、起止时间分页查询历史记录,用于追溯设备运行参数。 页面可见的操作/字段包括 “查询”、“item.name”、“设备名称”、“参数名称”、“设备编号”、“数值”、“单位”、“采集时间”、“结束日期”、“开始日期”,这些是判断页面业务范围的主要线索。 后端主要围绕 MES_登录_工位与 +过程覆盖:`MES_登录_工位与名称_查询`、`设备管理_设备数据_历史查询` + +```text +[进入页面 / src/views/DeviceManagement/DeviceDataHistory/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 设备管理_设备数据_历史查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 设备管理_设备数据_历史查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / View_基础数据_工位] +[主要数据对象 / View_基础数据_工位] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 2 | `设备管理_设备数据_历史查询` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | + +#### 5. `src/views/DeviceManagement/DeviceInformation/index.vue` + +页面要点:该页面维护设备台账和设备相关基础资料。用户可以查询设备信息,新增、修改、删除设备,维护维修记录、工时记录或点检配置。 页面可见的操作/字段包括 “查询”、“设备”、“--> 取消”、“确定”、“item.name”、“设备名称”、“设备型号”、“设备类型”、“加工工艺”、“工位”,这些是判断页面业务范围的主要线索。 后端主要围绕 查询字典 +过程覆盖:`查询字典`、`设备管理_设备信息_查询`、`设备管理_设备信息_增加`、`设备管理_设备信息_编辑`、`设备管理_设备信息_删除` + +```text +[进入页面 / src/views/DeviceManagement/DeviceInformation/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 设备管理_设备信息_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 设备管理_设备信息_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 12(当前通用存储过程写入/业务动作) / 设备管理_设备信息_增加 / 新增业务数据] +[type 12(当前通用存储过程写入/业务动作) / 设备管理_设备信息_增加 / 新增业务数据] --> [type 12(当前通用存储过程写入/业务动作) / 设备管理_设备信息_编辑 / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / 设备管理_设备信息_编辑 / 更新/保存业务数据] --> [type 12(当前通用存储过程写入/业务动作) / 设备管理_设备信息_删除 / 删除业务数据] +[type 12(当前通用存储过程写入/业务动作) / 设备管理_设备信息_删除 / 删除业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / YL_基础表_数据字典] +[主要数据对象 / YL_基础表_数据字典] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `查询字典` | 查询/读取数据 | 表:YL_基础表_数据字典 | +| 2 | `设备管理_设备信息_查询` | 查询/读取数据 | 表:YL_基础表_数据字典 | +| 3 | `设备管理_设备信息_增加` | 新增业务数据 | 未在 SQL 中解析到明确依赖 | +| 4 | `设备管理_设备信息_编辑` | 更新/保存业务数据 | 未在 SQL 中解析到明确依赖 | +| 5 | `设备管理_设备信息_删除` | 删除业务数据 | 未在 SQL 中解析到明确依赖 | + +#### 6. `src/views/DeviceManagement/DeviceRealData/index.vue` + +页面要点:该页面展示设备实时或近实时数据。用户按工位和数据类型查询当前采集值、统计值或状态,通常用于设备运行监控。 页面可见的操作/字段包括 “查询”、“item.name”、“设备名称”、“参数名称”、“参数值”、“操作”、“开始时间”、“结束时间”、“状态”、“时长(m)”,这些是判断页面业务范围的主要线索。 后端主要围绕 设备管理_设备数据_ +过程覆盖:`设备管理_设备数据_工位信息_查询`、`设备管理_设备数据_统计数据查询`、`设备管理_设备数据_统计数据查询_通过类型` + +```text +[进入页面 / src/views/DeviceManagement/DeviceRealData/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 设备管理_设备数据_统计数据查询_通过类型 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 设备管理_设备数据_统计数据查询_通过类型 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 设备管理_设备数据_工位信息_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 设备管理_设备数据_工位信息_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 设备管理_设备数据_统计数据查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 设备管理_设备数据_统计数据查询 / 查询/读取数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / YL_设备管理_工时记录] +[主要数据对象 / YL_设备管理_工时记录] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `设备管理_设备数据_工位信息_查询` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 2 | `设备管理_设备数据_统计数据查询` | 查询/读取数据 | 表:YL_设备管理_工时记录 | +| 3 | `设备管理_设备数据_统计数据查询_通过类型` | 查询/读取数据 | 表:YL_设备管理_工时记录 | + +#### 7. `src/views/DeviceManagement/Devicedata/index.vue` + +页面要点:该页面面向设备采集数据管理,查询缓存变量和设备数据,支持按设备、参数、时间等维度查看实时或历史采集结果。 页面可见的操作/字段包括 “查询”、“item.name”、“设备名称”、“参数名称”、“设备编号”、“数值”、“单位”、“更新时间”、“请选择设备”、“请输入参数名称”,这些是判断页面业务范围的主要线索。 后端主要围绕 MES_登录 +过程覆盖:`MES_登录_工位与名称_查询`、`设备管理_设备数据查询` + +```text +[进入页面 / src/views/DeviceManagement/Devicedata/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 设备管理_设备数据查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 设备管理_设备数据查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / View_基础数据_工位 / CaChe_Var] +[主要数据对象 / View_基础数据_工位 / CaChe_Var] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 2 | `设备管理_设备数据查询` | 查询/读取数据 | 表:CaChe_Var | + +### 17.6 计划排产(PlanManagement) + +#### 8. `src/views/PlanManagement/InstallMakePlanDo/index.vue` + +页面要点:该页面处理装配件排产。用户查询待排产/已排产装配任务,选择工位和人员,修改计划开工/完成时间、优先级、说明,执行单条派工、二次派工、批量确认排产,并在确认时同步 SAP 生产订单状态或创建相关请求。 页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确定”、“派工”、“计划排产”、“编辑”、“取 消”、“确 定”、“全部” +过程覆盖:`计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Queryzp`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询`、`MES_OrderPlanned_EditTaskPlanned`、`计划排产_二次派工`、`计划排产_派工`、`MES_OrderPlanned_SingleTaskPlanned`、`MES_OrderPlanned_Finish`、... + +```text +[进入页面 / src/views/PlanManagement/InstallMakePlanDo/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 计划排产_生产订单_已排产订单查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 计划排产_生产订单_已排产订单查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Queryzp / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Queryzp / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] --> [type 12(当前通用存储过程写入/业务动作) / 计划排产_二次派工 / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / 计划排产_二次派工 / 计划排产或派工] --> [type 12(当前通用存储过程写入/业务动作) / 计划排产_派工 / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / 计划排产_派工 / 计划排产或派工] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_SingleTaskPlanned / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_SingleTaskPlanned / 计划排产或派工] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / View_基础数据_工位 / 车间生产管理工艺_零件生产工艺_工艺库 / 视图:View_生产订单_MES] +[主要数据对象 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / View_基础数据_工位 / 车间生产管理工艺_零件生产工艺_工艺库 / 视图:View_生产订单_MES] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 2 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 3 | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 表:车间生产管理工艺_零件生产工艺_工艺库;视图:View_生产订单_MES | +| 4 | `Prog_MES_LoadStations` | 查询/读取数据 | 表:MES_资源主数据 | +| 5 | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 6 | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 7 | `计划排产_二次派工` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 8 | `计划排产_派工` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 9 | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 10 | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 11 | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 12 | `计划排产_自制件_日程时间修改` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | + +#### 9. `src/views/PlanManagement/InstallMakePlan/index.vue` + +页面要点:该页面处理装配件排产。用户查询待排产/已排产装配任务,选择工位和人员,修改计划开工/完成时间、优先级、说明,执行单条派工、二次派工、批量确认排产,并在确认时同步 SAP 生产订单状态或创建相关请求。 页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确定”、“派工”、“计划排产”、“编辑”、“取 消”、“确 定”、“全部” +过程覆盖:`计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Queryzp`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询`、`MES_OrderPlanned_EditTaskPlanned`、`计划排产_二次派工`、`计划排产_派工`、`MES_OrderPlanned_SingleTaskPlanned`、`MES_OrderPlanned_Finish`、... + +```text +[进入页面 / src/views/PlanManagement/InstallMakePlan/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 计划排产_生产订单_已排产订单查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 计划排产_生产订单_已排产订单查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Queryzp / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Queryzp / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] --> [type 12(当前通用存储过程写入/业务动作) / 计划排产_二次派工 / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / 计划排产_二次派工 / 计划排产或派工] --> [type 12(当前通用存储过程写入/业务动作) / 计划排产_派工 / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / 计划排产_派工 / 计划排产或派工] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_SingleTaskPlanned / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_SingleTaskPlanned / 计划排产或派工] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / View_基础数据_工位 / 车间生产管理工艺_零件生产工艺_工艺库 / 视图:View_生产订单_MES] +[主要数据对象 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / View_基础数据_工位 / 车间生产管理工艺_零件生产工艺_工艺库 / 视图:View_生产订单_MES] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 2 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 3 | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 表:车间生产管理工艺_零件生产工艺_工艺库;视图:View_生产订单_MES | +| 4 | `Prog_MES_LoadStations` | 查询/读取数据 | 表:MES_资源主数据 | +| 5 | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 6 | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 7 | `计划排产_二次派工` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 8 | `计划排产_派工` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 9 | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 10 | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 11 | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 12 | `计划排产_自制件_日程时间修改` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | + +#### 10. `src/views/PlanManagement/PlanShell/index.vue` + +页面要点:该页面是计划外壳/计划跟踪类页面,按缺料、发货通知、完成状态等条件查询计划或装配相关任务,用于计划人员集中查看订单齐套、发货和关闭情况。 页面可见的操作/字段包括 “查询”、“缺料”、“关闭”、“全部”、“已下达发货通知”、“未下达发货通知”、“是”、“否”、“已完成”、“未完成”,这些是判断页面业务范围的主要线索。 后端主要围绕 生产管 +过程覆盖:`生产管理_装配中心_缺料查询`、`计划排产_查询计划信息`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` + +```text +[进入页面 / src/views/PlanManagement/PlanShell/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 生产管理_装配中心_缺料查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_装配中心_缺料查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 计划排产_查询计划信息 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 计划排产_查询计划信息 / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_DescriptionEdit / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_DescriptionEdit / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / SAP.SBO_YL.dbo.UBT_OPKL_MissQty / View_生产订单_MES / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / MES_资源主数据] +[主要数据对象 / SAP.SBO_YL.dbo.UBT_OPKL_MissQty / View_生产订单_MES / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / MES_资源主数据] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `生产管理_装配中心_缺料查询` | 查询/读取数据 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OPKL_MissQty | +| 2 | `计划排产_查询计划信息` | 查询/读取数据 | 视图:View_生产订单_MES | +| 3 | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 4 | `Prog_MES_LoadStations` | 查询/读取数据 | 表:MES_资源主数据 | + +#### 11. `src/views/PlanManagement/PlannOrderClose/index.vue` + +页面要点:该页面用于生产订单关闭。用户筛选 SAP 未关闭或 MES 待确认订单,执行 SAP 生产订单关闭,并调用 MES 过程记录或确认订单关闭状态。 页面可见的操作/字段包括 “查询”、“确认”、“关闭”、“全部”、“已关闭”、“未关闭”、“可关闭”、“SAP未关闭”、“机加”、“装配”,这些是判断页面业务范围的主要线索。 后端主要围绕 计划 +过程覆盖:`计划排产_生产订单关闭_查询全部订单`、`计划排产_生产订单关闭_关闭订单`、`计划排产_生产订单关闭_确认订单` + +```text +[进入页面 / src/views/PlanManagement/PlannOrderClose/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 计划排产_生产订单关闭_查询全部订单 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 计划排产_生产订单关闭_查询全部订单 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 计划排产_生产订单关闭_关闭订单 / 确认/关闭/完成业务动作] +[type 11(当前通用存储过程查询/执行) / 计划排产_生产订单关闭_关闭订单 / 确认/关闭/完成业务动作] --> [type 12(当前通用存储过程写入/业务动作) / 计划排产_生产订单关闭_确认订单 / 确认/关闭/完成业务动作] +[type 12(当前通用存储过程写入/业务动作) / 计划排产_生产订单关闭_确认订单 / 确认/关闭/完成业务动作] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / MES_接口_生产计划 / YL_质量检验_质检记录 / 视图:View_生产工时视图] +[主要数据对象 / MES_接口_生产计划 / YL_质量检验_质检记录 / 视图:View_生产工时视图] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `计划排产_生产订单关闭_查询全部订单` | 查询/读取数据 | 表:MES_接口_生产计划、YL_质量检验_质检记录 | +| 2 | `计划排产_生产订单关闭_关闭订单` | 确认/关闭/完成业务动作 | 表:MES_接口_生产计划;视图:View_生产工时视图 | +| 3 | `计划排产_生产订单关闭_确认订单` | 确认/关闭/完成业务动作 | 表:MES_接口_生产计划 | + +#### 12. `src/views/PlanManagement/SelfMakePlan/index.vue` + +页面要点:该页面处理自制件/机加件排产。用户查询生产订单工序任务,筛选订单、合同、物料、工序、计划时间、排产状态和指派对象,完成工位派工、人员二次派工、外协分组、计划说明维护和排产确认。 页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确定”、“派工”、“计划排产”、“编辑”、“取 消”、“确 定”、“全部”,这些是判断页面业务范 +过程覆盖:`计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Query`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询`、`MES_OrderPlanned_EditTaskPlanned`、`计划排产_二次派工`、`MES_OrderPlanned_SingleTaskPlanned`、`MES_OrderPlanned_Finish`、`MES_OrderPlanned_DescriptionEdit`、... + +```text +[进入页面 / src/views/PlanManagement/SelfMakePlan/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 计划排产_生产订单_已排产订单查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 计划排产_生产订单_已排产订单查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Query / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Query / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] --> [type 12(当前通用存储过程写入/业务动作) / 计划排产_二次派工 / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / 计划排产_二次派工 / 计划排产或派工] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_SingleTaskPlanned / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_SingleTaskPlanned / 计划排产或派工] --> [type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Finish / 确认/关闭/完成业务动作] +[type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Finish / 确认/关闭/完成业务动作] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / View_基础数据_工位 / 车间生产管理工艺_零件生产工艺_工艺库 / 视图:View_生产订单_MES] +[主要数据对象 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / View_基础数据_工位 / 车间生产管理工艺_零件生产工艺_工艺库 / 视图:View_生产订单_MES] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 2 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 3 | `MES_OrderPlanned_Query` | 查询/读取数据 | 表:车间生产管理工艺_零件生产工艺_工艺库;视图:View_生产订单_MES | +| 4 | `Prog_MES_LoadStations` | 查询/读取数据 | 表:MES_资源主数据 | +| 5 | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 6 | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 7 | `计划排产_二次派工` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 8 | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 9 | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 10 | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 11 | `计划排产_自制件_日程时间修改` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | + +#### 13. `src/views/PlanManagement/SelfMakePlando/index.vue` + +页面要点:该页面处理自制件/机加件排产。用户查询生产订单工序任务,筛选订单、合同、物料、工序、计划时间、排产状态和指派对象,完成工位派工、人员二次派工、外协分组、计划说明维护和排产确认。 页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确定”、“查看”、“零件图纸”、“工艺图纸”、“编辑”、“计划排产”、“取 消”,这些是判断页面 +过程覆盖:`工艺管理_图纸维护_查看图纸`、`工艺管理_工艺维护_查看图纸`、`工艺管理_获取物料原料信息`、`计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Query`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询`、`MES_OrderPlanned_EditTaskPlanned`、`计划排产_二次派工`、... + +```text +[进入页面 / src/views/PlanManagement/SelfMakePlando/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_工艺维护_查看图纸 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_工艺维护_查看图纸 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_获取物料原料信息 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 工艺管理_获取物料原料信息 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 计划排产_生产订单_已排产订单查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 计划排产_生产订单_已排产订单查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Query / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Query / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] --> [type 12(当前通用存储过程写入/业务动作) / 计划排产_二次派工 / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / 计划排产_二次派工 / 计划排产或派工] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_SingleTaskPlanned / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_SingleTaskPlanned / 计划排产或派工] --> [type 12(当前通用存储过程写入/业务动作) / 计划排产_外协分组 / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / 计划排产_外协分组 / 计划排产或派工] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 物料基础数据_零件图纸 / 物料基础数据_工艺图纸 / SAP.SBO_YL.dbo.UBT_OWOR_material / MES_接口_生产计划 / MES_接口_生产计划_生产任务] +[主要数据对象 / 物料基础数据_零件图纸 / 物料基础数据_工艺图纸 / SAP.SBO_YL.dbo.UBT_OWOR_material / MES_接口_生产计划 / MES_接口_生产计划_生产任务] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 表:物料基础数据_零件图纸 | +| 2 | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 表:物料基础数据_工艺图纸 | +| 3 | `工艺管理_获取物料原料信息` | 业务存储过程调用 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OWOR_material | +| 4 | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 5 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 6 | `MES_OrderPlanned_Query` | 查询/读取数据 | 表:车间生产管理工艺_零件生产工艺_工艺库;视图:View_生产订单_MES | +| 7 | `Prog_MES_LoadStations` | 查询/读取数据 | 表:MES_资源主数据 | +| 8 | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 9 | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 10 | `计划排产_二次派工` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 11 | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 12 | `计划排产_外协分组` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| ... | ... | 共 15 个过程,此处仅列前 12 个 | 详见分析文档对应页面段落 | + +#### 14. `src/views/PlanManagement/SelfMakePlandone/index.vue` + +页面要点:该页面处理自制件/机加件排产。用户查询生产订单工序任务,筛选订单、合同、物料、工序、计划时间、排产状态和指派对象,完成工位派工、人员二次派工、外协分组、计划说明维护和排产确认。 页面可见的操作/字段包括 “查询”、“确定”、“查看”、“派工”、“编辑”、“取 消”、“确 定”、“全部”、“已完成”、“未完成”,这些是判断页面业务范围的主要 +过程覆盖:`工艺管理_获取物料原料信息`、`计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Query`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询`、`MES_OrderPlanned_EditTaskPlanned`、`计划排产_二次派工`、`MES_OrderPlanned_SingleTaskPlanned`、`计划排产_外协分组`、... + +```text +[进入页面 / src/views/PlanManagement/SelfMakePlandone/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_获取物料原料信息 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 工艺管理_获取物料原料信息 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 计划排产_生产订单_已排产订单查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 计划排产_生产订单_已排产订单查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Query / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Query / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] --> [type 12(当前通用存储过程写入/业务动作) / 计划排产_二次派工 / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / 计划排产_二次派工 / 计划排产或派工] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_SingleTaskPlanned / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_SingleTaskPlanned / 计划排产或派工] --> [type 12(当前通用存储过程写入/业务动作) / 计划排产_外协分组 / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / 计划排产_外协分组 / 计划排产或派工] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / SAP.SBO_YL.dbo.UBT_OWOR_material / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / View_基础数据_工位 / 车间生产管理工艺_零件生产工艺_工艺库] +[主要数据对象 / SAP.SBO_YL.dbo.UBT_OWOR_material / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / View_基础数据_工位 / 车间生产管理工艺_零件生产工艺_工艺库] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `工艺管理_获取物料原料信息` | 业务存储过程调用 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OWOR_material | +| 2 | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 3 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 4 | `MES_OrderPlanned_Query` | 查询/读取数据 | 表:车间生产管理工艺_零件生产工艺_工艺库;视图:View_生产订单_MES | +| 5 | `Prog_MES_LoadStations` | 查询/读取数据 | 表:MES_资源主数据 | +| 6 | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 7 | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 8 | `计划排产_二次派工` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 9 | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 10 | `计划排产_外协分组` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 11 | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 12 | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| ... | ... | 共 13 个过程,此处仅列前 12 个 | 详见分析文档对应页面段落 | + +#### 15. `src/views/PlanManagement/priorityinstall/index.vue` + +页面要点:该页面用于装配优先级调整。用户查询装配计划任务,修改计划开工/完成时间、派工对象或优先级,用于插单和重点订单排序。 页面可见的操作/字段包括 “查询”、“月”、“周”、“日”、“今天”、“表单”、“生产订单”、“计划号”、“物料编码”、“物料名称”,这些是判断页面业务范围的主要线索。 后端主要围绕 MES_OrderPlanned_Que +过程覆盖:`MES_OrderPlanned_Queryzp`、`MES_OrderPlanned_EditTaskPlanned` + +```text +[进入页面 / src/views/PlanManagement/priorityinstall/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Queryzp / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Queryzp / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 车间生产管理工艺_零件生产工艺_工艺库 / 视图:View_生产订单_MES / MES_接口_生产计划 / MES_接口_生产计划_生产任务] +[主要数据对象 / 车间生产管理工艺_零件生产工艺_工艺库 / 视图:View_生产订单_MES / MES_接口_生产计划 / MES_接口_生产计划_生产任务] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 表:车间生产管理工艺_零件生产工艺_工艺库;视图:View_生产订单_MES | +| 2 | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | + +### 17.7 工艺与图纸(ProcessManagement) + +#### 16. `src/views/ProcessManagement/PartDrawing/index.vue` + +页面要点:该页面维护零件图纸。用户按物料查询图纸、查看文件、验证名称、删除图纸并保留删除记录。 页面可见的操作/字段包括 “查询”、“零件图”、“选零件上传零件图”、“查看删除记录”、“查看”、“删除”、“取消”、“确定”、“关闭”、“查看信息”,这些是判断页面业务范围的主要线索。 后端主要围绕 工艺管理_图纸维护_查询删除记录、工艺管理_图纸维护 +过程覆盖:`工艺管理_图纸维护_查询删除记录`、`工艺管理_图纸维护_零件图查询`、`工艺管理_图纸维护_物料查询`、`工艺管理_图纸维护_验证名称`、`工艺管理_图纸维护_查看图纸`、`工艺管理_图纸维护_删除图纸` + +```text +[进入页面 / src/views/ProcessManagement/PartDrawing/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_零件图查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_零件图查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_物料查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_物料查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_验证名称 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_验证名称 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查询删除记录 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查询删除记录 / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / 工艺管理_图纸维护_删除图纸 / 删除业务数据] +[type 12(当前通用存储过程写入/业务动作) / 工艺管理_图纸维护_删除图纸 / 删除业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / View_图纸视图 / SAP.SBO_YL.dbo.UBT_OITM / 物料数据 / 物料基础数据_零件图纸] +[主要数据对象 / View_图纸视图 / SAP.SBO_YL.dbo.UBT_OITM / 物料数据 / 物料基础数据_零件图纸] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `工艺管理_图纸维护_查询删除记录` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 2 | `工艺管理_图纸维护_零件图查询` | 查询/读取数据 | 视图:View_图纸视图 | +| 3 | `工艺管理_图纸维护_物料查询` | 查询/读取数据 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OITM | +| 4 | `工艺管理_图纸维护_验证名称` | 业务存储过程调用 | 表:物料数据 | +| 5 | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 表:物料基础数据_零件图纸 | +| 6 | `工艺管理_图纸维护_删除图纸` | 删除业务数据 | 表:物料基础数据_零件图纸 | + +#### 17. `src/views/ProcessManagement/PartDrawlook/index.vue` + +页面要点:该页面偏只读查看零件图纸,通常给生产或质检人员按物料快速打开图纸。 页面可见的操作/字段包括 “查询”、“查看”、“删除”、“取消”、“确定”、“关闭”、“item.物料编码”、“序号”、“物料编号”、“物料名称”,这些是判断页面业务范围的主要线索。 后端主要围绕 工艺管理_图纸维护_查询删除记录、工艺管理_图纸维护_零件图查询全部、工艺 +过程覆盖:`工艺管理_图纸维护_查询删除记录`、`工艺管理_图纸维护_零件图查询全部`、`工艺管理_图纸维护_物料查询`、`工艺管理_图纸维护_验证名称`、`工艺管理_图纸维护_查看图纸`、`工艺管理_图纸维护_删除图纸` + +```text +[进入页面 / src/views/ProcessManagement/PartDrawlook/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_零件图查询全部 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_零件图查询全部 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_物料查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_物料查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_验证名称 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_验证名称 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查询删除记录 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查询删除记录 / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / 工艺管理_图纸维护_删除图纸 / 删除业务数据] +[type 12(当前通用存储过程写入/业务动作) / 工艺管理_图纸维护_删除图纸 / 删除业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / View_图纸视图 / SAP.SBO_YL.dbo.UBT_OITM / 物料数据 / 物料基础数据_零件图纸] +[主要数据对象 / View_图纸视图 / SAP.SBO_YL.dbo.UBT_OITM / 物料数据 / 物料基础数据_零件图纸] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `工艺管理_图纸维护_查询删除记录` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 2 | `工艺管理_图纸维护_零件图查询全部` | 查询/读取数据 | 视图:View_图纸视图 | +| 3 | `工艺管理_图纸维护_物料查询` | 查询/读取数据 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OITM | +| 4 | `工艺管理_图纸维护_验证名称` | 业务存储过程调用 | 表:物料数据 | +| 5 | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 表:物料基础数据_零件图纸 | +| 6 | `工艺管理_图纸维护_删除图纸` | 删除业务数据 | 表:物料基础数据_零件图纸 | + +#### 18. `src/views/ProcessManagement/ProcedureManagement/index.vue` + +页面要点:该页面维护工序/路线阶段主数据。新增或修改工序时会同步 SAP B1 的 RouteStages,保证 MES 工序与 SAP 工艺阶段一致。 页面可见的操作/字段包括 “新增工艺”、“--> 取 消”、“确 定”、“序号”、“工艺名称”、“操作”、“请输入工艺名称”、“title”,这些是判断页面业务范围的主要线索。 后端主要围绕 ME +过程覆盖:`MES_ProcessManagement_ProcessGet`、`MES_ProcessManagement_ProcessAdd`、`MES_ProcessManagement_ProcessEdit`、`MES_ProcessManagement_Processdel` + +```text +[进入页面 / src/views/ProcessManagement/ProcedureManagement/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_ProcessManagement_ProcessGet / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_ProcessManagement_ProcessGet / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_ProcessManagement_Processdel / 业务存储过程调用] +[type 12(当前通用存储过程写入/业务动作) / MES_ProcessManagement_Processdel / 业务存储过程调用] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / MES_ProcessManagement_ProcessAdd / 新增业务数据] +[type 11(当前通用存储过程查询/执行) / MES_ProcessManagement_ProcessAdd / 新增业务数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_ProcessManagement_ProcessEdit / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_ProcessManagement_ProcessEdit / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 基础表_工序] +[主要数据对象 / 基础表_工序] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `MES_ProcessManagement_ProcessGet` | 查询/读取数据 | 表:基础表_工序 | +| 2 | `MES_ProcessManagement_ProcessAdd` | 新增业务数据 | 未在 SQL 中解析到明确依赖 | +| 3 | `MES_ProcessManagement_ProcessEdit` | 更新/保存业务数据 | 未在 SQL 中解析到明确依赖 | +| 4 | `MES_ProcessManagement_Processdel` | 业务存储过程调用 | 未知 | + +#### 19. `src/views/ProcessManagement/ProcessDrawing/index.vue` + +页面要点:该页面维护工艺图纸。用户按物料/工艺条件查询工艺图,验证名称,查看或删除工艺图纸。 页面可见的操作/字段包括 “查询”、“工艺图”、“选零件上传工艺图”、“选订单上传工艺图”、“查看”、“删除”、“取消”、“确定”、“item.物料编码”、“序号”,这些是判断页面业务范围的主要线索。 后端主要围绕 工艺管理_工艺维护_工艺图查询、工艺管理 +过程覆盖:`工艺管理_工艺维护_工艺图查询`、`工艺管理_图纸维护_物料查询`、`工艺管理_工艺维护_验证名称`、`工艺管理_工艺维护_查看图纸`、`工艺管理_工艺维护_删除图纸` + +```text +[进入页面 / src/views/ProcessManagement/ProcessDrawing/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_工艺维护_工艺图查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_工艺维护_工艺图查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_物料查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_物料查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_工艺维护_验证名称 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 工艺管理_工艺维护_验证名称 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_工艺维护_查看图纸 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_工艺维护_查看图纸 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 12(当前通用存储过程写入/业务动作) / 工艺管理_工艺维护_删除图纸 / 删除业务数据] +[type 12(当前通用存储过程写入/业务动作) / 工艺管理_工艺维护_删除图纸 / 删除业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / SAP.SBO_YL.dbo.UBT_OITM / 物料数据 / 物料基础数据_工艺图纸] +[主要数据对象 / SAP.SBO_YL.dbo.UBT_OITM / 物料数据 / 物料基础数据_工艺图纸] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `工艺管理_工艺维护_工艺图查询` | 查询/读取数据 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OITM | +| 2 | `工艺管理_图纸维护_物料查询` | 查询/读取数据 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OITM | +| 3 | `工艺管理_工艺维护_验证名称` | 业务存储过程调用 | 表:物料数据 | +| 4 | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 表:物料基础数据_工艺图纸 | +| 5 | `工艺管理_工艺维护_删除图纸` | 删除业务数据 | 表:物料基础数据_工艺图纸 | + +#### 20. `src/views/ProcessManagement/ProcessInquiry/index.vue` + +页面要点:该页面用于工艺路线查询。用户按物料、产品、工序等条件查看标准工艺或生产工艺,服务于排产、生产和质检核对。 页面可见的操作/字段包括 “查询”、“打印”、“item.物料编码”、“全部”、“已打印”、“未打印”、“已拣配”、“未拣配”、“机加件”、“装配件”,这些是判断页面业务范围的主要线索。 后端主要围绕 MES_ProcessManag +过程覆盖:`MES_ProcessManagement_PartGet`、`工艺管理_工艺查询_查询生产工艺`、`工艺管理_工艺查询_更新打印次数` + +```text +[进入页面 / src/views/ProcessManagement/ProcessInquiry/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_ProcessManagement_PartGet / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_ProcessManagement_PartGet / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_工艺查询_查询生产工艺 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_工艺查询_查询生产工艺 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_工艺查询_更新打印次数 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_工艺查询_更新打印次数 / 查询/读取数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / SAP.SBO_YL.dbo.UBT_OITM / 车间生产管理工艺_零件生产工艺_工艺库 / 视图:View_生产订单_MES / MES_接口_生产计划] +[主要数据对象 / SAP.SBO_YL.dbo.UBT_OITM / 车间生产管理工艺_零件生产工艺_工艺库 / 视图:View_生产订单_MES / MES_接口_生产计划] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `MES_ProcessManagement_PartGet` | 查询/读取数据 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OITM | +| 2 | `工艺管理_工艺查询_查询生产工艺` | 查询/读取数据 | 表:车间生产管理工艺_零件生产工艺_工艺库;视图:View_生产订单_MES | +| 3 | `工艺管理_工艺查询_更新打印次数` | 查询/读取数据 | 表:MES_接口_生产计划 | + +#### 21. `src/views/ProcessManagement/ProcessProduct/index.vue` + +页面要点:该页面维护产品与工艺/图纸的关系,使产品、物料、工序、图纸等基础数据形成可查询的工艺资料。 页面可见的操作/字段包括 “查询”、“批量生成生产工艺”、“编辑工艺”、“拷贝”、“零件图纸”、“工艺图纸”、“保存为标准工艺”、“下发任务”、“已保存”、“保存”,这些是判断页面业务范围的主要线索。 后端主要围绕 工艺管理_获取物料原料信息、工艺 +过程覆盖:`工艺管理_获取物料原料信息`、`工艺管理_生产工艺_查询生产工艺`、`工艺管理_生产工艺_工艺拷贝`、`工艺管理_生产工艺_生产工艺拷贝`、`工艺管理_生产工艺_标准工艺拷贝`、`计划排产_生产订单_订单查询`、`计划排产_生产订单_订单任务_生产工艺任务下发`、`计划排产_生产订单_订单任务_单条生产工艺任务下发`、`工艺管理_零件工序_生产工艺_批量生成生产工艺`、`设备管理_设备信息_查询`、... + +```text +[进入页面 / src/views/ProcessManagement/ProcessProduct/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_获取物料原料信息 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 工艺管理_获取物料原料信息 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_生产工艺_标准工艺拷贝 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 工艺管理_生产工艺_标准工艺拷贝 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / 设备管理_设备信息_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 设备管理_设备信息_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / MES_ProcessManagement_ProcessBindGet / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_ProcessManagement_ProcessBindGet / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_制定标准工艺_拷贝生产工艺 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 工艺管理_制定标准工艺_拷贝生产工艺 / 业务存储过程调用] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_生产工艺_查询生产工艺 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_生产工艺_查询生产工艺 / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / 工艺管理_生产工艺_工艺拷贝 / 业务存储过程调用] +[type 12(当前通用存储过程写入/业务动作) / 工艺管理_生产工艺_工艺拷贝 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_生产工艺_生产工艺拷贝 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 工艺管理_生产工艺_生产工艺拷贝 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / 计划排产_生产订单_订单查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 计划排产_生产订单_订单查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 计划排产_生产订单_订单任务_生产工艺任务下发 / 计划排产或派工] +[type 11(当前通用存储过程查询/执行) / 计划排产_生产订单_订单任务_生产工艺任务下发 / 计划排产或派工] --> [type 12(当前通用存储过程写入/业务动作) / 计划排产_生产订单_订单任务_单条生产工艺任务下发 / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / 计划排产_生产订单_订单任务_单条生产工艺任务下发 / 计划排产或派工] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / SAP.SBO_YL.dbo.UBT_OWOR_material / 车间生产管理工艺_零件生产工艺_工艺库 / MES_接口_生产计划 / 车间生产管理工艺_零件工序_工艺库 / 物料数据] +[主要数据对象 / SAP.SBO_YL.dbo.UBT_OWOR_material / 车间生产管理工艺_零件生产工艺_工艺库 / MES_接口_生产计划 / 车间生产管理工艺_零件工序_工艺库 / 物料数据] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `工艺管理_获取物料原料信息` | 业务存储过程调用 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OWOR_material | +| 2 | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 表:车间生产管理工艺_零件生产工艺_工艺库 | +| 3 | `工艺管理_生产工艺_工艺拷贝` | 业务存储过程调用 | 表:MES_接口_生产计划 | +| 4 | `工艺管理_生产工艺_生产工艺拷贝` | 业务存储过程调用 | 表:MES_接口_生产计划 | +| 5 | `工艺管理_生产工艺_标准工艺拷贝` | 业务存储过程调用 | 表:车间生产管理工艺_零件工序_工艺库、物料数据 | +| 6 | `计划排产_生产订单_订单查询` | 查询/读取数据 | 表:MES_接口_生产计划;视图:View_生产计划零件图纸视图 | +| 7 | `计划排产_生产订单_订单任务_生产工艺任务下发` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 8 | `计划排产_生产订单_订单任务_单条生产工艺任务下发` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 9 | `工艺管理_零件工序_生产工艺_批量生成生产工艺` | 业务存储过程调用 | 表:MES_接口_生产计划 | +| 10 | `设备管理_设备信息_查询` | 查询/读取数据 | 表:YL_基础表_数据字典 | +| 11 | `MES_ProcessManagement_ProcessBindGet` | 查询/读取数据 | 表:车间生产管理工艺_零件工序_工艺库 | +| 12 | `工艺管理_制定标准工艺_拷贝生产工艺` | 业务存储过程调用 | 表:车间生产管理工艺_零件生产工艺_工艺库 | +| ... | ... | 共 24 个过程,此处仅列前 12 个 | 详见分析文档对应页面段落 | + +#### 22. `src/views/ProcessManagement/ProcessesDevelop/index.vue` + +页面要点:该页面用于工艺开发和生产工艺路线维护。用户围绕物料、工序、顺序、工艺参数、图纸等信息维护标准或生产用工艺路线。 页面可见的操作/字段包括 “查询”、“拷贝”、“图纸”、“已保存”、“保存”、“导出”、“--> 生产工艺 取消”、“确定”、“item.物料编码”、“工序”,这些是判断页面业务范围的主要线索。 后端主要围绕 工艺管理_获取物料 +过程覆盖:`工艺管理_获取物料原料信息`、`设备管理_设备信息_查询`、`工艺管理_生产计划物料查询`、`工艺管理_生产工艺_生产工艺拷贝`、`工艺管理_生产工艺_标准工艺拷贝`、`MES_ProcessManagement_ProcessBindGet`、`工艺管理_制定标准工艺_拷贝生产工艺`、`MES_ProcessManagement_ProcessGet`、`工艺管理_制定标准工艺_拷贝工艺保存`、`工艺管理_工艺维护_查看图纸`、... + +```text +[进入页面 / src/views/ProcessManagement/ProcessesDevelop/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_获取物料原料信息 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 工艺管理_获取物料原料信息 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / 设备管理_设备信息_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 设备管理_设备信息_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_生产工艺_标准工艺拷贝 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 工艺管理_生产工艺_标准工艺拷贝 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / MES_ProcessManagement_ProcessBindGet / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_ProcessManagement_ProcessBindGet / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_制定标准工艺_拷贝生产工艺 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 工艺管理_制定标准工艺_拷贝生产工艺 / 业务存储过程调用] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_生产计划物料查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_生产计划物料查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_生产工艺_生产工艺拷贝 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 工艺管理_生产工艺_生产工艺拷贝 / 业务存储过程调用] --> [type 12(当前通用存储过程写入/业务动作) / 工艺管理_制定标准工艺_拷贝工艺保存 / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / 工艺管理_制定标准工艺_拷贝工艺保存 / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 车间生产管理工艺_零件工序_修改数据_工艺库 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 车间生产管理工艺_零件工序_修改数据_工艺库 / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 车间生产管理工艺_零件工序_编辑_工艺库 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 车间生产管理工艺_零件工序_编辑_工艺库 / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 车间生产管理工艺_零件工序_编辑插入行 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 车间生产管理工艺_零件工序_编辑插入行 / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / SAP.SBO_YL.dbo.UBT_OWOR_material / YL_基础表_数据字典 / MES_接口_生产计划 / 车间生产管理工艺_零件工序_工艺库 / 物料数据] +[主要数据对象 / SAP.SBO_YL.dbo.UBT_OWOR_material / YL_基础表_数据字典 / MES_接口_生产计划 / 车间生产管理工艺_零件工序_工艺库 / 物料数据] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `工艺管理_获取物料原料信息` | 业务存储过程调用 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OWOR_material | +| 2 | `设备管理_设备信息_查询` | 查询/读取数据 | 表:YL_基础表_数据字典 | +| 3 | `工艺管理_生产计划物料查询` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 4 | `工艺管理_生产工艺_生产工艺拷贝` | 业务存储过程调用 | 表:MES_接口_生产计划 | +| 5 | `工艺管理_生产工艺_标准工艺拷贝` | 业务存储过程调用 | 表:车间生产管理工艺_零件工序_工艺库、物料数据 | +| 6 | `MES_ProcessManagement_ProcessBindGet` | 查询/读取数据 | 表:车间生产管理工艺_零件工序_工艺库 | +| 7 | `工艺管理_制定标准工艺_拷贝生产工艺` | 业务存储过程调用 | 表:车间生产管理工艺_零件生产工艺_工艺库 | +| 8 | `MES_ProcessManagement_ProcessGet` | 查询/读取数据 | 表:基础表_工序 | +| 9 | `工艺管理_制定标准工艺_拷贝工艺保存` | 更新/保存业务数据 | 表:MES_接口_生产计划 | +| 10 | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 表:物料基础数据_工艺图纸 | +| 11 | `车间生产管理工艺_零件工序_修改数据_工艺库` | 更新/保存业务数据 | 表:MES_接口_生产计划 | +| 12 | `车间生产管理工艺_零件工序_查询工序信息_工艺库` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| ... | ... | 共 19 个过程,此处仅列前 12 个 | 详见分析文档对应页面段落 | + +#### 23. `src/views/ProcessManagement/ProcurementDrawlook/index.vue` + +页面要点:该页面提供采购场景的图纸查看。用户按采购物料查询图纸,查看或删除图纸记录,支持采购、外协、来料检验时查阅技术文件。 页面可见的操作/字段包括 “查询”、“查看”、“删除”、“取消”、“确定”、“关闭”、“item.物料编码”、“序号”、“物料编号”、“物料名称”,这些是判断页面业务范围的主要线索。 后端主要围绕 工艺管理_图纸维护_查询删 +过程覆盖:`工艺管理_图纸维护_查询删除记录`、`工艺管理_图纸维护_零件图查询采购`、`工艺管理_图纸维护_物料查询_采购`、`工艺管理_图纸维护_验证名称`、`工艺管理_图纸维护_查看图纸`、`工艺管理_图纸维护_删除图纸` + +```text +[进入页面 / src/views/ProcessManagement/ProcurementDrawlook/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_零件图查询采购 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_零件图查询采购 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_物料查询_采购 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_物料查询_采购 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_验证名称 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_验证名称 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查询删除记录 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查询删除记录 / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / 工艺管理_图纸维护_删除图纸 / 删除业务数据] +[type 12(当前通用存储过程写入/业务动作) / 工艺管理_图纸维护_删除图纸 / 删除业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / View_图纸视图 / SAP.SBO_YL.dbo.UBT_OITM / 物料数据 / 物料基础数据_零件图纸] +[主要数据对象 / View_图纸视图 / SAP.SBO_YL.dbo.UBT_OITM / 物料数据 / 物料基础数据_零件图纸] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `工艺管理_图纸维护_查询删除记录` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 2 | `工艺管理_图纸维护_零件图查询采购` | 查询/读取数据 | 视图:View_图纸视图 | +| 3 | `工艺管理_图纸维护_物料查询_采购` | 查询/读取数据 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OITM | +| 4 | `工艺管理_图纸维护_验证名称` | 业务存储过程调用 | 表:物料数据 | +| 5 | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 表:物料基础数据_零件图纸 | +| 6 | `工艺管理_图纸维护_删除图纸` | 删除业务数据 | 表:物料基础数据_零件图纸 | + +#### 24. `src/views/ProcessManagement/ProductionOrder/index.vue` + +页面要点:该页面处理生产订单资料。用户查询 ERP/MES 生产订单,并通过过程把 SAP 生产订单同步成 MES 生产计划和工序任务。 页面可见的操作/字段包括 “查询”、“批量生成任务”、“查看生产工艺”、“查看标准工艺”、“全部”、“未下发”、“已下发”、“机加件”、“装配件”、“序号”,这些是判断页面业务范围的主要线索。 后端主要围绕 设备 +过程覆盖:`设备管理_设备信息_查询`、`工艺管理_生产工艺_查询生产工艺`、`工艺管理_生产工艺_查询标准工艺`、`工艺管理_工艺任务_订单查询`、`计划排产_生产订单_订单任务` + +```text +[进入页面 / src/views/ProcessManagement/ProductionOrder/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 设备管理_设备信息_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 设备管理_设备信息_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_生产工艺_查询标准工艺 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_生产工艺_查询标准工艺 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_生产工艺_查询生产工艺 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_生产工艺_查询生产工艺 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_工艺任务_订单查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_工艺任务_订单查询 / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / 计划排产_生产订单_订单任务 / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / 计划排产_生产订单_订单任务 / 计划排产或派工] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / YL_基础表_数据字典 / 车间生产管理工艺_零件生产工艺_工艺库 / 车间生产管理工艺_零件工序_工艺库 / MES_接口_生产计划 / MES_接口_生产计划_生产任务] +[主要数据对象 / YL_基础表_数据字典 / 车间生产管理工艺_零件生产工艺_工艺库 / 车间生产管理工艺_零件工序_工艺库 / MES_接口_生产计划 / MES_接口_生产计划_生产任务] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `设备管理_设备信息_查询` | 查询/读取数据 | 表:YL_基础表_数据字典 | +| 2 | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 表:车间生产管理工艺_零件生产工艺_工艺库 | +| 3 | `工艺管理_生产工艺_查询标准工艺` | 查询/读取数据 | 表:车间生产管理工艺_零件工序_工艺库 | +| 4 | `工艺管理_工艺任务_订单查询` | 查询/读取数据 | 表:MES_接口_生产计划 | +| 5 | `计划排产_生产订单_订单任务` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | + +### 17.8 生产执行(ProductionManagement) + +#### 25. `src/views/ProductionManagement/AbnormalControl/index.vue` + +页面要点:该页面管理生产异常。用户查询异常记录,推进异常处理、关闭或记录处理结果。 页面可见的操作/字段包括 “处理”、“转办”、“发起新流程”、“查看进度”、“完结”、“查看详情”、“点击上传”、“添加审批人”、“查询”、“取 消”,这些是判断页面业务范围的主要线索。 后端主要围绕 sp_获取最近处理任务、人员管理_人员信息查询、sp_获取我的流 +过程覆盖:`sp_获取最近处理任务`、`人员管理_人员信息查询`、`sp_获取我的流程`、`sp_获取待处理任务`、`MES_ProductAdmin_Query`、`sp_创建流程_简化版`、`sp_处理审批`、`sp_转办流程`、`sp_完成流程`、`sp_获取流程详情` + +```text +[进入页面 / src/views/ProductionManagement/AbnormalControl/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / sp_获取最近处理任务 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / sp_获取最近处理任务 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / sp_获取我的流程 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / sp_获取我的流程 / 业务存储过程调用] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / sp_获取待处理任务 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / sp_获取待处理任务 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / MES_ProductAdmin_Query / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_ProductAdmin_Query / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / sp_创建流程_简化版 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / sp_创建流程_简化版 / 业务存储过程调用] --> [type 12(当前通用存储过程写入/业务动作) / sp_处理审批 / 业务存储过程调用] +[type 12(当前通用存储过程写入/业务动作) / sp_处理审批 / 业务存储过程调用] --> [type 12(当前通用存储过程写入/业务动作) / sp_转办流程 / 业务存储过程调用] +[type 12(当前通用存储过程写入/业务动作) / sp_转办流程 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / sp_完成流程 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / sp_完成流程 / 业务存储过程调用] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 登录基础数据_管理人员权限视图 / View_生产订单_MES] +[主要数据对象 / 登录基础数据_管理人员权限视图 / View_生产订单_MES] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `sp_获取最近处理任务` | 业务存储过程调用 | 未在 SQL 中解析到明确依赖 | +| 2 | `人员管理_人员信息查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 3 | `sp_获取我的流程` | 业务存储过程调用 | 未在 SQL 中解析到明确依赖 | +| 4 | `sp_获取待处理任务` | 业务存储过程调用 | 未在 SQL 中解析到明确依赖 | +| 5 | `MES_ProductAdmin_Query` | 查询/读取数据 | 视图:View_生产订单_MES | +| 6 | `sp_创建流程_简化版` | 业务存储过程调用 | 未在 SQL 中解析到明确依赖 | +| 7 | `sp_处理审批` | 业务存储过程调用 | 未在 SQL 中解析到明确依赖 | +| 8 | `sp_转办流程` | 业务存储过程调用 | 未在 SQL 中解析到明确依赖 | +| 9 | `sp_完成流程` | 业务存储过程调用 | 未在 SQL 中解析到明确依赖 | +| 10 | `sp_获取流程详情` | 业务存储过程调用 | 未在 SQL 中解析到明确依赖 | + +#### 26. `src/views/ProductionManagement/AssemblePlanTrack/index.vue` + +页面要点:该页面跟踪装配计划执行,展示装配任务进度、计划完成情况和异常。 页面可见的操作/字段包括 “查询”、“全部”、“已完成”、“未完成”、“序号”、“工序名称”、“计划数量”、“指派对象”、“开始时间”、“结束时间”,这些是判断页面业务范围的主要线索。 后端主要围绕 MES_OrderPlanned_Query +过程覆盖:`MES_OrderPlanned_Queryzp`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` + +```text +[进入页面 / src/views/ProductionManagement/AssemblePlanTrack/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Queryzp / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Queryzp / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_DescriptionEdit / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_DescriptionEdit / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 车间生产管理工艺_零件生产工艺_工艺库 / 视图:View_生产订单_MES / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / MES_资源主数据] +[主要数据对象 / 车间生产管理工艺_零件生产工艺_工艺库 / 视图:View_生产订单_MES / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / MES_资源主数据] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 表:车间生产管理工艺_零件生产工艺_工艺库;视图:View_生产订单_MES | +| 2 | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 3 | `Prog_MES_LoadStations` | 查询/读取数据 | 表:MES_资源主数据 | + +#### 27. `src/views/ProductionManagement/AssembleStatus/index.vue` + +页面要点:该页面查看装配现场状态,重点展示进行中任务和当前工位状态。 页面可见的操作/字段包括 “查询”、“item.label”、“序号”、“人员名称”、“工位”、“生产订单”、“计划号”、“销售订单”、“物料名称”、“物料编码”,这些是判断页面业务范围的主要线索。 后端主要围绕 人员管理_人员信息查询_质检部门_查询、MES_登录_工位与名称_ +过程覆盖:`人员管理_人员信息查询_质检部门_查询`、`MES_登录_工位与名称_查询`、`生产管理_装配状态_获取进行中任务` + +```text +[进入页面 / src/views/ProductionManagement/AssembleStatus/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 生产管理_装配状态_获取进行中任务 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 生产管理_装配状态_获取进行中任务 / 业务存储过程调用] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 登录基础数据_管理人员权限视图 / View_基础数据_工位 / YL_加工中心_操作记录表 / 视图:View_生产订单_MES] +[主要数据对象 / 登录基础数据_管理人员权限视图 / View_基础数据_工位 / YL_加工中心_操作记录表 / 视图:View_生产订单_MES] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 2 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 3 | `生产管理_装配状态_获取进行中任务` | 业务存储过程调用 | 表:YL_加工中心_操作记录表;视图:View_生产订单_MES | + +#### 28. `src/views/ProductionManagement/AssembleTaskManage/index.vue` + +页面要点:该页面管理装配任务。用户查询装配生产任务、查看工时汇总,进行派工、任务说明维护和外协/生产通知。 页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确认修改”、“拆分子任务”、“确定”、“编辑”、“取 消”、“确 定”、“全部”,这些是判断页面业务范围的主要线索。 后端主要围绕 MES_登录_工位与名称_查询、MES_Or +过程覆盖:`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Finish`、`MES_OrderPlanned_ChildTask_Add`、`MES_OrderPlanned_ChildTask_Get`、`MES_OrderPlanned_Query`、`Prog_MES_LoadStations`、`MES_OrderPlanned_EditTaskPlanned`、`MES_OrderPlanned_SingleTaskPlanned`、`MES_OrderPlanned_DescriptionEdit` + +```text +[进入页面 / src/views/ProductionManagement/AssembleTaskManage/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_Finish / 确认/关闭/完成业务动作] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_Finish / 确认/关闭/完成业务动作] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_ChildTask_Add / 新增业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_ChildTask_Add / 新增业务数据] --> [type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_ChildTask_Get / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_ChildTask_Get / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Query / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_OrderPlanned_Query / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_SingleTaskPlanned / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_SingleTaskPlanned / 计划排产或派工] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / View_基础数据_工位 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / 车间生产管理工艺_零件生产工艺_工艺库 / 视图:View_生产订单_MES] +[主要数据对象 / View_基础数据_工位 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / 车间生产管理工艺_零件生产工艺_工艺库 / 视图:View_生产订单_MES] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 2 | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 3 | `MES_OrderPlanned_ChildTask_Add` | 新增业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 4 | `MES_OrderPlanned_ChildTask_Get` | 查询/读取数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 5 | `MES_OrderPlanned_Query` | 查询/读取数据 | 表:车间生产管理工艺_零件生产工艺_工艺库;视图:View_生产订单_MES | +| 6 | `Prog_MES_LoadStations` | 查询/读取数据 | 表:MES_资源主数据 | +| 7 | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 8 | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 9 | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | + +#### 29. `src/views/ProductionManagement/AssembleTasksSum/index.vue` + +页面要点:该页面汇总装配任务,按订单、工位、人员或状态统计装配执行情况。 页面可见的操作/字段包括 “查询”、“编辑”、“取 消”、“确 定”、“item.指南工位号”、“表单”、“序号”、“销售订单”、“生产订单”、“零件编码”,这些是判断页面业务范围的主要线索。 后端主要围绕 MES_登录_工位与名称_查询、MES_ProductTask_Wo +过程覆盖:`MES_登录_工位与名称_查询`、`MES_ProductTask_WorkTimeSum`、`MES_ProductAdmin_Query`、`Prog_MES_LoadStations`、`MES_OrderPlanned_DescriptionEdit`、`MES_OrderPlanned_EditTaskPlanned` + +```text +[进入页面 / src/views/ProductionManagement/AssembleTasksSum/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / MES_ProductTask_WorkTimeSum / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / MES_ProductTask_WorkTimeSum / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / MES_ProductAdmin_Query / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_ProductAdmin_Query / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_DescriptionEdit / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_DescriptionEdit / 更新/保存业务数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / View_基础数据_工位 / View_生产订单_MES / MES_资源主数据 / MES_接口_生产计划 / MES_接口_生产计划_生产任务] +[主要数据对象 / View_基础数据_工位 / View_生产订单_MES / MES_资源主数据 / MES_接口_生产计划 / MES_接口_生产计划_生产任务] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 2 | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 未在 SQL 中解析到明确依赖 | +| 3 | `MES_ProductAdmin_Query` | 查询/读取数据 | 视图:View_生产订单_MES | +| 4 | `Prog_MES_LoadStations` | 查询/读取数据 | 表:MES_资源主数据 | +| 5 | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 6 | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | + +#### 30. `src/views/ProductionManagement/AssemblyCenter/index.vue` + +页面要点:该页面是装配生产执行主界面。装配人员按工位查询装配任务,处理开工、结束/报工、送检、缺料查询、收检记录、图纸查看和退库等动作,并会读取 SAP 生产订单信息辅助判断。 页面可见的操作/字段包括 “查询 --> 缺料”、“上一个 下一个”、“删除当前记录 关闭”、“上一个 下一个 保存当前记录 删除当前记录 关闭”、“确定 关闭”、“取 消 +过程覆盖:`生产管理_获取人员绑定`、`加急订单_加急明细查询`、`MES_人员工时记录_获取进行中任务2`、`MES_人员工时记录_获取进行中任务`、`工时校验_获取订单列表`、`异常工时_新增操作记录`、`工时校验_获取订单工序`、`MES_登录_工位与名称_查询`、`Prog_MES_LoadProcess`、`MES_ProductCenter_GetTask_zp`、... +WMS/条码任务:页面涉及 `stocktask` 出库/入库任务接口。 + +```text +[进入页面 / src/views/ProductionManagement/AssemblyCenter/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 生产管理_获取人员绑定 / 基础权限/人员数据处理] +[type 11(当前通用存储过程查询/执行) / 生产管理_获取人员绑定 / 基础权限/人员数据处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取订单工序 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取订单工序 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadProcess / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadProcess / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_装配中心_缺料查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_装配中心_缺料查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / MES_人员工时记录_获取进行中任务2 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / MES_人员工时记录_获取进行中任务2 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / MES_人员工时记录_获取进行中任务 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / MES_人员工时记录_获取进行中任务 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取订单列表 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取订单列表 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 异常工时_新增操作记录 / 新增业务数据] +[type 11(当前通用存储过程查询/执行) / 异常工时_新增操作记录 / 新增业务数据] --> [type 11(当前通用存储过程查询/执行) / MES_ProductCenter_GetTask_zp / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_ProductCenter_GetTask_zp / 查询/读取数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [是否需要外部系统同步?] +[是否需要外部系统同步?] -- WMS/条码 --> [stocktask 入库/出库任务 / 物料/条码/数量同步] +[是否需要外部系统同步?] -- 否 --> [MES 本地状态生效] +[stocktask 入库/出库任务 / 物料/条码/数量同步] --> [外部返回成功?] +[MES 本地状态生效] --> [刷新列表/明细/看板数据] +[外部返回成功?] -- 是 --> [刷新列表/明细/看板数据] +[外部返回成功?] -- 否 --> [记录失败原因 / 保留待重试/待处理状态] +[记录失败原因 / 保留待重试/待处理状态] --> [刷新列表/明细/看板数据] +[用户是否发起业务动作?] -- 否 --> [刷新列表/明细/看板数据] +[刷新列表/明细/看板数据] --> [主要数据对象 / MES_资源主数据 / 工位人员绑定表 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / MES_接口_生产计划_生产任务] +[主要数据对象 / MES_资源主数据 / 工位人员绑定表 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / MES_接口_生产计划_生产任务] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `生产管理_获取人员绑定` | 基础权限/人员数据处理 | 表:MES_资源主数据、工位人员绑定表 | +| 2 | `加急订单_加急明细查询` | 查询/读取数据 | 表:MES_接口_生产计划;SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL | +| 3 | `MES_人员工时记录_获取进行中任务2` | 报工或工时处理 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务、YL_加工中心_操作记录表 | +| 4 | `MES_人员工时记录_获取进行中任务` | 报工或工时处理 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务、YL_加工中心_操作记录表 | +| 5 | `工时校验_获取订单列表` | 报工或工时处理 | 表:MES_接口_生产计划 | +| 6 | `异常工时_新增操作记录` | 新增业务数据 | 表:YL_加工中心_操作记录表;视图:View_生产订单_MES | +| 7 | `工时校验_获取订单工序` | 报工或工时处理 | 视图:View_生产订单_MES | +| 8 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 9 | `Prog_MES_LoadProcess` | 查询/读取数据 | 表:基础表_工序 | +| 10 | `MES_ProductCenter_GetTask_zp` | 查询/读取数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务、登录基础数据_人员信息、YL_质量检验_质检记录;视图:View_生产订单_MES | +| 11 | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 未在 SQL 中解析到明确依赖 | +| 12 | `生产管理_装配中心_缺料查询` | 查询/读取数据 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OPKL_MissQty | +| ... | ... | 共 26 个过程,此处仅列前 12 个 | 详见分析文档对应页面段落 | + +#### 31. `src/views/ProductionManagement/DeviceStatus/index.vue` + +页面要点:该页面查看设备/工位生产状态,通常用于判断设备是否在加工、待机、报警或空闲。 页面可见的操作/字段包括 “查询”、“item.name”、“序号”、“工位”、“生产订单”、“计划号”、“销售订单”、“物料名称”、“物料编码”、“顺序”,这些是判断页面业务范围的主要线索。 后端主要围绕 MES_登录_工位与名称_查询、设备管理_设备状态_查 +过程覆盖:`MES_登录_工位与名称_查询`、`设备管理_设备状态_查询` + +```text +[进入页面 / src/views/ProductionManagement/DeviceStatus/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 设备管理_设备状态_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 设备管理_设备状态_查询 / 查询/读取数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / View_基础数据_工位 / MES_资源主数据 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / YL_质量检验_质检记录] +[主要数据对象 / View_基础数据_工位 / MES_资源主数据 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / YL_质量检验_质检记录] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 2 | `设备管理_设备状态_查询` | 查询/读取数据 | 表:MES_资源主数据、MES_接口_生产计划、MES_接口_生产计划_生产任务、YL_质量检验_质检记录;视图:View_生产订单_MES、View_设备工位人员 | + +#### 32. `src/views/ProductionManagement/MachiningCenter/index.vue` + +页面要点:该页面是机加生产执行主界面。操作员按工位查看可执行任务和进行中任务,完成收料、开始加工、暂停/恢复、报工、辅助工序、首检/巡检/序检、生产发料查询、退库、图纸查看等动作,并写入加工中心操作记录和报工记录。 页面可见的操作/字段包括 “取 消”、“确 定”、“上一个 下一个”、“删除当前记录 关闭”、“上一个 下一个 保存当前记录 删除当前 +过程覆盖:`生产管理_加工中心_获取设备人员`、`生产管理_加工中心_获取班次信息`、`加急订单_加急明细查询`、`生产管理_获取人员绑定`、`工时校验_获取订单工序`、`工时校验_获取订单列表`、`异常工时_新增操作记录`、`MES_操作记录_获取暂停状态`、`MES_操作记录_获取任务暂停状态`、`MES_登录_工位与名称_查询`、... +WMS/条码任务:页面涉及 `stocktask` 出库/入库任务接口。 + +```text +[进入页面 / src/views/ProductionManagement/MachiningCenter/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 生产管理_加工中心_获取设备人员 / 基础权限/人员数据处理] +[type 11(当前通用存储过程查询/执行) / 生产管理_加工中心_获取设备人员 / 基础权限/人员数据处理] --> [type 11(当前通用存储过程查询/执行) / 生产管理_加工中心_获取班次信息 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 生产管理_加工中心_获取班次信息 / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / 生产管理_获取人员绑定 / 基础权限/人员数据处理] +[type 11(当前通用存储过程查询/执行) / 生产管理_获取人员绑定 / 基础权限/人员数据处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取订单工序 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取订单工序 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / MES_操作记录_获取暂停状态 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / MES_操作记录_获取暂停状态 / 业务存储过程调用] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取订单列表 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取订单列表 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 异常工时_新增操作记录 / 新增业务数据] +[type 11(当前通用存储过程查询/执行) / 异常工时_新增操作记录 / 新增业务数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_ProductTask_HelpStart / 业务存储过程调用] +[type 12(当前通用存储过程写入/业务动作) / MES_ProductTask_HelpStart / 业务存储过程调用] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_GetProductOrder_byAID / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_GetProductOrder_byAID / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / MES_ProductCenter_GetTask / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_ProductCenter_GetTask / 查询/读取数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [是否需要外部系统同步?] +[是否需要外部系统同步?] -- WMS/条码 --> [stocktask 入库/出库任务 / 物料/条码/数量同步] +[是否需要外部系统同步?] -- 否 --> [MES 本地状态生效] +[stocktask 入库/出库任务 / 物料/条码/数量同步] --> [外部返回成功?] +[MES 本地状态生效] --> [刷新列表/明细/看板数据] +[外部返回成功?] -- 是 --> [刷新列表/明细/看板数据] +[外部返回成功?] -- 否 --> [记录失败原因 / 保留待重试/待处理状态] +[记录失败原因 / 保留待重试/待处理状态] --> [刷新列表/明细/看板数据] +[用户是否发起业务动作?] -- 否 --> [刷新列表/明细/看板数据] +[刷新列表/明细/看板数据] --> [主要数据对象 / View_设备工位人员 / 班次表 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / MES_资源主数据] +[主要数据对象 / View_设备工位人员 / 班次表 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / MES_资源主数据] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `生产管理_加工中心_获取设备人员` | 基础权限/人员数据处理 | 视图:View_设备工位人员 | +| 2 | `生产管理_加工中心_获取班次信息` | 业务存储过程调用 | 表:班次表 | +| 3 | `加急订单_加急明细查询` | 查询/读取数据 | 表:MES_接口_生产计划;SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL | +| 4 | `生产管理_获取人员绑定` | 基础权限/人员数据处理 | 表:MES_资源主数据、工位人员绑定表 | +| 5 | `工时校验_获取订单工序` | 报工或工时处理 | 视图:View_生产订单_MES | +| 6 | `工时校验_获取订单列表` | 报工或工时处理 | 表:MES_接口_生产计划 | +| 7 | `异常工时_新增操作记录` | 新增业务数据 | 表:YL_加工中心_操作记录表;视图:View_生产订单_MES | +| 8 | `MES_操作记录_获取暂停状态` | 业务存储过程调用 | 表:YL_加工中心_操作记录表 | +| 9 | `MES_操作记录_获取任务暂停状态` | 业务存储过程调用 | 表:YL_加工中心_操作记录表 | +| 10 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 11 | `Prog_MES_LoadProcess` | 查询/读取数据 | 表:基础表_工序 | +| 12 | `查询字典` | 查询/读取数据 | 表:YL_基础表_数据字典 | +| ... | ... | 共 48 个过程,此处仅列前 12 个 | 详见分析文档对应页面段落 | + +#### 33. `src/views/ProductionManagement/OutsourceMange/index.vue` + +页面要点:该页面管理外协任务。用户查询可外协工序,按供应商/订单/工序分组,执行外协派工并同步 SAP 采购请求或相关单据,维护外协发料、收料、质检记录、打印次数和备注。 页面可见的操作/字段包括 “查询 派工并同步SAP”、“打印”、“发料”、“收货”、“编辑”、“历史记录”、“查看图纸”、“工艺图纸”、“取 消”、“确 定”,这些是判断页面业务 +过程覆盖:`生产管理_外协管理_外协历史查询`、`计划排产_派工`、`生产管理_外协管理_更新打印次数`、`生产管理_外协管理_更新备注`、`工艺管理_图纸维护_查看图纸`、`工艺管理_工艺维护_查看图纸`、`生产管理_外协管理_查询外协全部`、`生产管理_外协管理_外协发料查询`、`生产管理_外协管理_外协发料保存`、`生产管理_外协管理_外协收料保存` + +```text +[进入页面 / src/views/ProductionManagement/OutsourceMange/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_外协历史查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_外协历史查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_工艺维护_查看图纸 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_工艺维护_查看图纸 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 12(当前通用存储过程写入/业务动作) / 计划排产_派工 / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / 计划排产_派工 / 计划排产或派工] --> [type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_更新打印次数 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_更新打印次数 / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_更新备注 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_更新备注 / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_查询外协全部 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_查询外协全部 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_外协发料查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_外协发料查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_外协发料保存 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_外协发料保存 / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / YL_加工中心_操作记录表 / 视图:View_生产订单_MES / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / 物料基础数据_零件图纸] +[主要数据对象 / YL_加工中心_操作记录表 / 视图:View_生产订单_MES / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / 物料基础数据_零件图纸] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `生产管理_外协管理_外协历史查询` | 查询/读取数据 | 表:YL_加工中心_操作记录表;视图:View_生产订单_MES | +| 2 | `计划排产_派工` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 3 | `生产管理_外协管理_更新打印次数` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 4 | `生产管理_外协管理_更新备注` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 5 | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 表:物料基础数据_零件图纸 | +| 6 | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 表:物料基础数据_工艺图纸 | +| 7 | `生产管理_外协管理_查询外协全部` | 查询/读取数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务、YL_质量检验_质检记录;视图:View_生产订单全部(包括已关闭) | +| 8 | `生产管理_外协管理_外协发料查询` | 查询/读取数据 | 表:YL_质量检验_质检记录;视图:View_生产订单_MES | +| 9 | `生产管理_外协管理_外协发料保存` | 更新/保存业务数据 | 表:MES_接口_生产计划 | +| 10 | `生产管理_外协管理_外协收料保存` | 更新/保存业务数据 | 表:MES_接口_生产计划 | + +#### 34. `src/views/ProductionManagement/OutsourceSheet/index.vue` + +页面要点:该页面输出外协报表。用户按订单、合同、产品、计划号、供应商、状态分页查询外协报表,也可导出,用于外协进度、发料、收料、质检、开票等跟踪。 页面可见的操作/字段包括 “查询”、“Excel导出”、“全部”、“收检”、“终检”、“来料检验”、“退库检验”、“收料小于发料”、“供应商”、“订单号”,这些是判断页面业务范围的主要线索。 后端主要围 +过程覆盖:`生产管理_外协报表_导出`、`生产管理_外协报表_查询` + +```text +[进入页面 / src/views/ProductionManagement/OutsourceSheet/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 2001(导出/报表类过程) / 生产管理_外协报表_导出 / 外协业务处理] +[type 2001(导出/报表类过程) / 生产管理_外协报表_导出 / 外协业务处理] --> [type 11(当前通用存储过程查询/执行) / 生产管理_外协报表_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_外协报表_查询 / 查询/读取数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `生产管理_外协报表_导出` | 外协业务处理 | 未在 SQL 中解析到明确依赖 | +| 2 | `生产管理_外协报表_查询` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | + +#### 35. `src/views/ProductionManagement/PersonnelBinding/index.vue` + +页面要点:该页面维护工位与人员绑定关系。用于限制或提示哪些人员可在指定工位报工、开工或执行任务。 页面可见的操作/字段包括 “查询”、“绑定人员”、“确 定”、“取 消”、“序号”、“工位名称”、“工位号”、“操作”、“请输入工位名称”,这些是判断页面业务范围的主要线索。 后端主要围绕 MES_登录_工位与名称_查询、系统管理_人员管理_所有有效人 +过程覆盖:`MES_登录_工位与名称_查询`、`系统管理_人员管理_所有有效人员查询`、`系统管理_工位管理_工位绑定人员查询`、`系统管理_工位管理_工位绑定人员保存` + +```text +[进入页面 / src/views/ProductionManagement/PersonnelBinding/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 系统管理_工位管理_工位绑定人员查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_工位管理_工位绑定人员查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 系统管理_工位管理_工位绑定人员保存 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_工位管理_工位绑定人员保存 / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / View_基础数据_工位 / 登录基础数据_管理人员权限视图] +[主要数据对象 / View_基础数据_工位 / 登录基础数据_管理人员权限视图] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 2 | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 3 | `系统管理_工位管理_工位绑定人员查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 4 | `系统管理_工位管理_工位绑定人员保存` | 更新/保存业务数据 | 未在 SQL 中解析到明确依赖 | + +#### 36. `src/views/ProductionManagement/PickingTask/index.vue` + +页面要点:该页面处理拣配任务。用户查询生产订单相关拣配/领料任务,并可能联动 SAP 生产订单或库存出入库状态。 页面可见的操作/字段包括 “查询”、“转至 完成 --> 生产订单 加急数量 物料编号 关闭”、“装配”、“机加”、“全部”、“一楼”、“二楼”、“仓库”、“已完成”、“未完成”,这些是判断页面业务范围的主要线索。 后端主要围绕 生产管 +过程覆盖:`生产管理_拣配任务_查询` + +```text +[进入页面 / src/views/ProductionManagement/PickingTask/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 生产管理_拣配任务_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_拣配任务_查询 / 查询/读取数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE] +[主要数据对象 / SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `生产管理_拣配任务_查询` | 查询/读取数据 | SAP/链接库:SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE | + +#### 37. `src/views/ProductionManagement/ProductionPlanTrack/index.vue` + +页面要点:该页面跟踪生产计划执行。用户查看计划任务的开工、完工、进度、延期或异常情况,用于计划员追踪订单。 页面可见的操作/字段包括 “查询”、“关闭”、“全部”、“机加”、“装配”、“是”、“否”、“加急”、“正常”、“序号”,这些是判断页面业务范围的主要线索。 后端主要围绕 加急订单_加急明细查询、生产管理_生产计划跟踪、MES_OrderPl +过程覆盖:`加急订单_加急明细查询`、`生产管理_生产计划跟踪`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` + +```text +[进入页面 / src/views/ProductionManagement/ProductionPlanTrack/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_生产计划跟踪 / 计划排产或派工] +[type 11(当前通用存储过程查询/执行) / 生产管理_生产计划跟踪 / 计划排产或派工] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_DescriptionEdit / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_DescriptionEdit / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / YL_加工中心_操作记录表 / 视图:View_生产订单_MES / View_生产订单全部] +[主要数据对象 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / YL_加工中心_操作记录表 / 视图:View_生产订单_MES / View_生产订单全部] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `加急订单_加急明细查询` | 查询/读取数据 | 表:MES_接口_生产计划;SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL | +| 2 | `生产管理_生产计划跟踪` | 计划排产或派工 | 表:YL_加工中心_操作记录表;视图:View_生产订单_MES、View_生产订单全部(包括已关闭) | +| 3 | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 4 | `Prog_MES_LoadStations` | 查询/读取数据 | 表:MES_资源主数据 | + +#### 38. `src/views/ProductionManagement/ProductionTaskManage/index.vue` + +页面要点:该页面管理生产任务。用户按工位、订单、工序查询任务,查看工时汇总,执行派工、修改计划字段、维护任务说明和通知状态。 页面可见的操作/字段包括 “查询”、“表单”、“日程”、“派工调整”、“外协通知”、“已发起”、“编辑”、“取 消”、“确 定”、“item.指南工位号”,这些是判断页面业务范围的主要线索。 后端主要围绕 MES_登录_工位 +过程覆盖:`MES_登录_工位与名称_查询`、`MES_OrderPlanned_SingleTaskPlanned`、`MES_ProductTask_WorkTimeSum`、`MES_ProductAdmin_Query`、`Prog_MES_LoadStations`、`Prog_MES_SingleTaskPlanned`、`MES_OrderPlanned_DescriptionEdit`、`MES_ProductTask_Notice`、`MES_OrderPlanned_EditTaskPlanned` + +```text +[进入页面 / src/views/ProductionManagement/ProductionTaskManage/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_SingleTaskPlanned / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_SingleTaskPlanned / 计划排产或派工] --> [type 11(当前通用存储过程查询/执行) / MES_ProductTask_WorkTimeSum / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / MES_ProductTask_WorkTimeSum / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / MES_ProductAdmin_Query / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_ProductAdmin_Query / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / Prog_MES_SingleTaskPlanned / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / Prog_MES_SingleTaskPlanned / 计划排产或派工] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_DescriptionEdit / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_DescriptionEdit / 更新/保存业务数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_ProductTask_Notice / 业务存储过程调用] +[type 12(当前通用存储过程写入/业务动作) / MES_ProductTask_Notice / 业务存储过程调用] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / View_基础数据_工位 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / View_生产订单_MES / MES_资源主数据] +[主要数据对象 / View_基础数据_工位 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / View_生产订单_MES / MES_资源主数据] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 2 | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 3 | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 未在 SQL 中解析到明确依赖 | +| 4 | `MES_ProductAdmin_Query` | 查询/读取数据 | 视图:View_生产订单_MES | +| 5 | `Prog_MES_LoadStations` | 查询/读取数据 | 表:MES_资源主数据 | +| 6 | `Prog_MES_SingleTaskPlanned` | 计划排产或派工 | 未知 | +| 7 | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 8 | `MES_ProductTask_Notice` | 业务存储过程调用 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 9 | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | + +#### 39. `src/views/ProductionManagement/ProductionTasksSum/index.vue` + +页面要点:该页面做生产任务汇总。用户按订单、工序、工位、时间等维度查询生产任务和工时汇总,并可编辑计划说明或派工信息。 页面可见的操作/字段包括 “查询”、“编辑”、“取 消”、“确 定”、“item.指南工位号”、“表单”、“序号”、“销售订单”、“生产订单”、“零件编码”,这些是判断页面业务范围的主要线索。 后端主要围绕 MES_登录_工位与名 +过程覆盖:`MES_登录_工位与名称_查询`、`MES_ProductTask_WorkTimeSum`、`生产管理_生产任务汇总`、`Prog_MES_LoadStations`、`MES_OrderPlanned_DescriptionEdit`、`MES_OrderPlanned_EditTaskPlanned` + +```text +[进入页面 / src/views/ProductionManagement/ProductionTasksSum/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / MES_ProductTask_WorkTimeSum / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / MES_ProductTask_WorkTimeSum / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 生产管理_生产任务汇总 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 生产管理_生产任务汇总 / 业务存储过程调用] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_DescriptionEdit / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_DescriptionEdit / 更新/保存业务数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_EditTaskPlanned / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / View_基础数据_工位 / View_生产订单_MES / MES_资源主数据 / MES_接口_生产计划 / MES_接口_生产计划_生产任务] +[主要数据对象 / View_基础数据_工位 / View_生产订单_MES / MES_资源主数据 / MES_接口_生产计划 / MES_接口_生产计划_生产任务] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 2 | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 未在 SQL 中解析到明确依赖 | +| 3 | `生产管理_生产任务汇总` | 业务存储过程调用 | 视图:View_生产订单_MES | +| 4 | `Prog_MES_LoadStations` | 查询/读取数据 | 表:MES_资源主数据 | +| 5 | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 6 | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | + +#### 40. `src/views/ProductionManagement/SaleOutsourceMange/index.vue` + +页面要点:该页面管理外协任务。用户查询可外协工序,按供应商/订单/工序分组,执行外协派工并同步 SAP 采购请求或相关单据,维护外协发料、收料、质检记录、打印次数和备注。 页面可见的操作/字段包括 “查询 派工并同步SAP”、“打印”、“发料”、“收货”、“更新”、“编辑”、“历史记录”、“查看图纸”、“工艺图纸”、“收发记录”,这些是判断页面业务 +过程覆盖:`计划排产_重置派工状态`、`生产管理_外协管理_外协历史查询`、`计划排产_派工`、`生产管理_外协管理_更新打印次数`、`生产管理_外协管理_更新备注`、`工艺管理_图纸维护_查看图纸`、`工艺管理_工艺维护_查看图纸`、`生产管理_外协管理_查询外协`、`生产管理_外协管理_外协发料查询`、`生产管理_外协管理_查询外协历史记录`、... + +```text +[进入页面 / src/views/ProductionManagement/SaleOutsourceMange/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_外协历史查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_外协历史查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_工艺维护_查看图纸 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_工艺维护_查看图纸 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_查询外协历史记录 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_查询外协历史记录 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_查询质检记录 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_查询质检记录 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 计划排产_重置派工状态 / 计划排产或派工] +[type 11(当前通用存储过程查询/执行) / 计划排产_重置派工状态 / 计划排产或派工] --> [type 12(当前通用存储过程写入/业务动作) / 计划排产_派工 / 计划排产或派工] +[type 12(当前通用存储过程写入/业务动作) / 计划排产_派工 / 计划排产或派工] --> [type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_更新打印次数 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_更新打印次数 / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_更新备注 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_更新备注 / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_查询外协 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_查询外协 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_外协发料查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_外协管理_外协发料查询 / 查询/读取数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / YL_加工中心_操作记录表 / 视图:View_生产订单_MES / 物料基础数据_零件图纸] +[主要数据对象 / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / YL_加工中心_操作记录表 / 视图:View_生产订单_MES / 物料基础数据_零件图纸] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `计划排产_重置派工状态` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 2 | `生产管理_外协管理_外协历史查询` | 查询/读取数据 | 表:YL_加工中心_操作记录表;视图:View_生产订单_MES | +| 3 | `计划排产_派工` | 计划排产或派工 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 4 | `生产管理_外协管理_更新打印次数` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 5 | `生产管理_外协管理_更新备注` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 6 | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 表:物料基础数据_零件图纸 | +| 7 | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 表:物料基础数据_工艺图纸 | +| 8 | `生产管理_外协管理_查询外协` | 查询/读取数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务、YL_质量检验_质检记录;视图:View_生产订单_MES | +| 9 | `生产管理_外协管理_外协发料查询` | 查询/读取数据 | 表:YL_质量检验_质检记录;视图:View_生产订单_MES | +| 10 | `生产管理_外协管理_查询外协历史记录` | 查询/读取数据 | 表:YL_加工中心_操作记录表 | +| 11 | `生产管理_外协管理_查询质检记录` | 查询/读取数据 | 表:YL_质量检验_质检记录 | +| 12 | `生产管理_外协管理_外协发料保存` | 更新/保存业务数据 | 表:MES_接口_生产计划 | +| ... | ... | 共 13 个过程,此处仅列前 12 个 | 详见分析文档对应页面段落 | + +#### 41. `src/views/ProductionManagement/ShiftManagement/index.vue` + +页面要点:该页面维护班次和班次人员绑定。用户新增、修改、删除班次,给班次绑定人员,为工时计算和报工归属提供基础数据。 页面可见的操作/字段包括 “添加新班次”、“编辑”、“保存”、“取消”、“绑定”、“删除”、“确 定”、“取 消”、“序号”、“班次”,这些是判断页面业务范围的主要线索。 后端主要围绕 生产管理_班次管理_班次列表查询、系统管理_人 +过程覆盖:`生产管理_班次管理_班次列表查询`、`系统管理_人员管理_所有有效人员查询`、`生产管理_班次管理_班次绑定人员查询`、`生产管理_班次管理_班次保存`、`生产管理_班次管理_班次删除`、`生产管理_班次管理_班次绑定人员保存` + +```text +[进入页面 / src/views/ProductionManagement/ShiftManagement/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 生产管理_班次管理_班次列表查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_班次管理_班次列表查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_班次管理_班次绑定人员查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_班次管理_班次绑定人员查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 生产管理_班次管理_班次保存 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_班次管理_班次保存 / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_班次管理_班次删除 / 删除业务数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_班次管理_班次删除 / 删除业务数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_班次管理_班次绑定人员保存 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_班次管理_班次绑定人员保存 / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 登录基础数据_管理人员权限视图] +[主要数据对象 / 登录基础数据_管理人员权限视图] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `生产管理_班次管理_班次列表查询` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 2 | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 3 | `生产管理_班次管理_班次绑定人员查询` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 4 | `生产管理_班次管理_班次保存` | 更新/保存业务数据 | 未在 SQL 中解析到明确依赖 | +| 5 | `生产管理_班次管理_班次删除` | 删除业务数据 | 未在 SQL 中解析到明确依赖 | +| 6 | `生产管理_班次管理_班次绑定人员保存` | 更新/保存业务数据 | 未在 SQL 中解析到明确依赖 | + +#### 42. `src/views/ProductionManagement/Timesheet/index.vue` + +页面要点:该页面统计工时。用户按项目、作业者、设备、任务等维度查询工时数据,并可导出报表。 页面可见的操作/字段包括 “查询”、“Excel导出”、“项目工时”、“合同号”、“产品名称”、“产品编码”、“订单编号”、“工序名称”、“操作人”、“计划/完成”,这些是判断页面业务范围的主要线索。 后端主要围绕 工时统计_项目工时_查询、工时统计_作业者 +过程覆盖:`工时统计_项目工时_查询`、`工时统计_作业者工时_查询`、`工时统计_设备工时_查询`、`工时统计_任务工时_查询` + +```text +[进入页面 / src/views/ProductionManagement/Timesheet/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 工时统计_作业者工时_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工时统计_作业者工时_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工时统计_设备工时_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工时统计_设备工时_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 工时统计_项目工时_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工时统计_项目工时_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工时统计_任务工时_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工时统计_任务工时_查询 / 查询/读取数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / View_生产工时视图] +[主要数据对象 / View_生产工时视图] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `工时统计_项目工时_查询` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 2 | `工时统计_作业者工时_查询` | 查询/读取数据 | 视图:View_生产工时视图 | +| 3 | `工时统计_设备工时_查询` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 4 | `工时统计_任务工时_查询` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | + +#### 43. `src/views/ProductionManagement/Urgent/index.vue` + +页面要点:该页面维护加急任务。用户查询加急订单明细,并更新完成、转至等字段,用于生产/质检优先级管理。 页面可见的操作/字段包括 “查询”、“转至 完成 加急明细 --> 生产订单 加急数量 物料编号 关闭”、“装配”、“机加”、“全部”、“已转至”、“未转至”、“已完成”、“未完成”、“序号”,这些是判断页面业务范围的主要线索。 后端主要围绕 加 +过程覆盖:`加急订单_加急明细查询`、`生产管理_加急件管理查询`、`生产管理_加急件管理_更新转至`、`生产管理_加急件管理_更新完成` + +```text +[进入页面 / src/views/ProductionManagement/Urgent/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_加急件管理查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_加急件管理查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_加急件管理_更新转至 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_加急件管理_更新转至 / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_加急件管理_更新完成 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_加急件管理_更新完成 / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / YL_质量检验_质检记录 / 视图:View_生产订单_MES] +[主要数据对象 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / YL_质量检验_质检记录 / 视图:View_生产订单_MES] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `加急订单_加急明细查询` | 查询/读取数据 | 表:MES_接口_生产计划;SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL | +| 2 | `生产管理_加急件管理查询` | 查询/读取数据 | 表:YL_质量检验_质检记录;视图:View_生产订单_MES | +| 3 | `生产管理_加急件管理_更新转至` | 更新/保存业务数据 | 表:YL_质量检验_质检记录 | +| 4 | `生产管理_加急件管理_更新完成` | 更新/保存业务数据 | 表:YL_质量检验_质检记录 | + +#### 44. `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` + +页面要点:该页面用于工时校验。质检/管理人员查询待校验报工记录,系统计算标准/实际工时,保存单条或批量校验结果;通过校验后可把工序资源或工时/出库类单据上传到 SAP。 页面可见的操作/字段包括 “查询”、“一键校验”、“新增工时记录”、“设备工时”、“关闭”、“确 定”、“取消”、“item.label”、“全部”、“已校验”,这些是判断页面业务 +过程覆盖:`人员管理_人员信息查询_质检部门_查询`、`系统管理_人员管理_所有有效人员查询`、`工时校验_获取订单列表`、`工时校验_获取订单工序`、`工时校验_获取昨日之前操作记录列表`、`工时校验_获取资源`、`工时校验_获取设备数据`、`工时校验_保存校验记录`、`工时校验_批量保存校验记录`、`工时校验_获取操作人当天报工记录` + +```text +[进入页面 / src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取订单工序 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取订单工序 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取昨日之前操作记录列表 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取昨日之前操作记录列表 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取资源 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取资源 / 报工或工时处理] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取订单列表 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取订单列表 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_保存校验记录 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 工时校验_保存校验记录 / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 工时校验_批量保存校验记录 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 工时校验_批量保存校验记录 / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 登录基础数据_管理人员权限视图 / MES_接口_生产计划 / View_生产订单_MES / View_生产工时视图 / SAP.SBO_YL.dbo.UBT_ORSC] +[主要数据对象 / 登录基础数据_管理人员权限视图 / MES_接口_生产计划 / View_生产订单_MES / View_生产工时视图 / SAP.SBO_YL.dbo.UBT_ORSC] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 2 | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 3 | `工时校验_获取订单列表` | 报工或工时处理 | 表:MES_接口_生产计划 | +| 4 | `工时校验_获取订单工序` | 报工或工时处理 | 视图:View_生产订单_MES | +| 5 | `工时校验_获取昨日之前操作记录列表` | 报工或工时处理 | 视图:View_生产工时视图 | +| 6 | `工时校验_获取资源` | 报工或工时处理 | SAP/链接库:SAP.SBO_YL.dbo.UBT_ORSC | +| 7 | `工时校验_获取设备数据` | 报工或工时处理 | 表:历史_工位设备状态每分钟记录 | +| 8 | `工时校验_保存校验记录` | 更新/保存业务数据 | 表:生产管理_工时校验_校验工时表、YL_加工中心_操作记录表 | +| 9 | `工时校验_批量保存校验记录` | 更新/保存业务数据 | 表:生产管理_工时校验_校验工时表、YL_加工中心_操作记录表 | +| 10 | `工时校验_获取操作人当天报工记录` | 报工或工时处理 | 表:YL_加工中心_操作记录表 | + +#### 45. `src/views/ProductionManagement/WorkHoursCheck/index.vue` + +页面要点:该页面用于工时校验。质检/管理人员查询待校验报工记录,系统计算标准/实际工时,保存单条或批量校验结果;通过校验后可把工序资源或工时/出库类单据上传到 SAP。 页面可见的操作/字段包括 “查询”、“一键校验”、“直接校验”、“新增工时记录”、“设备工时”、“关闭”、“确 定”、“取消”、“item.label”、“全部”,这些是判断页面业 +过程覆盖:`usp_BatchValidateWorkTime`、`usp_ValidateWorkTime`、`人员管理_人员信息查询_质检部门_查询`、`系统管理_人员管理_所有有效人员查询`、`工时校验_获取订单列表`、`工时校验_获取订单工序`、`工时校验_获取昨日之前操作记录列表`、`工时校验_获取资源`、`工时校验_获取设备数据`、`工时校验_保存校验记录`、... + +```text +[进入页面 / src/views/ProductionManagement/WorkHoursCheck/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取订单工序 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取订单工序 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取昨日之前操作记录列表 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取昨日之前操作记录列表 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取资源 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取资源 / 报工或工时处理] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / usp_BatchValidateWorkTime / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / usp_BatchValidateWorkTime / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / usp_ValidateWorkTime / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / usp_ValidateWorkTime / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取订单列表 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取订单列表 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_保存校验记录 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 工时校验_保存校验记录 / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 工时校验_批量保存校验记录 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 工时校验_批量保存校验记录 / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 登录基础数据_管理人员权限视图 / MES_接口_生产计划 / View_生产订单_MES / View_生产工时视图 / SAP.SBO_YL.dbo.UBT_ORSC] +[主要数据对象 / 登录基础数据_管理人员权限视图 / MES_接口_生产计划 / View_生产订单_MES / View_生产工时视图 / SAP.SBO_YL.dbo.UBT_ORSC] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `usp_BatchValidateWorkTime` | 报工或工时处理 | 未在 SQL 中解析到明确依赖 | +| 2 | `usp_ValidateWorkTime` | 报工或工时处理 | 未在 SQL 中解析到明确依赖 | +| 3 | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 4 | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 5 | `工时校验_获取订单列表` | 报工或工时处理 | 表:MES_接口_生产计划 | +| 6 | `工时校验_获取订单工序` | 报工或工时处理 | 视图:View_生产订单_MES | +| 7 | `工时校验_获取昨日之前操作记录列表` | 报工或工时处理 | 视图:View_生产工时视图 | +| 8 | `工时校验_获取资源` | 报工或工时处理 | SAP/链接库:SAP.SBO_YL.dbo.UBT_ORSC | +| 9 | `工时校验_获取设备数据` | 报工或工时处理 | 表:历史_工位设备状态每分钟记录 | +| 10 | `工时校验_保存校验记录` | 更新/保存业务数据 | 表:生产管理_工时校验_校验工时表、YL_加工中心_操作记录表 | +| 11 | `工时校验_批量保存校验记录` | 更新/保存业务数据 | 表:生产管理_工时校验_校验工时表、YL_加工中心_操作记录表 | + +#### 46. `src/views/ProductionManagement/WorkhoursEdit/index.vue` + +页面要点:该页面用于编辑已产生的工时/报工记录,修正异常工时或补录说明。 页面可见的操作/字段包括 “查询”、“新增工时记录”、“设备工时”、“关闭”、“确 定”、“取消”、“item.label”、“全部”、“已校验”、“未校验”,这些是判断页面业务范围的主要线索。 后端主要围绕 人员管理_人员信息查询_质检部门_查询、系统管理_人员管理_所有有 +过程覆盖:`人员管理_人员信息查询_质检部门_查询`、`系统管理_人员管理_所有有效人员查询`、`工时校验_获取订单列表`、`工时校验_获取订单工序`、`工时校验_获取操作记录列表`、`工时校验_获取设备数据`、`工时校验_保存校验记录`、`工时校验_新增操作记录` + +```text +[进入页面 / src/views/ProductionManagement/WorkhoursEdit/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_人员管理_所有有效人员查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取订单工序 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取订单工序 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取操作记录列表 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取操作记录列表 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取设备数据 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取设备数据 / 报工或工时处理] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取订单列表 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取订单列表 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_保存校验记录 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 工时校验_保存校验记录 / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 工时校验_新增操作记录 / 新增业务数据] +[type 11(当前通用存储过程查询/执行) / 工时校验_新增操作记录 / 新增业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 登录基础数据_管理人员权限视图 / MES_接口_生产计划 / View_生产订单_MES / View_生产工时视图 / 历史_工位设备状态每分钟记录] +[主要数据对象 / 登录基础数据_管理人员权限视图 / MES_接口_生产计划 / View_生产订单_MES / View_生产工时视图 / 历史_工位设备状态每分钟记录] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 2 | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 3 | `工时校验_获取订单列表` | 报工或工时处理 | 表:MES_接口_生产计划 | +| 4 | `工时校验_获取订单工序` | 报工或工时处理 | 视图:View_生产订单_MES | +| 5 | `工时校验_获取操作记录列表` | 报工或工时处理 | 视图:View_生产工时视图 | +| 6 | `工时校验_获取设备数据` | 报工或工时处理 | 表:历史_工位设备状态每分钟记录 | +| 7 | `工时校验_保存校验记录` | 更新/保存业务数据 | 表:生产管理_工时校验_校验工时表、YL_加工中心_操作记录表 | +| 8 | `工时校验_新增操作记录` | 新增业务数据 | 表:YL_加工中心_操作记录表 | + +#### 47. `src/views/ProductionManagement/Workhours/index.vue` + +页面要点:该页面用于工时查询,按工序、人员、设备、时间等条件查看工序工时。 页面可见的操作/字段包括 “查询”、“工序工时”、“任务描述”、“报工次数”、“报工数量”、“工位名称”、“实际工时”、“辅助工时”、“平均程序工时”、“平均实际工时”,这些是判断页面业务范围的主要线索。 后端主要围绕 生产管理_工时查询_工序工时_查询 取数或提交业务动作 +过程覆盖:`生产管理_工时查询_工序工时_查询` + +```text +[进入页面 / src/views/ProductionManagement/Workhours/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 生产管理_工时查询_工序工时_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_工时查询_工序工时_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `生产管理_工时查询_工序工时_查询` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | + +### 17.9 质量管理(QualityManagement) + +#### 48. `src/views/QualityManagement/CheckTask/OtherInbound.vue` + +页面要点:该页面处理其他入库检验。用户查询其他入库待检任务,录入检验结果并更新质检记录。 页面可见的操作/字段包括 “查询”、“取 消”、“合格”、“不合格”、“item.label”、“序号”、“生产订单”、“物料名称”、“物料编码”、“采购数”,这些是判断页面业务范围的主要线索。 后端主要围绕 查询字典、人员管理_人员信息查询_质检部门_查询、 +过程覆盖:`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_其他入库_查询`、`质量管理_其他入库检验_更新` + +```text +[进入页面 / src/views/QualityManagement/CheckTask/OtherInbound.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 质量管理_其他入库_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 质量管理_其他入库_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 12(当前通用存储过程写入/业务动作) / 质量管理_其他入库检验_更新 / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / 质量管理_其他入库检验_更新 / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / YL_基础表_数据字典 / 登录基础数据_管理人员权限视图 / 质量检验_质检任务_SAP / YL_质量检验_质检记录] +[主要数据对象 / YL_基础表_数据字典 / 登录基础数据_管理人员权限视图 / 质量检验_质检任务_SAP / YL_质量检验_质检记录] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `查询字典` | 查询/读取数据 | 表:YL_基础表_数据字典 | +| 2 | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 3 | `质量管理_其他入库_查询` | 查询/读取数据 | 表:质量检验_质检任务_SAP | +| 4 | `质量管理_其他入库检验_更新` | 更新/保存业务数据 | 表:YL_质量检验_质检记录、质量检验_质检任务_SAP | + +#### 49. `src/views/QualityManagement/CheckTask/final.vue` + +页面要点:该页面处理终检任务。质检人员查询终检任务,录入终检结果,并预留 SAP 生产订单状态回写。 页面可见的操作/字段包括 “查询”、“导出 --> -->”、“取 消”、“关闭”、“装配”、“机加”、“全部”、“合格”、“不合格”、“已完成”,这些是判断页面业务范围的主要线索。 后端主要围绕 加急订单_加急明细查询、查询字典、人员管理_人员信 +过程覆盖:`加急订单_加急明细查询`、`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_终检数据_查询`、`质量管理_质量检验_终检记录_查询`、`MES_QulityInspection_FinalCheck`、`工时校验_获取工序和指派对象` + +```text +[进入页面 / src/views/QualityManagement/CheckTask/final.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 质量管理_质量检验_终检数据_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 质量管理_质量检验_终检数据_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 质量管理_质量检验_终检记录_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 质量管理_质量检验_终检记录_查询 / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / MES_QulityInspection_FinalCheck / 质量检验处理] +[type 12(当前通用存储过程写入/业务动作) / MES_QulityInspection_FinalCheck / 质量检验处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取工序和指派对象 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取工序和指派对象 / 报工或工时处理] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / YL_基础表_数据字典 / 登录基础数据_管理人员权限视图 / MES_接口_生产计划_生产] +[主要数据对象 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / YL_基础表_数据字典 / 登录基础数据_管理人员权限视图 / MES_接口_生产计划_生产] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `加急订单_加急明细查询` | 查询/读取数据 | 表:MES_接口_生产计划;SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL | +| 2 | `查询字典` | 查询/读取数据 | 表:YL_基础表_数据字典 | +| 3 | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 4 | `质量管理_质量检验_终检数据_查询` | 查询/读取数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务、YL_加工中心_操作记录表、YL_质量检验_质检记录;视图:View_生产订单_MES | +| 5 | `质量管理_质量检验_终检记录_查询` | 查询/读取数据 | 表:YL_质量检验_质检记录 | +| 6 | `MES_QulityInspection_FinalCheck` | 质量检验处理 | 表:YL_质量检验_质检记录 | +| 7 | `工时校验_获取工序和指派对象` | 报工或工时处理 | 表:MES_接口_生产计划 | + +#### 50. `src/views/QualityManagement/CheckTask/firstSpecial.vue` + +页面要点:该页面处理首检/特殊首件检验。用户按工序和工位选择任务,录入首检数据。 页面可见的操作/字段包括 “item.label”、“序号”、“工位编号”、“工序名称”、“操作类别”、“操作人”、“销售订单”、“生产订单”、“物料编号”、“物料名称”,这些是判断页面业务范围的主要线索。 后端主要围绕 Prog_MES_LoadProcess、Pr +过程覆盖:`Prog_MES_LoadProcess`、`Prog_MES_LoadStations`、`MES_QulityInspection_FirstCheckRecords` + +```text +[进入页面 / src/views/QualityManagement/CheckTask/firstSpecial.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadProcess / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadProcess / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / MES_QulityInspection_FirstCheckRecords / 质量检验处理] +[type 11(当前通用存储过程查询/执行) / MES_QulityInspection_FirstCheckRecords / 质量检验处理] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 基础表_工序 / MES_资源主数据 / YL_加工中心_操作记录表] +[主要数据对象 / 基础表_工序 / MES_资源主数据 / YL_加工中心_操作记录表] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `Prog_MES_LoadProcess` | 查询/读取数据 | 表:基础表_工序 | +| 2 | `Prog_MES_LoadStations` | 查询/读取数据 | 表:MES_资源主数据 | +| 3 | `MES_QulityInspection_FirstCheckRecords` | 质量检验处理 | 表:YL_加工中心_操作记录表 | + +#### 51. `src/views/QualityManagement/CheckTask/materialReturn.vue` + +页面要点:该页面处理原材料退库检验。用户查询退库检验任务,读取 SAP 生产订单辅助信息,录入并更新检验结果。 页面可见的操作/字段包括 “查询”、“扫码”、“取 消”、“合格”、“不合格”、“已完成”、“未完成”、“item.label”、“序号”、“单据码”,这些是判断页面业务范围的主要线索。 后端主要围绕 查询字典、人员管理_人员信息查询_质 +过程覆盖:`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_原材料退库_查询`、`质量管理_原材料退库检验_更新` +WMS/条码任务:页面涉及 `stocktask` 出库/入库任务接口。 + +```text +[进入页面 / src/views/QualityManagement/CheckTask/materialReturn.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 质量管理_原材料退库_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 质量管理_原材料退库_查询 / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / 质量管理_原材料退库检验_更新 / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / 质量管理_原材料退库检验_更新 / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [是否需要外部系统同步?] +[是否需要外部系统同步?] -- WMS/条码 --> [stocktask 入库/出库任务 / 物料/条码/数量同步] +[是否需要外部系统同步?] -- 否 --> [MES 本地状态生效] +[stocktask 入库/出库任务 / 物料/条码/数量同步] --> [外部返回成功?] +[MES 本地状态生效] --> [刷新列表/明细/看板数据] +[外部返回成功?] -- 是 --> [刷新列表/明细/看板数据] +[外部返回成功?] -- 否 --> [记录失败原因 / 保留待重试/待处理状态] +[记录失败原因 / 保留待重试/待处理状态] --> [刷新列表/明细/看板数据] +[用户是否发起业务动作?] -- 否 --> [刷新列表/明细/看板数据] +[刷新列表/明细/看板数据] --> [主要数据对象 / YL_基础表_数据字典 / 登录基础数据_管理人员权限视图 / 质量检验_质检任务_SAP / YL_质量检验_质检记录] +[主要数据对象 / YL_基础表_数据字典 / 登录基础数据_管理人员权限视图 / 质量检验_质检任务_SAP / YL_质量检验_质检记录] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `查询字典` | 查询/读取数据 | 表:YL_基础表_数据字典 | +| 2 | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 3 | `质量管理_原材料退库_查询` | 查询/读取数据 | 表:质量检验_质检任务_SAP | +| 4 | `质量管理_原材料退库检验_更新` | 更新/保存业务数据 | 表:YL_质量检验_质检记录、质量检验_质检任务_SAP | + +#### 52. `src/views/QualityManagement/CheckTask/processReceive.vue` + +页面要点:该页面处理序检收检。质检人员接收工序检验任务,查询加急和字典信息,读取 SAP 工序状态,新增序检收检记录。 页面可见的操作/字段包括 “查询”、“导出 -->”、“取 消”、“关闭”、“装配”、“机加”、“全部”、“合格”、“不合格”、“item.label”,这些是判断页面业务范围的主要线索。 后端主要围绕 工艺管理_图纸维护_查看图 +过程覆盖:`工艺管理_图纸维护_查看图纸`、`加急订单_加急明细查询`、`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_收检记录_查询`、`质量管理_序检收检_新增` + +```text +[进入页面 / src/views/QualityManagement/CheckTask/processReceive.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 质量管理_质量检验_收检记录_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 质量管理_质量检验_收检记录_查询 / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / 质量管理_序检收检_新增 / 新增业务数据] +[type 12(当前通用存储过程写入/业务动作) / 质量管理_序检收检_新增 / 新增业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 物料基础数据_零件图纸 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / YL_基础表_数据字典 / 登录基础数据_管理人员权限视图] +[主要数据对象 / 物料基础数据_零件图纸 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / YL_基础表_数据字典 / 登录基础数据_管理人员权限视图] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 表:物料基础数据_零件图纸 | +| 2 | `加急订单_加急明细查询` | 查询/读取数据 | 表:MES_接口_生产计划;SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL | +| 3 | `查询字典` | 查询/读取数据 | 表:YL_基础表_数据字典 | +| 4 | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 5 | `质量管理_质量检验_收检记录_查询` | 查询/读取数据 | 表:YL_加工中心_操作记录表、YL_质量检验_质检记录;视图:View_生产订单_MES | +| 6 | `质量管理_序检收检_新增` | 新增业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务、YL_质量检验_质检记录 | + +#### 53. `src/views/QualityManagement/CheckTask/processSpecial.vue` + +页面要点:该页面处理过程/特殊检验。用户按工序任务录入特殊检验结果和检测明细。 + +```text +[进入页面 / src/views/QualityManagement/CheckTask/processSpecial.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +#### 54. `src/views/QualityManagement/CheckTask/purchaseIncoming.vue` + +页面要点:该页面处理采购/来料检验。质检人员查询待检任务,查看图纸、字典和检验人员,录入合格数、不合格数、检测数据,调用过程更新来料检验结果。 页面可见的操作/字段包括 “查询”、“取 消”、“关闭”、“合格”、“不合格”、“已完成”、“未完成”、“item.label”、“序号”、“单据码”,这些是判断页面业务范围的主要线索。 后端主要围绕 加急 +过程覆盖:`加急订单_加急明细查询`、`工艺管理_图纸维护_查看图纸`、`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_入库质检任务_查询`、`质量管理_来料检验_更新` + +```text +[进入页面 / src/views/QualityManagement/CheckTask/purchaseIncoming.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 工艺管理_图纸维护_查看图纸 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 质量管理_质量检验_入库质检任务_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 质量管理_质量检验_入库质检任务_查询 / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / 质量管理_来料检验_更新 / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / 质量管理_来料检验_更新 / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / 物料基础数据_零件图纸 / YL_基础表_数据字典 / 登录基础数据_管理人员权限视图] +[主要数据对象 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / 物料基础数据_零件图纸 / YL_基础表_数据字典 / 登录基础数据_管理人员权限视图] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `加急订单_加急明细查询` | 查询/读取数据 | 表:MES_接口_生产计划;SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL | +| 2 | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 表:物料基础数据_零件图纸 | +| 3 | `查询字典` | 查询/读取数据 | 表:YL_基础表_数据字典 | +| 4 | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 5 | `质量管理_质量检验_入库质检任务_查询` | 查询/读取数据 | 表:YL_质量检验_质检记录、质量检验_质检任务_SAP | +| 6 | `质量管理_来料检验_更新` | 更新/保存业务数据 | 表:YL_质量检验_质检记录、质量检验_质检任务_SAP | + +#### 55. `src/views/QualityManagement/CheckTask/salesReturn.vue` + +页面要点:该页面处理销售退货检验。用户查询销售退货待检任务,录入检验结果并更新质检记录。 页面可见的操作/字段包括 “查询”、“取 消”、“合格”、“不合格”、“item.label”、“序号”、“生产订单”、“物料名称”、“物料编码”、“采购数”,这些是判断页面业务范围的主要线索。 后端主要围绕 查询字典、人员管理_人员信息查询_质检部门_查询、 +过程覆盖:`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_退货质检任务_查询`、`质量管理_销售退货检_更新` +WMS/条码任务:页面涉及 `stocktask` 出库/入库任务接口。 + +```text +[进入页面 / src/views/QualityManagement/CheckTask/salesReturn.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 质量管理_质量检验_退货质检任务_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 质量管理_质量检验_退货质检任务_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 12(当前通用存储过程写入/业务动作) / 质量管理_销售退货检_更新 / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / 质量管理_销售退货检_更新 / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [是否需要外部系统同步?] +[是否需要外部系统同步?] -- WMS/条码 --> [stocktask 入库/出库任务 / 物料/条码/数量同步] +[是否需要外部系统同步?] -- 否 --> [MES 本地状态生效] +[stocktask 入库/出库任务 / 物料/条码/数量同步] --> [外部返回成功?] +[MES 本地状态生效] --> [刷新列表/明细/看板数据] +[外部返回成功?] -- 是 --> [刷新列表/明细/看板数据] +[外部返回成功?] -- 否 --> [记录失败原因 / 保留待重试/待处理状态] +[记录失败原因 / 保留待重试/待处理状态] --> [刷新列表/明细/看板数据] +[用户是否发起业务动作?] -- 否 --> [刷新列表/明细/看板数据] +[刷新列表/明细/看板数据] --> [主要数据对象 / YL_基础表_数据字典 / 登录基础数据_管理人员权限视图 / 质量检验_质检任务_SAP / YL_质量检验_质检记录] +[主要数据对象 / YL_基础表_数据字典 / 登录基础数据_管理人员权限视图 / 质量检验_质检任务_SAP / YL_质量检验_质检记录] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `查询字典` | 查询/读取数据 | 表:YL_基础表_数据字典 | +| 2 | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 3 | `质量管理_质量检验_退货质检任务_查询` | 查询/读取数据 | 表:质量检验_质检任务_SAP | +| 4 | `质量管理_销售退货检_更新` | 更新/保存业务数据 | 表:YL_质量检验_质检记录、质量检验_质检任务_SAP | + +#### 56. `src/views/QualityManagement/QualityCenter/index.vue` + +页面要点:该页面是质量综合处理中心。用户集中查询质检任务、收检记录、终检/入库任务和质检明细,录入检测数据、不合格处理,并读取 SAP 生产订单信息辅助校验。 页面可见的操作/字段包括 “查询 --> --> 缺料”、“上一个 下一个”、“删除当前记录 关闭”、“上一个 下一个 保存当前记录 删除当前记录 关闭”、“确定 关闭”、“取 消”、“确 +过程覆盖:`生产管理_获取人员绑定`、`加急订单_加急明细查询`、`MES_人员工时记录_获取进行中任务2`、`MES_人员工时记录_获取进行中任务`、`工时校验_获取订单列表`、`异常工时_新增操作记录`、`工时校验_获取订单工序`、`MES_登录_工位与名称_查询`、`Prog_MES_LoadProcess`、`质量管理_质检报工_任务查询`、... +WMS/条码任务:页面涉及 `stocktask` 出库/入库任务接口。 + +```text +[进入页面 / src/views/QualityManagement/QualityCenter/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 生产管理_获取人员绑定 / 基础权限/人员数据处理] +[type 11(当前通用存储过程查询/执行) / 生产管理_获取人员绑定 / 基础权限/人员数据处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取订单工序 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取订单工序 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadProcess / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadProcess / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 生产管理_装配中心_缺料查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_装配中心_缺料查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 加急订单_加急明细查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / MES_人员工时记录_获取进行中任务2 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / MES_人员工时记录_获取进行中任务2 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / MES_人员工时记录_获取进行中任务 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / MES_人员工时记录_获取进行中任务 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 工时校验_获取订单列表 / 报工或工时处理] +[type 11(当前通用存储过程查询/执行) / 工时校验_获取订单列表 / 报工或工时处理] --> [type 11(当前通用存储过程查询/执行) / 异常工时_新增操作记录 / 新增业务数据] +[type 11(当前通用存储过程查询/执行) / 异常工时_新增操作记录 / 新增业务数据] --> [type 11(当前通用存储过程查询/执行) / 质量管理_质检报工_任务查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 质量管理_质检报工_任务查询 / 查询/读取数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [是否需要外部系统同步?] +[是否需要外部系统同步?] -- WMS/条码 --> [stocktask 入库/出库任务 / 物料/条码/数量同步] +[是否需要外部系统同步?] -- 否 --> [MES 本地状态生效] +[stocktask 入库/出库任务 / 物料/条码/数量同步] --> [外部返回成功?] +[MES 本地状态生效] --> [刷新列表/明细/看板数据] +[外部返回成功?] -- 是 --> [刷新列表/明细/看板数据] +[外部返回成功?] -- 否 --> [记录失败原因 / 保留待重试/待处理状态] +[记录失败原因 / 保留待重试/待处理状态] --> [刷新列表/明细/看板数据] +[用户是否发起业务动作?] -- 否 --> [刷新列表/明细/看板数据] +[刷新列表/明细/看板数据] --> [主要数据对象 / MES_资源主数据 / 工位人员绑定表 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / MES_接口_生产计划_生产任务] +[主要数据对象 / MES_资源主数据 / 工位人员绑定表 / MES_接口_生产计划 / SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL / MES_接口_生产计划_生产任务] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `生产管理_获取人员绑定` | 基础权限/人员数据处理 | 表:MES_资源主数据、工位人员绑定表 | +| 2 | `加急订单_加急明细查询` | 查询/读取数据 | 表:MES_接口_生产计划;SAP/链接库:SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL | +| 3 | `MES_人员工时记录_获取进行中任务2` | 报工或工时处理 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务、YL_加工中心_操作记录表 | +| 4 | `MES_人员工时记录_获取进行中任务` | 报工或工时处理 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务、YL_加工中心_操作记录表 | +| 5 | `工时校验_获取订单列表` | 报工或工时处理 | 表:MES_接口_生产计划 | +| 6 | `异常工时_新增操作记录` | 新增业务数据 | 表:YL_加工中心_操作记录表;视图:View_生产订单_MES | +| 7 | `工时校验_获取订单工序` | 报工或工时处理 | 视图:View_生产订单_MES | +| 8 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 9 | `Prog_MES_LoadProcess` | 查询/读取数据 | 表:基础表_工序 | +| 10 | `质量管理_质检报工_任务查询` | 查询/读取数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务、YL_质量检验_质检记录;视图:View_生产订单_MES | +| 11 | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 未在 SQL 中解析到明确依赖 | +| 12 | `生产管理_装配中心_缺料查询` | 查询/读取数据 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OPKL_MissQty | +| ... | ... | 共 28 个过程,此处仅列前 12 个 | 详见分析文档对应页面段落 | + +#### 57. `src/views/QualityManagement/QualityDetails/index.vue` + +页面要点:该页面查询质检明细。用户按订单、物料、检验类型、时间等条件查询和导出检测明细。 页面可见的操作/字段包括 “查询”、“Excel导出”、“全部”、“收检”、“终检”、“来料检验”、“退库检验”、“序号”、“质检类型”、“零件编码”,这些是判断页面业务范围的主要线索。 后端主要围绕 质量管理_质检明细_导出、质量管理_质检明细_查询 取数或 +过程覆盖:`质量管理_质检明细_导出`、`质量管理_质检明细_查询` + +```text +[进入页面 / src/views/QualityManagement/QualityDetails/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 2001(导出/报表类过程) / 质量管理_质检明细_导出 / 质量检验处理] +[type 2001(导出/报表类过程) / 质量管理_质检明细_导出 / 质量检验处理] --> [type 11(当前通用存储过程查询/执行) / 质量管理_质检明细_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 质量管理_质检明细_查询 / 查询/读取数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / View_质检明细] +[主要数据对象 / View_质检明细] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `质量管理_质检明细_导出` | 质量检验处理 | 视图:View_质检明细 | +| 2 | `质量管理_质检明细_查询` | 查询/读取数据 | 视图:View_质检明细 | + +#### 58. `src/views/QualityManagement/QualityStandardQuery/index copy.vue` + +页面要点:该页面维护/查询检验标准。用户按物料、工序、检测项目维护理论值、上下限、量具和启用状态。 页面可见的操作/字段包括 “查询 新增标准 修改 删除 确定 取 消”、“确定 取 消”、“item.label”、“序号”、“零件号”、“工序”、“类型”、“检验项目”、“检验内容”、“上限值”,这些是判断页面业务范围的主要线索。 后端主要围绕 P +过程覆盖:`Prog_MES_LoadProcess`、`查询字典`、`质量管理_检验标准表_新增`、`质量管理_检验标准表_查询`、`质量管理_检验标准表_修改`、`质量管理_检验标准表_删除` + +```text +[进入页面 / src/views/QualityManagement/QualityStandardQuery/index copy.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadProcess / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadProcess / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 质量管理_检验标准表_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 质量管理_检验标准表_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 12(当前通用存储过程写入/业务动作) / 质量管理_检验标准表_新增 / 新增业务数据] +[type 12(当前通用存储过程写入/业务动作) / 质量管理_检验标准表_新增 / 新增业务数据] --> [type 12(当前通用存储过程写入/业务动作) / 质量管理_检验标准表_修改 / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / 质量管理_检验标准表_修改 / 更新/保存业务数据] --> [type 12(当前通用存储过程写入/业务动作) / 质量管理_检验标准表_删除 / 删除业务数据] +[type 12(当前通用存储过程写入/业务动作) / 质量管理_检验标准表_删除 / 删除业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 基础表_工序 / YL_基础表_数据字典] +[主要数据对象 / 基础表_工序 / YL_基础表_数据字典] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `Prog_MES_LoadProcess` | 查询/读取数据 | 表:基础表_工序 | +| 2 | `查询字典` | 查询/读取数据 | 表:YL_基础表_数据字典 | +| 3 | `质量管理_检验标准表_新增` | 新增业务数据 | 未在 SQL 中解析到明确依赖 | +| 4 | `质量管理_检验标准表_查询` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 5 | `质量管理_检验标准表_修改` | 更新/保存业务数据 | 未在 SQL 中解析到明确依赖 | +| 6 | `质量管理_检验标准表_删除` | 删除业务数据 | 未在 SQL 中解析到明确依赖 | + +#### 59. `src/views/QualityManagement/QualityStandardQuery/index.vue` + +页面要点:该页面维护/查询检验标准。用户按物料、工序、检测项目维护理论值、上下限、量具和启用状态。 页面可见的操作/字段包括 “查询 新增标准 修改 删除 确定 取 消”、“确定 取 消”、“item.label”、“序号”、“物料编号”、“工序名称”、“检测类别”、“检测项目”、“上限值”、“下限值”,这些是判断页面业务范围的主要线索。 后端主要 +过程覆盖:`MES_ProcessManagement_PartGet`、`Prog_MES_LoadProcess`、`查询字典`、`质量管理_检验标准表_新增`、`质量管理_检验标准表_查询`、`质量管理_检验标准表_修改`、`质量管理_检验标准表_删除` + +```text +[进入页面 / src/views/QualityManagement/QualityStandardQuery/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_ProcessManagement_PartGet / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_ProcessManagement_PartGet / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadProcess / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadProcess / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 查询字典 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / 质量管理_检验标准表_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 质量管理_检验标准表_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 12(当前通用存储过程写入/业务动作) / 质量管理_检验标准表_新增 / 新增业务数据] +[type 12(当前通用存储过程写入/业务动作) / 质量管理_检验标准表_新增 / 新增业务数据] --> [type 12(当前通用存储过程写入/业务动作) / 质量管理_检验标准表_修改 / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / 质量管理_检验标准表_修改 / 更新/保存业务数据] --> [type 12(当前通用存储过程写入/业务动作) / 质量管理_检验标准表_删除 / 删除业务数据] +[type 12(当前通用存储过程写入/业务动作) / 质量管理_检验标准表_删除 / 删除业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / SAP.SBO_YL.dbo.UBT_OITM / 基础表_工序 / YL_基础表_数据字典] +[主要数据对象 / SAP.SBO_YL.dbo.UBT_OITM / 基础表_工序 / YL_基础表_数据字典] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `MES_ProcessManagement_PartGet` | 查询/读取数据 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OITM | +| 2 | `Prog_MES_LoadProcess` | 查询/读取数据 | 表:基础表_工序 | +| 3 | `查询字典` | 查询/读取数据 | 表:YL_基础表_数据字典 | +| 4 | `质量管理_检验标准表_新增` | 新增业务数据 | 未在 SQL 中解析到明确依赖 | +| 5 | `质量管理_检验标准表_查询` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 6 | `质量管理_检验标准表_修改` | 更新/保存业务数据 | 未在 SQL 中解析到明确依赖 | +| 7 | `质量管理_检验标准表_删除` | 删除业务数据 | 未在 SQL 中解析到明确依赖 | + +#### 60. `src/views/QualityManagement/Unqualified/index.vue` + +页面要点:该页面处理不合格品。用户查询不合格记录,查看处置流程和节点,推进让步放行、返工、报废等处理。 页面可见的操作/字段包括 “查询”、“Excel导出”、“打印”、“item.label”、“全部”、“收检”、“终检”、“来料检验”、“退库检验”、“序号”,这些是判断页面业务范围的主要线索。 后端主要围绕 人员管理_人员信息查询_质检部门_查 +过程覆盖:`人员管理_人员信息查询_质检部门_查询`、`质量管理_不合格品处置_查询` + +```text +[进入页面 / src/views/QualityManagement/Unqualified/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_质检部门_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 质量管理_不合格品处置_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 质量管理_不合格品处置_查询 / 查询/读取数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 登录基础数据_管理人员权限视图 / View_质检明细] +[主要数据对象 / 登录基础数据_管理人员权限视图 / View_质检明细] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 视图:登录基础数据_管理人员权限视图 | +| 2 | `质量管理_不合格品处置_查询` | 查询/读取数据 | 视图:View_质检明细 | + +### 17.10 销售管理(SaleManagement) + +#### 61. `src/views/SaleManagement/saleorderstatus/index.vue` + +页面要点:该页面查询销售订单状态。用户按销售订单、合同、物料等条件查看销售订单在 SAP/MES 中的履约、生产、发货或关闭状态。 页面可见的操作/字段包括 “查询”、“缺料”、“关闭”、“全部”、“已下达发货通知”、“未下达发货通知”、“机加”、“装配”、“是”、“否”,这些是判断页面业务范围的主要线索。 后端主要围绕 生产管理_装配中心_缺料查 +过程覆盖:`生产管理_装配中心_缺料查询`、`销售管理_销售订单状态`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` + +```text +[进入页面 / src/views/SaleManagement/saleorderstatus/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 生产管理_装配中心_缺料查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 生产管理_装配中心_缺料查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / Prog_MES_LoadStations / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 销售管理_销售订单状态 / 业务存储过程调用] +[type 11(当前通用存储过程查询/执行) / 销售管理_销售订单状态 / 业务存储过程调用] --> [type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_DescriptionEdit / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / MES_OrderPlanned_DescriptionEdit / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / SAP.SBO_YL.dbo.UBT_OPKL_MissQty / View_生产订单_MES / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / MES_资源主数据] +[主要数据对象 / SAP.SBO_YL.dbo.UBT_OPKL_MissQty / View_生产订单_MES / MES_接口_生产计划 / MES_接口_生产计划_生产任务 / MES_资源主数据] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `生产管理_装配中心_缺料查询` | 查询/读取数据 | SAP/链接库:SAP.SBO_YL.dbo.UBT_OPKL_MissQty | +| 2 | `销售管理_销售订单状态` | 业务存储过程调用 | 视图:View_生产订单_MES | +| 3 | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 表:MES_接口_生产计划、MES_接口_生产计划_生产任务 | +| 4 | `Prog_MES_LoadStations` | 查询/读取数据 | 表:MES_资源主数据 | + +### 17.11 系统维护(SystemMaintenance) + +#### 62. `src/views/SystemMaintenance/MenuManagement/index.vue` + +页面要点:该页面维护菜单和权限。管理员查询、增加、修改、删除菜单/角色权限配置,用于动态路由和按钮权限。 页面可见的操作/字段包括 “取消”、“确定”、“item.label”、“模块名称”、“模块路径”、“请选择”、“输入关键字进行过滤”、“新增一级模块”,这些是判断页面业务范围的主要线索。 后端主要围绕 菜单系统模块_项目角色_查询数据_MES +过程覆盖:`菜单系统模块_项目角色_查询数据_MESWORK` + +```text +[进入页面 / src/views/SystemMaintenance/MenuManagement/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_查询数据_MESWORK / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_查询数据_MESWORK / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `菜单系统模块_项目角色_查询数据_MESWORK` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | + +#### 63. `src/views/SystemMaintenance/OperationLog/index.vue` + +页面要点:该页面查询操作日志或报工操作记录,用于审计用户操作和追踪异常。 页面可见的操作/字段包括 “查询”、“订单编号”、“操作人”、“序号”、“操作类别”、“工序名称”、“工位名称”、“合同号”、“物料编号”、“物料描述”,这些是判断页面业务范围的主要线索。 后端主要围绕 系统管理_报工操作记录_查询 取数或提交业务动作。 +过程覆盖:`系统管理_报工操作记录_查询` + +```text +[进入页面 / src/views/SystemMaintenance/OperationLog/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 系统管理_报工操作记录_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_报工操作记录_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / YL_加工中心_操作记录表] +[主要数据对象 / YL_加工中心_操作记录表] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `系统管理_报工操作记录_查询` | 查询/读取数据 | 表:YL_加工中心_操作记录表 | + +#### 64. `src/views/SystemMaintenance/OrgManagement/index.vue` + +页面要点:该页面维护组织/角色类基础数据,支持新增、修改、删除和查询。 页面可见的操作/字段包括 “查询”、“新增”、“编辑”、“删除”、“确 定”、“取消”、“部门名称”、“请输入部门名称”、“新增部门”、“编辑部门”,这些是判断页面业务范围的主要线索。 后端主要围绕 菜单系统模块_项目角色_查询数据_MESWORK、菜单系统模块_项目角色_修改 +过程覆盖:`菜单系统模块_项目角色_查询数据_MESWORK`、`菜单系统模块_项目角色_修改数据_MESWORK`、`菜单系统模块_项目角色_增加_MESWORK`、`菜单系统模块_项目角色_删除_MESWORK` + +```text +[进入页面 / src/views/SystemMaintenance/OrgManagement/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_查询数据_MESWORK / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_查询数据_MESWORK / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_修改数据_MESWORK / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_修改数据_MESWORK / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_增加_MESWORK / 新增业务数据] +[type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_增加_MESWORK / 新增业务数据] --> [type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_删除_MESWORK / 删除业务数据] +[type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_删除_MESWORK / 删除业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 登录基础数据_角色信息 / 登录基础数据_人员权限角色 / 登录基础数据_二级菜单] +[主要数据对象 / 登录基础数据_角色信息 / 登录基础数据_人员权限角色 / 登录基础数据_二级菜单] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `菜单系统模块_项目角色_查询数据_MESWORK` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 2 | `菜单系统模块_项目角色_修改数据_MESWORK` | 更新/保存业务数据 | 表:登录基础数据_角色信息 | +| 3 | `菜单系统模块_项目角色_增加_MESWORK` | 新增业务数据 | 表:登录基础数据_角色信息 | +| 4 | `菜单系统模块_项目角色_删除_MESWORK` | 删除业务数据 | 表:登录基础数据_角色信息、登录基础数据_人员权限角色、登录基础数据_二级菜单 | + +#### 65. `src/views/SystemMaintenance/PersonnelManagement/index.vue` + +页面要点:该页面维护人员账号。管理员维护人员、部门、角色、启用状态等登录和权限基础数据。 页面可见的操作/字段包括 “查询”、“新增”、“重置密码”、“编辑”、“确 定”、“取消”、“item.label”、“姓名”、“工号”、“密码”,这些是判断页面业务范围的主要线索。 后端主要围绕 人员管理_角色信息初始化查询_查询、登录基础数据_人员信息_切 +过程覆盖:`人员管理_角色信息初始化查询_查询`、`登录基础数据_人员信息_切换是否用户`、`人员管理_人员信息查询_查询`、`人员管理_人员信息修改_编辑`、`人员管理_人员信息修改_删除`、`人员管理_人员信息新增_新增`、`WEB_摄像头查看权限_查询`、`WEB_登录基础数据_人员信息_重置密码`、`WEB_人员设备查看权限_查询`、`WEB_人员设备查看权限_权限切换`、... + +```text +[进入页面 / src/views/SystemMaintenance/PersonnelManagement/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 人员管理_角色信息初始化查询_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_角色信息初始化查询_查询 / 查询/读取数据] --> [type 12(当前通用存储过程写入/业务动作) / 登录基础数据_人员信息_切换是否用户 / 基础权限/人员数据处理] +[type 12(当前通用存储过程写入/业务动作) / 登录基础数据_人员信息_切换是否用户 / 基础权限/人员数据处理] --> [type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_人员信息查询_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / WEB_摄像头查看权限_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / WEB_摄像头查看权限_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / WEB_人员设备查看权限_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / WEB_人员设备查看权限_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 12(当前通用存储过程写入/业务动作) / 人员管理_人员信息修改_编辑 / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / 人员管理_人员信息修改_编辑 / 更新/保存业务数据] --> [type 12(当前通用存储过程写入/业务动作) / 人员管理_人员信息修改_删除 / 更新/保存业务数据] +[type 12(当前通用存储过程写入/业务动作) / 人员管理_人员信息修改_删除 / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 人员管理_人员信息新增_新增 / 新增业务数据] +[type 11(当前通用存储过程查询/执行) / 人员管理_人员信息新增_新增 / 新增业务数据] --> [type 12(当前通用存储过程写入/业务动作) / WEB_登录基础数据_人员信息_重置密码 / 基础权限/人员数据处理] +[type 12(当前通用存储过程写入/业务动作) / WEB_登录基础数据_人员信息_重置密码 / 基础权限/人员数据处理] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 登录基础数据_人员信息 / 登录基础数据_人员权限角色] +[主要数据对象 / 登录基础数据_人员信息 / 登录基础数据_人员权限角色] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `人员管理_角色信息初始化查询_查询` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 2 | `登录基础数据_人员信息_切换是否用户` | 基础权限/人员数据处理 | 未知 | +| 3 | `人员管理_人员信息查询_查询` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 4 | `人员管理_人员信息修改_编辑` | 更新/保存业务数据 | 表:登录基础数据_人员信息、登录基础数据_人员权限角色 | +| 5 | `人员管理_人员信息修改_删除` | 更新/保存业务数据 | 表:登录基础数据_人员信息、登录基础数据_人员权限角色 | +| 6 | `人员管理_人员信息新增_新增` | 新增业务数据 | 表:登录基础数据_人员信息、登录基础数据_人员权限角色 | +| 7 | `WEB_摄像头查看权限_查询` | 查询/读取数据 | 未知 | +| 8 | `WEB_登录基础数据_人员信息_重置密码` | 基础权限/人员数据处理 | 表:登录基础数据_人员信息 | +| 9 | `WEB_人员设备查看权限_查询` | 查询/读取数据 | 未知 | +| 10 | `WEB_人员设备查看权限_权限切换` | 查询/读取数据 | 未知 | +| 11 | `WEB_人员摄像头查看权限_权限切换` | 查询/读取数据 | 未知 | + +#### 66. `src/views/SystemMaintenance/SystemRrolemaintenance/index.vue` + +页面要点:该页面维护系统角色。管理员查询、新增、修改、删除角色数据。 页面可见的操作/字段包括 “查询”、“新增”、“编辑”、“删除”、“确 定”、“取消”、“角色功能”、“角色名称”、“请输入角色功能”、“新增角色”,这些是判断页面业务范围的主要线索。 后端主要围绕 菜单系统模块_项目角色_查询数据_MESWORK、菜单系统模块_项目角色_修改数 +过程覆盖:`菜单系统模块_项目角色_查询数据_MESWORK`、`菜单系统模块_项目角色_修改数据_MESWORK`、`菜单系统模块_项目角色_增加_MESWORK`、`菜单系统模块_项目角色_删除_MESWORK` + +```text +[进入页面 / src/views/SystemMaintenance/SystemRrolemaintenance/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_查询数据_MESWORK / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_查询数据_MESWORK / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_修改数据_MESWORK / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_修改数据_MESWORK / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_增加_MESWORK / 新增业务数据] +[type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_增加_MESWORK / 新增业务数据] --> [type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_删除_MESWORK / 删除业务数据] +[type 11(当前通用存储过程查询/执行) / 菜单系统模块_项目角色_删除_MESWORK / 删除业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / 登录基础数据_角色信息 / 登录基础数据_人员权限角色 / 登录基础数据_二级菜单] +[主要数据对象 / 登录基础数据_角色信息 / 登录基础数据_人员权限角色 / 登录基础数据_二级菜单] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `菜单系统模块_项目角色_查询数据_MESWORK` | 查询/读取数据 | 未在 SQL 中解析到明确依赖 | +| 2 | `菜单系统模块_项目角色_修改数据_MESWORK` | 更新/保存业务数据 | 表:登录基础数据_角色信息 | +| 3 | `菜单系统模块_项目角色_增加_MESWORK` | 新增业务数据 | 表:登录基础数据_角色信息 | +| 4 | `菜单系统模块_项目角色_删除_MESWORK` | 删除业务数据 | 表:登录基础数据_角色信息、登录基础数据_人员权限角色、登录基础数据_二级菜单 | + +#### 67. `src/views/SystemMaintenance/WorkstationManagement/index.vue` + +页面要点:该页面维护工位资源。管理员在 MES 侧新增、修改、删除工位,同时调用 SAP B1 Resources 新增或更新资源主数据。 页面可见的操作/字段包括 “查询”、“新增”、“编辑”、“删除”、“确 定”、“取消”、“工位名称”、“工位号”、“请输入工位名称”、“新增工位”,这些是判断页面业务范围的主要线索。 后端主要围绕 MES_登录 +过程覆盖:`MES_登录_工位与名称_查询`、`系统管理_工位管理_工位信息修改`、`系统管理_工位管理_工位信息增加`、`系统管理_工位管理_工位信息删除` + +```text +[进入页面 / src/views/SystemMaintenance/WorkstationManagement/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / MES_登录_工位与名称_查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 系统管理_工位管理_工位信息修改 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_工位管理_工位信息修改 / 更新/保存业务数据] --> [type 11(当前通用存储过程查询/执行) / 系统管理_工位管理_工位信息增加 / 新增业务数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_工位管理_工位信息增加 / 新增业务数据] --> [type 11(当前通用存储过程查询/执行) / 系统管理_工位管理_工位信息删除 / 删除业务数据] +[type 11(当前通用存储过程查询/执行) / 系统管理_工位管理_工位信息删除 / 删除业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [主要数据对象 / View_基础数据_工位 / MES_资源主数据 / 登录基础数据_人员权限角色 / 登录基础数据_二级菜单] +[主要数据对象 / View_基础数据_工位 / MES_资源主数据 / 登录基础数据_人员权限角色 / 登录基础数据_二级菜单] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `MES_登录_工位与名称_查询` | 查询/读取数据 | 视图:View_基础数据_工位 | +| 2 | `系统管理_工位管理_工位信息修改` | 更新/保存业务数据 | 表:MES_资源主数据 | +| 3 | `系统管理_工位管理_工位信息增加` | 新增业务数据 | 表:MES_资源主数据 | +| 4 | `系统管理_工位管理_工位信息删除` | 删除业务数据 | 表:MES_资源主数据、登录基础数据_人员权限角色、登录基础数据_二级菜单 | + +### 17.12 首页与看板入口(dashboard) + +#### 68. `src/views/dashboard/index.vue` + +页面要点:该页面是系统首页或欢迎页,用于承载看板入口或基础统计展示。 + +```text +[进入页面 / src/views/dashboard/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +### 17.13 布局与导航(layout) + +#### 69. `src/views/layout/Layout.vue` + +页面要点:该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +```text +[进入页面 / src/views/layout/Layout.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +#### 70. `src/views/layout/components/AppMain.vue` + +页面要点:该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +```text +[进入页面 / src/views/layout/components/AppMain.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +#### 71. `src/views/layout/components/Navbar.vue` + +页面要点:该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 页面可见的操作/字段包括 “[   登出   ]  --> Log Off”、“取 消”、“提 交”、“旧密码”、“新密码”、“确认密码”、“修改密码”,这些是判断页面业务范围的主要线索。 后端主要围绕 登录基础数据_人员信 +过程覆盖:`登录基础数据_人员信息_登陆检查密码`、`登录基础数据_人员信息_修改密码`、`WEB_报警查询_未读报警记录_查询`、`WEB_报警查询_未读报警记录_未读条数查询` + +```text +[进入页面 / src/views/layout/components/Navbar.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [组装查询条件 / 分页/时间/订单/工位] +[组装查询条件 / 分页/时间/订单/工位] --> [type 11(当前通用存储过程查询/执行) / 登录基础数据_人员信息_登陆检查密码 / 基础权限/人员数据处理] +[type 11(当前通用存储过程查询/执行) / 登录基础数据_人员信息_登陆检查密码 / 基础权限/人员数据处理] --> [type 11(当前通用存储过程查询/执行) / WEB_报警查询_未读报警记录_查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / WEB_报警查询_未读报警记录_查询 / 查询/读取数据] --> [type 11(当前通用存储过程查询/执行) / WEB_报警查询_未读报警记录_未读条数查询 / 查询/读取数据] +[type 11(当前通用存储过程查询/执行) / WEB_报警查询_未读报警记录_未读条数查询 / 查询/读取数据] --> [ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] +[ExecDatabase 返回 response.data / 表格/树/日历/明细区刷新] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [校验必填项/选中行/数量和状态] +[校验必填项/选中行/数量和状态] --> [type 11(当前通用存储过程查询/执行) / 登录基础数据_人员信息_修改密码 / 更新/保存业务数据] +[type 11(当前通用存储过程查询/执行) / 登录基础数据_人员信息_修改密码 / 更新/保存业务数据] --> [后端写入/更新完成 / 返回成功/失败消息] +[后端写入/更新完成 / 返回成功/失败消息] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +| 环节 | 页面调用/过程 | 用途 | 依赖线索 | +|---|---|---|---| +| 1 | `登录基础数据_人员信息_登陆检查密码` | 基础权限/人员数据处理 | 未在 SQL 中解析到明确依赖 | +| 2 | `登录基础数据_人员信息_修改密码` | 更新/保存业务数据 | 未在 SQL 中解析到明确依赖 | +| 3 | `WEB_报警查询_未读报警记录_查询` | 查询/读取数据 | 未知 | +| 4 | `WEB_报警查询_未读报警记录_未读条数查询` | 查询/读取数据 | 未知 | + +#### 72. `src/views/layout/components/Sidebar/Item.vue` + +页面要点:该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +```text +[进入页面 / src/views/layout/components/Sidebar/Item.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +#### 73. `src/views/layout/components/Sidebar/SidebarItem.vue` + +页面要点:该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 页面可见的操作/字段包括 “onlyOneChild.meta.title”、“item.meta.title”、“child.meta.title”,这些是判断页面业务范围的主要线索。 + +```text +[进入页面 / src/views/layout/components/Sidebar/SidebarItem.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +#### 74. `src/views/layout/components/Sidebar/index.vue` + +页面要点:该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +```text +[进入页面 / src/views/layout/components/Sidebar/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +#### 75. `src/views/layout/components/TagsView.vue` + +页面要点:该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +```text +[进入页面 / src/views/layout/components/TagsView.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +#### 76. `src/views/layout/components/index.js` + +页面要点:该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +```text +[进入页面 / src/views/layout/components/index.js] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +#### 77. `src/views/layout/mixin/ResizeHandler.js` + +页面要点:该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。 + +```text +[进入页面 / src/views/layout/mixin/ResizeHandler.js] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` + +### 17.14 登录(login) + +#### 78. `src/views/login/index.vue` + +页面要点:该页面是登录入口,负责账号密码登录、角色选择、Token/Cookie 写入、路由权限初始化和密码修改入口。 页面可见的操作/字段包括 “修改密码”、“登录”、“取消”、“确定”、“角色名称”、“工号”、“原始密码”、“新密码”、“确认密码”、“请输入用户名”,这些是判断页面业务范围的主要线索。 + +```text +[进入页面 / src/views/login/index.vue] --> [初始化页面状态 / 权限/默认条件/基础下拉] +[初始化页面状态 / 权限/默认条件/基础下拉] --> [页面绘制/路由容器展示 / 未识别到页面级存储过程] +[页面绘制/路由容器展示 / 未识别到页面级存储过程] --> [用户是否发起业务动作?] +[用户是否发起业务动作?] -- 是 --> [本页主要为查询/展示或容器组件 / 无明确写入动作] +[本页主要为查询/展示或容器组件 / 无明确写入动作] --> [保持当前数据或跳转其他页面] +[保持当前数据或跳转其他页面] --> [刷新列表/关闭弹窗/回显最新结果] +[用户是否发起业务动作?] -- 否 --> [刷新列表/关闭弹窗/回显最新结果] +[刷新列表/关闭弹窗/回显最新结果] --> [页面状态/路由/展示数据] +[页面状态/路由/展示数据] --> [用户继续查询/维护或转入下一业务页] +``` diff --git a/doc_old/元利项目详细用户使用说明书.md b/doc_old/元利项目详细用户使用说明书.md new file mode 100644 index 0000000..e293efd --- /dev/null +++ b/doc_old/元利项目详细用户使用说明书.md @@ -0,0 +1,7410 @@ +# 元利 MES 项目详细用户使用说明书 + +生成日期:2026-05-25 +依据文档:`元利项目详细分析.md` +适用系统:`MES_Manage_View_V20` + +## 一、使用说明 + +本文面向生产操作工、装配人员、质检员、计划员、工艺员、设备管理员、班组长、主管、系统管理员和看板使用人员,说明元利 MES 系统各功能模块的日常使用方式。 + +注意: +- 不同账号看到的菜单不同,本文按系统功能完整说明。 +- 页面名称可能由数据库菜单动态配置,实际菜单名称以现场系统为准。 +- 涉及 SAP 的操作,如果 SAP 接口失败,应以页面提示和操作日志为准,不要重复提交同一业务动作。 +- 看板页面主要用于展示,不作为业务数据维护入口。 + +## 二、系统登录与通用操作 + +### 2.1 登录系统 + +操作步骤: + +1. 打开浏览器,输入 MES 系统地址。 +2. 在登录页输入工号和密码。 +3. 点击 `登录`。 +4. 如果账号有多个角色,选择本次要使用的角色。 +5. 进入系统首页或九宫格功能入口。 + +常见问题: + +| 问题 | 处理方式 | +|---|---| +| 提示账号或密码错误 | 检查工号、密码,必要时联系系统管理员重置 | +| 登录后无菜单 | 检查账号是否分配角色和菜单权限 | +| 页面空白或跳回登录页 | 清理浏览器缓存后重新登录 | + +### 2.2 主界面说明 + +系统主界面一般包括: + +| 区域 | 用途 | +|---|---| +| 左侧菜单 | 按模块进入计划、工艺、生产、质检、设备、系统维护等页面 | +| 顶部栏 | 显示当前用户、消息、修改密码、退出系统 | +| 标签栏 | 切换已经打开的页面 | +| 主工作区 | 显示当前页面的查询条件、表格、弹窗和操作按钮 | + +### 2.3 通用查询操作 + +大多数页面都采用相同模式: + +1. 在页面上方填写查询条件,例如订单号、物料编码、日期、工位、状态。 +2. 点击 `查询`。 +3. 在下方表格查看结果。 +4. 如需重新查询,点击 `重置` 清空条件。 +5. 如页面支持导出,点击 `导出` 生成表格文件。 + +### 2.4 通用新增、编辑、删除 + +| 操作 | 使用方式 | +|---|---| +| 新增 | 点击 `新增`,填写必填项,点击保存 | +| 编辑 | 选中一行或点击行内 `编辑`,修改字段后保存 | +| 删除 | 选中记录后点击 `删除`,确认后删除 | +| 批量操作 | 勾选多行后点击批量按钮,按弹窗提示确认 | + +操作要求: +- 带星号字段必须填写。 +- 日期字段建议使用日期选择器。 +- 删除和批量操作前需要确认数据是否已经被业务引用。 + +## 三、角色与日常工作入口 + +| 角色 | 常用入口 | 主要工作 | +|---|---|---| +| 计划员 | 自制件排产、装配排产、生产订单关闭 | 排产、调整计划、关闭订单、同步 SAP | +| 工艺员 | 工序管理、制定标准工艺、生产工艺、工艺查询 | 维护工艺、生成生产工艺、查看路线 | +| 机加操作工 | 机加中心、领料、退库、报工 | 收料、开工、报工、异常反馈 | +| 装配人员 | 装配中心、装配任务管理 | 发料、装配、报工、送检、异常反馈 | +| 质检员 | 质检中心、各类检验任务、不合格处理 | 检验、录入结果、处理不合格 | +| 外协人员 | 外协管理、外协任务报表、序检收检 | 外协派发、收货、质检追溯 | +| 设备管理员 | 设备信息、设备实时数据、设备历史数据 | 维护设备、查看设备状态 | +| 班组长/主管 | 及时开工、工时报表、看板、异常管控 | 任务跟踪、异常处理、产量和工时分析 | +| 系统管理员 | 菜单、人员、组织、角色、工位管理 | 权限、主数据、基础配置 | + +## 四、基础资料维护 + +### 4.1 人员维护 + +适用页面: +- `SystemMaintenance/PersonnelManagement` +- 人员角色、组织、权限相关页面 + +用途: +- 维护员工基本信息。 +- 设置人员所属组织、岗位、角色。 +- 支持后续登录、权限、派工、报工、缺勤统计。 + +操作步骤: + +1. 进入人员维护页面。 +2. 按工号、姓名、组织查询人员。 +3. 点击新增或编辑。 +4. 填写工号、姓名、部门、岗位、状态等信息。 +5. 保存后检查角色权限是否正确。 + +注意: +- 离职或停用人员应设置为不可用,不建议直接删除历史人员。 +- 缺勤、班次、人员绩效依赖人员基础信息准确。 + +### 4.2 组织与角色维护 + +适用页面: +- `SystemMaintenance/OrgManagement` +- `SystemMaintenance/SystemRrolemaintenance` +- `SystemMaintenance/MenuManagement` + +用途: +- 设置组织结构。 +- 设置系统角色。 +- 给角色分配菜单和功能权限。 + +操作步骤: + +1. 维护组织节点。 +2. 新建或编辑角色。 +3. 给角色分配菜单权限。 +4. 给用户绑定角色。 +5. 使用对应账号重新登录确认菜单是否生效。 + +### 4.3 工位维护 + +适用页面: +- `SystemMaintenance/WorkstationManagement` + +用途: +- 维护工位号、工位名称。 +- 对接 SAP Resource。 +- 作为设备、人员、任务、缺勤和看板统计的基础。 + +操作步骤: + +1. 进入工位管理页面。 +2. 查询现有工位。 +3. 新增或编辑工位。 +4. 如需同步 SAP,检查资源编码、名称和同步结果。 +5. 保存后确认生产页面是否可以选择该工位。 + +注意: +- 工位编码应保持稳定,避免影响历史任务和 SAP 资源。 +- 如果 SAP 同步失败,应查看失败提示并重新同步。 + +### 4.4 设备信息维护 + +适用页面: +- `DeviceManagement/DeviceInformation` + +用途: +- 维护设备名称、型号、类型、工位、点检类型、工时单价、加工能力。 +- 支持设备状态、工时、OEE、机加看板等功能。 + +操作步骤: + +1. 进入设备信息页面。 +2. 按设备名称、设备类型、工位查询。 +3. 点击新增或编辑。 +4. 填写设备名称、设备型号、设备类型、加工工艺、工位、点检类型等。 +5. 保存。 + +注意: +- 设备标准工时不应简单作为所有零件的标准工时,标准单件工时优先从标准工艺或生产工艺取。 +- 设备是否参与 OEE、采集点位、主要设备等字段如后续上线,应由设备管理员维护。 + +### 4.5 班次与人员绑定 + +适用页面: +- `ProductionManagement/ShiftManagement` +- `ProductionManagement/PersonnelBinding` + +用途: +- 维护班次规则。 +- 维护人员与工位、岗位、设备的绑定关系。 +- 为班次产量、缺勤人员、设备看板提供基础数据。 + +操作注意: +- 班次跨天规则必须明确。 +- 缺勤不能从“没有报工”直接推断,必须有应到和实到来源。 +- 一个人可能对应多个工位,展示时需要合并显示。 + +## 五、工艺与图纸管理 + +### 5.1 工序基础数据 + +适用页面: +- `ProcessManagement/ProcedureManagement` + +用途: +- 维护工序编号和工序名称。 +- 部分工序需要同步到 SAP RouteStages。 + +操作步骤: + +1. 进入工序管理页面。 +2. 查询已有工序。 +3. 新增或编辑工序编号、工序名称。 +4. 如页面提示同步 SAP,确认同步结果。 +5. 保存。 + +注意: +- 工序编号应避免重复。 +- 若 SAP 同步失败,不应继续使用该工序进行正式下发,需先处理同步问题。 + +### 5.2 图纸查看与维护 + +适用页面: +- `ProcessManagement/PartDrawing` +- `ProcessManagement/PartDrawlook` +- `ProcessManagement/ProcessDrawing` +- `ProcessManagement/ProcurementDrawlook` + +用途: +- 上传、维护、查看零件图纸、工艺图纸、采购图纸。 +- 支持生产和质检查看图纸依据。 + +通用操作: + +1. 输入物料编码、物料名称或图号查询。 +2. 查看图纸列表。 +3. 点击查看或下载。 +4. 如有权限,可新增、替换或删除图纸。 + +### 5.3 产品结构维护 + +适用页面: +- `CraftManagement/CraftMaintain` + +用途: +- 维护产品结构树。 +- 维护产品材料和工艺参数。 +- 为后续工艺、物料、BOM 和生产任务提供结构基础。 + +操作步骤: + +1. 进入产品结构维护页面。 +2. 展开产品结构树。 +3. 选择节点后新增、编辑或删除子节点。 +4. 维护产品材料和工艺参数。 +5. 保存后确认结构是否正确。 + +### 5.4 制定标准工艺 + +适用页面: +- `ProcessManagement/ProcessesDevelop` + +用途: +- 为物料维护标准工艺路线。 +- 设置工序顺序、标准工时、准备工时。 +- 后续可维护关键工序标识。 + +操作步骤: + +1. 进入制定标准工艺页面。 +2. 按物料编码或名称查询。 +3. 选择物料后维护工序路线。 +4. 设置每道工序的工序名称、顺序、标准工时、准备工时等。 +5. 点击保存。 + +注意: +- 标准工艺是生产工艺的默认来源。 +- 保存成功后应有明确提示。 +- 关键工序应在标准工艺中作为默认标识维护。 + +### 5.5 生产工艺维护 + +适用页面: +- `ProcessManagement/ProcessProduct` + +用途: +- 按生产订单或物料维护实际生产工艺。 +- 将标准工艺转为订单级生产工艺。 +- 下发生产工艺任务。 + +操作步骤: + +1. 进入生产工艺页面。 +2. 按订单、物料、标准工艺状态、生产工艺状态查询。 +3. 点击编辑生产工艺。 +4. 若订单没有生产工艺,可按物料带出标准工艺作为草稿。 +5. 检查工序顺序、指派对象、标准工时等内容。 +6. 保存后启用或下发。 + +注意: +- 标准工艺带出后不应自动保存,必须由用户确认保存。 +- 已生成生产工艺不建议随标准工艺自动变化。 +- 关键工序、标准工时等字段下发任务时应形成快照。 + +### 5.6 工艺查询 + +适用页面: +- `ProcessManagement/ProcessInquiry` + +用途: +- 查询标准工艺或生产工艺。 +- 查看工艺路线和工序明细。 +- 支持打印或导出。 + +## 六、计划排产管理 + +### 6.1 机加待排产 + +适用页面: +- `PlanManagement/SelfMakePlan` + +用途: +- 查询未排产机加任务。 +- 设置计划开始、计划完成、工位、设备、优先级等。 +- 将 MES 排产信息同步到 SAP 生产订单。 + +操作步骤: + +1. 进入机加待排产页面。 +2. 输入生产订单、物料、计划号等条件查询。 +3. 选择待排产任务。 +4. 设置计划开始时间、计划完成时间、指派对象、工位或设备。 +5. 点击保存或排产。 +6. 如页面触发 SAP 回写,等待返回结果。 +7. 如果 SAP 回写失败,记录失败原因并联系相关人员处理。 + +注意: +- 排产时间会影响及时开工、生产看板和 SAP 订单日期。 +- 排产后任务进入已排产或待执行状态。 + +### 6.2 机加已排产 + +适用页面: +- `PlanManagement/SelfMakePlando` +- `PlanManagement/SelfMakePlandone` + +用途: +- 查看机加/自制件待排产和已排产任务。 +- 按订单、销售订单、物料、工序、计划时间、工位筛选任务。 +- 在表单页直接维护指派对象、指派数量、计划开始、计划完成、最晚开始、外协分组、优先级和派工备注。 +- 在日程页拖拽任务调整计划开始和计划完成时间。 +- 通过指派数量进行部分派工/拆分派工,通过二次派工追加人员。 +- 查看原料状态、零件图纸、工艺图纸,确认任务是否具备开工条件。 + +操作步骤: + +1. 进入 `PlanManagement/SelfMakePlandone` 查看已排产任务;需要处理待排产任务时进入 `PlanManagement/SelfMakePlando`。 +2. 在查询区输入 `生产订单`、`销售订单`、`物料编码`、`物料名称`、`工序名称`,按需要选择 `排产状态`。 +3. 选择 `要求完工日期`、`计划开始`、`计划完成` 的起止日期,点击 `查询` 刷新列表。 +4. 在工位复选框中勾选要查看的工位,系统按勾选工位过滤任务;不勾选时按全部工位查询。 +5. 在 `表单` 页查看任务基本信息:生产订单、物料编码、物料名称、计划数、要求完工日期、标准工时、工序名称、指派对象、指派数量、计划开始、计划完成、外协分组、原料状态、优先级、备注、占用情况、销售订单、最后编辑人和最后编辑时间。 +6. 表格中红色行表示优先级为 `是` 或加急状态为 `加急` 的任务,这类任务会优先显示;处理时应先核对是否需要插单或提前安排。 +7. 修改指派对象时,先单击目标行,再单击 `指派对象` 单元格,选择工位后系统立即保存。 +8. 修改指派数量时,先单击目标行,再单击 `指派数量` 单元格,输入数量后点击该单元格内的 `确定`。数量必须大于等于 1,且不能超过计划数量;小于计划数量时表示只派出部分数量,剩余数量按拆分/未派部分继续保留。 +9. 修改计划开始时,在 `计划开始` 列选择日期,系统保存该任务新的计划开始时间。 +10. 修改计划完成时,在 `计划完成` 列选择日期,系统保存该任务新的计划完成时间。 +11. 修改最晚开始时,在 `最晚开始` 列选择日期,用于提醒任务最迟必须开工的控制时间。 +12. 维护外协分组时,在 `外协分组` 输入框填写分组编号或分组值,离开输入框后系统保存,后续外协任务可按该分组识别。 +13. 查看原料状态时,点击 `原料状态` 列的 `查看`,在弹窗中核对子件编码、子件名称、基本数量、待出数量、拣配数量、计划数量、库存量、材质。 +14. 查看图纸时,在 `SelfMakePlando` 点击 `零件图纸` 或 `工艺图纸`,在弹窗中查看对应图纸;若提示未上传图纸,需要先维护图纸资料。 +15. 维护优先级和说明时,点击 `编辑`,在弹窗中选择 `优先级` 为 `是` 或 `否`,填写 `未完成说明`、`派工特殊备注`,点击 `确定` 保存。 +16. 需要追加人员时,在 `二次派工` 列多选人员,选择完成后系统立即保存二次派工人员。 +17. 需要批量排产时,在 `SelfMakePlando` 勾选同一生产订单的多道工序,先补齐第一道工序的指派对象和计划开始时间,再点击 `批量排产`。系统按订单行号排序,并把上一道工序的指派对象、计划开始、计划完成带给后续未填写工序。 +18. 批量排产确认无误后,点击 `排产完成`。系统校验每行是否有指派对象、指派数量、计划开始和计划完成;通过后写入派工结果,并按同一生产订单汇总最早开始、最晚完成,同步更新 SAP 生产订单开始/完成日期。 +19. 切换到 `日程` 页查看日历排程。蓝色任务为普通任务,红色任务为优先/加急任务;事件标题包含生产订单、物料名称、指派对象和计划数量。 +20. 在日程页单击任务,可查看订单号、指派对象、计划数量、开始时间、结束时间。 +21. 在日程页拖拽任务到其他日期,系统会弹出 `确认修改计划时间?`;点击 `确定` 后保存新的计划开始和计划完成,点击 `取消` 后恢复原位置。 +22. 在日程页拖动任务边缘拉长或缩短任务跨度,系统会同步调整计划完成时间;保存失败时日程会自动恢复原时间。 +23. 调整完成后回到 `表单` 页或重新点击 `查询`,确认列表中的计划开始、计划完成、最晚开始、指派对象、指派数量和备注已经更新。 + +注意: +- 日期筛选按自然日时,应查询 `00:00:00` 至 `23:59:59`。 +- 日程页拖拽会直接修改任务计划时间,拖拽前应确认不是已开工、已报工或已经锁定的任务。 +- 指派数量小于计划数量时要特别核对剩余数量是否还需要继续派工,避免漏派。 +- 二次派工只是补充人员,不等同于变更主指派工位。 +- `排产完成` 会影响生产看板、及时开工统计,并回写 SAP 生产订单日期,提交前必须核对同一订单的最早开始和最晚完成。 +- 红色任务表示优先或加急,默认排序靠前,不能只按订单号顺序处理。 + +### 6.3 装配排产 + +适用页面: +- `PlanManagement/InstallMakePlan` +- `PlanManagement/InstallMakePlanDo` + +用途: +- 排产装配、电气相关任务。 +- 提交 SAP 采购申请。 +- 回写 SAP 生产订单日期和说明。 + +操作步骤: + +1. 进入装配排产页面。 +2. 查询待排产装配任务。 +3. 设置计划时间、优先级、说明。 +4. 如需生成采购申请,确认采购字段。 +5. 点击保存或提交。 +6. 查看 SAP 采购申请或生产订单回写结果。 + +注意: +- SAP 采购申请失败时,不要重复点击提交,应先确认是否已在 SAP 生成单据。 +- 装配排产数据会影响装配中心、装配看板、齐套和送检相关报表。 + +### 6.4 优先装配与计划壳 + +适用页面: +- `PlanManagement/priorityinstall` +- `PlanManagement/PlanShell` + +用途: +- 处理优先装配或计划壳相关任务。 +- 查询计划任务状态。 + +使用方式: + +1. 输入订单、物料或计划号查询。 +2. 查看任务列表和状态。 +3. 按页面按钮执行调整、查询或导出。 + +### 6.5 生产订单关闭 + +适用页面: +- `PlanManagement/PlannOrderClose` + +用途: +- 关闭生产订单。 +- 将订单关闭状态同步到 SAP。 + +操作步骤: + +1. 进入生产订单关闭页面。 +2. 查询待关闭订单。 +3. 选择订单。 +4. 点击关闭或批量关闭 SAP 订单。 +5. 在确认框中确认。 +6. 查看每条订单的关闭结果。 + +注意: +- 关闭是高风险操作,必须确认订单已满足关闭条件。 +- 批量关闭应逐单查看成功或失败原因。 +- SAP 部分成功时,应按失败明细重试,不要重复关闭已成功订单。 + +## 七、生产执行管理 + +### 7.1 机加中心 + +适用页面: +- `ProductionManagement/MachiningCenter` + +用途: +- 机加任务执行。 +- 收料、开工、暂停、恢复、报工、退库、入库、发料、查看图纸、报异常。 + +典型流程: + +1. 查询当前工位或当前人员任务。 +2. 查看生产订单、物料、工序、分配数、上序合格数、收料状态。 +3. 确认可执行后进行收料。 +4. 点击开始加工。 +5. 加工过程中如有问题,点击报异常。 +6. 完成后填写报工数量、工时、说明。 +7. 提交报工。 +8. 根据任务要求进入质检、转序或入库。 + +不可开工常见原因: + +| 原因 | 处理方式 | +|---|---| +| 未收料 | 先执行收料 | +| 上序未完成或未合格 | 等待上道工序或质检完成 | +| 发料未齐套 | 等待发料或拣配完成 | +| 异常未关闭 | 联系异常责任人处理 | +| 设备或工位不匹配 | 联系班组长调整 | + +### 7.2 装配中心 + +适用页面: +- `ProductionManagement/AssemblyCenter` + +用途: +- 装配任务执行。 +- 查看装配任务、发料、缺件、齐套、报工、送检、异常。 + +典型流程: + +1. 查询装配任务。 +2. 查看发料状态、齐套状态、物料、合同、计划时间。 +3. 发料齐套后开始装配。 +4. 执行装配报工。 +5. 如有缺件或异常,查看缺件明细或提交异常。 +6. 装配完成后按要求送检或入库。 + +注意: +- 发料齐套时间会影响装配完成时间、及时送检和装配看板。 +- 手续确认如果上线,应按手续确认报表处理。 + +### 7.3 生产任务管理 + +适用页面: +- `ProductionManagement/ProductionTaskManage` +- `ProductionManagement/ProductionTasksSum` +- `ProductionManagement/AssembleTaskManage` +- `ProductionManagement/AssembleTasksSum` + +用途: +- 查询生产任务和装配任务。 +- 查看任务汇总。 +- 跟踪任务状态、加工状态、完成数量。 + +使用方式: + +1. 进入任务管理或任务汇总页面。 +2. 输入订单、物料、任务状态、日期等条件。 +3. 点击查询。 +4. 查看任务明细或汇总。 + +### 7.4 生产计划跟踪 + +适用页面: +- `ProductionManagement/ProductionPlanTrack` +- `ProductionManagement/AssemblePlanTrack` + +用途: +- 查看生产订单当前进度。 +- 查看工艺路线、当前序、等待序、已完成序。 + +使用方式: + +1. 输入生产订单、合同号、物料等查询。 +2. 查看工艺路线。 +3. 判断当前正在加工的工序和后续等待工序。 +4. 查看标准工时、订单状态等信息。 + +## 八、外协业务 + +### 8.1 外协管理 + +适用页面: +- `ProductionManagement/OutsourceMange` +- `ProductionManagement/SaleOutsourceMange` + +用途: +- 管理外协任务。 +- 生成 SAP 采购申请。 +- 跟踪外协交付。 + +操作步骤: + +1. 查询外协任务。 +2. 选择需要外协的任务。 +3. 填写供应商、交期、说明等信息。 +4. 提交外协或生成采购申请。 +5. 查看 SAP 返回结果。 +6. 后续在外协收货或序检收检中录入检验结果。 + +### 8.2 外协任务报表 + +适用页面: +- `ProductionManagement/OutsourceSheet` + +用途: +- 查看外协任务状态。 +- 查询采购到货期说明。 +- 追溯供应商、采购收货单和质检结果。 + +### 8.3 外协检验 + +适用页面: +- `QualityManagement/CheckTask/processReceive` + +用途: +- 对外协任务进行收检。 +- 保存指派对象、供应商、SAP 采购收货单号、检验结果。 + +注意: +- 供应商合格率依赖供应商字段准确。 +- SAP 采购收货单号用于单据追溯。 + +## 九、质检管理 + +### 9.1 质检中心 + +适用页面: +- `QualityManagement/QualityCenter` + +用途: +- 处理机加、装配、采购、外协等来源的质检任务。 +- 录入检验结果。 +- 发起不合格处理、让步接收、返工等。 + +操作步骤: + +1. 进入质检中心。 +2. 按订单、物料、检验类型、状态查询。 +3. 选择待检任务。 +4. 查看工序、数量、图纸和检验要求。 +5. 录入检验数量、合格数量、不合格数量和检测项。 +6. 保存检验结果。 +7. 如不合格,进入不合格处理流程。 + +### 9.2 采购入库检 + +适用页面: +- `QualityManagement/CheckTask/purchaseIncoming` + +用途: +- 对采购到货物料进行入库检验。 + +操作步骤: + +1. 查询采购入库检任务。 +2. 查看供应商、物料、数量。 +3. 录入检验结果。 +4. 保存。 + +### 9.3 序检收检 + +适用页面: +- `QualityManagement/CheckTask/processReceive` + +用途: +- 处理工序之间的收检。 +- 外协收检也会使用该链路。 + +操作注意: +- 如为外协任务,应确认指派对象、供应商和 SAP 采购收货单号。 +- 检验结果会影响后续工序是否可执行。 + +### 9.4 终检、首检、特殊检验 + +适用页面: +- `QualityManagement/CheckTask/final` +- `QualityManagement/CheckTask/firstSpecial` +- `QualityManagement/CheckTask/processSpecial` +- `QualityManagement/CheckTask/OtherInbound` +- `QualityManagement/CheckTask/materialReturn` +- `QualityManagement/CheckTask/salesReturn` + +通用操作: + +1. 查询待检任务。 +2. 选择任务。 +3. 录入检验数量和检验结果。 +4. 保存。 +5. 如需退库、入库或出库,按页面提示生成库存任务。 + +### 9.5 不合格品处理 + +适用页面: +- `QualityManagement/Unqualified` + +用途: +- 对不合格记录进行处理。 + +处置方式: +- 返工 +- 报废 +- 让步接收 +- 复检 +- 其他处置 + +操作步骤: + +1. 查询不合格记录。 +2. 打开处置详情。 +3. 选择处置方式。 +4. 填写原因、责任、说明。 +5. 保存处置结果。 + +注意: +- 让步接收记录查询页只用于查询,让步接收应在质检或不合格处置中维护。 + +### 9.6 质量标准查询 + +适用页面: +- `QualityManagement/QualityStandardQuery` + +用途: +- 查询质量检验标准。 +- 查看检测项目、标准值、上下限。 + +## 十、工时与报表 + +### 10.1 工时报表 + +适用页面: +- `ProductionManagement/Timesheet` +- `ProductionManagement/Workhours` +- `ProductionManagement/WorkhoursEdit` + +用途: +- 查询作业者工时。 +- 查询任务工时。 +- 查看设备、日期、任务维度明细。 + +使用方式: + +1. 输入日期、人员、设备、生产订单等条件。 +2. 点击查询。 +3. 查看工时明细和汇总。 +4. 如支持导出,点击导出。 + +注意: +- 人工报工工时、设备工时、程序工时不是同一口径。 +- 总工时应确认是否包含质检、装配、设计、编程或异常工时。 + +### 10.2 工时校验与 SAP 提交 + +适用页面: +- `ProductionManagement/WorkHoursCheck` + +用途: +- 校验工时。 +- 向 SAP 提交工时、投料或更新生产订单工序资源。 + +操作步骤: + +1. 查询待校验工时。 +2. 查看 MES 报工记录。 +3. 获取 SAP 生产订单工序和资源。 +4. 检查工时、工序、资源是否匹配。 +5. 点击提交。 +6. 查看 SAP 返回结果。 + +注意: +- SAP 提交失败时,应查看失败原因,不要重复提交。 +- 部分成功时,应区分成功项和失败项。 +- 工时差异需要说明人工工时、设备工时、SAP 工时之间的关系。 + +### 10.3 机加班次产量 + +如新增 `机加班次产量表`: + +1. 选择日期、班次、设备、操作人。 +2. 查询每台设备每班次任务明细。 +3. 查看数量、工时、小计和合计。 + +说明: +- 该页面只查询,不维护班次。 +- 班次规则应在班次管理维护。 + +### 10.4 工时异常报表 + +如新增 `工时异常报表`: + +1. 选择日期、设备、工位、物料、工序、超出比例。 +2. 查询单件实际工时大于标准工时的任务。 +3. 查看标准单件工时、实际单件工时、超出时长、超出比例。 +4. 如页面支持确认,填写异常原因和处理说明。 + +## 十一、异常管控 + +### 11.1 异常管控页面 + +适用页面: +- `ProductionManagement/AbnormalControl` + +用途: +- 查询异常。 +- 提交、处理、关闭异常。 +- 跟踪异常责任人和处理状态。 + +操作步骤: + +1. 进入异常管控页面。 +2. 按订单、异常类型、状态、责任人查询。 +3. 查看异常明细。 +4. 处理异常。 +5. 填写处理说明并关闭。 + +### 11.2 报工页面直接报异常 + +如功能上线,机加、装配、质检、外协、设计、编程报工页面可直接报异常: + +1. 在业务页面选中任务。 +2. 点击 `报异常`。 +3. 系统自动带出订单、任务、工序、人员等信息。 +4. 填写异常类型、说明、附件。 +5. 选择审批人,可多选。 +6. 提交。 + +规则: +- 多审批人表示多人可见,不是会签。 +- 任一审批人处理后,应记录实际处理人。 + +## 十二、设备管理与采集 + +### 12.1 设备实时数据 + +适用页面: +- `DeviceManagement/DeviceRealData` +- `DeviceManagement/Devicedata` + +用途: +- 查看设备当前状态。 +- 查看设备统计数据,如开机、停机、报警、程序时长。 + +使用方式: + +1. 选择设备或工位。 +2. 选择时间范围。 +3. 查询设备状态和统计结果。 +4. 查看设备状态明细。 + +### 12.2 设备历史数据 + +适用页面: +- `DeviceManagement/DeviceDataHistory` + +用途: +- 查询设备历史状态和采集数据。 + +注意: +- 设备当前状态不能直接替代历史状态。 +- 计算 OEE 和设备工时时需要时间段数据。 + +### 12.3 OEE 和设备指标 + +相关看板: +- 机加设备生产运营看板 +- `board_view` + +指标说明: + +| 指标 | 含义 | +---|---| +| 产能利用率 | 实际产量 / 计划产量 | +| 设备利用率 | 设备运行工时 / 标准工时 | +| 性能开动率 | 标准单件工时 / 实际单件工时 | +| 产品合格率 | 良品数 / 总产量 | +| OEE | 设备利用率 * 性能开动率 * 合格率 | + +注意: +- OEE 必须基于同设备、同班次、同日期口径。 +- 当前若看板仍为样例数据,不应作为正式绩效依据。 + +## 十三、看板使用 + +### 13.1 生产任务看板 + +用途: +- 查看按期齐套率、待排产任务、待处理销售订单、工艺 BOM 待完成、采购未及时到货、机加未及时开工、质检及时率、未及时入库、加急件。 + +使用方式: +- 现场或管理层直接查看大屏。 +- 点击或查看滚动明细,定位异常任务。 + +注意: +- 齐套、发料、拣配、发货、加急等状态来自不同业务链路。 +- 如果新增部分齐套、预计齐套时间、手续确认等状态,看板口径需要同步更新。 + +### 13.2 装配任务看板 + +用途: +- 查看装配任务、发货状态、在制缺件、已完任务、异常未关闭、缺勤人员。 + +注意: +- 缺勤人员不能使用静态样例,应来自排班和实到记录。 +- 及时送检任务如上线,应按发料齐套后超期规则展示。 + +### 13.3 质检任务看板 + +用途: +- 查看未清任务、加急任务、质检及时率、关键工序、当天完成。 + +注意: +- 关键工序来自工艺维护和任务快照。 +- 及时率应有明确起算时间,例如最后一次生产完成时间。 + +### 13.4 机加设备生产运营看板 + +用途: +- 查看设备状态、在制任务、关键工序任务、缺勤人员、设备指标。 + +注意: +- 设备状态、报工状态、质检状态不应互相替代。 +- OEE 上线前需确认设备采集和标准工时口径。 + +### 13.5 综合项目看板 + +适用项目: +- `board_view` + +用途: +- 查看合同、项目、计划、生产、装配、质量、设备等综合进度。 + +注意: +- 若采购、库存、OEE 等字段仍为占位数据,应先接入真实数据后再作为经营口径。 + +## 十四、销售与交付查询 + +### 14.1 销售订单状态 + +适用页面: +- `SaleManagement/saleorderstatus` + +用途: +- 查询销售订单状态。 +- 查看生产工艺、排产、生产、装配、发货相关状态。 + +### 14.2 发货通知列表 + +如新增该页面: + +1. 输入发货通知号、合同号、客户、状态、要求发货日期。 +2. 点击查询。 +3. 查看 SAP 发货通知明细。 +4. 查看关联生产订单。 + +注意: +- 默认只读 SAP 或 SAP 同步数据。 +- 如需 MES 备注,应单独保存备注,不覆盖 SAP 字段。 + +## 十五、新增需求相关页面使用 + +### 15.1 设计任务报工 + +用途: +- 创建设计任务。 +- 开始和结束设计报工。 +- 统计设计工时。 + +操作步骤: + +1. 新增设计任务。 +2. 分配设计人员。 +3. 设计人员点击开始报工。 +4. 完成后点击结束报工,填写工作内容和说明。 +5. 查询设计工时记录。 + +### 15.2 编程任务清单/编程报工 + +用途: +- 管理编程任务。 +- 记录程序号、编程人员、开始时间、结束时间和工时。 + +操作步骤: + +1. 查询或新增编程任务。 +2. 点击开始编程。 +3. 结束时填写程序内容、说明和程序号。 +4. 查看编程工时。 + +### 15.3 手续确认报表 + +用途: +- 对发料齐套后的装配、电气任务进行手续确认。 + +操作步骤: + +1. 查询待确认任务。 +2. 查看发料齐套时间、装配完成时间、当前状态。 +3. 点击确认完成。 +4. 填写确认备注。 +5. 保存后该任务从待确认列表消失。 + +### 15.4 及时检验报表 + +用途: +- 查询报工完成超过 2 天仍未检验的任务。 + +操作步骤: + +1. 输入日期、订单、物料、工序等条件。 +2. 查询超期未检任务。 +3. 查看报工数量、已检数量、未检数量和超期天数。 +4. 通知质检人员处理。 + +### 15.5 及时齐套跟踪结果报表 + +用途: +- 跟踪主订单齐套状态。 +- 展开 SAP 缺件明细。 +- 维护预计可执行时间。 + +操作步骤: + +1. 输入主生产订单、合同号、物料等条件。 +2. 查询齐套跟踪结果。 +3. 展开主订单查看缺件明细。 +4. 如需维护预计可执行时间,点击编辑并保存说明。 + +### 15.6 装配已排产需求 + +用途: +- 查看装配交付进度。 +- 整合 SAP 派工时间、合同交货期、发料齐套、装配完成、工时、异常。 + +操作步骤: + +1. 按合同、订单、系统分类、日期查询。 +2. 查看发料齐套时间和装配完成时间。 +3. 查看累计工时、当前人员、异常数。 +4. 维护允许手工维护的字段,例如备注、钣金/泵到达信息。 +5. 查看工时、异常、缺件明细。 + +### 15.7 质检任务早知道 + +用途: +- 预测即将进入质检的装配任务。 + +操作步骤: + +1. 按预计装配完成时间查询。 +2. 查看即将需要质检的任务。 +3. 提前安排质检资源。 + +## 十六、系统维护 + +### 16.1 菜单管理 + +适用页面: +- `SystemMaintenance/MenuManagement` + +用途: +- 维护菜单名称、路径、组件地址、排序和图标。 + +注意: +- 新增页面必须同步菜单记录。 +- 菜单路径和组件地址错误会导致页面打不开。 + +### 16.2 操作日志 + +适用页面: +- `SystemMaintenance/OperationLog` + +用途: +- 查询用户操作记录。 +- 追溯新增、修改、删除、同步等关键动作。 + +### 16.3 权限检查 + +如用户看不到页面或按钮,按以下顺序检查: + +1. 用户是否启用。 +2. 用户是否分配角色。 +3. 角色是否分配菜单。 +4. 页面是否配置到二级菜单。 +5. 前端组件路径是否正确。 + +## 十七、常见业务问题与处理 + +| 问题 | 可能原因 | 处理方式 | +|---|---|---| +| 任务无法开工 | 未收料、未齐套、上序未合格、异常未关闭、工艺未下发 | 查看任务状态和不可操作原因 | +| 排产后 SAP 未更新 | SAP 接口失败或同步字段异常 | 查看页面提示和 SAP 同步日志 | +| 工时和 SAP 不一致 | MES 人工工时、设备工时、SAP 工时口径不同 | 在工时校验页面查看差异 | +| 看板数据和页面不一致 | 看板读取缓存或不同统计口径 | 检查看板过程、同步时间、统计日期 | +| 缺勤人员不准 | 排班或实到来源不明确 | 检查班次、人员绑定、考勤/上岗记录 | +| 关键工序统计不准 | 工艺未维护关键工序或任务未快照 | 检查标准工艺、生产工艺和任务数据 | +| 让步接收查不到 | 质检记录未填写让步接收字段 | 回到质检或不合格处置页面检查 | +| 外协供应商合格率不准 | 检验记录缺供应商字段 | 检查序检收检/外协收货记录 | + +## 十八、名词解释 + +| 名词 | 说明 | +|---|---| +| 标准工艺 | 按物料维护的默认工艺路线 | +| 生产工艺 | 按生产订单生成或编辑的实际工艺 | +| 指派对象 | 工序或任务分配给的工位、人员、外协或装配对象 | +| 齐套 | 所需物料是否满足开工或装配条件 | +| 发料齐套时间 | 发料满足齐套条件的时间 | +| 报工 | 操作人员提交加工数量、时间、工时等生产记录 | +| 工时校验 | 校验 MES 工时并准备提交 SAP | +| 关键工序 | 对质量、进度或交付关键的工序,应在工艺中维护 | +| 让步接收 | 不合格或偏差品经审批允许接收 | +| OEE | 设备综合效率,由利用率、性能开动率、合格率组成 | +| 缺勤 | 应到人员无实到记录 | + +## 十九、操作安全要求 + +1. 不确认的数据不要保存。 +2. 不要重复点击 SAP 提交、采购申请、关闭订单等按钮。 +3. 批量操作前必须确认选择范围。 +4. 已入库、已关闭、已完成的任务一般不应再修改关键业务字段。 +5. 修改工艺、标准工时、关键工序时,要确认是否影响历史任务。 +6. 看板异常数、齐套数、未检数只作为提醒,处理业务仍需回到对应业务页面。 + +## 二十、建议培训顺序 + +1. 登录、菜单、通用查询和表格操作。 +2. 基础资料:人员、工位、设备、工序。 +3. 工艺:标准工艺、生产工艺、工艺查询。 +4. 计划:机加排产、装配排产、订单关闭。 +5. 执行:机加中心、装配中心、外协管理。 +6. 质检:质检中心、序检收检、不合格处理。 +7. 工时:工时报表、工时校验、SAP 提交。 +8. 异常:报异常、处理异常、关闭异常。 +9. 看板:生产、装配、质检、机加、综合大屏。 +10. 新增需求页面:手续确认、及时检验、装配已排产需求、齐套跟踪等。 + +## 二十一、逐页详细操作说明 +本章按源码页面逐页编写。每个页面都从实际 `v-model`、表格列、按钮、弹窗、页签、存储过程和 SAP/WMS 调用中提取操作线索,转换成用户可执行的步骤。 + +通用阅读方法: +- `查询条件/输入项` 是用户进入页面后可以填写、选择或用于筛选的字段。 +- `结果表重点列` 是查询后需要核对的表格列,表格可横向滚动时应继续向右查看。 +- `页面按钮/状态/页签` 是页面上能触发查询、查看、编辑、提交、导出、状态切换或页面切换的入口。 +- `后台处理/外部接口` 用于说明保存后可能调用的存储过程、SAP 或 WMS 接口,业务人员主要关注成功/失败提示。 +- 涉及排产、报工、质检、外协、SAP/WMS 的操作,提交前必须核对订单、物料、数量、人员、工位和日期。 + +## 21-1 错误页 + +### 21.1 404 页面 + +页面路径:`src/views/404.vue` +所属模块:错误页 +建议使用人员:系统管理员/相关用户 + +页面用途:该页面用于路由不存在或无效地址访问时展示 404 提示,帮助用户返回首页或重新选择菜单。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 该页没有识别到固定查询区,按页面提示直接查看信息或使用菜单/按钮进入下一步。 + +**查询条件/输入项** +- 未识别到固定输入项,按现场页面提示操作。 + +**结果表重点列** +- 未识别到固定表格列,以页面实际显示为准。 + +**页面按钮/状态/页签** +- 未识别到明确按钮,以页面实际显示为准。 + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- 未发现页面级后台提交动作。 + +**操作注意事项** +- 操作后建议重新查询页面,确认列表、状态和明细已经刷新。 + +## 21-2 异常管理 + +### 21.2 及时开工异常 + +页面路径:`src/views/AnomalousManagement/PunctualWork/index.vue` +所属模块:异常管理 +建议使用人员:班组长/生产主管/计划员 + +页面用途:该页面用于查看未及时开工、待执行、可执行、已开工和已完成任务,帮助班组长或计划员催办生产开工。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`订单号`、`零件编号`、`计划开工_Start`、`计划开工_End`、`生产状态`、`工位名称`、`用户ID`、`计划号`、`销售订单`、`TaskAID`、`orderNo2`、`productCode2`。 +3. 如果仍查不到数据,继续补充条件:`plannum`、`salenum`、`completion时间`、`productionStatus2`、`Doing`、`任务ID`、`生产订单`、`零件编码`、`时间`、`开始时间`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`指派对象`、`生产订单`、`销售订单`、`物料名称`、`物料编码`、`顺序`、`工序名称`、`分配数`、`上序合格数`、`加工状态`、`收料状态`、`加急数量`。 +6. 继续横向滚动或展开表格,核对:`下序名称`、`加急`、`优先`、`首检`、`序检`、`内码`、`完成数`、`任务状态`、`计划号`、`计划开始`、`计划完成`、`开工时间`、`备注`、`收料数`。 +7. 保存或提交成功后重新点击查询,确认页面数据已通过 `异常提醒_及时开工_查询`、`MES_登录_工位与名称_查询`、`Prog_MES_LoadProcess`、`查询字典` 等后台过程更新。 + +**查询条件/输入项** +- `订单号` +- `零件编号` +- `计划开工_Start` +- `计划开工_End` +- `生产状态` +- `工位名称` +- `用户ID` +- `计划号` +- `销售订单` +- `TaskAID` +- `orderNo2` +- `productCode2` +- `plannum` +- `salenum` +- `completion时间` +- `productionStatus2` +- `Doing` +- `任务ID` +- `生产订单` +- `零件编码` +- `时间` +- `开始时间` + +**结果表重点列** +- `指派对象` +- `生产订单` +- `销售订单` +- `物料名称` +- `物料编码` +- `顺序` +- `工序名称` +- `分配数` +- `上序合格数` +- `加工状态` +- `收料状态` +- `加急数量` +- `下序名称` +- `加急` +- `优先` +- `首检` +- `序检` +- `内码` +- `完成数` +- `任务状态` +- `计划号` +- `计划开始` +- `计划完成` +- `开工时间` +- `备注` +- `收料数` + +**页面按钮/状态/页签** +- `查询` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:异常提醒_及时开工_查询` +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:Prog_MES_LoadProcess` +- `存储过程:查询字典` + +**操作注意事项** +- 操作后建议重新查询页面,确认列表、状态和明细已经刷新。 + +## 21-3 产品结构维护 + +### 21.3 产品结构维护 + +页面路径:`src/views/CraftManagement/CraftMaintain/index.vue` +所属模块:产品结构维护 +建议使用人员:工艺员/技术人员 + +页面用途:该页面用于维护产品结构树,支持新增、编辑、删除产品结构节点,为工艺、BOM 和生产任务提供层级基础资料。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`父节点`、`节点名称`、`节点类型`、`子节点`、`PartType`。 +3. 点击页面上的查询或刷新类按钮获取最新数据;如果页面自动加载,则先核对默认列表是否符合当前业务范围。 +4. 如果页面左侧或上方有树形结构,先选中组织、物料、菜单或产品节点,再查看右侧列表;新增子节点前确认父节点选中正确。 +5. 需要新增时点击 `新增`,在弹窗中逐项填写必填字段,确认编码、名称、状态等基础信息后保存。 +6. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +7. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `删除`,按确认提示执行。 +8. 按业务需要点击 `展开`,操作前先确认选中行和输入内容。 +9. 保存或提交成功后重新点击查询,确认页面数据已通过 `WEB_基本表_产品结构_新增`、`WEB_基本表_产品结构_查询`、`WEB_基本表_产品结构_删除`、`WEB_基本表_产品结构_修改`、`产品关系_变更节点排序` 等后台过程更新。 + +**查询条件/输入项** +- `父节点` +- `节点名称` +- `节点类型` +- `子节点` +- `PartType` + +**结果表重点列** +- 未识别到固定表格列,以页面实际显示为准。 + +**页面按钮/状态/页签** +- `新增` +- `编辑` +- `删除` +- `展开` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:WEB_基本表_产品结构_新增` +- `存储过程:WEB_基本表_产品结构_查询` +- `存储过程:WEB_基本表_产品结构_删除` +- `存储过程:WEB_基本表_产品结构_修改` +- `存储过程:产品关系_变更节点排序` + +**操作注意事项** +- 工艺、图纸和结构资料会被排产、生产、质检引用,版本错误会直接影响现场执行。 + +## 21-4 设备管理 + +### 21.4 设备采集数据 + +页面路径:`src/views/DeviceManagement/Devicedata/index.vue` +所属模块:设备管理 +建议使用人员:设备管理员/生产主管 + +页面用途:该页面用于查看设备实时数据或采集缓存数据,判断设备当前运行、报警和参数状态。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`PageCurrent`、`PageSize`、`PageCount`、`ItemCount`、`设备名称`、`参数名称`、`equipmentType`、`dataname`、`设备`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +5. 查询后先核对关键列:`设备名称`、`参数名称`、`设备编号`、`数值`、`单位`、`更新时间`。 +6. 保存或提交成功后重新点击查询,确认页面数据已通过 `MES_登录_工位与名称_查询`、`设备管理_设备数据查询` 等后台过程更新。 + +**查询条件/输入项** +- `PageCurrent` +- `PageSize` +- `PageCount` +- `ItemCount` +- `设备名称` +- `参数名称` +- `equipmentType` +- `dataname` +- `设备` + +**结果表重点列** +- `设备名称` +- `参数名称` +- `设备编号` +- `数值` +- `单位` +- `更新时间` + +**页面按钮/状态/页签** +- `查询` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:设备管理_设备数据查询` + +**操作注意事项** +- 设备和采集数据用于看板、OEE 和报工分析,发现异常时应先确认设备编码和采集点位。 + +### 21.5 设备历史数据 + +页面路径:`src/views/DeviceManagement/DeviceDataHistory/index.vue` +所属模块:设备管理 +建议使用人员:设备管理员/生产主管 + +页面用途:该页面用于查询设备历史采集数据,按工位、设备、参数和时间追溯设备运行记录。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`PageCurrent`、`PageSize`、`PageCount`、`ItemCount`、`开始时间`、`结束时间`、`设备名称`、`参数名称`、`completion时间`、`equipmentType`、`dataname`、`日期`。 +3. 如果仍查不到数据,继续补充条件:`开始日期`、`设备`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +6. 查询后先核对关键列:`设备名称`、`参数名称`、`设备编号`、`数值`、`单位`、`采集时间`。 +7. 保存或提交成功后重新点击查询,确认页面数据已通过 `MES_登录_工位与名称_查询`、`设备管理_设备数据_历史查询` 等后台过程更新。 + +**查询条件/输入项** +- `PageCurrent` +- `PageSize` +- `PageCount` +- `ItemCount` +- `开始时间` +- `结束时间` +- `设备名称` +- `参数名称` +- `completion时间` +- `equipmentType` +- `dataname` +- `日期` +- `开始日期` +- `设备` + +**结果表重点列** +- `设备名称` +- `参数名称` +- `设备编号` +- `数值` +- `单位` +- `采集时间` + +**页面按钮/状态/页签** +- `查询` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:设备管理_设备数据_历史查询` + +**操作注意事项** +- 设备和采集数据用于看板、OEE 和报工分析,发现异常时应先确认设备编码和采集点位。 + +### 21.6 设备信息维护 + +页面路径:`src/views/DeviceManagement/DeviceInformation/index.vue` +所属模块:设备管理 +建议使用人员:设备管理员/生产主管 + +页面用途:该页面用于维护设备台账、设备属性、维修/工时/点检相关信息。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`equipmentName`、`equipmentType`、`opName`、`设备名称`、`设备型号`、`设备类型`、`加工工艺`、`工位号`、`工时单价`、`月设备加工能力`、`点检类型`、`工位`。 +3. 如果仍查不到数据,继续补充条件:`选择点检类型`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +6. 查询后先核对关键列:`设备名称`、`设备型号`、`设备类型`、`加工工艺`、`工位`、`工时单价(元/小时)`、`月设备加工能力`、`点检类型名称`、`操作`。 +7. 按业务需要点击 `设备`,操作前先确认选中行和输入内容。 +8. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +9. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +10. 出现弹窗时按弹窗标题处理:`title`;弹窗关闭前确认必填项已保存。 +11. 弹窗或表单内重点填写:`设备名称`、`设备型号`、`设备类型`、`加工工艺`、`工位号`、`工时单价`、`月设备加工能力`、`点检类型`,提交前逐项核对。 +12. 保存或提交成功后重新点击查询,确认页面数据已通过 `点检类型_查询`、`工艺名称_查询`、`查询字典`、`设备管理_设备信息_查询`、`设备管理_设备信息_验证工位号是否重复` 等后台过程更新。 + +**查询条件/输入项** +- `equipmentName` +- `equipmentType` +- `opName` +- `设备名称` +- `设备型号` +- `设备类型` +- `加工工艺` +- `工位号` +- `工时单价` +- `月设备加工能力` +- `点检类型` +- `工位` +- `选择点检类型` + +**结果表重点列** +- `设备名称` +- `设备型号` +- `设备类型` +- `加工工艺` +- `工位` +- `工时单价(元/小时)` +- `月设备加工能力` +- `点检类型名称` +- `操作` + +**页面按钮/状态/页签** +- `查询` +- `设备` +- `取消` +- `确定` + +**弹窗/表单重点项** +- `title` +- `设备名称` +- `设备型号` +- `设备类型` +- `加工工艺` +- `工位号` +- `工时单价` +- `月设备加工能力` +- `点检类型` + +**后台处理/外部接口** +- `存储过程:点检类型_查询` +- `存储过程:工艺名称_查询` +- `存储过程:查询字典` +- `存储过程:设备管理_设备信息_查询` +- `存储过程:设备管理_设备信息_验证工位号是否重复` +- `存储过程:设备管理_设备信息_增加` +- `存储过程:设备管理_设备信息_编辑` +- `存储过程:设备管理_设备信息_删除` + +**操作注意事项** +- 设备和采集数据用于看板、OEE 和报工分析,发现异常时应先确认设备编码和采集点位。 + +### 21.7 设备实时数据 + +页面路径:`src/views/DeviceManagement/DeviceRealData/index.vue` +所属模块:设备管理 +建议使用人员:设备管理员/生产主管 + +页面用途:该页面用于查看设备实时数据或采集缓存数据,判断设备当前运行、报警和参数状态。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`PageCurrent`、`PageSize`、`PageCount`、`ItemCount`、`开始时间`、`结束时间`、`设备名称`、`参数名称`、`数据类型`、`completion时间`、`equipmentType`、`日期`。 +3. 如果仍查不到数据,继续补充条件:`开始日期`、`设备`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +6. 查询后先核对关键列:`设备名称`、`参数名称`、`参数值`、`操作`、`开始时间`、`结束时间`、`状态`、`时长(m)`、`订单编号`、`加工时长`、`采集时间`。 +7. 保存或提交成功后重新点击查询,确认页面数据已通过 `设备管理_设备数据_工位信息_查询`、`设备管理_设备数据_统计数据查询`、`设备管理_设备数据_统计数据查询_通过类型` 等后台过程更新。 + +**查询条件/输入项** +- `PageCurrent` +- `PageSize` +- `PageCount` +- `ItemCount` +- `开始时间` +- `结束时间` +- `设备名称` +- `参数名称` +- `数据类型` +- `completion时间` +- `equipmentType` +- `日期` +- `开始日期` +- `设备` + +**结果表重点列** +- `设备名称` +- `参数名称` +- `参数值` +- `操作` +- `开始时间` +- `结束时间` +- `状态` +- `时长(m)` +- `订单编号` +- `加工时长` +- `采集时间` + +**页面按钮/状态/页签** +- `查询` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:设备管理_设备数据_工位信息_查询` +- `存储过程:设备管理_设备数据_统计数据查询` +- `存储过程:设备管理_设备数据_统计数据查询_通过类型` + +**操作注意事项** +- 设备和采集数据用于看板、OEE 和报工分析,发现异常时应先确认设备编码和采集点位。 + +## 21-5 计划排产 + +### 21.8 装配排产 + +页面路径:`src/views/PlanManagement/InstallMakePlan/index.vue` +所属模块:计划排产 +建议使用人员:计划员/生产主管 + +页面用途:该页面用于装配件排产,维护装配工位、人员、计划开始/完成、优先级、说明,并在排产完成时同步 SAP 或生成相关请求。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 先查看页签:`表单`、`日程`;需要表格处理时进入表单/列表页签,需要看时间排布时进入日程/看板页签。 +3. 在查询区按需要填写筛选条件:`订单号`、`物料类型`、`合同号`、`产品编码`、`产品名称`、`工序名称`、`性质`、`要求完工日期1`、`要求完工日期2`、`计划开始1`、`计划开始2`、`计划完成1`。 +4. 如果仍查不到数据,继续补充条件:`计划完成2`、`排产状态`、`指派对象`、`订单行号`、`订单拆分内码`、`派工特殊说明`、`指派对象编号`、`指派数量`、`计划开始时间`、`计划完成时间`,或清空过窄条件后重新查询。 +5. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +6. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +7. 查询后先核对关键列:`selection`、`序号`、`生产订单`、`计划号`、`物料编码`、`物料名称`、`计划数`、`要求完工日期`、`工序名称`、`性质`、`总工时`、`排产时间`。 +8. 继续横向滚动或展开表格,核对:`工序计划数`、`指派对象`、`指派数量`、`销售订单`、`计划开始`、`计划完成`、`最晚开始`、`派工`、`二次派工`、`排产`、`派工状态`、`优先级`、`未完成说明`、`派工特殊备注`。 +9. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `批量排产` 提交。 +10. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `排产完成` 提交。 +11. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +12. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `派工` 提交。 +13. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `计划排产` 提交。 +14. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +15. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +16. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `派工` 提交。 +17. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +18. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +19. 出现弹窗时按弹窗标题处理:`编辑备注信息`;弹窗关闭前确认必填项已保存。 +20. 弹窗或表单内重点填写:`优先级`、`未完成说明`、`派工特殊备注`,提交前逐项核对。 +21. 进入日程页后,单击任务查看详情;拖拽任务可调整计划开始时间,拉伸任务可调整计划完成时间,系统提示确认后才会保存。 +22. 日程保存失败或取消时任务会恢复原日期;保存成功后回到表单页重新查询,核对计划开始和计划完成是否同步。 +23. 保存或提交成功后重新点击查询,确认页面数据已通过 `计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Queryzp`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询` 等后台过程更新。 +24. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 + +**查询条件/输入项** +- `订单号` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `性质` +- `要求完工日期1` +- `要求完工日期2` +- `计划开始1` +- `计划开始2` +- `计划完成1` +- `计划完成2` +- `排产状态` +- `指派对象` +- `订单行号` +- `订单拆分内码` +- `派工特殊说明` +- `指派对象编号` +- `指派数量` +- `计划开始时间` +- `计划完成时间` + +**结果表重点列** +- `selection` +- `序号` +- `生产订单` +- `计划号` +- `物料编码` +- `物料名称` +- `计划数` +- `要求完工日期` +- `工序名称` +- `性质` +- `总工时` +- `排产时间` +- `工序计划数` +- `指派对象` +- `指派数量` +- `销售订单` +- `计划开始` +- `计划完成` +- `最晚开始` +- `派工` +- `二次派工` +- `排产` +- `派工状态` +- `优先级` +- `未完成说明` +- `派工特殊备注` +- `编辑` +- `占用情况` +- `最后编辑人` +- `最后编辑时间` + +**页面按钮/状态/页签** +- `查询` +- `批量排产` +- `排产完成` +- `确定` +- `派工` +- `计划排产` +- `编辑` +- `取 消` +- `确 定` +- `表单` +- `日程` + +**弹窗/表单重点项** +- `编辑备注信息` +- `优先级` +- `未完成说明` +- `派工特殊备注` + +**后台处理/外部接口** +- `存储过程:计划排产_生产订单_已排产订单查询` +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:MES_OrderPlanned_Queryzp` +- `存储过程:Prog_MES_LoadStations` +- `存储过程:系统管理_人员管理_所有有效人员查询` +- `存储过程:MES_OrderPlanned_EditTaskPlanned` +- `存储过程:计划排产_二次派工` +- `存储过程:计划排产_派工` +- `存储过程:MES_OrderPlanned_SingleTaskPlanned` +- `存储过程:MES_OrderPlanned_Finish` +- `存储过程:MES_OrderPlanned_DescriptionEdit` +- `存储过程:计划排产_自制件_日程时间修改` +- `接口:postB1 /PurchaseRequests` +- `接口:patchB1 /ProductionOrders(` + +**操作注意事项** +- 排产、派工和计划时间会影响生产看板、及时开工统计和 SAP 生产订单日期,提交前必须核对。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 +- 日程拖拽属于直接改计划时间的操作,拖拽前应确认任务未被现场执行锁定。 + +### 21.9 装配已排产 + +页面路径:`src/views/PlanManagement/InstallMakePlanDo/index.vue` +所属模块:计划排产 +建议使用人员:计划员/生产主管 + +页面用途:该页面用于装配件排产,维护装配工位、人员、计划开始/完成、优先级、说明,并在排产完成时同步 SAP 或生成相关请求。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 先查看页签:`表单`、`日程`;需要表格处理时进入表单/列表页签,需要看时间排布时进入日程/看板页签。 +3. 在查询区按需要填写筛选条件:`订单号`、`物料类型`、`合同号`、`产品编码`、`产品名称`、`工序名称`、`性质`、`要求完工日期1`、`要求完工日期2`、`计划开始1`、`计划开始2`、`计划完成1`。 +4. 如果仍查不到数据,继续补充条件:`计划完成2`、`排产状态`、`指派对象`、`订单行号`、`订单拆分内码`、`派工特殊说明`、`指派对象编号`、`指派数量`、`计划开始时间`、`计划完成时间`,或清空过窄条件后重新查询。 +5. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +6. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +7. 查询后先核对关键列:`selection`、`序号`、`生产订单`、`计划号`、`物料编码`、`物料名称`、`计划数`、`要求完工日期`、`工序名称`、`性质`、`总工时`、`排产时间`。 +8. 继续横向滚动或展开表格,核对:`工序计划数`、`指派对象`、`指派数量`、`销售订单`、`计划开始`、`计划完成`、`最晚开始`、`派工`、`二次派工`、`排产`、`派工状态`、`优先级`、`未完成说明`、`派工特殊备注`。 +9. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `批量排产` 提交。 +10. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `排产完成` 提交。 +11. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +12. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `派工` 提交。 +13. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `计划排产` 提交。 +14. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +15. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +16. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `派工` 提交。 +17. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +18. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +19. 出现弹窗时按弹窗标题处理:`编辑备注信息`;弹窗关闭前确认必填项已保存。 +20. 弹窗或表单内重点填写:`优先级`、`未完成说明`、`派工特殊备注`,提交前逐项核对。 +21. 进入日程页后,单击任务查看详情;拖拽任务可调整计划开始时间,拉伸任务可调整计划完成时间,系统提示确认后才会保存。 +22. 日程保存失败或取消时任务会恢复原日期;保存成功后回到表单页重新查询,核对计划开始和计划完成是否同步。 +23. 保存或提交成功后重新点击查询,确认页面数据已通过 `计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Queryzp`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询` 等后台过程更新。 +24. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 + +**查询条件/输入项** +- `订单号` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `性质` +- `要求完工日期1` +- `要求完工日期2` +- `计划开始1` +- `计划开始2` +- `计划完成1` +- `计划完成2` +- `排产状态` +- `指派对象` +- `订单行号` +- `订单拆分内码` +- `派工特殊说明` +- `指派对象编号` +- `指派数量` +- `计划开始时间` +- `计划完成时间` + +**结果表重点列** +- `selection` +- `序号` +- `生产订单` +- `计划号` +- `物料编码` +- `物料名称` +- `计划数` +- `要求完工日期` +- `工序名称` +- `性质` +- `总工时` +- `排产时间` +- `工序计划数` +- `指派对象` +- `指派数量` +- `销售订单` +- `计划开始` +- `计划完成` +- `最晚开始` +- `派工` +- `二次派工` +- `排产` +- `派工状态` +- `优先级` +- `未完成说明` +- `派工特殊备注` +- `编辑` +- `占用情况` +- `最后编辑人` +- `最后编辑时间` + +**页面按钮/状态/页签** +- `查询` +- `批量排产` +- `排产完成` +- `确定` +- `派工` +- `计划排产` +- `编辑` +- `取 消` +- `确 定` +- `表单` +- `日程` + +**弹窗/表单重点项** +- `编辑备注信息` +- `优先级` +- `未完成说明` +- `派工特殊备注` + +**后台处理/外部接口** +- `存储过程:计划排产_生产订单_已排产订单查询` +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:MES_OrderPlanned_Queryzp` +- `存储过程:Prog_MES_LoadStations` +- `存储过程:系统管理_人员管理_所有有效人员查询` +- `存储过程:MES_OrderPlanned_EditTaskPlanned` +- `存储过程:计划排产_二次派工` +- `存储过程:计划排产_派工` +- `存储过程:MES_OrderPlanned_SingleTaskPlanned` +- `存储过程:MES_OrderPlanned_Finish` +- `存储过程:MES_OrderPlanned_DescriptionEdit` +- `存储过程:计划排产_自制件_日程时间修改` +- `接口:postB1 /PurchaseRequests` +- `接口:patchB1 /ProductionOrders(` + +**操作注意事项** +- 排产、派工和计划时间会影响生产看板、及时开工统计和 SAP 生产订单日期,提交前必须核对。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 +- 日程拖拽属于直接改计划时间的操作,拖拽前应确认任务未被现场执行锁定。 + +### 21.10 生产订单关闭 + +页面路径:`src/views/PlanManagement/PlannOrderClose/index.vue` +所属模块:计划排产 +建议使用人员:计划员/生产主管 + +页面用途:该页面用于关闭生产订单,用户查询待关闭订单后执行 MES/SAP 关闭动作。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`订单号`、`单据状态`、`属性`、`equipmentName`、`equipmentType`、`orderType`、`opName`、`订单编号`、`工位`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +5. 查询后先核对关键列:`订单编号`、`合同号`、`产品编码`、`产品名称`、`计划数量`、`入库数量`、`终检不合格`、`终检合格`、`收检合格`、`收检不合格`、`操作`。 +6. 按业务需要点击 `确认`,操作前先确认选中行和输入内容。 +7. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +8. 保存或提交成功后重新点击查询,确认页面数据已通过 `计划排产_生产订单关闭_查询全部订单`、`计划排产_生产订单关闭_关闭订单`、`计划排产_生产订单关闭_确认订单` 等后台过程更新。 +9. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 + +**查询条件/输入项** +- `订单号` +- `单据状态` +- `属性` +- `equipmentName` +- `equipmentType` +- `orderType` +- `opName` +- `订单编号` +- `工位` + +**结果表重点列** +- `订单编号` +- `合同号` +- `产品编码` +- `产品名称` +- `计划数量` +- `入库数量` +- `终检不合格` +- `终检合格` +- `收检合格` +- `收检不合格` +- `操作` + +**页面按钮/状态/页签** +- `查询` +- `确认` +- `关闭` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:计划排产_生产订单关闭_查询全部订单` +- `存储过程:计划排产_生产订单关闭_关闭订单` +- `存储过程:计划排产_生产订单关闭_确认订单` +- `接口:patchB1 /ProductionOrders(` + +**操作注意事项** +- 排产、派工和计划时间会影响生产看板、及时开工统计和 SAP 生产订单日期,提交前必须核对。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 + +### 21.11 计划外壳跟踪 + +页面路径:`src/views/PlanManagement/PlanShell/index.vue` +所属模块:计划排产 +建议使用人员:计划员/生产主管 + +页面用途:该页面用于计划外壳和计划跟踪,集中查看订单计划、齐套、缺料、发货或关闭相关信息。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`ItemCode`、`订单号`、`物料类型`、`合同号`、`产品编码`、`产品名称`、`工序名称`、`计划开始`、`计划完成`、`排产状态`、`指派对象`、`计划号`。 +3. 如果仍查不到数据,继续补充条件:`发货状态`、`齐套`、`检验状态`、`发料状态`、`自制件属性`、`是否外协`、`订单行号`、`订单拆分内码`、`优先级`、`未完成说明`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`expand`、`序号`、`工序名称`、`计划数量`、`指派对象`、`开始时间`、`结束时间`、`完成进度`、`完成数量`、`合格数`、`不良数`、`任务状态`。 +6. 继续横向滚动或展开表格,核对:`加工状态`、`操作`、`发货通知`、`销售订单`、`计划号`、`生产订单`、`产品名称`、`产品编码`、`入库数量`、`要求完工日`、`要求发货日`、`预计齐套时间`、`外协`、`齐套`。 +7. 按业务需要点击 `缺料`,操作前先确认选中行和输入内容。 +8. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +9. 出现弹窗时按弹窗标题处理:`缺料单`;弹窗关闭前确认必填项已保存。 +10. 保存或提交成功后重新点击查询,确认页面数据已通过 `生产管理_装配中心_缺料查询`、`计划排产_查询计划信息`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` 等后台过程更新。 + +**查询条件/输入项** +- `ItemCode` +- `订单号` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `计划开始` +- `计划完成` +- `排产状态` +- `指派对象` +- `计划号` +- `发货状态` +- `齐套` +- `检验状态` +- `发料状态` +- `自制件属性` +- `是否外协` +- `订单行号` +- `订单拆分内码` +- `优先级` +- `未完成说明` + +**结果表重点列** +- `expand` +- `序号` +- `工序名称` +- `计划数量` +- `指派对象` +- `开始时间` +- `结束时间` +- `完成进度` +- `完成数量` +- `合格数` +- `不良数` +- `任务状态` +- `加工状态` +- `操作` +- `发货通知` +- `销售订单` +- `计划号` +- `生产订单` +- `产品名称` +- `产品编码` +- `入库数量` +- `要求完工日` +- `要求发货日` +- `预计齐套时间` +- `外协` +- `齐套` +- `拣配状态` +- `发料状态` +- `装配开工` +- `送检数量` +- `终检` +- `工艺` +- `排产` +- `优先级` + +**页面按钮/状态/页签** +- `查询` +- `缺料` +- `关闭` + +**弹窗/表单重点项** +- `缺料单` + +**后台处理/外部接口** +- `存储过程:生产管理_装配中心_缺料查询` +- `存储过程:计划排产_查询计划信息` +- `存储过程:MES_OrderPlanned_DescriptionEdit` +- `存储过程:Prog_MES_LoadStations` + +**操作注意事项** +- 排产、派工和计划时间会影响生产看板、及时开工统计和 SAP 生产订单日期,提交前必须核对。 + +### 21.12 装配优先级调整 + +页面路径:`src/views/PlanManagement/priorityinstall/index.vue` +所属模块:计划排产 +建议使用人员:计划员/生产主管 + +页面用途:该页面用于装配计划优先级和日程调整,支持表单和日程方式查看重点任务。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 先查看页签:`表单`、`日程`;需要表格处理时进入表单/列表页签,需要看时间排布时进入日程/看板页签。 +3. 在查询区按需要填写筛选条件:`订单号`、`物料类型`、`合同号`、`产品编码`、`产品名称`、`工序名称`、`计划开始1`、`计划开始2`、`排产状态`、`指派对象`、`订单行号`、`订单拆分内码`。 +4. 如果仍查不到数据,继续补充条件:`doneorder编号`、`donecontract编号`、`doneproductCode`、`doneproductName`、`doneprocessName`、`planStart时间`、`生产订单`、`销售订单`、`物料编码`、`物料名称`,或清空过窄条件后重新查询。 +5. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +6. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +7. 查询后先核对关键列:`selection`、`生产订单`、`计划号`、`物料编码`、`物料名称`、`计划数`、`要求完工日期`、`工时`、`工序名称`、`指派对象`、`指派数量`、`计划开始`。 +8. 继续横向滚动或展开表格,核对:`计划完成`。 +9. 按业务需要点击 `月`,操作前先确认选中行和输入内容。 +10. 按业务需要点击 `周`,操作前先确认选中行和输入内容。 +11. 按业务需要点击 `日`,操作前先确认选中行和输入内容。 +12. 按业务需要点击 `今天`,操作前先确认选中行和输入内容。 +13. 进入日程页后,单击任务查看详情;拖拽任务可调整计划开始时间,拉伸任务可调整计划完成时间,系统提示确认后才会保存。 +14. 日程保存失败或取消时任务会恢复原日期;保存成功后回到表单页重新查询,核对计划开始和计划完成是否同步。 +15. 保存或提交成功后重新点击查询,确认页面数据已通过 `MES_OrderPlanned_Queryzp`、`MES_OrderPlanned_EditTaskPlanned` 等后台过程更新。 + +**查询条件/输入项** +- `订单号` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `计划开始1` +- `计划开始2` +- `排产状态` +- `指派对象` +- `订单行号` +- `订单拆分内码` +- `doneorder编号` +- `donecontract编号` +- `doneproductCode` +- `doneproductName` +- `doneprocessName` +- `planStart时间` +- `生产订单` +- `销售订单` +- `物料编码` +- `物料名称` + +**结果表重点列** +- `selection` +- `生产订单` +- `计划号` +- `物料编码` +- `物料名称` +- `计划数` +- `要求完工日期` +- `工时` +- `工序名称` +- `指派对象` +- `指派数量` +- `计划开始` +- `计划完成` + +**页面按钮/状态/页签** +- `查询` +- `月` +- `周` +- `日` +- `今天` +- `表单` +- `日程` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:MES_OrderPlanned_Queryzp` +- `存储过程:MES_OrderPlanned_EditTaskPlanned` + +**操作注意事项** +- 排产、派工和计划时间会影响生产看板、及时开工统计和 SAP 生产订单日期,提交前必须核对。 +- 日程拖拽属于直接改计划时间的操作,拖拽前应确认任务未被现场执行锁定。 + +### 21.13 机加排产 + +页面路径:`src/views/PlanManagement/SelfMakePlan/index.vue` +所属模块:计划排产 +建议使用人员:计划员/生产主管 + +页面用途:该页面用于机加/自制件排产前准备,查询生产订单工序任务并维护计划、工位、数量和说明后确认排产。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 先查看页签:`表单`、`日程`;需要表格处理时进入表单/列表页签,需要看时间排布时进入日程/看板页签。 +3. 在查询区按需要填写筛选条件:`订单号`、`物料类型`、`合同号`、`产品编码`、`产品名称`、`工序名称`、`性质`、`要求完工日期1`、`要求完工日期2`、`计划开始1`、`计划开始2`、`计划完成1`。 +4. 如果仍查不到数据,继续补充条件:`计划完成2`、`排产状态`、`指派对象`、`订单行号`、`订单拆分内码`、`派工特殊说明`、`指派对象编号`、`指派数量`、`计划开始时间`、`计划完成时间`,或清空过窄条件后重新查询。 +5. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +6. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +7. 查询后先核对关键列:`selection`、`序号`、`生产订单`、`计划号`、`物料编码`、`物料名称`、`计划数`、`要求完工日期`、`工序名称`、`性质`、`总工时`、`排产时间`。 +8. 继续横向滚动或展开表格,核对:`工序计划数`、`指派对象`、`指派数量`、`计划开始`、`计划完成`、`最晚开始`、`派工`、`二次派工`、`排产`、`派工状态`、`优先级`、`未完成说明`、`派工特殊备注`、`编辑`。 +9. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `批量排产` 提交。 +10. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `排产完成` 提交。 +11. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +12. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `派工` 提交。 +13. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `计划排产` 提交。 +14. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +15. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +16. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `派工` 提交。 +17. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +18. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +19. 出现弹窗时按弹窗标题处理:`编辑备注信息`;弹窗关闭前确认必填项已保存。 +20. 弹窗或表单内重点填写:`优先级`、`未完成说明`、`派工特殊备注`,提交前逐项核对。 +21. 进入日程页后,单击任务查看详情;拖拽任务可调整计划开始时间,拉伸任务可调整计划完成时间,系统提示确认后才会保存。 +22. 日程保存失败或取消时任务会恢复原日期;保存成功后回到表单页重新查询,核对计划开始和计划完成是否同步。 +23. 保存或提交成功后重新点击查询,确认页面数据已通过 `计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Query`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询` 等后台过程更新。 +24. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 + +**查询条件/输入项** +- `订单号` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `性质` +- `要求完工日期1` +- `要求完工日期2` +- `计划开始1` +- `计划开始2` +- `计划完成1` +- `计划完成2` +- `排产状态` +- `指派对象` +- `订单行号` +- `订单拆分内码` +- `派工特殊说明` +- `指派对象编号` +- `指派数量` +- `计划开始时间` +- `计划完成时间` + +**结果表重点列** +- `selection` +- `序号` +- `生产订单` +- `计划号` +- `物料编码` +- `物料名称` +- `计划数` +- `要求完工日期` +- `工序名称` +- `性质` +- `总工时` +- `排产时间` +- `工序计划数` +- `指派对象` +- `指派数量` +- `计划开始` +- `计划完成` +- `最晚开始` +- `派工` +- `二次派工` +- `排产` +- `派工状态` +- `优先级` +- `未完成说明` +- `派工特殊备注` +- `编辑` +- `占用情况` +- `销售订单` +- `最后编辑人` +- `最后编辑时间` + +**页面按钮/状态/页签** +- `查询` +- `批量排产` +- `排产完成` +- `确定` +- `派工` +- `计划排产` +- `编辑` +- `取 消` +- `确 定` +- `表单` +- `日程` + +**弹窗/表单重点项** +- `编辑备注信息` +- `优先级` +- `未完成说明` +- `派工特殊备注` + +**后台处理/外部接口** +- `存储过程:计划排产_生产订单_已排产订单查询` +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:MES_OrderPlanned_Query` +- `存储过程:Prog_MES_LoadStations` +- `存储过程:系统管理_人员管理_所有有效人员查询` +- `存储过程:MES_OrderPlanned_EditTaskPlanned` +- `存储过程:计划排产_二次派工` +- `存储过程:计划排产_派工` +- `存储过程:MES_OrderPlanned_SingleTaskPlanned` +- `存储过程:MES_OrderPlanned_Finish` +- `存储过程:MES_OrderPlanned_DescriptionEdit` +- `存储过程:计划排产_自制件_日程时间修改` +- `接口:patchB1 /ProductionOrders(` + +**操作注意事项** +- 排产、派工和计划时间会影响生产看板、及时开工统计和 SAP 生产订单日期,提交前必须核对。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 +- 日程拖拽属于直接改计划时间的操作,拖拽前应确认任务未被现场执行锁定。 + +### 21.14 机加待排产 + +页面路径:`src/views/PlanManagement/SelfMakePlando/index.vue` +所属模块:计划排产 +建议使用人员:计划员/生产主管 + +页面用途:该页面用于机加/自制件待排产任务处理,支持表单排产、日程拖拽调整、部分派工、批量排产、二次派工、原料状态和图纸查看。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 先查看页签:`表单`、`日程`;需要表格处理时进入表单/列表页签,需要看时间排布时进入日程/看板页签。 +3. 在查询区按需要填写筛选条件:`订单编号`、`订单号`、`物料类型`、`合同号`、`产品编码`、`产品名称`、`工序名称`、`性质`、`要求完工日期1`、`要求完工日期2`、`计划开始1`、`计划开始2`。 +4. 如果仍查不到数据,继续补充条件:`计划完成1`、`计划完成2`、`排产状态`、`指派对象`、`订单行号`、`订单拆分内码`、`派工特殊说明`、`指派对象编号`、`指派数量`、`计划开始时间`,或清空过窄条件后重新查询。 +5. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +6. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +7. 查询后先核对关键列:`selection`、`序号`、`生产订单`、`计划号`、`物料编码`、`物料名称`、`计划数`、`要求完工日期`、`工时`、`工序名称`、`性质`、`排产时间`。 +8. 继续横向滚动或展开表格,核对:`工序计划数`、`指派对象`、`指派数量`、`计划开始`、`计划完成`、`外协分组`、`原料状态`、`图纸`、`备注`、`未完成说明`、`派工特殊备注`、`编辑`、`二次派工`、`最晚开始`。 +9. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `批量排产` 提交。 +10. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `排产完成` 提交。 +11. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +12. 需要查看明细时点击 `查看`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +13. 需要查看明细时点击 `零件图纸`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +14. 需要查看明细时点击 `工艺图纸`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +15. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +16. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `计划排产` 提交。 +17. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +18. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +19. 出现弹窗时按弹窗标题处理:`编辑备注信息`、`原料信息`、`图纸`;弹窗关闭前确认必填项已保存。 +20. 弹窗或表单内重点填写:`优先级`、`未完成说明`、`派工特殊备注`,提交前逐项核对。 +21. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +22. 进入日程页后,单击任务查看详情;拖拽任务可调整计划开始时间,拉伸任务可调整计划完成时间,系统提示确认后才会保存。 +23. 日程保存失败或取消时任务会恢复原日期;保存成功后回到表单页重新查询,核对计划开始和计划完成是否同步。 +24. 保存或提交成功后重新点击查询,确认页面数据已通过 `工艺管理_图纸维护_查看图纸`、`工艺管理_工艺维护_查看图纸`、`工艺管理_获取物料原料信息`、`计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询` 等后台过程更新。 +25. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 +26. 在 `指派数量` 中输入小于计划数的数量时,表示本次只派出部分数量,剩余数量需要继续跟踪和后续派工。 +27. 点击 `批量排产` 前应选择同一生产订单的多道工序,系统会按订单行号排序并继承上一道工序的部分计划信息。 +28. 点击 `排产完成` 后,系统校验指派对象、指派数量、计划开始、计划完成,并同步生产订单最早开始和最晚完成。 + +**查询条件/输入项** +- `订单编号` +- `订单号` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `性质` +- `要求完工日期1` +- `要求完工日期2` +- `计划开始1` +- `计划开始2` +- `计划完成1` +- `计划完成2` +- `排产状态` +- `指派对象` +- `订单行号` +- `订单拆分内码` +- `派工特殊说明` +- `指派对象编号` +- `指派数量` +- `计划开始时间` + +**结果表重点列** +- `selection` +- `序号` +- `生产订单` +- `计划号` +- `物料编码` +- `物料名称` +- `计划数` +- `要求完工日期` +- `工时` +- `工序名称` +- `性质` +- `排产时间` +- `工序计划数` +- `指派对象` +- `指派数量` +- `计划开始` +- `计划完成` +- `外协分组` +- `原料状态` +- `图纸` +- `备注` +- `未完成说明` +- `派工特殊备注` +- `编辑` +- `二次派工` +- `最晚开始` +- `排产` +- `派工状态` +- `优先级` +- `占用情况` +- `销售订单` +- `最后编辑人` +- `最后编辑时间` +- `基本数量` + +**页面按钮/状态/页签** +- `查询` +- `批量排产` +- `排产完成` +- `确定` +- `查看` +- `零件图纸` +- `工艺图纸` +- `编辑` +- `计划排产` +- `取 消` +- `确 定` +- `关闭` +- `表单` +- `日程` + +**弹窗/表单重点项** +- `编辑备注信息` +- `原料信息` +- `图纸` +- `优先级` +- `未完成说明` +- `派工特殊备注` + +**后台处理/外部接口** +- `存储过程:工艺管理_图纸维护_查看图纸` +- `存储过程:工艺管理_工艺维护_查看图纸` +- `存储过程:工艺管理_获取物料原料信息` +- `存储过程:计划排产_生产订单_已排产订单查询` +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:MES_OrderPlanned_Query` +- `存储过程:Prog_MES_LoadStations` +- `存储过程:系统管理_人员管理_所有有效人员查询` +- `存储过程:MES_OrderPlanned_EditTaskPlanned` +- `存储过程:计划排产_二次派工` +- `存储过程:计划排产_派工` +- `存储过程:MES_OrderPlanned_SingleTaskPlanned` +- `存储过程:计划排产_外协分组` +- `存储过程:MES_OrderPlanned_Finish` +- `存储过程:MES_OrderPlanned_DescriptionEdit` +- `存储过程:计划排产_自制件_日程时间修改` +- `接口:patchB1 /ProductionOrders(` + +**操作注意事项** +- 排产、派工和计划时间会影响生产看板、及时开工统计和 SAP 生产订单日期,提交前必须核对。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 +- 日程拖拽属于直接改计划时间的操作,拖拽前应确认任务未被现场执行锁定。 + +### 21.15 机加已排产 + +页面路径:`src/views/PlanManagement/SelfMakePlandone/index.vue` +所属模块:计划排产 +建议使用人员:计划员/生产主管 + +页面用途:该页面用于机加/自制件已排产任务查看和调整,支持计划时间、指派对象、指派数量、最晚开始、二次派工和备注维护。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 先查看页签:`表单`、`日程`;需要表格处理时进入表单/列表页签,需要看时间排布时进入日程/看板页签。 +3. 在查询区按需要填写筛选条件:`订单编号`、`订单号`、`物料类型`、`合同号`、`产品编码`、`产品名称`、`工序名称`、`性质`、`要求完工日期1`、`要求完工日期2`、`计划开始1`、`计划开始2`。 +4. 如果仍查不到数据,继续补充条件:`计划完成1`、`计划完成2`、`排产状态`、`指派对象`、`订单行号`、`订单拆分内码`、`派工特殊说明`、`指派对象编号`、`指派数量`、`计划开始时间`,或清空过窄条件后重新查询。 +5. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +6. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +7. 查询后先核对关键列:`selection`、`生产订单`、`计划号`、`物料编码`、`物料名称`、`计划数`、`要求完工日期`、`工时`、`工序名称`、`指派对象`、`指派数量`、`计划开始`。 +8. 继续横向滚动或展开表格,核对:`计划完成`、`外协分组`、`原料状态`、`备注`、`最晚开始`、`派工`、`二次派工`、`优先级`、`未完成说明`、`派工特殊备注`、`编辑`、`占用情况`、`销售订单`、`最后编辑人`。 +9. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +10. 需要查看明细时点击 `查看`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +11. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `派工` 提交。 +12. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +13. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +14. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +15. 出现弹窗时按弹窗标题处理:`编辑备注信息`、`原料信息`;弹窗关闭前确认必填项已保存。 +16. 弹窗或表单内重点填写:`优先级`、`未完成说明`、`派工特殊备注`,提交前逐项核对。 +17. 进入日程页后,单击任务查看详情;拖拽任务可调整计划开始时间,拉伸任务可调整计划完成时间,系统提示确认后才会保存。 +18. 日程保存失败或取消时任务会恢复原日期;保存成功后回到表单页重新查询,核对计划开始和计划完成是否同步。 +19. 保存或提交成功后重新点击查询,确认页面数据已通过 `工艺管理_获取物料原料信息`、`计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Query`、`Prog_MES_LoadStations` 等后台过程更新。 +20. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 +21. 已排产列表中仍可调整指派对象、指派数量、计划开始、计划完成、外协分组、最晚开始和二次派工;调整后要重新查询确认。 + +**查询条件/输入项** +- `订单编号` +- `订单号` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `性质` +- `要求完工日期1` +- `要求完工日期2` +- `计划开始1` +- `计划开始2` +- `计划完成1` +- `计划完成2` +- `排产状态` +- `指派对象` +- `订单行号` +- `订单拆分内码` +- `派工特殊说明` +- `指派对象编号` +- `指派数量` +- `计划开始时间` + +**结果表重点列** +- `selection` +- `生产订单` +- `计划号` +- `物料编码` +- `物料名称` +- `计划数` +- `要求完工日期` +- `工时` +- `工序名称` +- `指派对象` +- `指派数量` +- `计划开始` +- `计划完成` +- `外协分组` +- `原料状态` +- `备注` +- `最晚开始` +- `派工` +- `二次派工` +- `优先级` +- `未完成说明` +- `派工特殊备注` +- `编辑` +- `占用情况` +- `销售订单` +- `最后编辑人` +- `最后编辑时间` +- `序号` +- `基本数量` +- `待出数量` +- `拣配数量` +- `计划数量` +- `存货量` +- `材质` + +**页面按钮/状态/页签** +- `查询` +- `确定` +- `查看` +- `派工` +- `编辑` +- `取 消` +- `确 定` +- `表单` +- `日程` + +**弹窗/表单重点项** +- `编辑备注信息` +- `原料信息` +- `优先级` +- `未完成说明` +- `派工特殊备注` + +**后台处理/外部接口** +- `存储过程:工艺管理_获取物料原料信息` +- `存储过程:计划排产_生产订单_已排产订单查询` +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:MES_OrderPlanned_Query` +- `存储过程:Prog_MES_LoadStations` +- `存储过程:系统管理_人员管理_所有有效人员查询` +- `存储过程:MES_OrderPlanned_EditTaskPlanned` +- `存储过程:计划排产_二次派工` +- `存储过程:计划排产_派工` +- `存储过程:MES_OrderPlanned_SingleTaskPlanned` +- `存储过程:计划排产_外协分组` +- `存储过程:MES_OrderPlanned_Finish` +- `存储过程:MES_OrderPlanned_DescriptionEdit` +- `存储过程:计划排产_自制件_日程时间修改` +- `接口:patchB1 /ProductionOrders(` + +**操作注意事项** +- 排产、派工和计划时间会影响生产看板、及时开工统计和 SAP 生产订单日期,提交前必须核对。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 +- 日程拖拽属于直接改计划时间的操作,拖拽前应确认任务未被现场执行锁定。 + +## 21-6 工艺与图纸管理 + +### 21.16 零件图纸维护 + +页面路径:`src/views/ProcessManagement/PartDrawing/index.vue` +所属模块:工艺与图纸管理 +建议使用人员:工艺员/技术人员 + +页面用途:该页面用于维护零件图纸,支持按物料查询、查看、上传/验证和删除图纸。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`物料编码`、`过滤`、`stationNumberValues`、`selectedMaterials`、`itemnum`、`物料(可多选)`、`物料`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 查询后先核对关键列:`序号`、`物料编号`、`物料名称`、`文件名称`、`导入人`、`导入时间`、`操作`、`操作人`、`删除时间`、`备注`、`物料编码`、`现有图纸导入人`。 +5. 按业务需要点击 `零件图`,操作前先确认选中行和输入内容。 +6. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `选零件上传零件图` 提交。 +7. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `查看删除记录`,按确认提示执行。 +8. 需要查看明细时点击 `查看`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +9. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `删除`,按确认提示执行。 +10. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +11. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +12. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +13. 需要查看明细时点击 `查看信息`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +14. 按业务需要点击 `关 闭`,操作前先确认选中行和输入内容。 +15. 出现弹窗时按弹窗标题处理:`上传零件图`、`选零件上传零件图`、`删除记录`、`上传冲突提示`、`图纸`;弹窗关闭前确认必填项已保存。 +16. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +17. 保存或提交成功后重新点击查询,确认页面数据已通过 `工艺管理_图纸维护_查询删除记录`、`工艺管理_图纸维护_零件图查询`、`工艺管理_图纸维护_物料查询`、`工艺管理_图纸维护_验证名称`、`工艺管理_图纸维护_查看图纸` 等后台过程更新。 + +**查询条件/输入项** +- `物料编码` +- `过滤` +- `stationNumberValues` +- `selectedMaterials` +- `itemnum` +- `物料(可多选)` +- `物料` + +**结果表重点列** +- `序号` +- `物料编号` +- `物料名称` +- `文件名称` +- `导入人` +- `导入时间` +- `操作` +- `操作人` +- `删除时间` +- `备注` +- `物料编码` +- `现有图纸导入人` + +**页面按钮/状态/页签** +- `查询` +- `零件图` +- `选零件上传零件图` +- `查看删除记录` +- `查看` +- `删除` +- `取消` +- `确定` +- `关闭` +- `查看信息` +- `关 闭` + +**弹窗/表单重点项** +- `上传零件图` +- `选零件上传零件图` +- `删除记录` +- `上传冲突提示` +- `图纸` + +**后台处理/外部接口** +- `存储过程:工艺管理_图纸维护_查询删除记录` +- `存储过程:工艺管理_图纸维护_零件图查询` +- `存储过程:工艺管理_图纸维护_物料查询` +- `存储过程:工艺管理_图纸维护_验证名称` +- `存储过程:工艺管理_图纸维护_查看图纸` +- `存储过程:工艺管理_图纸维护_删除图纸` + +**操作注意事项** +- 工艺、图纸和结构资料会被排产、生产、质检引用,版本错误会直接影响现场执行。 + +### 21.17 零件图纸查看 + +页面路径:`src/views/ProcessManagement/PartDrawlook/index.vue` +所属模块:工艺与图纸管理 +建议使用人员:工艺员/技术人员 + +页面用途:该页面用于按物料查看零件图纸,供生产、采购、外协或质检快速查阅技术文件。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`物料编码`、`过滤`、`stationNumberValue`、`uploadValue`、`itemnum`、`物料`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 查询后先核对关键列:`序号`、`物料编号`、`物料名称`、`文件名称`、`导入人`、`导入时间`、`操作`、`操作人`、`删除时间`、`备注`。 +5. 需要查看明细时点击 `查看`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +6. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `删除`,按确认提示执行。 +7. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +8. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +9. 出现弹窗时按弹窗标题处理:`上传指导文件`、`删除记录`;弹窗关闭前确认必填项已保存。 +10. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +11. 保存或提交成功后重新点击查询,确认页面数据已通过 `工艺管理_图纸维护_查询删除记录`、`工艺管理_图纸维护_零件图查询全部`、`工艺管理_图纸维护_物料查询`、`工艺管理_图纸维护_验证名称`、`工艺管理_图纸维护_查看图纸` 等后台过程更新。 + +**查询条件/输入项** +- `物料编码` +- `过滤` +- `stationNumberValue` +- `uploadValue` +- `itemnum` +- `物料` + +**结果表重点列** +- `序号` +- `物料编号` +- `物料名称` +- `文件名称` +- `导入人` +- `导入时间` +- `操作` +- `操作人` +- `删除时间` +- `备注` + +**页面按钮/状态/页签** +- `查询` +- `查看` +- `删除` +- `取消` +- `确定` +- `关闭` + +**弹窗/表单重点项** +- `上传指导文件` +- `删除记录` + +**后台处理/外部接口** +- `存储过程:工艺管理_图纸维护_查询删除记录` +- `存储过程:工艺管理_图纸维护_零件图查询全部` +- `存储过程:工艺管理_图纸维护_物料查询` +- `存储过程:工艺管理_图纸维护_验证名称` +- `存储过程:工艺管理_图纸维护_查看图纸` +- `存储过程:工艺管理_图纸维护_删除图纸` + +**操作注意事项** +- 工艺、图纸和结构资料会被排产、生产、质检引用,版本错误会直接影响现场执行。 + +### 21.18 工序维护 + +页面路径:`src/views/ProcessManagement/ProcedureManagement/index.vue` +所属模块:工艺与图纸管理 +建议使用人员:工艺员/技术人员 + +页面用途:该页面用于维护工序/路线阶段主数据,并与 SAP B1 RouteStages 保持一致。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`searchName`、`ProcessClassification`、`工艺名称`。 +3. 点击页面上的查询或刷新类按钮获取最新数据;如果页面自动加载,则先核对默认列表是否符合当前业务范围。 +4. 查询后先核对关键列:`序号`、`工艺名称`、`操作`。 +5. 需要新增时点击 `新增工艺`,在弹窗中逐项填写必填字段,确认编码、名称、状态等基础信息后保存。 +6. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +7. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +8. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +9. 出现弹窗时按弹窗标题处理:`title`;弹窗关闭前确认必填项已保存。 +10. 弹窗或表单内重点填写:`工艺名称`,提交前逐项核对。 +11. 保存或提交成功后重新点击查询,确认页面数据已通过 `MES_ProcessManagement_ProcessGet`、`MES_ProcessManagement_ProcessAdd`、`MES_ProcessManagement_ProcessEdit`、`MES_ProcessManagement_Processdel` 等后台过程更新。 +12. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 + +**查询条件/输入项** +- `searchName` +- `ProcessClassification` +- `工艺名称` + +**结果表重点列** +- `序号` +- `工艺名称` +- `操作` + +**页面按钮/状态/页签** +- `新增工艺` +- `取 消` +- `确 定` + +**弹窗/表单重点项** +- `title` +- `工艺名称` + +**后台处理/外部接口** +- `存储过程:MES_ProcessManagement_ProcessGet` +- `存储过程:MES_ProcessManagement_ProcessAdd` +- `存储过程:MES_ProcessManagement_ProcessEdit` +- `存储过程:MES_ProcessManagement_Processdel` +- `接口:postB1 /RouteStages` +- `接口:getB1 /RouteStages` +- `接口:patchB1 /RouteStages(` + +**操作注意事项** +- 工艺、图纸和结构资料会被排产、生产、质检引用,版本错误会直接影响现场执行。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 + +### 21.19 工艺图纸维护 + +页面路径:`src/views/ProcessManagement/ProcessDrawing/index.vue` +所属模块:工艺与图纸管理 +建议使用人员:工艺员/技术人员 + +页面用途:该页面用于维护工艺图纸,支持查询、查看、上传/验证和删除工艺图纸。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`过滤`、`stationNumberValue`、`uploadValue`、`物料`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 查询后先核对关键列:`序号`、`物料编号`、`物料名称`、`文件名称`、`导入人`、`导入时间`、`操作`。 +5. 按业务需要点击 `工艺图`,操作前先确认选中行和输入内容。 +6. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `选零件上传工艺图` 提交。 +7. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `选订单上传工艺图` 提交。 +8. 需要查看明细时点击 `查看`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +9. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `删除`,按确认提示执行。 +10. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +11. 出现弹窗时按弹窗标题处理:`上传指导文件`;弹窗关闭前确认必填项已保存。 +12. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +13. 保存或提交成功后重新点击查询,确认页面数据已通过 `工艺管理_工艺维护_工艺图查询`、`工艺管理_图纸维护_物料查询`、`工艺管理_工艺维护_验证名称`、`工艺管理_工艺维护_查看图纸`、`工艺管理_工艺维护_删除图纸` 等后台过程更新。 + +**查询条件/输入项** +- `过滤` +- `stationNumberValue` +- `uploadValue` +- `物料` + +**结果表重点列** +- `序号` +- `物料编号` +- `物料名称` +- `文件名称` +- `导入人` +- `导入时间` +- `操作` + +**页面按钮/状态/页签** +- `查询` +- `工艺图` +- `选零件上传工艺图` +- `选订单上传工艺图` +- `查看` +- `删除` +- `取消` +- `确定` + +**弹窗/表单重点项** +- `上传指导文件` + +**后台处理/外部接口** +- `存储过程:工艺管理_工艺维护_工艺图查询` +- `存储过程:工艺管理_图纸维护_物料查询` +- `存储过程:工艺管理_工艺维护_验证名称` +- `存储过程:工艺管理_工艺维护_查看图纸` +- `存储过程:工艺管理_工艺维护_删除图纸` +- `存储过程:工艺管理_图纸维护_查看图纸` + +**操作注意事项** +- 工艺、图纸和结构资料会被排产、生产、质检引用,版本错误会直接影响现场执行。 + +### 21.20 工艺开发 + +页面路径:`src/views/ProcessManagement/ProcessesDevelop/index.vue` +所属模块:工艺与图纸管理 +建议使用人员:工艺员/技术人员 + +页面用途:该页面用于维护产品工艺资料、工序路线、参数和图纸关系。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`订单编号`、`过滤`、`partNameValue3`、`processSearchName`、`processprodutc`、`partNameValue2`、`物料名称`、`工序名称`、`工装量具`、`指定机床`、`车间`、`生产工艺物料名称`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +5. 查询后先核对关键列:`工序`、`序号`、`工序名称`、`准备工时`、`标准工时`、`工时合计`、`工装量具`、`指定机床`、`车间`、`工序说明`、`备注`、`操作`。 +6. 按业务需要点击 `拷贝`,操作前先确认选中行和输入内容。 +7. 需要查看明细时点击 `图纸`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +8. 需要维护已有记录时先选中目标行,再点击或触发表格内 `已保存`,修改字段后保存并等待成功提示。 +9. 需要维护已有记录时先选中目标行,再点击或触发表格内 `保存`,修改字段后保存并等待成功提示。 +10. 需要维护已有记录时先选中目标行,再点击或触发表格内 `保存`,修改字段后保存并等待成功提示。 +11. 需要留存或流转时点击 `导出`,导出/打印前确认当前查询条件和选中记录正确。 +12. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +13. 出现弹窗时按弹窗标题处理:`工艺拷贝`;弹窗关闭前确认必填项已保存。 +14. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +15. 保存或提交成功后重新点击查询,确认页面数据已通过 `工艺管理_获取物料原料信息`、`设备管理_设备信息_查询`、`工艺管理_生产计划物料查询`、`工艺管理_生产工艺_生产工艺拷贝`、`工艺管理_生产工艺_标准工艺拷贝` 等后台过程更新。 + +**查询条件/输入项** +- `订单编号` +- `过滤` +- `partNameValue3` +- `processSearchName` +- `processprodutc` +- `partNameValue2` +- `物料名称` +- `工序名称` +- `工装量具` +- `指定机床` +- `车间` +- `生产工艺物料名称` + +**结果表重点列** +- `工序` +- `序号` +- `工序名称` +- `准备工时` +- `标准工时` +- `工时合计` +- `工装量具` +- `指定机床` +- `车间` +- `工序说明` +- `备注` +- `操作` + +**页面按钮/状态/页签** +- `查询` +- `拷贝` +- `图纸` +- `已保存` +- `保存` +- `导出` +- `生产工艺 取消` +- `确定` + +**弹窗/表单重点项** +- `工艺拷贝` + +**后台处理/外部接口** +- `存储过程:工艺管理_获取物料原料信息` +- `存储过程:设备管理_设备信息_查询` +- `存储过程:工艺管理_生产计划物料查询` +- `存储过程:工艺管理_生产工艺_生产工艺拷贝` +- `存储过程:工艺管理_生产工艺_标准工艺拷贝` +- `存储过程:MES_ProcessManagement_ProcessBindGet` +- `存储过程:工艺管理_制定标准工艺_拷贝生产工艺` +- `存储过程:MES_ProcessManagement_ProcessGet` +- `存储过程:工艺管理_制定标准工艺_拷贝工艺保存` +- `存储过程:工艺管理_工艺维护_查看图纸` +- `存储过程:车间生产管理工艺_零件工序_修改数据_工艺库` +- `存储过程:车间生产管理工艺_零件工序_查询工序信息_工艺库` +- `存储过程:车间生产管理工艺_零件工序_编辑_工艺库` +- `存储过程:车间生产管理工艺_零件工序_编辑插入行` +- `存储过程:车间生产管理工艺_零件工序_删除工序_工艺库` +- `存储过程:车间生产管理工艺_零件工序_上移工序_工艺库` +- `存储过程:车间生产管理工艺_零件工序_下移工序_工艺库` +- `存储过程:车间生产管理工艺_零件工序_插入工序_工艺库` +- `存储过程:车间生产管理工艺_零件工序_启用` + +**操作注意事项** +- 工艺、图纸和结构资料会被排产、生产、质检引用,版本错误会直接影响现场执行。 + +### 21.21 工艺查询 + +页面路径:`src/views/ProcessManagement/ProcessInquiry/index.vue` +所属模块:工艺与图纸管理 +建议使用人员:工艺员/技术人员 + +页面用途:该页面用于查询标准工艺或生产工艺,供排产、生产、质检核对工序路线。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`partNameValue3`、`order编号`、`plannum`、`taskstatus`、`pickingstatus`、`orderstatus`、`生产工艺物料名称`、`物料名称`、`生产订单`、`计划号`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +5. 查询后先核对关键列:`selection`、`序号`、`生产订单`、`计划号`、`物料名称`、`物料编码`、`加工数量`、`打印次数`。 +6. 需要留存或流转时点击 `打印`,导出/打印前确认当前查询条件和选中记录正确。 +7. 保存或提交成功后重新点击查询,确认页面数据已通过 `MES_ProcessManagement_PartGet`、`工艺管理_工艺查询_查询生产工艺`、`工艺管理_工艺查询_更新打印次数` 等后台过程更新。 + +**查询条件/输入项** +- `partNameValue3` +- `order编号` +- `plannum` +- `taskstatus` +- `pickingstatus` +- `orderstatus` +- `生产工艺物料名称` +- `物料名称` +- `生产订单` +- `计划号` + +**结果表重点列** +- `selection` +- `序号` +- `生产订单` +- `计划号` +- `物料名称` +- `物料编码` +- `加工数量` +- `打印次数` + +**页面按钮/状态/页签** +- `查询` +- `打印` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:MES_ProcessManagement_PartGet` +- `存储过程:工艺管理_工艺查询_查询生产工艺` +- `存储过程:工艺管理_工艺查询_更新打印次数` + +**操作注意事项** +- 工艺、图纸和结构资料会被排产、生产、质检引用,版本错误会直接影响现场执行。 + +### 21.22 生产工艺维护 + +页面路径:`src/views/ProcessManagement/ProcessProduct/index.vue` +所属模块:工艺与图纸管理 +建议使用人员:工艺员/技术人员 + +页面用途:该页面用于维护产品工艺资料、工序路线、参数和图纸关系。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`订单编号`、`订单号`、`合同号`、`产品编码`、`产品名称`、`下达日期1`、`下达日期2`、`任务状态`、`订单状态`、`工艺状态`、`计划号`、`PageCurrent`。 +3. 如果仍查不到数据,继续补充条件:`PageSize`、`PageCount`、`ItemCount`、`物料编号`、`计划数量`、`工艺顺序`、`零件图号`、`order编号`、`contract编号`、`productCode`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +6. 查询后先核对关键列:`selection`、`序号`、`销售订单`、`计划号`、`生产订单`、`物料编码`、`物料名称`、`属性`、`计划数`、`下达日期`、`计划开始`、`计划完成`。 +7. 继续横向滚动或展开表格,核对:`加急状态`、`标准工艺`、`生产工艺`、`图纸`、`备注`、`操作`、`工序`、`工序名称`、`准备工时`、`标准工时`、`工时合计`、`工装量具`、`指定机床`、`车间`。 +8. 按业务需要点击 `批量生成生产工艺`,操作前先确认选中行和输入内容。 +9. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑工艺`,修改字段后保存并等待成功提示。 +10. 按业务需要点击 `拷贝`,操作前先确认选中行和输入内容。 +11. 需要查看明细时点击 `零件图纸`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +12. 需要查看明细时点击 `工艺图纸`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +13. 需要维护已有记录时先选中目标行,再点击或触发表格内 `保存为标准工艺`,修改字段后保存并等待成功提示。 +14. 按业务需要点击 `下发任务`,操作前先确认选中行和输入内容。 +15. 需要维护已有记录时先选中目标行,再点击或触发表格内 `已保存`,修改字段后保存并等待成功提示。 +16. 需要维护已有记录时先选中目标行,再点击或触发表格内 `保存`,修改字段后保存并等待成功提示。 +17. 按业务需要点击 `下发任务`,操作前先确认选中行和输入内容。 +18. 出现弹窗时按弹窗标题处理:`编辑生产工艺`、`生产工艺拷贝`、`图纸`;弹窗关闭前确认必填项已保存。 +19. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +20. 保存或提交成功后重新点击查询,确认页面数据已通过 `工艺管理_获取物料原料信息`、`工艺管理_生产工艺_查询生产工艺`、`工艺管理_生产工艺_工艺拷贝`、`工艺管理_生产工艺_生产工艺拷贝`、`工艺管理_生产工艺_标准工艺拷贝` 等后台过程更新。 + +**查询条件/输入项** +- `订单编号` +- `订单号` +- `合同号` +- `产品编码` +- `产品名称` +- `下达日期1` +- `下达日期2` +- `任务状态` +- `订单状态` +- `工艺状态` +- `计划号` +- `PageCurrent` +- `PageSize` +- `PageCount` +- `ItemCount` +- `物料编号` +- `计划数量` +- `工艺顺序` +- `零件图号` +- `order编号` +- `contract编号` +- `productCode` + +**结果表重点列** +- `selection` +- `序号` +- `销售订单` +- `计划号` +- `生产订单` +- `物料编码` +- `物料名称` +- `属性` +- `计划数` +- `下达日期` +- `计划开始` +- `计划完成` +- `加急状态` +- `标准工艺` +- `生产工艺` +- `图纸` +- `备注` +- `操作` +- `工序` +- `工序名称` +- `准备工时` +- `标准工时` +- `工时合计` +- `工装量具` +- `指定机床` +- `车间` +- `工序说明` + +**页面按钮/状态/页签** +- `查询` +- `批量生成生产工艺` +- `编辑工艺` +- `拷贝` +- `零件图纸` +- `工艺图纸` +- `保存为标准工艺` +- `下发任务` +- `已保存` +- `保存` +- `取消` +- `确定` +- `关闭` + +**弹窗/表单重点项** +- `编辑生产工艺` +- `生产工艺拷贝` +- `图纸` + +**后台处理/外部接口** +- `存储过程:工艺管理_获取物料原料信息` +- `存储过程:工艺管理_生产工艺_查询生产工艺` +- `存储过程:工艺管理_生产工艺_工艺拷贝` +- `存储过程:工艺管理_生产工艺_生产工艺拷贝` +- `存储过程:工艺管理_生产工艺_标准工艺拷贝` +- `存储过程:计划排产_生产订单_订单查询` +- `存储过程:计划排产_生产订单_订单任务_生产工艺任务下发` +- `存储过程:计划排产_生产订单_订单任务_单条生产工艺任务下发` +- `存储过程:工艺管理_零件工序_生产工艺_批量生成生产工艺` +- `存储过程:设备管理_设备信息_查询` +- `存储过程:MES_ProcessManagement_ProcessBindGet` +- `存储过程:工艺管理_制定标准工艺_拷贝生产工艺` +- `存储过程:MES_ProcessManagement_ProcessGet` +- `存储过程:车间生产管理工艺_零件工序_保存为标准工艺` +- `存储过程:工艺管理_图纸维护_查看图纸` +- `存储过程:工艺管理_工艺维护_查看图纸` +- `存储过程:工艺管理_零件工序_生产工艺_修改数据` +- `存储过程:工艺管理_零件工序_生产工艺_编辑` +- `存储过程:工艺管理_零件工序_生产工艺_编辑插入工序` +- `存储过程:工艺管理_零件工序_生产工艺_删除工序` + +**操作注意事项** +- 工艺、图纸和结构资料会被排产、生产、质检引用,版本错误会直接影响现场执行。 + +### 21.23 采购图纸查看 + +页面路径:`src/views/ProcessManagement/ProcurementDrawlook/index.vue` +所属模块:工艺与图纸管理 +建议使用人员:工艺员/技术人员 + +页面用途:该页面用于按物料查看零件图纸,供生产、采购、外协或质检快速查阅技术文件。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`物料编码`、`过滤`、`stationNumberValue`、`uploadValue`、`itemnum`、`物料`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 查询后先核对关键列:`序号`、`物料编号`、`物料名称`、`文件名称`、`导入人`、`导入时间`、`操作`、`操作人`、`删除时间`、`备注`。 +5. 需要查看明细时点击 `查看`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +6. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `删除`,按确认提示执行。 +7. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +8. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +9. 出现弹窗时按弹窗标题处理:`上传指导文件`、`删除记录`;弹窗关闭前确认必填项已保存。 +10. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +11. 保存或提交成功后重新点击查询,确认页面数据已通过 `工艺管理_图纸维护_查询删除记录`、`工艺管理_图纸维护_零件图查询采购`、`工艺管理_图纸维护_物料查询_采购`、`工艺管理_图纸维护_验证名称`、`工艺管理_图纸维护_查看图纸` 等后台过程更新。 + +**查询条件/输入项** +- `物料编码` +- `过滤` +- `stationNumberValue` +- `uploadValue` +- `itemnum` +- `物料` + +**结果表重点列** +- `序号` +- `物料编号` +- `物料名称` +- `文件名称` +- `导入人` +- `导入时间` +- `操作` +- `操作人` +- `删除时间` +- `备注` + +**页面按钮/状态/页签** +- `查询` +- `查看` +- `删除` +- `取消` +- `确定` +- `关闭` + +**弹窗/表单重点项** +- `上传指导文件` +- `删除记录` + +**后台处理/外部接口** +- `存储过程:工艺管理_图纸维护_查询删除记录` +- `存储过程:工艺管理_图纸维护_零件图查询采购` +- `存储过程:工艺管理_图纸维护_物料查询_采购` +- `存储过程:工艺管理_图纸维护_验证名称` +- `存储过程:工艺管理_图纸维护_查看图纸` +- `存储过程:工艺管理_图纸维护_删除图纸` + +**操作注意事项** +- 工艺、图纸和结构资料会被排产、生产、质检引用,版本错误会直接影响现场执行。 + +### 21.24 生产订单 + +页面路径:`src/views/ProcessManagement/ProductionOrder/index.vue` +所属模块:工艺与图纸管理 +建议使用人员:工艺员/技术人员 + +页面用途:该页面用于查询和同步生产订单,把 SAP/ERP 生产订单转成 MES 生产计划与工序任务。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`订单号`、`合同号`、`产品编码`、`产品名称`、`要求完工日期1`、`要求完工日期2`、`订单状态`、`任务状态`、`订单编号`、`order编号`、`contract编号`、`productCode`。 +3. 如果仍查不到数据,继续补充条件:`productName`、`taskstatus`、`orderstatus`、`completion时间`、`生产订单`、`销售订单`、`物料编码`、`物料名称`、`时间`、`开始时间`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +6. 查询后先核对关键列:`selection`、`序号`、`销售订单`、`生产订单`、`物料编码`、`物料名称`、`属性`、`计划数`、`下达日期`、`计划开始`、`计划完成`、`加急状态`。 +7. 继续横向滚动或展开表格,核对:`标准工艺`、`生产工艺`、`操作`、`工序名称`、`工序说明`、`准备工时`、`标准工时`、`工时合计`、`工装量具`、`指定机床`、`车间`、`备注`。 +8. 按业务需要点击 `批量生成任务`,操作前先确认选中行和输入内容。 +9. 需要查看明细时点击 `查看生产工艺`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +10. 需要查看明细时点击 `查看标准工艺`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +11. 出现弹窗时按弹窗标题处理:`生产工艺详情`、`标准工艺详情`;弹窗关闭前确认必填项已保存。 +12. 保存或提交成功后重新点击查询,确认页面数据已通过 `设备管理_设备信息_查询`、`工艺管理_生产工艺_查询生产工艺`、`工艺管理_生产工艺_查询标准工艺`、`工艺管理_工艺任务_订单查询`、`计划排产_生产订单_订单任务` 等后台过程更新。 + +**查询条件/输入项** +- `订单号` +- `合同号` +- `产品编码` +- `产品名称` +- `要求完工日期1` +- `要求完工日期2` +- `订单状态` +- `任务状态` +- `订单编号` +- `order编号` +- `contract编号` +- `productCode` +- `productName` +- `taskstatus` +- `orderstatus` +- `completion时间` +- `生产订单` +- `销售订单` +- `物料编码` +- `物料名称` +- `时间` +- `开始时间` + +**结果表重点列** +- `selection` +- `序号` +- `销售订单` +- `生产订单` +- `物料编码` +- `物料名称` +- `属性` +- `计划数` +- `下达日期` +- `计划开始` +- `计划完成` +- `加急状态` +- `标准工艺` +- `生产工艺` +- `操作` +- `工序名称` +- `工序说明` +- `准备工时` +- `标准工时` +- `工时合计` +- `工装量具` +- `指定机床` +- `车间` +- `备注` + +**页面按钮/状态/页签** +- `查询` +- `批量生成任务` +- `查看生产工艺` +- `查看标准工艺` + +**弹窗/表单重点项** +- `生产工艺详情` +- `标准工艺详情` + +**后台处理/外部接口** +- `存储过程:设备管理_设备信息_查询` +- `存储过程:工艺管理_生产工艺_查询生产工艺` +- `存储过程:工艺管理_生产工艺_查询标准工艺` +- `存储过程:工艺管理_工艺任务_订单查询` +- `存储过程:计划排产_生产订单_订单任务` + +**操作注意事项** +- 工艺、图纸和结构资料会被排产、生产、质检引用,版本错误会直接影响现场执行。 + +## 21-7 生产执行管理 + +### 21.25 异常管控 + +页面路径:`src/views/ProductionManagement/AbnormalControl/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于生产异常管理,查询异常、处理异常、转办、查看进度和关闭异常。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 先查看页签:`待我处理`、`我发起的`、`我已处理`;需要表格处理时进入表单/列表页签,需要看时间排布时进入日程/看板页签。 +3. 在查询区按需要填写筛选条件:`审批人ID`、`发起人ID`、`状态`、`订单号`、`物料类型`、`合同号`、`产品编码`、`产品名称`、`工序名称`、`性质`、`要求完工日期1`、`要求完工日期2`。 +4. 如果仍查不到数据,继续补充条件:`排产状态`、`工位`、`流程标题`、`流程描述`、`优先级`、`发起人姓名`、`审批人姓名`、`新流程ID`、`已关联计划号`、`零件名称`,或清空过窄条件后重新查询。 +5. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +6. 查询后先核对关键列:`流程名称`、`发起时间`、`当前节点`、`状态`、`操作`、`申请人`、`处理时间`、`处理结果`、`审批意见`、`序号`、`销售订单`、`生产订单`。 +7. 继续横向滚动或展开表格,核对:`零件编码`、`产品名称`、`计划数`、`工序名称`、`指派对象编号`、`指派对象`、`指派数量`、`计划开始时间`、`计划完成时间`、`最晚开始时间`、`要求完工日期`。 +8. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `处理` 提交。 +9. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `转办` 提交。 +10. 按业务需要点击 `发起新流程`,操作前先确认选中行和输入内容。 +11. 需要查看明细时点击 `查看进度`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +12. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `完结` 提交。 +13. 需要查看明细时点击 `查看详情`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +14. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `点击上传` 提交。 +15. 需要新增时点击 `添加审批人`,在弹窗中逐项填写必填字段,确认编码、名称、状态等基础信息后保存。 +16. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +17. 按业务需要点击 `提 交`,操作前先确认选中行和输入内容。 +18. 出现弹窗时按弹窗标题处理:`发起新流程`、`处理任务`、`流程进度详情`、`转办流程`、`完结流程`、`上传附件`;弹窗关闭前确认必填项已保存。 +19. 弹窗或表单内重点填写:`优先级`、`流程标题`、`流程描述`、`上传附件`、`审批人`、`已关联生产订单`、`物料名称`、`物料编号`、`工序名称`、`处理意见`、`审批意见`、`目标人员`、`转办原因`、`流程名称`,提交前逐项核对。 +20. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +21. 保存或提交成功后重新点击查询,确认页面数据已通过 `sp_获取最近处理任务`、`人员管理_人员信息查询`、`sp_获取我的流程`、`sp_获取待处理任务`、`MES_ProductAdmin_Query` 等后台过程更新。 + +**查询条件/输入项** +- `审批人ID` +- `发起人ID` +- `状态` +- `订单号` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `性质` +- `要求完工日期1` +- `要求完工日期2` +- `排产状态` +- `工位` +- `流程标题` +- `流程描述` +- `优先级` +- `发起人姓名` +- `审批人姓名` +- `新流程ID` +- `已关联计划号` +- `零件名称` + +**结果表重点列** +- `流程名称` +- `发起时间` +- `当前节点` +- `状态` +- `操作` +- `申请人` +- `处理时间` +- `处理结果` +- `审批意见` +- `序号` +- `销售订单` +- `生产订单` +- `零件编码` +- `产品名称` +- `计划数` +- `工序名称` +- `指派对象编号` +- `指派对象` +- `指派数量` +- `计划开始时间` +- `计划完成时间` +- `最晚开始时间` +- `要求完工日期` + +**页面按钮/状态/页签** +- `处理` +- `转办` +- `发起新流程` +- `查看进度` +- `完结` +- `查看详情` +- `点击上传` +- `添加审批人` +- `查询` +- `取 消` +- `提 交` +- `确 定` +- `确 认 完 结` +- `取消` +- `确定` +- `待我处理` +- `我发起的` +- `我已处理` + +**弹窗/表单重点项** +- `发起新流程` +- `处理任务` +- `流程进度详情` +- `转办流程` +- `完结流程` +- `上传附件` +- `优先级` +- `流程标题` +- `流程描述` +- `上传附件` +- `审批人` +- `已关联生产订单` +- `物料名称` +- `物料编号` +- `工序名称` +- `处理意见` +- `审批意见` +- `目标人员` +- `转办原因` +- `流程名称` +- `完结原因` +- `完结结果` + +**后台处理/外部接口** +- `存储过程:sp_获取最近处理任务` +- `存储过程:人员管理_人员信息查询` +- `存储过程:sp_获取我的流程` +- `存储过程:sp_获取待处理任务` +- `存储过程:MES_ProductAdmin_Query` +- `存储过程:sp_创建流程_简化版` +- `存储过程:sp_处理审批` +- `存储过程:sp_转办流程` +- `存储过程:sp_完成流程` +- `存储过程:sp_获取流程详情` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 + +### 21.26 装配计划跟踪 + +页面路径:`src/views/ProductionManagement/AssemblePlanTrack/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于跟踪生产/装配计划执行进度,查看计划、完成、延期和异常情况。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`订单号`、`物料类型`、`合同号`、`产品编码`、`产品名称`、`工序名称`、`计划开始1`、`计划开始2`、`计划完成1`、`计划完成2`、`要求完工日期1`、`要求完工日期2`。 +3. 如果仍查不到数据,继续补充条件:`排产状态`、`指派对象`、`订单行号`、`订单拆分内码`、`优先级`、`未完成说明`、`派工特殊说明`、`order编号`、`contract编号`、`productCode`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`expand`、`序号`、`工序名称`、`计划数量`、`指派对象`、`开始时间`、`结束时间`、`完成进度`、`拆分内码`、`销售订单`、`生产订单`、`产品编码`。 +6. 继续横向滚动或展开表格,核对:`产品名称`、`要求完工日`、`当前序`、`排产`、`开工`、`终检`、`加急`、`优先级`。 +7. 保存或提交成功后重新点击查询,确认页面数据已通过 `MES_OrderPlanned_Queryzp`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` 等后台过程更新。 + +**查询条件/输入项** +- `订单号` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `计划开始1` +- `计划开始2` +- `计划完成1` +- `计划完成2` +- `要求完工日期1` +- `要求完工日期2` +- `排产状态` +- `指派对象` +- `订单行号` +- `订单拆分内码` +- `优先级` +- `未完成说明` +- `派工特殊说明` +- `order编号` +- `contract编号` +- `productCode` + +**结果表重点列** +- `expand` +- `序号` +- `工序名称` +- `计划数量` +- `指派对象` +- `开始时间` +- `结束时间` +- `完成进度` +- `拆分内码` +- `销售订单` +- `生产订单` +- `产品编码` +- `产品名称` +- `要求完工日` +- `当前序` +- `排产` +- `开工` +- `终检` +- `加急` +- `优先级` + +**页面按钮/状态/页签** +- `查询` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:MES_OrderPlanned_Queryzp` +- `存储过程:MES_OrderPlanned_DescriptionEdit` +- `存储过程:Prog_MES_LoadStations` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 + +### 21.27 装配状态 + +页面路径:`src/views/ProductionManagement/AssembleStatus/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于查看现场状态,关注工位、设备、任务是否开工、进行中或完成。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`checker`、`检测人`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +5. 查询后先核对关键列:`序号`、`人员名称`、`工位`、`生产订单`、`计划号`、`销售订单`、`物料名称`、`物料编码`、`顺序`、`工序名称`、`分配数`、`上序合格数`。 +6. 继续横向滚动或展开表格,核对:`加工状态`、`送检数`、`收检合格数`、`收检不合格数`、`入库数量`、`发料状态`、`拣配状态`、`齐套`、`开始时间`、`计划开始`、`计划完成`、`备注`。 +7. 保存或提交成功后重新点击查询,确认页面数据已通过 `人员管理_人员信息查询_质检部门_查询`、`MES_登录_工位与名称_查询`、`生产管理_装配状态_获取进行中任务` 等后台过程更新。 + +**查询条件/输入项** +- `checker` +- `检测人` + +**结果表重点列** +- `序号` +- `人员名称` +- `工位` +- `生产订单` +- `计划号` +- `销售订单` +- `物料名称` +- `物料编码` +- `顺序` +- `工序名称` +- `分配数` +- `上序合格数` +- `加工状态` +- `送检数` +- `收检合格数` +- `收检不合格数` +- `入库数量` +- `发料状态` +- `拣配状态` +- `齐套` +- `开始时间` +- `计划开始` +- `计划完成` +- `备注` + +**页面按钮/状态/页签** +- `查询` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:人员管理_人员信息查询_质检部门_查询` +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:生产管理_装配状态_获取进行中任务` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 + +### 21.28 装配任务管理 + +页面路径:`src/views/ProductionManagement/AssembleTaskManage/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于生产/装配任务管理,查询任务、查看工时、维护派工和任务说明。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 先查看页签:`表单`、`日程`;需要表格处理时进入表单/列表页签,需要看时间排布时进入日程/看板页签。 +3. 在查询区按需要填写筛选条件:`订单号`、`任务描述`、`指派对象`、`指派对象编号`、`指派数量`、`计划开始时间`、`计划结束时间`、`最晚开始时间`、`物料类型`、`合同号`、`产品编码`、`产品名称`。 +4. 如果仍查不到数据,继续补充条件:`工序名称`、`性质`、`要求完工日期1`、`要求完工日期2`、`排产状态`、`订单行号`、`订单拆分内码`、`派工特殊说明`、`计划完成时间`、`优先级`,或清空过窄条件后重新查询。 +5. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +6. 查询后先核对关键列:`selection`、`序号`、`销售订单`、`生产订单`、`订单行号`、`拆分内码`、`零件编码`、`产品名称`、`计划数`、`预计齐套时间`、`是否齐套`、`齐套检测`。 +7. 继续横向滚动或展开表格,核对:`齐套锁料`、`备料日期`、`加急`、`总工时`、`排产状态`、`排产时间`、`工序计划数量`、`指派对象编号`、`指派对象`、`指派数量`、`计划开始`、`计划完成`、`最晚开始`、`优先级`。 +8. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `批量排产` 提交。 +9. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `排产完成` 提交。 +10. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确认修改`,修改字段后保存并等待成功提示。 +11. 按业务需要点击 `拆分子任务`,操作前先确认选中行和输入内容。 +12. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +13. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +14. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +15. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +16. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +17. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +18. 出现弹窗时按弹窗标题处理:`拆分子任务及派工`、`编辑备注信息`;弹窗关闭前确认必填项已保存。 +19. 弹窗或表单内重点填写:`指派对象`、`分配数量`、`计划开始时间`、`计划完成时间`、`最晚开始时间`、`装配任务概述`、`优先级`、`未完成说明`、`派工特殊备注`,提交前逐项核对。 +20. 进入日程页后,单击任务查看详情;拖拽任务可调整计划开始时间,拉伸任务可调整计划完成时间,系统提示确认后才会保存。 +21. 日程保存失败或取消时任务会恢复原日期;保存成功后回到表单页重新查询,核对计划开始和计划完成是否同步。 +22. 保存或提交成功后重新点击查询,确认页面数据已通过 `MES_登录_工位与名称_查询`、`MES_OrderPlanned_Finish`、`MES_OrderPlanned_ChildTask_Add`、`MES_OrderPlanned_ChildTask_Get`、`MES_OrderPlanned_Query` 等后台过程更新。 + +**查询条件/输入项** +- `订单号` +- `任务描述` +- `指派对象` +- `指派对象编号` +- `指派数量` +- `计划开始时间` +- `计划结束时间` +- `最晚开始时间` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `性质` +- `要求完工日期1` +- `要求完工日期2` +- `排产状态` +- `订单行号` +- `订单拆分内码` +- `派工特殊说明` +- `计划完成时间` +- `优先级` + +**结果表重点列** +- `selection` +- `序号` +- `销售订单` +- `生产订单` +- `订单行号` +- `拆分内码` +- `零件编码` +- `产品名称` +- `计划数` +- `预计齐套时间` +- `是否齐套` +- `齐套检测` +- `齐套锁料` +- `备料日期` +- `加急` +- `总工时` +- `排产状态` +- `排产时间` +- `工序计划数量` +- `指派对象编号` +- `指派对象` +- `指派数量` +- `计划开始` +- `计划完成` +- `最晚开始` +- `优先级` +- `未完成说明` +- `派工特殊备注` +- `最后编辑人` +- `最后编辑时间` +- `工序名称` +- `加急状态1` +- `性质` +- `总工时1` + +**页面按钮/状态/页签** +- `查询` +- `批量排产` +- `排产完成` +- `确认修改` +- `拆分子任务` +- `确定` +- `编辑` +- `取 消` +- `确 定` +- `表单` +- `日程` + +**弹窗/表单重点项** +- `拆分子任务及派工` +- `编辑备注信息` +- `指派对象` +- `分配数量` +- `计划开始时间` +- `计划完成时间` +- `最晚开始时间` +- `装配任务概述` +- `优先级` +- `未完成说明` +- `派工特殊备注` + +**后台处理/外部接口** +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:MES_OrderPlanned_Finish` +- `存储过程:MES_OrderPlanned_ChildTask_Add` +- `存储过程:MES_OrderPlanned_ChildTask_Get` +- `存储过程:MES_OrderPlanned_Query` +- `存储过程:Prog_MES_LoadStations` +- `存储过程:MES_OrderPlanned_EditTaskPlanned` +- `存储过程:MES_OrderPlanned_SingleTaskPlanned` +- `存储过程:MES_OrderPlanned_DescriptionEdit` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 +- 日程拖拽属于直接改计划时间的操作,拖拽前应确认任务未被现场执行锁定。 + +### 21.29 装配任务汇总 + +页面路径:`src/views/ProductionManagement/AssembleTasksSum/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于生产/装配任务汇总,按订单、人员、工位、状态和时间统计任务执行情况。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 先查看页签:`表单`、`日程`;需要表格处理时进入表单/列表页签,需要看时间排布时进入日程/看板页签。 +3. 在查询区按需要填写筛选条件:`计划开工_Start`、`计划开工_End`、`订单号`、`物料类型`、`合同号`、`产品编码`、`产品名称`、`工序名称`、`性质`、`要求完工日期1`、`要求完工日期2`、`排产状态`。 +4. 如果仍查不到数据,继续补充条件:`工位`、`订单行号`、`订单拆分内码`、`优先级`、`未完成说明`、`派工特殊说明`、`计划开始时间`、`计划完成时间`、`contract编号`、`order编号`,或清空过窄条件后重新查询。 +5. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +6. 查询后先核对关键列:`序号`、`销售订单`、`生产订单`、`零件编码`、`产品名称`、`计划数`、`工序名称`、`总工时`、`占用情况`、`计划开始时间`、`计划完成时间`、`最晚开始时间`。 +7. 继续横向滚动或展开表格,核对:`要求完工日期`、`收料`、`进度`、`序检`、`优先级`、`未完成说明`、`派工特殊备注`、`编辑`、`最后编辑人`、`最后编辑时间`。 +8. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +9. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +10. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +11. 出现弹窗时按弹窗标题处理:`编辑任务信息`;弹窗关闭前确认必填项已保存。 +12. 弹窗或表单内重点填写:`优先级`、`未完成说明`、`派工特殊备注`,提交前逐项核对。 +13. 进入日程页后,单击任务查看详情;拖拽任务可调整计划开始时间,拉伸任务可调整计划完成时间,系统提示确认后才会保存。 +14. 日程保存失败或取消时任务会恢复原日期;保存成功后回到表单页重新查询,核对计划开始和计划完成是否同步。 +15. 保存或提交成功后重新点击查询,确认页面数据已通过 `MES_登录_工位与名称_查询`、`MES_ProductTask_WorkTimeSum`、`MES_ProductAdmin_Query`、`Prog_MES_LoadStations`、`MES_OrderPlanned_DescriptionEdit` 等后台过程更新。 + +**查询条件/输入项** +- `计划开工_Start` +- `计划开工_End` +- `订单号` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `性质` +- `要求完工日期1` +- `要求完工日期2` +- `排产状态` +- `工位` +- `订单行号` +- `订单拆分内码` +- `优先级` +- `未完成说明` +- `派工特殊说明` +- `计划开始时间` +- `计划完成时间` +- `contract编号` +- `order编号` + +**结果表重点列** +- `序号` +- `销售订单` +- `生产订单` +- `零件编码` +- `产品名称` +- `计划数` +- `工序名称` +- `总工时` +- `占用情况` +- `计划开始时间` +- `计划完成时间` +- `最晚开始时间` +- `要求完工日期` +- `收料` +- `进度` +- `序检` +- `优先级` +- `未完成说明` +- `派工特殊备注` +- `编辑` +- `最后编辑人` +- `最后编辑时间` + +**页面按钮/状态/页签** +- `查询` +- `编辑` +- `取 消` +- `确 定` +- `表单` +- `日程` + +**弹窗/表单重点项** +- `编辑任务信息` +- `优先级` +- `未完成说明` +- `派工特殊备注` + +**后台处理/外部接口** +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:MES_ProductTask_WorkTimeSum` +- `存储过程:MES_ProductAdmin_Query` +- `存储过程:Prog_MES_LoadStations` +- `存储过程:MES_OrderPlanned_DescriptionEdit` +- `存储过程:MES_OrderPlanned_EditTaskPlanned` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 +- 日程拖拽属于直接改计划时间的操作,拖拽前应确认任务未被现场执行锁定。 + +### 21.30 装配中心 + +页面路径:`src/views/ProductionManagement/AssemblyCenter/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面是装配生产执行主界面,装配人员按工位执行开工、报工、送检、退库、缺料查询和图纸查看。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`物料编号`、`用户ID`、`订单编号`、`订单号`、`零件编号`、`生产状态`、`工位名称`、`计划号`、`销售订单`、`计划开工_Start`、`计划开工_End`、`ItemCode`。 +3. 如果仍查不到数据,继续补充条件:`用户名`、`备注`、`工序说明`、`异常说明`、`本次检数`、`是否加班`、`加班人员`、`特殊加班人员`、`是否休息日`、`是否法定休息日`,或清空过窄条件后重新查询。 +4. 点击 `查询 缺料` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`序号`、`生产订单`、`销售订单`、`计划号`、`物料编码`、`物料名称`、`齐套`、`发料状态`、`拣配`、`操作`、`加急数量`、`分配数`。 +6. 继续横向滚动或展开表格,核对:`送检数`、`任务状态`、`工序顺序`、`指派对象`、`计划开始`、`计划完成`、`二次派工`、`工序名称`、`开工时间`、`加工状态`、`收料数`、`优先`、`首检`、`序检`。 +7. 按业务需要点击 `上一个 下一个`,操作前先确认选中行和输入内容。 +8. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `删除当前记录 关闭`,按确认提示执行。 +9. 需要维护已有记录时先选中目标行,再点击或触发表格内 `上一个 下一个 保存当前记录 删除当前记录 关闭`,修改字段后保存并等待成功提示。 +10. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定 关闭`,修改字段后保存并等待成功提示。 +11. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +12. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +13. 需要新增时点击 `新增异常工时`,在弹窗中逐项填写必填字段,确认编码、名称、状态等基础信息后保存。 +14. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +15. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +16. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +17. 出现弹窗时按弹窗标题处理:`首检自检`、`序检自检`、`收检`、`送检`、`异常工时`、`新增工时记录`、`编辑任务信息`、`退库单`;弹窗关闭前确认必填项已保存。 +18. 弹窗或表单内重点填写:`生产订单`、`零件编码`、`计划数量`、`当前时间`、`送检数`、`操作工位`、`操作人`、`操作类别`、`物料编码`、`物料名称`、`工序名称`、`指派对象`、`开始时间`、`结束时间`,提交前逐项核对。 +19. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +20. 保存或提交成功后重新点击查询,确认页面数据已通过 `生产管理_获取人员绑定`、`加急订单_加急明细查询`、`MES_人员工时记录_获取进行中任务2`、`MES_人员工时记录_获取进行中任务`、`工时校验_获取订单列表` 等后台过程更新。 +21. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 +22. 现场执行类操作必须按实际顺序处理:先确认任务和工位,再收料/开工,完成加工或装配后再报工/送检。 + +**查询条件/输入项** +- `物料编号` +- `用户ID` +- `订单编号` +- `订单号` +- `零件编号` +- `生产状态` +- `工位名称` +- `计划号` +- `销售订单` +- `计划开工_Start` +- `计划开工_End` +- `ItemCode` +- `用户名` +- `备注` +- `工序说明` +- `异常说明` +- `本次检数` +- `是否加班` +- `加班人员` +- `特殊加班人员` +- `是否休息日` +- `是否法定休息日` + +**结果表重点列** +- `序号` +- `生产订单` +- `销售订单` +- `计划号` +- `物料编码` +- `物料名称` +- `齐套` +- `发料状态` +- `拣配` +- `操作` +- `加急数量` +- `分配数` +- `送检数` +- `任务状态` +- `工序顺序` +- `指派对象` +- `计划开始` +- `计划完成` +- `二次派工` +- `工序名称` +- `开工时间` +- `加工状态` +- `收料数` +- `优先` +- `首检` +- `序检` +- `检测项目` +- `上限值` +- `下限值` +- `测量单位` +- `检验比例` +- `检具` +- `备注` +- `实测值` + +**页面按钮/状态/页签** +- `查询 缺料` +- `上一个 下一个` +- `删除当前记录 关闭` +- `上一个 下一个 保存当前记录 删除当前记录 关闭` +- `确定 关闭` +- `取 消` +- `确 定` +- `新增异常工时` +- `编辑` +- `取消` +- `关闭` +- `确定` + +**弹窗/表单重点项** +- `首检自检` +- `序检自检` +- `收检` +- `送检` +- `异常工时` +- `新增工时记录` +- `编辑任务信息` +- `退库单` +- `领料单` +- `缺料单` +- `报工结束` +- `图纸` +- `加急明细` +- `加班确认` +- `生产订单` +- `零件编码` +- `计划数量` +- `当前时间` +- `送检数` +- `操作工位` +- `操作人` +- `操作类别` +- `物料编码` +- `物料名称` +- `工序名称` +- `指派对象` +- `开始时间` +- `结束时间` +- `工作内容` +- `备注说明` + +**后台处理/外部接口** +- `存储过程:生产管理_获取人员绑定` +- `存储过程:加急订单_加急明细查询` +- `存储过程:MES_人员工时记录_获取进行中任务2` +- `存储过程:MES_人员工时记录_获取进行中任务` +- `存储过程:工时校验_获取订单列表` +- `存储过程:异常工时_新增操作记录` +- `存储过程:工时校验_获取订单工序` +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:Prog_MES_LoadProcess` +- `存储过程:MES_ProductCenter_GetTask_zp` +- `存储过程:MES_ProductTask_WorkTimeSum` +- `存储过程:生产管理_装配中心_缺料查询` +- `存储过程:MES_人员工时记录_开始` +- `存储过程:MES_人员工时记录_结束` +- `存储过程:MES_ProductTask_Rest` +- `存储过程:MES_ProductTask_SendInspection` +- `存储过程:加工中心_收检_读取收检记录` +- `存储过程:MES_QulityInspection_ReceiveCheck` +- `存储过程:加工中心_异常工时_获取操作记录列表` +- `存储过程:加工中心_修改工时_保存修改记录` +- `接口:getB1 /ProductionOrders` +- `接口:posttm /stocktask/task/issueordertask` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 + +### 21.31 设备状态 + +页面路径:`src/views/ProductionManagement/DeviceStatus/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于查看现场状态,关注工位、设备、任务是否开工、进行中或完成。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`设备名称`、`参数名称`、`equipmentType`、`dataname`、`设备`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +5. 查询后先核对关键列:`序号`、`工位`、`生产订单`、`计划号`、`销售订单`、`物料名称`、`物料编码`、`顺序`、`工序名称`、`分配数`、`上序合格数`、`加工状态`。 +6. 继续横向滚动或展开表格,核对:`收料状态`、`下序名称`、`优先`、`完成数`、`收检合格数`、`收检不合格数`、`人员名称`、`加急数量`、`任务状态`、`开工时间`、`计划开始`、`计划完成`、`备注`、`收料数`。 +7. 保存或提交成功后重新点击查询,确认页面数据已通过 `MES_登录_工位与名称_查询`、`设备管理_设备状态_查询` 等后台过程更新。 + +**查询条件/输入项** +- `设备名称` +- `参数名称` +- `equipmentType` +- `dataname` +- `设备` + +**结果表重点列** +- `序号` +- `工位` +- `生产订单` +- `计划号` +- `销售订单` +- `物料名称` +- `物料编码` +- `顺序` +- `工序名称` +- `分配数` +- `上序合格数` +- `加工状态` +- `收料状态` +- `下序名称` +- `优先` +- `完成数` +- `收检合格数` +- `收检不合格数` +- `人员名称` +- `加急数量` +- `任务状态` +- `开工时间` +- `计划开始` +- `计划完成` +- `备注` +- `收料数` + +**页面按钮/状态/页签** +- `查询` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:设备管理_设备状态_查询` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 + +### 21.32 机加中心 + +页面路径:`src/views/ProductionManagement/MachiningCenter/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面是机加生产执行主界面,操作工按工位执行收料、开工、暂停、报工、检验、退库、发料和图纸查看。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 先查看页签:`待我处理`、`我发起的`、`我已处理`;需要表格处理时进入表单/列表页签,需要看时间排布时进入日程/看板页签。 +3. 在查询区按需要填写筛选条件:`指派对象`、`班次`、`物料编号`、`订单编号`、`optor`、`订单号`、`零件编号`、`生产状态`、`工位名称`、`用户ID`、`计划号`、`销售订单`。 +4. 如果仍查不到数据,继续补充条件:`计划开工_Start`、`计划开工_End`、`partCount`、`指派数量`、`selectedOperators`、`加班人员`、`特殊加班人员`、`是否加班`、`是否休息日`、`是否法定休息日`,或清空过窄条件后重新查询。 +5. 点击页面上的查询或刷新类按钮获取最新数据;如果页面自动加载,则先核对默认列表是否符合当前业务范围。 +6. 查询后先核对关键列:`序号`、`生产订单`、`销售订单`、`物料名称`、`物料编码`、`顺序`、`工序名称`、`分配数`、`上序合格数`、`加工状态`、`收料状态`、`加急数量`。 +7. 继续横向滚动或展开表格,核对:`下序名称`、`加急`、`优先`、`首检`、`序检`、`内码`、`备注`、`指派对象`、`完成数`、`任务状态`、`计划号`、`计划开始`、`计划完成`、`开工时间`。 +8. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +9. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +10. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +11. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +12. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +13. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +14. 按业务需要点击 `上一个 下一个`,操作前先确认选中行和输入内容。 +15. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `删除当前记录 关闭`,按确认提示执行。 +16. 需要维护已有记录时先选中目标行,再点击或触发表格内 `上一个 下一个 保存当前记录 删除当前记录 关闭`,修改字段后保存并等待成功提示。 +17. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定 关闭`,修改字段后保存并等待成功提示。 +18. 出现弹窗时按弹窗标题处理:`辅助结束`、`收料`、`开始加工`、`首检自检`、`序检自检`、`收检`、`检验记录`、`'生产订单检验详情 ' + currentInspectionRecord.计划号`;弹窗关闭前确认必填项已保存。 +19. 弹窗或表单内重点填写:`工位名称`、`当前订单号`、`合同号`、`零件编号`、`分配数`、`已完成`、`生产订单`、`销售订单`、`零件编码`、`当前时间`、`辅助工件`、`操作工位`、`操作人`、`调机人员`,提交前逐项核对。 +20. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +21. 保存或提交成功后重新点击查询,确认页面数据已通过 `生产管理_加工中心_获取设备人员`、`生产管理_加工中心_获取班次信息`、`加急订单_加急明细查询`、`生产管理_获取人员绑定`、`工时校验_获取订单工序` 等后台过程更新。 +22. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 +23. 现场执行类操作必须按实际顺序处理:先确认任务和工位,再收料/开工,完成加工或装配后再报工/送检。 + +**查询条件/输入项** +- `指派对象` +- `班次` +- `物料编号` +- `订单编号` +- `optor` +- `订单号` +- `零件编号` +- `生产状态` +- `工位名称` +- `用户ID` +- `计划号` +- `销售订单` +- `计划开工_Start` +- `计划开工_End` +- `partCount` +- `指派数量` +- `selectedOperators` +- `加班人员` +- `特殊加班人员` +- `是否加班` +- `是否休息日` +- `是否法定休息日` + +**结果表重点列** +- `序号` +- `生产订单` +- `销售订单` +- `物料名称` +- `物料编码` +- `顺序` +- `工序名称` +- `分配数` +- `上序合格数` +- `加工状态` +- `收料状态` +- `加急数量` +- `下序名称` +- `加急` +- `优先` +- `首检` +- `序检` +- `内码` +- `备注` +- `指派对象` +- `完成数` +- `任务状态` +- `计划号` +- `计划开始` +- `计划完成` +- `开工时间` +- `收料数` +- `检测项目` +- `上限值` +- `下限值` +- `测量单位` +- `检验比例` +- `检具` +- `实测值` + +**页面按钮/状态/页签** +- `取 消` +- `确 定` +- `上一个 下一个` +- `删除当前记录 关闭` +- `上一个 下一个 保存当前记录 删除当前记录 关闭` +- `确定 关闭` +- `关闭` +- `新增异常工时` +- `编辑` +- `取消` +- `处理` +- `转办` +- `发起新流程` +- `查看进度` +- `完结` +- `查看详情` +- `点击上传` +- `添加审批人` +- `查询` +- `提 交` +- `确 认 完 结` +- `确定` +- `待我处理` +- `我发起的` +- `我已处理` + +**弹窗/表单重点项** +- `辅助结束` +- `收料` +- `开始加工` +- `首检自检` +- `序检自检` +- `收检` +- `检验记录` +- `'生产订单检验详情 ' + currentInspectionRecord.计划号` +- `检测详情` +- `报工` +- `异常工时` +- `新增工时记录` +- `编辑任务信息` +- `异常管控` +- `发起新流程` +- `处理任务` +- `流程进度详情` +- `转办流程` +- `完结流程` +- `上传附件` +- `退库单` +- `领料单` +- `图纸` +- `加急明细` +- `报工确认` +- `工位名称` +- `当前订单号` +- `合同号` +- `零件编号` +- `分配数` + +**后台处理/外部接口** +- `存储过程:生产管理_加工中心_获取设备人员` +- `存储过程:生产管理_加工中心_获取班次信息` +- `存储过程:加急订单_加急明细查询` +- `存储过程:生产管理_获取人员绑定` +- `存储过程:工时校验_获取订单工序` +- `存储过程:工时校验_获取订单列表` +- `存储过程:异常工时_新增操作记录` +- `存储过程:MES_操作记录_获取暂停状态` +- `存储过程:MES_操作记录_获取任务暂停状态` +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:Prog_MES_LoadProcess` +- `存储过程:查询字典` +- `存储过程:人员管理_人员信息查询_质检部门_查询` +- `存储过程:MES_ProductTask_HelpStart` +- `存储过程:Prog_MES_GetProductOrder_byAID` +- `存储过程:MES_ProductCenter_GetTask` +- `存储过程:MES_ProductTask_WorkTimeSum` +- `存储过程:MES_ProductTask_HelpEnd` +- `存储过程:MES_ProductTask_MaterialRecieved` +- `存储过程:MES_ProductTask_Rest` +- `接口:posttm /stocktask/task/receiptordertask` +- `接口:getB1 /ProductionOrders` +- `接口:posttm /stocktask/task/issueordertask` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 + +### 21.33 外协管理 + +页面路径:`src/views/ProductionManagement/OutsourceMange/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于外协任务管理,处理外协派工、供应商、发料、收料、质检记录和 SAP 采购请求。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`外协备注`、`单重`、`打印数量`、`订单号`、`产品编码`、`产品名称`、`工序名称`、`派工状态`、`订单状态`、`执行状态`、`计划号`、`optor`。 +3. 如果仍查不到数据,继续补充条件:`recievCount`、`备注`、`order编号`、`plannum`、`productCode`、`itemName`、`processName`、`workstate`、`orderstate`、`dostate`,或清空过窄条件后重新查询。 +4. 点击 `查询 派工并同步SAP` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`selection`、`序号`、`生产订单`、`计划号`、`工序名称`、`物料名称`、`同步状态`、`上序合格数`、`指派数量`、`打印数量`、`发料数量`、`收货数量`。 +6. 继续横向滚动或展开表格,核对:`备注`、`单重`、`物料编码`、`打印次数`、`计划开始时间`、`计划完成时间`、`操作`、`时间`、`数量`。 +7. 需要留存或流转时点击 `打印`,导出/打印前确认当前查询条件和选中记录正确。 +8. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `发料` 提交。 +9. 按业务需要点击 `收货`,操作前先确认选中行和输入内容。 +10. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +11. 按业务需要点击 `历史记录`,操作前先确认选中行和输入内容。 +12. 需要查看明细时点击 `查看图纸`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +13. 需要查看明细时点击 `工艺图纸`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +14. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +15. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +16. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +17. 出现弹窗时按弹窗标题处理:`发料`、`收货`、`编辑`、`历史发料`、`图纸`;弹窗关闭前确认必填项已保存。 +18. 弹窗或表单内重点填写:`生产订单`、`销售订单`、`物料编号`、`分配数`、`上序合格数`、`已发料`、`发料工位`、`本次发料`、`操作人`、`发料数`、`已收货`、`本次收货`、`打印数量`、`单重`,提交前逐项核对。 +19. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +20. 保存或提交成功后重新点击查询,确认页面数据已通过 `生产管理_外协管理_外协历史查询`、`计划排产_派工`、`生产管理_外协管理_更新打印次数`、`生产管理_外协管理_更新备注`、`工艺管理_图纸维护_查看图纸` 等后台过程更新。 +21. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 + +**查询条件/输入项** +- `外协备注` +- `单重` +- `打印数量` +- `订单号` +- `产品编码` +- `产品名称` +- `工序名称` +- `派工状态` +- `订单状态` +- `执行状态` +- `计划号` +- `optor` +- `recievCount` +- `备注` +- `order编号` +- `plannum` +- `productCode` +- `itemName` +- `processName` +- `workstate` +- `orderstate` +- `dostate` + +**结果表重点列** +- `selection` +- `序号` +- `生产订单` +- `计划号` +- `工序名称` +- `物料名称` +- `同步状态` +- `上序合格数` +- `指派数量` +- `打印数量` +- `发料数量` +- `收货数量` +- `备注` +- `单重` +- `物料编码` +- `打印次数` +- `计划开始时间` +- `计划完成时间` +- `操作` +- `时间` +- `数量` + +**页面按钮/状态/页签** +- `查询 派工并同步SAP` +- `打印` +- `发料` +- `收货` +- `编辑` +- `历史记录` +- `查看图纸` +- `工艺图纸` +- `取 消` +- `确 定` +- `关 闭` +- `关闭` + +**弹窗/表单重点项** +- `发料` +- `收货` +- `编辑` +- `历史发料` +- `图纸` +- `生产订单` +- `销售订单` +- `物料编号` +- `分配数` +- `上序合格数` +- `已发料` +- `发料工位` +- `本次发料` +- `操作人` +- `发料数` +- `已收货` +- `本次收货` +- `打印数量` +- `单重` +- `备注` + +**后台处理/外部接口** +- `存储过程:生产管理_外协管理_外协历史查询` +- `存储过程:计划排产_派工` +- `存储过程:生产管理_外协管理_更新打印次数` +- `存储过程:生产管理_外协管理_更新备注` +- `存储过程:工艺管理_图纸维护_查看图纸` +- `存储过程:工艺管理_工艺维护_查看图纸` +- `存储过程:生产管理_外协管理_查询外协全部` +- `存储过程:生产管理_外协管理_外协发料查询` +- `存储过程:生产管理_外协管理_外协发料保存` +- `存储过程:生产管理_外协管理_外协收料保存` +- `接口:postB1 /PurchaseRequests` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 + +### 21.34 外协报表 + +页面路径:`src/views/ProductionManagement/OutsourceSheet/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于外协报表查询和导出,跟踪外协订单、供应商、数量、质检和结算状态。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`订单号`、`产品编码`、`产品名称`、`供应商`、`状态过滤`、`订单编号`、`order编号`、`contract编号`、`productCode`、`productName`、`QualityStatus`、`supplierName`。 +3. 如果仍查不到数据,继续补充条件:`statusFilter`、`合同号`、`零件编码`、`零件名称`、`质检类型`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +6. 查询后先核对关键列:`selection`、`供应商`、`订单号`、`计划号`、`合同号`、`零件编码`、`零件名称`、`工序名称`、`材质`、`数量`、`单价`、`金额`。 +7. 继续横向滚动或展开表格,核对:`发料日期`、`要求到货日期`、`外协预计到货`、`收货日期`、`收货数量`、`合格数量`、`报废数量`、`开票状态`、`发料数量`、`收料数量`。 +8. 需要留存或流转时点击 `Excel导出`,导出/打印前确认当前查询条件和选中记录正确。 +9. 保存或提交成功后重新点击查询,确认页面数据已通过 `生产管理_外协报表_导出`、`系统管理_人员管理_所有有效人员查询`、`工时校验_获取订单列表`、`工时校验_获取订单工序`、`生产管理_外协报表_查询` 等后台过程更新。 + +**查询条件/输入项** +- `订单号` +- `产品编码` +- `产品名称` +- `供应商` +- `状态过滤` +- `订单编号` +- `order编号` +- `contract编号` +- `productCode` +- `productName` +- `QualityStatus` +- `supplierName` +- `statusFilter` +- `合同号` +- `零件编码` +- `零件名称` +- `质检类型` + +**结果表重点列** +- `selection` +- `供应商` +- `订单号` +- `计划号` +- `合同号` +- `零件编码` +- `零件名称` +- `工序名称` +- `材质` +- `数量` +- `单价` +- `金额` +- `发料日期` +- `要求到货日期` +- `外协预计到货` +- `收货日期` +- `收货数量` +- `合格数量` +- `报废数量` +- `开票状态` +- `发料数量` +- `收料数量` + +**页面按钮/状态/页签** +- `查询` +- `Excel导出` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:生产管理_外协报表_导出` +- `存储过程:系统管理_人员管理_所有有效人员查询` +- `存储过程:工时校验_获取订单列表` +- `存储过程:工时校验_获取订单工序` +- `存储过程:生产管理_外协报表_查询` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 + +### 21.35 人员绑定 + +页面路径:`src/views/ProductionManagement/PersonnelBinding/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于维护人员与工位绑定关系,控制或提示人员可操作的工位。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`searchWorkstationName`、`selectedPersonnel`、`工位名称`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 查询后先核对关键列:`序号`、`工位名称`、`工位号`、`绑定人员`、`操作`。 +5. 按业务需要点击 `绑定人员`,操作前先确认选中行和输入内容。 +6. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +7. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +8. 出现弹窗时按弹窗标题处理:`绑定人员`;弹窗关闭前确认必填项已保存。 +9. 保存或提交成功后重新点击查询,确认页面数据已通过 `MES_登录_工位与名称_查询`、`系统管理_人员管理_所有有效人员查询`、`系统管理_工位管理_工位绑定人员查询`、`系统管理_工位管理_工位绑定人员保存` 等后台过程更新。 + +**查询条件/输入项** +- `searchWorkstationName` +- `selectedPersonnel` +- `工位名称` + +**结果表重点列** +- `序号` +- `工位名称` +- `工位号` +- `绑定人员` +- `操作` + +**页面按钮/状态/页签** +- `查询` +- `绑定人员` +- `确 定` +- `取 消` + +**弹窗/表单重点项** +- `绑定人员` + +**后台处理/外部接口** +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:系统管理_人员管理_所有有效人员查询` +- `存储过程:系统管理_工位管理_工位绑定人员查询` +- `存储过程:系统管理_工位管理_工位绑定人员保存` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 + +### 21.36 拣配任务 + +页面路径:`src/views/ProductionManagement/PickingTask/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于生产领料/拣配任务查询与处理,核对订单物料和库存任务。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`物料编号`、`合同号`、`订单号`、`零件编号`、`位置`、`contract编号`、`order编号`、`part编号`、`attribute`、`positionstate`、`finishstate`、`销售订单`。 +3. 如果仍查不到数据,继续补充条件:`生产订单`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`序号`、`项目`、`计划号`、`生产订单号`、`物料名称`、`产成品物料编号`、`计划生产数`、`加急数量`、`计划数量`、`拣配日期`、`预计齐套时间`、`检验操作人`。 +6. 继续横向滚动或展开表格,核对:`检验时间`、`操作`。 +7. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `转至 完成 --> 生产订单 加急数量 物料编号 关闭` 提交。 +8. 出现弹窗时按弹窗标题处理:`加急明细`;弹窗关闭前确认必填项已保存。 +9. 保存或提交成功后重新点击查询,确认页面数据已通过 `加急订单_加急明细查询`、`生产管理_拣配任务_查询` 等后台过程更新。 + +**查询条件/输入项** +- `物料编号` +- `合同号` +- `订单号` +- `零件编号` +- `位置` +- `contract编号` +- `order编号` +- `part编号` +- `attribute` +- `positionstate` +- `finishstate` +- `销售订单` +- `生产订单` + +**结果表重点列** +- `序号` +- `项目` +- `计划号` +- `生产订单号` +- `物料名称` +- `产成品物料编号` +- `计划生产数` +- `加急数量` +- `计划数量` +- `拣配日期` +- `预计齐套时间` +- `检验操作人` +- `检验时间` +- `操作` + +**页面按钮/状态/页签** +- `查询` +- `转至 完成 --> 生产订单 加急数量 物料编号 关闭` + +**弹窗/表单重点项** +- `加急明细` + +**后台处理/外部接口** +- `存储过程:加急订单_加急明细查询` +- `存储过程:生产管理_拣配任务_查询` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 + +### 21.37 生产计划跟踪 + +页面路径:`src/views/ProductionManagement/ProductionPlanTrack/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于跟踪生产/装配计划执行进度,查看计划、完成、延期和异常情况。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`物料编号`、`订单号`、`物料类型`、`合同号`、`产品编码`、`产品名称`、`工序名称`、`计划开始1`、`计划开始2`、`计划完成1`、`计划完成2`、`要求完工日期1`。 +3. 如果仍查不到数据,继续补充条件:`要求完工日期2`、`排产状态`、`自制件属性`、`指派对象`、`计划号`、`加急状态`、`是否外协`、`订单行号`、`订单拆分内码`、`优先级`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`expand`、`序号`、`工序名称`、`计划数量`、`指派对象`、`外协`、`计划开始时间`、`计划结束时间`、`实际开始时间`、`实际结束时间`、`完成进度`、`完成数量`。 +6. 继续横向滚动或展开表格,核对:`外协发料数量`、`合格数`、`不良数`、`任务状态`、`加工状态`、`销售订单`、`计划号`、`生产订单`、`产品编码`、`产品名称`、`加急数量`、`入库数量`、`要求完工日`、`排产`。 +7. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +8. 出现弹窗时按弹窗标题处理:`加急明细`;弹窗关闭前确认必填项已保存。 +9. 保存或提交成功后重新点击查询,确认页面数据已通过 `加急订单_加急明细查询`、`生产管理_生产计划跟踪`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` 等后台过程更新。 + +**查询条件/输入项** +- `物料编号` +- `订单号` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `计划开始1` +- `计划开始2` +- `计划完成1` +- `计划完成2` +- `要求完工日期1` +- `要求完工日期2` +- `排产状态` +- `自制件属性` +- `指派对象` +- `计划号` +- `加急状态` +- `是否外协` +- `订单行号` +- `订单拆分内码` +- `优先级` + +**结果表重点列** +- `expand` +- `序号` +- `工序名称` +- `计划数量` +- `指派对象` +- `外协` +- `计划开始时间` +- `计划结束时间` +- `实际开始时间` +- `实际结束时间` +- `完成进度` +- `完成数量` +- `外协发料数量` +- `合格数` +- `不良数` +- `任务状态` +- `加工状态` +- `销售订单` +- `计划号` +- `生产订单` +- `产品编码` +- `产品名称` +- `加急数量` +- `入库数量` +- `要求完工日` +- `排产` +- `拣配` +- `开工` +- `终检` +- `加急` +- `优先级` +- `当前序` +- `工艺路线` + +**页面按钮/状态/页签** +- `查询` +- `关闭` + +**弹窗/表单重点项** +- `加急明细` + +**后台处理/外部接口** +- `存储过程:加急订单_加急明细查询` +- `存储过程:生产管理_生产计划跟踪` +- `存储过程:MES_OrderPlanned_DescriptionEdit` +- `存储过程:Prog_MES_LoadStations` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 + +### 21.38 生产任务管理 + +页面路径:`src/views/ProductionManagement/ProductionTaskManage/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于生产/装配任务管理,查询任务、查看工时、维护派工和任务说明。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 先查看页签:`表单`、`日程`;需要表格处理时进入表单/列表页签,需要看时间排布时进入日程/看板页签。 +3. 在查询区按需要填写筛选条件:`订单号`、`订单行号`、`订单拆分内码`、`指派对象编号`、`指派对象`、`指派数量`、`派工特殊说明`、`计划开始时间`、`计划完成时间`、`最晚开始时间`、`计划开工_Start`、`计划开工_End`。 +4. 如果仍查不到数据,继续补充条件:`物料类型`、`合同号`、`产品编码`、`产品名称`、`工序名称`、`性质`、`要求完工日期1`、`要求完工日期2`、`排产状态`、`工位`,或清空过窄条件后重新查询。 +5. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +6. 查询后先核对关键列:`序号`、`销售订单`、`生产订单`、`零件编码`、`产品名称`、`计划数`、`工序名称`、`性质`、`总工时`、`占用情况`、`指派对象编号`、`指派对象`。 +7. 继续横向滚动或展开表格,核对:`指派数量`、`计划开始时间`、`计划完成时间`、`最晚开始时间`、`要求完工日期`、`可执行`、`收料`、`开工`、`首检`、`巡检`、`外协`、`派工调整`、`外协通知`、`进度`。 +8. 按业务需要点击 `表单`,操作前先确认选中行和输入内容。 +9. 按业务需要点击 `日程`,操作前先确认选中行和输入内容。 +10. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `派工调整` 提交。 +11. 按业务需要点击 `外协通知`,操作前先确认选中行和输入内容。 +12. 按业务需要点击 `已发起`,操作前先确认选中行和输入内容。 +13. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +14. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +15. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +16. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +17. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +18. 出现弹窗时按弹窗标题处理:`派工调整`、`编辑任务信息`;弹窗关闭前确认必填项已保存。 +19. 弹窗或表单内重点填写:`指派对象`、`分配数量`、`计划开始时间`、`计划完成时间`、`最晚开始时间`、`派工特殊说明`、`优先级`、`未完成说明`、`派工特殊备注`,提交前逐项核对。 +20. 进入日程页后,单击任务查看详情;拖拽任务可调整计划开始时间,拉伸任务可调整计划完成时间,系统提示确认后才会保存。 +21. 日程保存失败或取消时任务会恢复原日期;保存成功后回到表单页重新查询,核对计划开始和计划完成是否同步。 +22. 保存或提交成功后重新点击查询,确认页面数据已通过 `MES_登录_工位与名称_查询`、`MES_OrderPlanned_SingleTaskPlanned`、`MES_ProductTask_WorkTimeSum`、`MES_ProductAdmin_Query`、`Prog_MES_LoadStations` 等后台过程更新。 + +**查询条件/输入项** +- `订单号` +- `订单行号` +- `订单拆分内码` +- `指派对象编号` +- `指派对象` +- `指派数量` +- `派工特殊说明` +- `计划开始时间` +- `计划完成时间` +- `最晚开始时间` +- `计划开工_Start` +- `计划开工_End` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `性质` +- `要求完工日期1` +- `要求完工日期2` +- `排产状态` +- `工位` + +**结果表重点列** +- `序号` +- `销售订单` +- `生产订单` +- `零件编码` +- `产品名称` +- `计划数` +- `工序名称` +- `性质` +- `总工时` +- `占用情况` +- `指派对象编号` +- `指派对象` +- `指派数量` +- `计划开始时间` +- `计划完成时间` +- `最晚开始时间` +- `要求完工日期` +- `可执行` +- `收料` +- `开工` +- `首检` +- `巡检` +- `外协` +- `派工调整` +- `外协通知` +- `进度` +- `报废数` +- `序检` +- `测试` +- `入库` +- `优先级` +- `未完成说明` +- `派工特殊备注` +- `编辑` + +**页面按钮/状态/页签** +- `查询` +- `表单` +- `日程` +- `派工调整` +- `外协通知` +- `已发起` +- `编辑` +- `取 消` +- `确 定` +- `表单` +- `日程` + +**弹窗/表单重点项** +- `派工调整` +- `编辑任务信息` +- `指派对象` +- `分配数量` +- `计划开始时间` +- `计划完成时间` +- `最晚开始时间` +- `派工特殊说明` +- `优先级` +- `未完成说明` +- `派工特殊备注` + +**后台处理/外部接口** +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:MES_OrderPlanned_SingleTaskPlanned` +- `存储过程:MES_ProductTask_WorkTimeSum` +- `存储过程:MES_ProductAdmin_Query` +- `存储过程:Prog_MES_LoadStations` +- `存储过程:Prog_MES_SingleTaskPlanned` +- `存储过程:MES_OrderPlanned_DescriptionEdit` +- `存储过程:MES_ProductTask_Notice` +- `存储过程:MES_OrderPlanned_EditTaskPlanned` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 +- 日程拖拽属于直接改计划时间的操作,拖拽前应确认任务未被现场执行锁定。 + +### 21.39 生产任务汇总 + +页面路径:`src/views/ProductionManagement/ProductionTasksSum/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于生产/装配任务汇总,按订单、人员、工位、状态和时间统计任务执行情况。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 先查看页签:`表单`、`日程`;需要表格处理时进入表单/列表页签,需要看时间排布时进入日程/看板页签。 +3. 在查询区按需要填写筛选条件:`计划开工_Start`、`计划开工_End`、`订单号`、`物料类型`、`合同号`、`产品编码`、`产品名称`、`工序名称`、`性质`、`要求完工日期1`、`要求完工日期2`、`排产状态`。 +4. 如果仍查不到数据,继续补充条件:`工位`、`订单行号`、`订单拆分内码`、`优先级`、`未完成说明`、`派工特殊说明`、`计划开始时间`、`计划完成时间`、`contract编号`、`order编号`,或清空过窄条件后重新查询。 +5. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +6. 查询后先核对关键列:`序号`、`销售订单`、`生产订单`、`零件编码`、`产品名称`、`计划数`、`工序名称`、`总工时`、`占用情况`、`计划开始时间`、`计划完成时间`、`最晚开始时间`。 +7. 继续横向滚动或展开表格,核对:`要求完工日期`、`收料`、`进度`、`序检`、`优先级`、`未完成说明`、`派工特殊备注`、`编辑`、`最后编辑人`、`最后编辑时间`。 +8. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +9. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +10. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +11. 出现弹窗时按弹窗标题处理:`编辑任务信息`;弹窗关闭前确认必填项已保存。 +12. 弹窗或表单内重点填写:`优先级`、`未完成说明`、`派工特殊备注`,提交前逐项核对。 +13. 进入日程页后,单击任务查看详情;拖拽任务可调整计划开始时间,拉伸任务可调整计划完成时间,系统提示确认后才会保存。 +14. 日程保存失败或取消时任务会恢复原日期;保存成功后回到表单页重新查询,核对计划开始和计划完成是否同步。 +15. 保存或提交成功后重新点击查询,确认页面数据已通过 `MES_登录_工位与名称_查询`、`MES_ProductTask_WorkTimeSum`、`生产管理_生产任务汇总`、`Prog_MES_LoadStations`、`MES_OrderPlanned_DescriptionEdit` 等后台过程更新。 + +**查询条件/输入项** +- `计划开工_Start` +- `计划开工_End` +- `订单号` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `性质` +- `要求完工日期1` +- `要求完工日期2` +- `排产状态` +- `工位` +- `订单行号` +- `订单拆分内码` +- `优先级` +- `未完成说明` +- `派工特殊说明` +- `计划开始时间` +- `计划完成时间` +- `contract编号` +- `order编号` + +**结果表重点列** +- `序号` +- `销售订单` +- `生产订单` +- `零件编码` +- `产品名称` +- `计划数` +- `工序名称` +- `总工时` +- `占用情况` +- `计划开始时间` +- `计划完成时间` +- `最晚开始时间` +- `要求完工日期` +- `收料` +- `进度` +- `序检` +- `优先级` +- `未完成说明` +- `派工特殊备注` +- `编辑` +- `最后编辑人` +- `最后编辑时间` + +**页面按钮/状态/页签** +- `查询` +- `编辑` +- `取 消` +- `确 定` +- `表单` +- `日程` + +**弹窗/表单重点项** +- `编辑任务信息` +- `优先级` +- `未完成说明` +- `派工特殊备注` + +**后台处理/外部接口** +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:MES_ProductTask_WorkTimeSum` +- `存储过程:生产管理_生产任务汇总` +- `存储过程:Prog_MES_LoadStations` +- `存储过程:MES_OrderPlanned_DescriptionEdit` +- `存储过程:MES_OrderPlanned_EditTaskPlanned` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 +- 日程拖拽属于直接改计划时间的操作,拖拽前应确认任务未被现场执行锁定。 + +### 21.40 销售外协管理 + +页面路径:`src/views/ProductionManagement/SaleOutsourceMange/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于外协任务管理,处理外协派工、供应商、发料、收料、质检记录和 SAP 采购请求。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`外协备注`、`单重`、`打印数量`、`订单号`、`产品编码`、`产品名称`、`工序名称`、`派工状态`、`发料状态`、`订单状态`、`执行状态`、`计划号`。 +3. 如果仍查不到数据,继续补充条件:`optor`、`recievCount`、`备注`、`order编号`、`plannum`、`productCode`、`itemName`、`processName`、`issuingstate`、`workstate`,或清空过窄条件后重新查询。 +4. 点击 `查询 派工并同步SAP` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`selection`、`序号`、`生产订单`、`计划号`、`物料名称`、`工序名称`、`物料编码`、`计划开始时间`、`计划完成时间`、`同步状态`、`上序合格数`、`指派数量`。 +6. 继续横向滚动或展开表格,核对:`打印数量`、`发料数量`、`收货数量`、`单重`、`打印次数`、`备注`、`操作`、`类型`、`时间`、`数量`、`操作人`、`质检类型`、`检验数量`、`合格数`。 +7. 需要留存或流转时点击 `打印`,导出/打印前确认当前查询条件和选中记录正确。 +8. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `发料` 提交。 +9. 按业务需要点击 `收货`,操作前先确认选中行和输入内容。 +10. 按业务需要点击 `更新`,操作前先确认选中行和输入内容。 +11. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +12. 按业务需要点击 `历史记录`,操作前先确认选中行和输入内容。 +13. 需要查看明细时点击 `查看图纸`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +14. 需要查看明细时点击 `工艺图纸`,在弹窗或新区域核对图纸、明细、进度、记录或关联单据。 +15. 按业务需要点击 `收发记录`,操作前先确认选中行和输入内容。 +16. 按业务需要点击 `质检记录`,操作前先确认选中行和输入内容。 +17. 出现弹窗时按弹窗标题处理:`发料`、`收货`、`编辑`、`收发记录`、`质检记录`、`图纸`;弹窗关闭前确认必填项已保存。 +18. 弹窗或表单内重点填写:`生产订单`、`销售订单`、`物料编号`、`分配数`、`上序合格数`、`已发料`、`发料工位`、`本次发料`、`操作人`、`发料数`、`已收货`、`本次收货`、`打印数量`、`单重`,提交前逐项核对。 +19. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +20. 保存或提交成功后重新点击查询,确认页面数据已通过 `计划排产_重置派工状态`、`生产管理_外协管理_外协历史查询`、`计划排产_派工`、`生产管理_外协管理_更新打印次数`、`生产管理_外协管理_更新备注` 等后台过程更新。 +21. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 + +**查询条件/输入项** +- `外协备注` +- `单重` +- `打印数量` +- `订单号` +- `产品编码` +- `产品名称` +- `工序名称` +- `派工状态` +- `发料状态` +- `订单状态` +- `执行状态` +- `计划号` +- `optor` +- `recievCount` +- `备注` +- `order编号` +- `plannum` +- `productCode` +- `itemName` +- `processName` +- `issuingstate` +- `workstate` + +**结果表重点列** +- `selection` +- `序号` +- `生产订单` +- `计划号` +- `物料名称` +- `工序名称` +- `物料编码` +- `计划开始时间` +- `计划完成时间` +- `同步状态` +- `上序合格数` +- `指派数量` +- `打印数量` +- `发料数量` +- `收货数量` +- `单重` +- `打印次数` +- `备注` +- `操作` +- `类型` +- `时间` +- `数量` +- `操作人` +- `质检类型` +- `检验数量` +- `合格数` +- `不合格数` + +**页面按钮/状态/页签** +- `查询 派工并同步SAP` +- `打印` +- `发料` +- `收货` +- `更新` +- `编辑` +- `历史记录` +- `查看图纸` +- `工艺图纸` +- `收发记录` +- `质检记录` +- `取 消` +- `确 定` +- `关 闭` +- `关闭` + +**弹窗/表单重点项** +- `发料` +- `收货` +- `编辑` +- `收发记录` +- `质检记录` +- `图纸` +- `生产订单` +- `销售订单` +- `物料编号` +- `分配数` +- `上序合格数` +- `已发料` +- `发料工位` +- `本次发料` +- `操作人` +- `发料数` +- `已收货` +- `本次收货` +- `打印数量` +- `单重` +- `备注` + +**后台处理/外部接口** +- `存储过程:计划排产_重置派工状态` +- `存储过程:生产管理_外协管理_外协历史查询` +- `存储过程:计划排产_派工` +- `存储过程:生产管理_外协管理_更新打印次数` +- `存储过程:生产管理_外协管理_更新备注` +- `存储过程:工艺管理_图纸维护_查看图纸` +- `存储过程:工艺管理_工艺维护_查看图纸` +- `存储过程:生产管理_外协管理_查询外协` +- `存储过程:生产管理_外协管理_外协发料查询` +- `存储过程:生产管理_外协管理_查询外协历史记录` +- `存储过程:生产管理_外协管理_查询质检记录` +- `存储过程:生产管理_外协管理_外协发料保存` +- `存储过程:生产管理_外协管理_外协收料保存` +- `接口:postB1 /PurchaseRequests` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 + +### 21.41 班次管理 + +页面路径:`src/views/ProductionManagement/ShiftManagement/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于维护班次、班次人员和排班基础数据。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`selectedPersonnel`、`班次名称`、`开始时间`、`时间`。 +3. 点击页面上的查询或刷新类按钮获取最新数据;如果页面自动加载,则先核对默认列表是否符合当前业务范围。 +4. 查询后先核对关键列:`序号`、`班次`、`时间`、`绑定人员`、`操作`。 +5. 需要新增时点击 `添加新班次`,在弹窗中逐项填写必填字段,确认编码、名称、状态等基础信息后保存。 +6. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +7. 需要维护已有记录时先选中目标行,再点击或触发表格内 `保存`,修改字段后保存并等待成功提示。 +8. 按业务需要点击 `绑定`,操作前先确认选中行和输入内容。 +9. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `删除`,按确认提示执行。 +10. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +11. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +12. 出现弹窗时按弹窗标题处理:`绑定人员`;弹窗关闭前确认必填项已保存。 +13. 保存或提交成功后重新点击查询,确认页面数据已通过 `生产管理_班次管理_班次列表查询`、`系统管理_人员管理_所有有效人员查询`、`生产管理_班次管理_班次绑定人员查询`、`生产管理_班次管理_班次保存`、`生产管理_班次管理_班次删除` 等后台过程更新。 + +**查询条件/输入项** +- `selectedPersonnel` +- `班次名称` +- `开始时间` +- `时间` + +**结果表重点列** +- `序号` +- `班次` +- `时间` +- `绑定人员` +- `操作` + +**页面按钮/状态/页签** +- `添加新班次` +- `编辑` +- `保存` +- `取消` +- `绑定` +- `删除` +- `确 定` +- `取 消` + +**弹窗/表单重点项** +- `绑定人员` + +**后台处理/外部接口** +- `存储过程:生产管理_班次管理_班次列表查询` +- `存储过程:系统管理_人员管理_所有有效人员查询` +- `存储过程:生产管理_班次管理_班次绑定人员查询` +- `存储过程:生产管理_班次管理_班次保存` +- `存储过程:生产管理_班次管理_班次删除` +- `存储过程:生产管理_班次管理_班次绑定人员保存` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 + +### 21.42 工时报表 + +页面路径:`src/views/ProductionManagement/Timesheet/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于查询工时记录,按人员、设备、任务、订单和日期统计工时。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 先查看页签:`项目工时`、`作业者工时`、`任务工时`、`设备工时`;需要表格处理时进入表单/列表页签,需要看时间排布时进入日程/看板页签。 +3. 在查询区按需要填写筛选条件:`contract编号`、`operator`、`productCode`、`processName`、`order编号`、`startDate`、`endDate`、`合同号`、`作业者`、`产品编码`、`工序`、`订单号`。 +4. 如果仍查不到数据,继续补充条件:`选择开始日期`、`选择日期`,或清空过窄条件后重新查询。 +5. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +6. 查询后先核对关键列:`合同号`、`产品名称`、`产品编码`、`订单编号`、`工序名称`、`操作人`、`计划/完成`、`报工数量`、`计划开始`、`计划完成`、`工时(h)`、`操作人/日期`。 +7. 继续横向滚动或展开表格,核对:`报工次数`、`订单号`、`开始时间`、`结束时间`、`类型`、`工序说明`、`异常说明`。 +8. 如果页面左侧或上方有树形结构,先选中组织、物料、菜单或产品节点,再查看右侧列表;新增子节点前确认父节点选中正确。 +9. 需要留存或流转时点击 `Excel导出`,导出/打印前确认当前查询条件和选中记录正确。 +10. 保存或提交成功后重新点击查询,确认页面数据已通过 `工时统计_项目工时_查询`、`工时统计_作业者工时_查询`、`工时统计_设备工时_查询`、`工时统计_任务工时_查询` 等后台过程更新。 + +**查询条件/输入项** +- `contract编号` +- `operator` +- `productCode` +- `processName` +- `order编号` +- `startDate` +- `endDate` +- `合同号` +- `作业者` +- `产品编码` +- `工序` +- `订单号` +- `选择开始日期` +- `选择日期` + +**结果表重点列** +- `合同号` +- `产品名称` +- `产品编码` +- `订单编号` +- `工序名称` +- `操作人` +- `计划/完成` +- `报工数量` +- `计划开始` +- `计划完成` +- `工时(h)` +- `操作人/日期` +- `报工次数` +- `订单号` +- `开始时间` +- `结束时间` +- `类型` +- `工序说明` +- `异常说明` + +**页面按钮/状态/页签** +- `查询` +- `Excel导出` +- `项目工时` +- `作业者工时` +- `任务工时` +- `设备工时` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:工时统计_项目工时_查询` +- `存储过程:工时统计_作业者工时_查询` +- `存储过程:工时统计_设备工时_查询` +- `存储过程:工时统计_任务工时_查询` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 + +### 21.43 加急任务 + +页面路径:`src/views/ProductionManagement/Urgent/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于维护加急任务,跟踪加急订单、加急数量和完成情况。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`物料编号`、`合同号`、`订单号`、`零件编号`、`转至状态`、`完成状态`、`contract编号`、`order编号`、`part编号`、`attribute`、`changstate`、`finishstate`。 +3. 如果仍查不到数据,继续补充条件:`销售订单`、`生产订单`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`序号`、`销售订单`、`生产订单`、`物料名称`、`物料编码`、`工序名称`、`计划生产数`、`加急数量`、`收检数量`、`合格数`、`不合格`、`检验操作人`。 +6. 继续横向滚动或展开表格,核对:`检验时间`、`操作`。 +7. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `转至 完成 生产订单 加急数量 物料编号 关闭` 提交。 +8. 出现弹窗时按弹窗标题处理:`加急明细`;弹窗关闭前确认必填项已保存。 +9. 保存或提交成功后重新点击查询,确认页面数据已通过 `加急订单_加急明细查询`、`生产管理_加急件管理查询`、`生产管理_加急件管理_更新转至`、`生产管理_加急件管理_更新完成` 等后台过程更新。 + +**查询条件/输入项** +- `物料编号` +- `合同号` +- `订单号` +- `零件编号` +- `转至状态` +- `完成状态` +- `contract编号` +- `order编号` +- `part编号` +- `attribute` +- `changstate` +- `finishstate` +- `销售订单` +- `生产订单` + +**结果表重点列** +- `序号` +- `销售订单` +- `生产订单` +- `物料名称` +- `物料编码` +- `工序名称` +- `计划生产数` +- `加急数量` +- `收检数量` +- `合格数` +- `不合格` +- `检验操作人` +- `检验时间` +- `操作` + +**页面按钮/状态/页签** +- `查询` +- `转至 完成 生产订单 加急数量 物料编号 关闭` + +**弹窗/表单重点项** +- `加急明细` + +**后台处理/外部接口** +- `存储过程:加急订单_加急明细查询` +- `存储过程:生产管理_加急件管理查询` +- `存储过程:生产管理_加急件管理_更新转至` +- `存储过程:生产管理_加急件管理_更新完成` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 + +### 21.44 工时查询 + +页面路径:`src/views/ProductionManagement/Workhours/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面为业务页面,用户按查询条件筛选数据,在列表或弹窗中查看明细,并按页面按钮完成维护、提交或状态更新。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 先查看页签:`工序工时`;需要表格处理时进入表单/列表页签,需要看时间排布时进入日程/看板页签。 +3. 在查询区按需要填写筛选条件:`contract编号`、`productCode`、`order编号`、`datanum`、`startDate`、`endDate`、`合同号`、`产品编码`、`订单号`、`数据条数`、`选择开始日期`、`选择日期`。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`任务描述`、`报工次数`、`报工数量`、`工位名称`、`实际工时`、`辅助工时`、`平均程序工时`、`平均实际工时`、`平均辅助工时`、`工艺工时`、`合同号`、`订单号`。 +6. 继续横向滚动或展开表格,核对:`产品编码`、`产品名称`、`工序名称`。 +7. 如果页面左侧或上方有树形结构,先选中组织、物料、菜单或产品节点,再查看右侧列表;新增子节点前确认父节点选中正确。 +8. 保存或提交成功后重新点击查询,确认页面数据已通过 `生产管理_工时查询_工序工时_查询` 等后台过程更新。 + +**查询条件/输入项** +- `contract编号` +- `productCode` +- `order编号` +- `datanum` +- `startDate` +- `endDate` +- `合同号` +- `产品编码` +- `订单号` +- `数据条数` +- `选择开始日期` +- `选择日期` + +**结果表重点列** +- `任务描述` +- `报工次数` +- `报工数量` +- `工位名称` +- `实际工时` +- `辅助工时` +- `平均程序工时` +- `平均实际工时` +- `平均辅助工时` +- `工艺工时` +- `合同号` +- `订单号` +- `产品编码` +- `产品名称` +- `工序名称` + +**页面按钮/状态/页签** +- `查询` +- `工序工时` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:生产管理_工时查询_工序工时_查询` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 + +### 21.45 工时校验(副本) + +页面路径:`src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于工时校验和 SAP 提交,用户核对报工记录后批量或单条校验并上传相关单据。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`订单编号`、`人员`、`taskid`、`taskorder`、`checker`、`timeRange`、`checkStatus`、`abnormalstatus`、`natureStatus`、`addwork`、`产品编码`、`产品名称`。 +3. 如果仍查不到数据,继续补充条件:`工序名称`、`工位名称`、`操作人`、`操作类别`、`操作数值`、`开始时间`、`结束时间`、`加工工时`、`总时长`、`工艺顺序`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +6. 查询后先核对关键列:`selection`、`序号`、`工时ID`、`人员`、`生产订单`、`物料编码`、`物料名称`、`工序名称`、`工位名称`、`报工类型`、`数量`、`开始时间`。 +7. 继续横向滚动或展开表格,核对:`结束时间`、`设备工时`、`人员工时`、`绑定设备数`、`工序说明`、`异常说明`、`校验状态`、`最后编辑人`、`最后编辑时间`、`操作`、`累计分钟`、`设备状态`、`累计秒数`。 +8. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `一键校验` 提交。 +9. 需要新增时点击 `新增工时记录`,在弹窗中逐项填写必填字段,确认编码、名称、状态等基础信息后保存。 +10. 按业务需要点击 `设备工时`,操作前先确认选中行和输入内容。 +11. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +12. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +13. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +14. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +15. 出现弹窗时按弹窗标题处理:`currentTask.已校验 ? '查看任务信息' : '编辑任务信息'`、`设备工时`、`新增工时记录`;弹窗关闭前确认必填项已保存。 +16. 弹窗或表单内重点填写:`生产订单`、`物料编码`、`物料名称`、`工序名称`、`工位名称`、`操作人`、`操作类别`、`操作数值`、`开始时间`、`结束时间`、`加工工时`、`人员工时`、`工序顺序`、`工作内容`,提交前逐项核对。 +17. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +18. 保存或提交成功后重新点击查询,确认页面数据已通过 `人员管理_人员信息查询_质检部门_查询`、`系统管理_人员管理_所有有效人员查询`、`工时校验_获取订单列表`、`工时校验_获取订单工序`、`工时校验_获取昨日之前操作记录列表` 等后台过程更新。 +19. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 +20. 工时校验前先比对 MES 报工、设备工时和 SAP 工序资源;只对核对无误的记录执行提交。 + +**查询条件/输入项** +- `订单编号` +- `人员` +- `taskid` +- `taskorder` +- `checker` +- `timeRange` +- `checkStatus` +- `abnormalstatus` +- `natureStatus` +- `addwork` +- `产品编码` +- `产品名称` +- `工序名称` +- `工位名称` +- `操作人` +- `操作类别` +- `操作数值` +- `开始时间` +- `结束时间` +- `加工工时` +- `总时长` +- `工艺顺序` + +**结果表重点列** +- `selection` +- `序号` +- `工时ID` +- `人员` +- `生产订单` +- `物料编码` +- `物料名称` +- `工序名称` +- `工位名称` +- `报工类型` +- `数量` +- `开始时间` +- `结束时间` +- `设备工时` +- `人员工时` +- `绑定设备数` +- `工序说明` +- `异常说明` +- `校验状态` +- `最后编辑人` +- `最后编辑时间` +- `操作` +- `累计分钟` +- `设备状态` +- `累计秒数` + +**页面按钮/状态/页签** +- `查询` +- `一键校验` +- `新增工时记录` +- `设备工时` +- `关闭` +- `确 定` +- `取消` + +**弹窗/表单重点项** +- `currentTask.已校验 ? '查看任务信息' : '编辑任务信息'` +- `设备工时` +- `新增工时记录` +- `生产订单` +- `物料编码` +- `物料名称` +- `工序名称` +- `工位名称` +- `操作人` +- `操作类别` +- `操作数值` +- `开始时间` +- `结束时间` +- `加工工时` +- `人员工时` +- `工序顺序` +- `工作内容` +- `备注说明` + +**后台处理/外部接口** +- `存储过程:人员管理_人员信息查询_质检部门_查询` +- `存储过程:系统管理_人员管理_所有有效人员查询` +- `存储过程:工时校验_获取订单列表` +- `存储过程:工时校验_获取订单工序` +- `存储过程:工时校验_获取昨日之前操作记录列表` +- `存储过程:工时校验_获取资源` +- `存储过程:工时校验_获取设备数据` +- `存储过程:工时校验_保存校验记录` +- `存储过程:工时校验_批量保存校验记录` +- `存储过程:工时校验_获取操作人当天报工记录` +- `存储过程:工时校验_新增操作记录` +- `接口:getB1 /ProductionOrders` +- `接口:patchB1 ProductionOrders(${order.AbsoluteEntry})` +- `接口:postB1 /InventoryGenExits` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 + +### 21.46 工时校验 + +页面路径:`src/views/ProductionManagement/WorkHoursCheck/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于工时校验和 SAP 提交,用户核对报工记录后批量或单条校验并上传相关单据。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`订单编号`、`人员`、`taskid`、`taskorder`、`checker`、`timeRange`、`checkStatus`、`abnormalstatus`、`natureStatus`、`addwork`、`产品编码`、`产品名称`。 +3. 如果仍查不到数据,继续补充条件:`工序名称`、`工位名称`、`操作人`、`操作类别`、`操作数值`、`开始时间`、`结束时间`、`加工工时`、`总时长`、`工艺顺序`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +6. 查询后先核对关键列:`selection`、`序号`、`工时ID`、`人员`、`生产订单`、`物料编码`、`物料名称`、`工序名称`、`工位名称`、`报工类型`、`数量`、`开始时间`。 +7. 继续横向滚动或展开表格,核对:`结束时间`、`设备工时`、`人员工时`、`绑定设备数`、`工序说明`、`异常说明`、`校验状态`、`最后编辑人`、`最后编辑时间`、`操作`、`累计分钟`、`设备状态`、`累计秒数`。 +8. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `一键校验` 提交。 +9. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `直接校验` 提交。 +10. 需要新增时点击 `新增工时记录`,在弹窗中逐项填写必填字段,确认编码、名称、状态等基础信息后保存。 +11. 按业务需要点击 `设备工时`,操作前先确认选中行和输入内容。 +12. 按业务需要点击 `设备工时`,操作前先确认选中行和输入内容。 +13. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +14. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +15. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +16. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +17. 出现弹窗时按弹窗标题处理:`currentTask.已校验 ? '查看任务信息' : '编辑任务信息'`、`设备工时`、`新增工时记录`;弹窗关闭前确认必填项已保存。 +18. 弹窗或表单内重点填写:`生产订单`、`物料编码`、`物料名称`、`工序名称`、`工位名称`、`操作人`、`操作类别`、`操作数值`、`开始时间`、`结束时间`、`加工工时`、`人员工时`、`工序顺序`、`班次标准工时`,提交前逐项核对。 +19. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +20. 保存或提交成功后重新点击查询,确认页面数据已通过 `usp_BatchValidateWorkTime`、`usp_ValidateWorkTime`、`人员管理_人员信息查询_质检部门_查询`、`系统管理_人员管理_所有有效人员查询`、`工时校验_获取订单列表` 等后台过程更新。 +21. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 +22. 工时校验前先比对 MES 报工、设备工时和 SAP 工序资源;只对核对无误的记录执行提交。 + +**查询条件/输入项** +- `订单编号` +- `人员` +- `taskid` +- `taskorder` +- `checker` +- `timeRange` +- `checkStatus` +- `abnormalstatus` +- `natureStatus` +- `addwork` +- `产品编码` +- `产品名称` +- `工序名称` +- `工位名称` +- `操作人` +- `操作类别` +- `操作数值` +- `开始时间` +- `结束时间` +- `加工工时` +- `总时长` +- `工艺顺序` + +**结果表重点列** +- `selection` +- `序号` +- `工时ID` +- `人员` +- `生产订单` +- `物料编码` +- `物料名称` +- `工序名称` +- `工位名称` +- `报工类型` +- `数量` +- `开始时间` +- `结束时间` +- `设备工时` +- `人员工时` +- `绑定设备数` +- `工序说明` +- `异常说明` +- `校验状态` +- `最后编辑人` +- `最后编辑时间` +- `操作` +- `累计分钟` +- `设备状态` +- `累计秒数` + +**页面按钮/状态/页签** +- `查询` +- `一键校验` +- `直接校验` +- `新增工时记录` +- `设备工时` +- `关闭` +- `确 定` +- `取消` + +**弹窗/表单重点项** +- `currentTask.已校验 ? '查看任务信息' : '编辑任务信息'` +- `设备工时` +- `新增工时记录` +- `生产订单` +- `物料编码` +- `物料名称` +- `工序名称` +- `工位名称` +- `操作人` +- `操作类别` +- `操作数值` +- `开始时间` +- `结束时间` +- `加工工时` +- `人员工时` +- `工序顺序` +- `班次标准工时` +- `工作内容` +- `备注说明` + +**后台处理/外部接口** +- `存储过程:usp_BatchValidateWorkTime` +- `存储过程:usp_ValidateWorkTime` +- `存储过程:人员管理_人员信息查询_质检部门_查询` +- `存储过程:系统管理_人员管理_所有有效人员查询` +- `存储过程:工时校验_获取订单列表` +- `存储过程:工时校验_获取订单工序` +- `存储过程:工时校验_获取昨日之前操作记录列表` +- `存储过程:工时校验_获取资源` +- `存储过程:工时校验_获取设备数据` +- `存储过程:工时校验_保存校验记录` +- `存储过程:工时校验_批量保存校验记录` +- `存储过程:工时校验_新增操作记录` +- `接口:getB1 /ProductionOrders` +- `接口:postB1 /InventoryGenExits` +- `接口:patchB1 ProductionOrders(${order.AbsoluteEntry})` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 + +### 21.47 工时编辑 + +页面路径:`src/views/ProductionManagement/WorkhoursEdit/index.vue` +所属模块:生产执行管理 +建议使用人员:操作工/班组长/生产主管 + +页面用途:该页面用于修正或补录工时/报工记录,处理异常工时。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`订单编号`、`人员`、`taskid`、`taskorder`、`checker`、`timeRange`、`checkStatus`、`abnormalstatus`、`natureStatus`、`addwork`、`产品编码`、`产品名称`。 +3. 如果仍查不到数据,继续补充条件:`工序名称`、`工位名称`、`操作人`、`操作类别`、`操作数值`、`开始时间`、`结束时间`、`加工工时`、`总时长`、`班次标准工时`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +6. 查询后先核对关键列:`selection`、`序号`、`工时ID`、`人员`、`生产订单`、`物料编码`、`物料名称`、`工序名称`、`工位名称`、`报工类型`、`数量`、`开始时间`。 +7. 继续横向滚动或展开表格,核对:`结束时间`、`设备工时`、`人员工时`、`校验状态`、`最后编辑人`、`最后编辑时间`、`操作`、`累计分钟`、`设备状态`、`累计秒数`。 +8. 需要新增时点击 `新增工时记录`,在弹窗中逐项填写必填字段,确认编码、名称、状态等基础信息后保存。 +9. 按业务需要点击 `设备工时`,操作前先确认选中行和输入内容。 +10. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +11. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +12. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +13. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +14. 出现弹窗时按弹窗标题处理:`currentTask.已校验 ? '查看任务信息' : '编辑任务信息'`、`设备工时`、`新增工时记录`;弹窗关闭前确认必填项已保存。 +15. 弹窗或表单内重点填写:`生产订单`、`物料编码`、`物料名称`、`工序名称`、`工位名称`、`操作人`、`操作类别`、`操作数值`、`开始时间`、`结束时间`、`加工工时`、`人员工时`、`班次标准工时`、`工序顺序`,提交前逐项核对。 +16. 保存或提交成功后重新点击查询,确认页面数据已通过 `人员管理_人员信息查询_质检部门_查询`、`系统管理_人员管理_所有有效人员查询`、`工时校验_获取订单列表`、`工时校验_获取订单工序`、`工时校验_获取操作记录列表` 等后台过程更新。 + +**查询条件/输入项** +- `订单编号` +- `人员` +- `taskid` +- `taskorder` +- `checker` +- `timeRange` +- `checkStatus` +- `abnormalstatus` +- `natureStatus` +- `addwork` +- `产品编码` +- `产品名称` +- `工序名称` +- `工位名称` +- `操作人` +- `操作类别` +- `操作数值` +- `开始时间` +- `结束时间` +- `加工工时` +- `总时长` +- `班次标准工时` + +**结果表重点列** +- `selection` +- `序号` +- `工时ID` +- `人员` +- `生产订单` +- `物料编码` +- `物料名称` +- `工序名称` +- `工位名称` +- `报工类型` +- `数量` +- `开始时间` +- `结束时间` +- `设备工时` +- `人员工时` +- `校验状态` +- `最后编辑人` +- `最后编辑时间` +- `操作` +- `累计分钟` +- `设备状态` +- `累计秒数` + +**页面按钮/状态/页签** +- `查询` +- `新增工时记录` +- `设备工时` +- `关闭` +- `确 定` +- `取消` + +**弹窗/表单重点项** +- `currentTask.已校验 ? '查看任务信息' : '编辑任务信息'` +- `设备工时` +- `新增工时记录` +- `生产订单` +- `物料编码` +- `物料名称` +- `工序名称` +- `工位名称` +- `操作人` +- `操作类别` +- `操作数值` +- `开始时间` +- `结束时间` +- `加工工时` +- `人员工时` +- `班次标准工时` +- `工序顺序` +- `工作内容` +- `备注说明` + +**后台处理/外部接口** +- `存储过程:人员管理_人员信息查询_质检部门_查询` +- `存储过程:系统管理_人员管理_所有有效人员查询` +- `存储过程:工时校验_获取订单列表` +- `存储过程:工时校验_获取订单工序` +- `存储过程:工时校验_获取操作记录列表` +- `存储过程:工时校验_获取设备数据` +- `存储过程:工时校验_保存校验记录` +- `存储过程:工时校验_新增操作记录` + +**操作注意事项** +- 生产执行页面的数据会直接影响报工、工时、质检和库存任务,现场操作必须与实际加工进度一致。 + +## 21-8 质量管理 + +### 21.48 终检 + +页面路径:`src/views/QualityManagement/CheckTask/final.vue` +所属模块:质量管理 +建议使用人员:质检员/质量主管 + +页面用途:该页面用于终检任务处理,录入最终检验结果。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`物料编号`、`合同号`、`订单号`、`零件编号`、`零件名称`、`完工日期_Start`、`完工日期_End`、`检测日期_Start`、`检测日期_End`、`检测结果`、`检测人`、`检验状态`。 +3. 如果仍查不到数据,继续补充条件:`属性`、`检测类型编号`、`质检类型`、`内部合同号`、`零件编码`、`计划号`、`工序名称`、`检测数量`、`合格数`、`不合格数`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`序号`、`销售订单`、`生产订单`、`物料名称`、`物料编码`、`工序名称`、`计划生产数`、`加急数量`、`收检数量`、`收检合格数量`、`收检不合格数量`、`检验操作人`。 +6. 继续横向滚动或展开表格,核对:`检验时间`、`操作`、`零件编码`、`送检数量`、`合格数`、`不合格数`、`检测人`、`检测时间`、`检测说明`。 +7. 需要留存或流转时点击 `导出 -->`,导出/打印前确认当前查询条件和选中记录正确。 +8. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +9. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +10. 出现弹窗时按弹窗标题处理:`终检`、`终检记录`、`加急明细`;弹窗关闭前确认必填项已保存。 +11. 保存或提交成功后重新点击查询,确认页面数据已通过 `加急订单_加急明细查询`、`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_终检数据_查询`、`质量管理_质量检验_终检记录_查询` 等后台过程更新。 +12. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 +13. 录入检验结果时先核对检验类型、订单、物料、批次/工序,再填写合格数、不合格数和检测明细,避免检验记录挂错任务。 + +**查询条件/输入项** +- `物料编号` +- `合同号` +- `订单号` +- `零件编号` +- `零件名称` +- `完工日期_Start` +- `完工日期_End` +- `检测日期_Start` +- `检测日期_End` +- `检测结果` +- `检测人` +- `检验状态` +- `属性` +- `检测类型编号` +- `质检类型` +- `内部合同号` +- `零件编码` +- `计划号` +- `工序名称` +- `检测数量` +- `合格数` +- `不合格数` + +**结果表重点列** +- `序号` +- `销售订单` +- `生产订单` +- `物料名称` +- `物料编码` +- `工序名称` +- `计划生产数` +- `加急数量` +- `收检数量` +- `收检合格数量` +- `收检不合格数量` +- `检验操作人` +- `检验时间` +- `操作` +- `零件编码` +- `送检数量` +- `合格数` +- `不合格数` +- `检测人` +- `检测时间` +- `检测说明` + +**页面按钮/状态/页签** +- `查询` +- `导出 -->` +- `取 消` +- `关闭` + +**弹窗/表单重点项** +- `终检` +- `终检记录` +- `加急明细` + +**后台处理/外部接口** +- `存储过程:加急订单_加急明细查询` +- `存储过程:查询字典` +- `存储过程:人员管理_人员信息查询_质检部门_查询` +- `存储过程:质量管理_质量检验_终检数据_查询` +- `存储过程:质量管理_质量检验_终检记录_查询` +- `存储过程:MES_QulityInspection_FinalCheck` +- `存储过程:工时校验_获取工序和指派对象` +- `接口:getB1 ProductionOrders` +- `接口:patchB1 ProductionOrders(` + +**操作注意事项** +- 质检结果保存后会影响合格入库、不合格处理和后续工序,提交前必须核对数量。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 + +### 21.49 首检 + +页面路径:`src/views/QualityManagement/CheckTask/firstSpecial.vue` +所属模块:质量管理 +建议使用人员:质检员/质量主管 + +页面用途:该页面用于首检或特殊首件检验,录入首件检测结果。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`ProcessID`、`OPCode`、`OrderNo`、`PartCode`、`PlanStart`、`PlanEnd`、`不装配`、`process`、`station`、`order编号`、`part编号`、`operation时间`。 +3. 如果仍查不到数据,继续补充条件:`工序`、`工位`、`生产订单`、`零件编号`、`时间`、`开始时间`,或清空过窄条件后重新查询。 +4. 查询后先核对关键列:`序号`、`工位编号`、`工序名称`、`操作类别`、`操作人`、`销售订单`、`生产订单`、`物料编号`、`物料名称`、`操作数值`、`开始时间`、`结束时间`。 +5. 继续横向滚动或展开表格,核对:`工时(分)`。 +6. 保存或提交成功后重新点击查询,确认页面数据已通过 `Prog_MES_LoadProcess`、`Prog_MES_LoadStations`、`MES_QulityInspection_FirstCheckRecords` 等后台过程更新。 +7. 录入检验结果时先核对检验类型、订单、物料、批次/工序,再填写合格数、不合格数和检测明细,避免检验记录挂错任务。 + +**查询条件/输入项** +- `ProcessID` +- `OPCode` +- `OrderNo` +- `PartCode` +- `PlanStart` +- `PlanEnd` +- `不装配` +- `process` +- `station` +- `order编号` +- `part编号` +- `operation时间` +- `工序` +- `工位` +- `生产订单` +- `零件编号` +- `时间` +- `开始时间` + +**结果表重点列** +- `序号` +- `工位编号` +- `工序名称` +- `操作类别` +- `操作人` +- `销售订单` +- `生产订单` +- `物料编号` +- `物料名称` +- `操作数值` +- `开始时间` +- `结束时间` +- `工时(分)` + +**页面按钮/状态/页签** +- 未识别到明确按钮,以页面实际显示为准。 + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:Prog_MES_LoadProcess` +- `存储过程:Prog_MES_LoadStations` +- `存储过程:MES_QulityInspection_FirstCheckRecords` + +**操作注意事项** +- 质检结果保存后会影响合格入库、不合格处理和后续工序,提交前必须核对数量。 + +### 21.50 原材料退库检 + +页面路径:`src/views/QualityManagement/CheckTask/materialReturn.vue` +所属模块:质量管理 +建议使用人员:质检员/质量主管 + +页面用途:该页面用于材料退库检验,核对退库物料并录入检验结论。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`订单号`、`零件编号`、`零件名称`、`检测日期_Start`、`检测日期_End`、`状态`、`检测结果`、`单据码`、`检测人`、`检测类型编号`、`质检类型`、`零件编码`。 +3. 如果仍查不到数据,继续补充条件:`计划号`、`检测数量`、`合格数`、`不合格数`、`检测时间`、`检测说明`、`行号`、`订单类型`、`到货数`、`放行数量`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +6. 查询后先核对关键列:`序号`、`单据码`、`生产订单`、`物料名称`、`物料编码`、`到货时间`、`检验数量`、`合格数`、`不合格数`、`批次信息`、`检验人`、`检验时间`。 +7. 继续横向滚动或展开表格,核对:`备注`、`操作`。 +8. 按业务需要点击 `扫码`,操作前先确认选中行和输入内容。 +9. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +10. 出现弹窗时按弹窗标题处理:`退库检`、`扫码`;弹窗关闭前确认必填项已保存。 +11. 保存或提交成功后重新点击查询,确认页面数据已通过 `查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_原材料退库_查询`、`质量管理_原材料退库检验_更新` 等后台过程更新。 +12. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 +13. 录入检验结果时先核对检验类型、订单、物料、批次/工序,再填写合格数、不合格数和检测明细,避免检验记录挂错任务。 + +**查询条件/输入项** +- `订单号` +- `零件编号` +- `零件名称` +- `检测日期_Start` +- `检测日期_End` +- `状态` +- `检测结果` +- `单据码` +- `检测人` +- `检测类型编号` +- `质检类型` +- `零件编码` +- `计划号` +- `检测数量` +- `合格数` +- `不合格数` +- `检测时间` +- `检测说明` +- `行号` +- `订单类型` +- `到货数` +- `放行数量` + +**结果表重点列** +- `序号` +- `单据码` +- `生产订单` +- `物料名称` +- `物料编码` +- `到货时间` +- `检验数量` +- `合格数` +- `不合格数` +- `批次信息` +- `检验人` +- `检验时间` +- `备注` +- `操作` + +**页面按钮/状态/页签** +- `查询` +- `扫码` +- `取 消` + +**弹窗/表单重点项** +- `退库检` +- `扫码` + +**后台处理/外部接口** +- `存储过程:查询字典` +- `存储过程:人员管理_人员信息查询_质检部门_查询` +- `存储过程:质量管理_原材料退库_查询` +- `存储过程:质量管理_原材料退库检验_更新` +- `接口:getB1 /ProductionOrders` +- `接口:posttm /stocktask/task/receiptordertask` + +**操作注意事项** +- 质检结果保存后会影响合格入库、不合格处理和后续工序,提交前必须核对数量。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 + +### 21.51 其他入库检 + +页面路径:`src/views/QualityManagement/CheckTask/OtherInbound.vue` +所属模块:质量管理 +建议使用人员:质检员/质量主管 + +页面用途:该页面用于其他入库检验,录入其他入库质检结果。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`订单号`、`零件编号`、`零件名称`、`检测日期_Start`、`检测日期_End`、`检测结果`、`检测人`、`检测类型编号`、`质检类型`、`零件编码`、`计划号`、`检测数量`。 +3. 如果仍查不到数据,继续补充条件:`合格数`、`不合格数`、`检测时间`、`检测说明`、`行号`、`订单类型`、`放行数量`、`order编号`、`partName`、`part编号`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`序号`、`生产订单`、`物料名称`、`物料编码`、`采购数`、`检验数量`、`合格数`、`不合格数`、`检验人`、`检验时间`、`备注`、`操作`。 +6. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +7. 出现弹窗时按弹窗标题处理:`入库检`;弹窗关闭前确认必填项已保存。 +8. 保存或提交成功后重新点击查询,确认页面数据已通过 `查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_其他入库_查询`、`质量管理_其他入库检验_更新` 等后台过程更新。 +9. 录入检验结果时先核对检验类型、订单、物料、批次/工序,再填写合格数、不合格数和检测明细,避免检验记录挂错任务。 + +**查询条件/输入项** +- `订单号` +- `零件编号` +- `零件名称` +- `检测日期_Start` +- `检测日期_End` +- `检测结果` +- `检测人` +- `检测类型编号` +- `质检类型` +- `零件编码` +- `计划号` +- `检测数量` +- `合格数` +- `不合格数` +- `检测时间` +- `检测说明` +- `行号` +- `订单类型` +- `放行数量` +- `order编号` +- `partName` +- `part编号` + +**结果表重点列** +- `序号` +- `生产订单` +- `物料名称` +- `物料编码` +- `采购数` +- `检验数量` +- `合格数` +- `不合格数` +- `检验人` +- `检验时间` +- `备注` +- `操作` + +**页面按钮/状态/页签** +- `查询` +- `取 消` + +**弹窗/表单重点项** +- `入库检` + +**后台处理/外部接口** +- `存储过程:查询字典` +- `存储过程:人员管理_人员信息查询_质检部门_查询` +- `存储过程:质量管理_其他入库_查询` +- `存储过程:质量管理_其他入库检验_更新` + +**操作注意事项** +- 质检结果保存后会影响合格入库、不合格处理和后续工序,提交前必须核对数量。 + +### 21.52 序检收检 + +页面路径:`src/views/QualityManagement/CheckTask/processReceive.vue` +所属模块:质量管理 +建议使用人员:质检员/质量主管 + +页面用途:该页面用于工序收检/序检收检,质检人员接收工序检验任务并录入检验结果。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`物料编号`、`合同号`、`订单号`、`零件编号`、`零件名称`、`完工日期_Start`、`完工日期_End`、`检测日期_Start`、`检测日期_End`、`检测结果`、`检测人`、`检测类别`。 +3. 如果仍查不到数据,继续补充条件:`检测状态`、`属性`、`检测类型编号`、`质检类型`、`内部合同号`、`零件编码`、`计划号`、`工序名称`、`检测数量`、`合格数`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`序号`、`销售订单`、`生产订单`、`物料名称`、`物料编码`、`工序名称`、`工位名称`、`加急数量`、`完成数量`、`检验数量`、`检验合格数量`、`检验不合格数量`。 +6. 继续横向滚动或展开表格,核对:`检验操作人`、`检验时间`、`检测说明`、`操作`。 +7. 需要留存或流转时点击 `导出 -->`,导出/打印前确认当前查询条件和选中记录正确。 +8. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +9. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +10. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +11. 出现弹窗时按弹窗标题处理:`收检`、`加急明细`、`图纸`;弹窗关闭前确认必填项已保存。 +12. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +13. 保存或提交成功后重新点击查询,确认页面数据已通过 `工艺管理_图纸维护_查看图纸`、`加急订单_加急明细查询`、`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_收检记录_查询` 等后台过程更新。 +14. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 +15. 录入检验结果时先核对检验类型、订单、物料、批次/工序,再填写合格数、不合格数和检测明细,避免检验记录挂错任务。 + +**查询条件/输入项** +- `物料编号` +- `合同号` +- `订单号` +- `零件编号` +- `零件名称` +- `完工日期_Start` +- `完工日期_End` +- `检测日期_Start` +- `检测日期_End` +- `检测结果` +- `检测人` +- `检测类别` +- `检测状态` +- `属性` +- `检测类型编号` +- `质检类型` +- `内部合同号` +- `零件编码` +- `计划号` +- `工序名称` +- `检测数量` +- `合格数` + +**结果表重点列** +- `序号` +- `销售订单` +- `生产订单` +- `物料名称` +- `物料编码` +- `工序名称` +- `工位名称` +- `加急数量` +- `完成数量` +- `检验数量` +- `检验合格数量` +- `检验不合格数量` +- `检验操作人` +- `检验时间` +- `检测说明` +- `操作` + +**页面按钮/状态/页签** +- `查询` +- `导出 -->` +- `取 消` +- `关闭` + +**弹窗/表单重点项** +- `收检` +- `加急明细` +- `图纸` + +**后台处理/外部接口** +- `存储过程:工艺管理_图纸维护_查看图纸` +- `存储过程:加急订单_加急明细查询` +- `存储过程:查询字典` +- `存储过程:人员管理_人员信息查询_质检部门_查询` +- `存储过程:质量管理_质量检验_收检记录_查询` +- `存储过程:质量管理_序检收检_新增` +- `接口:postB1 /QueryService_PostQuery` +- `接口:postB1 /PurchaseDeliveryNotes` + +**操作注意事项** +- 质检结果保存后会影响合格入库、不合格处理和后续工序,提交前必须核对数量。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 + +### 21.53 过程特殊检验 + +页面路径:`src/views/QualityManagement/CheckTask/processSpecial.vue` +所属模块:质量管理 +建议使用人员:质检员/质量主管 + +页面用途:该页面用于过程特殊检验,录入特殊检验项目和结果。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 该页没有识别到固定查询区,按页面提示直接查看信息或使用菜单/按钮进入下一步。 +3. 录入检验结果时先核对检验类型、订单、物料、批次/工序,再填写合格数、不合格数和检测明细,避免检验记录挂错任务。 + +**查询条件/输入项** +- 未识别到固定输入项,按现场页面提示操作。 + +**结果表重点列** +- 未识别到固定表格列,以页面实际显示为准。 + +**页面按钮/状态/页签** +- 未识别到明确按钮,以页面实际显示为准。 + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- 未发现页面级后台提交动作。 + +**操作注意事项** +- 质检结果保存后会影响合格入库、不合格处理和后续工序,提交前必须核对数量。 + +### 21.54 采购入库检 + +页面路径:`src/views/QualityManagement/CheckTask/purchaseIncoming.vue` +所属模块:质量管理 +建议使用人员:质检员/质量主管 + +页面用途:该页面用于采购/来料检验,质检人员录入来料检验数量、合格数、不合格数和检测明细。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`物料编号`、`订单号`、`零件编号`、`零件名称`、`检测日期_Start`、`检测日期_End`、`状态`、`检测结果`、`单据码`、`检测人`、`检测类型编号`、`质检类型`。 +3. 如果仍查不到数据,继续补充条件:`零件编码`、`计划号`、`检测数量`、`合格数`、`不合格数`、`检测时间`、`检测说明`、`行号`、`订单类型`、`到货数`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +6. 查询后先核对关键列:`序号`、`单据码`、`生产订单`、`物料名称`、`物料编码`、`到货时间`、`位置`、`加急数量`、`到货数量`、`已检验数量`、`剩余待检`、`合格数`。 +7. 继续横向滚动或展开表格,核对:`不合格数`、`检验人`、`检验时间`、`备注`、`操作`。 +8. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +9. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +10. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +11. 出现弹窗时按弹窗标题处理:`入库检`、`扫码`、`图纸`、`加急明细`;弹窗关闭前确认必填项已保存。 +12. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +13. 保存或提交成功后重新点击查询,确认页面数据已通过 `加急订单_加急明细查询`、`工艺管理_图纸维护_查看图纸`、`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_入库质检任务_查询` 等后台过程更新。 +14. 录入检验结果时先核对检验类型、订单、物料、批次/工序,再填写合格数、不合格数和检测明细,避免检验记录挂错任务。 + +**查询条件/输入项** +- `物料编号` +- `订单号` +- `零件编号` +- `零件名称` +- `检测日期_Start` +- `检测日期_End` +- `状态` +- `检测结果` +- `单据码` +- `检测人` +- `检测类型编号` +- `质检类型` +- `零件编码` +- `计划号` +- `检测数量` +- `合格数` +- `不合格数` +- `检测时间` +- `检测说明` +- `行号` +- `订单类型` +- `到货数` + +**结果表重点列** +- `序号` +- `单据码` +- `生产订单` +- `物料名称` +- `物料编码` +- `到货时间` +- `位置` +- `加急数量` +- `到货数量` +- `已检验数量` +- `剩余待检` +- `合格数` +- `不合格数` +- `检验人` +- `检验时间` +- `备注` +- `操作` + +**页面按钮/状态/页签** +- `查询` +- `取 消` +- `关闭` + +**弹窗/表单重点项** +- `入库检` +- `扫码` +- `图纸` +- `加急明细` + +**后台处理/外部接口** +- `存储过程:加急订单_加急明细查询` +- `存储过程:工艺管理_图纸维护_查看图纸` +- `存储过程:查询字典` +- `存储过程:人员管理_人员信息查询_质检部门_查询` +- `存储过程:质量管理_质量检验_入库质检任务_查询` +- `存储过程:质量管理_来料检验_更新` + +**操作注意事项** +- 质检结果保存后会影响合格入库、不合格处理和后续工序,提交前必须核对数量。 + +### 21.55 销售退货检 + +页面路径:`src/views/QualityManagement/CheckTask/salesReturn.vue` +所属模块:质量管理 +建议使用人员:质检员/质量主管 + +页面用途:该页面用于销售退货检验,录入退货质检结果。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`订单号`、`零件编号`、`零件名称`、`检测日期_Start`、`检测日期_End`、`检测结果`、`检测人`、`检测类型编号`、`质检类型`、`零件编码`、`计划号`、`检测数量`。 +3. 如果仍查不到数据,继续补充条件:`合格数`、`不合格数`、`检测时间`、`检测说明`、`行号`、`订单类型`、`doc_date`、`doc_type`、`external_num`、`task_items`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`序号`、`生产订单`、`物料名称`、`物料编码`、`采购数`、`检验数量`、`合格数`、`不合格数`、`检验人`、`检验时间`、`备注`、`操作`。 +6. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +7. 出现弹窗时按弹窗标题处理:`退货检`;弹窗关闭前确认必填项已保存。 +8. 保存或提交成功后重新点击查询,确认页面数据已通过 `查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_退货质检任务_查询`、`质量管理_销售退货检_更新` 等后台过程更新。 +9. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 +10. 录入检验结果时先核对检验类型、订单、物料、批次/工序,再填写合格数、不合格数和检测明细,避免检验记录挂错任务。 + +**查询条件/输入项** +- `订单号` +- `零件编号` +- `零件名称` +- `检测日期_Start` +- `检测日期_End` +- `检测结果` +- `检测人` +- `检测类型编号` +- `质检类型` +- `零件编码` +- `计划号` +- `检测数量` +- `合格数` +- `不合格数` +- `检测时间` +- `检测说明` +- `行号` +- `订单类型` +- `doc_date` +- `doc_type` +- `external_num` +- `task_items` + +**结果表重点列** +- `序号` +- `生产订单` +- `物料名称` +- `物料编码` +- `采购数` +- `检验数量` +- `合格数` +- `不合格数` +- `检验人` +- `检验时间` +- `备注` +- `操作` + +**页面按钮/状态/页签** +- `查询` +- `取 消` + +**弹窗/表单重点项** +- `退货检` + +**后台处理/外部接口** +- `存储过程:查询字典` +- `存储过程:人员管理_人员信息查询_质检部门_查询` +- `存储过程:质量管理_质量检验_退货质检任务_查询` +- `存储过程:质量管理_销售退货检_更新` +- `接口:posttm /stocktask/task/issueordertask` + +**操作注意事项** +- 质检结果保存后会影响合格入库、不合格处理和后续工序,提交前必须核对数量。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 + +### 21.56 质量中心 + +页面路径:`src/views/QualityManagement/QualityCenter/index.vue` +所属模块:质量管理 +建议使用人员:质检员/质量主管 + +页面用途:该页面是质量综合处理中心,集中处理待检、收检、检测明细、不合格和 SAP/WMS 联动。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`物料编号`、`用户ID`、`订单编号`、`订单号`、`零件编号`、`生产状态`、`工位名称`、`计划号`、`销售订单`、`送检`、`计划开工_Start`、`计划开工_End`。 +3. 如果仍查不到数据,继续补充条件:`ItemCode`、`用户名`、`isOvertime`、`加班人员`、`overtimeHours`、`overtimeShift`、`结束时间`、`备注`、`工序说明`、`异常说明`,或清空过窄条件后重新查询。 +4. 点击 `查询 缺料` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`序号`、`生产订单`、`销售订单`、`计划号`、`物料编码`、`物料名称`、`齐套`、`发料状态`、`拣配`、`操作`、`加急数量`、`分配数`。 +6. 继续横向滚动或展开表格,核对:`送检数`、`本次检数`、`检验数`、`合格数`、`任务状态`、`工序顺序`、`指派对象`、`计划开始`、`计划完成`、`二次派工`、`工序名称`、`开工时间`、`加工状态`、`收料数`。 +7. 按业务需要点击 `上一个 下一个`,操作前先确认选中行和输入内容。 +8. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `删除当前记录 关闭`,按确认提示执行。 +9. 需要维护已有记录时先选中目标行,再点击或触发表格内 `上一个 下一个 保存当前记录 删除当前记录 关闭`,修改字段后保存并等待成功提示。 +10. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定 关闭`,修改字段后保存并等待成功提示。 +11. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +12. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +13. 需要新增时点击 `新增异常工时`,在弹窗中逐项填写必填字段,确认编码、名称、状态等基础信息后保存。 +14. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +15. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +16. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +17. 出现弹窗时按弹窗标题处理:`首检自检`、`序检自检`、`收检`、`送检`、`异常工时`、`新增工时记录`、`编辑任务信息`、`退库单`;弹窗关闭前确认必填项已保存。 +18. 弹窗或表单内重点填写:`生产订单`、`零件编码`、`计划数量`、`当前时间`、`送检数`、`操作工位`、`操作人`、`操作类别`、`物料编码`、`物料名称`、`工序名称`、`指派对象`、`开始时间`、`结束时间`,提交前逐项核对。 +19. 涉及上传时先选择正确文件,再点击上传/保存;上传后重新查询,确认文件名、版本、上传时间或预览内容已显示。 +20. 保存或提交成功后重新点击查询,确认页面数据已通过 `生产管理_获取人员绑定`、`加急订单_加急明细查询`、`MES_人员工时记录_获取进行中任务2`、`MES_人员工时记录_获取进行中任务`、`工时校验_获取订单列表` 等后台过程更新。 +21. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 +22. 录入检验结果时先核对检验类型、订单、物料、批次/工序,再填写合格数、不合格数和检测明细,避免检验记录挂错任务。 + +**查询条件/输入项** +- `物料编号` +- `用户ID` +- `订单编号` +- `订单号` +- `零件编号` +- `生产状态` +- `工位名称` +- `计划号` +- `销售订单` +- `送检` +- `计划开工_Start` +- `计划开工_End` +- `ItemCode` +- `用户名` +- `isOvertime` +- `加班人员` +- `overtimeHours` +- `overtimeShift` +- `结束时间` +- `备注` +- `工序说明` +- `异常说明` + +**结果表重点列** +- `序号` +- `生产订单` +- `销售订单` +- `计划号` +- `物料编码` +- `物料名称` +- `齐套` +- `发料状态` +- `拣配` +- `操作` +- `加急数量` +- `分配数` +- `送检数` +- `本次检数` +- `检验数` +- `合格数` +- `任务状态` +- `工序顺序` +- `指派对象` +- `计划开始` +- `计划完成` +- `二次派工` +- `工序名称` +- `开工时间` +- `加工状态` +- `收料数` +- `优先` +- `首检` +- `序检` +- `检测项目` +- `上限值` +- `下限值` +- `测量单位` +- `检验比例` + +**页面按钮/状态/页签** +- `查询 缺料` +- `上一个 下一个` +- `删除当前记录 关闭` +- `上一个 下一个 保存当前记录 删除当前记录 关闭` +- `确定 关闭` +- `取 消` +- `确 定` +- `新增异常工时` +- `编辑` +- `取消` +- `关闭` +- `确定` + +**弹窗/表单重点项** +- `首检自检` +- `序检自检` +- `收检` +- `送检` +- `异常工时` +- `新增工时记录` +- `编辑任务信息` +- `退库单` +- `领料单` +- `缺料单` +- `报工结束` +- `图纸` +- `加急明细` +- `加班确认` +- `生产订单` +- `零件编码` +- `计划数量` +- `当前时间` +- `送检数` +- `操作工位` +- `操作人` +- `操作类别` +- `物料编码` +- `物料名称` +- `工序名称` +- `指派对象` +- `开始时间` +- `结束时间` +- `工作内容` +- `备注说明` + +**后台处理/外部接口** +- `存储过程:生产管理_获取人员绑定` +- `存储过程:加急订单_加急明细查询` +- `存储过程:MES_人员工时记录_获取进行中任务2` +- `存储过程:MES_人员工时记录_获取进行中任务` +- `存储过程:工时校验_获取订单列表` +- `存储过程:异常工时_新增操作记录` +- `存储过程:工时校验_获取订单工序` +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:Prog_MES_LoadProcess` +- `存储过程:质量管理_质检报工_任务查询` +- `存储过程:MES_ProductTask_WorkTimeSum` +- `存储过程:生产管理_装配中心_缺料查询` +- `存储过程:MES_人员工时记录_开始` +- `存储过程:生产管理_加工中心_班次信息` +- `存储过程:生产管理_加工中心_自动加班` +- `存储过程:MES_人员工时记录_结束` +- `存储过程:MES_ProductTask_Rest` +- `存储过程:MES_ProductTask_SendInspection` +- `存储过程:加工中心_收检_读取收检记录` +- `存储过程:MES_QulityInspection_ReceiveCheck` +- `接口:getB1 /ProductionOrders` +- `接口:posttm /stocktask/task/issueordertask` + +**操作注意事项** +- 质检结果保存后会影响合格入库、不合格处理和后续工序,提交前必须核对数量。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 + +### 21.57 质检明细 + +页面路径:`src/views/QualityManagement/QualityDetails/index.vue` +所属模块:质量管理 +建议使用人员:质检员/质量主管 + +页面用途:该页面用于查询质检明细,按订单、物料、检验类型和时间追溯检测记录。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`质检类型`、`开始日期`、`结束日期`、`订单号`、`合同号`、`零件编码`、`零件名称`、`订单编号`、`PageCurrent`、`pageSize`、`PageCount`、`ItemCount`。 +3. 如果仍查不到数据,继续补充条件:`order编号`、`contract编号`、`productCode`、`productName`、`QualityStatus`、`startDate`、`endDate`、`选择开始日期`、`选择日期`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +6. 查询后先核对关键列:`selection`、`序号`、`质检类型`、`零件编码`、`零件名称`、`销售订单号`、`生产订单号`、`工序名称`、`工位名称`、`供应商代码`、`检验数量`、`合格数`。 +7. 继续横向滚动或展开表格,核对:`不合格数`、`检测人`、`检测时间`、`检测说明`。 +8. 需要留存或流转时点击 `Excel导出`,导出/打印前确认当前查询条件和选中记录正确。 +9. 保存或提交成功后重新点击查询,确认页面数据已通过 `质量管理_质检明细_导出`、`系统管理_人员管理_所有有效人员查询`、`工时校验_获取订单列表`、`工时校验_获取订单工序`、`质量管理_质检明细_查询` 等后台过程更新。 +10. 录入检验结果时先核对检验类型、订单、物料、批次/工序,再填写合格数、不合格数和检测明细,避免检验记录挂错任务。 + +**查询条件/输入项** +- `质检类型` +- `开始日期` +- `结束日期` +- `订单号` +- `合同号` +- `零件编码` +- `零件名称` +- `订单编号` +- `PageCurrent` +- `pageSize` +- `PageCount` +- `ItemCount` +- `order编号` +- `contract编号` +- `productCode` +- `productName` +- `QualityStatus` +- `startDate` +- `endDate` +- `选择开始日期` +- `选择日期` + +**结果表重点列** +- `selection` +- `序号` +- `质检类型` +- `零件编码` +- `零件名称` +- `销售订单号` +- `生产订单号` +- `工序名称` +- `工位名称` +- `供应商代码` +- `检验数量` +- `合格数` +- `不合格数` +- `检测人` +- `检测时间` +- `检测说明` + +**页面按钮/状态/页签** +- `查询` +- `Excel导出` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:质量管理_质检明细_导出` +- `存储过程:系统管理_人员管理_所有有效人员查询` +- `存储过程:工时校验_获取订单列表` +- `存储过程:工时校验_获取订单工序` +- `存储过程:质量管理_质检明细_查询` + +**操作注意事项** +- 质检结果保存后会影响合格入库、不合格处理和后续工序,提交前必须核对数量。 + +### 21.58 质量标准查询(副本) + +页面路径:`src/views/QualityManagement/QualityStandardQuery/index copy.vue` +所属模块:质量管理 +建议使用人员:质检员/质量主管 + +页面用途:该页面用于查询或维护质量检验标准、检测项目、上下限和启用状态。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`零件号`、`零件编号`、`工序`、`工序编号`、`类型`、`类型编号`、`检验比例`、`检验项目`、`检验内容`、`上限值`、`下限值`、`单位`。 +3. 如果仍查不到数据,继续补充条件:`检具`、`备注`、`ID`、`part编号`、`process`、`type`,或清空过窄条件后重新查询。 +4. 点击 `查询 新增标准 修改 删除 确定 取 消` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`序号`、`零件号`、`工序`、`类型`、`检验项目`、`检验内容`、`上限值`、`下限值`、`单位`、`检验比例`、`检具`、`备注`。 +6. 继续横向滚动或展开表格,核对:`操作`。 +7. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定 取 消`,修改字段后保存并等待成功提示。 +8. 出现弹窗时按弹窗标题处理:`dialogTitle`;弹窗关闭前确认必填项已保存。 +9. 弹窗或表单内重点填写:`零件号`、`工序`、`类型`、`检验比例`、`检验项目`、`检验内容`、`上限值`、`下限值`、`单位`、`检具`、`备注`,提交前逐项核对。 +10. 保存或提交成功后重新点击查询,确认页面数据已通过 `查询零件号`、`Prog_MES_LoadProcess`、`查询字典`、`质量管理_检验标准表_新增`、`质量管理_检验标准表_查询` 等后台过程更新。 +11. 录入检验结果时先核对检验类型、订单、物料、批次/工序,再填写合格数、不合格数和检测明细,避免检验记录挂错任务。 + +**查询条件/输入项** +- `零件号` +- `零件编号` +- `工序` +- `工序编号` +- `类型` +- `类型编号` +- `检验比例` +- `检验项目` +- `检验内容` +- `上限值` +- `下限值` +- `单位` +- `检具` +- `备注` +- `ID` +- `part编号` +- `process` +- `type` + +**结果表重点列** +- `序号` +- `零件号` +- `工序` +- `类型` +- `检验项目` +- `检验内容` +- `上限值` +- `下限值` +- `单位` +- `检验比例` +- `检具` +- `备注` +- `操作` + +**页面按钮/状态/页签** +- `查询 新增标准 修改 删除 确定 取 消` +- `确定 取 消` + +**弹窗/表单重点项** +- `dialogTitle` +- `零件号` +- `工序` +- `类型` +- `检验比例` +- `检验项目` +- `检验内容` +- `上限值` +- `下限值` +- `单位` +- `检具` +- `备注` + +**后台处理/外部接口** +- `存储过程:查询零件号` +- `存储过程:Prog_MES_LoadProcess` +- `存储过程:查询字典` +- `存储过程:质量管理_检验标准表_新增` +- `存储过程:质量管理_检验标准表_查询` +- `存储过程:质量管理_检验标准表_修改` +- `存储过程:质量管理_检验标准表_删除` + +**操作注意事项** +- 质检结果保存后会影响合格入库、不合格处理和后续工序,提交前必须核对数量。 + +### 21.59 质量标准查询 + +页面路径:`src/views/QualityManagement/QualityStandardQuery/index.vue` +所属模块:质量管理 +建议使用人员:质检员/质量主管 + +页面用途:该页面用于查询或维护质量检验标准、检测项目、上下限和启用状态。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`物料编号`、`工序名称编号`、`检测类别编号`、`检测项目`、`理论值`、`上限值`、`下限值`、`测量单位`、`检验比例`、`检具`、`备注`、`AID`。 +3. 如果仍查不到数据,继续补充条件:`工序`、`检测类别`、`工序名称`,或清空过窄条件后重新查询。 +4. 点击 `查询 新增标准 修改 删除 确定 取 消` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`序号`、`物料编号`、`工序名称`、`检测类别`、`检测项目`、`上限值`、`下限值`、`测量单位`、`检验比例`、`检具`、`备注`、`操作`。 +6. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定 取 消`,修改字段后保存并等待成功提示。 +7. 出现弹窗时按弹窗标题处理:`dialogTitle`;弹窗关闭前确认必填项已保存。 +8. 弹窗或表单内重点填写:`物料编号`、`工序名称`、`检测类别`、`检具`、`检测项目`、`理论值`、`上限值`、`下限值`、`测量单位`、`检验比例`、`备注`、`检测类别编号`,提交前逐项核对。 +9. 保存或提交成功后重新点击查询,确认页面数据已通过 `MES_ProcessManagement_PartGet`、`Prog_MES_LoadProcess`、`查询字典`、`质量管理_检验标准表_新增`、`质量管理_检验标准表_查询` 等后台过程更新。 +10. 录入检验结果时先核对检验类型、订单、物料、批次/工序,再填写合格数、不合格数和检测明细,避免检验记录挂错任务。 + +**查询条件/输入项** +- `物料编号` +- `工序名称编号` +- `检测类别编号` +- `检测项目` +- `理论值` +- `上限值` +- `下限值` +- `测量单位` +- `检验比例` +- `检具` +- `备注` +- `AID` +- `工序` +- `检测类别` +- `工序名称` + +**结果表重点列** +- `序号` +- `物料编号` +- `工序名称` +- `检测类别` +- `检测项目` +- `上限值` +- `下限值` +- `测量单位` +- `检验比例` +- `检具` +- `备注` +- `操作` + +**页面按钮/状态/页签** +- `查询 新增标准 修改 删除 确定 取 消` +- `确定 取 消` + +**弹窗/表单重点项** +- `dialogTitle` +- `物料编号` +- `工序名称` +- `检测类别` +- `检具` +- `检测项目` +- `理论值` +- `上限值` +- `下限值` +- `测量单位` +- `检验比例` +- `备注` +- `检测类别编号` + +**后台处理/外部接口** +- `存储过程:MES_ProcessManagement_PartGet` +- `存储过程:Prog_MES_LoadProcess` +- `存储过程:查询字典` +- `存储过程:质量管理_检验标准表_新增` +- `存储过程:质量管理_检验标准表_查询` +- `存储过程:质量管理_检验标准表_修改` +- `存储过程:质量管理_检验标准表_删除` + +**操作注意事项** +- 质检结果保存后会影响合格入库、不合格处理和后续工序,提交前必须核对数量。 + +### 21.60 不合格品处理 + +页面路径:`src/views/QualityManagement/Unqualified/index.vue` +所属模块:质量管理 +建议使用人员:质检员/质量主管 + +页面用途:该页面用于不合格品处理,记录处置方式、责任、原因和处理结果。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`质检类型`、`开始日期`、`结束日期`、`订单号`、`合同号`、`零件编码`、`零件名称`、`检测人`、`PageCurrent`、`pageSize`、`PageCount`、`ItemCount`。 +3. 如果仍查不到数据,继续补充条件:`order编号`、`contract编号`、`productCode`、`productName`、`checker`、`QualityStatus`、`startDate`、`endDate`、`选择开始日期`、`选择日期`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +6. 查询后先核对关键列:`序号`、`质检类型`、`零件编码`、`零件名称`、`内部合同号`、`计划号`、`工序名称`、`工位名称`、`供应商代码`、`检验数量`、`合格数`、`不合格数`。 +7. 继续横向滚动或展开表格,核对:`检测人`、`检测时间`、`检测说明`、`操作`。 +8. 需要留存或流转时点击 `Excel导出`,导出/打印前确认当前查询条件和选中记录正确。 +9. 需要留存或流转时点击 `打印`,导出/打印前确认当前查询条件和选中记录正确。 +10. 保存或提交成功后重新点击查询,确认页面数据已通过 `人员管理_人员信息查询_质检部门_查询`、`质量管理_不合格品处置_查询` 等后台过程更新。 +11. 录入检验结果时先核对检验类型、订单、物料、批次/工序,再填写合格数、不合格数和检测明细,避免检验记录挂错任务。 + +**查询条件/输入项** +- `质检类型` +- `开始日期` +- `结束日期` +- `订单号` +- `合同号` +- `零件编码` +- `零件名称` +- `检测人` +- `PageCurrent` +- `pageSize` +- `PageCount` +- `ItemCount` +- `order编号` +- `contract编号` +- `productCode` +- `productName` +- `checker` +- `QualityStatus` +- `startDate` +- `endDate` +- `选择开始日期` +- `选择日期` + +**结果表重点列** +- `序号` +- `质检类型` +- `零件编码` +- `零件名称` +- `内部合同号` +- `计划号` +- `工序名称` +- `工位名称` +- `供应商代码` +- `检验数量` +- `合格数` +- `不合格数` +- `检测人` +- `检测时间` +- `检测说明` +- `操作` + +**页面按钮/状态/页签** +- `查询` +- `Excel导出` +- `打印` + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- `存储过程:人员管理_人员信息查询_质检部门_查询` +- `存储过程:质量管理_不合格品处置_查询` + +**操作注意事项** +- 质检结果保存后会影响合格入库、不合格处理和后续工序,提交前必须核对数量。 + +## 21-9 销售与交付查询 + +### 21.61 销售订单状态 + +页面路径:`src/views/SaleManagement/saleorderstatus/index.vue` +所属模块:销售与交付查询 +建议使用人员:销售/计划/生产跟单人员 + +页面用途:该页面用于查询销售订单状态,跟踪销售订单在生产、交付和关闭过程中的状态。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`ItemCode`、`订单号`、`物料类型`、`合同号`、`产品编码`、`产品名称`、`工序名称`、`计划开始1`、`计划开始2`、`计划完成1`、`计划完成2`、`要求完工日期1`。 +3. 如果仍查不到数据,继续补充条件:`要求完工日期2`、`排产状态`、`指派对象`、`计划号`、`发货状态`、`入库状态`、`是否外协`、`订单行号`、`订单拆分内码`、`优先级`,或清空过窄条件后重新查询。 +4. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +5. 查询后先核对关键列:`expand`、`序号`、`工序名称`、`计划数量`、`指派对象`、`开始时间`、`结束时间`、`完成进度`、`完成数量`、`合格数`、`不良数`、`任务状态`。 +6. 继续横向滚动或展开表格,核对:`加工状态`、`操作`、`发货通知`、`销售订单`、`计划号`、`生产订单`、`产品名称`、`产品编码`、`入库数量`、`要求完工日`、`要求发货日`、`预计齐套时间`、`外协`、`齐套`。 +7. 按业务需要点击 `缺料`,操作前先确认选中行和输入内容。 +8. 需要推进业务时先选中目标行并核对数量、时间、人员、工位、物料和备注,再点击 `关闭` 提交。 +9. 出现弹窗时按弹窗标题处理:`缺料单`;弹窗关闭前确认必填项已保存。 +10. 保存或提交成功后重新点击查询,确认页面数据已通过 `生产管理_装配中心_缺料查询`、`销售管理_销售订单状态`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` 等后台过程更新。 + +**查询条件/输入项** +- `ItemCode` +- `订单号` +- `物料类型` +- `合同号` +- `产品编码` +- `产品名称` +- `工序名称` +- `计划开始1` +- `计划开始2` +- `计划完成1` +- `计划完成2` +- `要求完工日期1` +- `要求完工日期2` +- `排产状态` +- `指派对象` +- `计划号` +- `发货状态` +- `入库状态` +- `是否外协` +- `订单行号` +- `订单拆分内码` +- `优先级` + +**结果表重点列** +- `expand` +- `序号` +- `工序名称` +- `计划数量` +- `指派对象` +- `开始时间` +- `结束时间` +- `完成进度` +- `完成数量` +- `合格数` +- `不良数` +- `任务状态` +- `加工状态` +- `操作` +- `发货通知` +- `销售订单` +- `计划号` +- `生产订单` +- `产品名称` +- `产品编码` +- `入库数量` +- `要求完工日` +- `要求发货日` +- `预计齐套时间` +- `外协` +- `齐套` +- `拣配状态` +- `发料状态` +- `装配开工` +- `送检数量` +- `终检` +- `工艺` +- `排产` +- `优先级` + +**页面按钮/状态/页签** +- `查询` +- `缺料` +- `关闭` + +**弹窗/表单重点项** +- `缺料单` + +**后台处理/外部接口** +- `存储过程:生产管理_装配中心_缺料查询` +- `存储过程:销售管理_销售订单状态` +- `存储过程:MES_OrderPlanned_DescriptionEdit` +- `存储过程:Prog_MES_LoadStations` + +**操作注意事项** +- 操作后建议重新查询页面,确认列表、状态和明细已经刷新。 + +## 21-10 系统维护 + +### 21.62 菜单管理 + +页面路径:`src/views/SystemMaintenance/MenuManagement/index.vue` +所属模块:系统维护 +建议使用人员:系统管理员/相关用户 + +页面用途:该页面用于维护系统菜单、按钮权限和路由配置。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`roleName`、`filterTextLeft`、`filterText`、`AuthButtonsAll`、`SearchData`、`AddData`、`EditData`、`DeleteData`、`filterTextRight`、`moduleName`、`输入关键字进行过滤`。 +3. 点击页面上的查询或刷新类按钮获取最新数据;如果页面自动加载,则先核对默认列表是否符合当前业务范围。 +4. 查询后先核对关键列:`selection`、`模块名称`、`模块路径`。 +5. 如果页面左侧或上方有树形结构,先选中组织、物料、菜单或产品节点,再查看右侧列表;新增子节点前确认父节点选中正确。 +6. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `returnModule(node, data)"> 移除`,按确认提示执行。 +7. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +8. 出现弹窗时按弹窗标题处理:`新增一级模块`;弹窗关闭前确认必填项已保存。 +9. 弹窗或表单内重点填写:`模块名称`,提交前逐项核对。 +10. 保存或提交成功后重新点击查询,确认页面数据已通过 `菜单系统模块_项目角色_查询数据_MESWORK` 等后台过程更新。 +11. 权限类修改保存后,需要让相关用户重新登录或刷新权限,再验证菜单、按钮和数据范围是否生效。 + +**查询条件/输入项** +- `roleName` +- `filterTextLeft` +- `filterText` +- `AuthButtonsAll` +- `SearchData` +- `AddData` +- `EditData` +- `DeleteData` +- `filterTextRight` +- `moduleName` +- `输入关键字进行过滤` + +**结果表重点列** +- `selection` +- `模块名称` +- `模块路径` + +**页面按钮/状态/页签** +- `returnModule(node, data)"> 移除` +- `取消` +- `确定` + +**弹窗/表单重点项** +- `新增一级模块` +- `模块名称` + +**后台处理/外部接口** +- `存储过程:菜单系统模块_项目角色_查询数据_MESWORK` + +**操作注意事项** +- 系统维护类数据会影响登录、权限、菜单和业务可选项,修改后需要验证。 + +### 21.63 操作日志 + +页面路径:`src/views/SystemMaintenance/OperationLog/index.vue` +所属模块:系统维护 +建议使用人员:系统管理员/相关用户 + +页面用途:该页面用于查询操作日志,追溯用户操作、报工或业务变更记录。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`订单编号`、`操作人`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +5. 查询后先核对关键列:`序号`、`订单编号`、`操作类别`、`工序名称`、`工位名称`、`操作人`、`合同号`、`物料编号`、`物料描述`、`操作数值`、`开始时间`、`结束时间`。 +6. 继续横向滚动或展开表格,核对:`人员工时`、`设备工时`、`最后编辑人`、`最后编辑时间`、`操作描述`。 +7. 弹窗或表单内重点填写:`订单编号`、`操作人`,提交前逐项核对。 +8. 保存或提交成功后重新点击查询,确认页面数据已通过 `系统管理_报工操作记录_查询` 等后台过程更新。 + +**查询条件/输入项** +- `订单编号` +- `操作人` + +**结果表重点列** +- `序号` +- `订单编号` +- `操作类别` +- `工序名称` +- `工位名称` +- `操作人` +- `合同号` +- `物料编号` +- `物料描述` +- `操作数值` +- `开始时间` +- `结束时间` +- `人员工时` +- `设备工时` +- `最后编辑人` +- `最后编辑时间` +- `操作描述` + +**页面按钮/状态/页签** +- `查询` + +**弹窗/表单重点项** +- `订单编号` +- `操作人` + +**后台处理/外部接口** +- `存储过程:系统管理_报工操作记录_查询` + +**操作注意事项** +- 系统维护类数据会影响登录、权限、菜单和业务可选项,修改后需要验证。 + +### 21.64 组织管理 + +页面路径:`src/views/SystemMaintenance/OrgManagement/index.vue` +所属模块:系统维护 +建议使用人员:系统管理员/相关用户 + +页面用途:该页面用于维护组织、部门或组织树基础资料。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`RoleFunctioning`、`角色功能`、`部门名称`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +5. 查询后先核对关键列:`部门名称`、`编辑`。 +6. 需要新增时点击 `新增`,在弹窗中逐项填写必填字段,确认编码、名称、状态等基础信息后保存。 +7. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +8. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `删除`,按确认提示执行。 +9. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +10. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +11. 出现弹窗时按弹窗标题处理:`新增部门`、`编辑部门`;弹窗关闭前确认必填项已保存。 +12. 弹窗或表单内重点填写:`部门名称`,提交前逐项核对。 +13. 保存或提交成功后重新点击查询,确认页面数据已通过 `菜单系统模块_项目角色_查询数据_MESWORK`、`菜单系统模块_项目角色_修改数据_MESWORK`、`菜单系统模块_项目角色_增加_MESWORK`、`菜单系统模块_项目角色_删除_MESWORK` 等后台过程更新。 + +**查询条件/输入项** +- `RoleFunctioning` +- `角色功能` +- `部门名称` + +**结果表重点列** +- `部门名称` +- `编辑` + +**页面按钮/状态/页签** +- `查询` +- `新增` +- `编辑` +- `删除` +- `确 定` +- `取消` + +**弹窗/表单重点项** +- `新增部门` +- `编辑部门` +- `部门名称` + +**后台处理/外部接口** +- `存储过程:菜单系统模块_项目角色_查询数据_MESWORK` +- `存储过程:菜单系统模块_项目角色_修改数据_MESWORK` +- `存储过程:菜单系统模块_项目角色_增加_MESWORK` +- `存储过程:菜单系统模块_项目角色_删除_MESWORK` + +**操作注意事项** +- 系统维护类数据会影响登录、权限、菜单和业务可选项,修改后需要验证。 + +### 21.65 人员管理 + +页面路径:`src/views/SystemMaintenance/PersonnelManagement/index.vue` +所属模块:系统维护 +建议使用人员:系统管理员/相关用户 + +页面用途:该页面用于维护人员账号、部门、角色和启用状态。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`PersonalName`、`PersonalroleValue`、`account`、`password`、`姓名`、`角色`、`工号`、`密码`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +5. 查询后先核对关键列:`姓名`、`工号`、`密码`、`角色`、`操作`。 +6. 需要新增时点击 `新增`,在弹窗中逐项填写必填字段,确认编码、名称、状态等基础信息后保存。 +7. 按业务需要点击 `重置密码`,操作前先确认选中行和输入内容。 +8. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +9. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `删除`,按确认提示执行。 +10. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +11. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +12. 出现弹窗时按弹窗标题处理:`title`、`title1`;弹窗关闭前确认必填项已保存。 +13. 弹窗或表单内重点填写:`姓名`、`工号`、`密码`、`角色`,提交前逐项核对。 +14. 保存或提交成功后重新点击查询,确认页面数据已通过 `人员管理_角色信息初始化查询_查询`、`登录基础数据_人员信息_切换是否用户`、`人员管理_人员信息查询_查询`、`人员管理_人员信息修改_编辑`、`人员管理_人员信息修改_删除` 等后台过程更新。 +15. 权限类修改保存后,需要让相关用户重新登录或刷新权限,再验证菜单、按钮和数据范围是否生效。 + +**查询条件/输入项** +- `PersonalName` +- `PersonalroleValue` +- `account` +- `password` +- `姓名` +- `角色` +- `工号` +- `密码` + +**结果表重点列** +- `姓名` +- `工号` +- `密码` +- `角色` +- `操作` + +**页面按钮/状态/页签** +- `查询` +- `新增` +- `重置密码` +- `编辑` +- `删除` +- `确 定` +- `取消` + +**弹窗/表单重点项** +- `title` +- `title1` +- `姓名` +- `工号` +- `密码` +- `角色` + +**后台处理/外部接口** +- `存储过程:人员管理_角色信息初始化查询_查询` +- `存储过程:登录基础数据_人员信息_切换是否用户` +- `存储过程:人员管理_人员信息查询_查询` +- `存储过程:人员管理_人员信息修改_编辑` +- `存储过程:人员管理_人员信息修改_删除` +- `存储过程:人员管理_人员信息新增_新增` +- `存储过程:WEB_摄像头查看权限_查询` +- `存储过程:WEB_登录基础数据_人员信息_重置密码` +- `存储过程:WEB_人员设备查看权限_查询` +- `存储过程:WEB_人员设备查看权限_权限切换` +- `存储过程:WEB_人员摄像头查看权限_权限切换` + +**操作注意事项** +- 系统维护类数据会影响登录、权限、菜单和业务可选项,修改后需要验证。 + +### 21.66 系统角色维护 + +页面路径:`src/views/SystemMaintenance/SystemRrolemaintenance/index.vue` +所属模块:系统维护 +建议使用人员:系统管理员/相关用户 + +页面用途:该页面用于维护系统角色和角色权限。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`RoleFunctioning`、`角色功能`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +5. 查询后先核对关键列:`角色功能`、`编辑`。 +6. 需要新增时点击 `新增`,在弹窗中逐项填写必填字段,确认编码、名称、状态等基础信息后保存。 +7. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +8. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `删除`,按确认提示执行。 +9. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +10. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +11. 出现弹窗时按弹窗标题处理:`新增角色`、`编辑角色`;弹窗关闭前确认必填项已保存。 +12. 弹窗或表单内重点填写:`角色功能`、`角色名称`,提交前逐项核对。 +13. 保存或提交成功后重新点击查询,确认页面数据已通过 `菜单系统模块_项目角色_查询数据_MESWORK`、`菜单系统模块_项目角色_修改数据_MESWORK`、`菜单系统模块_项目角色_增加_MESWORK`、`菜单系统模块_项目角色_删除_MESWORK` 等后台过程更新。 +14. 权限类修改保存后,需要让相关用户重新登录或刷新权限,再验证菜单、按钮和数据范围是否生效。 + +**查询条件/输入项** +- `RoleFunctioning` +- `角色功能` + +**结果表重点列** +- `角色功能` +- `编辑` + +**页面按钮/状态/页签** +- `查询` +- `新增` +- `编辑` +- `删除` +- `确 定` +- `取消` + +**弹窗/表单重点项** +- `新增角色` +- `编辑角色` +- `角色功能` +- `角色名称` + +**后台处理/外部接口** +- `存储过程:菜单系统模块_项目角色_查询数据_MESWORK` +- `存储过程:菜单系统模块_项目角色_修改数据_MESWORK` +- `存储过程:菜单系统模块_项目角色_增加_MESWORK` +- `存储过程:菜单系统模块_项目角色_删除_MESWORK` + +**操作注意事项** +- 系统维护类数据会影响登录、权限、菜单和业务可选项,修改后需要验证。 + +### 21.67 工位管理 + +页面路径:`src/views/SystemMaintenance/WorkstationManagement/index.vue` +所属模块:系统维护 +建议使用人员:系统管理员/相关用户 + +页面用途:该页面用于维护工位/资源主数据,并同步 SAP B1 Resources。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`RoleFunctioning`、`工位名称`、`工位号`。 +3. 点击 `查询` 刷新列表;状态按钮会切换任务范围。 +4. 列表较多时使用分页区切换页码或调整每页条数,避免只检查第一页。 +5. 查询后先核对关键列:`工位名称`、`工位号`、`编辑`。 +6. 需要新增时点击 `新增`,在弹窗中逐项填写必填字段,确认编码、名称、状态等基础信息后保存。 +7. 需要维护已有记录时先选中目标行,再点击或触发表格内 `编辑`,修改字段后保存并等待成功提示。 +8. 需要删除时先确认该记录没有正在使用的业务数据,再点击 `删除`,按确认提示执行。 +9. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +10. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确 定`,修改字段后保存并等待成功提示。 +11. 出现弹窗时按弹窗标题处理:`新增工位`、`编辑工位`;弹窗关闭前确认必填项已保存。 +12. 弹窗或表单内重点填写:`工位名称`、`工位号`,提交前逐项核对。 +13. 保存或提交成功后重新点击查询,确认页面数据已通过 `MES_登录_工位与名称_查询`、`系统管理_工位管理_工位信息修改`、`系统管理_工位管理_工位信息增加`、`系统管理_工位管理_工位信息删除` 等后台过程更新。 +14. 涉及 SAP/WMS 接口时,必须查看页面成功或失败提示;失败时先记录错误信息,不要连续重复提交同一单据。 +15. 工位新增或修改会影响 SAP 资源、派工、报工和看板,保存后要用排产或生产执行页面验证工位是否可选。 + +**查询条件/输入项** +- `RoleFunctioning` +- `工位名称` +- `工位号` + +**结果表重点列** +- `工位名称` +- `工位号` +- `编辑` + +**页面按钮/状态/页签** +- `查询` +- `新增` +- `编辑` +- `删除` +- `确 定` +- `取消` + +**弹窗/表单重点项** +- `新增工位` +- `编辑工位` +- `工位名称` +- `工位号` + +**后台处理/外部接口** +- `存储过程:MES_登录_工位与名称_查询` +- `存储过程:系统管理_工位管理_工位信息修改` +- `存储过程:系统管理_工位管理_工位信息增加` +- `存储过程:系统管理_工位管理_工位信息删除` +- `接口:patchB1 /Resources('` +- `接口:postB1 /Resources` + +**操作注意事项** +- 系统维护类数据会影响登录、权限、菜单和业务可选项,修改后需要验证。 +- 该页存在 SAP/WMS 调用,失败时应记录返回提示并确认是否已经生成外部单据。 + +## 21-11 首页与看板 + +### 21.68 首页看板 + +页面路径:`src/views/dashboard/index.vue` +所属模块:首页与看板 +建议使用人员:系统管理员/相关用户 + +页面用途:该页面是系统首页/看板入口,用户登录后查看系统概览或进入各业务模块。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 该页没有识别到固定查询区,按页面提示直接查看信息或使用菜单/按钮进入下一步。 + +**查询条件/输入项** +- 未识别到固定输入项,按现场页面提示操作。 + +**结果表重点列** +- 未识别到固定表格列,以页面实际显示为准。 + +**页面按钮/状态/页签** +- 未识别到明确按钮,以页面实际显示为准。 + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- 未发现页面级后台提交动作。 + +**操作注意事项** +- 操作后建议重新查询页面,确认列表、状态和明细已经刷新。 + +## 21-12 布局与导航 + +### 21.69 内容区域 + +页面路径:`src/views/layout/components/AppMain.vue` +所属模块:布局与导航 +建议使用人员:系统管理员/相关用户 + +页面用途:该文件属于系统布局和导航组件,用户通过它切换菜单、标签页、折叠菜单或退出登录,不维护具体业务单据。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 该页没有识别到固定查询区,按页面提示直接查看信息或使用菜单/按钮进入下一步。 + +**查询条件/输入项** +- 未识别到固定输入项,按现场页面提示操作。 + +**结果表重点列** +- 未识别到固定表格列,以页面实际显示为准。 + +**页面按钮/状态/页签** +- 未识别到明确按钮,以页面实际显示为准。 + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- 未发现页面级后台提交动作。 + +**操作注意事项** +- 操作后建议重新查询页面,确认列表、状态和明细已经刷新。 + +### 21.70 布局组件索引 + +页面路径:`src/views/layout/components/index.js` +所属模块:布局与导航 +建议使用人员:系统管理员/相关用户 + +页面用途:该文件属于系统布局和导航组件,用户通过它切换菜单、标签页、折叠菜单或退出登录,不维护具体业务单据。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 该页没有识别到固定查询区,按页面提示直接查看信息或使用菜单/按钮进入下一步。 + +**查询条件/输入项** +- 未识别到固定输入项,按现场页面提示操作。 + +**结果表重点列** +- 未识别到固定表格列,以页面实际显示为准。 + +**页面按钮/状态/页签** +- 未识别到明确按钮,以页面实际显示为准。 + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- 未发现页面级后台提交动作。 + +**操作注意事项** +- 操作后建议重新查询页面,确认列表、状态和明细已经刷新。 + +### 21.71 顶部导航 + +页面路径:`src/views/layout/components/Navbar.vue` +所属模块:布局与导航 +建议使用人员:系统管理员/相关用户 + +页面用途:该文件属于系统布局和导航组件,用户通过它切换菜单、标签页、折叠菜单或退出登录,不维护具体业务单据。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`Personnel_Number`、`userId`、`旧密码`、`新密码1`、`新密码2`、`oldPassword`、`newPassword1`、`newPassword2`。 +3. 点击页面上的查询或刷新类按钮获取最新数据;如果页面自动加载,则先核对默认列表是否符合当前业务范围。 +4. 按业务需要点击 `Log Off`,操作前先确认选中行和输入内容。 +5. 按业务需要点击 `取 消`,操作前先确认选中行和输入内容。 +6. 按业务需要点击 `提 交`,操作前先确认选中行和输入内容。 +7. 出现弹窗时按弹窗标题处理:`修改密码`;弹窗关闭前确认必填项已保存。 +8. 弹窗或表单内重点填写:`旧密码`、`新密码`、`确认密码`,提交前逐项核对。 +9. 保存或提交成功后重新点击查询,确认页面数据已通过 `登录基础数据_人员信息_登陆检查密码`、`登录基础数据_人员信息_修改密码`、`WEB_报警查询_未读报警记录_查询`、`WEB_报警查询_未读报警记录_未读条数查询` 等后台过程更新。 + +**查询条件/输入项** +- `Personnel_Number` +- `userId` +- `旧密码` +- `新密码1` +- `新密码2` +- `oldPassword` +- `newPassword1` +- `newPassword2` + +**结果表重点列** +- 未识别到固定表格列,以页面实际显示为准。 + +**页面按钮/状态/页签** +- `Log Off` +- `取 消` +- `提 交` + +**弹窗/表单重点项** +- `修改密码` +- `旧密码` +- `新密码` +- `确认密码` + +**后台处理/外部接口** +- `存储过程:登录基础数据_人员信息_登陆检查密码` +- `存储过程:登录基础数据_人员信息_修改密码` +- `存储过程:WEB_报警查询_未读报警记录_查询` +- `存储过程:WEB_报警查询_未读报警记录_未读条数查询` + +**操作注意事项** +- 操作后建议重新查询页面,确认列表、状态和明细已经刷新。 + +### 21.72 侧边栏 + +页面路径:`src/views/layout/components/Sidebar/index.vue` +所属模块:布局与导航 +建议使用人员:系统管理员/相关用户 + +页面用途:该文件属于系统布局和导航组件,用户通过它切换菜单、标签页、折叠菜单或退出登录,不维护具体业务单据。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 该页没有识别到固定查询区,按页面提示直接查看信息或使用菜单/按钮进入下一步。 + +**查询条件/输入项** +- 未识别到固定输入项,按现场页面提示操作。 + +**结果表重点列** +- 未识别到固定表格列,以页面实际显示为准。 + +**页面按钮/状态/页签** +- 未识别到明确按钮,以页面实际显示为准。 + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- 未发现页面级后台提交动作。 + +**操作注意事项** +- 操作后建议重新查询页面,确认列表、状态和明细已经刷新。 + +### 21.73 侧边栏菜单项 + +页面路径:`src/views/layout/components/Sidebar/Item.vue` +所属模块:布局与导航 +建议使用人员:系统管理员/相关用户 + +页面用途:该文件属于系统布局和导航组件,用户通过它切换菜单、标签页、折叠菜单或退出登录,不维护具体业务单据。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 该页没有识别到固定查询区,按页面提示直接查看信息或使用菜单/按钮进入下一步。 + +**查询条件/输入项** +- 未识别到固定输入项,按现场页面提示操作。 + +**结果表重点列** +- 未识别到固定表格列,以页面实际显示为准。 + +**页面按钮/状态/页签** +- 未识别到明确按钮,以页面实际显示为准。 + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- 未发现页面级后台提交动作。 + +**操作注意事项** +- 操作后建议重新查询页面,确认列表、状态和明细已经刷新。 + +### 21.74 侧边栏菜单节点 + +页面路径:`src/views/layout/components/Sidebar/SidebarItem.vue` +所属模块:布局与导航 +建议使用人员:系统管理员/相关用户 + +页面用途:该文件属于系统布局和导航组件,用户通过它切换菜单、标签页、折叠菜单或退出登录,不维护具体业务单据。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 该页没有识别到固定查询区,按页面提示直接查看信息或使用菜单/按钮进入下一步。 + +**查询条件/输入项** +- 未识别到固定输入项,按现场页面提示操作。 + +**结果表重点列** +- 未识别到固定表格列,以页面实际显示为准。 + +**页面按钮/状态/页签** +- 未识别到明确按钮,以页面实际显示为准。 + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- 未发现页面级后台提交动作。 + +**操作注意事项** +- 操作后建议重新查询页面,确认列表、状态和明细已经刷新。 + +### 21.75 标签页导航 + +页面路径:`src/views/layout/components/TagsView.vue` +所属模块:布局与导航 +建议使用人员:系统管理员/相关用户 + +页面用途:该文件属于系统布局和导航组件,用户通过它切换菜单、标签页、折叠菜单或退出登录,不维护具体业务单据。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 该页没有识别到固定查询区,按页面提示直接查看信息或使用菜单/按钮进入下一步。 + +**查询条件/输入项** +- 未识别到固定输入项,按现场页面提示操作。 + +**结果表重点列** +- 未识别到固定表格列,以页面实际显示为准。 + +**页面按钮/状态/页签** +- 未识别到明确按钮,以页面实际显示为准。 + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- 未发现页面级后台提交动作。 + +**操作注意事项** +- 操作后建议重新查询页面,确认列表、状态和明细已经刷新。 + +### 21.76 系统布局 + +页面路径:`src/views/layout/Layout.vue` +所属模块:布局与导航 +建议使用人员:系统管理员/相关用户 + +页面用途:该文件属于系统布局和导航组件,用户通过它切换菜单、标签页、折叠菜单或退出登录,不维护具体业务单据。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 该页没有识别到固定查询区,按页面提示直接查看信息或使用菜单/按钮进入下一步。 + +**查询条件/输入项** +- 未识别到固定输入项,按现场页面提示操作。 + +**结果表重点列** +- 未识别到固定表格列,以页面实际显示为准。 + +**页面按钮/状态/页签** +- 未识别到明确按钮,以页面实际显示为准。 + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- 未发现页面级后台提交动作。 + +**操作注意事项** +- 操作后建议重新查询页面,确认列表、状态和明细已经刷新。 + +### 21.77 窗口自适应 + +页面路径:`src/views/layout/mixin/ResizeHandler.js` +所属模块:布局与导航 +建议使用人员:系统管理员/相关用户 + +页面用途:该文件属于系统布局和导航组件,用户通过它切换菜单、标签页、折叠菜单或退出登录,不维护具体业务单据。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 该页没有识别到固定查询区,按页面提示直接查看信息或使用菜单/按钮进入下一步。 + +**查询条件/输入项** +- 未识别到固定输入项,按现场页面提示操作。 + +**结果表重点列** +- 未识别到固定表格列,以页面实际显示为准。 + +**页面按钮/状态/页签** +- 未识别到明确按钮,以页面实际显示为准。 + +**弹窗/表单重点项** +- 未识别到固定弹窗或表单项。 + +**后台处理/外部接口** +- 未发现页面级后台提交动作。 + +**操作注意事项** +- 操作后建议重新查询页面,确认列表、状态和明细已经刷新。 + +## 21-13 登录 + +### 21.78 系统登录 + +页面路径:`src/views/login/index.vue` +所属模块:登录 +建议使用人员:系统管理员/相关用户 + +页面用途:该页面是系统登录入口,用户输入工号、密码并选择角色后进入 MES;同时提供修改密码功能。 + +**具体操作步骤** +1. 从左侧菜单进入该页,确认页面标题、当前账号和业务角色正确。 +2. 在查询区按需要填写筛选条件:`username`、`password`、`checked`、`Account`、`beforPassword`、`newPassword`、`againPassword`、`用户名`、`密码`。 +3. 点击页面上的查询或刷新类按钮获取最新数据;如果页面自动加载,则先核对默认列表是否符合当前业务范围。 +4. 查询后先核对关键列:`角色名称`。 +5. 需要维护已有记录时先选中目标行,再点击或触发表格内 `修改密码`,修改字段后保存并等待成功提示。 +6. 按业务需要点击 `登录`,操作前先确认选中行和输入内容。 +7. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +8. 需要维护已有记录时先选中目标行,再点击或触发表格内 `确定`,修改字段后保存并等待成功提示。 +9. 出现弹窗时按弹窗标题处理:`请选择登录角色`、`修改密码`;弹窗关闭前确认必填项已保存。 +10. 弹窗或表单内重点填写:`工号`、`原始密码`、`新密码`、`确认密码`,提交前逐项核对。 + +**查询条件/输入项** +- `username` +- `password` +- `checked` +- `Account` +- `beforPassword` +- `newPassword` +- `againPassword` +- `用户名` +- `密码` + +**结果表重点列** +- `角色名称` + +**页面按钮/状态/页签** +- `修改密码` +- `登录` +- `取消` +- `确定` + +**弹窗/表单重点项** +- `请选择登录角色` +- `修改密码` +- `工号` +- `原始密码` +- `新密码` +- `确认密码` + +**后台处理/外部接口** +- 未发现页面级后台提交动作。 + +**操作注意事项** +- 操作后建议重新查询页面,确认列表、状态和明细已经刷新。 diff --git a/doc_old/技术开发详细方案_2026-05-27.docx b/doc_old/技术开发详细方案_2026-05-27.docx new file mode 100644 index 0000000..6eb6961 Binary files /dev/null and b/doc_old/技术开发详细方案_2026-05-27.docx differ diff --git a/doc_old/技术开发详细方案_2026-05-27.md b/doc_old/技术开发详细方案_2026-05-27.md new file mode 100644 index 0000000..f0c69a3 --- /dev/null +++ b/doc_old/技术开发详细方案_2026-05-27.md @@ -0,0 +1,3441 @@ +# MES 新增需求技术开发详细方案 + +生成日期:2026-05-27 +依据文档: + +- `今后开发计划与新增需求分析记录_2026-05-27.docx` +- `今后开发计划_2026-05-27.md` +- `新增需求分析与开发记录_2026-05-23.md` +- `新增需求界面原型设计_2026-05-25.md` +- `隐性需求综合分析_2026-05-25.md` +- `MES_功能列表_页面_存储过程映射.md` +- `项目功能技术路线数据库分析报告_2026-05-22.md` +- `script.sql` + +## 1. 项目技术现状 + +### 1.1 前端技术栈 + +主系统目录:`MES_Manage_View_V20` + +技术栈: + +- Vue 2.7.16 +- Vue Router 3.6.5 +- Vuex 3.6.2 +- Element UI 2.15.14 +- Webpack 5 +- Axios 0.21.4 +- xlsx / xlsx-style 用于导出 +- vue-print-nb 用于打印 +- pdfjs-dist 用于图纸预览 +- mqtt 用于设备或网关通信 + +主业务页面位置: + +- `src/views/PlanManagement`:计划、排产、订单关闭。 +- `src/views/ProductionManagement`:生产中心、装配中心、工时、外协、异常、班次。 +- `src/views/QualityManagement`:质检中心、质检任务、质检明细、不合格品。 +- `src/views/ProcessManagement`:标准工艺、生产工艺、工序、图纸。 +- `src/views/DeviceManagement`:设备台账、设备实时数据、设备历史数据。 +- `src/views/SystemMaintenance`:工位、人员、权限等基础维护。 +- `src/views/AnomalousManagement/PunctualWork`:及时开工报表。 + +### 1.2 后端调用方式 + +系统现有模式不是 REST API,而是前端统一传存储过程名给 `.ashx` 网关执行。 + +调用方式: + +```text +Vue 页面 + -> this.CreateData(type, procedureName, params, pageSize, pageCurrent) + -> this.ExecDatabase(data) + -> MESCommonBase.ashx + -> SQL Server 存储过程 +``` + +常用 type: + +| type | 用途 | 说明 | +|---|---|---| +| `11` | 查询 | 返回列表或分页数据 | +| `12` | 新增、修改、删除 | 返回执行结果 | +| `7` | JSON 批量 | 用于批量排产等 | +| `2001` | 导出 | 现有导出相关逻辑使用 | + +参数格式: + +```js +const param = [] +param.push(['订单号', this.query.订单号]) +param.push(['合同号', this.query.合同号]) +const data = this.CreateData('11', '存储过程名', param, this.pageSize, this.pageCurrent) +this.ExecDatabase(data).then(res => { ... }) +``` + +### 1.3 核心数据库对象 + +本轮开发必须优先复用以下核心表和视图。 + +#### 生产计划主表 + +表:`MES_接口_生产计划` + +关键字段: + +| 字段 | 类型 | 说明 | +|---|---|---| +| `订单编号` | int | 生产订单号,主键 | +| `合同号` | nvarchar(50) | 合同维度 | +| `订单状态` | nvarchar(50) | SAP/MES 订单状态 | +| `物料编号` | nvarchar(500) | 主物料编码 | +| `物料描述` | nvarchar(500) | 主物料名称 | +| `计划数量` | decimal(16,2) | 订单计划数量 | +| `计划开始` | datetime | 订单计划开始 | +| `计划完成` | datetime | 订单计划完成 | +| `同步时间` | datetime | SAP/MES 同步时间 | +| `任务状态` | int | 订单任务状态 | +| `齐套` | float | 齐套状态或齐套比例 | +| `预计齐套时间` | datetime | 现有预计齐套时间 | +| `齐套时间` | datetime | 现有齐套时间 | +| `发料状态` | nvarchar(50) | 发料状态 | +| `拣配状态` | nvarchar(50) | 拣配状态 | +| `发货状态` | nvarchar(50) | 发货状态 | +| `要求发货日期` | datetime | 发货要求日期 | +| `入库数量` | decimal(19,6) | 入库数量 | +| `确认状态` | nvarchar(50) | 现有确认状态 | + +#### 生产任务表 + +表:`MES_接口_生产计划_生产任务` + +关键字段: + +| 字段 | 类型 | 说明 | +|---|---|---| +| `AID` | bigint | TaskAID,任务主键 | +| `订单编号` | int | 生产订单号 | +| `订单行号` | int | SAP/MES 行号 | +| `订单拆分内码` | int | 拆分内码 | +| `物料编码` | nvarchar(500) | 任务物料编码 | +| `物料名称` | nvarchar(500) | 任务物料名称 | +| `工序名称` | nvarchar(50) | 工序 | +| `顺序编号` | int | 工序顺序 | +| `总工时` | decimal(16,2) | 任务总工时,现有字段 | +| `指派对象编号` | nvarchar(50) | 指派对象编号 | +| `指派对象` | nvarchar(50) | 设备/工位/外协/装配等 | +| `指派数量` | decimal(16,2) | 指派数量 | +| `计划开始时间` | datetime | 任务计划开始 | +| `计划完成时间` | datetime | 任务计划完成 | +| `派工时间` | datetime | 现有派工时间 | +| `任务状态` | int | 任务状态 | +| `开工时间` | datetime | 开工时间 | +| `完工时间` | datetime | 完工时间 | +| `完成数量` | int | 完成数 | +| `合格数量` | int | 合格数 | +| `不合格数量` | int | 不合格数 | +| `让步放行数量` | int | 让步放行数 | +| `报废数量` | int | 报废数 | +| `外协通知` | int | 外协通知状态 | +| `外协备注` | nvarchar(500) | 外协备注 | +| `外协分组` | nvarchar(50) | 外协分组 | + +#### 生产订单视图 + +视图:`View_生产订单_MES` + +说明:目前多数计划、排产、生产任务查询均基于该视图。新增报表优先从该视图读取生产订单和任务基础信息。 + +#### 生产操作记录 + +表:`YL_加工中心_操作记录表` + +用途: + +- 现场开工、暂停、报工、辅助开始/结束、异常等操作记录。 +- 及时检验起算时间。 +- 历史工时查询。 +- 班次产量表。 +- 当前对应人员和当前对应内容。 + +现有字段从视图和过程可见: + +| 字段 | 说明 | +|---|---| +| `TaskAID` | 关联生产任务 | +| `操作类别` | 开始加工、报工、辅助结束、异常等 | +| `操作人` | 人员 | +| `工位编号` / `工位名称` | 工位/设备 | +| `开始时间` / `结束时间` | 操作时间段 | +| `工时` | 秒或分钟,现有过程按 `工时 > 0` 汇总 | +| `操作数值` | 数量或工时数值 | +| `操作内容` | 工作内容 | +| `操作描述` / `异常说明` | 说明 | + +#### 质检记录 + +表:`YL_质量检验_质检记录` + +用途: + +- 及时检验报表。 +- 生产日报-送检。 +- 让步接收记录。 +- 外协任务检验字段补充。 +- 产品合格率。 + +关键字段: + +| 字段 | 说明 | +|---|---| +| `QT_AID` | 质检主键 | +| `TaskAID` | 关联生产任务 | +| `计划号` | 生产订单 | +| `零件编码` / `零件名称` | 物料 | +| `工序名称` | 工序 | +| `质检类型` / `检测类型编号` | 首检、巡检、序检、收检、终检等 | +| `检验数量` | 检验数 | +| `合格数` | 合格数 | +| `不合格数` | 不合格数 | +| `检测人` | 检验人 | +| `检测时间` | 检验时间 | +| `检测说明` | 说明 | + +#### 设备采集相关表 + +| 表 | 说明 | +|---|---| +| `CaChe_Var` | 设备变量当前缓存 | +| `历史_设备数据_定时` | 设备历史采集点位数据 | +| `历史_工位设备状态每分钟记录` | 工位状态每分钟快照 | +| `YL_设备管理_设备台账` | 设备台账 | +| `YL_设备管理_工时记录` | 设备循环时间采集记录 | + +## 2. 总体开发原则 + +### 2.1 页面开发原则 + +1. 保持现有 Element UI 风格:顶部筛选区、中间按钮区、下方表格、弹窗明细。 +2. 报表页面只做查询、导出、打印、钻取,不承担基础主数据维护。 +3. 待办类页面可以做状态确认,例如手续确认。 +4. 能扩展现有页面的,不新建孤立维护页面。 +5. 所有新增页面必须同步菜单、按钮权限、路由组件、操作日志。 +6. 所有新增表格都要支持分页,避免一次性查全量。 +7. 时间筛选全部统一为闭区间:开始日 `00:00:00` 到结束日 `23:59:59`。 +8. 导出字段必须与页面字段一致。 + +### 2.2 数据库开发原则 + +1. 优先复用现有表和视图。 +2. 新增字段优先加在业务主表或扩展表,不能只存在报表 SQL 中。 +3. 人工维护字段必须有维护人、维护时间、原值、新值或日志。 +4. SAP 来源字段必须有同步时间和同步状态。 +5. 设备采集数据必须先落原始数据,再做汇总,不直接覆盖业务结果。 +6. 报表公共口径优先做视图或公共存储过程,不允许每个报表各写一套算法。 +7. 看板类过程必须可传统计日期;实时看板默认 `GETDATE()`。 +8. 写操作过程必须返回 `result`、`message`,批量操作要返回每行结果。 + +### 2.3 命名规范 + +新增表建议命名: + +```text +业务域_模块_对象 +例:生产管理_装配已排产需求_维护字段 +例:生产管理_设计任务 +例:生产管理_编程任务 +``` + +新增存储过程建议命名: + +```text +业务域_页面_动作 +例:生产管理_装配已排产需求_查询 +例:生产管理_装配已排产需求_维护字段保存 +例:质量管理_及时检验报表_查询 +``` + +如复用原有 MES 前缀,也可以使用: + +```text +MES_AssemblyPlannedDemand_Query +MES_AssemblyPlannedDemand_SaveManualFields +``` + +本项目已有大量中文过程名,建议新增需求优先用中文业务名,便于现场维护。 + +## 3. 通用新增基础表 + +以下表建议作为多需求共用基础能力,避免每个需求重复建字段。 + +### 3.1 SAP 调用日志表 + +表名:`系统集成_SAP调用日志` + +用途: + +- 批量关闭 SAP 订单。 +- 外协采购收货单号追踪。 +- 发货通知、缺件明细、派工时间、合同交货期同步。 +- 后续 SAP 失败重试和对账。 + +建议 SQL: + +```sql +CREATE TABLE dbo.系统集成_SAP调用日志 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 业务类型 nvarchar(50) NOT NULL, + 业务主键 nvarchar(100) NULL, + 生产订单 int NULL, + TaskAID bigint NULL, + SAP对象类型 nvarchar(50) NULL, + SAP单据号 nvarchar(100) NULL, + 请求地址 nvarchar(500) NULL, + 请求方法 nvarchar(20) NULL, + 请求内容 nvarchar(max) NULL, + 返回内容 nvarchar(max) NULL, + 执行结果 nvarchar(20) NOT NULL, + 失败原因 nvarchar(max) NULL, + 请求人 nvarchar(50) NULL, + 请求时间 datetime NOT NULL DEFAULT GETDATE(), + 完成时间 datetime NULL, + 是否可重试 bit NOT NULL DEFAULT 0, + 重试次数 int NOT NULL DEFAULT 0 +); +``` + +索引: + +```sql +CREATE INDEX IX_系统集成_SAP调用日志_生产订单 ON dbo.系统集成_SAP调用日志(生产订单); +CREATE INDEX IX_系统集成_SAP调用日志_业务类型_时间 ON dbo.系统集成_SAP调用日志(业务类型, 请求时间); +``` + +### 3.2 业务字段维护日志表 + +表名:`系统管理_业务字段维护日志` + +用途: + +- 装配完成时间人工修改。 +- 钣金预达、钣金到达、泵预达、泵到达维护。 +- 预计总工时维护。 +- 预计可执行时间维护。 +- 手续确认等人工确认字段。 + +建议 SQL: + +```sql +CREATE TABLE dbo.系统管理_业务字段维护日志 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 业务模块 nvarchar(100) NOT NULL, + 业务表名 nvarchar(100) NULL, + 业务主键 nvarchar(100) NOT NULL, + 字段名 nvarchar(100) NOT NULL, + 原值 nvarchar(max) NULL, + 新值 nvarchar(max) NULL, + 维护说明 nvarchar(500) NULL, + 维护人 nvarchar(50) NOT NULL, + 维护时间 datetime NOT NULL DEFAULT GETDATE() +); +``` + +索引: + +```sql +CREATE INDEX IX_系统管理_业务字段维护日志_业务 ON dbo.系统管理_业务字段维护日志(业务模块, 业务主键); +``` + +### 3.3 统一异常关联表 + +现有已有异常管控页面和异常工时逻辑,但本轮要求所有报工页面选中任务直接报异常,且审批人多选。建议在不推翻现有异常管控的前提下增加关联表。 + +表名:`生产管理_异常管控_任务异常` + +```sql +CREATE TABLE dbo.生产管理_异常管控_任务异常 ( + 异常AID bigint IDENTITY(1,1) PRIMARY KEY, + 异常编号 nvarchar(50) NOT NULL, + 来源模块 nvarchar(50) NOT NULL, + 生产订单 int NULL, + TaskAID bigint NULL, + 工序名称 nvarchar(50) NULL, + 指派对象 nvarchar(50) NULL, + 异常类型 nvarchar(50) NULL, + 异常说明 nvarchar(1000) NULL, + 附件ID nvarchar(500) NULL, + 状态 nvarchar(20) NOT NULL DEFAULT N'待处理', + 发起人 nvarchar(50) NOT NULL, + 发起时间 datetime NOT NULL DEFAULT GETDATE(), + 实际处理人 nvarchar(50) NULL, + 处理时间 datetime NULL, + 处理意见 nvarchar(1000) NULL, + 是否关闭 bit NOT NULL DEFAULT 0 +); + +CREATE TABLE dbo.生产管理_异常管控_审批人 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 异常AID bigint NOT NULL, + 审批人编号 int NULL, + 审批人姓名 nvarchar(50) NOT NULL, + 是否已处理 bit NOT NULL DEFAULT 0, + 处理时间 datetime NULL +); +``` + +索引: + +```sql +CREATE INDEX IX_生产管理_异常管控_任务异常_TaskAID ON dbo.生产管理_异常管控_任务异常(TaskAID, 是否关闭); +CREATE INDEX IX_生产管理_异常管控_审批人_人员 ON dbo.生产管理_异常管控_审批人(审批人姓名, 是否已处理); +``` + +## 4. 需求 1:及时开工报表 + +### 4.1 现有页面 + +页面:`src/views/AnomalousManagement/PunctualWork/index.vue` + +现状: + +- 当前按指派对象过滤偏向反选逻辑。 +- 需求要求增加正选页面或正选模式。 +- 真实目标不是重做及时开工算法,只改筛选方式。 + +### 4.2 页面方案 + +在查询区新增: + +| 控件 | 类型 | 默认值 | 说明 | +|---|---|---|---| +| 指派对象 | `el-select multiple` | 全部 | 复用现有设备/工位下拉 | +| 查询模式 | `el-radio-group` 或 `el-select` | 排除 | 包含、排除 | + +页面展示: + +```text +指派对象:[多选] 查询模式:[包含/排除] [查询] [重置] [导出] +``` + +交互规则: + +- 查询模式=包含:只查选中指派对象。 +- 查询模式=排除:排除选中指派对象。 +- 未选择指派对象:不增加指派对象条件。 +- 默认保留原逻辑,避免影响现场使用习惯。 + +### 4.3 存储过程 + +建议扩展现有及时开工过程,增加参数: + +```sql +@指派对象 nvarchar(max) = N'', +@指派对象查询模式 nvarchar(10) = N'排除' +``` + +过滤逻辑: + +```sql +IF ISNULL(@指派对象, '') <> '' +BEGIN + IF @指派对象查询模式 = N'包含' + SET @where = @where + N' AND 指派对象 IN (SELECT value FROM STRING_SPLIT(@指派对象, '',''))' + ELSE + SET @where = @where + N' AND 指派对象 NOT IN (SELECT value FROM STRING_SPLIT(@指派对象, '',''))' +END +``` + +注意: + +- 现有很多过程使用字符串拼接动态 SQL,后续应尽量用 `sp_executesql` 参数化,降低注入风险。 +- 如果 `.ashx` 传参不支持 `nvarchar(max)`,可用 `nvarchar(4000)`。 + +### 4.4 不需要新增表 + +该需求只改页面和存储过程参数,不新增表。 + +## 5. 需求 2:机加件排产-表单 + +包含两件事: + +1. 已排产页面日期筛选优化。 +2. 新增历史工时查询,总工时列和明细弹窗。 + +### 5.1 现有页面 + +页面:`src/views/PlanManagement/SelfMakePlandone/index.vue` + +现有查询过程:`MES_OrderPlanned_Query` + +现有过程参数: + +```sql +@计划开始1 nvarchar(50)='', +@计划开始2 nvarchar(50)='', +@计划完成1 nvarchar(50)='', +@计划完成2 nvarchar(50)='' +``` + +### 5.2 页面日期筛选 + +改造前: + +- 计划开始时间为时间段。 +- 计划完成时间为时间段。 + +改造后: + +| 字段 | 控件 | 参数传递 | +|---|---|---| +| 计划开始日期 | `el-date-picker type="date"` | 传 `计划开始日期` | +| 计划完成日期 | `el-date-picker type="date"` | 传 `计划完成日期` | + +前端传参方式: + +```js +if (this.query.计划开始日期) { + param.push(['计划开始日期', this.query.计划开始日期]) +} +if (this.query.计划完成日期) { + param.push(['计划完成日期', this.query.计划完成日期]) +} +``` + +兼容方案: + +- 为减少影响,可以继续传旧参数: + - `计划开始1 = yyyy-MM-dd 00:00:00` + - `计划开始2 = yyyy-MM-dd 23:59:59` + - `计划完成1 = yyyy-MM-dd 00:00:00` + - `计划完成2 = yyyy-MM-dd 23:59:59` +- 存储过程也可新增单日期参数,旧参数保留。 + +### 5.3 存储过程改造 + +建议扩展 `MES_OrderPlanned_Query`: + +```sql +ALTER PROCEDURE dbo.MES_OrderPlanned_Query + @订单号 int = 0, + ... + @计划开始日期 nvarchar(50) = '', + @计划完成日期 nvarchar(50) = '', + @指派对象查询模式 nvarchar(10) = N'包含' +AS +BEGIN + ... + IF (@计划开始日期 <> '') + SET @selectStrWhere = @selectStrWhere + + ' AND [计划开始时间] >= ''' + @计划开始日期 + ' 00:00:00'' + AND [计划开始时间] < DATEADD(DAY, 1, ''' + @计划开始日期 + ''')' + + IF (@计划完成日期 <> '') + SET @selectStrWhere = @selectStrWhere + + ' AND [计划完成时间] >= ''' + @计划完成日期 + ' 00:00:00'' + AND [计划完成时间] < DATEADD(DAY, 1, ''' + @计划完成日期 + ''')' +END +``` + +更稳妥写法是把日期转成 `date` 类型后参数化。 + +### 5.4 总工时列 + +表格新增列: + +| 列名 | 字段 | 交互 | +|---|---|---| +| 总工时 | `历史总工时` | 蓝色可点击,点击打开明细 | + +总工时口径: + +- 数据来源:`YL_加工中心_操作记录表` +- 过滤:`TaskAID = 当前任务 TaskAID`,`工时 > 0` +- 默认包含:报工、辅助结束、加班等正向工时。 +- 默认排除:异常负工时、未结束记录。 +- 单位:建议统一显示小时,保留 2 位小数。 + +### 5.5 新增存储过程 + +#### 5.5.1 总工时汇总 + +过程名:`生产管理_机加已排产_历史工时汇总` + +参数: + +| 参数 | 类型 | 说明 | +|---|---|---| +| `@TaskAID` | bigint | 可选,单任务 | +| `@订单号` | int | 可选,订单 | +| `@开始日期` | date | 可选 | +| `@结束日期` | date | 可选 | + +返回字段: + +| 字段 | 说明 | +|---|---| +| `TaskAID` | 任务 | +| `订单编号` | 订单 | +| `工序名称` | 工序 | +| `总工时分钟` | 分钟 | +| `总工时小时` | 小时 | + +SQL 示例: + +```sql +CREATE PROCEDURE dbo.生产管理_机加已排产_历史工时汇总 + @TaskAID bigint = NULL, + @订单号 int = NULL, + @开始日期 date = NULL, + @结束日期 date = NULL +AS +BEGIN + SET NOCOUNT ON; + + SELECT + o.TaskAID, + MAX(t.订单编号) AS 订单编号, + MAX(o.工序名称) AS 工序名称, + SUM(ISNULL(o.工时, 0)) AS 总工时分钟, + CAST(SUM(ISNULL(o.工时, 0)) / 60.0 AS decimal(18,2)) AS 总工时小时 + FROM dbo.YL_加工中心_操作记录表 o + LEFT JOIN dbo.MES_接口_生产计划_生产任务 t ON o.TaskAID = t.AID + WHERE ISNULL(o.工时, 0) > 0 + AND (@TaskAID IS NULL OR o.TaskAID = @TaskAID) + AND (@订单号 IS NULL OR t.订单编号 = @订单号) + AND (@开始日期 IS NULL OR o.开始时间 >= @开始日期) + AND (@结束日期 IS NULL OR o.开始时间 < DATEADD(DAY, 1, @结束日期)) + GROUP BY o.TaskAID; +END +``` + +#### 5.5.2 历史工时明细 + +过程名:`生产管理_机加已排产_历史工时明细` + +参数: + +| 参数 | 类型 | 说明 | +|---|---|---| +| `@TaskAID` | bigint | 必填 | + +返回字段: + +| 字段 | 说明 | +|---|---| +| `设备名称` | 工位名称 | +| `日期` | 开始时间日期 | +| `生产订单` | 订单编号 | +| `物料编码` | 物料编码 | +| `物料名称` | 物料名称 | +| `工序名称` | 工序 | +| `操作人` | 操作人 | +| `开始时间` | 开始 | +| `结束时间` | 结束 | +| `工时分钟` | 分钟 | +| `工时小时` | 小时 | +| `设备日期小计小时` | 前端可展示分组合计 | + +SQL 示例: + +```sql +CREATE PROCEDURE dbo.生产管理_机加已排产_历史工时明细 + @TaskAID bigint +AS +BEGIN + SET NOCOUNT ON; + + SELECT + o.工位名称 AS 设备名称, + CONVERT(date, o.开始时间) AS 日期, + t.订单编号 AS 生产订单, + t.物料编码, + t.物料名称, + o.工序名称, + o.操作人, + o.开始时间, + o.结束时间, + ISNULL(o.工时, 0) AS 工时分钟, + CAST(ISNULL(o.工时, 0) / 60.0 AS decimal(18,2)) AS 工时小时, + CAST(SUM(ISNULL(o.工时, 0)) OVER (PARTITION BY o.工位名称, CONVERT(date, o.开始时间)) / 60.0 AS decimal(18,2)) AS 设备日期小计小时 + FROM dbo.YL_加工中心_操作记录表 o + LEFT JOIN dbo.MES_接口_生产计划_生产任务 t ON o.TaskAID = t.AID + WHERE o.TaskAID = @TaskAID + AND ISNULL(o.工时, 0) > 0 + ORDER BY o.工位名称, CONVERT(date, o.开始时间), o.开始时间; +END +``` + +### 5.6 前端弹窗 + +弹窗名:历史工时明细 + +结构: + +```text +设备:CNC-01 小计:12.50小时 + 日期:2026-05-28 小计:8.00小时 + 任务明细表 + 日期:2026-05-29 小计:4.50小时 + 任务明细表 +``` + +Element UI 实现建议: + +- 用 `el-dialog`。 +- 明细用 `el-table` 展示,按设备、日期排序。 +- 如需要折叠效果,使用前端 computed 分组。 +- 总工时列点击时调用 `生产管理_机加已排产_历史工时明细`。 + +### 5.7 不建议新增表 + +本需求只需要新增两个查询过程,不需要新增表。 + +## 6. 需求 3:装配已排产需求 + +### 6.1 定位 + +这是本轮最大的独立子项目,不是简单报表。 + +页面目标: + +- 基于装配已排产数据。 +- 整合 SAP 字段、MES 报工、工时、异常、齐套时间、装配完成时间、日计划。 +- 支持部分人工维护字段。 + +建议页面路径: + +```text +src/views/ProductionManagement/AssemblyPlannedDemand/index.vue +``` + +菜单建议: + +```text +生产管理 -> 装配管理 -> 装配已排产需求 +``` + +### 6.2 页面布局 + +页面结构: + +```text +查询区: +系统分类[全部/系统/非系统] 合同号 生产订单 物料编码/名称 +发料齐套时间[起止] 装配完成时间[起止] 状态[全部] +[查询] [重置] [导出] [日计划] [打印] + +主表: +生产订单 合同号 物料编码 物料名称 系统/非系统 派工时间 合同交货期 +发料齐套时间 装配完成时间 当前对应人员 当前对应内容 +生产订单累计工时 合同工时汇总 合同进度参考 预计总工时 预计剩余工时 +钣金预达 钣金到达 泵 生产异常 历史工序说明 操作 + +操作列: +[维护] [工时明细] [异常明细] [历史工序] [日计划] +``` + +### 6.3 字段口径 + +| 字段 | 来源 | 维护方式 | 说明 | +|---|---|---|---| +| 生产订单 | `MES_接口_生产计划.订单编号` | 只读 | 主键 | +| 合同号 | `MES_接口_生产计划.合同号` | 只读 | 合同维度 | +| 物料编码 | `MES_接口_生产计划.物料编号` | 只读 | 主物料 | +| 物料名称 | `MES_接口_生产计划.物料描述` | 只读 | 主物料名称 | +| 系统/非系统 | 规则计算 | 只读 | 高压冷却为系统,阀类非高压冷却为非系统 | +| 派工时间 | SAP 或任务表 `派工时间` | 只读 | 以 SAP 提供为准;现任务表已有派工时间 | +| 合同交货期 | SAP | 只读 | 需同步字段 | +| 发料齐套时间 | SAP/MES 齐套字段 | 可必要维护 | 优先使用 `齐套时间` 或后续 SAP 字段 | +| 装配完成时间 | 发料齐套时间 + 3 天 | 可维护 | 人工修改需记录日志 | +| 钣金预达 | 人工维护 | 可维护 | 过程字段 | +| 钣金到达 | 人工维护 | 可维护 | 过程字段 | +| 泵 | 人工维护 | 可维护 | 建议拆成泵预达/泵到达或说明 | +| 当前对应人员 | 操作记录 | 只读 | 开始未结束的人,多个合并 | +| 当前对应内容 | 操作记录/新增字段 | 只读/维护 | 装配开始时输入的工作内容 | +| 生产订单累计工时 | 工时汇总 | 只读 | 按生产订单分类汇总装配、质量、设计 | +| 历史工序说明 | 报工结束说明 | 只读 | 多条合并或明细弹窗 | +| 预计总工时 | 人工维护 | 可维护 | 订单级 | +| 合同工时汇总 | 工时汇总 | 只读 | 合同下所有订单 | +| 合同进度参考 | 计算 | 只读 | 累计工时 / 预计总工时 | +| 预计剩余工时 | 计算 | 只读 | 预计总工时 - 累计工时 | +| 生产异常 | 异常表 | 只读 | 未关闭异常数和明细 | + +### 6.4 建议新增字段 + +优先不要直接无限扩展主表。建议建订单扩展表。 + +表名:`生产管理_装配已排产需求_扩展` + +```sql +CREATE TABLE dbo.生产管理_装配已排产需求_扩展 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 订单编号 int NOT NULL, + 发料齐套时间 datetime NULL, + 发料齐套时间来源 nvarchar(50) NULL, + 装配完成时间 datetime NULL, + 装配完成时间是否人工修改 bit NOT NULL DEFAULT 0, + SAP派工时间 datetime NULL, + 合同交货期 datetime NULL, + 钣金预达 datetime NULL, + 钣金到达 datetime NULL, + 泵预达 datetime NULL, + 泵到达 datetime NULL, + 泵说明 nvarchar(500) NULL, + 预计总工时 decimal(18,2) NULL, + 备注 nvarchar(1000) NULL, + 最后维护人 nvarchar(50) NULL, + 最后维护时间 datetime NULL, + 创建时间 datetime NOT NULL DEFAULT GETDATE() +); + +CREATE UNIQUE INDEX UX_生产管理_装配已排产需求_扩展_订单编号 +ON dbo.生产管理_装配已排产需求_扩展(订单编号); +``` + +### 6.5 当前对应内容 + +当前系统 `MES_人员工时记录_开始` 和装配中心已有人员工时逻辑。需求要求“装配开始时输入工作内容”。如果现有开始记录没有工作内容字段,应补字段到对应记录表。由于实际装配人员工时表名需从存储过程确认,建议先通过 `MES_人员工时记录_开始` 的落表对象确认。 + +建议新增字段: + +```sql +ALTER TABLE dbo.YL_加工中心_操作记录表 ADD 当前工作内容 nvarchar(1000) NULL; +``` + +如果装配人员工时独立表存在,应加在装配人员工时表,而不是操作记录表。 + +前端改造: + +- `AssemblyCenter` 开始装配弹窗增加 `工作内容`。 +- 调用 `MES_人员工时记录_开始` 时增加参数 `@工作内容`。 +- 未结束记录的人员和工作内容在装配已排产需求页展示。 + +### 6.6 工时汇总视图 + +建议新增统一工时视图,供装配已排产需求、合同工时、工时报表复用。 + +视图名:`View_统一工时明细` + +字段: + +| 字段 | 说明 | +|---|---| +| `来源模块` | 机加、装配、质量、设计、编程、设备 | +| `工时类型` | 装配、质量、设计等 | +| `生产订单` | 订单 | +| `合同号` | 合同 | +| `TaskAID` | 任务,可空 | +| `工序名称` | 工序 | +| `操作人` | 人员 | +| `开始时间` | 开始 | +| `结束时间` | 结束 | +| `工时分钟` | 分钟 | +| `工时小时` | 小时 | + +第一阶段可只接入: + +- 装配:`MES_人员工时记录_*` 对应表或 `YL_加工中心_操作记录表` +- 质量:质检中心人员工时记录或操作记录 +- 设计:设计任务报工表,等设计模块完成后接入 + +### 6.7 查询存储过程 + +过程名:`生产管理_装配已排产需求_查询` + +参数: + +| 参数 | 类型 | +|---|---| +| `@系统分类` | nvarchar(20),全部/系统/非系统 | +| `@合同号` | nvarchar(50) | +| `@订单编号` | int | +| `@物料` | nvarchar(100) | +| `@发料齐套开始` | date | +| `@发料齐套结束` | date | +| `@装配完成开始` | date | +| `@装配完成结束` | date | +| `@状态` | nvarchar(50) | + +核心 SQL 口径: + +```sql +SELECT + p.订单编号, + p.合同号, + p.物料编号, + p.物料描述, + CASE + WHEN p.物料描述 LIKE N'%高压冷却%' THEN N'系统' + ELSE N'非系统' + END AS 系统分类, + ISNULL(e.SAP派工时间, MAX(t.派工时间)) AS 派工时间, + e.合同交货期, + COALESCE(e.发料齐套时间, p.齐套时间, p.预计齐套时间) AS 发料齐套时间, + COALESCE(e.装配完成时间, DATEADD(DAY, 3, COALESCE(e.发料齐套时间, p.齐套时间, p.预计齐套时间))) AS 装配完成时间, + e.钣金预达, + e.钣金到达, + e.泵预达, + e.泵到达, + e.泵说明, + e.预计总工时, + wh.生产订单累计工时, + chw.合同工时汇总, + CASE WHEN ISNULL(e.预计总工时,0) = 0 THEN NULL + ELSE CAST(wh.生产订单累计工时 / e.预计总工时 AS decimal(18,4)) + END AS 合同进度参考, + ISNULL(e.预计总工时,0) - ISNULL(wh.生产订单累计工时,0) AS 预计剩余工时, + cur.当前对应人员, + cur.当前对应内容, + abn.未关闭异常数 +FROM dbo.MES_接口_生产计划 p +LEFT JOIN dbo.MES_接口_生产计划_生产任务 t ON p.订单编号 = t.订单编号 +LEFT JOIN dbo.生产管理_装配已排产需求_扩展 e ON p.订单编号 = e.订单编号 +LEFT JOIN (...) wh ON p.订单编号 = wh.生产订单 +LEFT JOIN (...) chw ON p.合同号 = chw.合同号 +LEFT JOIN (...) cur ON p.订单编号 = cur.生产订单 +LEFT JOIN (...) abn ON p.订单编号 = abn.生产订单 +WHERE p.自制件属性 LIKE N'%装配%' +GROUP BY ... +``` + +### 6.8 保存维护字段过程 + +过程名:`生产管理_装配已排产需求_维护字段保存` + +参数: + +- `@订单编号 int` +- `@发料齐套时间 datetime = NULL` +- `@装配完成时间 datetime = NULL` +- `@钣金预达 datetime = NULL` +- `@钣金到达 datetime = NULL` +- `@泵预达 datetime = NULL` +- `@泵到达 datetime = NULL` +- `@泵说明 nvarchar(500) = NULL` +- `@预计总工时 decimal(18,2) = NULL` +- `@备注 nvarchar(1000) = NULL` +- `@维护人 nvarchar(50)` + +逻辑: + +1. 如果扩展表不存在订单记录,插入。 +2. 如果存在,更新。 +3. 对每个字段写 `系统管理_业务字段维护日志`。 +4. 返回 `result=1`。 + +### 6.9 工时明细过程 + +过程名:`生产管理_装配已排产需求_工时明细` + +参数: + +- `@订单编号 int` +- `@合同号 nvarchar(50)` +- `@工时类型 nvarchar(50)`,全部/装配/质量/设计 + +返回: + +- 来源模块 +- 工时类型 +- 生产订单 +- 合同号 +- TaskAID +- 工序名称 +- 操作人 +- 开始时间 +- 结束时间 +- 工时小时 +- 工作内容 +- 结束说明 + +### 6.10 异常明细过程 + +过程名:`生产管理_装配已排产需求_异常明细` + +数据来源: + +- 优先:`生产管理_异常管控_任务异常` +- 兼容:现有异常管控表或 `YL_加工中心_操作记录表` 中 `操作类别='异常'` + +返回: + +- 异常编号 +- 异常类型 +- 异常说明 +- 发起人 +- 发起时间 +- 状态 +- 处理人 +- 处理时间 + +### 6.11 日计划 + +页面按钮:`日计划` + +规则: + +- 按装配完成时间分组。 +- 未完成、未入库、未关闭的任务进入计划。 +- 支持导出、打印。 + +过程名:`生产管理_装配已排产需求_日计划` + +参数: + +- `@计划日期 date` +- `@系统分类 nvarchar(20)` + +返回字段: + +- 计划日期 +- 生产订单 +- 合同号 +- 物料编码 +- 物料名称 +- 装配完成时间 +- 当前对应人员 +- 当前对应内容 +- 异常状态 +- 备注 + +打印: + +- 使用 `vue-print-nb`。 +- 打印区域为日计划表格。 +- 标题:`装配日计划 YYYY-MM-DD`。 + +## 7. 需求 4:生产日报-送检 + +### 7.1 页面定位 + +建议新增页面: + +```text +src/views/ReportManagement/InspectionDaily/index.vue +``` + +如果项目没有 `ReportManagement`,可放在: + +```text +src/views/ProductionManagement/InspectionDaily/index.vue +``` + +菜单建议: + +```text +报表中心 -> 生产日报 -> 生产日报-送检 +``` + +页面采用两个页签: + +- 机加送检日报 +- 装配送检日报 + +### 7.2 页面布局 + +```text +页签:[机加送检日报] [装配送检日报] + +查询区: +日期[单日/日期范围] 部门[全部] 生产订单 物料 工序 状态 +[查询] [重置] [导出] + +汇总区: +送检数量 已检数量 合格数量 不合格数量 未检数量 及时率 + +表格: +日期 部门 生产订单 物料编码 物料名称 工序名称 送检数量 +已检数量 合格数量 不合格数量 未检数量 送检时间 检验时间 状态 +``` + +### 7.3 需要确认的数据 + +| 数据 | 需要确认 | +|---|---| +| 送检记录来源 | 装配送检是否来自 `MES_ProductTask_SendInspection` 写入的记录,机加送检是否来自质检任务或操作记录 | +| 部门归属 | 按操作人部门、工位部门、任务部门还是物料/订单类型 | +| 送检数量 | 取操作记录 `操作数值`,还是质检记录 `检验数量` | +| 已检数量 | 质检记录合计 | +| 状态 | 未检、部分检验、已检、超期 | + +### 7.4 建议视图 + +视图名:`View_生产日报_送检明细` + +字段: + +| 字段 | 来源 | +|---|---| +| 日期 | 送检时间日期 | +| 送检类型 | 机加/装配 | +| 部门 | 人员部门或工位部门 | +| 生产订单 | 任务订单 | +| TaskAID | 任务 | +| 物料编码 | 任务物料 | +| 物料名称 | 任务物料 | +| 工序名称 | 任务工序 | +| 指派对象 | 任务指派对象 | +| 送检数量 | 送检记录 | +| 已检数量 | 质检记录 | +| 合格数量 | 质检记录 | +| 不合格数量 | 质检记录 | +| 未检数量 | 送检数量 - 已检数量 | +| 送检时间 | 送检记录时间 | +| 检验时间 | 最后检验时间 | +| 状态 | 计算 | + +### 7.5 存储过程 + +过程名:`生产日报_送检_查询` + +参数: + +| 参数 | 类型 | +|---|---| +| `@送检类型` | nvarchar(20),机加/装配 | +| `@开始日期` | date | +| `@结束日期` | date | +| `@部门` | nvarchar(50) | +| `@生产订单` | int | +| `@物料` | nvarchar(100) | +| `@状态` | nvarchar(20) | + +核心逻辑: + +```sql +SELECT + 日期, + 部门, + 生产订单, + 物料编码, + 物料名称, + 工序名称, + SUM(送检数量) AS 送检数量, + SUM(已检数量) AS 已检数量, + SUM(合格数量) AS 合格数量, + SUM(不合格数量) AS 不合格数量, + SUM(未检数量) AS 未检数量, + MIN(送检时间) AS 最早送检时间, + MAX(检验时间) AS 最后检验时间, + CASE + WHEN SUM(已检数量) = 0 THEN N'未检' + WHEN SUM(未检数量) > 0 THEN N'部分检验' + ELSE N'已检' + END AS 状态 +FROM dbo.View_生产日报_送检明细 +WHERE 日期 >= @开始日期 + AND 日期 < DATEADD(DAY, 1, @结束日期) + AND (@送检类型 = N'全部' OR 送检类型 = @送检类型) +GROUP BY 日期, 部门, 生产订单, 物料编码, 物料名称, 工序名称 +ORDER BY 日期, 部门, 生产订单; +``` + +### 7.6 是否新增表 + +第一阶段不新增表,使用视图 + 存储过程。 + +如果客户要求日报定版,需要新增快照表: + +```sql +CREATE TABLE dbo.生产日报_送检_日报快照 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 统计日期 date NOT NULL, + 送检类型 nvarchar(20) NOT NULL, + 部门 nvarchar(50) NULL, + 生产订单 int NULL, + TaskAID bigint NULL, + 物料编码 nvarchar(100) NULL, + 物料名称 nvarchar(500) NULL, + 工序名称 nvarchar(100) NULL, + 送检数量 decimal(18,2) NULL, + 已检数量 decimal(18,2) NULL, + 合格数量 decimal(18,2) NULL, + 不合格数量 decimal(18,2) NULL, + 未检数量 decimal(18,2) NULL, + 状态 nvarchar(20) NULL, + 生成时间 datetime NOT NULL DEFAULT GETDATE(), + 生成人 nvarchar(50) NULL +); +``` + +## 8. 需求 5:及时齐套跟踪结果报表 + +### 8.1 页面定位 + +新增页面: + +```text +src/views/ProductionManagement/KitTrackingResult/index.vue +``` + +菜单建议: + +```text +报表中心 -> 齐套报表 -> 及时齐套跟踪结果报表 +``` + +### 8.2 页面布局 + +```text +查询区: +主生产订单 合同号 物料 齐套状态 预计可执行时间 SAP同步时间 +[查询] [重置] [导出] + +主表: +主生产订单 合同号 物料编码 物料名称 计划数量 齐套状态 +缺件数 当前进度 预计可执行时间 SAP同步时间 操作 + +展开明细: +缺料生产订单 缺料物料编码 缺料物料名称 缺件数量 属性 +对应单据号 当前进度 全序展示 单条预计完成时间 预计可执行时间 操作 +``` + +### 8.3 数据来源 + +| 数据 | 来源 | 方式 | +|---|---|---| +| 主表订单 | `MES_接口_生产计划` / `View_生产订单_MES` | MES 查询 | +| 齐套状态 | `齐套`、`齐套时间`、`发料状态`、`拣配状态` | MES 字段 | +| 缺件明细 | SAP 实时接口 | 点击展开时查 | +| 主子订单关系 | SAP 或 MES 人工维护 | 建议落 MES 表 | +| 预计可执行时间 | 人工维护 | 报表内维护,写日志 | + +### 8.4 建议新增表 + +#### 8.4.1 主子订单关系表 + +表名:`生产管理_齐套跟踪_主子订单关系` + +```sql +CREATE TABLE dbo.生产管理_齐套跟踪_主子订单关系 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 主生产订单 int NOT NULL, + 缺料生产订单 int NOT NULL, + 缺料物料编码 nvarchar(100) NULL, + 缺料物料名称 nvarchar(500) NULL, + 关系来源 nvarchar(50) NOT NULL DEFAULT N'人工维护', + 是否有效 bit NOT NULL DEFAULT 1, + 创建人 nvarchar(50) NULL, + 创建时间 datetime NOT NULL DEFAULT GETDATE(), + 最后维护人 nvarchar(50) NULL, + 最后维护时间 datetime NULL +); + +CREATE INDEX IX_生产管理_齐套跟踪_主子订单关系_主单 +ON dbo.生产管理_齐套跟踪_主子订单关系(主生产订单, 是否有效); +``` + +#### 8.4.2 缺件预计信息表 + +表名:`生产管理_齐套跟踪_缺件预计信息` + +```sql +CREATE TABLE dbo.生产管理_齐套跟踪_缺件预计信息 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 主生产订单 int NOT NULL, + 缺料生产订单 int NULL, + 缺料物料编码 nvarchar(100) NOT NULL, + 对应单据号 nvarchar(100) NULL, + 预计可执行时间 datetime NULL, + 预计可执行说明 nvarchar(500) NULL, + 维护人 nvarchar(50) NULL, + 维护时间 datetime NOT NULL DEFAULT GETDATE() +); + +CREATE INDEX IX_生产管理_齐套跟踪_缺件预计信息_主单 +ON dbo.生产管理_齐套跟踪_缺件预计信息(主生产订单); +``` + +#### 8.4.3 SAP 缺件缓存表 + +如果 SAP 实时查询压力大,新增缓存表: + +```sql +CREATE TABLE dbo.系统集成_SAP缺件明细缓存 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 主生产订单 int NOT NULL, + 查询时间 datetime NOT NULL DEFAULT GETDATE(), + 缺料生产订单 int NULL, + 物料编码 nvarchar(100) NULL, + 物料名称 nvarchar(500) NULL, + 缺件数量 decimal(18,2) NULL, + 属性 nvarchar(20) NULL, + 对应单据号 nvarchar(100) NULL, + 当前进度 nvarchar(500) NULL, + 全序展示 nvarchar(max) NULL, + 单条预计完成时间 datetime NULL, + 原始JSON nvarchar(max) NULL +); +``` + +### 8.5 存储过程 + +主表查询: + +```text +生产管理_齐套跟踪结果_主表查询 +``` + +参数: + +- `@主生产订单 int` +- `@合同号 nvarchar(50)` +- `@物料 nvarchar(100)` +- `@齐套状态 nvarchar(50)` +- `@预计开始 date` +- `@预计结束 date` + +展开明细: + +```text +生产管理_齐套跟踪结果_缺件明细查询 +``` + +说明: + +- 第一优先:点击展开时前端调用 SAP 接口,再把结果展示并可缓存。 +- 如果后端 `.ashx` 只能执行 SQL,SAP 查询需要前端现有 SAP/B1 接口或后端新增封装接口。 +- 如果不能实时查 SAP,先读取 `系统集成_SAP缺件明细缓存`。 + +预计可执行时间保存: + +```text +生产管理_齐套跟踪结果_预计时间保存 +``` + +参数: + +- 主生产订单 +- 缺料生产订单 +- 缺料物料编码 +- 对应单据号 +- 预计可执行时间 +- 预计可执行说明 +- 维护人 + +同时写 `系统管理_业务字段维护日志`。 + +## 9. 需求 6:生产计划跟踪 + +### 9.1 现有页面 + +页面: + +```text +src/views/ProductionManagement/ProductionPlanTrack/index.vue +``` + +现有调用: + +```text +生产管理_生产计划跟踪 +``` + +页面现状已经有外协状态处理、工序子表、颜色等基础逻辑。 + +### 9.2 页面改造 + +新增/调整: + +| 内容 | 实现 | +|---|---| +| 当前序显示完整工艺路线 | 主表列改为路线组件 | +| 工序文字按状态变色 | 前端根据状态 class | +| 进度文案 | `打磨中`、`打磨毕待淬火` | +| 标准工时 | 表格列 | +| 订单状态 | 表格列 | + +工艺路线显示: + +```text +打磨(张三) -> 淬火(外协) -> 精磨(李四) +``` + +颜色规则: + +| 状态 | 样式 | +|---|---| +| 正在加工 | 蓝色或绿色高亮 | +| 已完成 | 灰色 | +| 等待加工 | 默认 | +| 异常 | 红色 | + +### 9.3 后端返回字段 + +过程 `生产管理_生产计划跟踪` 需要返回每道工序: + +| 字段 | 说明 | +|---|---| +| 生产订单 | +| 合同号 | +| 订单状态 | +| 物料编码 | +| 物料名称 | +| TaskAID | +| 工序名称 | +| 顺序编号 | +| 指派对象 | +| 任务状态 | +| 加工状态 | +| 开工时间 | +| 完工时间 | +| 标准工时 | +| 外协结束时间 | + +### 9.4 SQL 逻辑 + +标准工时来源: + +- 优先 `车间生产管理工艺_零件生产工艺_工艺库.标准工时` +- 通过 `订单编号 + 工艺顺序/订单行号` 关联 + +订单状态来源: + +- `MES_接口_生产计划.订单状态` +- 如果 SAP 同步了单据状态,也可增加 `单据状态` + +过程示例逻辑: + +```sql +SELECT + p.订单编号, + p.合同号, + p.订单状态, + t.AID AS TaskAID, + t.工序名称, + t.顺序编号, + t.指派对象, + t.任务状态, + t.加工状态, + t.开工时间, + t.完工时间, + ISNULL(g.标准工时, 0) AS 标准工时 +FROM dbo.MES_接口_生产计划 p +JOIN dbo.MES_接口_生产计划_生产任务 t ON p.订单编号 = t.订单编号 +LEFT JOIN dbo.车间生产管理工艺_零件生产工艺_工艺库 g + ON t.订单编号 = g.订单编号 + AND t.订单行号 = g.工艺顺序 +WHERE ... +ORDER BY p.订单编号, t.顺序编号; +``` + +### 9.5 前端算法 + +将后端明细按订单分组: + +```js +const groups = {} +rows.forEach(row => { + if (!groups[row.订单编号]) groups[row.订单编号] = [] + groups[row.订单编号].push(row) +}) +``` + +每个工序状态: + +```js +function getStepStatus(step) { + if (step.任务状态 === 4 || step.完工时间) return 'done' + if (step.加工状态 === 2 || step.开工时间) return 'doing' + return 'waiting' +} +``` + +进度文案: + +```js +function getProgressText(steps) { + const doing = steps.find(x => getStepStatus(x) === 'doing') + if (doing) return `${doing.工序名称}中` + const lastDoneIndex = findLastDoneIndex(steps) + if (lastDoneIndex >= 0 && steps[lastDoneIndex + 1]) { + return `${steps[lastDoneIndex].工序名称}毕待${steps[lastDoneIndex + 1].工序名称}` + } + if (lastDoneIndex === steps.length - 1) return '已完成' + return '待开工' +} +``` + +## 10. 需求 7:外协任务检验 + +### 10.1 现有页面 + +相关页面: + +```text +src/views/QualityManagement/CheckTask/processReceive.vue +src/views/ProductionManagement/OutsourceMange/index.vue +src/views/ProductionManagement/OutsourceSheet/index.vue +``` + +现有视图: + +- `View_质量检验_质检记录_外协收检` +- `View_外协质检` +- `View_外协报表视图` + +### 10.2 需求字段 + +| 字段 | 来源 | +|---|---| +| 指派对象 | 任务表 `MES_接口_生产计划_生产任务.指派对象` | +| 供应商 | SAP 采购/外协单据,或外协任务维护 | +| SAP采购收货单号 | SAP 采购收货成功后返回 | + +### 10.3 建议新增字段 + +优先加在质检记录扩展表,避免直接改大表影响历史。 + +表名:`质量管理_外协收检_扩展` + +```sql +CREATE TABLE dbo.质量管理_外协收检_扩展 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + QT_AID bigint NOT NULL, + TaskAID bigint NULL, + 指派对象 nvarchar(50) NULL, + 供应商编码 nvarchar(100) NULL, + 供应商名称 nvarchar(200) NULL, + SAP采购收货单号 nvarchar(100) NULL, + SAP采购收货行号 nvarchar(50) NULL, + SAP同步状态 nvarchar(20) NULL, + SAP返回信息 nvarchar(max) NULL, + 创建时间 datetime NOT NULL DEFAULT GETDATE(), + 最后维护时间 datetime NULL +); + +CREATE UNIQUE INDEX UX_质量管理_外协收检_扩展_QT +ON dbo.质量管理_外协收检_扩展(QT_AID); +``` + +如果客户明确要在质检主记录中查询导出,也可直接加字段到 `YL_质量检验_质检记录`: + +```sql +ALTER TABLE dbo.YL_质量检验_质检记录 ADD + 指派对象 nvarchar(50) NULL, + 供应商编码 nvarchar(100) NULL, + 供应商名称 nvarchar(200) NULL, + SAP采购收货单号 nvarchar(100) NULL; +``` + +推荐扩展表,查询视图再拼接。 + +### 10.4 页面改造 + +序检收检页面: + +- 收检表格增加:指派对象、供应商、SAP采购收货单号。 +- 收检详情弹窗增加只读展示。 +- 外协收检成功后,保存 SAP 返回的采购收货单号。 + +外协报表: + +- 增加供应商、SAP采购收货单号列。 +- 后续供应商合格率按供应商分组。 + +### 10.5 存储过程 + +新增或扩展: + +| 过程 | 说明 | +|---|---| +| `质量管理_外协收检_扩展保存` | 收检完成后保存供应商和 SAP 单号 | +| `质量管理_外协收检_查询` | 查询外协收检扩展字段 | +| `生产管理_外协任务报表_查询` | 扩展供应商、SAP采购收货单号、采购到货期说明 | + +## 11. 需求 8:异常管控 + +### 11.1 现有页面 + +异常页面: + +```text +src/views/ProductionManagement/AbnormalControl/index.vue +``` + +需要加入口的页面: + +- `ProductionManagement/MachiningCenter/index.vue` +- `ProductionManagement/AssemblyCenter/index.vue` +- `QualityManagement/QualityCenter/index.vue` +- `QualityManagement/CheckTask/processReceive.vue` +- 后续设计任务报工页面 +- 后续编程任务清单页面 + +### 11.2 页面交互 + +在任务操作区增加按钮: + +```text +[报异常] +``` + +点击前校验: + +- 必须选中任务。 +- 必须有 TaskAID 或生产订单。 +- 已关闭/已入库任务不允许新报异常,除非角色有权限。 + +异常弹窗字段: + +| 字段 | 控件 | +|---|---| +| 生产订单 | 只读 | +| TaskAID | 隐藏 | +| 工序名称 | 只读 | +| 指派对象 | 只读 | +| 异常类型 | 下拉 | +| 异常说明 | 多行文本 | +| 附件 | 上传 | +| 审批人 | 人员多选 | + +### 11.3 数据表 + +使用第 3.3 节建议表: + +- `生产管理_异常管控_任务异常` +- `生产管理_异常管控_审批人` + +### 11.4 存储过程 + +#### 11.4.1 异常提交 + +过程名:`生产管理_异常管控_任务异常提交` + +参数: + +- 来源模块 +- 生产订单 +- TaskAID +- 工序名称 +- 指派对象 +- 异常类型 +- 异常说明 +- 附件ID +- 审批人JSON +- 发起人 + +逻辑: + +1. 生成异常编号,例如 `YC202605280001`。 +2. 插入 `生产管理_异常管控_任务异常`。 +3. 解析审批人 JSON,插入 `生产管理_异常管控_审批人`。 +4. 返回异常编号。 + +#### 11.4.2 待办查询 + +过程名:`生产管理_异常管控_待办查询` + +参数: + +- `@审批人姓名` +- `@状态` + +逻辑: + +- 审批人被选中即可看到任务。 +- 任一审批人处理后,异常进入下一状态或关闭。 + +#### 11.4.3 异常处理 + +过程名:`生产管理_异常管控_任务异常处理` + +参数: + +- 异常AID +- 处理人 +- 处理意见 +- 处理结果 + +逻辑: + +1. 更新异常主表实际处理人、处理时间、状态。 +2. 当前审批人记录标记已处理。 +3. 同一异常其他审批人不再待办。 + +## 12. 需求 9:机加班次产量表 + +### 12.1 页面定位 + +新增页面: + +```text +src/views/ProductionManagement/MachiningShiftOutput/index.vue +``` + +菜单: + +```text +报表中心 -> 生产报表 -> 机加班次产量表 +``` + +### 12.2 页面布局 + +```text +查询区: +日期范围 班次 设备 操作人 生产订单 物料 +[查询] [重置] [导出] + +汇总卡: +总数量 总工时 设备数 班次数 + +分组表: +设备 -> 日期 -> 班次 -> 任务明细 +``` + +### 12.3 数据来源 + +| 数据 | 来源 | +|---|---| +| 报工数量 | `YL_加工中心_操作记录表.操作数值` | +| 工时 | `YL_加工中心_操作记录表.工时` | +| 设备 | `工位名称` 或任务 `指派对象` | +| 生产订单/物料 | `MES_接口_生产计划_生产任务` | +| 班次 | `班次表` + 时间匹配 | + +现有函数: + +```text +dbo.计算班次重叠秒数 +``` + +可用于跨天班次工时计算。 + +### 12.4 存储过程 + +过程名:`生产报表_机加班次产量表_查询` + +参数: + +- 开始日期 +- 结束日期 +- 班次 +- 设备 +- 操作人 +- 生产订单 +- 物料 + +返回: + +- 设备名称 +- 日期 +- 班次 +- 生产订单 +- 物料编码 +- 物料名称 +- 工序名称 +- 开始时间 +- 结束时间 +- 工时小时 +- 数量 +- 操作人 +- 设备日期班次小计数量 +- 设备日期班次小计工时 + +SQL 逻辑: + +1. 取 `操作类别='报工'` 且 `操作数值 > 0` 的记录。 +2. 按 `开始时间` 匹配班次。 +3. 关联任务表补订单、物料、工序。 +4. 按设备、日期、班次排序。 + +### 12.5 是否新增表 + +第一阶段不新增表。 + +如果班次规则不足,需要扩展 `班次表`: + +```sql +ALTER TABLE dbo.班次表 ADD + 是否跨天 bit NULL, + 是否启用 bit NULL, + 班次日期归属 nvarchar(20) NULL; -- 开始日/结束日 +``` + +## 13. 需求 10:发货通知列表 + +### 13.1 页面定位 + +新增页面: + +```text +src/views/ProductionManagement/ShippingNoticeList/index.vue +``` + +菜单: + +```text +报表中心 -> 交付报表 -> 发货通知列表 +``` + +### 13.2 数据来源 + +客户说明:SAP 已提供数据,大屏已显示。 + +需要先查新分析: + +1. 大屏当前发货通知读取哪个过程。 +2. `装配中心任务看板_发货状态查询` 是否已经包含发货通知字段。 +3. `MES_接口_生产计划` 中 `发货状态`、`要求发货日期` 是否够用。 +4. 是否有 SAP 发货通知同步落地表。 + +### 13.3 建议新增表 + +若当前没有发货通知落地表,建议建: + +```sql +CREATE TABLE dbo.系统集成_SAP发货通知 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 发货通知号 nvarchar(100) NOT NULL, + 合同号 nvarchar(50) NULL, + 客户编码 nvarchar(100) NULL, + 客户名称 nvarchar(200) NULL, + 生产订单 int NULL, + 物料编码 nvarchar(100) NULL, + 物料名称 nvarchar(500) NULL, + 数量 decimal(18,2) NULL, + 要求发货日期 datetime NULL, + 发货状态 nvarchar(50) NULL, + SAP同步时间 datetime NULL, + 原始JSON nvarchar(max) NULL, + 创建时间 datetime NOT NULL DEFAULT GETDATE() +); + +CREATE INDEX IX_系统集成_SAP发货通知_合同号 ON dbo.系统集成_SAP发货通知(合同号); +CREATE INDEX IX_系统集成_SAP发货通知_生产订单 ON dbo.系统集成_SAP发货通知(生产订单); +``` + +如果已有大屏同步表,则不建新表,直接复用。 + +### 13.4 存储过程 + +过程名:`报表_发货通知列表_查询` + +参数: + +- 发货通知号 +- 合同号 +- 客户 +- 状态 +- 要求发货开始 +- 要求发货结束 + +返回: + +- 发货通知号 +- 合同号 +- 客户 +- 生产订单 +- 物料编码 +- 物料名称 +- 数量 +- 要求发货日期 +- 发货状态 +- SAP同步时间 + +## 14. 需求 11:质检任务早知道 + +### 14.1 依赖 + +强依赖: + +- `生产管理_装配已排产需求_查询` +- 装配完成时间字段可用 + +### 14.2 页面定位 + +新增页面: + +```text +src/views/QualityManagement/QualityTaskPreview/index.vue +``` + +菜单: + +```text +质量管理 -> 质量报表 -> 质检任务早知道 +``` + +### 14.3 查询规则 + +过滤: + +- 装配完成时间在查询范围内。 +- 排除已完成质检。 +- 排除订单关闭、取消、整单已入库。 +- 按装配完成时间分组。 + +### 14.4 存储过程 + +过程名:`质量管理_质检任务早知道_查询` + +参数: + +- 装配完成开始 +- 装配完成结束 +- 合同号 +- 生产订单 +- 物料 + +返回: + +- 预计质检日期 +- 生产订单 +- 合同号 +- 物料编码 +- 物料名称 +- 装配完成时间 +- 当前对应人员 +- 当前对应内容 +- 累计工时 +- 异常状态 +- 质检状态 + +SQL 逻辑: + +```sql +-- 基于装配已排产需求结果,再排除已检/关闭/取消/入库 +``` + +### 14.5 不新增表 + +本需求不新增表,只新增查询过程和页面。 + +## 15. 需求 12:生产工艺自动带出标准工艺 + +### 15.1 现有页面 + +相关页面: + +```text +src/views/ProcessManagement/ProcessProduct/index.vue +src/views/ProcessManagement/ProcessesDevelop/index.vue +``` + +### 15.2 页面交互 + +点击编辑生产工艺: + +1. 查询是否已有生产工艺。 +2. 如果有,正常打开。 +3. 如果没有,提示: + +```text +当前订单未找到生产工艺,是否按物料标准工艺带出草稿? +[带出标准工艺] [取消] +``` + +4. 带出后只在页面显示,不直接落库。 +5. 用户点击保存后,写入生产工艺。 + +### 15.3 存储过程 + +新增: + +| 过程 | 用途 | +|---|---| +| `工艺管理_生产工艺_是否存在` | 按订单号查询是否已有生产工艺 | +| `工艺管理_生产工艺_标准工艺草稿查询` | 按物料编码查标准工艺并映射成生产工艺字段 | + +保存仍复用现有生产工艺保存过程。 + +### 15.4 字段映射 + +需要查新分析: + +- 标准工艺表:`车间生产管理工艺_零件工序_工艺库` +- 生产工艺表:`车间生产管理工艺_零件生产工艺_工艺库` +- 两者字段差异。 + +至少映射: + +| 标准工艺 | 生产工艺 | +|---|---| +| 物料编号 | 物料编号 | +| 工序名称 | 工序名称 | +| 工艺顺序 | 工艺顺序 | +| 标准工时 | 标准工时 | +| 工序说明 | 工序说明 | +| 指派对象默认值 | 指派对象 | + +### 15.5 不建议新增表 + +该需求只改页面和过程,不新增表。 + +## 16. 需求 13:工时报表 + 备注类小改 + +### 16.1 工时报表新增指派对象 + +现有页面: + +```text +src/views/ProductionManagement/Timesheet/index.vue +``` + +现有过程: + +```text +工时统计_作业者工时_查询 +工时统计_作业者工时_查询_导出 +``` + +改造: + +- 查询区增加指派对象筛选。 +- 表格增加指派对象列。 +- 导出增加指派对象列。 + +SQL 来源: + +- `YL_加工中心_操作记录表.工位名称` +- 或关联任务表取 `MES_接口_生产计划_生产任务.指派对象` + +推荐使用任务表指派对象,工位名称作为实际操作工位,两者都可展示: + +| 字段 | 说明 | +|---|---| +| 指派对象 | 任务被派给谁 | +| 实际工位 | 操作记录发生在哪个工位 | + +### 16.2 机加领料备注 + +需求: + +- 生产领料(机加)增加备注字段。 + +需要先定位现有领料表。如果无独立表,可能通过 SAP 或操作记录保存。 + +建议: + +```sql +ALTER TABLE dbo.MES_接口_生产计划_生产任务 ADD 机加领料备注 nvarchar(500) NULL; +``` + +如领料已有专表,应加在领料单表。 + +过程: + +- `生产管理_机加领料_备注保存` +- `生产管理_机加领料_查询` 返回备注 + +### 16.3 机加退库备注、装配退库备注 + +建议如果退库已有业务表,在退库表增加: + +```sql +备注 nvarchar(500) NULL, +最后维护人 nvarchar(50) NULL, +最后维护时间 datetime NULL +``` + +如果没有退库表,先不要加到任务表,建议建退库单扩展表: + +```sql +CREATE TABLE dbo.生产管理_退库单_扩展 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 退库单号 nvarchar(100) NOT NULL, + 退库类型 nvarchar(20) NOT NULL, -- 机加/装配 + 生产订单 int NULL, + TaskAID bigint NULL, + 备注 nvarchar(500) NULL, + 最后维护人 nvarchar(50) NULL, + 最后维护时间 datetime NULL +); +``` + +### 16.4 外协任务报表采购到货期说明 + +现有页面: + +```text +src/views/ProductionManagement/OutsourceSheet/index.vue +src/views/ProductionManagement/OutsourceMange/index.vue +``` + +建议字段: + +```sql +ALTER TABLE dbo.MES_接口_生产计划_生产任务 ADD 采购到货期说明 nvarchar(500) NULL; +``` + +如果采购到货期说明来自 SAP,则不允许手工覆盖,改为扩展表: + +```sql +CREATE TABLE dbo.生产管理_外协任务_采购扩展 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + TaskAID bigint NOT NULL, + 采购到货期说明 nvarchar(500) NULL, + SAP采购订单号 nvarchar(100) NULL, + SAP采购收货单号 nvarchar(100) NULL, + 供应商编码 nvarchar(100) NULL, + 供应商名称 nvarchar(200) NULL, + 最后维护人 nvarchar(50) NULL, + 最后维护时间 datetime NULL +); +``` + +### 16.5 制定标准工艺保存提示 + +页面: + +```text +src/views/ProcessManagement/ProcessesDevelop/index.vue +``` + +改造: + +- 保存成功显示“标准工艺保存成功”。 +- 保存失败显示后端 message。 +- 如果字段缺失,提示具体字段。 + +不涉及数据库。 + +## 17. 需求 14:生产订单关闭批量更新 SAP 状态 + +### 17.1 现有页面 + +页面: + +```text +src/views/PlanManagement/PlannOrderClose/index.vue +``` + +### 17.2 页面改造 + +表格增加多选列: + +```html + +``` + +新增按钮: + +```text +[批量关闭 SAP 订单] +``` + +点击后: + +1. 校验已选择订单。 +2. 弹出二次确认: + +```text +即将批量关闭 N 个 SAP 生产订单。该操作会写入 SAP,可能部分成功部分失败,是否继续? +``` + +3. 调用批量关闭逻辑。 +4. 展示结果弹窗。 + +结果弹窗字段: + +- 生产订单 +- SAP 单据号 +- 执行结果 +- 失败原因 +- 是否可重试 + +### 17.3 后端建议 + +由于当前前端很多 SAP 操作是直接调用 SAP/B1 接口或通过现有工具实现,批量关闭建议封装为前端逐单执行 + MES 记录结果,或后端新增 API。若 `.ashx` 仅支持 SQL,不适合在 SQL 里直接调 SAP。 + +建议流程: + +```text +前端选中订单 + -> 查询订单 SAP DocEntry + -> 逐单 PATCH SAP ProductionOrders + -> 每单结果写入 系统集成_SAP调用日志 + -> 更新 MES 订单状态或 SAP关闭状态扩展字段 +``` + +### 17.4 建议新增字段 + +表:`MES_接口_生产计划` + +```sql +ALTER TABLE dbo.MES_接口_生产计划 ADD + SAP关闭状态 nvarchar(20) NULL, + SAP关闭时间 datetime NULL, + SAP关闭失败原因 nvarchar(1000) NULL, + SAP关闭操作人 nvarchar(50) NULL; +``` + +如果不想改主表,新增扩展表: + +```sql +CREATE TABLE dbo.生产管理_订单关闭_SAP状态 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 订单编号 int NOT NULL, + SAP单据号 nvarchar(100) NULL, + 关闭状态 nvarchar(20) NOT NULL, + 失败原因 nvarchar(1000) NULL, + 操作人 nvarchar(50) NULL, + 操作时间 datetime NOT NULL DEFAULT GETDATE(), + 是否可重试 bit NOT NULL DEFAULT 0 +); +``` + +### 17.5 存储过程 + +| 过程 | 用途 | +|---|---| +| `生产管理_订单关闭_SAP结果保存` | 保存每单关闭结果 | +| `生产管理_订单关闭_SAP结果查询` | 查询批量关闭结果 | +| `生产管理_订单关闭_可关闭校验` | 批量操作前校验订单是否可关 | + +## 18. 需求 15:及时检验报表 + +### 18.1 页面定位 + +新增页面: + +```text +src/views/QualityManagement/TimelyInspectionReport/index.vue +``` + +菜单: + +```text +质量管理 -> 质量报表 -> 及时检验报表 +``` + +### 18.2 查询口径 + +进入报表条件: + +1. `YL_加工中心_操作记录表` 中存在报工记录。 +2. `操作类别 = '报工'`。 +3. `操作数值 > 0`。 +4. `结束时间 < DATEADD(DAY, -2, GETDATE())`。 +5. 对应质检记录不存在,或检验数量不足。 + +### 18.3 页面字段 + +| 字段 | +|---| +| 生产订单 | +| TaskAID | +| 物料编码 | +| 物料名称 | +| 工序名称 | +| 指派对象 | +| 报工数量 | +| 已检数量 | +| 未检数量 | +| 报工结束时间 | +| 超期天数 | +| 操作人 | + +### 18.4 存储过程 + +过程名:`质量管理_及时检验报表_查询` + +参数: + +- 生产订单 +- 物料 +- 工序 +- 指派对象 +- 报工结束开始 +- 报工结束结束 +- 超期天数,默认 2 + +SQL 示例: + +```sql +CREATE PROCEDURE dbo.质量管理_及时检验报表_查询 + @生产订单 int = NULL, + @物料 nvarchar(100) = '', + @工序 nvarchar(100) = '', + @指派对象 nvarchar(100) = '', + @报工结束开始 date = NULL, + @报工结束结束 date = NULL, + @超期天数 int = 2 +AS +BEGIN + SET NOCOUNT ON; + + WITH rpt AS ( + SELECT + o.TaskAID, + SUM(ISNULL(o.操作数值,0)) AS 报工数量, + MAX(o.结束时间) AS 报工结束时间, + MAX(o.操作人) AS 操作人 + FROM dbo.YL_加工中心_操作记录表 o + WHERE o.操作类别 = N'报工' + AND ISNULL(o.操作数值,0) > 0 + AND o.结束时间 < DATEADD(DAY, -@超期天数, GETDATE()) + GROUP BY o.TaskAID + ), + qc AS ( + SELECT + TaskAID, + SUM(ISNULL(检验数量,0)) AS 已检数量 + FROM dbo.YL_质量检验_质检记录 + GROUP BY TaskAID + ) + SELECT + t.订单编号 AS 生产订单, + t.AID AS TaskAID, + t.物料编码, + t.物料名称, + t.工序名称, + t.指派对象, + rpt.报工数量, + ISNULL(qc.已检数量,0) AS 已检数量, + rpt.报工数量 - ISNULL(qc.已检数量,0) AS 未检数量, + rpt.报工结束时间, + DATEDIFF(DAY, rpt.报工结束时间, GETDATE()) AS 超期天数, + rpt.操作人 + FROM rpt + JOIN dbo.MES_接口_生产计划_生产任务 t ON rpt.TaskAID = t.AID + LEFT JOIN qc ON rpt.TaskAID = qc.TaskAID + WHERE rpt.报工数量 > ISNULL(qc.已检数量,0) + AND (@生产订单 IS NULL OR t.订单编号 = @生产订单) + AND (@物料 = '' OR t.物料编码 LIKE '%' + @物料 + '%' OR t.物料名称 LIKE '%' + @物料 + '%') + AND (@工序 = '' OR t.工序名称 = @工序) + AND (@指派对象 = '' OR t.指派对象 = @指派对象) + AND (@报工结束开始 IS NULL OR rpt.报工结束时间 >= @报工结束开始) + AND (@报工结束结束 IS NULL OR rpt.报工结束时间 < DATEADD(DAY, 1, @报工结束结束)) + ORDER BY 超期天数 DESC, rpt.报工结束时间; +END +``` + +### 18.5 不新增表 + +第一阶段不新增表。若要催办闭环,再新增催办记录表。 + +## 19. 需求 16:工序流转卡增加原料编码 + +### 19.1 需要查新分析 + +先定位工序流转卡打印页面和模板: + +- 搜索页面中 `流转卡`、`print`、`打印`。 +- 确认当前流转卡数据来源过程。 +- 确认原料编码来自 BOM、SAP 工艺路线,还是物料字段。 + +### 19.2 数据来源建议 + +优先顺序: + +1. `BOM数据` 中父件对应子件,取原料类子件编码。 +2. SAP BOM/物料清单同步表。 +3. 生产任务行文本备注或行物料字段。 + +### 19.3 存储过程 + +扩展流转卡查询过程,增加字段: + +| 字段 | 说明 | +|---|---| +| 原料编码 | BOM 子件编码 | +| 原料名称 | BOM 子件名称,可选 | +| 原料规格 | 可选 | + +SQL 示例: + +```sql +LEFT JOIN dbo.BOM数据 bom + ON bom.父件编码 = t.物料编码 +``` + +### 19.4 页面/打印 + +打印模板增加: + +```text +原料编码:XXXXXXXX +``` + +如果一个成品对应多个原料编码: + +- 用逗号合并。 +- 或打印明细区。 + +## 20. 需求 17-19:现场大屏 + +包括: + +- 一楼质检大屏幕 +- 机加现场大屏幕 +- 装配现场大屏幕 + +看板项目目录: + +| 大屏 | 项目目录 | +|---|---| +| 质检任务看板 | `质检任务看板` | +| 机加现场大屏 | `机加设备生产运营看板`、`机加设备生产运营看板二` | +| 装配现场大屏 | `装配任务看板` | + +### 20.1 通用大屏开发原则 + +1. 大屏只展示,不作为字段维护入口。 +2. 关键工序、缺勤、送检状态必须先有业务数据来源。 +3. 所有大屏过程必须支持 `@统计日期`,默认当天。 +4. 大屏刷新频率建议 30 秒以上,除设备状态外不建议 5 秒刷新复杂 SQL。 +5. 指标必须能下钻明细。 + +### 20.2 一楼质检大屏 + +#### 20.2.1 新增指标 + +| 指标 | 口径 | +|---|---| +| 质检及时率 | 及时检验任务数 / 应检任务数 | +| 超 2 天未检任务 | 最后生产完成时间超过 2 天且未检足 | +| 关键工序应检数 | 任务快照中 `是否关键工序=1` | +| 关键工序未检数 | 应检但未检足 | +| 关键工序已检数 | 已检足 | + +#### 20.2.2 需要新增字段 + +关键工序不要放在看板维护,应加在工艺和任务快照。 + +建议字段: + +```sql +ALTER TABLE dbo.车间生产管理工艺_零件工序_工艺库 ADD 是否关键工序 bit NULL DEFAULT 0; +ALTER TABLE dbo.车间生产管理工艺_零件生产工艺_工艺库 ADD 是否关键工序 bit NULL DEFAULT 0; +ALTER TABLE dbo.MES_接口_生产计划_生产任务 ADD 是否关键工序 bit NULL DEFAULT 0; +``` + +任务下发时把生产工艺中的 `是否关键工序` 快照到任务表。 + +#### 20.2.3 存储过程 + +扩展或新增: + +| 过程 | 用途 | +|---|---| +| `质量任务看板_未完成统计` | 增加超期天数、关键工序统计 | +| `质量任务看板_未完成明细查询` | 增加最后生产完成时间、是否关键工序 | +| `质量任务看板_及时率统计` | 新增及时率 | + +### 20.3 机加现场大屏 + +#### 20.3.1 新增指标 + +| 指标 | 口径 | +|---|---| +| 缺勤人员 | 应到人员 - 实到人员 | +| 关键工序任务汇总 | 已排产未完成且是否关键工序=1 | +| 关键工序任务明细 | 订单、物料、工序、设备、指派对象、计划开始、完成数 | + +#### 20.3.2 缺勤数据 + +不能从“没有报工”反推缺勤。 + +需要数据: + +| 数据 | 来源 | +|---|---| +| 应到人员 | 班次人员绑定表、排班表、岗位工位绑定 | +| 实到人员 | 考勤、上岗绑定、登录、报工记录 | + +建议新增排班表: + +```sql +CREATE TABLE dbo.人员排班表 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 排班日期 date NOT NULL, + 班次编号 int NULL, + 班次名称 nvarchar(50) NULL, + 人员编号 int NOT NULL, + 人员姓名 nvarchar(50) NOT NULL, + 岗位 nvarchar(50) NULL, + 工位号 nvarchar(50) NULL, + 是否应到 bit NOT NULL DEFAULT 1, + 创建人 nvarchar(50) NULL, + 创建时间 datetime NOT NULL DEFAULT GETDATE() +); + +CREATE INDEX IX_人员排班表_日期班次 ON dbo.人员排班表(排班日期, 班次名称); +``` + +如果已有 `班次人员绑定表` 能满足,则不新建,只扩展字段。 + +#### 20.3.3 存储过程 + +| 过程 | 用途 | +|---|---| +| `机加现场大屏_缺勤人员查询` | 返回岗位、工位、姓名 | +| `机加现场大屏_关键工序统计` | 汇总关键工序任务 | +| `机加现场大屏_关键工序明细` | 明细下钻 | + +### 20.4 装配现场大屏 + +#### 20.4.1 新增指标 + +| 指标 | 口径 | +|---|---| +| 缺勤人员 | 同机加 | +| 及时送检任务 | 发料齐套后超过 2 天未送检 | +| 排序 | 加急优先,其次及时送检超期,再按计划开始或齐套时间 | + +#### 20.4.2 存储过程 + +| 过程 | 用途 | +|---|---| +| `装配现场大屏_缺勤人员查询` | 岗位、工位、姓名 | +| `装配现场大屏_及时送检任务查询` | 发料齐套后 2 天未送检 | +| `装配中心任务看板_装配任务查询` | 增加发料齐套时间、是否已送检、送检时间、超期天数 | + +#### 20.4.3 字段来源 + +| 字段 | 来源 | +|---|---| +| 发料齐套时间 | `MES_接口_生产计划.齐套时间` 或装配扩展表 | +| 是否已送检 | 送检记录/质检任务/质检记录 | +| 送检时间 | 送检记录 | +| 超期天数 | `DATEDIFF(DAY, 发料齐套时间, GETDATE())` | + +## 21. 需求 20:编程任务清单 / 编程报工 + +### 21.1 页面定位 + +新增页面: + +```text +src/views/ProductionManagement/ProgrammingTask/index.vue +``` + +菜单: + +```text +生产管理 -> 报工管理 -> 编程任务清单 +``` + +### 21.2 页面布局 + +```text +查询区: +设备 工位 程序员 状态 生产订单 物料 日期 +[查询] [重置] [新增编程任务] [导出] + +表格: +任务编号 生产订单 物料编码 物料名称 工序 设备/工位 程序号 +编程人员 状态 开始时间 结束时间 工时 操作 + +操作: +[开始编程] [结束编程] [编辑程序号] [工时记录] [报异常] +``` + +### 21.3 新增表 + +#### 21.3.1 编程任务表 + +```sql +CREATE TABLE dbo.生产管理_编程任务 ( + 编程任务ID bigint IDENTITY(1,1) PRIMARY KEY, + 编程任务编号 nvarchar(50) NOT NULL, + 生产订单 int NULL, + TaskAID bigint NULL, + 物料编码 nvarchar(100) NULL, + 物料名称 nvarchar(500) NULL, + 工序名称 nvarchar(100) NULL, + 设备编号 nvarchar(50) NULL, + 设备名称 nvarchar(100) NULL, + 工位编号 nvarchar(50) NULL, + 工位名称 nvarchar(100) NULL, + 程序号 nvarchar(100) NULL, + 任务来源 nvarchar(50) NULL, -- 人工创建/订单生成/设备任务派生 + 状态 nvarchar(20) NOT NULL DEFAULT N'未开始', + 任务说明 nvarchar(1000) NULL, + 创建人 nvarchar(50) NULL, + 创建时间 datetime NOT NULL DEFAULT GETDATE(), + 最后维护人 nvarchar(50) NULL, + 最后维护时间 datetime NULL +); +``` + +#### 21.3.2 编程工时记录表 + +```sql +CREATE TABLE dbo.生产管理_编程任务_工时记录 ( + 记录ID bigint IDENTITY(1,1) PRIMARY KEY, + 编程任务ID bigint NOT NULL, + 操作类别 nvarchar(20) NOT NULL, -- 开始/结束 + 操作人编号 int NULL, + 操作人 nvarchar(50) NOT NULL, + 开始时间 datetime NULL, + 结束时间 datetime NULL, + 工时分钟 int NULL, + 工作内容 nvarchar(1000) NULL, + 结束说明 nvarchar(1000) NULL, + 创建时间 datetime NOT NULL DEFAULT GETDATE() +); + +CREATE INDEX IX_生产管理_编程任务_工时记录_任务 +ON dbo.生产管理_编程任务_工时记录(编程任务ID); +``` + +### 21.4 存储过程 + +| 过程 | 用途 | +|---|---| +| `生产管理_编程任务_查询` | 列表查询 | +| `生产管理_编程任务_新增` | 新增任务 | +| `生产管理_编程任务_开始` | 开始编程 | +| `生产管理_编程任务_结束` | 结束编程并计算工时 | +| `生产管理_编程任务_工时明细` | 工时明细 | +| `生产管理_编程任务_程序号保存` | 维护程序号 | + +### 21.5 工时接入 + +`View_统一工时明细` 增加: + +```text +来源模块 = 编程 +工时类型 = 编程 +``` + +这样后续合同工时、工时报表可选择是否包含编程工时。 + +## 22. 需求 21-24:设备档案、设备数据采集、OEE、工时查询联动 + +### 22.1 设备档案管理 + +现有页面: + +```text +src/views/DeviceManagement/DeviceInformation/index.vue +``` + +现有表: + +```text +YL_设备管理_设备台账 +MES_资源主数据 +``` + +建议新增字段: + +```sql +ALTER TABLE dbo.YL_设备管理_设备台账 ADD + 是否主要设备 bit NULL DEFAULT 0, + 是否参与OEE bit NULL DEFAULT 0, + 设备标准工时 decimal(18,2) NULL, + 标准工时单位 nvarchar(20) NULL, + 采集设备编码 nvarchar(100) NULL, + 采集点位配置 nvarchar(max) NULL; +``` + +注意: + +- 设备标准工时不能替代工艺标准工时。 +- OEE 的标准单件工时优先来自工艺或设备+工序能力表。 + +建议新增设备工序能力表: + +```sql +CREATE TABLE dbo.设备管理_设备工序能力 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 设备编号 nvarchar(50) NOT NULL, + 设备名称 nvarchar(100) NULL, + 工序名称 nvarchar(100) NOT NULL, + 物料编码 nvarchar(100) NULL, + 标准单件工时 decimal(18,4) NULL, + 单位 nvarchar(20) NULL DEFAULT N'分钟', + 是否启用 bit NOT NULL DEFAULT 1, + 创建人 nvarchar(50) NULL, + 创建时间 datetime NOT NULL DEFAULT GETDATE(), + 最后维护人 nvarchar(50) NULL, + 最后维护时间 datetime NULL +); +``` + +### 22.2 设备数据采集 + +现有表: + +- `CaChe_Var` +- `历史_设备数据_定时` +- `历史_工位设备状态每分钟记录` +- `YL_设备管理_工时记录` + +新增建议: + +#### 22.2.1 采集原始数据表 + +如果现有 `历史_设备数据_定时` 字段足够,可不新建。否则新增: + +```sql +CREATE TABLE dbo.设备采集_原始数据 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 采集时间 datetime NOT NULL, + 设备编号 nvarchar(50) NULL, + 设备名称 nvarchar(100) NULL, + 工位号 nvarchar(50) NULL, + 变量名称 nvarchar(100) NULL, + 变量值 nvarchar(200) NULL, + 原始值 nvarchar(200) NULL, + 单位 nvarchar(20) NULL, + TagID nvarchar(100) NULL, + DeviceCode nvarchar(100) NULL, + 在线状态 nvarchar(20) NULL, + 采集质量 nvarchar(20) NULL, + 创建时间 datetime NOT NULL DEFAULT GETDATE() +); +``` + +#### 22.2.2 设备状态汇总表 + +```sql +CREATE TABLE dbo.设备采集_设备状态分钟汇总 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 统计时间 datetime NOT NULL, + 统计日期 date NOT NULL, + 班次名称 nvarchar(50) NULL, + 设备编号 nvarchar(50) NULL, + 设备名称 nvarchar(100) NULL, + 工位号 nvarchar(50) NULL, + 状态代码 int NULL, + 状态名称 nvarchar(50) NULL, + 持续秒数 int NOT NULL DEFAULT 60, + 是否有效加工 bit NULL, + 创建时间 datetime NOT NULL DEFAULT GETDATE() +); +``` + +#### 22.2.3 设备任务绑定表 + +设备采集必须绑定 MES 任务,否则无法算任务级程序工时。 + +```sql +CREATE TABLE dbo.设备采集_任务绑定 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 设备编号 nvarchar(50) NOT NULL, + 设备名称 nvarchar(100) NULL, + 工位号 nvarchar(50) NULL, + TaskAID bigint NOT NULL, + 生产订单 int NOT NULL, + 程序号 nvarchar(100) NULL, + 绑定开始时间 datetime NOT NULL, + 绑定结束时间 datetime NULL, + 绑定来源 nvarchar(50) NULL, -- 人工/条码/程序号/时间推断 + 绑定人 nvarchar(50) NULL, + 创建时间 datetime NOT NULL DEFAULT GETDATE() +); +``` + +### 22.3 OEE 指标 + +建议新增指标明细表: + +```sql +CREATE TABLE dbo.设备指标_班次明细 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 统计日期 date NOT NULL, + 班次名称 nvarchar(50) NULL, + 设备编号 nvarchar(50) NOT NULL, + 设备名称 nvarchar(100) NULL, + 工位号 nvarchar(50) NULL, + TaskAID bigint NULL, + 生产订单 int NULL, + 物料编码 nvarchar(100) NULL, + 物料名称 nvarchar(500) NULL, + 工序名称 nvarchar(100) NULL, + 计划产量 decimal(18,2) NULL, + 实际产量 decimal(18,2) NULL, + 良品数 decimal(18,2) NULL, + 不良品数 decimal(18,2) NULL, + 标准单件工时 decimal(18,4) NULL, + 实际单件工时 decimal(18,4) NULL, + 设备运行工时分钟 decimal(18,2) NULL, + 标准可用工时分钟 decimal(18,2) NULL, + 产能利用率 decimal(18,4) NULL, + 设备利用率 decimal(18,4) NULL, + 性能开动率 decimal(18,4) NULL, + 产品合格率 decimal(18,4) NULL, + OEE decimal(18,4) NULL, + 计算时间 datetime NOT NULL DEFAULT GETDATE(), + 计算说明 nvarchar(1000) NULL +); +``` + +计算过程: + +| 过程 | 用途 | +|---|---| +| `设备指标_班次明细_生成` | 按日期班次生成指标 | +| `设备指标_OEE_查询` | 页面/看板查询 | +| `设备指标_OEE_明细` | 下钻查看三项组成 | + +### 22.4 工时查询联动 + +现有页面: + +```text +src/views/ProductionManagement/Workhours/index.vue +src/views/ProductionManagement/Timesheet/index.vue +src/views/ProductionManagement/WorkHoursCheck/index.vue +``` + +新增字段: + +- 程序工时 +- 设备运行工时 +- 实际单件工时 +- 标准单件工时 +- 设备采集状态 +- 采集质量 + +建议过程: + +```text +工时查询_设备采集工时_查询 +``` + +按 TaskAID、设备、时间段关联 `设备采集_任务绑定` 和设备状态汇总。 + +## 23. 需求 25:手续确认报表 + +### 23.1 页面定位 + +新增页面: + +```text +src/views/ProductionManagement/FormalityConfirmReport/index.vue +``` + +菜单: + +```text +报表中心 -> 装配报表 -> 手续确认报表 +``` + +### 23.2 页面布局 + +```text +查询区: +生产订单 合同号 物料 指派对象 发料齐套日期 手续确认状态 +[查询] [重置] [导出] [批量确认完成] + +表格: +选择 生产订单 合同号 物料编码 物料名称 指派对象 发料齐套时间 +装配完成时间 当前状态 手续确认 确认人 确认时间 操作 + +操作: +[确认完成] [查看装配明细] [查看异常] +``` + +### 23.3 新增表 + +表名:`生产管理_手续确认` + +```sql +CREATE TABLE dbo.生产管理_手续确认 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 订单编号 int NOT NULL, + 确认状态 nvarchar(20) NOT NULL DEFAULT N'未完成', + 确认人 nvarchar(50) NULL, + 确认时间 datetime NULL, + 确认备注 nvarchar(500) NULL, + 创建时间 datetime NOT NULL DEFAULT GETDATE(), + 最后维护人 nvarchar(50) NULL, + 最后维护时间 datetime NULL +); + +CREATE UNIQUE INDEX UX_生产管理_手续确认_订单编号 +ON dbo.生产管理_手续确认(订单编号); +``` + +### 23.4 消失条件 + +报表只显示待确认数据: + +```sql +WHERE ISNULL(fc.确认状态, N'未完成') <> N'已完成' + AND ISNULL(p.订单状态, '') NOT IN (N'取消', N'关闭') + AND ISNULL(p.单据状态, '') NOT IN (N'取消', N'关闭') + AND ISNULL(p.入库数量, 0) < ISNULL(p.计划数量, 0) +``` + +### 23.5 存储过程 + +| 过程 | 用途 | +|---|---| +| `生产管理_手续确认报表_查询` | 待确认列表 | +| `生产管理_手续确认报表_确认完成` | 单条确认 | +| `生产管理_手续确认报表_批量确认完成` | 批量确认 | + +确认过程同时写 `系统管理_业务字段维护日志`。 + +## 24. 需求 26:产品合格率(工位) + +### 24.1 页面定位 + +新增或扩展质量报表页面: + +```text +src/views/QualityManagement/StationPassRate/index.vue +``` + +### 24.2 口径 + +公式: + +```text +产品合格率 = 良品数 / 总产量 +``` + +需要先确认: + +- 总产量取报工完成数量还是质检检验数量。 +- 良品数取质检合格数还是报工合格数。 +- 统计维度按工位、设备、指派对象还是实际操作工位。 + +建议第一版: + +- 总产量:质检记录 `检验数量` +- 良品数:质检记录 `合格数` +- 工位:关联任务表 `指派对象`,同时展示质检记录来源工位。 + +### 24.3 存储过程 + +过程名:`质量管理_产品合格率_工位查询` + +参数: + +- 开始日期 +- 结束日期 +- 工位 +- 工序 +- 物料 + +返回: + +- 工位 +- 检验数量 +- 合格数量 +- 不合格数量 +- 合格率 +- 明细数 + +### 24.4 不新增表 + +第一阶段不新增表。如果要日快照,写入 `质量管理_工位合格率_日快照`。 + +## 25. 需求 27:让步接收记录 + +### 25.1 页面定位 + +新增页面: + +```text +src/views/QualityManagement/ConcessionRecord/index.vue +``` + +菜单: + +```text +质量管理 -> 质量报表 -> 让步接收记录 +``` + +### 25.2 数据来源 + +现有字段: + +- `MES_接口_生产计划_生产任务.让步放行数量` +- `YL_质量检验_不合格品处理.申请让步放行` +- `YL_质量检验_不合格品处理_处理节点.让步放行数量` + +需求说“新增让步记录查询页面”,建议从不合格品处理和质检记录综合查询。 + +### 25.3 存储过程 + +过程名:`质量管理_让步接收记录_查询` + +参数: + +- 生产订单 +- 物料 +- 检验人 +- 检验开始 +- 检验结束 +- 让步状态 + +返回: + +- 生产订单 +- TaskAID +- 物料编码 +- 物料名称 +- 工序名称 +- 检验数量 +- 不合格数量 +- 让步放行数量 +- 申请让步放行 +- 检验人 +- 检验时间 +- 处理意见 + +### 25.4 不新增表 + +页面只查询,不维护。 + +## 26. 需求 28:设计任务报工模块 / 报工-技术-MES + +### 26.1 页面定位 + +新增页面: + +```text +src/views/ProductionManagement/DesignTaskWork/index.vue +``` + +菜单: + +```text +生产管理 -> 报工管理 -> 设计任务报工 +``` + +### 26.2 页面布局 + +```text +查询区: +任务名称 设计人员 状态 日期 +[查询] [重置] [新增设计任务] [导出] + +表格: +任务编号 任务名称 设计人员 状态 计划开始 计划完成 +开始时间 结束时间 工时 工作内容 结束说明 创建人 操作 + +操作: +[开始报工] [结束报工] [工时记录] [编辑] [取消] +``` + +### 26.3 新增表 + +#### 26.3.1 设计任务表 + +```sql +CREATE TABLE dbo.生产管理_设计任务 ( + 设计任务ID bigint IDENTITY(1,1) PRIMARY KEY, + 设计任务编号 nvarchar(50) NOT NULL, + 任务名称 nvarchar(200) NOT NULL, + 设计人员编号 int NULL, + 设计人员 nvarchar(50) NULL, + 状态 nvarchar(20) NOT NULL DEFAULT N'未开始', + 计划开始时间 datetime NULL, + 计划完成时间 datetime NULL, + 任务说明 nvarchar(1000) NULL, + 创建人 nvarchar(50) NULL, + 创建时间 datetime NOT NULL DEFAULT GETDATE(), + 最后维护人 nvarchar(50) NULL, + 最后维护时间 datetime NULL +); +``` + +#### 26.3.2 设计工时记录表 + +```sql +CREATE TABLE dbo.生产管理_设计任务_工时记录 ( + 记录ID bigint IDENTITY(1,1) PRIMARY KEY, + 设计任务ID bigint NOT NULL, + 操作人编号 int NULL, + 操作人 nvarchar(50) NOT NULL, + 开始时间 datetime NOT NULL, + 结束时间 datetime NULL, + 工时分钟 int NULL, + 工作内容 nvarchar(1000) NULL, + 结束说明 nvarchar(1000) NULL, + 创建时间 datetime NOT NULL DEFAULT GETDATE() +); +``` + +### 26.4 存储过程 + +| 过程 | 用途 | +|---|---| +| `生产管理_设计任务_查询` | 任务列表 | +| `生产管理_设计任务_新增` | 新建任务 | +| `生产管理_设计任务_编辑` | 编辑任务 | +| `生产管理_设计任务_取消` | 取消 | +| `生产管理_设计任务_开始` | 开始报工 | +| `生产管理_设计任务_结束` | 结束报工 | +| `生产管理_设计任务_工时明细` | 工时明细 | + +### 26.5 工时接入 + +`View_统一工时明细` 增加: + +```text +来源模块 = 设计 +工时类型 = 设计 +``` + +注意: + +- 设计任务当前不上传 SAP。 +- 设计任务不产生质量、装配、机加工时。 +- 后续装配已排产需求的合同工时汇总可选择纳入设计工时。 + +## 27. 需求 29:工时异常报表 + +### 27.1 页面定位 + +新增页面: + +```text +src/views/ProductionManagement/WorkTimeAbnormalReport/index.vue +``` + +### 27.2 异常口径 + +```text +实际单件工时 > 标准单件工时 +``` + +字段来源: + +| 字段 | 来源 | +|---|---| +| 实际单件工时 | 设备采集,或人工报工工时 / 完成数量 | +| 标准单件工时 | 生产工艺或设备工序能力表 | +| 设备/工位 | 任务指派对象、设备绑定 | +| 程序号 | 编程任务或设备采集 | + +### 27.3 建议新增表 + +如需要异常确认闭环: + +```sql +CREATE TABLE dbo.生产管理_工时异常确认 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 统计日期 date NULL, + TaskAID bigint NULL, + 生产订单 int NULL, + 设备编号 nvarchar(50) NULL, + 设备名称 nvarchar(100) NULL, + 标准单件工时 decimal(18,4) NULL, + 实际单件工时 decimal(18,4) NULL, + 超出时长 decimal(18,4) NULL, + 超出比例 decimal(18,4) NULL, + 异常原因 nvarchar(500) NULL, + 责任部门 nvarchar(100) NULL, + 处理说明 nvarchar(1000) NULL, + 确认状态 nvarchar(20) NOT NULL DEFAULT N'未确认', + 确认人 nvarchar(50) NULL, + 确认时间 datetime NULL +); +``` + +### 27.4 存储过程 + +| 过程 | 用途 | +|---|---| +| `生产管理_工时异常报表_查询` | 查询异常 | +| `生产管理_工时异常报表_明细` | 查看来源明细 | +| `生产管理_工时异常报表_确认` | 异常确认 | + +### 27.5 页面字段 + +- 设备/工位 +- 生产订单 +- 物料编码 +- 物料名称 +- 工序名称 +- 指派对象 +- 操作人 +- 程序号 +- 标准单件工时 +- 实际单件工时 +- 超出时长 +- 超出比例 +- 开始时间 +- 结束时间 +- 班次 +- 异常原因 +- 确认状态 + +## 28. 需求 30:正在加工状态 + +### 28.1 目标 + +“正在加工状态:机加正在进行中”。 + +### 28.2 数据来源 + +优先复用: + +- `MES_ProductCenter_DoingTask` +- `v_CurrentProductionStatus` +- `YL_加工中心_操作记录表` 中开始未结束记录 + +### 28.3 页面/看板展示 + +可以在以下页面增加状态: + +- 加工中心任务列表 +- 生产计划跟踪 +- 机加现场大屏 + +展示规则: + +| 条件 | 状态 | +|---|---| +| 有开始记录且未报工结束 | 正在加工 | +| 任务状态已完成 | 已完成 | +| 有暂停记录未恢复 | 暂停中 | +| 无开始记录 | 未开工 | + +### 28.4 存储过程 + +过程名:`生产管理_正在加工状态_查询` + +返回: + +- TaskAID +- 生产订单 +- 工序名称 +- 指派对象 +- 操作人 +- 开始时间 +- 当前持续分钟 +- 状态 + +## 29. 暂不排期项的技术前置 + +### 29.1 及时拣配(机加/装配) + +必须先确认: + +1. 条码代表物料、箱号、批次、生产订单还是拣配单。 +2. SAP 库存和 MES 拣配状态谁是主口径。 +3. 扫码后是否写回 `拣配状态`、`齐套`、`发料状态`。 +4. 机加和装配是否共用拣配表。 + +建议表: + +```sql +CREATE TABLE dbo.生产管理_条码拣配记录 ( + AID bigint IDENTITY(1,1) PRIMARY KEY, + 拣配类型 nvarchar(20) NOT NULL, -- 机加/装配 + 条码 nvarchar(200) NOT NULL, + 生产订单 int NULL, + TaskAID bigint NULL, + 物料编码 nvarchar(100) NULL, + 物料名称 nvarchar(500) NULL, + 批次号 nvarchar(100) NULL, + 数量 decimal(18,2) NULL, + 拣配状态 nvarchar(20) NULL, + SAP校验状态 nvarchar(20) NULL, + 异常说明 nvarchar(500) NULL, + 拣配人 nvarchar(50) NULL, + 拣配时间 datetime NOT NULL DEFAULT GETDATE() +); +``` + +### 29.2 标牌打印操作 + +需求未定,不建表不开发。需确认: + +- 打印对象:物料、订单、设备、工位、产品? +- 条码内容。 +- 模板样式。 +- 是否需要打印记录。 + +### 29.3 首检、巡检 + +现有质检中心已有首检、巡检相关逻辑。空需求暂不开发。若后续提出,应先确认是新增报表、页面优化还是流程改造。 + +## 30. 菜单和权限 + +所有新增页面都需要写入 `登录基础数据_二级菜单`,并按角色分配。 + +建议新增菜单: + +| 页面 | 菜单 | +|---|---| +| 装配已排产需求 | 生产管理/装配管理 | +| 生产日报-送检 | 报表中心/生产日报 | +| 及时齐套跟踪结果报表 | 报表中心/齐套报表 | +| 机加班次产量表 | 报表中心/生产报表 | +| 发货通知列表 | 报表中心/交付报表 | +| 质检任务早知道 | 质量管理/质量报表 | +| 及时检验报表 | 质量管理/质量报表 | +| 手续确认报表 | 报表中心/装配报表 | +| 让步接收记录 | 质量管理/质量报表 | +| 设计任务报工 | 生产管理/报工管理 | +| 编程任务清单 | 生产管理/报工管理 | +| 工时异常报表 | 报表中心/工时报表 | + +菜单字段要参考现有 `登录基础数据_二级菜单`: + +- `path` +- `componet` +- `name` +- `title` +- `icon` +- `账号代码` + +## 31. 开发实施顺序 + +### 31.1 第一阶段:高优先级低风险 + +1. 及时开工报表正选/反选。 +2. 机加已排产日期筛选。 +3. 机加已排产历史工时弹窗。 +4. 生产工艺自动带出标准工艺。 +5. 工时报表指派对象。 +6. 小字段:备注、提示、流转卡原料编码。 + +交付标准: + +- 页面可查询。 +- 数据字段正确。 +- 导出同步。 +- 不影响现有流程。 + +### 31.2 第二阶段:装配已排产专项 + +1. 建装配扩展表。 +2. 做主查询页面。 +3. 加系统/非系统筛选。 +4. 接派工时间、合同交货期、发料齐套时间。 +5. 做装配完成时间和人工维护。 +6. 做当前人员、当前内容、历史说明。 +7. 接工时汇总和明细。 +8. 接异常明细。 +9. 做日计划导出打印。 +10. 派生质检任务早知道。 + +交付标准: + +- 主表字段完整。 +- 人工维护有日志。 +- 工时可钻取。 +- 日计划可导出/打印。 + +### 31.3 第三阶段:质量和齐套报表 + +1. 及时检验报表。 +2. 生产日报-送检。 +3. 及时齐套跟踪结果报表。 +4. 让步接收记录。 +5. 外协任务检验字段补充。 +6. 产品合格率。 + +交付标准: + +- 每个报表有明确口径。 +- 可导出。 +- 可钻明细。 +- SAP 来源显示同步时间。 + +### 31.4 第四阶段:流程增强 + +1. 异常管控统一入口。 +2. 生产订单批量关闭 SAP。 +3. 手续确认报表。 +4. 编程任务报工。 +5. 设计任务报工。 + +交付标准: + +- 写操作有确认。 +- 批量结果逐条返回。 +- 异常审批人多选可见,一人处理。 +- 工时进入统一工时视图。 + +### 31.5 第五阶段:设备采集和大屏 + +1. 设备档案字段。 +2. 设备采集原始数据和任务绑定。 +3. OEE 指标明细。 +4. 工时异常报表。 +5. 质检、机加、装配现场大屏。 + +交付标准: + +- 设备采集有原始数据和汇总数据。 +- OEE 可下钻。 +- 大屏指标无占位数据。 +- 缺勤有排班/实到来源。 + +## 32. 测试清单 + +### 32.1 页面测试 + +每个页面至少测试: + +- 查询为空。 +- 单条件查询。 +- 多条件组合查询。 +- 日期边界。 +- 分页。 +- 导出。 +- 弹窗打开关闭。 +- 保存成功。 +- 保存失败。 +- 无权限访问。 + +### 32.2 数据测试 + +重点验证: + +- 工时汇总和明细一致。 +- 日期筛选包含当天 00:00:00 到 23:59:59。 +- 已关闭/已入库/已完成任务是否正确排除。 +- SAP 字段为空时页面不报错。 +- 多人员当前任务合并显示正确。 +- 班次跨天统计正确。 + +### 32.3 性能测试 + +重点过程: + +- 装配已排产需求主查询。 +- 及时齐套跟踪主表。 +- 机加班次产量表。 +- 及时检验报表。 +- 大屏过程。 + +要求: + +- 普通报表分页查询 3 秒内返回。 +- 大屏过程 2 秒内返回。 +- 导出可慢,但必须有 loading。 + +### 32.4 回归测试 + +必须回归: + +- 机加排产。 +- 装配排产。 +- 加工中心报工。 +- 装配中心报工。 +- 质检收检。 +- 外协收检。 +- 工时统计。 +- 生产计划跟踪。 +- 看板刷新。 + +## 33. 风险和处理 + +| 风险 | 处理 | +|---|---| +| SAP 字段未到 | 页面字段先预留,显示空;存储过程字段从扩展表读取 | +| 发料齐套时间口径不稳 | 标记来源字段:SAP/MES/人工 | +| 设计工时依赖设计任务模块 | 装配已排产先显示装配/质量,设计为 0,模块完成后接入 | +| 设备采集不稳定 | OEE 和工时异常先用人工工时降级口径,并标记数据来源 | +| 缺勤无排班来源 | 不做缺勤正式统计,只做排班来源确认或新增排班表 | +| 动态 SQL 注入风险 | 新增过程尽量参数化 | +| 历史数据为空 | 字段允许 NULL,页面显示 `--`,不强行补假数据 | + +## 34. 交付物 + +每个需求完成时至少交付: + +1. 前端页面或页面改造。 +2. SQL 增量脚本。 +3. 新增/修改存储过程。 +4. 菜单和权限配置说明。 +5. 测试数据和测试结果。 +6. 字段口径说明。 +7. 如涉及 SAP,提供 SAP 调用日志或同步状态。 + diff --git a/doc_old/新增需求分析与开发记录_2026-05-23.md b/doc_old/新增需求分析与开发记录_2026-05-23.md new file mode 100644 index 0000000..9312eb0 --- /dev/null +++ b/doc_old/新增需求分析与开发记录_2026-05-23.md @@ -0,0 +1,1555 @@ +# 新增需求分析与开发记录 + +生成日期:2026-05-23 +项目:MES_Manage_View_V20 +说明:本文档记录本次沟通确认的新需求、开发口径、依赖项、风险点和预估周期,仅作为后续开发和客户确认依据。 + +## 1. 机加件排产-表单日期筛选优化 + +页面:机加件已排产页面 +位置:`PlanManagement/SelfMakePlandone/index` +查询存储过程:`MES_OrderPlanned_Query` + +现状: +- `计划开始时间`、`计划完成时间` 当前为时间段筛选。 + +目标: +- `计划开始时间` 改为单日期选择。 +- `计划完成时间` 改为单日期选择。 +- 按自然日查询,不按具体时分秒查询。 + +查询口径: +- 选择某一天时,查询该日期 `00:00:00` 到 `23:59:59` 的数据。 +- 日期为空时,不参与过滤。 + +预估周期: +- 前端改造:0.5 天 +- SQL 改造:0.5 到 1 天 +- 联调:0.5 天 + +AI 关键记录: +- 不是区间查询。 +- 是两个单日期字段,分别按天过滤。 +- 不涉及 SAP 新字段,本期先不处理 SAP 字段。 + +## 2. 机加件已排产页面新增历史工时查询 + +页面:机加件已排产页面 +位置:`PlanManagement/SelfMakePlandone/index` +参考页面:`ProductionManagement/WorkhoursEdit/index` + +目标: +- 新增 `总工时` 字段。 +- 列表显示生产任务工时汇总数。 +- 点击 `总工时` 打开弹窗查看明细。 +- 明细按设备、日期分组显示生产任务,并展示工时合计。 + +展示结构: +- 设备 + - 日期 + - 任务明细 + +建议字段: +- 设备名称 +- 日期 +- 生产订单 +- 物料编码 +- 物料名称 +- 工序名称 +- 操作人 +- 开始时间 +- 结束时间 +- 工时 +- 工时小计 + +开发思路: +- 前端在已排产列表增加 `总工时` 列。 +- 点击列值打开弹框。 +- 后端新增或复用工时汇总查询,按设备、日期、任务聚合。 +- 前端只展示结果,不做复杂汇总计算。 + +预估周期: +- 前端列表和弹窗:1 天 +- SQL 汇总查询:1 到 2 天 +- 联调:0.5 天 + +AI 关键记录: +- 这是历史工时汇总弹窗,不是工时编辑页。 +- 总工时是汇总值,不是明细值。 +- 核心维度:设备 + 日期。 + +## 3. 生产计划跟踪 + +页面:生产计划跟踪 +当前查询:`生产管理_生产计划跟踪` + +目标: +1. 工艺路线内容在当前序中展示。 +2. 根据任务状态判断哪道序正在加工、哪些序等待加工。 +3. 工序文字根据状态变色。 +4. 进度显示: + - 正在加工:`打磨中` + - 已完成且下一序未开始:`打磨毕待淬火` +5. 增加 `标准工时` 字段。 +6. 增加 `订单状态` 字段。 + +已确认口径: +- 当前序不是只显示一个工序名,而是显示工艺路线内容。 +- 路线中括号内显示指派对象。 +- `外协` 也是指派对象的一种。 +- 示例:`打磨(张三) -> 淬火(外协)` + +展示规则: +- 正在加工的工序高亮显示。 +- 已完成工序根据下一道工序生成 `xxx毕待yyy`。 +- 未开始工序显示等待状态。 +- 最后一序完成后显示已完成。 + +开发思路: +- 后端返回完整工艺路线、工序顺序、指派对象、任务状态。 +- 前端按顺序生成路线显示和状态文案。 +- `标准工时`、`订单状态` 如果当前查询未返回,需要在 SQL 中补字段。 + +预估周期: +- 前端展示改造:1 到 2 天 +- SQL 字段补充:1 到 2 天 +- 联调:0.5 天 + +AI 关键记录: +- 重点是工序级路线展示,不是订单级单状态。 +- 括号显示指派对象。 +- 外协不特殊处理,作为指派对象展示。 + +## 4. 设计任务报工模块 + +页面:新增页面,建议名称 `设计任务报工` + +已确认口径: +- 设计任务没有订单。 +- 任务由 MES 自己创建。 +- 该模块只产生设计工时。 +- 不产生质量、装配、机加工时。 +- 质量、装配、机加工时各走各自模块。 +- 后续按系统管理角色管理中的角色功能区分权限。 + +功能建议: +- 设计任务创建。 +- 设计任务列表。 +- 开始报工。 +- 结束报工。 +- 填写工作内容、结束说明。 +- 工时记录。 +- 设计工时报表。 + +SAP 关系: +- 当前不强依赖 SAP。 +- 设计工时不上传 SAP。 +- 后续如需要,可增加关联字段或只读接口。 + +预估周期: +- 需求确认:1 天 +- 页面原型:1 天 +- 前端和接口:2 到 4 天 +- 联调:1 天 + +AI 关键记录: +- 设计任务是 MES 自建任务。 +- 工时范围只包含设计。 +- 权限后续按角色功能控制。 + +## 5. 机加班次产量表 + +页面:新增页面,建议名称 `机加班次产量表` + +目标: +- 查看每天每台设备每班次干了什么活。 +- 按设备分组。 +- 按日期分组。 +- 日期下面展示任务明细。 + +展示结构: +- 设备 + - 日期 + - 任务明细 + +建议筛选: +- 日期 +- 班次 +- 设备 +- 操作人 + +建议字段: +- 设备名称 +- 日期 +- 班次 +- 生产订单 +- 物料编码 +- 物料名称 +- 工序名称 +- 开始时间 +- 结束时间 +- 工时 +- 数量 +- 操作人 + +开发思路: +- 新增报表页。 +- 后端按设备、日期、班次聚合。 +- 明细展示任务。 +- 增加设备日合计、班次合计。 + +预估周期: +- 查询口径确认:0.5 天 +- SQL/接口:1 到 2 天 +- 前端分组展示:1 天 +- 联调:0.5 天 + +AI 关键记录: +- 分组口径:设备 -> 日期 -> 任务。 +- 这是新报表,不是报工页面。 + +## 6. 外协任务检验 / 序检收检 + +页面:序检收检相关页面 + +目标: +- 外协任务检验记录中增加: + - 指派对象 + - 供应商 + - SAP 采购收货单号 +- 后续报表根据新增字段调整计算方式。 + +现状问题: +- 当前检验记录主要记录工序。 +- 目前没有记录设备。 +- 因此设备合格率暂时无法准确计算。 +- 外协供应商合格率也需要补供应商字段后才能计算。 + +建议方案: +- 先增强序检收检记录。 +- 把指派对象、供应商、SAP 采购收货单号落表。 +- 报表按新增字段调整统计。 +- 设备合格率列为后续扩展项,除非补设备字段。 + +预估周期: +- 字段补充和页面改造:1 到 2 天 +- 报表口径调整:1 到 2 天 +- 联调:0.5 天 + +AI 关键记录: +- 当前无设备字段,设备合格率本期不可承诺。 +- 供应商合格率依赖新增供应商字段。 + +## 7. 手续确认报表 + +页面:新增页面,名称 `手续确认报表` + +目标: +- 装配、电气发料齐套时间列表合并显示。 +- 显示内容参考装配中心。 +- 新增字段 `手续确认`。 +- 用户点击选择 `已完成`。 + +消失条件: +- `手续确认 = 已完成` +- 生产订单取消 +- 生产订单关闭 +- 整单已入库 + +已确认口径: +- 入库判定使用整单已入库状态。 +- 订单取消/关闭来源于 SAP 订单状态同步。 +- 装配、电气两个报表合并显示。 + +开发思路: +- 新增报表页面。 +- 后端查询只返回待确认数据。 +- 新增手续确认保存接口。 +- 消失规则放在 SQL 层处理。 + +预估周期: +- SQL/接口:1 到 2 天 +- 前端页面:1 天 +- 联调:0.5 天 + +AI 关键记录: +- 这是待办类报表。 +- 只显示还需要手续确认的数据。 +- 已完成、取消、关闭、整单已入库都会消失。 + +## 8. 及时检验报表 + +页面:新增页面,名称 `及时检验报表` + +目标: +- 生产报工完成后超过 2 天仍未检验的任务要显示出来。 + +已确认口径: +- 起算表:`YL_加工中心_操作记录表` +- 过滤条件: + - `操作类别 = 报工` + - `操作数值 > 0` +- 起算时间: + - 使用报工记录的 `结束时间` + +判定逻辑: +- 报工记录满足 `操作类别 = 报工` 且 `操作数值 > 0`。 +- `结束时间 < DATEADD(DAY, -2, GETDATE())`。 +- 该任务无检验记录,或检验数量不足。 +- 则进入报表。 + +建议字段: +- 生产订单 +- 物料编码 +- 物料名称 +- 工序名称 +- 指派对象 +- 报工数量 +- 已检数量 +- 未检数量 +- 报工结束时间 +- 超期天数 + +预估周期: +- SQL/口径确认:1 天 +- 后端查询:1 到 2 天 +- 前端页面:1 天 +- 联调:0.5 天 + +AI 关键记录: +- 不是所有未检验任务。 +- 是报工完成超过 2 天未检验。 +- 起算时间为操作记录表的结束时间。 + +## 9. 及时齐套跟踪结果报表 + +页面:新增页面,名称 `及时齐套跟踪结果报表` + +目标: +- 参考客户图片新增报表。 +- 主表展示齐套跟踪信息。 +- 点击展开显示缺件明细。 +- 缺件明细为 SAP 实时数据。 +- 用生产订单号查询 SAP 加急件/缺件明细。 +- 缺料物料的生产订单号绑定主生产订单号。 +- 一个主生产订单可包含多个缺料生产订单。 + +缺件明细建议字段: +- 物料编码 +- 物料名称 +- 缺件数量 +- 属性:外购 / 自制 +- 对应单据号 +- 当前进度 +- 全序展示 +- 单条预计完成时间 +- 预计可执行时间 + +字段来源: +- 缺件明细:SAP 实时查询。 +- 外购对应单据:采购订单号,来源 SAP。 +- 自制对应单据:生产订单号,来源 MES 或 SAP 同步。 +- 预计可执行时间:手工维护。 + +开发思路: +- 主表加载时不直接查所有 SAP 明细。 +- 点击展开时按生产订单号实时查询 SAP。 +- 建立主生产订单号与缺料生产订单号的一对多关系。 +- 支持后续导出。 + +预估周期: +- SAP 字段/接口确认:1 天 +- SQL/接口设计:1 到 2 天 +- 前端主表和展开明细:1 到 2 天 +- 联调:1 天 + +AI 关键记录: +- 展开行显示缺件明细。 +- 缺件明细来源 SAP 实时数据。 +- 主订单与缺料生产订单是一对多。 + +## 10. 生产日报-送检 + +页面:新增或扩展报表 + +范围: +- 生产日报-送检(机加) +- 生产日报-送检(装配) + +目标: +- 后续可能按多个部门出多个报表。 +- 建议先做统一数据模型,部门作为维度。 + +建议方案: +- 一个页面两个页签: + - 机加送检日报 + - 装配送检日报 +- 两个页签均支持部门筛选。 +- 后续客户要求独立菜单时再拆。 + +建议字段: +- 日期 +- 部门 +- 生产订单 +- 物料编码 +- 物料名称 +- 工序名称 +- 送检数量 +- 已检数量 +- 合格数量 +- 不合格数量 +- 送检时间 +- 检验时间 +- 状态 + +风险点: +- 部门归属口径需要确认: + - 按操作人部门 + - 按工位部门 + - 按任务归属部门 + - 按物料/订单类型部门 + +预估周期: +- 口径确认:0.5 到 1 天 +- SQL/接口:1 到 2 天 +- 前端报表:1 天 +- 联调:0.5 天 + +AI 关键记录: +- 不建议写死多个部门报表。 +- 部门作为维度,后续可拆。 + +## 11. 编程任务清单 / 编程报工 + +页面:新增页面,建议名称 `编程任务清单` 或 `编程报工` + +需求理解: +- 不是普通设备任务列表。 +- 本质是编程报工。 +- 展示和操作流程参考装配中心。 + +功能建议: +- 编程任务列表。 +- 按设备/工位筛选。 +- 开始编程。 +- 结束编程。 +- 填写编程内容/说明。 +- 记录人员、开始时间、结束时间、工时。 + +数据建议: +- 编程任务表。 +- 编程报工记录表。 +- 或在操作记录中新增编程相关操作类别。 +- 若后续独立统计,建议单独建表。 + +待确认: +- 编程任务来源: + - 生产订单自动生成 + - 人工创建 + - 从设备任务筛出 +- 是否允许多人同时编程一个任务。 +- 编程完成后是否影响生产任务状态。 + +预估周期: +- 需求口径确认:0.5 到 1 天 +- SQL/表结构/接口:1 到 2 天 +- 前端页面:1 到 2 天 +- 联调:0.5 天 + +AI 关键记录: +- 本质是编程报工。 +- 不混入装配或机加工时。 +- 工时建议独立存储。 + +## 12. 生产订单关闭批量更新 SAP 状态 + +页面:生产订单关闭 + +目标: +- 新增批量更新 SAP 订单状态功能。 + +方案: +- 表格支持多选。 +- 新增按钮 `批量关闭SAP订单`。 +- 批量操作前后端都必须校验。 +- 逐单调用 SAP 关闭接口。 +- 返回每条成功/失败原因。 +- 记录操作日志。 + +风险点: +- SAP 写操作风险高。 +- 必须二次确认。 +- 必须支持部分成功、部分失败。 +- 失败项可重试。 + +预估周期: +- 前端批量选择与结果弹窗:0.5 到 1 天 +- 后端批量接口:1 到 2 天 +- SAP 联调:1 天 +- 测试与异常处理:0.5 到 1 天 + +AI 关键记录: +- 建议逐单执行,不建议一条失败全批失败。 +- 必须记录实际操作结果。 + +## 13. 生产工艺编辑自动带出标准工艺 + +页面:生产工艺 + +目标: +- 点击编辑时,如果没有生产工艺,自动带出标准工艺。 + +方案: +- 点击编辑先查询是否已有生产工艺。 +- 有则正常编辑。 +- 没有则按物料编码查询标准工艺。 +- 标准工艺带入为草稿。 +- 用户保存后才正式写入生产工艺。 +- 没有标准工艺时提示。 + +风险点: +- 标准工艺和生产工艺字段映射需要确认。 +- 自动带出不应自动落库。 +- 已生成生产工艺不建议再随标准工艺自动变化。 + +预估周期: +- 前端判断与带出:0.5 到 1 天 +- SQL/接口:1 天 +- 联调:0.5 天 + +AI 关键记录: +- 自动带出草稿,不自动保存。 +- 有生产工艺则不覆盖。 + +## 14. 异常管控 + +页面:异常管控 + 全部报工页面 + +目标: +- 所有报工页面选中任务后可直接报异常。 +- 异常提报时审批人多选。 +- 多个审批人中一人处理即可。 +- 被选中的其他审批人也可以看到任务。 +- 审批人可能是任意人员,不限制部门、角色或组织层级。 + +方案: +- 所有报工页面增加 `报异常` 入口。 +- 选中任务后自动带出任务信息。 +- 异常弹窗填写异常类型、说明、附件、审批人。 +- 审批人支持多选。 +- 任一审批人处理后,该异常进入下一状态。 +- 记录实际处理人。 + +预估周期: +- 全部报工页入口改造:1 到 2 天 +- 异常提报弹窗和接口:1 天 +- 多审批人表结构/查询逻辑:1 到 2 天 +- 待办可见和处理逻辑:1 天 +- 联调:0.5 到 1 天 + +AI 关键记录: +- 多审批人不是会签。 +- 是多人可见,一人处理。 +- 审批人可为任意人员。 +- 全部报工页面都要加入口。 + +## 15. 及时开工报表 + +页面:及时开工报表 + +真实需求: +- 指派对象查询条件支持正选和反选。 +- 不是重做及时开工算法。 + +方案: +- 增加 `指派对象查询模式`。 +- 选项: + - 包含 + - 排除 +- 指派对象支持多选。 +- 正选:`指派对象 IN (...)` +- 反选:`指派对象 NOT IN (...)` +- 原及时开工业务逻辑不变。 + +预估周期: +- 前端筛选控件:0.5 天 +- SQL 参数调整:0.5 到 1 天 +- 联调:0.5 天 + +AI 关键记录: +- 问题是指派对象过滤方式。 +- 保留旧逻辑为默认模式。 + +## 16. 让步接收记录 + +页面:新增页面,名称 `让步接收记录` + +目标: +- 查询质检记录中 `让步接收` 字段不为 NULL 的所有数据。 + +方案: +- 新增查询页面。 +- 默认条件:`让步接收 IS NOT NULL`。 +- 支持生产订单、物料、检验时间、检验人等筛选。 +- 支持详情和导出。 + +预估周期: +- SQL 查询:0.5 到 1 天 +- 前端页面:0.5 到 1 天 +- 联调:0.5 天 + +AI 关键记录: +- 这是记录查询页,不是审批页。 +- 默认只查让步接收字段不为空的数据。 + +## 17. 装配已排产需求 + +页面:新增页面,名称 `装配已排产需求` + +总体定位: +- 独立子项目。 +- 基于装配已排产数据。 +- 整合 SAP 字段、MES 报工、工时、异常、齐套时间、日计划。 + +已确认口径: +- 系统/非系统分类按物料名称关键字判断。 +- 系统:高压冷却相关物料。 +- 非系统:除高压冷却之外的阀类物料。 +- 装配完成时间 = 发料齐套时间 + 3 天。 +- 发料齐套时间来源:生产计划表发料齐套时间字段。 +- 当前发料齐套时间字段还没有,等待 SAP 或通过逻辑判断获取。 +- 手工维护字段放在生产计划表。 +- 装配工时来源:装配报工记录。 +- 质量工时来源:质检报工。 +- 设计工时来源:新设计任务报工模块。 +- 合同工时汇总:按合同号汇总该合同下所有生产订单。 +- 合同进度参考公式:累计工时 / 预计总工时。 +- 当前对应人员:多人开始未结束时显示多人。 +- 当前对应内容:目前无字段,需要新增开发。 +- 异常按生产订单关联。 +- 日计划按装配完成时间生成。 + +新增字段: +- 发料齐套时间 +- 装配完成时间 +- 派工时间,SAP 提供 +- 合同交货期,SAP 提供 +- 钣金预达 +- 钣金到达 +- 泵 +- 当前对应人员 +- 当前对应内容 +- 生产订单累计工时 +- 历史工序说明 +- 预计总工时 +- 合同工时汇总 +- 合同进度参考 +- 预计剩余工时 +- 生产异常 + +装配完成时间: +- 发料齐套时间 + 3 天。 +- 可人工修改。 +- 建议记录修改人、修改时间、原值、新值。 + +当前对应人员: +- 来源于装配开始后未结束的报工记录。 +- 多人显示人名和开始时间。 + +当前对应内容: +- 来源于装配开始时输入的工作内容。 +- 当前系统没有字段,需要新增。 + +工时: +- 生产订单累计工时按生产订单汇总。 +- 合同工时按合同号汇总该合同下所有生产订单。 +- 工时分类:装配、质量、设计。 +- 支持查看明细。 + +日计划: +- 按装配完成时间生成。 +- 支持导出、打印。 + +开发阶段建议: +- 第一阶段:基础页面、系统/非系统筛选、派工时间、合同交货期、发料齐套、装配完成时间。 +- 第二阶段:手工维护字段。 +- 第三阶段:当前人员、当前内容、历史工序说明。 +- 第四阶段:工时汇总和明细。 +- 第五阶段:异常关联、日计划、导出打印。 + +预估周期: +- 需求字段确认:1 到 2 天 +- 基础页面和主查询:2 到 3 天 +- 手工维护字段:1 到 2 天 +- 人员/内容/历史说明:1 到 2 天 +- 工时汇总和明细:2 到 3 天 +- 异常关联:1 天 +- 日计划导出打印:1 到 2 天 +- 联调测试:2 天 + +整体预估:10 到 15 个工作日。 + +AI 关键记录: +- 这是独立子项目。 +- 最关键前置依赖是发料齐套时间字段。 +- 设计工时依赖设计任务报工模块。 +- 当前对应内容需要改装配开始流程。 + +## 18. 质检任务早知道 + +页面:新增页面,名称 `质检任务早知道` + +目标: +- 根据装配已排产需求页面的数据生成。 +- 根据装配完成时间分组。 +- 去掉已完成任务。 +- 给质检提前查看未来需要检验的装配任务。 + +数据来源: +- 装配已排产需求。 + +过滤规则: +- 排除已完成任务。 +- 建议同时排除已入库、关闭、取消任务。 + +展示方式: +- 按装配完成时间分组。 +- 每个日期下显示待质检任务。 + +依赖: +- 装配已排产需求页面先完成。 +- 装配完成时间字段必须可用。 + +预估周期: +- 装配已排产需求完成后:1 到 2 天。 +- 不建议独立先做。 + +AI 关键记录: +- 这是质检预告页,不是实际质检记录页。 +- 强依赖装配已排产需求。 +- 分组字段是装配完成时间。 + +## 总体开发顺序建议 + +优先级建议: + +1. 低风险页面增强: + - 机加件已排产日期筛选 + - 生产工艺自动带出标准工艺 + - 让步接收记录 + - 及时开工报表指派对象正反选 + +2. 报表类: + - 及时检验报表 + - 机加班次产量表 + - 生产日报-送检 + - 手续确认报表 + +3. 流程增强: + - 异常管控直接报异常 + - 外协任务检验字段补充 + - 生产订单批量关闭 SAP 状态 + +4. 新模块: + - 设计任务报工 + - 编程报工 + +5. 大型专项: + - 装配已排产需求 + - 质检任务早知道 + - 及时齐套跟踪结果报表 + +主要风险: +- SAP 字段和接口未完全就绪。 +- 发料齐套时间字段未落地。 +- 设计任务报工会影响后续设计工时汇总。 +- 装配已排产需求字段多、依赖多,应单独排期。 +- SAP 写操作类需求必须严格校验和记录日志。 + +## 开发实施总流程 + +如果后续由我实际修改这些需求,整体会按下面流程推进,避免直接改页面导致口径不一致。 + +1. 定位菜单和页面 + - 先按中文页面名到数据库表 `登录基础数据_二级菜单` 中确认菜单名称、路径、组件地址。 + - 再到前端 `src/views` 下定位 Vue 文件。 + - 如果是新增页面,需要同步规划菜单记录、组件路径、权限角色。 + +2. 定位现有查询和保存接口 + - 在页面中查找 `CreateData(...)` 调用。 + - 确认当前使用的存储过程名称。 + - 到 `script.sql` 中找到对应存储过程、表、视图。 + - 判断是改现有存储过程,还是新增存储过程更合适。 + +3. 先定数据口径 + - 明确字段来源:MES、SAP、手工维护、设备采集。 + - 明确状态口径:已完成、已关闭、已入库、已检验、已报工。 + - 明确计算口径:工时合计、进度、超期天数、合格率。 + - 对无法确定的字段,不直接写死逻辑,优先标记为待确认或预留字段。 + +4. 后端优先 + - 先改 SQL 查询或保存逻辑。 + - 对新增字段先补表结构或扩展表。 + - 对报表类需求,优先让 SQL 返回前端可直接展示的数据。 + - 前端不承担复杂业务汇总,避免后续统计口径分散。 + +5. 前端改造 + - 保持现有 Element UI 和项目写法。 + - 查询条件、表格列、弹窗、导出打印按现有页面风格实现。 + - 对大数据明细采用点击展开或弹窗按需加载。 + - 不影响原流程的地方,优先做新增入口,不覆盖旧入口。 + +6. 权限和菜单 + - 新增页面需要补 `登录基础数据_二级菜单` 菜单记录。 + - 需要确认角色权限。 + - 报工、异常、SAP 写操作类按钮要特别确认权限。 + +7. 测试和验收 + - 每条需求至少准备正常数据、边界数据、空数据。 + - 报表类核对 SQL 汇总值和页面展示值。 + - SAP 写操作类必须测试成功、失败、重复执行、部分失败。 + - 最终执行构建并记录影响范围。 + +## 开发分类思路 + +字段新增类: +- 先确认字段放现有表还是扩展表。 +- 小字段优先跟随业务主表,例如备注、提示信息、手工维护字段。 +- 字段新增后同步改查询、保存、导出、打印。 + +报表新增类: +- 优先新增独立查询存储过程。 +- 页面只负责筛选、展示、导出。 +- 统计口径放 SQL,方便客户核对。 + +流程增强类: +- 尽量保留原入口。 +- 新增快捷入口或新增状态字段。 +- 涉及审批、SAP、工时的流程必须记录操作日志。 + +SAP 依赖类: +- 先确认 SAP 字段、接口、返回示例。 +- 只读查询和写入更新分开设计。 +- 写 SAP 的需求必须做后端二次校验和失败记录。 + +暂无法修改类: +- 不是技术上永远不能改,而是当前业务规则或数据源未定。 +- 先记录为暂缓,不进入开发排期。 +- 等客户或 SAP/设备数据确认后再重新评估。 + +## 19. 工艺内容修改 + +页面:工艺内容修改 + +需求: +- 需要修改工艺。 +- 重点争议:已开工任务如何处理。 + +当前结论: +- 本期无法修改。 +- 尤其已开工任务涉及已排产、已开工、已报工、质检、工时统计等链路。 +- 如果直接修改历史工艺,会导致任务执行记录和原工艺不一致。 + +如果后续要做,建议流程: +1. 未开工任务允许修改生产工艺。 +2. 已开工任务不直接覆盖原工艺。 +3. 已开工任务如必须变更,应生成工艺变更记录或新版本工艺。 +4. 已报工任务保留原工艺快照。 +5. 报表按任务实际执行工艺统计,不按最新工艺覆盖。 + +本期处理: +- 暂不开发。 +- 作为待讨论需求记录。 + +预估周期: +- 暂无法排期。 + +AI 关键记录: +- 已开工任务不建议直接改工艺。 +- 需要先定工艺版本和历史快照规则。 + +## 20. 工序流转卡 + +页面:工序流转卡 + +需求: +- 打印信息增加原料编码。 + +开发思路: +1. 找到工序流转卡打印页面和打印模板。 +2. 找到当前打印数据来源。 +3. 在查询中补充原料编码字段。 +4. 打印模板增加原料编码显示。 +5. 打印预览确认字段位置和换行。 + +影响范围: +- 查询 SQL。 +- 打印模板。 + +预估周期: +- 0.2 天。 + +AI 关键记录: +- 小改动。 +- 重点确认原料编码字段来源。 + +## 21. 工时报表 + +页面:工时报表 + +需求 1: +- 作业者工时新增指派对象字段。 + +开发思路: +1. 定位作业者工时报表页面。 +2. 定位当前查询存储过程。 +3. 查询结果中增加指派对象字段。 +4. 前端表格增加列。 +5. 如有导出,同步增加导出列。 + +预估周期: +- 0.1 天。 + +需求 2: +- 作业者工时一对多问题。 +- 需要在报工结束后直接计算。 +- 上版本报工是计算的,现在不计算。 + +当前结论: +- 本期无法修改。 + +原因: +- 该问题涉及报工结束时的工时分摊和一对多计算规则。 +- 当前版本已经改变了计算口径。 +- 如果没有明确恢复规则,直接改会影响历史工时报表、SAP 工时上传、工时校验。 + +后续如要做,需确认: +- 一对多是一个人对应多个任务,还是一个任务对应多人。 +- 工时按人数均分、按任务数均分,还是按实际开始结束时间计算。 +- 是否需要重算历史数据。 +- 是否影响 SAP 上传。 + +AI 关键记录: +- 指派对象字段可快速加。 +- 一对多工时计算暂不改,需重新确认计算规则。 + +## 22. 工时查询 + +页面:工时查询 + +需求: +- 程序工时字段需要跟设备数据采集计算。 +- 后续可能新增其他设备信息。 + +当前结论: +- 等待设备数据采集。 + +原因: +- 程序工时不能靠 MES 页面单独计算。 +- 必须依赖设备采集数据,包括设备号、运行开始、运行结束、程序号、循环时间等。 + +后续开发思路: +1. 明确设备采集表或接口。 +2. 确认设备数据与 MES 任务的关联字段。 +3. 按设备、时间段、任务计算程序工时。 +4. 工时查询页面增加程序工时字段。 +5. 如果新增设备信息,建议走设备数据扩展表。 + +预估周期: +- 等设备数据采集确认后再评估。 + +AI 关键记录: +- 当前不能开发完整程序工时。 +- 前置依赖是设备数据采集。 + +## 23. 生产领料补充-机加 + +页面:生产领料(机加) + +需求: +- 领料单增加备注字段。 + +开发思路: +1. 定位机加生产领料页面。 +2. 找到领料保存存储过程。 +3. 领料单表增加备注字段,或确认已有备注字段。 +4. 前端表单增加备注输入。 +5. 列表、详情、打印如有需要同步展示。 + +预估周期: +- 0.2 天。 + +AI 关键记录: +- 小字段补充。 +- 需要同步保存和查询。 + +## 24. 生产退库-机加 + +页面:生产退库(机加) + +需求: +- 添加备注字段。 +- 按照装配退库方式修改。 + +开发思路: +1. 对比装配退库备注实现。 +2. 机加退库表或保存接口增加备注字段。 +3. 前端退库弹窗增加备注。 +4. 查询、打印同步展示备注。 + +预估周期: +- 0.2 天。 + +AI 关键记录: +- 参考装配退库,不单独设计新口径。 + +## 25. 外协任务报表(采购) + +页面:外协任务报表(采购) + +需求: +- 增加字段:采购到货期说明。 + +开发思路: +1. 定位外协任务报表页面。 +2. 定位报表查询存储过程或视图。 +3. 确认采购到货期说明来源。 +4. 查询结果增加字段。 +5. 前端表格增加列。 +6. 导出同步增加列。 + +预估周期: +- 0.1 天。 + +AI 关键记录: +- 字段展示类需求。 +- 关键是确认字段来源,若 SAP 已有则直接关联。 + +## 26. 生产退库-装配 + +页面:生产退库(装配) + +需求: +- 无备注字段,需要增加。 + +开发思路: +1. 定位装配退库保存逻辑。 +2. 表结构或扩展字段增加备注。 +3. 退库弹窗增加备注输入。 +4. 查询、详情、打印同步展示。 + +预估周期: +- 0.1 天。 + +AI 关键记录: +- 小字段补充。 +- 如果机加和装配退库共用接口,可一起处理。 + +## 27. 及时送检报表 + +页面:新增或扩展页面,名称 `及时送检报表` + +需求: +- 新需求。 +- 依赖发料齐套时间。 +- 当前 SAP 数据已到。 + +目标: +- 根据发料齐套时间判断是否及时送检。 +- 展示未及时送检或送检滞后的任务。 + +开发思路: +1. 确认 SAP 发料齐套时间字段已经同步到 MES 哪张表。 +2. 确认送检时间来源。 +3. SQL 计算发料齐套时间到送检时间的间隔。 +4. 定义超期规则。 +5. 页面展示超期任务。 + +建议字段: +- 生产订单 +- 物料编码 +- 物料名称 +- 发料齐套时间 +- 送检时间 +- 送检数量 +- 超期时长 +- 当前状态 + +预估周期: +- 0.5 天。 + +AI 关键记录: +- SAP 数据已到,可以进入开发。 +- 关键是确认字段落库位置和超期规则。 + +## 28. 标牌打印操作 + +页面:标牌打印操作 + +需求: +- 需求未确定。 + +当前结论: +- 暂不开发。 + +后续需要确认: +- 打印触发点。 +- 标牌模板。 +- 打印字段。 +- 是否支持补打。 +- 是否记录打印次数和打印人。 + +预估周期: +- 暂无法排期。 + +AI 关键记录: +- 需求不明确,不进入开发。 + +## 29. 发货通知列表 + +页面:新增页面,名称 `发货通知列表` + +需求: +- SAP 已提供数据。 +- 大屏已显示。 +- 需要新增报表。 + +开发思路: +1. 复用大屏已有数据来源。 +2. 新增普通报表页面。 +3. 增加查询条件:销售订单、客户、发货日期、发货状态、物料编码。 +4. 表格展示发货通知明细。 +5. 支持导出。 + +建议字段: +- 销售订单 +- 客户 +- 物料编码 +- 物料名称 +- 发货数量 +- 要求发货日期 +- 发货通知状态 +- SAP 单据号 + +预估周期: +- 0.5 天。 + +AI 关键记录: +- 数据源已存在,重点是从大屏改为报表查询。 + +## 30. 制定标准工艺 + +页面:制定标准工艺 + +需求: +- 点击保存时增加提示信息。 + +开发思路: +1. 定位保存按钮和保存接口。 +2. 保存前做必要校验提示。 +3. 保存成功显示成功提示。 +4. 保存失败显示后端返回原因。 +5. 避免无响应或提示不明确。 + +预估周期: +- 0.1 天。 + +AI 关键记录: +- 前端提示优化。 +- 不涉及复杂业务逻辑。 + +## 31. 设备数据采集与大屏指标需求 + +本次补充需求不是单个页面小改,而是“设备档案 + 设备采集 + 产能/OEE 指标 + 工时异常 + 条码拣配 + 现场大屏”的一组联动需求。它会影响设备管理、工艺标准工时、生产报工、质检、拣配、机加/装配现场看板和综合大屏。 + +### 31.1 设备档案管理 + +页面:设备档案/设备管理相关页面 +关联页面线索:`DeviceManagement/DeviceInformation`、`SystemMaintenance/WorkstationManagement`、设备工位绑定相关页面 + +需求: +- 维护设备档案。 +- 设备档案中需要标记“主要设备”。 +- 设备档案或设备工艺能力中需要维护标准工时相关字段。 +- 后续设备采集、设备利用率、OEE、设备异常报表都以设备档案为基础。 + +建议字段: +- 设备编号/设备名称 +- 工位编号/工位名称 +- 设备类型 +- 是否主要设备 +- 设备状态采集点位 +- 程序工时采集点位 +- 标准工时来源 +- 标准单件工时 +- 计划产量来源 +- 是否参与 OEE + +开发思路: +1. 梳理现有设备档案表、工位表、设备工位人员视图。 +2. 确认标准工时放在设备档案、工艺路线,还是设备+工序能力表。 +3. “主要设备”建议独立字段,不能只靠设备名称判断。 +4. OEE 只统计参与 OEE 的主要设备,避免普通辅助设备拉低指标。 + +风险点: +- 如果标准工时只放在工艺里,设备利用率无法按单台设备准确计算。 +- 如果标准工时只放在设备档案里,同一设备加工不同零件时又会失真。 +- 更稳妥的口径是:设备档案负责“是否主要设备、是否采集、是否参与 OEE”,工艺/设备能力表负责“标准单件工时”。 + +预估周期: +- 字段梳理和表结构确认:0.5 到 1 天 +- 页面字段改造:0.5 到 1 天 +- 联调:0.5 天 + +### 31.2 设备数据采集 + +页面/模块:设备数据采集、设备状态监控、设备历史数据 +现有对象线索:`CaChe_Var`、`历史_设备数据_定时`、`历史_工位设备状态每分钟记录`、`YL_设备管理_工时记录`、`设备管理_设备状态_查询` + +需求: +- 采集程序工时。 +- 采集单件工时。 +- 采集设备状态。 +- 采集数据后用于设备利用率、开动率、OEE、工时异常报表和现场大屏。 + +采集数据建议: +- 设备编号/工位号 +- 采集时间 +- 设备状态:运行、待机、报警、关机 +- 操作模式 +- 程序号 +- 循环时间 +- 程序开始时间 +- 程序结束时间 +- 当前加工数量 +- 当前任务或条码绑定信息 +- 采集来源和采集质量标识 + +关键口径: +- 程序工时:设备程序运行累计时间,不等于 MES 人工报工工时。 +- 单件工时:单件实际加工时间,优先由程序循环时间或“设备运行时间 / 实际产量”计算。 +- 设备状态:要有时间段,不只保存当前状态,否则无法算设备工时。 +- 设备工时:用于设备利用率时,应指设备处于运行/有效加工状态的累计时长。 + +开发思路: +1. 明确采集系统把数据写入 MES 表,还是 MES 定时读取设备/PLC/MQTT。 +2. 建采集原始表,保留原始点位值,不直接覆盖业务结果。 +3. 建设备状态分钟级/秒级汇总表,用于快速计算设备状态时长。 +4. 建设备任务绑定规则:设备采集数据如何关联 MES 任务。 +5. 建异常数据清洗规则:断点、重复、设备离线、跨班次、跨天。 + +预估周期: +- 采集字段和接口确认:1 到 2 天 +- 数据落库和历史汇总:2 到 4 天 +- 与 MES 任务关联:2 到 3 天 +- 看板联调:1 到 2 天 + +AI 关键记录: +- 设备采集必须先落原始数据,再计算指标。 +- 程序工时、设备工时、人工报工工时是三套口径,不能直接混用。 + +### 31.3 设备指标与 OEE 计算 + +目标:支持单台设备产能利用率、设备利用率、设备性能开动率、产品合格率、OEE。 + +公式: + +| 指标 | 公式 | 数据来源建议 | 说明 | +|---|---|---|---| +| 产能利用率(单台) | 实际产量 / 计划产量 * 100% | MES 报工数量或质检合格前产量 / 排产计划数量 | 计划产量必须按设备、日期、班次拆分 | +| 设备利用率(单台) | 设备工时 / 标准工时 | 设备采集运行时长 / 设备或工艺标准工时 | 标准工时要明确是班次标准工时、计划标准工时还是理论可用工时 | +| 设备性能开动率(单台) | 标准单件工时 / 实际单件工时 | 工艺标准单件工时 / 设备采集单件工时 | 实际单件工时异常时要剔除停机、等待、返工 | +| 产品合格率(工位) | 良品数 / 总产量 | 质检记录、报工良品/不良品 | 质检滞后时会导致当天合格率滞后 | +| 设备综合效率 OEE | 设备利用率 * 开动率 * 合格率 | 上面三项 | 三项必须同设备、同班次、同日期口径 | + +需要新增或确认的字段: +- 计划产量 +- 实际产量 +- 良品数 +- 不良品数 +- 标准单件工时 +- 实际单件工时 +- 设备运行工时 +- 标准工时 +- 统计日期 +- 班次 +- 设备/工位 + +开发风险: +- 如果实际产量来自报工、良品数来自质检,而质检跨天完成,则当天 OEE 会被低估。 +- 如果设备运行工时来自采集、计划产量来自排产,但任务没有绑定到设备,则单台设备产能利用率无法准确计算。 +- 如果标准工时来源不统一,设备利用率和性能开动率会互相冲突。 + +建议: +- 先做设备日/班次指标明细表,再做大屏汇总。 +- 看板显示的 OEE 必须能下钻到三个组成指标。 +- 每个指标保留计算口径说明,不要只显示百分比。 + +预估周期: +- 指标口径确认:1 天 +- SQL/视图/汇总表:2 到 4 天 +- 大屏对接:1 到 2 天 + +### 31.4 工时异常报表 + +页面:新增报表或工时查询扩展 + +需求: +- 单件工时大于标准工时,形成工时异常报表。 +- 报表用于发现设备、工序、人员、程序、物料导致的异常加工。 + +判断口径: +- 异常条件:`实际单件工时 > 标准单件工时`。 +- 实际单件工时建议优先来自设备采集;无采集时可用人工报工工时 / 完成数量作为降级口径。 +- 标准单件工时来自生产工艺或设备能力表。 + +建议字段: +- 设备/工位 +- 生产订单 +- 物料编码/名称 +- 工序名称 +- 指派对象 +- 操作人 +- 程序号 +- 标准单件工时 +- 实际单件工时 +- 超出时长 +- 超出比例 +- 开始时间/结束时间 +- 班次 +- 异常原因 + +开发思路: +1. 建单件工时明细视图。 +2. 计算标准与实际差异。 +3. 超出阈值的进入异常报表。 +4. 支持按设备、工位、人员、物料、工序、日期筛选。 +5. 如需闭环,增加异常确认人、确认时间、处理说明。 + +预估周期: +- 报表查询:1 到 2 天 +- 页面和导出:0.5 到 1 天 +- 异常确认闭环:另加 1 到 2 天 + +### 31.5 及时拣配(机加/装配) + +页面/模块:机加拣配、装配拣配、条码扫描 + +需求: +- 及时拣配(机加):条码 → MES。 +- 及时拣配(装配):条码 → MES。 + +业务含义: +- 扫描条码后,MES 要识别任务、物料、领料/发料状态、是否齐套、是否可开工。 +- 机加和装配都需要及时拣配,但拣配对象不同:机加更偏工序/零件加工前物料,装配更偏装配 BOM/缺件齐套。 + +建议流程: + +```mermaid +flowchart LR + A[扫描条码] --> B[解析条码] + B --> C[查 MES 任务/物料/BOM] + C --> D{是否匹配当前任务} + D -- 否 --> E[提示异常并记录] + D -- 是 --> F[更新拣配状态] + F --> G[判断齐套/缺件] + G --> H[反馈可开工或缺件清单] +``` + +需要确认: +- 条码代表物料、箱号、批次、生产订单,还是拣配单。 +- SAP 库存和 MES 拣配状态谁是主口径。 +- 拣配后是否自动改变 `拣配状态`、`齐套`、`发料状态`。 +- 机加和装配是否共用同一套拣配表。 + +预估周期: +- 条码规则确认:0.5 到 1 天 +- 机加拣配流程:1 到 2 天 +- 装配拣配流程:1 到 2 天 +- 与看板联动:0.5 到 1 天 + +### 31.6 一楼质检大屏幕 + +页面:质检任务看板/一楼质检大屏 + +需求: +- 质检及时率:报检任务超过 2 天未检验,时间基准取最后一次生产完成时间。 +- 关键工序检验任务汇总数和明细:工艺编辑时标记关键工序。 + +质检及时率口径: +- 应检任务:已有生产完成/报检触发的任务。 +- 超期任务:最后一次生产完成时间超过 2 天,仍未完成检验。 +- 已检任务:已存在对应质检记录且检验数量满足应检数量。 +- 及时率建议:及时检验任务数 / 应检任务数 * 100%。 + +关键工序需求: +- 工艺维护时增加“是否关键工序”字段。 +- 生产工艺生成任务时,要把关键工序标识快照到生产任务。 +- 质检大屏按关键工序标识统计应检/未检/已检/加急。 + +影响: +- `质量任务看板_未完成统计`、`质量任务看板_未完成明细查询` 需要补超期天数、最后生产完成时间、是否关键工序。 +- 若仅在工艺库改“关键工序”,历史任务是否跟着变,需要确认。建议任务下发时快照,不自动影响历史。 + +预估周期: +- 工艺字段和任务快照:1 到 2 天 +- 质检及时率过程:1 到 2 天 +- 大屏改造:1 天 + +### 31.7 机加现场大屏幕 + +页面:机加设备生产运营看板/机加现场大屏 + +需求: +- 缺勤人员:显示岗位、工位、姓名;一个人或一个岗位可能对应多个工位,需要合并显示。 +- 关键工序任务汇总数和明细:工艺编辑时标记关键工序。 + +缺勤人员口径: +- 应到人员:班次人员绑定表或岗位排班表。 +- 实到人员:打卡/登录/报工/绑定上岗记录,需要确认来源。 +- 缺勤:应到但无实到记录。 +- 展示:岗位、工位列表、姓名;多工位用逗号合并。 + +关键工序任务口径: +- 已排产且未完成的关键工序任务。 +- 可区分未开工、进行中、超期、加急。 +- 明细至少显示订单、合同、物料、工序、设备/工位、指派对象、计划开始、完成数量、上序合格数。 + +影响: +- `机加设备生产运营看板_机加在制查询2` 需要补关键工序标识。 +- 需要新增缺勤人员查询过程,不能继续使用静态示例数据。 + +预估周期: +- 缺勤来源确认:0.5 到 1 天 +- 缺勤查询过程和页面对接:1 天 +- 关键工序标识和大屏改造:1 到 2 天 + +### 31.8 装配现场大屏幕 + +页面:装配任务看板/装配现场大屏 + +需求: +- 缺勤人员:岗位、工位、姓名,一对多合并显示。 +- 及时送检任务列表:可与加急/任务列表合并,用颜色区分;排序在加急后;规则为发料齐套后 2 天未送检。 + +及时送检口径: +- 起算时间:发料齐套时间。 +- 超期规则:发料齐套后超过 2 天仍未送检。 +- 送检判断:是否存在送检/质检任务/质检记录,需要确认具体表。 +- 排序:加急任务优先,其次及时送检超期任务,再按计划开始或齐套时间排序。 + +影响: +- `装配中心任务看板_装配任务查询` 需要返回发料齐套时间、是否已送检、送检时间、超期天数。 +- `装配中心任务看板_在制品缺件查询` 和发货状态列表需要区分缺件、齐套未送检、已送检未检。 +- 装配缺勤人员不能再用静态样例,需要与班次/岗位/工位绑定联动。 + +预估周期: +- 发料齐套时间来源确认:0.5 天 +- 送检状态过程:1 到 2 天 +- 大屏颜色/排序改造:0.5 到 1 天 +- 缺勤人员对接:1 天 + +### 31.9 本组需求总风险 + +1. 设备数据采集是前置条件。没有稳定采集数据,程序工时、单件工时、设备利用率、OEE 都只能是估算。 +2. 标准工时来源必须统一。工艺标准工时、设备标准工时、班次标准工时不是同一件事。 +3. 质检及时率和产品合格率存在时间滞后。生产完成当天不一定当天质检,日报和大屏要明确口径。 +4. 关键工序标识要做任务快照。否则工艺维护改字段会影响历史统计。 +5. 缺勤人员必须有排班/应到和实到来源,不能只从当前报工人员反推。 +6. 条码拣配会反向影响 `齐套`、`拣配状态`、`发料状态`,必须同步改生产任务看板和装配看板。 + +## 32. 追加需求处理状态汇总 + +| 需求 | 处理状态 | 周期 | +|---|---|---| +| 工艺内容修改 | 暂不开发,待讨论已开工任务规则 | 无法排期 | +| 工序流转卡增加原料编码 | 可开发 | 0.2 天 | +| 作业者工时新增指派对象 | 可开发 | 0.1 天 | +| 作业者工时一对多计算 | 暂不开发,需重定计算规则 | 无法排期 | +| 程序工时与设备采集 | 等待设备数据采集 | 待评估 | +| 机加领料备注 | 可开发 | 0.2 天 | +| 机加退库备注 | 可开发 | 0.2 天 | +| 外协任务报表采购到货期说明 | 可开发 | 0.1 天 | +| 装配退库备注 | 可开发 | 0.1 天 | +| 及时送检报表 | SAP 数据已到,可开发 | 0.5 天 | +| 标牌打印操作 | 需求未确定 | 无法排期 | +| 发货通知列表 | SAP 数据已提供,可开发 | 0.5 天 | +| 制定标准工艺保存提示 | 可开发 | 0.1 天 | +| 设备档案管理-主要设备/标准工时 | 可开发,需先定字段归属 | 1.5 到 2.5 天 | +| 设备数据采集-程序工时/单件工时/设备状态 | 需先确认采集接口和落库表 | 待评估,预计 6 到 11 天 | +| 设备产能/OEE 指标 | 依赖设备采集和标准工时口径 | 4 到 7 天 | +| 工时异常报表 | 依赖单件工时和标准工时 | 1.5 到 3 天 | +| 及时拣配(机加/装配) | 需确认条码规则和状态写回 | 3 到 6 天 | +| 一楼质检大屏-及时率/关键工序 | 可开发,需补关键工序标识 | 3 到 5 天 | +| 机加现场大屏-缺勤/关键工序 | 可开发,需确认缺勤来源 | 2.5 到 4 天 | +| 装配现场大屏-缺勤/及时送检 | 可开发,需确认送检状态来源 | 3 到 5 天 | + +## 33. 补充修正:按“数据来源、维护入口、是否新建页面”重新复核 + +前面部分有些需求只写成“新增页面”或“页面改造”,这个口径还不够。后续评估必须先拆成三件事: + +1. 查询/看板页面:给谁看、按什么条件筛选、是否导出。 +2. 数据维护入口:这个字段由谁维护、在哪个业务页面维护、是否要留修改记录。 +3. 数据来源口径:来自 MES 业务表、SAP 同步、设备采集、人工维护、排班/考勤,还是计算结果。 + +原则: +- 报表类需求可以新建查询页,但不要把所有字段维护都放进报表页。 +- 主数据类字段优先放在主数据页面维护,例如人员、班次、工位、设备、工序、标准工艺。 +- 订单/任务过程字段优先放在生产计划、生产工艺、装配中心、机加中心、质检中心等业务页面维护。 +- 看板只展示和钻取,不作为唯一维护入口,除非需求明确就是现场确认动作。 +- 如果没有现成维护入口,才考虑新增维护页面,并同步菜单、权限、日志和历史记录。 + +### 33.1 逐项落点复核 + +| 需求/字段 | 数据来源建议 | 维护入口建议 | 是否新建页面 | 同步影响 | +|---|---|---|---|---| +| 缺勤人员 | 应到:班次/排班/岗位工位人员绑定;实到:考勤、上岗绑定、登录或报工记录 | 若已有班次管理、人员绑定、工位人员关系,则扩展这些页面;若没有排班入口,需要新增 `班次排班/人员出勤维护` 页面 | 看板查询过程要新增;维护页视现有排班能力决定 | 机加看板、装配看板、班次产量、人员绩效 | +| 关键工序 | 标准工艺/生产工艺中的工序标识,任务下发时快照到生产任务 | `制定标准工艺` 和 `生产工艺` 页面都要支持维护 `是否关键工序`;生产工艺可继承标准工艺但允许按订单调整 | 不建议单独新建“关键工序维护”页;可新增查询/批量检查页 | 质检看板、机加现场大屏、及时检验、生产计划跟踪 | +| 标准单件工时 | 标准工艺、生产工艺;必要时扩展设备+工序能力表 | 优先在标准工艺/生产工艺维护,设备档案只维护设备能力和是否参与 OEE | 不单独新建维护页,除非要做设备+工序能力矩阵 | OEE、工时异常、未完工工时、计划工时 | +| 生产工艺自动带出标准工艺 | 标准工艺库生成草稿,保存后进入生产工艺库 | `生产工艺` 页面编辑入口处理;`制定标准工艺` 负责标准来源 | 不新建页面 | 排产、流转卡、工时报表、任务快照 | +| 设计任务报工 | MES 自建设计任务、设计工时 | 需要独立任务创建、报工、查询和权限 | 需要新建业务页面 | 合同工时、设计工时报表、装配已排产需求 | +| 编程任务清单/编程报工 | 编程任务、程序号、设备/工位、编程工时 | 需要独立编程任务维护和报工;可从生产订单/设备任务派生 | 需要新建业务页面 | 机加可开工判断、工时报表、及时开工 | +| 发料齐套时间 | SAP/MES 发料状态、齐套计算或人工维护字段 | 优先落在生产计划/装配排产相关页面;装配已排产需求可展示和必要时编辑 | 报表可新建,字段维护不应只放报表 | 装配完成时间、及时送检、齐套看板 | +| 装配完成时间 | 规则计算:发料齐套时间 + 3 天;也可能人工调整 | 装配已排产需求或装配排产页面显示;若允许调整需保存调整日志 | 新建装配已排产需求页是合理的,但要明确它既是进度页也是部分字段维护入口 | 质检任务早知道、日计划、合同进度 | +| 预计可执行时间 | SAP 缺件明细 + 主子订单关系 + 人工判断 | 及时齐套跟踪结果报表中可维护,但必须记录维护人、时间、来源说明 | 可在新报表内做维护动作,不必另建维护页 | 生产任务看板、及时开工、装配计划 | +| 主订单与缺料子订单关系 | SAP/MES 订单关系,必要时人工绑定 | 若 SAP 无法稳定提供,需要新增主子订单关系维护入口 | 可能需要新增维护页或在齐套报表内维护 | 及时齐套、装配缺件、生产看板 | +| 手续确认 | 人工确认状态、确认人、确认时间 | 手续确认报表本身就是待办确认入口,可在该页面维护 | 需要新建待办/报表页 | 装配中心、生产任务看板、订单关闭 | +| 让步接收记录 | 质检记录中的让步接收字段 | 质检中心/不合格处置页面负责维护;新页面只查询 | 新建查询页,不新建维护页 | 质检看板、供应商质量、未清任务 | +| 外协供应商/SAP 收货单号 | 外协任务、采购收货、质检收检记录 | 序检收检、外协收货、外协任务页面补字段 | 不单独新建维护页 | 外协报表、供应商合格率、SAP 追溯 | +| 机加班次产量 | 报工记录 + 设备 + 班次规则 | 班次规则在班次管理维护;报表只查询 | 新建报表页,不新建维护页 | 设备看板、工位汇总、OEE | +| 及时检验 | 生产完成/报工完成时间 + 质检记录 | 质检业务在质检中心维护;及时检验页只催办和查询 | 新建报表页 | 质检看板、生产日报、异常提醒 | +| 生产日报-送检 | 送检记录、质检记录、部门归属 | 送检和质检在原业务页面维护;日报只汇总 | 可新建报表页 | 日报、质检统计、部门绩效 | +| 发货通知列表 | SAP 发货通知或同步落地表 | SAP 为主,MES 页面只查询;若需备注/确认再加本地扩展表 | 新建查询页 | 装配看板、合同交付、board_view | +| 批量关闭 SAP 订单 | MES 订单 + SAP 关闭接口返回 | 生产订单关闭页维护,增加批量动作和结果日志 | 不新建页面,扩展现有关闭页 | 排产页、生产中心、手续确认 | +| 异常管控直接报异常 | 所有报工页面选中任务带入异常 | 异常管控页维护异常主流程;各报工页只提供入口 | 不新建页面,改异常页和各报工页入口 | 机加、装配、质检、外协、设计、编程 | +| 条码拣配 | 条码、物料、批次、任务、拣配状态 | 机加中心/装配中心增加扫码入口;条码规则可单独维护 | 扫码操作不一定新建页面,条码规则可能要新建维护页 | 齐套、发料、看板、SAP 库存 | +| 设备 OEE | 设备采集、报工产量、质检良品、标准工时 | 设备档案、工位管理、工艺维护、设备采集配置分别维护 | OEE 是报表/看板,不是单独维护页 | 机加看板、board_view、设备报表 | +| 工时异常 | 设备采集单件工时/人工工时 + 标准工时 | 异常报表可增加确认动作;标准工时仍在工艺/设备能力维护 | 新建报表或扩展工时查询 | 工时校验、异常管控、绩效 | + +### 33.2 对两个典型问题的明确修正 + +#### 缺勤数据来源 + +缺勤不能从“没有报工”反推。正确链路应该是: + +```mermaid +flowchart LR + A[班次/排班] --> B[应到人员] + C[岗位/工位人员绑定] --> B + D[考勤/上岗/登录/报工] --> E[实到人员] + B --> F[缺勤判断] + E --> F + F --> G[机加/装配现场看板] +``` + +如果系统没有排班或应到人员维护能力,就必须补一个维护入口。可以是扩展 `ShiftManagement`、人员绑定、工位人员角色页面,也可以新增 `人员排班/出勤维护` 页面。单纯新增看板查询过程只能展示结果,不能解决应到人员从哪里来的问题。 + +#### 关键工序维护位置 + +关键工序属于工艺属性,不属于看板属性。维护位置应放在: + +- `制定标准工艺`:维护物料标准工艺路线时标记标准关键工序。 +- `生产工艺`:按生产订单生成/编辑工艺时继承标准关键工序,并允许订单级调整。 +- 生产任务生成/下发时:把 `是否关键工序` 快照到任务,避免后续修改标准工艺导致历史看板重算。 + +因此“一楼质检大屏”和“机加现场大屏”只读取关键工序,不负责维护关键工序。若客户需要批量检查哪些工艺未标关键工序,可以新增查询/批量修正页,但主维护仍应落在标准工艺和生产工艺页面。 diff --git a/doc_old/新增需求界面原型设计_2026-05-25.md b/doc_old/新增需求界面原型设计_2026-05-25.md new file mode 100644 index 0000000..4715a5d --- /dev/null +++ b/doc_old/新增需求界面原型设计_2026-05-25.md @@ -0,0 +1,524 @@ +# 新增需求界面原型设计 + +生成日期:2026-05-25 +依据文档:`新增需求分析与开发记录_2026-05-23.md` +说明:本文只描述界面原型、字段、按钮、弹窗和交互,不涉及代码修改。 + +## 一、界面设计总原则 + +1. 报表页只负责查询、展示、导出、钻取;不把基础字段维护塞进报表页。 +2. 待办页可以承担确认动作,例如手续确认、异常处理。 +3. 工艺、关键工序、标准工时仍在标准工艺/生产工艺页面维护。 +4. 缺勤、班次、人员、工位类数据需要来源于班次/排班/人员工位绑定,不在大屏直接维护。 +5. 所有新增页面保留系统现有风格:顶部查询区、右侧操作按钮、下方表格、必要时弹窗明细。 + +## 二、新增页面总览 + +| 页面名称 | 页面类型 | 菜单建议 | 是否新增页面 | 是否维护数据 | +|---|---|---|---|---| +| 设计任务报工 | 业务操作页 | 生产管理/报工管理 | 是 | 是 | +| 机加班次产量表 | 报表页 | 报表中心/生产报表 | 是 | 否 | +| 手续确认报表 | 待办确认页 | 报表中心/装配报表 | 是 | 是,确认状态 | +| 及时检验报表 | 催办报表页 | 报表中心/质检报表 | 是 | 否 | +| 及时齐套跟踪结果报表 | 查询 + 部分维护页 | 报表中心/齐套报表 | 是 | 可维护预计可执行时间 | +| 生产日报-送检 | 日报页 | 报表中心/生产日报 | 是或扩展 | 否 | +| 编程任务清单/编程报工 | 业务操作页 | 生产管理/报工管理 | 是 | 是 | +| 让步接收记录 | 查询追溯页 | 质量管理/质量报表 | 是 | 否 | +| 装配已排产需求 | 交付进度页 | 生产管理/装配管理 | 是 | 部分字段可维护 | +| 质检任务早知道 | 预告报表页 | 质量管理/质量报表 | 是 | 否 | +| 及时送检报表 | 催办报表页 | 报表中心/质检报表 | 是或扩展 | 否 | +| 发货通知列表 | SAP 查询页 | 销售/交付报表 | 是 | 否 | +| 工时异常报表 | 异常分析页 | 报表中心/工时报表 | 是或扩展 | 可增加异常确认 | + +## 三、页面原型 + +### 1. 设计任务报工 + +定位:MES 自建设计任务和设计工时,不关联生产订单,不上传 SAP。 + +```text +┌────────────────────────────────────────────────────────────────────┐ +│ 设计任务报工 │ +├────────────────────────────────────────────────────────────────────┤ +│ 查询区 │ +│ 任务名称 [________] 设计人员 [____] 状态 [全部▼] 日期 [____至____] │ +│ [查询] [重置] [新增设计任务] │ +├────────────────────────────────────────────────────────────────────┤ +│ 任务列表 │ +│ □ 任务编号 | 任务名称 | 设计人员 | 状态 | 开始时间 | 结束时间 | 工时 │ +│ | 工作内容 | 结束说明 | 创建人 | 创建时间 | 操作 │ +│ ------------------------------------------------------------------ │ +│ 操作:[开始报工] [结束报工] [工时记录] [编辑] [删除] │ +└────────────────────────────────────────────────────────────────────┘ +``` + +弹窗: + +| 弹窗 | 字段/按钮 | +|---|---| +| 新增设计任务 | 任务名称、设计人员、计划开始、计划完成、任务说明、保存、取消 | +| 开始报工 | 任务信息只读、开始时间默认当前、工作内容、确认开始 | +| 结束报工 | 任务信息只读、结束时间默认当前、结束说明、确认结束 | +| 工时记录 | 开始时间、结束时间、工时、工作内容、操作人 | + +状态: +- 未开始 +- 进行中 +- 已完成 +- 已取消 + +### 2. 机加班次产量表 + +定位:报表页,查看每天每台设备每班次干了什么活。 + +```text +┌────────────────────────────────────────────────────────────────────┐ +│ 机加班次产量表 │ +├────────────────────────────────────────────────────────────────────┤ +│ 日期 [____至____] 班次 [全部▼] 设备 [全部▼] 操作人 [____] │ +│ [查询] [重置] [导出] │ +├────────────────────────────────────────────────────────────────────┤ +│ 汇总卡:设备数 班次数 总数量 总工时 │ +├────────────────────────────────────────────────────────────────────┤ +│ 分组表 │ +│ ▶ 设备:CNC-01 合计数量 合计工时 │ +│ ▶ 日期:2026-05-25 班次:白班 小计数量 小计工时 │ +│ 生产订单 | 物料编码 | 物料名称 | 工序 | 开始 | 结束 | 工时 | 数量 | 操作人 │ +└────────────────────────────────────────────────────────────────────┘ +``` + +字段: +- 设备名称 +- 日期 +- 班次 +- 生产订单 +- 物料编码 +- 物料名称 +- 工序名称 +- 开始时间 +- 结束时间 +- 工时 +- 数量 +- 操作人 + +说明: +- 班次规则来自班次管理。 +- 该页面不维护班次,只读取班次和报工记录。 + +### 3. 手续确认报表 + +定位:装配、电气发料齐套后的待办确认页。 + +```text +┌────────────────────────────────────────────────────────────────────┐ +│ 手续确认报表 │ +├────────────────────────────────────────────────────────────────────┤ +│ 生产订单 [____] 合同号 [____] 物料 [____] 指派对象 [全部▼] │ +│ 发料齐套日期 [____至____] 手续确认 [未完成▼] │ +│ [查询] [重置] [导出] [批量确认完成] │ +├────────────────────────────────────────────────────────────────────┤ +│ □ 生产订单 | 合同号 | 物料编码 | 物料名称 | 指派对象 | 发料齐套时间 │ +│ 装配完成时间 | 当前状态 | 手续确认 | 确认人 | 确认时间 | 操作 │ +│ ------------------------------------------------------------------ │ +│ 操作:[确认完成] [查看装配明细] [查看异常] │ +└────────────────────────────────────────────────────────────────────┘ +``` + +消失条件: +- 手续确认 = 已完成 +- 生产订单取消 +- 生产订单关闭 +- 整单已入库 + +确认弹窗: +- 生产订单 +- 物料名称 +- 当前发料齐套时间 +- 确认备注 +- 确认完成 +- 取消 + +### 4. 及时检验报表 + +定位:生产报工完成超过 2 天仍未检验的催办报表。 + +```text +┌────────────────────────────────────────────────────────────────────┐ +│ 及时检验报表 │ +├────────────────────────────────────────────────────────────────────┤ +│ 生产订单 [____] 物料 [____] 工序 [全部▼] 指派对象 [全部▼] │ +│ 报工结束日期 [____至____] 超期天数 [>= 2] │ +│ [查询] [重置] [导出] │ +├────────────────────────────────────────────────────────────────────┤ +│ 生产订单 | 物料编码 | 物料名称 | 工序 | 指派对象 | 报工数量 │ +│ 已检数量 | 未检数量 | 报工结束时间 | 超期天数 | 责任人 | 操作 │ +│ ------------------------------------------------------------------ │ +│ 操作:[查看报工] [查看质检记录] [生成催办] │ +└────────────────────────────────────────────────────────────────────┘ +``` + +字段: +- 生产订单 +- 物料编码 +- 物料名称 +- 工序名称 +- 指派对象 +- 报工数量 +- 已检数量 +- 未检数量 +- 报工结束时间 +- 超期天数 + +### 5. 及时齐套跟踪结果报表 + +定位:主订单齐套跟踪,支持展开查看 SAP 缺件明细。 + +```text +┌────────────────────────────────────────────────────────────────────┐ +│ 及时齐套跟踪结果报表 │ +├────────────────────────────────────────────────────────────────────┤ +│ 主生产订单 [____] 合同号 [____] 物料 [____] 齐套状态 [全部▼] │ +│ 预计可执行时间 [____至____] SAP同步时间 [____至____] │ +│ [查询] [重置] [导出] │ +├────────────────────────────────────────────────────────────────────┤ +│ ▶ 主生产订单 | 合同号 | 物料编码 | 物料名称 | 计划数量 | 齐套状态 │ +│ 缺件数 | 当前进度 | 预计可执行时间 | SAP同步时间 | 操作 │ +│ ------------------------------------------------------------------ │ +│ 展开明细: │ +│ 缺料物料 | 名称 | 缺件数量 | 属性 | 对应单据号 | 当前进度 │ +│ 全序展示 | 单条预计完成时间 | 预计可执行时间 | 操作 │ +└────────────────────────────────────────────────────────────────────┘ +``` + +可维护字段: +- 预计可执行时间 +- 预计可执行说明 +- 主订单与缺料子订单人工绑定关系 + +弹窗: +- 编辑预计可执行时间 +- 查看 SAP 缺件明细 +- 主子订单关系维护 + +### 6. 生产日报-送检 + +定位:机加/装配送检日报,建议一个页面两个页签。 + +```text +┌────────────────────────────────────────────────────────────────────┐ +│ 生产日报-送检 │ +├────────────────────────────────────────────────────────────────────┤ +│ 页签:[机加送检日报] [装配送检日报] │ +├────────────────────────────────────────────────────────────────────┤ +│ 日期 [____] 部门 [全部▼] 生产订单 [____] 物料 [____] │ +│ [查询] [重置] [导出日报] │ +├────────────────────────────────────────────────────────────────────┤ +│ 日汇总:送检数量 已检数量 合格数量 不合格数量 未检数量 │ +├────────────────────────────────────────────────────────────────────┤ +│ 日期 | 部门 | 生产订单 | 物料编码 | 物料名称 | 工序 | 送检数量 │ +│ 已检数量 | 合格数量 | 不合格数量 | 送检时间 | 检验时间 | 状态 │ +└────────────────────────────────────────────────────────────────────┘ +``` + +说明: +- 部门归属规则需确认。 +- 该页面不维护送检和检验结果。 + +### 7. 编程任务清单 / 编程报工 + +定位:编程任务和编程工时管理。 + +```text +┌────────────────────────────────────────────────────────────────────┐ +│ 编程任务清单 │ +├────────────────────────────────────────────────────────────────────┤ +│ 设备 [全部▼] 工位 [全部▼] 程序员 [____] 状态 [全部▼] │ +│ 生产订单 [____] 日期 [____至____] │ +│ [查询] [重置] [新增编程任务] [导出] │ +├────────────────────────────────────────────────────────────────────┤ +│ 任务编号 | 生产订单 | 物料编码 | 物料名称 | 工序 | 设备/工位 │ +│ 程序号 | 编程人员 | 状态 | 开始时间 | 结束时间 | 工时 | 操作 │ +│ ------------------------------------------------------------------ │ +│ 操作:[开始编程] [结束编程] [编辑程序号] [工时记录] [报异常] │ +└────────────────────────────────────────────────────────────────────┘ +``` + +弹窗: +- 新增编程任务 +- 开始编程 +- 结束编程 +- 工时记录 +- 程序号维护 + +状态: +- 未开始 +- 编程中 +- 已完成 +- 已取消 +- 异常中 + +### 8. 让步接收记录 + +定位:查询质检记录中让步接收字段不为空的数据。 + +```text +┌────────────────────────────────────────────────────────────────────┐ +│ 让步接收记录 │ +├────────────────────────────────────────────────────────────────────┤ +│ 生产订单 [____] 物料 [____] 检验人 [____] 检验日期 [____至____] │ +│ 让步接收类型 [全部▼] │ +│ [查询] [重置] [导出] │ +├────────────────────────────────────────────────────────────────────┤ +│ 生产订单 | 物料编码 | 物料名称 | 工序 | 检验数量 | 不合格数量 │ +│ 让步接收 | 检验人 | 检验时间 | 处置说明 | 操作 │ +│ ------------------------------------------------------------------ │ +│ 操作:[查看质检记录] [查看不合格处置] │ +└────────────────────────────────────────────────────────────────────┘ +``` + +说明: +- 页面只查询,不维护让步接收。 +- 让步接收仍在质检中心或不合格处置维护。 + +### 9. 装配已排产需求 + +定位:装配交付进度中心,整合 SAP 字段、MES 报工、工时、异常、齐套和日计划。 + +```text +┌────────────────────────────────────────────────────────────────────┐ +│ 装配已排产需求 │ +├────────────────────────────────────────────────────────────────────┤ +│ 系统分类 [全部▼] 合同号 [____] 生产订单 [____] 物料 [____] │ +│ 发料齐套时间 [____至____] 装配完成时间 [____至____] 状态 [全部▼] │ +│ [查询] [重置] [导出] [批量维护] │ +├────────────────────────────────────────────────────────────────────┤ +│ 生产订单 | 合同号 | 物料编码 | 物料名称 | 系统/非系统 | 派工时间 │ +│ 合同交货期 | 发料齐套时间 | 装配完成时间 | 当前人员 | 当前内容 │ +│ 累计工时 | 异常数 | 钣金预达 | 钣金到达 | 泵预达 | 泵到达 | 备注 | 操作 │ +│ ------------------------------------------------------------------ │ +│ 操作:[查看工时] [查看异常] [查看缺件] [维护字段] [生成日计划] │ +└────────────────────────────────────────────────────────────────────┘ +``` + +字段分组: +- SAP 字段:派工时间、合同交货期 +- MES 计算字段:装配完成时间、累计工时、异常数 +- 手工维护字段:钣金预达、钣金到达、泵预达、泵到达、备注、当前对应内容 + +弹窗: +- 工时明细 +- 异常明细 +- 缺件明细 +- 手工字段维护 +- 日计划预览 + +### 10. 质检任务早知道 + +定位:根据装配已排产需求预测即将进入质检的任务。 + +```text +┌────────────────────────────────────────────────────────────────────┐ +│ 质检任务早知道 │ +├────────────────────────────────────────────────────────────────────┤ +│ 装配完成时间 [____至____] 合同号 [____] 生产订单 [____] │ +│ 物料 [____] 状态 [待质检▼] │ +│ [查询] [重置] [导出] │ +├────────────────────────────────────────────────────────────────────┤ +│ 预计质检日期 | 生产订单 | 合同号 | 物料编码 | 物料名称 | 装配完成时间 │ +│ 当前人员 | 当前内容 | 累计工时 | 异常状态 | 质检状态 | 操作 │ +│ ------------------------------------------------------------------ │ +│ 操作:[查看装配进度] [查看异常] [查看质检记录] │ +└────────────────────────────────────────────────────────────────────┘ +``` + +说明: +- 强依赖装配已排产需求。 +- 不直接维护质检结果。 + +### 11. 及时送检报表 + +定位:发料齐套后超过规则时间未送检的任务催办。 + +```text +┌────────────────────────────────────────────────────────────────────┐ +│ 及时送检报表 │ +├────────────────────────────────────────────────────────────────────┤ +│ 生产订单 [____] 合同号 [____] 物料 [____] 指派对象 [全部▼] │ +│ 发料齐套时间 [____至____] 送检状态 [未送检▼] 超期天数 [>= 2] │ +│ [查询] [重置] [导出] │ +├────────────────────────────────────────────────────────────────────┤ +│ 生产订单 | 合同号 | 物料编码 | 物料名称 | 指派对象 | 发料齐套时间 │ +│ 是否送检 | 送检时间 | 超期天数 | 加急 | 当前状态 | 操作 │ +│ ------------------------------------------------------------------ │ +│ 操作:[查看装配任务] [查看质检任务] [生成催办] │ +└────────────────────────────────────────────────────────────────────┘ +``` + +### 12. 发货通知列表 + +定位:SAP 已提供数据,大屏已展示,新增普通报表查询页。 + +```text +┌────────────────────────────────────────────────────────────────────┐ +│ 发货通知列表 │ +├────────────────────────────────────────────────────────────────────┤ +│ 发货通知号 [____] 合同号 [____] 客户 [____] 状态 [全部▼] │ +│ 要求发货日期 [____至____] SAP同步时间 [____至____] │ +│ [查询] [重置] [导出] │ +├────────────────────────────────────────────────────────────────────┤ +│ 发货通知号 | 合同号 | 客户 | 物料编码 | 物料名称 | 数量 │ +│ 要求发货日期 | 发货状态 | SAP同步时间 | 备注 | 操作 │ +│ ------------------------------------------------------------------ │ +│ 操作:[查看明细] [查看关联生产订单] │ +└────────────────────────────────────────────────────────────────────┘ +``` + +说明: +- 默认只读 SAP 或 SAP 同步表。 +- 如需 MES 备注,建议单独建本地备注扩展字段。 + +### 13. 工时异常报表 + +定位:单件实际工时大于标准单件工时的异常分析。 + +```text +┌────────────────────────────────────────────────────────────────────┐ +│ 工时异常报表 │ +├────────────────────────────────────────────────────────────────────┤ +│ 日期 [____至____] 设备 [全部▼] 工位 [全部▼] 操作人 [____] │ +│ 物料 [____] 工序 [全部▼] 超出比例 [>=____%] 状态 [全部▼] │ +│ [查询] [重置] [导出] │ +├────────────────────────────────────────────────────────────────────┤ +│ 设备/工位 | 生产订单 | 物料编码 | 物料名称 | 工序 | 操作人 │ +│ 标准单件工时 | 实际单件工时 | 超出时长 | 超出比例 | 班次 | 状态 | 操作 │ +│ ------------------------------------------------------------------ │ +│ 操作:[查看工时明细] [确认异常] [填写原因] │ +└────────────────────────────────────────────────────────────────────┘ +``` + +异常确认弹窗: +- 异常原因 +- 责任部门 +- 处理说明 +- 确认人 +- 确认时间 + +## 四、现有页面改造界面说明 + +### 1. 机加件已排产页面 + +改造点: +- `计划开始时间` 改为单日期选择。 +- `计划完成时间` 改为单日期选择。 +- 表格增加 `总工时` 列。 +- 点击总工时打开历史工时明细弹窗。 + +```text +查询区:计划开始日期 [____] 计划完成日期 [____] +表格列:... | 总工时 | 操作 +总工时点击弹窗:设备 -> 日期 -> 任务明细 +``` + +### 2. 生产计划跟踪 + +改造点: +- 当前序展示完整工艺路线。 +- 工序按状态变色。 +- 增加标准工时、订单状态。 + +```text +工艺路线:打磨(张三) -> 淬火(外协) -> 精磨(李四) +状态颜色:进行中高亮、已完成置灰、待加工普通色、异常红色 +``` + +### 3. 序检收检/外协任务检验 + +改造点: +- 增加指派对象。 +- 增加供应商。 +- 增加 SAP 采购收货单号。 + +建议在检验记录表格和检验详情弹窗中同时展示。 + +### 4. 生产订单关闭 + +改造点: +- 表格增加多选。 +- 增加 `批量关闭 SAP 订单` 按钮。 +- 增加批量关闭结果弹窗。 + +结果弹窗字段: +- 生产订单 +- SAP 单据号 +- 执行结果 +- 失败原因 +- 是否可重试 + +### 5. 生产工艺 + +改造点: +- 点击编辑时,若无生产工艺,弹窗提示“未找到生产工艺,是否带出标准工艺作为草稿?” +- 带出后不自动保存。 +- 保存后才写入生产工艺。 + +### 6. 异常管控 + 全部报工页面 + +改造点: +- 所有报工页面增加 `报异常` 按钮。 +- 选中任务后打开统一异常弹窗。 +- 异常弹窗支持多选审批人。 + +异常弹窗字段: +- 异常类型 +- 异常说明 +- 附件 +- 审批人,多选 +- 关联订单/任务/工序,只读 + +### 7. 及时开工报表 + +改造点: +- 指派对象查询增加模式选择。 + +```text +指派对象 [多选] 查询模式 [包含▼ / 排除▼] +``` + +### 8. 工时报表 + +改造点: +- 增加指派对象字段。 +- 后续支持工时类型和来源模块。 + +### 9. 领料/退库/外协报表小字段 + +| 页面 | 界面改造 | +|---|---| +| 生产领料(机加) | 增加备注输入/备注列 | +| 生产退库(机加) | 增加备注输入/备注列 | +| 生产退库(装配) | 增加备注输入/备注列 | +| 外协任务报表(采购) | 增加采购到货期说明列 | +| 工序流转卡 | 打印模板增加原料编码 | +| 制定标准工艺 | 保存成功/失败提示明确化 | + +## 五、优先原型顺序 + +| 优先级 | 页面 | +|---|---| +| P0 | 手续确认报表、及时检验报表、发货通知列表、生产订单关闭批量 SAP | +| P0 | 生产工艺自动带出标准工艺、异常管控直接报异常 | +| P1 | 装配已排产需求、及时齐套跟踪结果报表、质检任务早知道 | +| P1 | 设计任务报工、编程任务清单/编程报工 | +| P1 | 机加班次产量表、生产日报-送检、及时送检报表 | +| P2 | 工时异常报表、OEE/设备采集相关界面、现场大屏缺勤/关键工序 | + +## 六、客户确认清单 + +1. 新增页面菜单位置是否按本文建议放置。 +2. 手续确认、预计可执行时间、装配已排产需求中的手工字段是否允许页面维护。 +3. 设计任务、编程任务是否需要审批或只做报工。 +4. 缺勤人员是否已有排班/考勤来源。 +5. 关键工序是否确认在标准工艺和生产工艺维护。 +6. 及时检验、及时送检的超期天数是否统一为 2 天。 +7. 发货通知列表是否只读 SAP 数据,是否需要 MES 备注。 +8. 工时异常是否需要确认闭环,还是只做查询。 diff --git a/问题修复方案与今日沟通规划.md b/doc_old/问题修复方案与今日沟通规划.md similarity index 100% rename from 问题修复方案与今日沟通规划.md rename to doc_old/问题修复方案与今日沟通规划.md diff --git a/doc_old/隐性需求综合分析_2026-05-25.md b/doc_old/隐性需求综合分析_2026-05-25.md new file mode 100644 index 0000000..e3f33a7 --- /dev/null +++ b/doc_old/隐性需求综合分析_2026-05-25.md @@ -0,0 +1,860 @@ +# MES_Manage_View_V20 新增需求后的整体影响与隐性需求综合分析 + +生成日期:2026-05-25 + +分析依据: +- `新增需求分析与开发记录_2026-05-23.md` +- `今日工作汇报_2026-05-23.txt` +- `需求分析_自制件与工位汇总表.md` +- `MES_Manage_View_V20_src_views_逐页面详细分析.md` + +## 一、分析视角调整 + +本文不单纯从“客户后续可能要什么”出发,而是从系统整体出发,分析这些新增需求如果逐步落地,会对现有 MES 产生什么连锁影响: + +1. 会新增哪些业务数据。 +2. 会改变哪些原有统计口径。 +3. 会冲击哪些已完成页面、报表、看板。 +4. 会让哪些现有字段含义变得不够用。 +5. 会产生哪些必须补做的隐性能力。 +6. 客户基于新数据和新功能,后续还可能继续提出什么。 + +核心判断: + +这些需求不是孤立新增页面。它们会把系统从“生产任务执行系统”推向“生产进度、质量、工时、齐套、异常、SAP 状态一体化追踪系统”。一旦新增字段、报表、SAP 回写、设计/编程报工、装配已排产需求进入系统,很多已完成页面也要重新解释和调整。 + +## 二、总体连锁影响 + +| 新增能力 | 直接新增数据 | 产生的问题 | 隐性需求 | 已完成页面/报表是否需要改 | +|---|---|---|---|---| +| 设计任务报工 | 设计任务、设计工时、工作内容、开始/结束时间 | 原有工时只覆盖生产/质检/装配,合同总工时会漏设计 | 工时分类、合同工时汇总、设计任务权限、设计工时报表 | 装配已排产需求、工时报表、合同进度、日报需要纳入设计工时 | +| 编程任务清单/编程报工 | 编程任务、编程工时、设备/工位、人员、说明 | 编程是否影响生产任务可开工不明确 | 编程完成状态、编程工时独立统计、任务前置条件 | 机加中心、生产计划跟踪、工时报表、及时开工可能需要增加编程状态 | +| 装配已排产需求 | 发料齐套时间、装配完成时间、SAP 派工时间、合同交货期、钣金/泵、当前人员、累计工时、异常 | 原装配排产页只管排产,新页面会变成交付进度中心 | 装配进度模型、日计划、合同进度、异常汇总、手工字段维护历史 | `InstallMakePlan`、`AssemblyCenter`、生产任务看板、质检任务早知道、日报都要联动 | +| 历史工时查询 | 任务总工时、设备/日期分组明细 | 原列表只显示任务状态,新总工时会引出明细追溯 | 汇总到明细钻取、工时来源标识、重复报工处理 | `SelfMakePlandone`、工时查询、班次产量表、合同工时汇总要统一口径 | +| 机加班次产量表 | 班次、设备、日期、任务、数量、工时 | 原工时和产量按任务查,现在要按班次归属 | 班次日历、跨天班次规则、设备日合计、人员归属 | 设备看板、工位汇总表、工时报表、生产日报需要统一班次口径 | +| 外协检验字段增强 | 指派对象、供应商、SAP 采购收货单号 | 原质检记录只到工序,供应商/单据链不完整 | 供应商合格率、SAP 单据追溯、外协质检报表 | 外协报表、质检记录、供应商统计、序检收检页面需要补字段 | +| 手续确认报表 | 手续确认状态、确认人、确认时间 | 原任务消失规则依赖已入库/关闭,现在又增加人工确认维度 | 待办清单、确认日志、取消/关闭/入库同步规则 | 装配中心、发料齐套列表、生产任务看板、订单关闭后状态需要同步 | +| 及时检验报表 | 报工完成时间、未检数量、超期天数 | 原质检任务是业务操作,新报表要求按时间催办 | 质检责任人、催办、超期规则、已检数量核算 | 质检中心、生产日报、异常提醒、看板需要展示未检/超期 | +| 及时齐套跟踪结果报表 | 主订单与缺料子订单关系、SAP 缺件明细、预计可执行时间 | SAP 实时数据和 MES 落库数据会不一致 | SAP 缓存、展开加载、主子订单关系维护 | 生产任务看板、装配已排产、及时开工、发料齐套报表需要统一缺件状态 | +| 生产日报-送检 | 送检、已检、合格、不合格、部门 | 原质检记录按任务查,现在要按部门/日报统计 | 部门归属规则、日报快照、合计口径 | 质检报表、工位汇总、日报、看板需要改统计维度 | +| 生产订单批量关闭 SAP | SAP 关闭结果、失败原因、操作日志 | MES/SAP 状态可能部分成功、重复关闭 | 批量结果表、重试机制、二次确认、权限 | 订单关闭页、排产页、生产中心、手续确认报表都要识别 SAP 关闭 | +| 异常管控入口统一 | 异常关联任务、审批人多选、附件、处理状态 | 原异常页面独立,新增入口后所有报工页都要联动 | 异常状态流转、待办、任务暂停规则、异常统计 | 机加/装配/质检/外协/设计/编程报工页面都要加入口和状态 | +| 生产工艺自动带出标准工艺 | 标准工艺草稿、生产工艺映射 | 原工艺一旦生成就被任务使用,修改会影响历史 | 工艺版本、任务快照、字段映射 | 生产计划跟踪、排产、流转卡、工时报表都要按任务快照而非最新工艺 | +| 发货通知列表 | SAP 发货通知数据、状态、单据号 | 原大屏展示变为报表查询后要支持筛选和追溯 | SAP 数据同步/实时查询、导出、状态解释 | 大屏、销售/生产交付类报表可能要统一发货状态 | + +## 三、最主要的问题不是新增页面,而是口径被改变 + +### 1. 工时口径会被重构 + +新增需求之前,系统主要工时来源集中在生产执行和质检相关记录,典型对象包括: +- `YL_加工中心_操作记录表` +- `生产管理_工时校验_校验工时表` +- 装配报工记录 +- 质检记录或质检报工 + +新增需求之后,工时会被拆成更多类别: +- 机加工时 +- 装配工时 +- 质检工时 +- 设计工时 +- 编程工时 +- 设备运行工时 +- 程序工时 +- 人员工时 +- 合同工时 +- 预计总工时 +- 剩余工时 + +会产生的问题: + +1. 原来“总工时”字段含义不够用了。 + - `SelfMakePlandone` 要加总工时。 + - 装配已排产需求要显示生产订单累计工时、合同工时汇总。 + - 班次产量表要按设备、日期、班次汇总工时。 + - 工时报表要加指派对象。 + - 如果都叫“总工时”,但来源不一致,页面数字会对不上。 + +2. 合同进度会和生产任务工时产生冲突。 + - 装配已排产需求提出“合同进度 = 累计工时 / 预计总工时”。 + - 但累计工时是否包含设计、质检、编程、装配、返工、异常工时,需要明确。 + - 如果不明确,合同进度会成为争议字段。 + +3. 已完成报表需要增加工时分类。 + - 原工时报表只要显示工时即可。 + - 新增设计/编程后,必须能区分工时类型。 + - 否则设计工时可能被误算进生产工时,或者合同总工时漏算。 + +需要跟着调整的已完成页面/报表: + +| 页面/报表 | 需要调整原因 | 建议调整 | +|---|---|---| +| `ProductionManagement/Timesheet` | 作业者工时新增指派对象,后续还会受到设计/编程工时影响 | 增加工时类型、来源模块、指派对象 | +| `ProductionManagement/WorkHoursCheck` | SAP 工时/投料校验与 MES 工时会产生差异 | 显示本次提交、历史提交、SAP 返回结果 | +| `PlanManagement/SelfMakePlandone` | 新增总工时和明细弹窗 | 总工时必须注明来源,仅统计生产报工还是包含质检/异常 | +| `ProductionManagement/AssemblyCenter` | 装配工时要进入装配已排产需求和合同进度 | 输出可复用的装配工时汇总字段 | +| 工位汇总表 | 新增班次、设备、人员、程序工时后口径变化 | 增加班次维度,区分设备工时/人工工时 | +| 自制件汇总表 | 合同工时和订单工时可能要求纳入新工时类型 | 增加工时类型过滤和明细钻取 | + +产生的隐性需求: +- 统一工时事实视图或工时汇总表。 +- 工时来源字段:生产、装配、质检、设计、编程、设备采集。 +- 工时单位统一:秒、分钟、小时。 +- 工时快照:报表发布后是否允许历史数据随新规则变化。 +- 工时差异解释:人工工时、设备工时、SAP 工时不一致时显示差异原因。 + +客户可能继续要: +- 合同维度工时明细。 +- 人员维度工时排名。 +- 设备维度利用率。 +- 设计/装配/质检工时占比。 +- 超预算工时预警。 + +### 2. 状态口径会被重新拉通 + +现有系统中已经出现很多状态: +- 排产状态 +- 派工状态 +- 任务状态 +- 加工状态 +- 收料状态 +- 发料状态 +- 质检状态 +- 入库状态 +- 加急状态 +- 外协通知 +- SAP 订单状态 +- 手续确认状态 +- 异常状态 +- 编程完成状态 +- 设计任务状态 + +会产生的问题: + +1. 一个任务在不同页面可能显示成不同状态。 + - 排产页面看 `排产状态`、`派工状态`。 + - 生产中心看 `任务状态`、`加工状态`。 + - 质检页面看检验记录。 + - 手续确认报表看手续确认、入库、关闭。 + - SAP 订单关闭后,MES 任务可能仍显示未完成。 + +2. 新增状态会影响原来的“消失条件”。 + - 手续确认报表中,已完成、取消、关闭、整单已入库都要消失。 + - 质检任务早知道也要排除已入库、关闭、取消任务。 + - 及时检验报表要排除已检足数量的任务。 + - 如果状态判断不统一,会出现同一任务在 A 页面消失,在 B 页面仍提醒。 + +3. 异常状态会打断原流程。 + - 报异常后是否允许继续报工? + - 异常未关闭时是否允许质检? + - 异常是否影响及时开工/及时检验/齐套报表? + - 这些都不是当前页面能单独决定的。 + +需要跟着调整的已完成页面/报表: + +| 页面/报表 | 受影响点 | 建议调整 | +|---|---|---| +| `AnomalousManagement/PunctualWork` | 及时开工按任务状态筛选,新增异常/编程/齐套后可能影响可执行判断 | 增加异常、编程、齐套条件说明 | +| `PlanManagement/InstallMakePlan` | 排产完成后还要看 SAP 订单状态、发料齐套、装配完成时间 | 查询结果补 SAP/齐套相关状态 | +| `PlanManagement/PlannOrderClose` | 批量关闭 SAP 后,MES 页面必须识别关闭结果 | 增加 SAP 关闭状态、失败原因、重试入口 | +| `ProductionManagement/MachiningCenter` | 异常入口、编程完成、设备占用都会影响可开工 | 增加任务不可操作原因 | +| `ProductionManagement/AssemblyCenter` | 装配完成时间、手续确认、异常都会影响任务显示 | 增加装配进度状态 | +| `QualityManagement/QualityCenter` | 已入库/关闭/异常/让步接收会影响质检操作 | 增加质检可操作性判断 | +| 生产任务看板 | 新增齐套、及时检验、手续确认、异常后看板指标会变化 | 重算指标口径 | + +产生的隐性需求: +- 生产任务状态总表。 +- 页面状态与数据库状态映射表。 +- 状态优先级规则:关闭 > 入库 > 异常 > 未检 > 未开工 等。 +- “不可操作原因”统一返回,而不是前端各页面自己判断。 +- 批量状态校验接口。 + +客户可能继续要: +- 任务状态流转图。 +- 状态变更历史。 +- 状态异常看板。 +- 一键修复状态不一致。 +- 已关闭/已入库任务仍可查询但不可操作。 + +### 3. SAP 与 MES 数据一致性问题会放大 + +今天逐页面分析中,SAP 相关调用已经覆盖多个核心流程: +- 排产确认:`PATCH /ProductionOrders(...)` +- 订单关闭:`PATCH /ProductionOrders(...)` +- 工时校验/发料:`GET /ProductionOrders`、`POST /InventoryGenExits`、`PATCH ProductionOrders(...)` +- 外协采购申请:`POST /PurchaseRequests` +- 外协采购收货:`POST /PurchaseDeliveryNotes` +- 工位资源:`POST /Resources`、`PATCH /Resources(...)` +- 工序:`POST /RouteStages`、`PATCH /RouteStages(...)` + +新增需求后,SAP 相关数据还会增加: +- SAP 派工时间 +- 合同交货期 +- 发料齐套时间 +- 缺件明细 +- 发货通知 +- 采购收货单号 +- SAP 订单取消/关闭状态 + +会产生的问题: + +1. 实时查 SAP 和 MES 落库字段会不一致。 + - 及时齐套缺件明细要求 SAP 实时查询。 + - 装配已排产需求要求 SAP 派工时间、合同交货期。 + - 发货通知列表来源 SAP。 + - 如果某些页面读 SAP 实时,某些页面读 MES 同步表,数字和状态可能不同。 + +2. SAP 写操作失败会产生半成功数据。 + - MES 排产已完成,但 SAP 生产订单未更新。 + - MES 工时校验已保存,但 `InventoryGenExits` 失败。 + - 批量关闭 SAP 订单时,部分成功部分失败。 + - 外协采购请求成功,但 MES 未记录单号。 + +3. 新增报表会追问 SAP 数据更新时间。 + - 合同交货期什么时候同步? + - 发料齐套时间是否最新? + - 缺件明细是否实时? + - 发货通知状态是否已更新? + +需要跟着调整的已完成页面/报表: + +| 页面/报表 | 受影响点 | 建议调整 | +|---|---|---| +| `PlanManagement/SelfMakePlan/SelfMakePlando/SelfMakePlandone` | 排产同步 SAP 后缺少同步结果留痕 | 增加 SAP 同步状态、失败提示、重试依据 | +| `PlanManagement/InstallMakePlan/InstallMakePlanDo` | 装配新增 SAP 派工时间、合同交货期、发料齐套时间 | 查询和导出补 SAP 字段来源 | +| `ProductionManagement/WorkHoursCheck` | 已有 SAP 工序、资源、发料操作 | 增加 SAP 请求/返回日志和失败重试 | +| `QualityManagement/CheckTask/processReceive` | SAP 采购收货单号成为后续统计字段 | 保存 SAP 单号、行号、供应商 | +| `ProductionManagement/OutsourceMange` | 外协采购请求后要追踪 SAP 单据 | 记录采购请求号/采购订单关系 | +| `SystemMaintenance/WorkstationManagement` | 工位资源同步 SAP 后要防重复 | 增加 SAP 资源编码校验 | +| 发货通知大屏/新增报表 | 大屏已有数据,新增报表要求查询/导出 | 明确实时或同步数据源 | + +产生的隐性需求: +- SAP 调用日志表。 +- SAP 同步状态字段。 +- SAP 失败重试页面。 +- SAP 单据关系表:MES 任务 -> SAP 生产订单/采购请求/收货单/发货通知。 +- 数据更新时间展示。 +- 批量操作结果明细。 + +客户可能继续要: +- SAP 同步失败列表。 +- 手工重推 SAP。 +- SAP 与 MES 差异对账。 +- 每张 SAP 单据反查 MES 来源任务。 +- 批量关闭/批量回写的成功失败导出。 + +### 4. 报表会从结果展示变成数据追溯 + +新增需求中报表很多: +- 机加班次产量表 +- 手续确认报表 +- 及时检验报表 +- 及时齐套跟踪结果报表 +- 生产日报-送检 +- 让步接收记录 +- 及时送检报表 +- 发货通知列表 +- 质检任务早知道 +- 设计工时报表 +- 自制件汇总表 +- 工位汇总表 + +会产生的问题: + +1. 报表之间会互相引用同一批数据。 + - 及时检验依赖报工记录和质检记录。 + - 生产日报-送检依赖送检和质检记录。 + - 质检任务早知道依赖装配完成时间。 + - 装配已排产需求依赖工时、异常、齐套、SAP 字段。 + - 如果每个报表各写一套 SQL,口径会分裂。 + +2. 报表新增字段会要求历史数据补齐。 + - 外协检验新增供应商后,历史质检记录没有供应商。 + - 发料齐套时间新增后,历史生产计划没有该字段。 + - 手续确认新增后,历史任务默认是否“未确认”需要确定。 + - 设计/编程工时新增后,历史合同进度是否重算需要确定。 + +3. 报表会反向要求修改业务页面。 + - 报表要统计供应商合格率,就要求质检页面必须保存供应商。 + - 报表要统计及时检验,就要求报工结束时间必须准确。 + - 报表要统计手续确认,就要求业务页面维护确认状态。 + - 报表要统计合同进度,就要求所有工时都有合同号。 + +需要跟着调整的已完成页面/报表: + +| 已完成页面/报表 | 因新增需求需要调整什么 | +|---|---| +| 生产任务看板 | 增加及时齐套、及时检验、手续确认、装配完成时间等新指标或修正原指标 | +| 机加设备/生产运营看板 | 班次产量、设备工时、程序工时进入后,需要重算设备利用和产量口径 | +| 装配任务看板 | 装配完成时间、发料齐套、合同交货期、质检任务早知道会影响待办和逾期 | +| 质检任务看板 | 新增及时检验、质检任务早知道、让步接收后,待检数量口径要改 | +| 自制件汇总表 | 新增历史工时、设计/编程/质检工时后,总工时口径要扩展 | +| 工位汇总表 | 班次和设备采集数据进入后,按工位+日期的统计需要支持班次和设备维度 | +| 外协任务报表 | 增加供应商、采购到货期说明、SAP 收货单号后,导出和统计都要改 | +| 工时报表 | 指派对象、工时分类、设计/编程工时进入后,需要新增字段和筛选 | + +产生的隐性需求: +- 报表数据口径说明。 +- 报表明细钻取。 +- 报表导出字段配置。 +- 报表历史快照。 +- 历史数据补录/默认值策略。 +- 跨报表公共视图。 + +客户可能继续要: +- 每个报表点击数字看明细。 +- 报表导出与页面一致。 +- 报表按部门、班组、班次、人员、设备切换。 +- 报表定时推送。 +- 历史报表锁定,不随后续数据变化。 + +## 四、已完成页面/报表需要关注的改造清单 + +### 1. 计划排产相关页面 + +| 页面 | 需要关注的新增影响 | 是否需要修改 | +|---|---|---| +| `PlanManagement/SelfMakePlan` | SAP 回写状态、排产字段、计划时间口径、总工时 | 需要,至少补同步状态和字段口径 | +| `PlanManagement/SelfMakePlando` | 待排产转已排产后,装配/机加新字段是否继承 | 需要,确认新增字段默认值 | +| `PlanManagement/SelfMakePlandone` | 单日期筛选、总工时、历史明细、SAP 状态 | 已明确需要改 | +| `PlanManagement/InstallMakePlan` | 装配已排产需求会复用其数据,新增 SAP 派工时间、合同交货期、发料齐套 | 需要,至少 SQL 返回字段要扩展 | +| `PlanManagement/InstallMakePlanDo` | 同上,且涉及采购请求/SAP 回写 | 需要,补 SAP 单据和失败处理 | +| `PlanManagement/PlannOrderClose` | 批量关闭 SAP 后影响所有任务显示 | 需要,增加批量结果、失败原因、日志 | + +### 2. 生产执行相关页面 + +| 页面 | 需要关注的新增影响 | 是否需要修改 | +|---|---|---| +| `ProductionManagement/MachiningCenter` | 编程状态、异常入口、设备工时、程序工时、及时检验起算 | 需要,新增入口和不可操作原因 | +| `ProductionManagement/AssemblyCenter` | 装配完成时间、手续确认、装配工时、异常、发料任务状态 | 需要,作为装配已排产需求的数据来源 | +| `ProductionManagement/ProductionTaskManage` | 生产任务状态增加异常/齐套/质检/关闭维度 | 需要,查询字段和状态说明要扩展 | +| `ProductionManagement/AssembleTaskManage` | 装配任务将进入日计划和质检任务早知道 | 需要,补装配完成时间和任务排除规则 | +| `ProductionManagement/WorkHoursCheck` | SAP 工时校验、发料、订单工序资源更新风险扩大 | 需要,补 SAP 日志、重试、差异说明 | +| `ProductionManagement/Timesheet` | 指派对象、设计/编程工时、工时分类 | 需要,补字段和筛选 | + +### 3. 质检相关页面 + +| 页面 | 需要关注的新增影响 | 是否需要修改 | +|---|---|---| +| `QualityManagement/QualityCenter` | 及时检验、让步接收、外协供应商、已入库限制 | 需要,补状态和字段 | +| `QualityManagement/CheckTask/processReceive` | SAP 采购收货单号、供应商、外协指派对象 | 需要,新增保存和查询字段 | +| `QualityManagement/CheckTask/purchaseIncoming` | 采购检验备注、供应商统计、到货期说明 | 需要,至少补导出字段 | +| `QualityManagement/CheckTask/materialReturn` | 退库备注、库存任务状态 | 可能需要,跟退库备注和库存任务联动 | +| `QualityManagement/Unqualified` | 供应商合格率、让步接收、不合格统计口径 | 需要,补供应商/让步接收字段 | +| 质检任务看板 | 质检任务早知道和及时检验会改变待检数量 | 需要,重算待检/超期口径 | + +### 4. 外协相关页面 + +| 页面 | 需要关注的新增影响 | 是否需要修改 | +|---|---|---| +| `ProductionManagement/OutsourceMange` | 外协采购请求、供应商、发料/收料/质检闭环 | 需要,补 SAP 单据关系 | +| `ProductionManagement/OutsourceSheet` | 采购到货期说明、供应商、SAP 收货单号、外协质检 | 需要,查询和导出都要补 | +| `ProductionManagement/SaleOutsourceMange` | 销售外协同样受采购请求和供应商统计影响 | 需要,保持与外协管理一致 | + +### 5. 工艺和基础数据页面 + +| 页面 | 需要关注的新增影响 | 是否需要修改 | +|---|---|---| +| `ProcessManagement/ProcessProduct` | 自动带出标准工艺后,生产任务快照问题变明显 | 需要,避免覆盖已开工任务 | +| `CraftManagement/CraftMaintain` | 工艺版本、标准工艺字段映射 | 需要,补版本/草稿概念 | +| `ProcessManagement/ProcedureManagement` | SAP `RouteStages` 同步后要防止 MES/SAP 工序不一致 | 需要,补同步状态 | +| `SystemMaintenance/WorkstationManagement` | SAP `Resources` 新增/修改后要防重复和同步失败 | 需要,补资源同步状态 | + +### 6. 已完成看板和报表 + +| 看板/报表 | 新增功能导致的新数据 | 需要调整 | +|---|---|---| +| 生产任务看板 | 发料齐套、及时齐套、装配完成时间、及时检验、异常 | 指标口径需要重算 | +| 装配任务看板 | 装配完成时间、合同交货期、质检预告、手续确认 | 新增逾期和待办指标 | +| 质检任务看板 | 及时检验、质检任务早知道、让步接收 | 待检、超期、预告分开 | +| 机加设备生产运营看板 | 班次产量、程序工时、设备采集 | 设备利用率和产量来源需要统一 | +| 自制件汇总表 | 总工时、设计/编程/质检分类 | 工时口径要扩展 | +| 工位汇总表 | 班次、设备、人员、程序工时 | 增加班次/设备维度或说明不支持 | + +## 五、新增数据会带来的数据治理问题 + +### 1. 新字段放哪里 + +容易新增到生产计划/任务表的字段: +- 发料齐套时间 +- 装配完成时间 +- 手续确认 +- 当前对应人员 +- 当前对应内容 +- 钣金预达 +- 钣金到达 +- 泵 +- 生产异常标记 + +问题: +- 这些字段有些是 SAP 来的,有些是手工维护,有些是计算结果。 +- 全部塞进 `MES_接口_生产计划` 或 `MES_接口_生产计划_生产任务` 会让主表越来越混乱。 +- 手工维护字段还需要修改历史,否则无法解释是谁改了装配完成时间。 + +建议: +- SAP 同步字段、手工维护字段、计算字段分开存。 +- 手工维护字段建议用扩展表。 +- 计算字段优先用视图或报表过程生成。 + +### 2. 历史数据怎么处理 + +新增字段会导致历史数据为空: +- 历史外协质检没有供应商。 +- 历史质检没有 SAP 收货单号。 +- 历史生产计划没有发料齐套时间。 +- 历史任务没有手续确认。 +- 历史任务没有设计/编程工时。 + +问题: +- 报表默认查全部时,历史数据会被算成未完成、未确认、未齐套。 +- 用户可能认为系统数据异常。 + +建议: +- 每个新增字段定义历史默认规则。 +- 报表上区分“无数据”和“未完成”。 +- 对考核类报表增加启用日期。 + +### 3. 新增数据是否参与已完成报表 + +例如: +- 设计工时是否参与合同进度? +- 编程工时是否参与生产订单累计工时? +- 让步接收是否算合格? +- 外协供应商合格率是否包含历史无供应商数据? +- 已入库补检是否进入及时检验统计? + +这些会直接影响已完成报表。 + +建议: +- 新增需求上线前,同步输出“影响报表清单”。 +- 每个报表明确是否纳入新数据。 +- 如果纳入,是否重算历史。 + +## 六、系统级隐性需求清单 + +这些不是客户一开始直接说的需求,但只要新增功能落地,基本会被迫出现。 + +| 隐性需求 | 触发原因 | 不做的后果 | +|---|---|---| +| 字段来源字典 | 新字段来自 MES、SAP、手工、设备采集 | 联调时无法解释字段来源,报表口径反复变 | +| 状态总字典 | 状态分散在排产、生产、质检、入库、SAP | 同一任务不同页面显示不同状态 | +| SAP 调用日志 | 多页面写 SAP,且可能失败 | 无法排查 MES/SAP 不一致 | +| SAP 失败重试 | 批量关闭、工时校验、外协采购都可能部分失败 | 人工只能改库或重复操作 | +| 工时统一视图 | 新增设计、编程、设备、合同工时 | 各报表总工时对不上 | +| 报表明细钻取 | 汇总类报表越来越多 | 客户无法核对数字,只能反复查 SQL | +| 报表历史快照 | 报表用于日报/周报/考核 | 历史报表随数据变化,无法对账 | +| 手工字段维护历史 | 装配完成时间、钣金、泵、手续确认等可人工维护 | 无法追溯谁改了关键交期字段 | +| 批量操作结果表 | 批量关闭 SAP、批量排产、批量确认 | 部分成功/失败无法恢复 | +| 异常统一入口组件 | 所有报工页都要报异常 | 每页重复开发,状态不一致 | +| 任务追溯详情页 | 报表要解释数字来源 | 每个报表都要临时加明细 | +| 菜单/权限自动配置规范 | 新增页面很多 | 页面上线后权限、菜单容易漏 | +| 数据启用日期配置 | 新字段历史为空 | 历史数据被误算为异常 | +| 不可操作原因接口 | 关闭、入库、异常、未齐套都影响操作 | 前端提示不一致,用户不知道为什么不能点 | + +## 七、客户可能继续提出的需求 + +保留从客户使用角度推导出的后续需求,但这些需求都是由前面的整体影响引出来的。 + +### 1. 围绕工时 + +- 合同总工时明细。 +- 设计/编程/装配/质检/机加工时占比。 +- 按人员、设备、班次统计工时。 +- 工时超预算预警。 +- 工时与 SAP 上传差异对比。 +- 一键查看某订单所有工时来源。 + +### 2. 围绕状态和进度 + +- 生产任务全流程状态图。 +- 每个状态变更历史。 +- 为什么任务不可开工/不可质检/不可关闭的原因说明。 +- 已关闭/已入库任务仍可查询但禁止操作。 +- 任务异常状态看板。 + +### 3. 围绕 SAP + +- SAP 同步失败清单。 +- 手工重推 SAP。 +- SAP 与 MES 状态对账。 +- SAP 单据号反查 MES 任务。 +- 批量 SAP 操作结果导出。 +- SAP 数据最后同步时间展示。 + +### 4. 围绕质检 + +- 供应商合格率。 +- 设备合格率。 +- 让步接收审批。 +- 质检超期催办。 +- 已入库补检。 +- 质检记录按订单、供应商、人员、工序多维分析。 + +### 5. 围绕报表 + +- 所有汇总数字可点开明细。 +- 报表导出字段自定义。 +- 报表按部门/班组/班次拆分。 +- 报表定时推送。 +- 日报/周报历史锁定。 + +### 6. 围绕异常 + +- 所有报工页面直接报异常。 +- 异常审批待办。 +- 异常处理超期提醒。 +- 异常关闭后自动恢复任务。 +- 异常原因统计。 + +## 八、建议的开发控制策略 + +### 1. 每个新增需求都必须补“四张表” + +不是数据库表,而是分析表: + +1. 字段影响表:新增字段来自哪里,写到哪里,哪些页面显示。 +2. 状态影响表:是否改变排产/派工/任务/质检/入库/SAP 状态。 +3. 报表影响表:哪些已完成报表要纳入新数据。 +4. SAP 影响表:是否读 SAP、写 SAP、是否需要日志和重试。 + +### 2. 不建议继续只按页面单点开发 + +原因: +- 新增页面会越来越多,但数据源高度重叠。 +- 如果每个页面单独写 SQL,口径很快分裂。 +- 新增字段一旦被报表引用,历史数据和导出口径都会受影响。 + +建议: +- 工时类先建统一视图。 +- 状态类先建统一解释。 +- SAP 类先建日志。 +- 报表类先建公共明细查询。 + +### 3. 新增字段优先走扩展表 + +适合放扩展表的字段: +- 手工维护字段。 +- SAP 同步字段。 +- 报表补充字段。 +- 后续可能继续变动的字段。 + +不建议直接塞入主任务表的字段: +- 钣金预达、钣金到达、泵、当前对应内容。 +- 手续确认说明。 +- SAP 同步状态明细。 +- 合同级汇总字段。 + +### 4. 报表先定口径,再开发页面 + +尤其是: +- 及时检验。 +- 及时送检。 +- 生产日报-送检。 +- 机加班次产量。 +- 装配已排产需求。 +- 合同工时汇总。 + +这些报表一旦上线,后续就是管理依据,不能边用边改口径。 + +## 九、结论 + +新增需求真正带来的影响不是“多几个页面”,而是会改变现有系统的数据结构和统计口径。 + +最需要提前处理的是: + +1. 工时统一,否则总工时、合同进度、班次产量、日报都会互相对不上。 +2. 状态统一,否则排产、生产、质检、入库、关闭、异常在不同页面显示不一致。 +3. SAP 日志和重试,否则批量关闭、工时校验、外协采购、质检收货都会出现无法排查的半成功状态。 +4. 报表影响清单,否则新增字段上线后已完成报表会漏算或错算。 +5. 历史数据策略,否则新增字段为空会被误判为未完成、未确认、未齐套。 + +因此后续评估新增需求时,应先问一个问题:这个需求新增的数据,会不会改变现有页面、报表、看板、SAP 状态和历史统计。如果会,就必须同步改受影响页面,而不是只开发新页面。 + +## 十、同级项目数据看板带来的额外连锁影响 + +这次补充分析的同级看板包括:`生产任务看板`、`装配任务看板`、`质检任务看板`、`机加设备生产运营看板`、`机加设备生产运营看板二`、`TableTV`、`board_view`、`新建文件夹`。这些项目不是普通查询页,而是管理层和车间现场会持续观看的大屏。它们把 MES、SAP、设备采集、质检和工时数据压缩成几个关键数字,因此新增需求影响到看板时,问题会比普通页面更明显:不是某个按钮不可用,而是管理层看到的 KPI 可能直接变错。 + +### 1. 新增功能会让现有看板指标失真的位置 + +| 看板指标 | 当前主要来源 | 新增需求/功能变化 | 可能失真结果 | 必须同步改造 | +|---|---|---|---|---| +| 生产任务看板“按期齐套率” | `生产任务综合看板_按期齐套率`,按 `View_生产订单_MES.齐套` 汇总 | 及时齐套跟踪、SAP 缺件明细、部分齐套、预计齐套时间 | 只有“齐套/未齐套”会掩盖部分齐套和预计可执行状态 | 增加齐套状态字典、缺件明细、预计齐套日期、SAP 同步时间 | +| 生产任务看板“未及时开工” | `计划开始时间、开工时间、加工状态、合格数` | 设计/编程前置、异常暂停、二次派工、手续确认 | 被设计/编程/异常卡住的任务仍被算作生产未及时开工 | 增加未开工原因维度,区分“计划原因、前置原因、异常原因、人员/设备原因” | +| 生产任务看板“加急件” | SAP `ubt_OPKL_UrgentMaterials_ALL` + MES 计划 | 加急从订单级变为物料/工序/质检级 | 加急总数与页面明细、装配缺件、质检加急互相对不上 | 建统一加急来源视图,明确订单级/工序级/物料级 | +| 装配看板“发货状态” | `View_生产订单_MES.发货状态` + SAP `UBT_ODRF_ODLNMES` | 发货通知列表、仓库出库、SAP 发货回写 | 页面显示“发货状态”但可能混合通知、待出库、已出库、已交货 | 增加发货状态分层:通知、备货、出库、交货、SAP 回写 | +| 装配看板“在制缺件” | SAP 缺件表 + MES 装配计划 | 及时齐套跟踪、替代料、部分到货 | 只能看到缺件,无法知道是否已经采购、何时可恢复 | 增加缺件原因、预计到货、替代料、主子订单关系 | +| 装配看板“异常未关闭” | `流程表.完成人 is null` | 异常管控入口统一,机加/质检/外协都能发异常 | 未限定装配范围时,装配看板可能统计到其他部门异常 | 异常流程必须带业务域、任务、工序、责任部门 | +| 质检看板“未清任务” | `质量任务看板_未完成统计/明细` | 及时检验、复检、返工、让步接收、免检 | 未清数量会把复检/返工/免检混为同一类待检 | 增加质检状态流转、复检批次、处置结果、免检标识 | +| 质检看板“当天完成” | `View_质量检验_质检记录` 当天检测时间 | 生产日报-送检、部门日报、班次统计 | 当天完成按自然日统计,日报/班次按业务日统计会不一致 | 增加班次/日报快照口径 | +| 机加看板“设备运行状态” | `CaChe_Var` 当前缓存 | 机加班次产量、真实 OEE、设备运行工时 | 设备运行与任务报工可能不同步,OEE 无法解释 | 统一设备状态、任务状态、报工状态的时间轴 | +| 机加看板“当天完成/合格率” | 复用质检完成汇总 | 生产完成、质检完成、入库完成都被要求展示 | “完成”可能被理解成生产完成,但实际是质检完成 | 页面标题和过程改名,或新增生产完成口径 | +| `TableTV` 当前工位任务 | `设备管理_设备状态_查询` | 班次维护、人员绑定、二次派工 | 班次阈值写死后,人员归属与班次管理不一致 | 过程改读班次表,不再硬编码 7.5/16.5 | +| `board_view` 合同/项目进度 | `看板_*`,采购/库存/OEE 多处为 0 或样例 | 发货通知、采购到货、合同工时、真实 OEE | 综合大屏展示为“项目全貌”,但采购、库存、OEE 仍不真实 | 优先补真实数据源,否则不要作为经营口径 | + +### 2. 已完成页面、报表、看板必须同步修改的清单 + +| 变更来源 | 必须同步修改的看板/报表 | 原因 | +|---|---|---| +| 设计任务报工、编程任务报工 | `board_view` 工时消耗、未完工工时;工时报表;合同进度类报表 | 当前大屏工时主要来自生产工时,新增设计/编程后合同总工时会漏算 | +| 装配已排产需求 | `生产任务看板`、`装配任务看板`、`board_view` 装配进度 | 装配计划、齐套、发货、异常、累计工时都会进入交付进度 | +| 及时检验报表 | `质检任务看板`、`机加设备生产运营看板`、生产日报-送检 | 质检及时率必须从静态/占位指标变成真实过程 | +| 及时齐套跟踪 | `生产任务看板` 齐套率/未齐套任务、`装配任务看板` 缺件、`board_view` 合同进度 | 缺件从单一状态变成主子订单、SAP 缺料、预计可执行时间 | +| 发货通知列表 | `装配任务看板` 发货状态、`board_view` 合同/交付区域 | 发货状态需要区分 SAP 通知、仓库出库、MES 任务完成 | +| 机加班次产量表 | `TableTV`、机加运营看板、设备工时报表 | 班次、设备、人员、产量、工时必须按同一业务日归属 | +| 异常管控入口统一 | 装配看板异常数、机加看板未及时开工、生产任务看板风险数 | 异常暂停不应被误算为未及时开工或未完成 | +| SAP 生产订单批量关闭 | 生产任务看板、装配看板、计划关闭页、手续确认报表 | SAP 部分成功/失败会造成 MES 任务仍显示在看板上 | +| 外协检验字段增强 | 质检看板、外协报表、供应商质量统计 | 质检任务要按供应商、采购收货单、指派对象追溯 | + +### 3. 看板暴露出的系统级隐性需求 + +1. **统一指标口径层** + 现在不同看板各自写存储过程:`生产任务综合看板_*`、`装配中心任务看板_*`、`质量任务看板_*`、`机加设备生产运营看板_*`、`看板_*`。这些过程大量重复读取 `View_生产订单_MES`、`YL_质量检验_质检记录`、`YL_加工中心_操作记录表`。后续应建立统一口径视图,例如: + - `View_MES_任务状态统一口径` + - `View_MES_齐套缺件统一口径` + - `View_MES_质检待办统一口径` + - `View_MES_工时统一口径` + - `View_MES_设备任务运行统一口径` + +2. **统一状态字典** + 当前看板内同时出现 `任务状态`、`加工状态`、`排产状态`、`齐套`、`发料状态`、`拣配状态`、`发货状态`、`加急状态`、`质检状态`、`设备状态`。这些状态来自不同表,且有的前端再次转换。必须补一张状态解释表或统一视图,避免同一个 `0/1/2/4` 在不同页面含义不同。 + +3. **SAP 同步状态与时间戳** + 看板不是实时调用 B1 Service Layer,而是通过 SQL 读取 SAP 跨库表或 SAP 同步落地表,例如 `ubt_OPKL_UrgentMaterials_ALL`、`UBT_ODRF_ODLNMES`、`质量检验_质检任务_SAP`。因此大屏上所有 SAP 相关指标都应该显示或记录同步时间、同步结果、失败原因。否则用户看到缺件、发货、加急时无法判断是 SAP 最新状态还是 MES 缓存状态。 + +4. **指标钻取能力** + `board_view` 已经有中央订单点击钻取明细,其他看板多数只有汇总和滚动表。新增需求上线后,客户很可能要求点击“未及时开工、未清质检、缺件、异常、加急、未齐套”直接看到来源明细。不能只返回总数,过程应统一支持“汇总 + 明细 + 字段来源”。 + +5. **历史快照** + 大屏是实时结果,但日报、周报、月报需要历史定版。当前很多过程使用 `GETDATE()` 实时计算,例如当天完成、近 3 天装配合格率、当月计划执行率。新增管理报表后,必须保存日快照或允许传入统计日期,否则第二天无法复现昨天看板上的数字。 + +6. **占位指标清理** + `board_view` 中 OEE、环境、水电气、采购部进度、库存/在购字段存在样例或占位;生产任务看板中采购未及时到货、质检及时率、未及时入库也有静态值或未完整接入。上线前必须清理占位指标:要么接真实过程,要么隐藏,不要和真实指标混放。 + +### 4. 统一改造建议 + +| 优先级 | 改造项 | 解决的问题 | +|---|---|---| +| P0 | 给所有看板指标补“口径说明 + 来源过程 + 来源字段” | 防止管理层把不同含义的“完成、齐套、加急、在制”混用 | +| P0 | 把 `GETDATE()` 型过程改造为可传统计日期,实时看板默认当天 | 让日报/历史回看能复现 | +| P0 | 为 SAP 相关看板补同步时间和同步状态 | 判断数据新旧,排查 SAP/MES 不一致 | +| P1 | 统一质检待办过程,覆盖未清、及时率、关键工序、当天完成 | 避免 `质量任务看板_*` 和 `Visualization_QcTask_*` 两套接口并行 | +| P1 | 统一机加任务/设备状态过程,区分任务在制、设备运行、报工完成 | 防止设备状态与任务状态互相替代 | +| P1 | 统一装配发货/缺件过程,串起 SAP 发货通知、缺件、齐套、仓库出库 | 让装配看板真正反映交付风险 | +| P2 | 将 `board_view` 的占位采购、库存、OEE 接入真实数据或移除 | 避免综合大屏成为混合真实/样例数据的经营看板 | + +### 5. 客户可能继续提出的看板类需求 + +这些不是主分析角度,但从现有看板形态看,客户后续很可能继续要求: + +- 点击任意 KPI 下钻明细,例如未齐套、加急、未及时开工、未清质检、装配缺件。 +- 看板按项目、合同、车间、班组、设备筛选。 +- 看板显示 SAP 同步时间和异常提示。 +- 看板支持历史日期回看,而不是只能看当前实时数据。 +- 质检看板增加及时率趋势和超期责任人。 +- 装配看板增加预计发货、预计齐套、缺件到货日期。 +- 机加看板增加真实 OEE、设备利用率、程序运行时长、班次产量。 +- 生产任务综合看板增加“设计/编程是否完成”作为开工前置条件。 +- 大屏数据定时快照,日报/周报自动引用同一口径。 + +## 十一、设备数据采集与现场大屏专项影响分析 + +本次新增的设备档案、设备数据采集、OEE、工时异常、条码拣配和一楼/机加/装配现场大屏需求,会把系统从“任务报工驱动”进一步推向“设备实时数据 + MES 任务 + 质检结果 + 现场人员 + SAP 物料状态”的综合分析系统。它的影响不只在新增几个看板,而是会改变工时、产量、合格率、齐套、送检、缺勤、设备状态的基础口径。 + +### 1. 总体影响链路 + +```mermaid +flowchart TD + A[设备档案/主要设备/标准工时] --> B[设备数据采集] + B --> C[设备状态时长] + B --> D[程序工时/单件工时] + C --> E[设备利用率] + D --> F[性能开动率] + G[MES 报工/计划产量] --> H[产能利用率] + I[质检记录/良品不良品] --> J[产品合格率] + E --> K[OEE] + F --> K + J --> K + D --> L[工时异常报表] + M[条码拣配] --> N[齐套/发料/拣配状态] + N --> O[生产/装配看板] + P[关键工序标识] --> Q[质检/机加关键任务大屏] + R[班次/岗位/工位/考勤] --> S[缺勤人员大屏] +``` + +### 2. 对现有数据模型的冲击 + +| 新需求 | 新增或必须明确的数据 | 冲击对象 | 主要问题 | +|---|---|---|---| +| 设备档案管理 | 主要设备、参与 OEE、设备/工位关系、标准工时来源 | 设备档案、工位管理、工艺维护 | 标准工时放设备、工艺还是设备+工序能力表必须明确 | +| 设备数据采集 | 程序工时、单件工时、设备状态时长、程序号、采集时间 | `CaChe_Var`、历史设备数据、设备状态记录、工时报表 | 当前多为当前缓存或历史状态,缺少可直接算单件工时的任务绑定 | +| OEE 指标 | 计划产量、实际产量、设备工时、标准工时、标准单件工时、实际单件工时、良品数 | 机加看板、`board_view`、设备报表 | OEE 三个组成指标必须同设备、同日期、同班次,否则乘出来没有管理意义 | +| 工时异常报表 | 实际单件工时、标准单件工时、超出比例、异常原因 | 工时查询、工时校验、异常管控 | 设备采集工时与人工报工工时不一致时,谁作为异常依据需要确定 | +| 条码拣配 | 条码、物料、批次、任务、拣配人、拣配时间、状态写回 | 机加中心、装配中心、齐套看板 | 条码扫描会改变 `拣配状态/齐套/发料状态`,看板和生产任务必须同步 | +| 质检及时率 | 最后一次生产完成时间、报检时间、检验完成时间、超期天数 | 质检看板、生产日报-送检 | 以生产完成时间作为起算点,会改变现有“未清任务”定义 | +| 关键工序 | 工艺关键标识、任务快照、关键工序应检/未检/在制 | 工艺维护、生产任务、质检/机加大屏 | 关键工序如果只存在工艺库,会影响历史任务重算 | +| 缺勤人员 | 岗位、工位、人员、应到、实到、班次 | 班次管理、人员绑定、机加/装配大屏 | 不能从“没有报工”直接判断缺勤,必须有排班和考勤/上岗数据 | +| 装配及时送检 | 发料齐套时间、送检状态、送检时间、超期天数 | 装配中心、装配看板、质检任务 | 发料齐套后 2 天未送检会新增一种介于“可开工/待检”之间的风险状态 | + +### 3. OEE 不是一个单独公式,而是一组口径治理 + +当前讨论公式为: + +- 产能利用率(单台)= 实际产量 / 计划产量 * 100% +- 设备利用率(单台)= 设备工时 / 标准工时 +- 设备性能开动率(单台)= 标准单件工时 / 实际单件工时 +- 产品合格率(工位)= 良品数 / 总产量 +- OEE = 设备利用率 * 开动率 * 合格率 + +这些公式看起来简单,但真正的隐性需求是统一统计边界: + +1. **设备边界**:只算主要设备,还是所有设备都算。辅助设备、测试设备、维修设备是否排除。 +2. **时间边界**:自然日、班次日、订单周期、计划周期不能混用。 +3. **产量边界**:实际产量来自 MES 报工、设备计数还是质检数量。三者时间上可能不一致。 +4. **合格率边界**:良品数来自报工良品还是质检合格数。若质检晚于生产,日合格率会滞后。 +5. **标准工时边界**:标准工时可能来自工艺标准工时、设备能力标准、班次可用工时。三个字段不能都叫标准工时。 +6. **实际单件工时边界**:设备采集循环时间、设备运行时间/产量、人工报工工时/产量是不同口径。 + +因此 OEE 不能只在大屏上增加几个公式。必须先建立设备指标明细层,至少包含设备、工位、日期、班次、任务、物料、工序、计划产量、实际产量、良品、不良、标准工时、设备运行工时、标准单件工时、实际单件工时和采集质量标识。 + +### 4. 对已完成页面和看板的必要改造 + +| 页面/看板 | 必须新增或调整 | 原因 | +|---|---|---| +| `DeviceManagement/DeviceInformation` | 主要设备、是否参与 OEE、采集点位、标准工时来源 | 设备档案是设备采集和 OEE 的基础 | +| `SystemMaintenance/WorkstationManagement` | 工位与设备、人员、岗位的一对多关系 | 缺勤人员要显示岗位、工位、姓名,多工位需合并 | +| `ProcessManagement/ProcessProduct` / 工艺维护 | 是否关键工序、标准单件工时 | 质检和机加大屏需要关键工序汇总和明细 | +| `PlanManagement/SelfMakePlan/SelfMakePlandone` | 任务设备绑定、计划产量、标准工时字段确认 | 单台设备产能利用率需要按任务落到设备 | +| `ProductionManagement/MachiningCenter` | 条码拣配入口、拣配状态写回、设备采集任务绑定 | 机加及时拣配和设备采集都要关联生产任务 | +| `ProductionManagement/AssemblyCenter` | 条码拣配入口、发料齐套时间、送检状态 | 装配及时拣配和及时送检都要从这里进入 | +| `ProductionManagement/WorkHoursCheck` | 程序工时、设备工时、人工工时差异、异常确认 | 工时异常报表会反向要求工时校验解释差异 | +| `QualityManagement/QualityCenter` | 最后生产完成时间、报检时间、超期天数、关键工序 | 质检及时率和关键工序任务必须有来源 | +| `质检任务看板` | 质检及时率真实过程、超 2 天未检明细、关键工序汇总/明细 | 当前看板未完整实现及时率真实口径 | +| `机加设备生产运营看板` | OEE、设备利用率、开动率、合格率、关键工序任务、缺勤人员 | 现有设备状态和 OEE 仍不足以支撑新指标 | +| `装配任务看板` | 缺勤人员、及时送检任务颜色/排序、发料齐套后 2 天未送检 | 新需求直接改变装配现场大屏列表逻辑 | +| `TableTV` | 设备采集状态、单件工时、异常颜色 | 现场卡片应展示设备真实状态和工时风险 | +| `board_view` | 真实 OEE 替换样例、设备/产能/质量指标统一 | 综合大屏不能继续使用固定 OEE 样例 | + +### 5. 工时异常报表会反向推动工时体系重构 + +工时异常条件是“单件工时 > 标准工时”。这会带来三个隐性问题: + +1. **异常来源不只设备** + 单件工时超标可能来自设备状态异常、程序问题、刀具/工装、人员操作、物料质量、等待质检、等待发料。报表如果只列超标,不记录原因,会变成无法闭环的告警列表。 + +2. **需要区分程序工时和人工工时** + 程序工时用于判断设备加工效率;人工工时用于人工绩效和 SAP 工时上传。两者差异本身就是一个分析点,不能用程序工时直接覆盖人工报工。 + +3. **需要异常确认流程** + 如果报表用于管理考核,就必须支持确认:是否真实异常、原因分类、责任部门、处理说明、确认人、确认时间。否则数据会被质疑。 + +### 6. 条码拣配会改变齐套和开工状态 + +及时拣配(机加/装配)表面是扫码需求,实际会改动任务状态链: + +```mermaid +flowchart LR + A[条码扫描] --> B[识别物料/任务] + B --> C[更新拣配记录] + C --> D[更新拣配状态] + D --> E[计算齐套] + E --> F[影响发料状态] + F --> G[影响是否可开工] + G --> H[影响生产/装配看板] +``` + +如果扫码只记录日志,不写回 `拣配状态/齐套/发料状态`,看板仍然显示未齐套;如果扫码直接写回状态,但没有 SAP 库存校验,又可能造成 MES 显示已齐套、SAP 库存不足。因此需要明确 MES 与 SAP 谁作为库存和发料主口径。 + +### 7. 三类大屏的新增字段影响 + +| 大屏 | 新增指标 | 需要的新增字段/过程 | +|---|---|---| +| 一楼质检大屏 | 质检及时率、超 2 天未检、关键工序检验汇总/明细 | 最后生产完成时间、报检时间、检验完成时间、是否关键工序、超期天数 | +| 机加现场大屏 | 缺勤人员、关键工序任务汇总/明细、设备 OEE | 岗位、工位、姓名、应到/实到、是否关键工序、设备运行工时、单件工时 | +| 装配现场大屏 | 缺勤人员、及时送检任务列表、加急后排序、颜色区分 | 岗位、工位、姓名、发料齐套时间、送检状态、送检时间、超期天数 | + +### 8. 需要优先确认的问题 + +1. 设备采集数据由谁写入 MES,接口频率是多少。 +2. 设备采集如何绑定到 MES 任务,是靠设备+时间段、程序号、条码,还是人工绑定。 +3. 标准单件工时来自生产工艺,还是设备能力表。 +4. 实际产量以 MES 报工、设备计数、质检数量中的哪一个为准。 +5. 良品数以报工良品还是质检合格数为准。 +6. 质检及时率的“最后一次生产完成时间”取操作记录的报工、辅助结束,还是任务完成时间。 +7. 关键工序标识是否影响历史任务,建议只影响新下发任务或做任务快照。 +8. 缺勤人员的“应到”来源是班次绑定、排班表还是岗位配置。 +9. 装配“发料齐套后 2 天未送检”的发料齐套时间来自哪个表。 +10. 条码拣配是否需要 SAP 库存校验和失败重试。 + +## 十二、补充修正:新增需求必须同时判断“维护入口” + +前面的分析已经覆盖了工时、状态、SAP、报表、看板的连锁影响,但还需要补一个更基础的判断:客户提出一个报表或看板字段时,不等于只新增一个展示页面。必须同时判断这个字段从哪里来、由谁维护、在哪个页面维护。 + +如果不先确认维护入口,会出现三类问题: + +1. 报表页面有字段,但没有地方录入,最终只能写死、手工改库或长期为空。 +2. 看板显示了 KPI,但基础字段散落在多个页面,用户不知道该去哪里修正。 +3. 同一个字段在标准数据、订单数据、任务快照、SAP 同步表中重复维护,导致历史统计和当前查询对不上。 + +### 1. 判断框架 + +| 判断项 | 需要回答的问题 | 典型结论 | +|---|---|---| +| 字段性质 | 是主数据、订单过程数据、任务执行数据、外部同步数据、计算结果,还是人工确认结果 | 主数据进基础维护页;过程数据进业务页;计算结果进视图/报表 | +| 数据来源 | MES、SAP、设备采集、考勤/排班、人工维护,还是多来源融合 | 多来源字段必须记录来源和更新时间 | +| 维护责任人 | 工艺、计划、生产、质检、仓库、设备、班组长、系统管理员谁维护 | 决定页面权限和菜单归属 | +| 维护入口 | 现有页面能否承载,还是必须新建页面 | 优先扩展现有业务页面,缺口大时才新建维护页 | +| 历史影响 | 修改后是否影响已下发任务和历史报表 | 影响历史的字段要做任务快照或维护历史 | +| 看板影响 | 是否会改变已有 KPI 口径 | 看板过程必须同步改,不只改主系统页面 | + +### 2. 按字段类型划分维护位置 + +| 字段/能力类型 | 应优先维护的位置 | 不建议的做法 | +|---|---|---| +| 人员、岗位、班次、排班、出勤 | 人员管理、班次管理、工位人员绑定,必要时新增排班/出勤维护页 | 在机加/装配大屏里直接维护缺勤 | +| 工序、关键工序、标准工时、准备工时 | 标准工艺、生产工艺、工序基础数据 | 单独做一个脱离工艺的关键工序表但不和任务快照同步 | +| 设备、工位、采集点位、是否参与 OEE | 设备档案、工位管理、设备采集配置 | 把设备标准工时简单塞进设备档案并用于所有零件 | +| 生产订单过程字段 | 生产计划、排产、装配已排产需求、生产工艺 | 只在报表页维护,不写回业务主链路 | +| 质检处置字段 | 质检中心、不合格处置、序检收检 | 让步接收记录页反向维护质检结果 | +| SAP 同步字段 | SAP 同步表或 MES 扩展表,只读展示同步时间和状态 | 前端手工覆盖 SAP 字段但不留来源 | +| 人工确认字段 | 待办类页面维护,例如手续确认报表,同时记录确认人和时间 | 把确认状态隐藏在 SQL 过滤里,没有操作日志 | +| 统计/看板指标 | 统一视图、存储过程、日报快照 | 每个看板各写一套 SQL 重新定义口径 | + +### 3. 典型字段修正结论 + +| 需求点 | 修正结论 | +|---|---| +| 缺勤人员 | 必须先有“应到人员”和“实到人员”来源。应到来自班次/排班/岗位工位人员绑定,实到来自考勤/上岗/登录/报工。若现有系统没有排班入口,需要新增或扩展排班/出勤维护页;看板只查询缺勤结果。 | +| 关键工序 | 属于工艺属性,应在标准工艺和生产工艺维护。生产任务下发时快照 `是否关键工序`,质检和机加大屏读取快照。不能只在大屏或质检报表里临时标记。 | +| 标准单件工时 | 优先来自标准工艺/生产工艺,必要时增加设备+工序能力表。设备档案只维护设备能力参数和 OEE 参与属性。 | +| 发料齐套时间 | 如果来自 SAP,必须同步到 MES 并记录同步时间;如果允许人工修正,应放在生产计划/装配排产业务链路或装配已排产需求页,并保留维护历史。 | +| 装配完成时间 | 规则计算字段可以在装配已排产需求中显示;人工调整时要作为订单过程字段保存,不应只存在前端。 | +| 预计可执行时间 | 依赖 SAP 缺件、主子订单关系和人工判断。可以在及时齐套跟踪页维护,但要记录维护人、维护时间和依据。 | +| 让步接收 | 质检结果字段应在质检中心或不合格处置维护;让步接收记录页只做查询、导出和追溯。 | +| 外协供应商/SAP 收货单号 | 应在外协任务、序检收检或外协收货链路补字段;供应商质量报表只消费这些字段。 | +| OEE | OEE 是计算结果,不是人工维护字段。基础数据分别来自设备采集、MES 报工、质检记录、工艺标准工时和班次规则。 | + +### 4. 对已完成页面的新增影响 + +| 现有页面 | 新增维护责任 | +|---|---| +| `ProcessManagement/ProcessProduct` 生产工艺 | 维护订单级关键工序、标准工时、标准工艺带出后的生产工艺草稿;保存时形成任务可用快照 | +| `ProcessManagement/ProcessesDevelop` 制定标准工艺 | 维护标准关键工序、标准单件工时、准备工时,作为生产工艺默认来源 | +| `SystemMaintenance/WorkstationManagement` | 补工位与设备、岗位、人员关系,支持缺勤和 OEE 维度 | +| `BasicData/ShiftManagement` 或现有班次管理 | 支持班次时间、跨天规则、应到人员或排班规则 | +| `BasicData/PersonnelManagement`、人员角色绑定 | 支持人员岗位、班组、工位范围,为缺勤和权限提供来源 | +| `ProductionManagement/AssemblyCenter` | 维护/展示装配执行、发料、送检、异常、手续确认相关过程字段 | +| `ProductionManagement/MachiningCenter` | 维护/展示机加扫码、设备绑定、报工、异常、关键工序执行状态 | +| `QualityManagement/QualityCenter` | 维护质检结果、让步接收、送检/已检数量、关键工序质检状态 | +| `DeviceManagement/DeviceInformation` | 维护主要设备、采集点位、OEE 参与标识,不独立承担所有标准工时 | + +### 5. 后续评估新增需求的强制问题 + +后续每个新需求都要在开发前回答: + +1. 这个字段是展示、维护、确认,还是计算。 +2. 如果要维护,是否已有页面可以维护。 +3. 如果新增页面,它是查询页、待办页,还是主数据维护页。 +4. 数据是否需要修改历史;如果需要,是否留维护日志。 +5. 是否需要任务快照,避免标准数据变化影响历史任务。 +6. 是否影响生产任务看板、装配看板、质检看板、机加看板或 `board_view`。 + +只有这六个问题明确后,才能判断是“新增页面”、 “扩展现有页面”、 “新增维护页”,还是“只改 SQL/视图/看板口径”。 diff --git a/需求分析_自制件与工位汇总表.md b/doc_old/需求分析_自制件与工位汇总表.md similarity index 100% rename from 需求分析_自制件与工位汇总表.md rename to doc_old/需求分析_自制件与工位汇总表.md diff --git a/doc_old/项目功能技术路线数据库分析报告_2026-05-22.md b/doc_old/项目功能技术路线数据库分析报告_2026-05-22.md new file mode 100644 index 0000000..1cd36bd --- /dev/null +++ b/doc_old/项目功能技术路线数据库分析报告_2026-05-22.md @@ -0,0 +1,942 @@ +# MES 主系统与看板项目综合分析报告 + +生成日期:2026-05-22 +分析范围: + +- 主系统:`MES_Manage_View_V20` +- 同级看板项目:`board_view`、`TableTV`、`机加设备生产运营看板`、`机加设备生产运营看板二`、`生产任务看板`、`装配任务看板`、`质检任务看板` +- 数据库脚本:更新后的 `MES_Manage_View_V20/script.sql`,最后修改时间为 2026-05-22 13:23:04 + +排除范围: + +- 所有 `.7z`、`.zip` 压缩包和备份包 +- `dist/`、`node_modules/` 构建产物和依赖目录 +- 同级旧版主系统副本 `MacroinfManage_MES`、`test`、`新建文件夹` 未纳入本轮业务分析 + +## 1. 总体结论 + +当前目录不是单一前端项目,而是一组围绕同一 MES 数据库和 `.ashx` 网关运行的前端应用: + +- `MES_Manage_View_V20` 是主业务系统,覆盖计划、工艺、生产、质量、设备、外协、工时、系统权限等完整 MES 功能。 +- 上一层目录中的多个项目是看板端,用于大屏展示生产、机加设备、装配、质检、设备状态等实时指标。 +- 主系统和新版看板共用同一个后端入口:`https://192.168.2.92:10101/submit/MESCommonBase.ashx`。 +- 主系统和看板项目都采用“前端传入存储过程名 + 参数,后端 `.ashx` 执行 SQL Server 存储过程”的协议。 +- 更新后的 `script.sql` 已包含看板端依赖的关键存储过程,尤其是 `机加设备生产运营看板_*`、`生产任务综合看板_*`、`装配中心任务看板_*`、`质量任务看板_*` 等。 +- 但主系统页面仍有 16 个前端调用过程未在当前 `script.sql` 中找到,主要集中在产品结构、摄像头/设备查看权限、点检类型、设备重复校验等非看板功能。 + +数据库对象统计以更新后的 `script.sql` 为准: + +| 对象类型 | 数量 | +| --- | ---: | +| 表 | 50 | +| 视图 | 26 | +| 存储过程 | 345 | +| 函数 | 至少 1 个:`计算班次重叠秒数` | + +## 2. 项目组成 + +### 2.1 主系统 `MES_Manage_View_V20` + +技术栈: + +- Vue 2.7.16 +- Vue Router 3.6.5 +- Vuex 3.6.2 +- Element UI 2.15.14 +- Webpack 5 +- Axios 0.21.4 +- ECharts、FullCalendar、TinyMCE、xlsx、pdfjs、mqtt 等 + +定位: + +主系统是管理端和业务操作端,面向计划员、工艺人员、生产现场、质检人员、设备管理人员、系统管理员。 + +核心目录: + +| 路径 | 说明 | +| --- | --- | +| `src/views` | 业务页面,共 76 个 `.vue`,业务页面约 67 个 | +| `src/utils/request.js` | 主 Axios 实例,读取 `window.dt_Config.serverAddress` | +| `src/utils/curd.js` | `CreateData`、`ExecDatabase`、表单/表格通用方法、设备 API | +| `src/router` | 固定路由、动态路由、数据库菜单组件映射 | +| `src/store` | 登录、角色、路由、标签页等状态 | +| `static/config.js` | 运行时服务地址配置 | +| `script.sql` | SQL Server 表、视图、存储过程 | + +主系统接口地址: + +```js +window.dt_Config = { + serverAddress: 'https://192.168.2.92:10101/submit/MESCommonBase.ashx', + baseURL: 'https://192.168.2.92:10101', + baseURLB1: 'https://192.168.2.92:9996/b1s', + baseURLtm: 'https://192.168.2.92:9996/openapi' +} +``` + +### 2.2 旧版综合看板 `board_view` + +技术栈: + +- Vue 2.5 +- Webpack 3 +- `@jiaminghi/data-view` +- ECharts 5 +- `vue-seamless-scroll` +- Axios +- `speak-tts` + +定位: + +旧版综合生产监控大屏,页面主体为 `src/views/left.vue`。它展示订单看板、装配看板、未完成工序、环境/水电气、OEE、质量等综合信息。 + +配置: + +```js +window.ConnectConfig = { + url2: 'https://192.168.2.92:10101', + requestConfig: '/submit/MESCommonBase.ashx', + zonePageInterval: 10000, + iframeUrl: 'http://192.168.2.92:10008' +} +``` + +注意:`request.js` 里仍保留 `window.ConnectConfig.url` 的实例,但当前配置只启用了 `url2`,实际可用的是 `instance2`。 + +主要调用过程: + +- `看板_主页六个关键数据_查询` +- `看板_左上订单看板_表格_查询` +- `看板_左中装配看板_表格_查询` +- `看板_左下未完成看板_表格_查询` +- `看板_右上合同看板_表格_查询` +- `看板_右下质量看板_表格_查询` +- `看板_右下质量看板_饼图_查询` +- `看板_中间主体订单_表格_查询` +- `看板_中间主体订单详情_表格_查询` +- `看板_中间实时OEE数据展示_查询` +- `看板_左上计划执行情况_曲线_查询` +- `Event_CaChe_Var_看板查询` +- `设备管理_设备状态_查询` + +### 2.3 通用表格看板 `TableTV` + +技术栈: + +- Vue 3.5 +- Vite 5 +- Element Plus +- TDesign Vue Next +- Pinia +- Axios + +定位: + +通用工位/任务卡片式滚动看板。`public/config.js` 中配置了标题和目标 SQL: + +```js +window.g = { + API_WEB_URL: 'https://192.168.2.92:10101', + TV_TITLE: '元利流体 · 生产计划看板', + TV_SQL: 'TV_视图看板_查询' +} +``` + +实际代码观察: + +- `src/views/index.vue` 当前直接调用 `设备管理_设备状态_查询`。 +- `TV_SQL` 当前未在页面取数逻辑中使用。 +- 页面每 5 秒刷新一次数据。 + +这是一个配置与实现不一致的点:如果设计目标是可配置 SQL 看板,应把 `window.g.TV_SQL` 接入 `fetchData`。 + +### 2.4 机加设备生产运营看板一 + +路径:`../机加设备生产运营看板` + +技术栈: + +- Vue 3.5 +- Vite 5 +- Element Plus +- TDesign Vue Next +- `@kjgl77/datav-vue3` +- ECharts 6 +- Axios +- Pinia + +定位: + +机加设备生产运营看板一,展示设备运行状态、计划执行率、未及时开工、不良品、当天完成、设备任务与明细。 + +配置: + +```js +window.g = { + API_WEB_URL: 'https://192.168.2.92:10101' +} +``` + +主要调用过程: + +- `机加设备生产运营看板_设备任务查询` +- `机加设备生产运营看板_不良品查询` +- `质量任务看板_当天已完成汇总` +- `机加设备生产运营看板_当天已完成明细` +- `机加设备生产运营看板_设备运行状态查询` +- `机加设备生产运营看板_未及时开工查询` +- `机加设备生产运营看板_计划执行率` + +### 2.5 机加设备生产运营看板二 + +路径:`../机加设备生产运营看板二` + +技术栈与看板一基本一致。 + +定位: + +机加设备生产运营看板二,侧重加急任务、机加在制任务及机加在制扩展视图。 + +主要调用过程: + +- `机加设备生产运营看板_加急任务查询` +- `机加设备生产运营看板_机加在制查询` +- `机加设备生产运营看板_机加在制查询2` + +### 2.6 生产任务看板 + +路径:`../生产任务看板` + +技术栈: + +- Vue 3.5 +- Vite 5 +- Element Plus +- TDesign Vue Next +- ECharts 6 +- Axios + +定位: + +生产任务综合看板,关注齐套、无工艺未排产、加急任务、未及时开工、未按期齐套等生产计划执行风险。 + +主要调用过程: + +- `生产任务综合看板_按期齐套率` +- `生产任务综合看板_未排产无工艺查询` +- `生产任务综合看板_加急任务查询` +- `生产任务综合看板_未及时开工查询` +- `生产任务综合看板_未按期齐套任务` + +### 2.7 装配任务看板 + +路径:`../装配任务看板` + +技术栈: + +- Vue 3.5 +- Vite 5 +- Element Plus +- TDesign Vue Next +- `datav-vue3` +- ECharts 6 + +定位: + +装配中心任务大屏,展示异常未关闭、发货状态、在制品缺件、加急任务、装配任务、装配合格率、已完成任务等。 + +主要调用过程: + +- `装配中心任务看板_异常未关闭总数` +- `装配中心任务看板_发货状态查询` +- `装配中心任务看板_在制品缺件查询` +- `装配中心任务看板_加急任务总数查询` +- `装配中心任务看板_装配任务查询` +- `装配中心任务看板_装配合格率` +- `装配中心任务看板_已完成任务` + +补充: + +该项目内还有 `ProductionTaskDashboard.vue`,复用了生产任务综合看板的 5 个过程,说明装配看板项目中包含生产任务综合看板的备用或切换页面。 + +### 2.8 质检任务看板 + +路径:`../质检任务看板` + +技术栈: + +- Vue 3.5 +- Vite 5 +- Element Plus +- TDesign Vue Next +- ECharts 6 + +定位: + +质量任务看板,关注未完成质检任务、不同类型任务统计、未完成明细、当天已完成汇总与明细。 + +主要调用过程: + +- `质量任务看板_未完成统计` +- `质量任务看板_未完成明细查询` +- `质量任务看板_当天已完成汇总` +- `质量任务看板_当天已完成明细` + +## 3. 统一接口协议 + +### 3.1 主系统 Vue2 协议 + +主系统通过 `src/utils/curd.js` 提供全局方法: + +```text +业务页面 + -> this.CreateData(type, procedureName, params, pageSize, pageList) + -> this.ExecDatabase(data) + -> axios POST window.dt_Config.serverAddress + -> MESCommonBase.ashx + -> SQL Server 存储过程 +``` + +请求对象主要字段: + +| 字段 | 说明 | +| --- | --- | +| `type` | 操作类型。常见为 `11` 查询、`12` 写入/更新、`2001` 导出。准确语义由后端 `.ashx` 定义。 | +| `name` | 存储过程名 | +| `param` | 参数 JSON 字符串,数组项包含 `name/value/type/output` | +| `pageSize` | 分页大小 | +| `pageList` | 页码或分页参数 | +| `UserID` | 当前用户 ID | +| `UserName` | 当前用户姓名 | +| `ModularID` | 当前路由路径 | + +### 3.2 新版 Vue3 看板协议 + +Vite/Vue3 看板项目通过 `src/utils/curdVue3.js` 或 `src/utils/curd.js` 注入: + +- `CreateData` +- `ExecDatabase` +- `ExecDatabaseByParam` + +接口地址统一为: + +```js +window.g.API_WEB_URL + '/submit/MESCommonBase.ashx' +``` + +大多数新版看板请求超时时间为 5 秒,明显短于主系统的 25 分钟超时,更适合大屏定时刷新,但也要求看板查询过程必须足够快。 + +### 3.3 旧版 `board_view` 协议 + +旧版看板使用 `window.ConnectConfig.url2 + requestConfig` 访问同一 `.ashx` 网关,通过自定义 `CreateData1` 调用 `看板_*` 过程。 + +## 4. 主系统业务功能 + +### 4.1 系统维护 + +页面: + +- 人员管理 +- 角色维护 +- 菜单管理 +- 工位管理 +- 组织管理 +- 操作日志 + +核心数据: + +- `登录基础数据_人员信息` +- `登录基础数据_角色信息` +- `登录基础数据_人员权限角色` +- `登录基础数据_二级菜单` +- `登录基础数据_部门` +- `工位人员绑定表` +- `MES_资源主数据` +- `_日志` + +功能: + +- 登录、人员、角色、菜单、权限配置。 +- 数据库菜单驱动动态路由。 +- 工位基础信息和工位人员绑定。 +- 操作日志查询。 + +### 4.2 计划排产 + +页面: + +- 自制件计划 +- 自制件排产 +- 自制件已排产 +- 装配计划 +- 装配执行计划 +- 优先级排产 +- 计划外壳 +- 生产订单关闭 + +核心数据: + +- `MES_接口_生产计划` +- `MES_接口_生产计划_生产任务` +- `计划任务视图` +- `View_生产订单_MES` +- `View_生产订单全部(包括已关闭)` + +功能: + +- 查询生产订单和任务。 +- 按自制件属性区分机加、装配。 +- 派工、二次派工、单任务派工。 +- 计划时间调整、说明维护、优先级管理。 +- 订单关闭与 SAP B1 状态协同。 + +### 4.3 工艺管理 + +页面: + +- 工序管理 +- 标准工艺维护 +- 生产工艺维护 +- 工艺查询 +- 生产订单工艺下发 +- 零件图纸、工艺图纸、采购图纸查看/上传/删除 + +核心数据: + +- `基础表_工序` +- `车间生产管理工艺_零件工序_工艺库` +- `车间生产管理工艺_零件生产工艺_工艺库` +- `物料基础数据_零件图纸` +- `物料基础数据_工艺图纸` +- `物料基础数据_零件图纸删除记录` +- `View_标准工艺视图` +- `View_生产工艺视图` +- `View_图纸视图` + +功能: + +- 标准工艺制定和复制。 +- 生产工艺按订单生成、调整、排序、启用。 +- 图纸上传下载与删除记录。 +- 生产任务下发前的工艺准备。 + +### 4.4 生产管理 + +核心页面: + +- 加工中心 +- 装配中心 +- 生产任务管理 +- 装配任务管理 +- 生产任务汇总 +- 装配任务汇总 +- 生产计划跟踪 +- 外协管理 +- 外协报表 +- 工时查询 +- 工时统计 +- 工时校验 +- 工时编辑 +- 加急件 +- 拣配任务 +- 班次管理 +- 过程异常管控 + +核心数据: + +- `MES_接口_生产计划` +- `MES_接口_生产计划_生产任务` +- `YL_加工中心_操作记录表` +- `YL_加工中心_报工记录` +- `生产管理_工时校验_校验工时表` +- `班次表` +- `班次人员绑定表` +- `设备信息缓存表` +- `View_生产工时视图` +- `View_校验后的生产工时` +- `View_外协报表视图` + +功能: + +- 现场开工、暂停、继续、报工、送检、完工。 +- 工位/人员/任务绑定。 +- 外协发料、收料、打印、备注、历史和质检记录。 +- 工时校验、批量校验、异常工时录入。 +- 加急、拣配、任务跟踪和汇总。 + +### 4.5 质量管理 + +页面: + +- 质量中心 +- 质检明细 +- 检验标准 +- 不合格品处置 +- 来料检验 +- 序检收检 +- 终检 +- 销售退货检 +- 其他入库检验 +- 原材料退库检验 + +核心数据: + +- `YL_质量检验_质检记录` +- `YL_质量检验_检测标准` +- `YL_质量检验_量具信息` +- `YL_质量检验_质检记录_检测零件` +- `YL_质量检验_质检记录_检测数据` +- `YL_质量检验_不合格品处理` +- `质量检验_质检任务_SAP` +- `View_质检明细` +- `View_质量检验_质检记录` +- `View_终检状态` + +功能: + +- 质检任务查询和处理。 +- 检测标准维护。 +- 多零件、多项目检测数据记录。 +- 合格、不合格、让步放行、报废统计。 +- 不合格品处理流程。 +- 与 SAP B1/TM 接口协同。 + +### 4.6 设备管理 + +页面: + +- 设备信息 +- 设备实时数据 +- 设备历史数据 +- 设备状态 + +核心数据: + +- `YL_设备管理_设备台账` +- `YL_设备管理_维修记录` +- `YL_设备管理_工时记录` +- `历史_工位设备状态每分钟记录` +- `历史_设备数据_定时` +- `CaChe_Var` +- `报警_记录_历史` +- `报警_记录_历史_缓存` + +功能: + +- 设备台账维护。 +- 设备运行状态和历史采集数据查询。 +- 报警、缓存变量、OEE/状态看板支撑。 + +## 5. 数据库结构 + +### 5.1 表清单 + +更新后的 `script.sql` 包含 50 张表: + +- `_日志` +- `Attachments` +- `BOM数据` +- `CaChe_Var` +- `MES_接口_工艺路线主数据` +- `MES_接口_生产计划` +- `MES_接口_生产计划_生产任务` +- `MES_资源主数据` +- `YL_基础表_数据字典` +- `YL_加工中心_报工记录` +- `YL_加工中心_操作记录表` +- `YL_设备管理_工时记录` +- `YL_设备管理_设备台账` +- `YL_设备管理_维修记录` +- `YL_质量检验_不合格品处理` +- `YL_质量检验_不合格品处理_处理节点` +- `YL_质量检验_检测标准` +- `YL_质量检验_量具信息` +- `YL_质量检验_质检记录` +- `YL_质量检验_质检记录_检测零件` +- `YL_质量检验_质检记录_检测数据` +- `班次表` +- `班次人员绑定表` +- `报警_记录_历史` +- `报警_记录_历史_缓存` +- `车间生产管理工艺_零件工序_工艺库` +- `车间生产管理工艺_零件生产工艺_工艺库` +- `登录基础数据_部门` +- `登录基础数据_二级菜单` +- `登录基础数据_角色信息` +- `登录基础数据_人员权限角色` +- `登录基础数据_人员信息` +- `工位人员绑定表` +- `基础表_工序` +- `基础数据_设备工位点检表` +- `记录_日志_项目运行日志` +- `历史_工位设备状态每分钟记录` +- `历史_设备数据_定时` +- `流程表` +- `流程节点表` +- `流程完成记录表` +- `流程转办表` +- `设备信息缓存表` +- `审批记录表` +- `生产管理_工时校验_校验工时表` +- `物料基础数据_工艺图纸` +- `物料基础数据_零件图纸` +- `物料基础数据_零件图纸删除记录` +- `物料数据` +- `质量检验_质检任务_SAP` + +### 5.2 视图清单 + +更新后的 `script.sql` 包含 26 个视图: + +- `v_CurrentProductionStatus` +- `View_报工人员` +- `View_标准工艺视图` +- `View_工位人员绑定数` +- `View_基础数据_工位` +- `View_设备工位人员` +- `View_生产订单_MES` +- `View_生产订单Temp_ERP` +- `View_生产订单全部(包括已关闭)` +- `View_生产订单完工` +- `View_生产工时视图` +- `View_生产工艺视图` +- `View_生产计划零件图纸视图` +- `View_图纸视图` +- `View_外协报表视图` +- `View_外协质检` +- `View_校验后的生产工时` +- `View_账号权限信息` +- `View_质检明细` +- `View_质量检验_不合格品处理` +- `View_质量检验_质检记录` +- `View_质量检验_质检记录_外协收检` +- `View_终检状态` +- `View_装配信息` +- `登录基础数据_管理人员权限视图` +- `计划任务视图` + +### 5.3 存储过程分布 + +| 前缀/业务域 | 数量 | +| --- | ---: | +| `MES_` | 70 | +| `生产管理_` | 39 | +| `工艺管理_` | 38 | +| `质量管理_` | 21 | +| `工时...` | 20 | +| `计划排产_` | 17 | +| `sp_` 审批/流程/分页类 | 13 | +| `看板_` 旧版综合看板 | 11 | +| `设备管理_` | 10 | +| `Event_` 采集/报警/日志事件 | 10 | +| `机加设备生产运营看板_` | 9 | +| `菜单...` | 9 | +| `人员管理_` | 7 | +| `usp_` 工时计算/校验辅助 | 7 | +| `装配中心任务看板_` | 7 | +| `生产任务综合看板_` | 6 | +| `质量任务看板_` | 4 | +| `TV_` | 3 | +| `WEB_` | 2 | +| 其他 | 42 | + +### 5.4 看板过程清单 + +旧版综合看板: + +- `看板_主页六个关键数据_查询` +- `看板_左上订单看板_表格_查询` +- `看板_左上计划执行情况_曲线_查询` +- `看板_左中装配看板_表格_查询` +- `看板_左下未完成看板_表格_查询` +- `看板_右上合同看板_表格_查询` +- `看板_右下质量看板_表格_查询` +- `看板_右下质量看板_饼图_查询` +- `看板_中间主体订单_表格_查询` +- `看板_中间主体订单详情_表格_查询` +- `看板_中间实时OEE数据展示_查询` + +机加设备生产运营看板: + +- `机加设备生产运营看板_设备任务查询` +- `机加设备生产运营看板_不良品查询` +- `机加设备生产运营看板_当天已完成明细` +- `机加设备生产运营看板_设备运行状态查询` +- `机加设备生产运营看板_未及时开工查询` +- `机加设备生产运营看板_计划执行率` +- `机加设备生产运营看板_加急任务查询` +- `机加设备生产运营看板_机加在制查询` +- `机加设备生产运营看板_机加在制查询2` + +生产任务综合看板: + +- `生产任务综合看板_按期齐套率` +- `生产任务综合看板_未排产无工艺查询` +- `生产任务综合看板_加急任务查询` +- `生产任务综合看板_未及时开工查询` +- `生产任务综合看板_未及时开工查询_Count` +- `生产任务综合看板_未按期齐套任务` + +装配中心任务看板: + +- `装配中心任务看板_异常未关闭总数` +- `装配中心任务看板_发货状态查询` +- `装配中心任务看板_在制品缺件查询` +- `装配中心任务看板_加急任务总数查询` +- `装配中心任务看板_装配任务查询` +- `装配中心任务看板_装配合格率` +- `装配中心任务看板_已完成任务` + +质量任务看板: + +- `质量任务看板_未完成统计` +- `质量任务看板_未完成明细查询` +- `质量任务看板_当天已完成汇总` +- `质量任务看板_当天已完成明细` + +TV/设备看板: + +- `TV_视图看板_查询` +- `TV_视图看板2楼_查询` +- `TV_视图看板仓库_查询` +- `设备管理_设备状态_查询` +- `Event_CaChe_Var_看板查询` + +本轮核对结果:看板端 36 个关键调用过程在更新后的 `script.sql` 中全部存在。 + +## 6. 核心业务数据流 + +### 6.1 计划到执行 + +```text +SAP/ERP 生产计划 + -> MES_接口_生产计划 + -> MES_接口_生产计划_生产任务 + -> 工艺维护/生产工艺下发 + -> 计划排产/派工 + -> 加工中心/装配中心执行 + -> 报工/质检/入库/订单关闭 +``` + +关键字段: + +- `订单编号` +- `合同号` +- `计划号` +- `TaskAID` +- `阶段标识` +- `工序名称` +- `指派对象` +- `计划开始时间` +- `计划完成时间` +- `任务状态` +- `完成数量` +- `合格数量` +- `不合格数量` + +### 6.2 工艺到任务 + +```text +基础表_工序 + -> 标准工艺库 + -> 生产工艺库 + -> 生产订单工艺任务下发 + -> MES_接口_生产计划_生产任务 +``` + +关键表: + +- `基础表_工序` +- `车间生产管理工艺_零件工序_工艺库` +- `车间生产管理工艺_零件生产工艺_工艺库` + +### 6.3 生产工时 + +```text +现场开工/暂停/继续/报工 + -> YL_加工中心_操作记录表 + -> YL_加工中心_报工记录 + -> 工时校验 + -> 生产管理_工时校验_校验工时表 + -> 工时统计/导出/上传 +``` + +关键过程: + +- `usp_ValidateWorkTime` +- `usp_BatchValidateWorkTime` +- `usp_CalculateShiftTime` +- `usp_CalculateUploadMinutes` +- `工时统计_任务工时_查询` +- `工时统计_设备工时_查询` +- `工时统计_项目工时_查询` +- `工时统计_作业者工时_查询` + +### 6.4 质量检验 + +```text +生产任务/质检任务 + -> YL_质量检验_质检记录 + -> YL_质量检验_质检记录_检测零件 + -> YL_质量检验_质检记录_检测数据 + -> 合格/不合格/让步/报废 + -> 不合格品处置或 SAP/TM 回写 +``` + +关键表: + +- `YL_质量检验_检测标准` +- `YL_质量检验_质检记录` +- `YL_质量检验_质检记录_检测零件` +- `YL_质量检验_质检记录_检测数据` +- `质量检验_质检任务_SAP` + +### 6.5 看板数据流 + +```text +MES 主业务表/视图 + -> 看板专用存储过程 + -> MESCommonBase.ashx + -> Vue2/Vue3 看板定时刷新 + -> 大屏指标、滚动表格、图表 +``` + +看板常用数据来源: + +- `View_生产订单_MES` +- `View_生产工时视图` +- `View_生产工艺视图` +- `View_质检明细` +- `v_CurrentProductionStatus` +- `MES_接口_生产计划` +- `MES_接口_生产计划_生产任务` +- `YL_加工中心_操作记录表` +- `YL_质量检验_质检记录` +- `历史_设备数据_定时` +- `CaChe_Var` + +## 7. 主系统与看板关系 + +| 维度 | 主系统 | 看板端 | +| --- | --- | --- | +| 主要使用者 | 计划、工艺、生产、质检、设备、管理员 | 车间、管理层、现场展示屏 | +| 操作方式 | 表单、表格、弹窗、日历、文件上传下载 | 只读大屏、自动刷新、滚动列表、图表 | +| 技术栈 | Vue2 + Webpack + Element UI | Vue2/Webpack/DataV 或 Vue3/Vite/Element Plus/TDesign | +| 接口 | `window.dt_Config.serverAddress` | `window.g.API_WEB_URL` 或 `window.ConnectConfig.url2` | +| 数据协议 | `CreateData + ExecDatabase` | 同协议或简化封装 | +| 主要过程 | 计划/生产/质量/设备/系统管理过程 | `看板_*`、`*_任务看板_*`、`机加设备生产运营看板_*` | +| 数据权限 | 登录、角色、动态菜单 | 多数看板不走完整登录权限,直接读接口 | + +## 8. 当前风险与问题 + +1. 主系统仍有 16 个前端调用过程未包含在当前 `script.sql` + +缺失清单: + +- `Prog_MES_SingleTaskPlanned` +- `WEB_报警查询_未读报警记录_查询` +- `WEB_报警查询_未读报警记录_未读条数查询` +- `WEB_基本表_产品结构_查询` +- `WEB_基本表_产品结构_删除` +- `WEB_基本表_产品结构_新增` +- `WEB_基本表_产品结构_修改` +- `WEB_人员设备查看权限_查询` +- `WEB_人员设备查看权限_权限切换` +- `WEB_人员摄像头查看权限_权限切换` +- `WEB_摄像头查看权限_查询` +- `产品关系_变更节点排序` +- `登录基础数据_人员信息_切换是否用户` +- `点检类型_查询` +- `工艺名称_查询` +- `设备管理_设备信息_验证工位号是否重复` + +2. 看板 SQL 已补齐,但刷新压力要评估 + +新版看板多数 5 秒刷新一次。如果多个大屏同时打开,`MESCommonBase.ashx` 和 SQL Server 会承受周期性查询压力。看板过程应避免重 JOIN、避免全表扫描,必要时用缓存表或汇总表。 + +3. `TableTV` 配置与实现不一致 + +`public/config.js` 配置了 `TV_SQL: 'TV_视图看板_查询'`,但当前页面直接调用 `设备管理_设备状态_查询`。如果希望“一套 TableTV 通过配置切换不同 SQL”,需要修正实现。 + +4. 编码问题仍然存在 + +主系统和旧版 `board_view` 中大量中文在默认 PowerShell 输出为乱码。用 `-Encoding UTF8` 可正常读取部分文件,但历史文件可能混有不同编码。维护过程名和中文字段时要格外谨慎。 + +5. 认证与权限边界薄弱 + +主系统 Cookie 中的 `Admin-Token` 更像角色编号;新版看板多数直接读接口,不走完整登录权限。如果看板部署在内网之外,需要后端加白名单、token 或网关控制。 + +6. 多项目重复代码明显 + +多个 Vite 看板项目复制了相同的: + +- `src/utils/request.js` +- `src/utils/curd.js` +- `src/utils/curdVue3.js` +- `src/router` +- `src/store` +- 静态资源和配置结构 + +后续维护时容易出现一个看板修了协议,其他看板未同步的问题。 + +7. 主系统超时时间过长,看板超时时间偏短 + +- 主系统:1500000ms,约 25 分钟。 +- 新版看板:5000ms,约 5 秒。 + +建议对接口分层配置:普通业务、导出、看板查询分别设置合理超时。 + +## 9. 建议技术路线 + +### 9.1 短期 + +- 以更新后的 `script.sql` 为基础,补齐主系统缺失的 16 个过程。 +- 为看板过程建立清单和刷新频率表,确认每个过程的平均耗时。 +- 修正 `TableTV` 的 `TV_SQL` 未生效问题,或者删除无效配置避免误导。 +- 保留当前 `.ashx + 存储过程` 架构,先稳定生产。 +- 将看板项目部署说明补全:端口、访问路径、`public/config.js`、构建命令、后端地址。 + +### 9.2 中期 + +- 抽取 Vue3 看板公共模板,统一 `request/curdVue3/router/store`。 +- 对看板 SQL 建立缓存或中间汇总表,降低实时查询压力。 +- 主系统建立“页面-过程-表/视图”映射文档,优先覆盖加工中心、质量中心、外协、工时校验、排产。 +- 对 `.ashx` 返回结构、错误码、超时、登录失效做统一拦截。 +- 清理乱码和历史备份文件,确认源码统一 UTF-8。 + +### 9.3 长期 + +- 后端从“前端直接传过程名”逐步演进为明确业务 API。 +- 建立数据库版本管理机制,按版本维护增量 SQL 和回滚脚本。 +- 看板数据进入独立只读 API 或缓存服务,避免大屏直接冲击业务库。 +- SAP B1、TM、设备/PLC 接口统一收敛到后端服务层。 +- 建立权限模型:主系统、看板、设备接口分层授权。 + +## 10. 接手排查路径 + +主系统页面问题: + +1. 找页面:`MES_Manage_View_V20/src/views/<模块>/<页面>/index.vue` +2. 搜索 `CreateData(`,确认存储过程名。 +3. 在 `script.sql` 搜索该过程。 +4. 检查过程返回列名是否与前端表格字段一致。 +5. 检查 `static/config.js` 服务地址。 + +看板页面问题: + +1. 找同级看板目录。 +2. 查看 `public/config.js` 或 `static/config.js`。 +3. 搜索 `queryDashboardData(`、`CreateData(`、`ExecDatabaseByParam(`。 +4. 在 `script.sql` 中定位对应看板过程。 +5. 检查过程耗时、返回字段、刷新频率。 +6. 若是 `TableTV`,注意当前代码没有使用 `TV_SQL`。 + +数据库问题: + +1. 先确认 `script.sql` 版本。 +2. 看过程是否存在。 +3. 看过程依赖的视图和表是否存在。 +4. 看字段名是否与前端一致。 +5. 看看板过程是否有全表扫描或复杂排序。 + + diff --git a/script.sql b/script.sql deleted file mode 100644 index 536fd83..0000000 Binary files a/script.sql and /dev/null differ diff --git a/src/views/AnomalousManagement/AssemblyPunctualInspection/index.vue b/src/views/AnomalousManagement/AssemblyPunctualInspection/index.vue new file mode 100644 index 0000000..3c65fa6 --- /dev/null +++ b/src/views/AnomalousManagement/AssemblyPunctualInspection/index.vue @@ -0,0 +1,267 @@ + + + + + diff --git a/src/views/AnomalousManagement/OutPunctualWork/index.vue b/src/views/AnomalousManagement/OutPunctualWork/index.vue new file mode 100644 index 0000000..d64f150 --- /dev/null +++ b/src/views/AnomalousManagement/OutPunctualWork/index.vue @@ -0,0 +1,489 @@ + + + + \ No newline at end of file diff --git a/src/views/AnomalousManagement/PunctualWork/index.vue b/src/views/AnomalousManagement/PunctualWork/index.vue index 4819aa5..8e722c5 100644 --- a/src/views/AnomalousManagement/PunctualWork/index.vue +++ b/src/views/AnomalousManagement/PunctualWork/index.vue @@ -64,6 +64,14 @@ + + +
+ +
+ 生产订单: + + 销售订单: + + 产品编码: + + 计划号: + + 自制件属性: + + + + + + + + 外协状态: + + + + + + + + 加急状态: + + + + + + 单据状态: + + + + + + + + 查询 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ 生产订单 + + + +
+
+ 加急数量 + + + +
+
+ 物料编号 + + + +
+
+
+
+ +
+
+ + + + + diff --git a/src/views/DeviceManagement/DeviceRealData/index.vue b/src/views/DeviceManagement/DeviceRealData/index.vue index 8c1c5c6..bed5a0b 100644 --- a/src/views/DeviceManagement/DeviceRealData/index.vue +++ b/src/views/DeviceManagement/DeviceRealData/index.vue @@ -18,7 +18,7 @@ />    设备: - + @@ -53,7 +53,7 @@
-
+
- + - - +
+ 订单编号: + + 查询 + + + + + + + + + + + + + + +
+ +
+
+ + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -120,6 +221,7 @@ export default { completionTime: [], routineCheckType: [], dataType: 0, + orderNo: '', loading: false, dialogFormVisible: false, title: '', @@ -146,6 +248,7 @@ export default { 设备类型: [{ required: true, message: '请选择' }] }, original: '', + currentRow: null, total: 0, // 分页总数 tableData: [], // 设备信息表 tableData1: [], // 设备信息表 @@ -274,16 +377,31 @@ export default { this.loading = true this.tableData1 = [] this.dataType = row.数据类型 + this.currentRow = row var param = [] + param.push(['PageCurrent', this.pageCurrent]) + param.push(['PageSize', this.pageSize]) + param.push(['PageCount', '1111', 'int', '1']) + param.push(['ItemCount', '1111', 'int', '1']) param.push(['开始时间', this.completionTime[0]]) param.push(['结束时间', this.completionTime[1]]) param.push(['设备名称', this.equipmentType]) param.push(['参数名称', row.参数名称]) param.push(['数据类型', row.数据类型]) + param.push(['订单编号', this.orderNo]) var Data = this.CreateData('11', '设备管理_设备数据_统计数据查询_通过类型', param) this.ExecDatabase(Data).then(response => { this.loading = false - this.tableData1 = row.数据类型 === 1 ? this.mergeContinuousStatus(response.data) : response.data + console.log(response.data) + if (row.数据类型 === 1) { + this.tableData1 = this.mergeContinuousStatus(response.data.result) + } else if (row.数据类型 === 2) { + this.tableData1 = response.data.result + this.total = parseInt(response.data.output[0].ItemCount) + } else { + this.tableData1 = response.data.result + } + // this.tableData = response.data.result // this.total = parseInt(response.data.output[0].ItemCount) }).catch(() => { @@ -293,11 +411,11 @@ export default { handleSizeChanges(val) { this.pageCurrent = 1 this.pageSize = val - this.searchTable() + this.handleSearch(this.currentRow) }, handleCurrentChanges(val) { this.pageCurrent = val - this.searchTable() + this.handleSearch(this.currentRow) } } } diff --git a/src/views/PlanManagement/InstallMakePlanDone/index.vue b/src/views/PlanManagement/InstallMakePlanDone/index.vue new file mode 100644 index 0000000..2509561 --- /dev/null +++ b/src/views/PlanManagement/InstallMakePlanDone/index.vue @@ -0,0 +1,1394 @@ + + + + + + diff --git a/src/views/PlanManagement/SelfMakePlando/index.vue b/src/views/PlanManagement/SelfMakePlando/index.vue index 3a1d99d..d69c6cd 100644 --- a/src/views/PlanManagement/SelfMakePlando/index.vue +++ b/src/views/PlanManagement/SelfMakePlando/index.vue @@ -213,7 +213,7 @@
- + @@ -221,6 +221,8 @@ 编辑 + + - - + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/PlanManagement/ValueInstallTask/index.vue b/src/views/PlanManagement/ValueInstallTask/index.vue new file mode 100644 index 0000000..8208882 --- /dev/null +++ b/src/views/PlanManagement/ValueInstallTask/index.vue @@ -0,0 +1,1534 @@ + + + + + + diff --git a/src/views/PlanManagement/WorkstationPlan/index.vue b/src/views/PlanManagement/WorkstationPlan/index.vue new file mode 100644 index 0000000..80847ac --- /dev/null +++ b/src/views/PlanManagement/WorkstationPlan/index.vue @@ -0,0 +1,1678 @@ + + + + + + diff --git a/src/views/ProcessManagement/ProcessProduct/index.vue b/src/views/ProcessManagement/ProcessProduct/index.vue index 70b23c2..2bc36c8 100644 --- a/src/views/ProcessManagement/ProcessProduct/index.vue +++ b/src/views/ProcessManagement/ProcessProduct/index.vue @@ -734,6 +734,7 @@ export default { var orderids = [] var ordernums = [] var orderitems = [] + multipleSelection.forEach(item => { if(item.标准工艺 == 1 & item.生产工艺 !=1 ){ orderids.push(item.订单编号) @@ -749,7 +750,7 @@ export default { param.push(['订单编号',orderids]) param.push(['零件图号',orderitems]) param.push(['计划数量',ordernums]) - + console.log(param) var Data = this.CreateData('12', '工艺管理_零件工序_生产工艺_批量生成生产工艺', param) this.ExecDatabase(Data).then(response => { this.searchTable() @@ -1141,6 +1142,7 @@ export default { this.ExecDatabase(Data1).then(response => { param1[0] = ['物料编号', this.selectedRow.物料编号] param1[1] = ['订单编号', this.selectedRow.订单编号] + this.$message.success('操作成功') // 参数数量与名称要与存储过程对应 // var Data3 = this.CreateData('11', '工艺管理_生产工艺_查询生产工艺', param1) // this.ExecDatabase(Data3).then(response => { diff --git a/src/views/ProcessManagement/ProcessesDevelop/index.vue b/src/views/ProcessManagement/ProcessesDevelop/index.vue index 7fddedb..1e3d99c 100644 --- a/src/views/ProcessManagement/ProcessesDevelop/index.vue +++ b/src/views/ProcessManagement/ProcessesDevelop/index.vue @@ -796,6 +796,7 @@ export default { this.ExecDatabase(Data1).then(response => { var param3 = [] param3[0] = ['物料编号', this.partNameValue3] + this.$message.success('保存成功') // 参数数量与名称要与存储过程对应 // var Data3 = this.CreateData('11', '车间生产管理工艺_零件工序_查询工序信息_工艺库', param3) // this.ExecDatabase(Data3).then(response => { diff --git a/src/views/ProductionManagement/AGVtask/index.vue b/src/views/ProductionManagement/AGVtask/index.vue new file mode 100644 index 0000000..7b1a245 --- /dev/null +++ b/src/views/ProductionManagement/AGVtask/index.vue @@ -0,0 +1,1057 @@ +\ + + + + diff --git a/src/views/ProductionManagement/AssemblyCenter/index.vue b/src/views/ProductionManagement/AssemblyCenter/index.vue index 80343ff..1b51e02 100644 --- a/src/views/ProductionManagement/AssemblyCenter/index.vue +++ b/src/views/ProductionManagement/AssemblyCenter/index.vue @@ -43,6 +43,13 @@ clearable style="width: 150px; margin-right: 10px" /> + 物料名称: + 查询 @@ -48,6 +54,7 @@ + - + @@ -142,7 +149,12 @@ - + + + + 1 ? date.split(' ')[0] : date }, + formatProcessRouteDate(date) { + const formattedDate = this.formatDate(date) + const match = formattedDate.match(/^(\d{4})-(\d{2})-(\d{2})$/) + return match ? `${match[2]}-${match[3]}` : formattedDate + }, + toProcessNumber(value) { + const num = Number(value) + return Number.isFinite(num) ? num : 0 + }, + escapeProcessHtml(value) { + return String(value == null ? '' : value) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, ''') + }, + isOutsourceProcess(process) { + return process.指派对象 === '外协' || + String(process.工序名称 || '').includes('(外协)') || + String(process.工序名称 || '').includes('(外协)') + }, + getProcessStatusNum(status) { + const statusNum = parseInt(status) + if (Number.isFinite(statusNum)) { + return statusNum + } + + const statusMap = { + 辅助开始: 2, + 辅助结束: 3, + 开始加工: 4, + 暂停: 5, + 报工: 6, + 装配加工: 4 + } + return statusMap[status] || 0 + }, + isBlueProcess(process) { + const statusNum = this.getProcessStatusNum(process.加工状态) + const countNum = parseInt(process.收检合格数) + return statusNum === 6 || statusNum === 3 || countNum > 0 + }, + isGreenProcess(process) { + return this.isOutsourceProcess(process) && + this.toProcessNumber(process.收料数量) > this.toProcessNumber(process.收检合格数) + this.toProcessNumber(process.收检不合格数) + }, + getProcessBaseClass(process) { + if (this.isGreenProcess(process)) { + return 'process-route-green' + } + + if (this.isBlueProcess(process)) { + return 'process-route-blue' + } + + const statusNum = this.getProcessStatusNum(process.加工状态) + if (statusNum === 2 || statusNum === 4) { + return 'process-route-green' + } + + return 'process-route-red' + }, + getOutsourceGroupClassState(processes) { + const classes = new Map() + let currentIndexes = [] + let lastProcess = null + + const flushOutsourceRun = () => { + if (currentIndexes.length > 0 && lastProcess) { + const className = this.getProcessBaseClass(lastProcess) + currentIndexes.forEach(index => classes.set(index, className)) + } + currentIndexes = [] + lastProcess = null + } + + const isSameContinuousGroup = process => { + if (!lastProcess) { + return true + } + const lineNo = this.toProcessNumber(process.订单行号) + const lastLineNo = this.toProcessNumber(lastProcess.订单行号) + return lineNo === lastLineNo + 1 && + String(process.外协分组 || '') === String(lastProcess.外协分组 || '') + } + + processes.forEach((process, index) => { + if (!this.isOutsourceProcess(process)) { + flushOutsourceRun() + return + } + if (!isSameContinuousGroup(process)) { + flushOutsourceRun() + } + currentIndexes.push(index) + lastProcess = process + }) + flushOutsourceRun() + + return classes + }, + getProcessClass(process, index, outsourceGroupClasses) { + if (this.isOutsourceProcess(process)) { + return outsourceGroupClasses.get(index) || this.getProcessBaseClass(process) + } + return this.getProcessBaseClass(process) + }, + getProcessRouteName(process) { + const name = String(process.工序名称 || '') + const assignee = String(process.指派对象 || '') + if (!assignee || name.includes(`(${assignee})`) || name.includes(`(${assignee})`)) { + return name + } + return `${name}(${assignee})` + }, + getRouteProcesses(row) { + if (Array.isArray(row.子数据) && row.子数据.length > 0) { + return row.子数据 + } + + return String(row.工艺路线 || '') + .split(',') + .map(name => name.trim()) + .filter(Boolean) + .map(name => ({ + 工序名称: name, + 加工状态: 0, + 收检合格数: 0, + 计划开始时间: '', + 指派对象: '', + 订单行号: 0, + 收料数量: 0, + 收检不合格数: 0 + })) + }, + formatProcessRoute(row) { + const processes = this.getRouteProcesses(row) + if (processes.length === 0) { + return '' + } + + const outsourceGroupClasses = this.getOutsourceGroupClassState(processes) + const maxPerRow = 8 + const rows = Math.ceil(processes.length / maxPerRow) + let tableHtml = '
' + + for (let rowIndex = 0; rowIndex < rows; rowIndex++) { + const startIndex = rowIndex * maxPerRow + const endIndex = Math.min(startIndex + maxPerRow, processes.length) + const rowProcesses = processes.slice(startIndex, endIndex) + + if (rowIndex > 0) { + tableHtml += '' + } + + tableHtml += '' + rowProcesses.forEach((process, index) => { + const className = this.getProcessClass(process, startIndex + index, outsourceGroupClasses) + const planDate = this.formatProcessRouteDate(process.计划开始时间 || process.计划完成时间 || '') + tableHtml += `` + if (index < rowProcesses.length - 1) { + tableHtml += '' + } + }) + tableHtml += '' + + tableHtml += '' + rowProcesses.forEach((process, index) => { + const className = this.getProcessClass(process, startIndex + index, outsourceGroupClasses) + const name = this.getProcessRouteName(process) + tableHtml += `` + if (index < rowProcesses.length - 1) { + tableHtml += '' + } + }) + tableHtml += '' + + tableHtml += '' + rowProcesses.forEach((process, index) => { + const className = this.getProcessClass(process, startIndex + index, outsourceGroupClasses) + const count = this.toProcessNumber(process.收检合格数) + tableHtml += `` + if (index < rowProcesses.length - 1) { + tableHtml += '' + } + }) + tableHtml += '' + } + + tableHtml += '
${this.escapeProcessHtml(planDate)}
${this.escapeProcessHtml(name)}
合格${this.escapeProcessHtml(count)}
' + return tableHtml + }, mergeOrderData(dataList) { // 第一步:先按照订单行号对原始数据进行排序 const sortedDataList = [...dataList].sort((a, b) => { @@ -307,6 +513,7 @@ export default { 进度: item.进度, 拆分内码: item.拆分内码, 计划数量: item.计划数量, + 标准工时: item.标准工时, 开工时间: item.开工时间, 完成数量: item.完成数量, 收料数量: item.收料数量, @@ -322,7 +529,8 @@ export default { 订单行号: item.订单行号, 加急总数:item.加急总数, 外协结束时间:item.外协结束时间, - 开始时间:item.开始时间 + 开始时间:item.开始时间, + 外协分组: item.外协分组 }] }) } else { @@ -345,6 +553,7 @@ export default { 进度: item.进度, 拆分内码: item.拆分内码, 计划数量: item.计划数量, + 标准工时: item.标准工时, 开工时间: item.开工时间, 完成数量: item.完成数量, 收料数量: item.收料数量, @@ -362,6 +571,7 @@ export default { 开始时间:item.开始时间, 结束时间:item.结束时间, 外协结束时间:item.外协结束时间, + 外协分组: item.外协分组 }) // 对子数据按照订单行号排序 @@ -477,6 +687,7 @@ export default { param.push(['指派对象', '全部']) param.push(['计划号', this.plannum]) param.push(['加急状态', this.urgentStatus]) + param.push(['单据状态', this.orderStatus]) // // 添加外协状态过滤条件 // if (this.outsourceStatus !== '全部') { // param.push(['是否外协', this.outsourceStatus === '是' ? 1 : 0]) @@ -606,6 +817,78 @@ export default { width: 120px; display: inline-flex; } + +.process-route { + line-height: 1.4; + white-space: normal; + word-break: break-all; +} + +::v-deep .process-route-wrap { + width: 100%; + text-align: left; +} + +::v-deep .process-route-table { + width: auto; + border-collapse: collapse; + text-align: left; + table-layout: auto; +} + +::v-deep .process-route-table td { + text-align: left; + padding: 2px 2px; + font-size: 11px; + white-space: nowrap; + line-height: 1.4; +} + +::v-deep .process-route-date { + font-size: 10px !important; + color: #8899aa !important; + padding: 2px 2px !important; +} + +::v-deep .process-route-count { + font-weight: 700; + font-size: 12px !important; +} + +::v-deep .process-route-spacer td { + height: 4px; + padding: 0 !important; + line-height: 1 !important; +} + +::v-deep .process-route-green { + color: #28d961; + font-weight: 700; +} + +::v-deep .process-route-blue { + color: #09a8ff; + font-weight: 700; +} + +::v-deep .process-route-red { + color: #ff3f37; + font-weight: 700; +} + +::v-deep .process-route-arrow { + color: rgba(0, 164, 255, 0.6) !important; + font-size: 10px !important; + padding: 2px 0 !important; + width: 8px; + text-align: center !important; +} + +::v-deep .process-route-arrow-hidden { + padding: 2px 0 !important; + width: 8px; +} + .search-container { margin-bottom: 20px; } @@ -679,4 +962,7 @@ export default { display: flex; align-items: center; } - \ No newline at end of file +.el-table tr{ + background-color: initial; +} + diff --git a/src/views/ProductionManagement/SaleOutsourceMange/index.vue b/src/views/ProductionManagement/SaleOutsourceMange/index.vue index 763ad37..a217a25 100644 --- a/src/views/ProductionManagement/SaleOutsourceMange/index.vue +++ b/src/views/ProductionManagement/SaleOutsourceMange/index.vue @@ -97,6 +97,7 @@ @row-click="handleRowClick"> + diff --git a/src/views/ProductionManagement/Timesheet/index.vue b/src/views/ProductionManagement/Timesheet/index.vue index c59b701..29e46c8 100644 --- a/src/views/ProductionManagement/Timesheet/index.vue +++ b/src/views/ProductionManagement/Timesheet/index.vue @@ -12,6 +12,21 @@ 订单号: + 工时类型: + + + + + + + + + + + + + + 报工开始日期: + + + + + + + + + + + + + + + + + + + + - - + @@ -85,15 +129,9 @@ - - - - - + @@ -120,17 +158,7 @@ - - - - - - - - + + + + - + + + + + + + + + + + + - - - + + + + + + + + @@ -234,31 +290,32 @@ {{ scope.row.level === 1 ? scope.row.productName : '' }} - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + @@ -374,6 +480,13 @@ @@ -391,6 +504,7 @@ export default { productCode: '', processName: '', orderNo: '', + workHoursType: '', startDate: '', endDate: '' }, @@ -425,6 +539,19 @@ export default { return sum + (parseFloat(item.workHours) || 0) }, 0) return total.toFixed(1) + }, + currentWorkHoursTypeSummary() { + const summaryMap = new Map() + this.getCurrentSummaryItems().forEach(item => { + const type = this.getWorkHoursType(item) + const workHours = parseFloat(item.workHours) || 0 + summaryMap.set(type, (summaryMap.get(type) || 0) + workHours) + }) + + return Array.from(summaryMap, ([type, workHours]) => ({ + type, + workHours: workHours.toFixed(1) + })) } }, @@ -433,6 +560,29 @@ export default { }, methods: { + getWorkHoursType(row) { + return row.工时类型 || row.workType || row.WorkType || row.workHoursType || row.WorkHoursType || '未分类' + }, + getCurrentSummaryItems() { + const items = [] + if (this.activeTab === 'project') { + this.projectTableData.forEach(parent => { + items.push(...(parent.children || [])) + }) + } else if (this.activeTab === 'operator') { + this.operatorTableData.forEach(operator => { + ;(operator.children || []).forEach(date => { + items.push(...(date.children || [])) + }) + }) + } else if (this.activeTab === 'task') { + this.taskTableData.forEach(task => { + items.push(...(task.children || [])) + }) + } + + return items + }, handleSearch() { // 校验日期是否已选择 // if (!this.searchForm.startDate || !this.searchForm.endDate) { @@ -470,6 +620,7 @@ export default { ['产品编码', this.searchForm.productCode || ''], ['工序名称', this.searchForm.processName || ''], ['订单号', this.searchForm.orderNo || ''], + ['工时类型', this.searchForm.workHoursType || ''], ['开始日期', this.searchForm.startDate || ''], ['结束日期', this.searchForm.endDate || ''] ] @@ -510,13 +661,17 @@ export default { materialCode: row.materialCode, processName: row.processName, operator: row.operator, + 指派对象: row.指派对象, qty: row.qty, reportQty: row.reportQty, planStart: row.planStart, planEnd: row.planEnd, workHours: row.workHours, 订单号:row.订单号, - 操作类别 :row.操作类别 + 操作类别 :row.操作类别, + 工时类型: this.getWorkHoursType(row), + 计划数量: row.计划数量, + 工序说明: row.工序说明 }) } }) @@ -540,6 +695,7 @@ export default { ['产品编码', this.searchForm.productCode || ''], ['工序名称', this.searchForm.processName || ''], ['订单号', this.searchForm.orderNo || ''], + ['工时类型', this.searchForm.workHoursType || ''], ['开始日期', this.searchForm.startDate || ''], ['结束日期', this.searchForm.endDate || ''] ] @@ -613,6 +769,12 @@ export default { productCode: row.productCode, productName: row.productName, processName: row.processName, + 计划数量: row.计划数量, + 工序说明: row.工序说明, + 工时类型: this.getWorkHoursType(row), + 班次: row.班次, + 报工类型: row.报工类型, + 指派对象: row.指派对象, reportQty: row.reportQty, startTime: row.startTime, endTime: row.endTime, @@ -643,6 +805,7 @@ export default { ['产品编码', this.searchForm.productCode || ''], ['工序名称', this.searchForm.processName || ''], ['订单号', this.searchForm.orderNo || ''], + ['工时类型', this.searchForm.workHoursType || ''], ['开始日期', this.searchForm.startDate || ''], ['结束日期', this.searchForm.endDate || ''] ] @@ -661,7 +824,7 @@ export default { flatData.forEach((row, index) => { if (row.Level === 1) { - const key = `${row.contractNo}_${row.productCode}_${row.processName}` + const key = `${row.contractNo}_${row.orderNo}_${row.productCode}_${row.processName}_${this.getWorkHoursType(row)}_${row.操作类别 || ''}` level1Map.set(key, { id: `t-${index}`, level: 1, @@ -670,6 +833,9 @@ export default { productCode: row.productCode, productName: row.productName, processName: row.processName, + 计划数量: row.计划数量, + 工序说明: row.工序说明, + 工时类型: this.getWorkHoursType(row), qty: row.qty, reportQty: row.reportQty, workHours: row.workHours, @@ -680,9 +846,14 @@ export default { id: `t-${index}`, level: 2, contractNo: row.contractNo, + orderNo: row.orderNo, productCode: row.productCode, processName: row.processName, + 计划数量: row.计划数量, + 工序说明: row.工序说明, + 工时类型: this.getWorkHoursType(row), operator: row.operator, + 指派对象: row.指派对象, reportQty: row.reportQty, startTime: row.startTime, endTime: row.endTime, @@ -694,7 +865,7 @@ export default { // 12级关联 level2Items.forEach(item => { - const key = `${item.contractNo}_${item.productCode}_${item.processName}` + const key = `${item.contractNo}_${item.orderNo}_${item.productCode}_${item.processName}_${this.getWorkHoursType(item)}_${item.操作类别 || ''}` const parent = level1Map.get(key) if (parent) { parent.children.push(item) @@ -846,8 +1017,16 @@ export default { border-top: 1px solid #ebeef5; font-size: 13px; color: #606266; - height: 40px; + min-height: 40px; line-height: 20px; + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 8px 20px; +} + +.type-summary-item { + white-space: nowrap; } /* 调整展开图标 */ diff --git a/src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue b/src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue new file mode 100644 index 0000000..fae1714 --- /dev/null +++ b/src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue @@ -0,0 +1,1978 @@ + + + + + \ No newline at end of file diff --git a/src/views/ProductionManagement/WorkHoursCheck/index.vue b/src/views/ProductionManagement/WorkHoursCheck/index.vue index 70c126c..15a23e2 100644 --- a/src/views/ProductionManagement/WorkHoursCheck/index.vue +++ b/src/views/ProductionManagement/WorkHoursCheck/index.vue @@ -59,7 +59,10 @@ 查询 一键校验 - 直接校验 + 直接校验 @@ -230,11 +233,11 @@ @change="calculateWorkTime" /> - + @@ -728,6 +731,40 @@ async uploadToSAP(record, detail) { // ========== 9. 提交工时单据到SAP ========== if (params.length > 0) { + try { + await new Promise(resolve => setTimeout(resolve, 500)) + + const reorderResult = await getB1("/ProductionOrders", { + "$filter": `AbsoluteEntry eq ${record.订单编号}` + }) + + if (!reorderResult.success || !reorderResult.data?.value?.length) { + return { success: false, error: '重新获取生产订单失败' } + } + + const updatedOrder = reorderResult.data.value[0] + const lines = updatedOrder.ProductionOrderLines || [] + + lines.forEach(line => { + const matched = params.find(param => Number(line.LineNumber) === Number(param.BaseLine)) + if (matched) { + line.PlannedQuantity = Number(line.IssuedQuantity) + Number(matched.Quantity) + } + }) + + const patchResult = await patchB1(`ProductionOrders(${updatedOrder.AbsoluteEntry})`, { + ProductionOrderLines: lines, + ProductionOrdersStages: updatedOrder.ProductionOrdersStages || [] + }) + + if (!patchResult.success) { + this.$message.error(patchResult.message) + return { success: false, error: patchResult.message || '更新生产订单PlannedQuantity失败' } + } + } catch (reorderError) { + console.warn(`重新获取订单数据失败:`, reorderError) + return { success: false, error: reorderError.message || '更新生产订单PlannedQuantity异常' } + } try { const startDate = record.开始时间 ? record.开始时间.split(' ')[0] : this.currentdate const result = await postB1("/InventoryGenExits", { diff --git a/src/views/ProductionManagement/WorkhoursEdit/index.vue b/src/views/ProductionManagement/WorkhoursEdit/index.vue index d70fbbb..3f577bf 100644 --- a/src/views/ProductionManagement/WorkhoursEdit/index.vue +++ b/src/views/ProductionManagement/WorkhoursEdit/index.vue @@ -215,7 +215,7 @@ - + @@ -167,7 +193,8 @@ export default { PersonalName: '', account: '', password: '', - PersonalroleValue: '' + PersonalroleValue: '', + team:'' }, rules1: { PersonalName: [{ required: true, message: '请输入姓名', trigger: 'blur' }], @@ -179,7 +206,8 @@ export default { tableData: [], total: 0, // 总条数 pageSize: 10, // 每页显示条数 - pageList: 1 // 后台获取页 + pageList: 1, // 后台获取页 + team:'' } }, created() { @@ -251,7 +279,8 @@ export default { password: response.data.result[i].password, roles_number: parseInt(response.data.result[i].Roles_number), roles_function: response.data.result[i].Roles_Function, - isClient: response.data.result[i].isClient + isClient: response.data.result[i].isClient, + 班组:response.data.result[i].班组 }) } } @@ -270,6 +299,7 @@ export default { this.form1.account = row.account this.form1.password = row.password this.form1.PersonalroleValue = row.roles_number + this.form1.team = row.班组 this.title1 = '编辑人员' this.dialogFormVisible1 = true }, @@ -284,6 +314,7 @@ export default { param[2] = ['password', this.form1.password] param[3] = ['Personnel_Name', this.form1.PersonalName] param[4] = ['Roles_number', this.form1.PersonalroleValue] + param[5] = ['班组', this.form1.team] if (this.form1.account === '' || this.form1.account === null) { this.$message.error('请输入工号') } else if (this.form1.password === '' || this.form1.password === null) { diff --git a/work/ProcessManagement/ProcessProduct/01_模块总览框图.mmd b/work/ProcessManagement/ProcessProduct/01_模块总览框图.mmd new file mode 100644 index 0000000..22dc77e --- /dev/null +++ b/work/ProcessManagement/ProcessProduct/01_模块总览框图.mmd @@ -0,0 +1,68 @@ +flowchart TD + U[工艺员/技术人员] --> P[ProcessProduct/index.vue
生产工艺维护页面] + + subgraph UI[页面层] + Q[查询区
生产订单/销售订单/物料编码/物料名称/计划号
任务状态/属性/下达日期/工艺状态] + L[生产订单列表
多选/分页/状态灯/编辑工艺] + E[编辑生产工艺弹窗
原料信息/图纸/保存/下发/工序维护] + C[生产工艺拷贝弹窗
标准工艺或生产工艺来源预览] + PDF[图纸预览弹窗
零件图纸/工艺图纸 PDF] + end + + subgraph State[前端核心状态] + tableData[tableData
订单列表] + selectedRow[selectedRow
当前订单] + multipleSelection[multipleSelection
批量选中订单] + tableData5[tableData5
当前生产工艺明细] + tableData4[tableData4/filteredTableData4
工序基础库] + tableData6[tableData6
拷贝来源工艺预览] + basedata[basedatagj/basedatajc/basedatacj
量具/机床/车间] + insertidx[insertidx
插入占位行 id] + itemdata[itemdata
订单原料信息] + end + + subgraph API[后台过程] + A1[计划排产_生产订单_订单查询] + A2[工艺管理_生产工艺_查询生产工艺] + A3[MES_ProcessManagement_ProcessGet] + A4[设备管理_设备信息_查询] + A5[工艺管理_获取物料原料信息] + A6[工艺管理_零件工序_生产工艺_*
新增/编辑/插入/删除/上下移/批量生成] + A7[工艺管理_生产工艺_*
拷贝/启用/来源查询] + A8[计划排产_生产订单_订单任务_*
整套下发/单条下发] + A9[工艺管理_图纸维护_查看图纸
工艺管理_工艺维护_查看图纸] + A10[车间生产管理工艺_零件工序_保存为标准工艺] + end + + P --> Q + P --> L + P --> E + P --> C + P --> PDF + + Q -->|searchTable| A1 --> tableData --> L + L -->|row-click| selectedRow + L -->|selection-change| multipleSelection + L -->|编辑工艺 editProcess| E + + E -->|getitemdata| A5 --> itemdata + E -->|editProcesssearch| A2 --> tableData5 + E -->|getProcess| A3 --> tableData4 + E -->|getbasedata| A4 --> basedata + E -->|工序维护| A6 --> tableData5 + E -->|保存/启用| A7 + E -->|保存为标准工艺| A10 + E -->|下发任务| A8 + E -->|零件/工艺图纸| A9 --> PDF + + C -->|copyData/searchTable2/searchTable4| A7 --> tableData6 + C -->|submitCopy| A7 --> tableData5 + multipleSelection -->|AllProductProcess| A6 --> tableData + + classDef ui fill:#E8F3FF,stroke:#2B6CB0,color:#111; + classDef state fill:#FFF7E6,stroke:#C47F00,color:#111; + classDef api fill:#EAF8EA,stroke:#2F855A,color:#111; + class Q,L,E,C,PDF ui; + class tableData,selectedRow,multipleSelection,tableData5,tableData4,tableData6,basedata,insertidx,itemdata state; + class A1,A2,A3,A4,A5,A6,A7,A8,A9,A10 api; + diff --git a/work/ProcessManagement/ProcessProduct/01_模块总览框图.png b/work/ProcessManagement/ProcessProduct/01_模块总览框图.png new file mode 100644 index 0000000..5f04a2e Binary files /dev/null and b/work/ProcessManagement/ProcessProduct/01_模块总览框图.png differ diff --git a/work/ProcessManagement/ProcessProduct/02_编辑生产工艺详细流程.mmd b/work/ProcessManagement/ProcessProduct/02_编辑生产工艺详细流程.mmd new file mode 100644 index 0000000..fe932ba --- /dev/null +++ b/work/ProcessManagement/ProcessProduct/02_编辑生产工艺详细流程.mmd @@ -0,0 +1,56 @@ +flowchart TD + S[用户点击订单行: 编辑工艺] --> R1[建议先设置 selectedRow = row
当前源码依赖 row-click 已触发] + R1 --> D1[打开 dialogcasual
loading = true] + + D1 --> P1[getitemdata(row.订单编号)] + P1 --> SP1[工艺管理_获取物料原料信息] + SP1 --> F1{U_MoType == 机加件?} + F1 -->|是| M1[写入 itemdata
子件编码/名称/计划数量/材质/基本数量/存货量] + F1 -->|否| M0[过滤掉] + + D1 --> P2[editProcesssearch(row)] + P2 --> SP2[工艺管理_生产工艺_查询生产工艺
入参: 物料编号, 订单编号] + SP2 --> T5[tableData5 = 当前生产工艺明细] + + T5 --> P3[getProcess] + P3 --> SP3[MES_ProcessManagement_ProcessGet
入参: 工艺编号=''] + SP3 --> G1[tableData4/filteredTableData4
左侧工序基础库] + + T5 --> P4[getbasedata] + P4 --> SP4[设备管理_设备信息_查询] + SP4 --> B1{按设备类型名称分类} + B1 -->|量具| BJ[basedatagj
工装量具选项] + B1 -->|机床| BC[basedatajc
指定机床选项] + B1 -->|车间| BW[basedatacj
车间选项] + + T5 --> P5[fninsertidx] + P5 --> C1{存在空工艺名称行?} + C1 -->|是| I1[insertidx = 空行 id
左侧选工序时填入占位] + C1 -->|否| I0[insertidx 保持或为 0] + P5 --> C2{工卡量具/指定机床为逗号字符串?} + C2 -->|是| I2[split,map Number
转换为多选数组] + C2 -->|否| I3[保持原值] + + I1 --> READY[编辑弹窗可操作] + I0 --> READY + I2 --> READY + I3 --> READY + + READY --> OP1[查看图纸] + READY --> OP2[新增/插入/删除/排序工序] + READY --> OP3[编辑工时/设备/车间/属性/说明/备注] + READY --> OP4[保存/启用] + READY --> OP5[保存为标准工艺] + READY --> OP6[整套或单条下发任务] + + classDef start fill:#E8F3FF,stroke:#2B6CB0,color:#111; + classDef proc fill:#FFF7E6,stroke:#C47F00,color:#111; + classDef api fill:#EAF8EA,stroke:#2F855A,color:#111; + classDef decision fill:#F3E8FF,stroke:#6B46C1,color:#111; + classDef output fill:#F0FFF4,stroke:#38A169,color:#111; + class S,D1,READY start; + class P1,P2,P3,P4,P5,R1,OP1,OP2,OP3,OP4,OP5,OP6 proc; + class SP1,SP2,SP3,SP4 api; + class F1,B1,C1,C2 decision; + class M1,M0,T5,G1,BJ,BC,BW,I1,I0,I2,I3 output; + diff --git a/work/ProcessManagement/ProcessProduct/02_编辑生产工艺详细流程.png b/work/ProcessManagement/ProcessProduct/02_编辑生产工艺详细流程.png new file mode 100644 index 0000000..4a547ca Binary files /dev/null and b/work/ProcessManagement/ProcessProduct/02_编辑生产工艺详细流程.png differ diff --git a/work/ProcessManagement/ProcessProduct/03_工序维护与明细编辑流程.mmd b/work/ProcessManagement/ProcessProduct/03_工序维护与明细编辑流程.mmd new file mode 100644 index 0000000..e2de5c3 --- /dev/null +++ b/work/ProcessManagement/ProcessProduct/03_工序维护与明细编辑流程.mmd @@ -0,0 +1,53 @@ +flowchart TD + START[编辑生产工艺弹窗] --> LEFT[左侧工序基础库
filteredTableData4] + START --> RIGHT[右侧生产工艺明细
tableData5] + + LEFT --> SEARCH[输入 processSearchName] + SEARCH --> FILTER[filterProcess
按 工艺名称 includes 过滤] + FILTER --> LEFT + + LEFT --> CLICK[点击某个工序 editProcedure(row)] + CLICK --> HASINSERT{insertidx 是否非 0?} + HASINSERT -->|否: 普通新增| ADD[组装参数
工艺编号/物料编号/计划数量/订单编号] + ADD --> SPADD[工艺管理_零件工序_生产工艺_修改数据] + SPADD --> RELOAD1[重新查询生产工艺] + + HASINSERT -->|是: 填入占位行| FILL[组装参数
工艺编号/idd/计划数量/订单编号] + FILL --> SPFILL[工艺管理_零件工序_生产工艺_编辑插入工序] + SPFILL --> RELOAD1 + + RIGHT --> EDIT[编辑字段
准备工时/标准工时/工时合计
工卡量具/指定机床/车间/属性
工艺要求/备注] + EDIT --> NORM[规范化工卡量具/指定机床
数组/对象/字符串 -> 数组] + NORM --> SPEDIT[工艺管理_零件工序_生产工艺_编辑] + SPEDIT --> SILENT[当前无成功提示
后台即时保存] + + RIGHT --> MOVEUP[上移工序] + MOVEUP --> SPMU[工艺管理_零件工序_生产工艺_上移工序] + RIGHT --> MOVEDOWN[下移工序] + MOVEDOWN --> SPMD[工艺管理_零件工序_生产工艺_下移工序] + RIGHT --> INSERT[插入工序] + INSERT --> SPI[工艺管理_零件工序_生产工艺_插入工序
生成空占位行] + RIGHT --> DELETE[删除工序] + DELETE --> SPD[工艺管理_零件工序_生产工艺_删除工序] + + SPMU --> RELOAD1 + SPMD --> RELOAD1 + SPI --> RELOAD1 + SPD --> RELOAD1 + + RELOAD1 --> SPQUERY[工艺管理_生产工艺_查询生产工艺] + SPQUERY --> NEWT5[刷新 tableData5] + NEWT5 --> FN[fninsertidx
识别占位行/转换多选字段] + FN --> RIGHT + + classDef ui fill:#E8F3FF,stroke:#2B6CB0,color:#111; + classDef action fill:#FFF7E6,stroke:#C47F00,color:#111; + classDef api fill:#EAF8EA,stroke:#2F855A,color:#111; + classDef decision fill:#F3E8FF,stroke:#6B46C1,color:#111; + classDef output fill:#F0FFF4,stroke:#38A169,color:#111; + class START,LEFT,RIGHT ui; + class SEARCH,FILTER,CLICK,ADD,FILL,EDIT,NORM,MOVEUP,MOVEDOWN,INSERT,DELETE,RELOAD1,FN action; + class SPADD,SPFILL,SPEDIT,SPMU,SPMD,SPI,SPD,SPQUERY api; + class HASINSERT decision; + class SILENT,NEWT5 output; + diff --git a/work/ProcessManagement/ProcessProduct/03_工序维护与明细编辑流程.png b/work/ProcessManagement/ProcessProduct/03_工序维护与明细编辑流程.png new file mode 100644 index 0000000..6ef5ec6 Binary files /dev/null and b/work/ProcessManagement/ProcessProduct/03_工序维护与明细编辑流程.png differ diff --git a/work/ProcessManagement/ProcessProduct/04_批量生成拷贝保存下发流程.mmd b/work/ProcessManagement/ProcessProduct/04_批量生成拷贝保存下发流程.mmd new file mode 100644 index 0000000..8778622 --- /dev/null +++ b/work/ProcessManagement/ProcessProduct/04_批量生成拷贝保存下发流程.mmd @@ -0,0 +1,57 @@ +flowchart TD + subgraph Batch[批量生成生产工艺] + B0[列表勾选订单] --> B1[AllProductProcess] + B1 --> B2{multipleSelection.length >= 1?} + B2 -->|否| BERR[提示: 请勾选数据] + B2 -->|是| B3[过滤选中行
标准工艺 == 1 且 生产工艺 != 1] + B3 --> B4[拼接订单编号/物料编号/计划数量
逗号字符串] + B4 --> BSP[工艺管理_零件工序_生产工艺_批量生成生产工艺] + BSP --> B5[刷新订单列表 searchTable] + end + + subgraph Copy[工艺拷贝 当前入口被注释] + C0[copyData 打开生产工艺拷贝弹窗] --> C1{processprodutc 勾选?} + C1 -->|否: 标准工艺来源| C2[工艺管理_生产工艺_标准工艺拷贝
获取候选零件] + C2 --> C3[MES_ProcessManagement_ProcessBindGet
预览标准工艺明细] + C1 -->|是: 生产工艺来源| C4[工艺管理_生产工艺_生产工艺拷贝
获取候选物料] + C4 --> C5[工艺管理_制定标准工艺_拷贝生产工艺
预览生产工艺明细] + C3 --> C6[submitCopy] + C5 --> C6 + C6 --> C7[工艺管理_生产工艺_工艺拷贝
物料编号/零件图号/订单编号/计划数量/工艺类型] + C7 --> C8{result == '1'?} + C8 -->|是| COK[提示拷贝成功
刷新当前生产工艺] + C8 -->|否| CERR[提示拷贝失败] + end + + subgraph Save[保存与沉淀] + S0[保存按钮 saveProcess] --> S1[工艺管理_生产工艺_启用
入参: 订单编号] + S1 --> SOK[提示操作成功] + S2[保存为标准工艺 processSave] --> S3[车间生产管理工艺_零件工序_保存为标准工艺
入参: 物料编号/订单编号] + S3 --> S4{result == '1'?} + S4 -->|是| SOK2[提示保存成功] + S4 -->|否| SERR2[提示保存失败] + end + + subgraph Dispatch[任务下发] + D0[整套下发 workprocess] --> D1{tableData5.length 小于 1?} + D1 -->|是| DERR[提示下发失败] + D1 -->|否| D2[计划排产_生产订单_订单任务_生产工艺任务下发
订单编号/物料编号/计划数量] + D2 --> D3{result != 0?} + D3 -->|是| DOK[提示操作成功
刷新列表/关闭弹窗] + D3 -->|否| DOLD[提示已下发任务
刷新列表/关闭弹窗] + + O0[单条下发 oneworkprocess(row)] --> O1[计划排产_生产订单_订单任务_单条生产工艺任务下发
订单编号/物料编号/计划数量/工艺顺序] + O1 --> OOK[提示操作成功
刷新列表/不关闭弹窗] + end + + classDef action fill:#FFF7E6,stroke:#C47F00,color:#111; + classDef api fill:#EAF8EA,stroke:#2F855A,color:#111; + classDef decision fill:#F3E8FF,stroke:#6B46C1,color:#111; + classDef ok fill:#F0FFF4,stroke:#38A169,color:#111; + classDef err fill:#FFEAEA,stroke:#C53030,color:#111; + class B0,B1,B3,B4,B5,C0,C2,C3,C4,C5,C6,C7,S0,S2,D0,D2,O0 action; + class BSP,C2,C3,C4,C5,C7,S1,S3,D2,O1 api; + class B2,C1,C8,S4,D1,D3 decision; + class COK,SOK,SOK2,DOK,DOLD,OOK ok; + class BERR,CERR,SERR2,DERR err; + diff --git a/work/ProcessManagement/ProcessProduct/04_批量生成拷贝保存下发流程.png b/work/ProcessManagement/ProcessProduct/04_批量生成拷贝保存下发流程.png new file mode 100644 index 0000000..f9f9828 Binary files /dev/null and b/work/ProcessManagement/ProcessProduct/04_批量生成拷贝保存下发流程.png differ diff --git a/work/ProcessManagement/ProcessProduct/05_后台过程关系框图.mmd b/work/ProcessManagement/ProcessProduct/05_后台过程关系框图.mmd new file mode 100644 index 0000000..12ac59b --- /dev/null +++ b/work/ProcessManagement/ProcessProduct/05_后台过程关系框图.mmd @@ -0,0 +1,79 @@ +flowchart LR + subgraph FE[前端方法] + searchTable[searchTable
订单列表查询] + editProcess[editProcess/editProcesssearch
打开编辑并查工艺] + getitemdata[getitemdata
查原料] + getProcess[getProcess
查工序基础库] + getbasedata[getbasedata
查设备基础数据] + editProcedure[editProcedure/updateProcess/updateProcess2
新增或编辑工序] + orderOps[upOne/downOne/insertOne/deleteOne
排序插入删除] + copyOps[copyData/searchTable2/searchTable4/submitCopy
工艺拷贝] + saveOps[saveProcess/processSave
启用/保存为标准工艺] + dispatchOps[workprocess/oneworkprocess
任务下发] + drawingOps[getNum/getNum2
图纸查看] + end + + subgraph SP[存储过程/接口] + sp1[计划排产_生产订单_订单查询] + sp2[工艺管理_生产工艺_查询生产工艺] + sp3[工艺管理_获取物料原料信息] + sp4[MES_ProcessManagement_ProcessGet] + sp5[设备管理_设备信息_查询] + sp6[工艺管理_零件工序_生产工艺_修改数据] + sp7[工艺管理_零件工序_生产工艺_编辑] + sp8[工艺管理_零件工序_生产工艺_编辑插入工序] + sp9[工艺管理_零件工序_生产工艺_上移工序/下移工序/插入工序/删除工序] + sp10[工艺管理_生产工艺_生产工艺拷贝/标准工艺拷贝] + sp11[MES_ProcessManagement_ProcessBindGet] + sp12[工艺管理_制定标准工艺_拷贝生产工艺] + sp13[工艺管理_生产工艺_工艺拷贝] + sp14[工艺管理_生产工艺_启用] + sp15[车间生产管理工艺_零件工序_保存为标准工艺] + sp16[计划排产_生产订单_订单任务_生产工艺任务下发] + sp17[计划排产_生产订单_订单任务_单条生产工艺任务下发] + sp18[工艺管理_图纸维护_查看图纸] + sp19[工艺管理_工艺维护_查看图纸] + sp20[工艺管理_零件工序_生产工艺_批量生成生产工艺] + end + + subgraph DB[业务数据对象] + orderData[生产订单/计划排产数据] + stdProcess[标准工艺库] + productProcess[订单级生产工艺库] + processBase[工序基础表] + deviceBase[设备基础资料
量具/机床/车间] + materialData[物料原料/BOM/库存线索] + drawingData[零件图纸/工艺图纸 PDF] + taskData[生产任务/工序任务] + end + + searchTable --> sp1 --> orderData + editProcess --> sp2 --> productProcess + getitemdata --> sp3 --> materialData + getProcess --> sp4 --> processBase + getbasedata --> sp5 --> deviceBase + editProcedure --> sp6 --> productProcess + editProcedure --> sp8 --> productProcess + editProcedure --> sp2 + orderOps --> sp9 --> productProcess + orderOps --> sp2 + editProcedure --> sp7 --> productProcess + copyOps --> sp10 --> productProcess + copyOps --> sp11 --> stdProcess + copyOps --> sp12 --> productProcess + copyOps --> sp13 --> productProcess + saveOps --> sp14 --> productProcess + saveOps --> sp15 --> stdProcess + dispatchOps --> sp16 --> taskData + dispatchOps --> sp17 --> taskData + drawingOps --> sp18 --> drawingData + drawingOps --> sp19 --> drawingData + searchTable -.批量生成入口.-> sp20 --> productProcess + + classDef fe fill:#E8F3FF,stroke:#2B6CB0,color:#111; + classDef sp fill:#EAF8EA,stroke:#2F855A,color:#111; + classDef db fill:#FFF7E6,stroke:#C47F00,color:#111; + class searchTable,editProcess,getitemdata,getProcess,getbasedata,editProcedure,orderOps,copyOps,saveOps,dispatchOps,drawingOps fe; + class sp1,sp2,sp3,sp4,sp5,sp6,sp7,sp8,sp9,sp10,sp11,sp12,sp13,sp14,sp15,sp16,sp17,sp18,sp19,sp20 sp; + class orderData,stdProcess,productProcess,processBase,deviceBase,materialData,drawingData,taskData db; + diff --git a/work/ProcessManagement/ProcessProduct/05_后台过程关系框图.png b/work/ProcessManagement/ProcessProduct/05_后台过程关系框图.png new file mode 100644 index 0000000..1e40fd8 Binary files /dev/null and b/work/ProcessManagement/ProcessProduct/05_后台过程关系框图.png differ diff --git a/work/ProcessManagement/ProcessProduct/ProcessProduct_详细框图.md b/work/ProcessManagement/ProcessProduct/ProcessProduct_详细框图.md new file mode 100644 index 0000000..de2e0cc --- /dev/null +++ b/work/ProcessManagement/ProcessProduct/ProcessProduct_详细框图.md @@ -0,0 +1,338 @@ +# ProcessProduct 生产工艺维护详细框图 + +分析对象:`src/views/ProcessManagement/ProcessProduct/index.vue` + +## 1. 模块总览框图 + +```mermaid +flowchart TD + U[工艺员/技术人员] --> P[ProcessProduct/index.vue
生产工艺维护页面] + + subgraph UI[页面层] + Q[查询区
生产订单/销售订单/物料编码/物料名称/计划号
任务状态/属性/下达日期/工艺状态] + L[生产订单列表
多选/分页/状态灯/编辑工艺] + E[编辑生产工艺弹窗
原料信息/图纸/保存/下发/工序维护] + C[生产工艺拷贝弹窗
标准工艺或生产工艺来源预览] + PDF[图纸预览弹窗
零件图纸/工艺图纸 PDF] + end + + subgraph State[前端核心状态] + tableData[tableData
订单列表] + selectedRow[selectedRow
当前订单] + multipleSelection[multipleSelection
批量选中订单] + tableData5[tableData5
当前生产工艺明细] + tableData4[tableData4/filteredTableData4
工序基础库] + tableData6[tableData6
拷贝来源工艺预览] + basedata[basedatagj/basedatajc/basedatacj
量具/机床/车间] + insertidx[insertidx
插入占位行 id] + itemdata[itemdata
订单原料信息] + end + + subgraph API[后台过程] + A1[计划排产_生产订单_订单查询] + A2[工艺管理_生产工艺_查询生产工艺] + A3[MES_ProcessManagement_ProcessGet] + A4[设备管理_设备信息_查询] + A5[工艺管理_获取物料原料信息] + A6[工艺管理_零件工序_生产工艺_*
新增/编辑/插入/删除/上下移/批量生成] + A7[工艺管理_生产工艺_*
拷贝/启用/来源查询] + A8[计划排产_生产订单_订单任务_*
整套下发/单条下发] + A9[工艺管理_图纸维护_查看图纸
工艺管理_工艺维护_查看图纸] + A10[车间生产管理工艺_零件工序_保存为标准工艺] + end + + P --> Q + P --> L + P --> E + P --> C + P --> PDF + + Q -->|searchTable| A1 --> tableData --> L + L -->|row-click| selectedRow + L -->|selection-change| multipleSelection + L -->|编辑工艺 editProcess| E + + E -->|getitemdata| A5 --> itemdata + E -->|editProcesssearch| A2 --> tableData5 + E -->|getProcess| A3 --> tableData4 + E -->|getbasedata| A4 --> basedata + E -->|工序维护| A6 --> tableData5 + E -->|保存/启用| A7 + E -->|保存为标准工艺| A10 + E -->|下发任务| A8 + E -->|零件/工艺图纸| A9 --> PDF + + C -->|copyData/searchTable2/searchTable4| A7 --> tableData6 + C -->|submitCopy| A7 --> tableData5 + multipleSelection -->|AllProductProcess| A6 --> tableData + + classDef ui fill:#E8F3FF,stroke:#2B6CB0,color:#111; + classDef state fill:#FFF7E6,stroke:#C47F00,color:#111; + classDef api fill:#EAF8EA,stroke:#2F855A,color:#111; + classDef risk fill:#FFEAEA,stroke:#C53030,color:#111; + class Q,L,E,C,PDF ui; + class tableData,selectedRow,multipleSelection,tableData5,tableData4,tableData6,basedata,insertidx,itemdata state; + class A1,A2,A3,A4,A5,A6,A7,A8,A9,A10 api; +``` + +## 2. 编辑生产工艺详细流程 + +```mermaid +flowchart TD + S[用户点击订单行: 编辑工艺] --> R1[建议先设置 selectedRow = row
当前源码依赖 row-click 已触发] + R1 --> D1[打开 dialogcasual
loading = true] + + D1 --> P1[getitemdata(row.订单编号)] + P1 --> SP1[工艺管理_获取物料原料信息] + SP1 --> F1{U_MoType == 机加件?} + F1 -->|是| M1[写入 itemdata
子件编码/名称/计划数量/材质/基本数量/存货量] + F1 -->|否| M0[过滤掉] + + D1 --> P2[editProcesssearch(row)] + P2 --> SP2[工艺管理_生产工艺_查询生产工艺
入参: 物料编号, 订单编号] + SP2 --> T5[tableData5 = 当前生产工艺明细] + + T5 --> P3[getProcess] + P3 --> SP3[MES_ProcessManagement_ProcessGet
入参: 工艺编号=''] + SP3 --> G1[tableData4/filteredTableData4
左侧工序基础库] + + T5 --> P4[getbasedata] + P4 --> SP4[设备管理_设备信息_查询] + SP4 --> B1{按设备类型名称分类} + B1 -->|量具| BJ[basedatagj
工装量具选项] + B1 -->|机床| BC[basedatajc
指定机床选项] + B1 -->|车间| BW[basedatacj
车间选项] + + T5 --> P5[fninsertidx] + P5 --> C1{存在空工艺名称行?} + C1 -->|是| I1[insertidx = 空行 id
左侧选工序时填入占位] + C1 -->|否| I0[insertidx 保持或为 0] + P5 --> C2{工卡量具/指定机床为逗号字符串?} + C2 -->|是| I2[split,map Number
转换为多选数组] + C2 -->|否| I3[保持原值] + + I1 --> READY[编辑弹窗可操作] + I0 --> READY + I2 --> READY + I3 --> READY + + READY --> OP1[查看图纸] + READY --> OP2[新增/插入/删除/排序工序] + READY --> OP3[编辑工时/设备/车间/属性/说明/备注] + READY --> OP4[保存/启用] + READY --> OP5[保存为标准工艺] + READY --> OP6[整套或单条下发任务] + + classDef start fill:#E8F3FF,stroke:#2B6CB0,color:#111; + classDef proc fill:#FFF7E6,stroke:#C47F00,color:#111; + classDef api fill:#EAF8EA,stroke:#2F855A,color:#111; + classDef decision fill:#F3E8FF,stroke:#6B46C1,color:#111; + classDef output fill:#F0FFF4,stroke:#38A169,color:#111; + class S,D1,READY start; + class P1,P2,P3,P4,P5,R1,OP1,OP2,OP3,OP4,OP5,OP6 proc; + class SP1,SP2,SP3,SP4 api; + class F1,B1,C1,C2 decision; + class M1,M0,T5,G1,BJ,BC,BW,I1,I0,I2,I3 output; +``` + +## 3. 工序维护与明细编辑流程 + +```mermaid +flowchart TD + START[编辑生产工艺弹窗] --> LEFT[左侧工序基础库
filteredTableData4] + START --> RIGHT[右侧生产工艺明细
tableData5] + + LEFT --> SEARCH[输入 processSearchName] + SEARCH --> FILTER[filterProcess
按 工艺名称 includes 过滤] + FILTER --> LEFT + + LEFT --> CLICK[点击某个工序 editProcedure(row)] + CLICK --> HASINSERT{insertidx 是否非 0?} + HASINSERT -->|否: 普通新增| ADD[组装参数
工艺编号/物料编号/计划数量/订单编号] + ADD --> SPADD[工艺管理_零件工序_生产工艺_修改数据] + SPADD --> RELOAD1[重新查询生产工艺] + + HASINSERT -->|是: 填入占位行| FILL[组装参数
工艺编号/idd/计划数量/订单编号] + FILL --> SPFILL[工艺管理_零件工序_生产工艺_编辑插入工序] + SPFILL --> RELOAD1 + + RIGHT --> EDIT[编辑字段
准备工时/标准工时/工时合计
工卡量具/指定机床/车间/属性
工艺要求/备注] + EDIT --> NORM[规范化工卡量具/指定机床
数组/对象/字符串 -> 数组] + NORM --> SPEDIT[工艺管理_零件工序_生产工艺_编辑] + SPEDIT --> SILENT[当前无成功提示
后台即时保存] + + RIGHT --> MOVEUP[上移工序] + MOVEUP --> SPMU[工艺管理_零件工序_生产工艺_上移工序] + RIGHT --> MOVEDOWN[下移工序] + MOVEDOWN --> SPMD[工艺管理_零件工序_生产工艺_下移工序] + RIGHT --> INSERT[插入工序] + INSERT --> SPI[工艺管理_零件工序_生产工艺_插入工序
生成空占位行] + RIGHT --> DELETE[删除工序] + DELETE --> SPD[工艺管理_零件工序_生产工艺_删除工序] + + SPMU --> RELOAD1 + SPMD --> RELOAD1 + SPI --> RELOAD1 + SPD --> RELOAD1 + + RELOAD1 --> SPQUERY[工艺管理_生产工艺_查询生产工艺] + SPQUERY --> NEWT5[刷新 tableData5] + NEWT5 --> FN[fninsertidx
识别占位行/转换多选字段] + FN --> RIGHT + + classDef ui fill:#E8F3FF,stroke:#2B6CB0,color:#111; + classDef action fill:#FFF7E6,stroke:#C47F00,color:#111; + classDef api fill:#EAF8EA,stroke:#2F855A,color:#111; + classDef decision fill:#F3E8FF,stroke:#6B46C1,color:#111; + classDef output fill:#F0FFF4,stroke:#38A169,color:#111; + class START,LEFT,RIGHT ui; + class SEARCH,FILTER,CLICK,ADD,FILL,EDIT,NORM,MOVEUP,MOVEDOWN,INSERT,DELETE,RELOAD1,FN action; + class SPADD,SPFILL,SPEDIT,SPMU,SPMD,SPI,SPD,SPQUERY api; + class HASINSERT decision; + class SILENT,NEWT5 output; +``` + +## 4. 批量生成、拷贝、保存、下发流程 + +```mermaid +flowchart TD + subgraph Batch[批量生成生产工艺] + B0[列表勾选订单] --> B1[AllProductProcess] + B1 --> B2{multipleSelection.length >= 1?} + B2 -->|否| BERR[提示: 请勾选数据] + B2 -->|是| B3[过滤选中行
标准工艺 == 1 且 生产工艺 != 1] + B3 --> B4[拼接订单编号/物料编号/计划数量
逗号字符串] + B4 --> BSP[工艺管理_零件工序_生产工艺_批量生成生产工艺] + BSP --> B5[刷新订单列表 searchTable] + end + + subgraph Copy[工艺拷贝 当前入口被注释] + C0[copyData 打开生产工艺拷贝弹窗] --> C1{processprodutc 勾选?} + C1 -->|否: 标准工艺来源| C2[工艺管理_生产工艺_标准工艺拷贝
获取候选零件] + C2 --> C3[MES_ProcessManagement_ProcessBindGet
预览标准工艺明细] + C1 -->|是: 生产工艺来源| C4[工艺管理_生产工艺_生产工艺拷贝
获取候选物料] + C4 --> C5[工艺管理_制定标准工艺_拷贝生产工艺
预览生产工艺明细] + C3 --> C6[submitCopy] + C5 --> C6 + C6 --> C7[工艺管理_生产工艺_工艺拷贝
物料编号/零件图号/订单编号/计划数量/工艺类型] + C7 --> C8{result == '1'?} + C8 -->|是| COK[提示拷贝成功
刷新当前生产工艺] + C8 -->|否| CERR[提示拷贝失败] + end + + subgraph Save[保存与沉淀] + S0[保存按钮 saveProcess] --> S1[工艺管理_生产工艺_启用
入参: 订单编号] + S1 --> SOK[提示操作成功] + S2[保存为标准工艺 processSave] --> S3[车间生产管理工艺_零件工序_保存为标准工艺
入参: 物料编号/订单编号] + S3 --> S4{result == '1'?} + S4 -->|是| SOK2[提示保存成功] + S4 -->|否| SERR2[提示保存失败] + end + + subgraph Dispatch[任务下发] + D0[整套下发 workprocess] --> D1{tableData5.length 小于 1?} + D1 -->|是| DERR[提示下发失败] + D1 -->|否| D2[计划排产_生产订单_订单任务_生产工艺任务下发
订单编号/物料编号/计划数量] + D2 --> D3{result != 0?} + D3 -->|是| DOK[提示操作成功
刷新列表/关闭弹窗] + D3 -->|否| DOLD[提示已下发任务
刷新列表/关闭弹窗] + + O0[单条下发 oneworkprocess(row)] --> O1[计划排产_生产订单_订单任务_单条生产工艺任务下发
订单编号/物料编号/计划数量/工艺顺序] + O1 --> OOK[提示操作成功
刷新列表/不关闭弹窗] + end + + classDef action fill:#FFF7E6,stroke:#C47F00,color:#111; + classDef api fill:#EAF8EA,stroke:#2F855A,color:#111; + classDef decision fill:#F3E8FF,stroke:#6B46C1,color:#111; + classDef ok fill:#F0FFF4,stroke:#38A169,color:#111; + classDef err fill:#FFEAEA,stroke:#C53030,color:#111; + class B0,B1,B3,B4,B5,C0,C2,C3,C4,C5,C6,C7,S0,S2,D0,D2,O0 action; + class BSP,C2,C3,C4,C5,C7,S1,S3,D2,O1 api; + class B2,C1,C8,S4,D1,D3 decision; + class COK,SOK,SOK2,DOK,DOLD,OOK ok; + class BERR,CERR,SERR2,DERR err; +``` + +## 5. 后台过程关系框图 + +```mermaid +flowchart LR + subgraph FE[前端方法] + searchTable[searchTable
订单列表查询] + editProcess[editProcess/editProcesssearch
打开编辑并查工艺] + getitemdata[getitemdata
查原料] + getProcess[getProcess
查工序基础库] + getbasedata[getbasedata
查设备基础数据] + editProcedure[editProcedure/updateProcess/updateProcess2
新增或编辑工序] + orderOps[upOne/downOne/insertOne/deleteOne
排序插入删除] + copyOps[copyData/searchTable2/searchTable4/submitCopy
工艺拷贝] + saveOps[saveProcess/processSave
启用/保存为标准工艺] + dispatchOps[workprocess/oneworkprocess
任务下发] + drawingOps[getNum/getNum2
图纸查看] + end + + subgraph SP[存储过程/接口] + sp1[计划排产_生产订单_订单查询] + sp2[工艺管理_生产工艺_查询生产工艺] + sp3[工艺管理_获取物料原料信息] + sp4[MES_ProcessManagement_ProcessGet] + sp5[设备管理_设备信息_查询] + sp6[工艺管理_零件工序_生产工艺_修改数据] + sp7[工艺管理_零件工序_生产工艺_编辑] + sp8[工艺管理_零件工序_生产工艺_编辑插入工序] + sp9[工艺管理_零件工序_生产工艺_上移工序/下移工序/插入工序/删除工序] + sp10[工艺管理_生产工艺_生产工艺拷贝/标准工艺拷贝] + sp11[MES_ProcessManagement_ProcessBindGet] + sp12[工艺管理_制定标准工艺_拷贝生产工艺] + sp13[工艺管理_生产工艺_工艺拷贝] + sp14[工艺管理_生产工艺_启用] + sp15[车间生产管理工艺_零件工序_保存为标准工艺] + sp16[计划排产_生产订单_订单任务_生产工艺任务下发] + sp17[计划排产_生产订单_订单任务_单条生产工艺任务下发] + sp18[工艺管理_图纸维护_查看图纸] + sp19[工艺管理_工艺维护_查看图纸] + sp20[工艺管理_零件工序_生产工艺_批量生成生产工艺] + end + + subgraph DB[业务数据对象] + orderData[生产订单/计划排产数据] + stdProcess[标准工艺库] + productProcess[订单级生产工艺库] + processBase[工序基础表] + deviceBase[设备基础资料
量具/机床/车间] + materialData[物料原料/BOM/库存线索] + drawingData[零件图纸/工艺图纸 PDF] + taskData[生产任务/工序任务] + end + + searchTable --> sp1 --> orderData + editProcess --> sp2 --> productProcess + getitemdata --> sp3 --> materialData + getProcess --> sp4 --> processBase + getbasedata --> sp5 --> deviceBase + editProcedure --> sp6 --> productProcess + editProcedure --> sp8 --> productProcess + editProcedure --> sp2 + orderOps --> sp9 --> productProcess + orderOps --> sp2 + editProcedure --> sp7 --> productProcess + copyOps --> sp10 --> productProcess + copyOps --> sp11 --> stdProcess + copyOps --> sp12 --> productProcess + copyOps --> sp13 --> productProcess + saveOps --> sp14 --> productProcess + saveOps --> sp15 --> stdProcess + dispatchOps --> sp16 --> taskData + dispatchOps --> sp17 --> taskData + drawingOps --> sp18 --> drawingData + drawingOps --> sp19 --> drawingData + searchTable -.批量生成入口.-> sp20 --> productProcess + + classDef fe fill:#E8F3FF,stroke:#2B6CB0,color:#111; + classDef sp fill:#EAF8EA,stroke:#2F855A,color:#111; + classDef db fill:#FFF7E6,stroke:#C47F00,color:#111; + class searchTable,editProcess,getitemdata,getProcess,getbasedata,editProcedure,orderOps,copyOps,saveOps,dispatchOps,drawingOps fe; + class sp1,sp2,sp3,sp4,sp5,sp6,sp7,sp8,sp9,sp10,sp11,sp12,sp13,sp14,sp15,sp16,sp17,sp18,sp19,sp20 sp; + class orderData,stdProcess,productProcess,processBase,deviceBase,materialData,drawingData,taskData db; +``` + diff --git a/work/ProcessManagement/ProcessProduct/i.txt b/work/ProcessManagement/ProcessProduct/i.txt new file mode 100644 index 0000000..6573c76 --- /dev/null +++ b/work/ProcessManagement/ProcessProduct/i.txt @@ -0,0 +1,547 @@ +# ProcessManagement/ProcessProduct/index 模块详细功能分析 + +分析对象:`src/views/ProcessManagement/ProcessProduct/index.vue` + +## 1. 模块定位 + +该模块是“生产工艺维护”页面,用于围绕生产订单维护订单级生产工艺。它不是单纯的工艺基础资料维护,而是把“生产订单、物料、标准工艺、生产工艺、图纸、任务下发”串在一起: + +- 查询生产订单及其标准工艺、生产工艺、图纸、任务状态。 +- 对单个订单/物料维护生产工艺路线。 +- 从工序基础库新增、插入、删除、调整生产工艺工序。 +- 编辑工序工时、工装量具、指定机床、车间、属性、工序说明和备注。 +- 从标准工艺或已有生产工艺拷贝生成当前订单生产工艺。 +- 批量按标准工艺生成生产工艺。 +- 将生产工艺保存启用,并可下发为生产任务。 +- 查看零件图纸、工艺图纸 PDF。 +- 可把当前订单生产工艺保存回标准工艺。 + +## 2. 页面结构 + +页面由三个主要区域组成: + +1. 生产订单查询区 + - 输入条件:生产订单、销售订单、物料编码、物料名称、计划号。 + - 下拉条件:任务状态、属性、工艺状态。 + - 日期条件:下达日期范围。 + - 操作按钮:查询、批量生成生产工艺。 + +2. 生产订单列表 + - 支持多选,用于批量生成生产工艺。 + - 展示销售订单、计划号、生产订单、物料编码、物料名称、属性、计划数、下达日期、计划开始、计划完成。 + - 通过状态灯展示加急状态、标准工艺、生产工艺、图纸。 + - 每行提供“编辑工艺”入口。 + - 底部有分页,支持每页 20、50、100 条。 + +3. 弹窗 + - `编辑生产工艺`:核心维护弹窗。 + - `生产工艺拷贝`:代码中已实现,用于从标准工艺或生产工艺拷贝;但当前模板里的“拷贝”按钮被注释,页面默认没有显式入口。 + - `图纸`:PDF 预览弹窗。 + +## 3. 查询与列表功能 + +页面创建时会自动调用 `searchTable()` 查询订单列表。 + +查询入参: + +- `订单号`:来自 `orderNo`,为空时传 `0`。 +- `合同号`:销售订单。 +- `产品编码`:物料编码。 +- `产品名称`:物料名称。 +- `下达日期1`、`下达日期2`:日期范围。 +- `任务状态`:默认 `1`,即未下发。 +- `订单状态`:默认 `1`,即机加件。 +- `工艺状态`:默认 `0`,即全部。 +- `计划号`。 +- `PageCurrent`、`PageSize`、`PageCount`、`ItemCount`:分页和输出参数。 + +调用后台: + +- `计划排产_生产订单_订单查询` + +返回处理: + +- `response.data.result` 赋给 `tableData`。 +- `response.data.output[0].ItemCount` 转成 `total1`,驱动分页总数。 + +列表状态灯含义: + +- `加急状态 == 1` 显示绿色,否则灰色。 +- `标准工艺 == 1` 显示绿色,否则灰色。 +- `生产工艺 == 1` 显示绿色,否则灰色。 +- `worker != 0` 认为已有图纸,显示绿色,否则灰色。 + +## 4. 编辑生产工艺主流程 + +用户点击某行“编辑工艺”后执行 `editProcess(row)`: + +1. 打开 `dialogcasual` 编辑弹窗。 +2. 开启 loading。 +3. 调用 `getitemdata(row.订单编号)` 获取该订单的原料信息。 +4. 调用 `editProcesssearch(row)` 查询当前订单生产工艺。 + +### 4.1 原料信息 + +`getitemdata(item)` 根据订单编号查询原料: + +- 后台过程:`工艺管理_获取物料原料信息` +- 入参:`订单编号` +- 仅保留 `U_MoType == '机加件'` 的子件。 +- 展示字段:子件编码、子件名称、计划数量、材质、基本数量、存货量、待出数量、拣配数量。 + +这些原料信息展示在编辑弹窗顶部,用于工艺员维护工艺时参考物料和库存情况。 + +### 4.2 当前生产工艺查询 + +`editProcesssearch(row)` 查询生产工艺明细: + +- 后台过程:`工艺管理_生产工艺_查询生产工艺` +- 入参:`物料编号`、`订单编号` + +查询成功后同时加载: + +- 工序基础列表:`getProcess()` +- 设备基础数据:`getbasedata()` +- 当前生产工艺明细:`tableData5` +- 插入占位行检测和设备字段转换:`fninsertidx()` + +## 5. 编辑弹窗功能 + +编辑弹窗顶部展示: + +- 当前物料编码。 +- 当前物料名称。 +- 机加原料清单。 + +弹窗按钮: + +- `零件图纸`:查看零件图纸 PDF。 +- `工艺图纸`:查看工艺图纸 PDF。 +- `保存为标准工艺`:把当前生产工艺保存为标准工艺。 +- `下发任务`:把整套生产工艺下发为生产任务。 +- `保存/已保存`:启用当前生产工艺。 + +弹窗主体左右两栏: + +- 左侧是工序基础库,支持按工序名称过滤,点击工序可加入当前生产工艺。 +- 右侧是当前订单生产工艺明细,支持编辑、排序、插入、删除和单条下发。 + +## 6. 工序基础库 + +`getProcess()` 调用: + +- 后台过程:`MES_ProcessManagement_ProcessGet` +- 入参:`工艺编号 = ''` + +返回数据: + +- 保存到 `tableData4`。 +- 同步到 `filteredTableData4`。 + +`filterProcess()` 根据 `processSearchName` 做前端过滤: + +- 匹配字段:`工艺名称` +- 过滤逻辑:`item.工艺名称.includes(processSearchName)` + +点击左侧工序触发 `editProcedure(row)`。 + +## 7. 新增/插入生产工艺工序 + +### 7.1 普通新增工序 + +当 `insertidx` 为 0 时,点击左侧工序执行普通新增: + +- 后台过程:`工艺管理_零件工序_生产工艺_修改数据` +- 入参: + - `工艺编号` + - `物料编号` + - `计划数量` + - `订单编号` + +新增成功后重新查询当前生产工艺: + +- `工艺管理_生产工艺_查询生产工艺` + +### 7.2 插入占位行后补入工序 + +当 `insertidx` 非 0 时,表示右侧工艺表里存在一条空工序占位行。点击左侧工序会调用 `updateProcess2(param1)`: + +- 后台过程:`工艺管理_零件工序_生产工艺_编辑插入工序` +- 入参: + - `工艺编号` + - `idd`:占位行 id + - `计划数量` + - `订单编号` + +成功后重新查询生产工艺,并把 `insertidx` 重置为 0。 + +### 7.3 插入空工序行 + +右侧点击某行的“插入工序”按钮执行 `insertOne(row)`: + +- 后台过程:`工艺管理_零件工序_生产工艺_插入工序` +- 入参: + - `零件图号`:实际传当前 `selectedRow.物料编号` + - `idd`:当前行 id + - `订单编号` + +该过程应在当前行附近生成空工序占位,之后用户再从左侧工序基础库选择工序填入。 + +## 8. 编辑生产工艺明细 + +右侧生产工艺表可编辑字段: + +- `准备工时` +- `标准工时` +- `工时合计` +- `工卡量具` +- `指定机床` +- `车间` +- `属性` +- `工艺要求` +- `备注` + +字段变更触发 `updateProcess(row)`: + +- 后台过程:`工艺管理_零件工序_生产工艺_编辑` +- 入参: + - `idd` + - `工艺要求` + - `准备工时` + - `标准工时` + - `工时合计` + - `工卡量具` + - `指定机床` + - `车间` + - `备注` + - `属性` + +`工卡量具` 和 `指定机床` 支持数组、对象、字符串三种输入形态。方法会统一转换成数组再提交。 + +注意:工时输入使用 `@input`,每次输入都会调用后台编辑过程;工序说明和备注使用 `@change`,失焦或确认后提交。 + +## 9. 工序排序与删除 + +右侧每条工序提供: + +- 下移工序:`downOne(row)` +- 上移工序:`upOne(row)` +- 插入工序:`insertOne(row)` +- 删除工序:`deleteOne(row)` +- 单条下发任务:`oneworkprocess(row)` + +排序/删除调用过程: + +- 上移:`工艺管理_零件工序_生产工艺_上移工序` +- 下移:`工艺管理_零件工序_生产工艺_下移工序` +- 删除:`工艺管理_零件工序_生产工艺_删除工序` + +通用入参: + +- `物料编号` +- `idd` +- `订单编号` + +每次操作成功后都会重新调用: + +- `工艺管理_生产工艺_查询生产工艺` + +并重新执行 `fninsertidx()` 处理空工序占位和设备字段格式。 + +## 10. 设备与属性基础数据 + +`getbasedata()` 调用: + +- 后台过程:`设备管理_设备信息_查询` + +按 `设备类型名称` 分类: + +- `量具` -> `basedatagj`,用于工装量具多选。 +- `机床` -> `basedatajc`,用于指定机床多选。 +- `车间` -> `basedatacj`,用于车间下拉。 + +工序属性下拉为前端固定值: + +- 外协 +- 自制 + +设备字段后端返回通常是逗号字符串,`fninsertidx()` 和 `datadoing()` 会把: + +- `工卡量具` +- `指定机床` + +转换为数字数组,方便 Element UI 多选框回显。 + +## 11. 拷贝生产工艺功能 + +代码中实现了 `copyData()`、`submitCopy()`、`searchTable2()`、`searchTable4()`,用于从其他工艺来源拷贝到当前订单。 + +当前模板中原“拷贝”按钮被注释: + +```vue + +``` + +因此此能力在源码中存在,但当前页面默认不可见,除非后续恢复按钮或从其他逻辑触发。 + +### 11.1 选择拷贝来源 + +`processprodutc` 为勾选状态时,表示从生产工艺拷贝: + +- 候选来源过程:`工艺管理_生产工艺_生产工艺拷贝` +- 明细查询过程:`工艺管理_制定标准工艺_拷贝生产工艺` +- 选择字段:`物料编号` + +未勾选时,表示从标准工艺拷贝: + +- 候选来源过程:`工艺管理_生产工艺_标准工艺拷贝` +- 明细查询过程:`MES_ProcessManagement_ProcessBindGet` +- 选择字段:`零件图号` + +### 11.2 确认拷贝 + +`submitCopy()` 调用: + +- 后台过程:`工艺管理_生产工艺_工艺拷贝` + +入参: + +- `物料编号`:当前订单物料编号。 +- `零件图号`:选择的来源物料/零件。 +- `订单编号`:当前订单编号。 +- `计划数量`:当前订单计划数量。 +- `工艺类型`:`processprodutc` 勾选时为 1,否则为 0。 + +返回 `response.data[0].result === '1'` 判定拷贝成功,然后刷新当前生产工艺。 + +## 12. 批量生成生产工艺 + +列表多选后点击“批量生成生产工艺”执行 `AllProductProcess()`。 + +筛选逻辑: + +- 只处理 `标准工艺 == 1` 且 `生产工艺 != 1` 的选中行。 +- 把符合条件的订单编号、物料编号、计划数量分别用逗号拼接。 + +调用后台: + +- `工艺管理_零件工序_生产工艺_批量生成生产工艺` + +入参: + +- `订单编号` +- `零件图号`:实际传物料编号列表。 +- `计划数量` + +成功后刷新订单列表。 + +注意:如果选中了数据但没有任何行满足“有标准工艺且未生成生产工艺”,当前代码仍会提交空字符串参数,没有前端提示。 + +## 13. 保存、启用、保存为标准工艺 + +### 13.1 保存/启用生产工艺 + +`saveProcess()` 调用: + +- 后台过程:`工艺管理_生产工艺_启用` +- 入参:`订单编号` + +该动作更像“启用当前订单生产工艺”,成功后只提示“操作成功”,当前代码未立即刷新生产工艺明细,也未关闭弹窗。 + +### 13.2 保存为标准工艺 + +`processSave()` 调用: + +- 后台过程:`车间生产管理工艺_零件工序_保存为标准工艺` +- 入参: + - `物料编号` + - `订单编号` + +返回 `result === '1'` 时提示保存成功,否则提示保存失败。 + +该功能用于把订单级生产工艺沉淀回物料标准工艺。 + +## 14. 任务下发 + +### 14.1 整套生产工艺下发 + +点击编辑弹窗顶部“下发任务”执行 `workprocess()`。 + +前置判断: + +- `tableData5.length < 1` 时提示下发失败。 + +调用后台: + +- `计划排产_生产订单_订单任务_生产工艺任务下发` + +入参: + +- `订单编号` +- `物料编号` +- `计划数量` + +返回处理: + +- `response.data[0].result != 0`:认为下发成功。 +- 否则提示“已下发任务”。 +- 无论成功或已下发,都会刷新订单列表并关闭编辑弹窗。 +- catch 分支也提示成功,说明这里对后台异常处理较宽松。 + +### 14.2 单条工序下发 + +右侧工序行点击“下发任务”执行 `oneworkprocess(row)`: + +- 后台过程:`计划排产_生产订单_订单任务_单条生产工艺任务下发` +- 入参: + - `订单编号` + - `物料编号` + - `计划数量` + - `工艺顺序` + +成功后刷新订单列表,但不关闭编辑弹窗。 + +## 15. 图纸查看 + +### 15.1 零件图纸 + +`getNum()` 调用: + +- 后台过程:`工艺管理_图纸维护_查看图纸` +- 入参:`物料编号` + +如果返回数据非空: + +- 使用 `MESDownFile + uid + '.pdf'` 拼出 PDF 地址。 +- 打开 `seeVisible` 弹窗。 +- 调用 `seepdf(pdfSrc, 'see')` 渲染 PDF。 + +否则提示“未上传图纸”。 + +### 15.2 工艺图纸 + +`getNum2()` 调用: + +- 后台过程:`工艺管理_工艺维护_查看图纸` +- 入参:`物料编号` + +渲染逻辑与零件图纸相同。 + +## 16. 数据状态与关键变量 + +核心状态: + +- `tableData`:订单列表。 +- `tableData5`:当前订单生产工艺明细。 +- `tableData4`:工序基础库。 +- `filteredTableData4`:过滤后的工序基础库。 +- `tableData3`:拷贝来源候选列表。 +- `tableData6`:拷贝来源工艺明细预览。 +- `selectedRow`:当前选中的订单行。 +- `multipleSelection`:订单列表多选项。 +- `itemdata`:当前订单机加原料信息。 +- `insertidx`:空工序占位行 id,决定点击左侧工序是新增还是填入占位。 +- `processStatus`:控制“保存/已保存”按钮显示,但当前代码中基本一直被置为 0。 +- `taskstatus`:默认 `1`,页面初始只查未下发。 +- `orderstatus`:默认 `1`,页面初始只查机加件。 +- `standardprocess`:默认 `0`,工艺状态全部。 +- `basedatagj`、`basedatajc`、`basedatacj`:量具、机床、车间选项。 + +## 17. 后台过程清单 + +本页面直接调用的后台过程: + +- `工艺管理_获取物料原料信息` +- `工艺管理_生产工艺_查询生产工艺` +- `工艺管理_生产工艺_工艺拷贝` +- `工艺管理_生产工艺_生产工艺拷贝` +- `工艺管理_生产工艺_标准工艺拷贝` +- `计划排产_生产订单_订单查询` +- `计划排产_生产订单_订单任务_生产工艺任务下发` +- `计划排产_生产订单_订单任务_单条生产工艺任务下发` +- `工艺管理_零件工序_生产工艺_批量生成生产工艺` +- `设备管理_设备信息_查询` +- `MES_ProcessManagement_ProcessBindGet` +- `工艺管理_制定标准工艺_拷贝生产工艺` +- `MES_ProcessManagement_ProcessGet` +- `车间生产管理工艺_零件工序_保存为标准工艺` +- `工艺管理_图纸维护_查看图纸` +- `工艺管理_工艺维护_查看图纸` +- `工艺管理_零件工序_生产工艺_修改数据` +- `工艺管理_零件工序_生产工艺_编辑` +- `工艺管理_零件工序_生产工艺_编辑插入工序` +- `工艺管理_零件工序_生产工艺_删除工序` +- `工艺管理_零件工序_生产工艺_上移工序` +- `工艺管理_零件工序_生产工艺_下移工序` +- `工艺管理_零件工序_生产工艺_插入工序` +- `工艺管理_生产工艺_启用` + +## 18. 业务数据流 + +典型流程如下: + +1. 工艺员进入页面,默认查询未下发的机加件订单。 +2. 工艺员按订单号、销售订单、物料、计划号、工艺状态等条件定位订单。 +3. 如果订单已有标准工艺但未生成生产工艺,可批量生成生产工艺。 +4. 点击“编辑工艺”进入订单级工艺维护。 +5. 系统加载当前订单原料、生产工艺、工序基础库、设备基础数据。 +6. 工艺员从左侧工序库添加工序,或对已有工序做插入、删除、上下移动。 +7. 工艺员维护每道工序的工时、工装量具、指定机床、车间、外协/自制属性、工艺要求和备注。 +8. 工艺员可查看零件图纸、工艺图纸辅助判断。 +9. 工艺员保存/启用生产工艺。 +10. 工艺员可将生产工艺保存为标准工艺。 +11. 工艺确认后下发整套生产任务,或只下发单条工序任务。 + +## 19. 与其他模块关系 + +该模块位于工艺管理与计划排产之间,是订单进入生产执行前的关键节点。 + +- 上游依赖: + - 生产订单/计划排产数据。 + - 标准工艺数据。 + - 工序基础资料。 + - 设备基础资料。 + - 图纸维护资料。 + +- 下游影响: + - 生产任务下发。 + - 排产、报工、质检、生产计划跟踪等模块读取任务和工艺路线。 + - 生产工艺的标准工时、准备工时、外协/自制属性会影响计划工时、任务执行和统计报表。 + +旧技术文档中也将核心数据归为: + +- `基础表_工序` +- `车间生产管理工艺_零件工序_工艺库` +- `车间生产管理工艺_零件生产工艺_工艺库` +- `View_标准工艺视图` +- `View_生产工艺视图` +- `物料基础数据_零件图纸` +- `物料基础数据_工艺图纸` + +## 20. 代码层面的注意点 + +1. `selectedRow` 只在表格行点击时赋值。点击“编辑工艺”时没有在 `editProcess(row)` 内显式设置 `selectedRow = row`,依赖表格行点击事件是否先触发。更稳妥的写法应在 `editProcess(row)` 开头赋值。 + +2. `processStatus` 当前主要被置为 0,`已保存` 状态很难出现。需要结合后端返回或生产工艺状态重新设计。 + +3. “拷贝”按钮被注释,但相关代码仍完整存在。如果业务需要拷贝,应恢复入口并确认交互。 + +4. 批量生成时,如果选中行都不满足“有标准工艺且未生成生产工艺”,代码会提交空参数。建议增加前端校验并提示“所选数据无可生成项”。 + +5. `workprocess()` 的 catch 分支提示“操作成功”,可能掩盖真实失败。建议区分网络/后台异常。 + +6. `oneworkprocess()` 的 tooltip 文案仍是“删除工序”,但按钮实际是“下发任务”,提示文案不一致。 + +7. 工时字段使用 `@input` 直接调用后台,连续输入会频繁请求。建议防抖或改为 `@change`。 + +8. `insertidx` 在 `fninsertidx()` 中只要发现空 `工艺名称` 就赋值,但没有在每次扫描前清零,可能保留旧值。虽然部分流程会重置,但仍存在状态残留风险。 + +9. `dialogVisible` 在 data 中重复定义,`loading`、`productName`、`pageCurrent`、`pageSize` 也有重复定义或语义冲突,建议整理。 + +10. 日期控件类型为 `datetimerange`,但 `value-format` 是 `yyyy-MM-dd`,实际只传日期,不含时分秒。 + +## 21. 总结 + +`ProcessProduct/index.vue` 是订单级生产工艺维护页面。它的核心价值是把标准工艺和工序基础资料转成可执行的生产订单工艺,并在确认后下发到生产任务。该页面承担的功能包括订单查询、生产工艺生成、工艺路线编辑、工时和设备维护、图纸查看、工艺拷贝、保存启用、保存为标准工艺、整套或单条任务下发。 + +从业务链路看,该模块是“工艺准备完成”到“生产任务执行”的转换点;从数据风险看,生产工艺一旦下发会影响排产、报工、质检和统计,因此保存、启用、下发、编辑已下发工艺等行为需要明确状态控制。 diff --git a/work/ProcessManagement/ProcessProduct/高清图/01_模块总览框图.svg b/work/ProcessManagement/ProcessProduct/高清图/01_模块总览框图.svg new file mode 100644 index 0000000..ce0b870 --- /dev/null +++ b/work/ProcessManagement/ProcessProduct/高清图/01_模块总览框图.svg @@ -0,0 +1 @@ +

后台过程

前端核心状态

页面层

searchTable

row-click

selection-change

编辑工艺 editProcess

getitemdata

editProcesssearch

getProcess

getbasedata

工序维护

保存/启用

保存为标准工艺

下发任务

零件/工艺图纸

copyData/searchTable2/searchTable4

submitCopy

AllProductProcess

工艺员/技术人员

ProcessProduct/index.vue
生产工艺维护页面

查询区
生产订单/销售订单/物料编码/物料名称/计划号
任务状态/属性/下达日期/工艺状态

生产订单列表
多选/分页/状态灯/编辑工艺

编辑生产工艺弹窗
原料信息/图纸/保存/下发/工序维护

生产工艺拷贝弹窗
标准工艺或生产工艺来源预览

图纸预览弹窗
零件图纸/工艺图纸 PDF

tableData
订单列表

selectedRow
当前订单

multipleSelection
批量选中订单

tableData5
当前生产工艺明细

tableData4/filteredTableData4
工序基础库

tableData6
拷贝来源工艺预览

basedatagj/basedatajc/basedatacj
量具/机床/车间

insertidx
插入占位行 id

itemdata
订单原料信息

计划排产_生产订单_订单查询

工艺管理_生产工艺_查询生产工艺

MES_ProcessManagement_ProcessGet

设备管理_设备信息_查询

工艺管理_获取物料原料信息

工艺管理_零件工序_生产工艺_*
新增/编辑/插入/删除/上下移/批量生成

工艺管理_生产工艺_*
拷贝/启用/来源查询

计划排产_生产订单_订单任务_*
整套下发/单条下发

工艺管理_图纸维护_查看图纸
工艺管理_工艺维护_查看图纸

车间生产管理工艺_零件工序_保存为标准工艺

\ No newline at end of file diff --git a/work/ProcessManagement/ProcessProduct/高清图/01_模块总览框图高清.png b/work/ProcessManagement/ProcessProduct/高清图/01_模块总览框图高清.png new file mode 100644 index 0000000..e31a25b Binary files /dev/null and b/work/ProcessManagement/ProcessProduct/高清图/01_模块总览框图高清.png differ diff --git a/work/ProcessManagement/ProcessProduct/高清图/02_编辑生产工艺详细流程.svg b/work/ProcessManagement/ProcessProduct/高清图/02_编辑生产工艺详细流程.svg new file mode 100644 index 0000000..7da0308 --- /dev/null +++ b/work/ProcessManagement/ProcessProduct/高清图/02_编辑生产工艺详细流程.svg @@ -0,0 +1 @@ +

量具

机床

车间

用户点击订单行: 编辑工艺

建议先设置 selectedRow = row
当前源码依赖 row-click 已触发

打开 dialogcasual
loading = true

getitemdata(row.订单编号)

工艺管理_获取物料原料信息

U_MoType == 机加件?

写入 itemdata
子件编码/名称/计划数量/材质/基本数量/存货量

过滤掉

editProcesssearch(row)

工艺管理_生产工艺_查询生产工艺
入参: 物料编号, 订单编号

tableData5 = 当前生产工艺明细

getProcess

MES_ProcessManagement_ProcessGet
入参: 工艺编号=''

tableData4/filteredTableData4
左侧工序基础库

getbasedata

设备管理_设备信息_查询

按设备类型名称分类

basedatagj
工装量具选项

basedatajc
指定机床选项

basedatacj
车间选项

fninsertidx

存在空工艺名称行?

insertidx = 空行 id
左侧选工序时填入占位

insertidx 保持或为 0

工卡量具/指定机床为逗号字符串?

split,map Number
转换为多选数组

保持原值

编辑弹窗可操作

查看图纸

新增/插入/删除/排序工序

编辑工时/设备/车间/属性/说明/备注

保存/启用

保存为标准工艺

整套或单条下发任务

\ No newline at end of file diff --git a/work/ProcessManagement/ProcessProduct/高清图/02_编辑生产工艺详细流程高清.png b/work/ProcessManagement/ProcessProduct/高清图/02_编辑生产工艺详细流程高清.png new file mode 100644 index 0000000..33b0e60 Binary files /dev/null and b/work/ProcessManagement/ProcessProduct/高清图/02_编辑生产工艺详细流程高清.png differ diff --git a/work/ProcessManagement/ProcessProduct/高清图/03_工序维护与明细编辑流程.svg b/work/ProcessManagement/ProcessProduct/高清图/03_工序维护与明细编辑流程.svg new file mode 100644 index 0000000..1b2225d --- /dev/null +++ b/work/ProcessManagement/ProcessProduct/高清图/03_工序维护与明细编辑流程.svg @@ -0,0 +1 @@ +

否: 普通新增

是: 填入占位行

编辑生产工艺弹窗

左侧工序基础库
filteredTableData4

右侧生产工艺明细
tableData5

输入 processSearchName

filterProcess
按 工艺名称 includes 过滤

点击某个工序 editProcedure(row)

insertidx 是否非 0?

组装参数
工艺编号/物料编号/计划数量/订单编号

工艺管理_零件工序_生产工艺_修改数据

重新查询生产工艺

组装参数
工艺编号/idd/计划数量/订单编号

工艺管理_零件工序_生产工艺_编辑插入工序

编辑字段
准备工时/标准工时/工时合计
工卡量具/指定机床/车间/属性
工艺要求/备注

规范化工卡量具/指定机床
数组/对象/字符串 -> 数组

工艺管理_零件工序_生产工艺_编辑

当前无成功提示
后台即时保存

上移工序

工艺管理_零件工序_生产工艺_上移工序

下移工序

工艺管理_零件工序_生产工艺_下移工序

插入工序

工艺管理_零件工序_生产工艺_插入工序
生成空占位行

删除工序

工艺管理_零件工序_生产工艺_删除工序

工艺管理_生产工艺_查询生产工艺

刷新 tableData5

fninsertidx
识别占位行/转换多选字段

\ No newline at end of file diff --git a/work/ProcessManagement/ProcessProduct/高清图/03_工序维护与明细编辑流程高清.png b/work/ProcessManagement/ProcessProduct/高清图/03_工序维护与明细编辑流程高清.png new file mode 100644 index 0000000..e3531de Binary files /dev/null and b/work/ProcessManagement/ProcessProduct/高清图/03_工序维护与明细编辑流程高清.png differ diff --git a/work/ProcessManagement/ProcessProduct/高清图/04_批量生成拷贝保存下发流程.svg b/work/ProcessManagement/ProcessProduct/高清图/04_批量生成拷贝保存下发流程.svg new file mode 100644 index 0000000..6465164 --- /dev/null +++ b/work/ProcessManagement/ProcessProduct/高清图/04_批量生成拷贝保存下发流程.svg @@ -0,0 +1 @@ +

任务下发

整套下发 workprocess

tableData5.length 小于 1?

提示下发失败

计划排产_生产订单_订单任务_生产工艺任务下发
订单编号/物料编号/计划数量

result != 0?

提示操作成功
刷新列表/关闭弹窗

提示已下发任务
刷新列表/关闭弹窗

单条下发 oneworkprocess(row)

计划排产_生产订单_订单任务_单条生产工艺任务下发
订单编号/物料编号/计划数量/工艺顺序

提示操作成功
刷新列表/不关闭弹窗

保存与沉淀

保存按钮 saveProcess

工艺管理_生产工艺_启用
入参: 订单编号

提示操作成功

保存为标准工艺 processSave

车间生产管理工艺_零件工序_保存为标准工艺
入参: 物料编号/订单编号

result == '1'?

提示保存成功

提示保存失败

工艺拷贝 当前入口被注释

否: 标准工艺来源

是: 生产工艺来源

copyData 打开生产工艺拷贝弹窗

processprodutc 勾选?

工艺管理_生产工艺_标准工艺拷贝
获取候选零件

MES_ProcessManagement_ProcessBindGet
预览标准工艺明细

工艺管理_生产工艺_生产工艺拷贝
获取候选物料

工艺管理_制定标准工艺_拷贝生产工艺
预览生产工艺明细

submitCopy

工艺管理_生产工艺_工艺拷贝
物料编号/零件图号/订单编号/计划数量/工艺类型

result == '1'?

提示拷贝成功
刷新当前生产工艺

提示拷贝失败

批量生成生产工艺

列表勾选订单

AllProductProcess

multipleSelection.length >= 1?

提示: 请勾选数据

过滤选中行
标准工艺 == 1 且 生产工艺 != 1

拼接订单编号/物料编号/计划数量
逗号字符串

工艺管理_零件工序_生产工艺_批量生成生产工艺

刷新订单列表 searchTable

\ No newline at end of file diff --git a/work/ProcessManagement/ProcessProduct/高清图/04_批量生成拷贝保存下发流程高清.png b/work/ProcessManagement/ProcessProduct/高清图/04_批量生成拷贝保存下发流程高清.png new file mode 100644 index 0000000..667c2ee Binary files /dev/null and b/work/ProcessManagement/ProcessProduct/高清图/04_批量生成拷贝保存下发流程高清.png differ diff --git a/work/ProcessManagement/ProcessProduct/高清图/05_后台过程关系框图.svg b/work/ProcessManagement/ProcessProduct/高清图/05_后台过程关系框图.svg new file mode 100644 index 0000000..5d8ede0 --- /dev/null +++ b/work/ProcessManagement/ProcessProduct/高清图/05_后台过程关系框图.svg @@ -0,0 +1 @@ +

业务数据对象

存储过程/接口

前端方法

批量生成入口

searchTable
订单列表查询

editProcess/editProcesssearch
打开编辑并查工艺

getitemdata
查原料

getProcess
查工序基础库

getbasedata
查设备基础数据

editProcedure/updateProcess/updateProcess2
新增或编辑工序

upOne/downOne/insertOne/deleteOne
排序插入删除

copyData/searchTable2/searchTable4/submitCopy
工艺拷贝

saveProcess/processSave
启用/保存为标准工艺

workprocess/oneworkprocess
任务下发

getNum/getNum2
图纸查看

计划排产_生产订单_订单查询

工艺管理_生产工艺_查询生产工艺

工艺管理_获取物料原料信息

MES_ProcessManagement_ProcessGet

设备管理_设备信息_查询

工艺管理_零件工序_生产工艺_修改数据

工艺管理_零件工序_生产工艺_编辑

工艺管理_零件工序_生产工艺_编辑插入工序

工艺管理_零件工序_生产工艺_上移工序/下移工序/插入工序/删除工序

工艺管理_生产工艺_生产工艺拷贝/标准工艺拷贝

MES_ProcessManagement_ProcessBindGet

工艺管理_制定标准工艺_拷贝生产工艺

工艺管理_生产工艺_工艺拷贝

工艺管理_生产工艺_启用

车间生产管理工艺_零件工序_保存为标准工艺

计划排产_生产订单_订单任务_生产工艺任务下发

计划排产_生产订单_订单任务_单条生产工艺任务下发

工艺管理_图纸维护_查看图纸

工艺管理_工艺维护_查看图纸

工艺管理_零件工序_生产工艺_批量生成生产工艺

生产订单/计划排产数据

标准工艺库

订单级生产工艺库

工序基础表

设备基础资料
量具/机床/车间

物料原料/BOM/库存线索

零件图纸/工艺图纸 PDF

生产任务/工序任务

\ No newline at end of file diff --git a/work/ProcessManagement/ProcessProduct/高清图/05_后台过程关系框图高清.png b/work/ProcessManagement/ProcessProduct/高清图/05_后台过程关系框图高清.png new file mode 100644 index 0000000..0566903 Binary files /dev/null and b/work/ProcessManagement/ProcessProduct/高清图/05_后台过程关系框图高清.png differ