From e0f9c2186fccb511948858d45d1104ae48ecf382 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Sun, 12 Oct 2025 19:26:15 +0800 Subject: [PATCH] =?UTF-8?q?change(mes):=20=E4=BF=AE=E6=AD=A3=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E6=8A=A5=E8=A1=A8=E8=AE=A1=E7=AE=97=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改了生产效率计算方式,去除生产时间依赖 - 简化了整体进度计算逻辑,仅保留完成数量占比 - 移除了在制品进度占比的复杂计算- 统一了数值型进度的计算标准 --- .../resources/mapper/mes/ProdReportMapper.xml | 23 +++---------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdReportMapper.xml b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdReportMapper.xml index b6496ee0..4d251a72 100644 --- a/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdReportMapper.xml +++ b/ruoyi-modules/hwmom-mes/src/main/resources/mapper/mes/ProdReportMapper.xml @@ -254,8 +254,7 @@ CAST( CASE WHEN DATEDIFF(SECOND, ppd.real_begin_time, ppd.real_end_time) > 0 - AND ISNULL(pproc.production_time, 0) > 0 - THEN (ppd.complete_amount * pproc.production_time + 0.0) / DATEDIFF(SECOND, ppd.real_begin_time, ppd.real_end_time) + THEN (ppd.complete_amount + 0.0) / (DATEDIFF(SECOND, ppd.real_begin_time, ppd.real_end_time) / 3600.0) ELSE NULL END AS DECIMAL(18,4) @@ -403,18 +402,10 @@ LTRIM(RTRIM(REPLACE(REPLACE(ISNULL(ps.wipProcessNames, ''), ',,', ','), ',', ','))) AS wipProcesses, LTRIM(RTRIM(REPLACE(REPLACE(ISNULL(ps.remainingProcessNames, ''), ',,', ','), ',', ','))) AS remainingProcesses, - -- 整体进度计算:已完成数量占比 + 在制品进度占比 + -- 整体进度计算:已完成数量 / 计划总数量 CONCAT( CAST( CASE - WHEN o.plan_amount > 0 AND ps.totalProcessCount > 0 - THEN ( - -- 已完成数量占比 - (CAST(ISNULL(o.complete_amount,0) AS DECIMAL(18,6)) / CAST(o.plan_amount AS DECIMAL(18,6))) * 100 + - -- 在制品进度占比:(在制数量/计划总数量) * (当前工序位置/总工序数) - (CAST(ISNULL(o.plan_amount - o.complete_amount,0) AS DECIMAL(18,6)) / CAST(o.plan_amount AS DECIMAL(18,6))) * - (CAST(ISNULL(ps.maxCompletedOrder, 0) + 1 AS DECIMAL(18,6)) / CAST(ps.totalProcessCount AS DECIMAL(18,6))) * 100 - ) WHEN o.plan_amount > 0 THEN (CAST(ISNULL(o.complete_amount,0) AS DECIMAL(18,6)) / CAST(o.plan_amount AS DECIMAL(18,6))) * 100 ELSE 0 @@ -429,17 +420,9 @@ END AS progressStatus, ISNULL(ps.totalProcessCount, 0) AS totalProcessCountNum, CAST(ISNULL(ps.wipWeightedSum, 0) AS DECIMAL(18,2)) AS wipWeightedSum, - -- 数值型整体进度 + -- 数值型整体进度(不带百分号) CAST( CASE - WHEN o.plan_amount > 0 AND ps.totalProcessCount > 0 - THEN ( - -- 已完成数量占比 - (CAST(ISNULL(o.complete_amount,0) AS DECIMAL(18,6)) / CAST(o.plan_amount AS DECIMAL(18,6))) * 100 + - -- 在制品进度占比 - (CAST(ISNULL(o.plan_amount - o.complete_amount,0) AS DECIMAL(18,6)) / CAST(o.plan_amount AS DECIMAL(18,6))) * - (CAST(ISNULL(ps.maxCompletedOrder, 0) + 1 AS DECIMAL(18,6)) / CAST(ps.totalProcessCount AS DECIMAL(18,6))) * 100 - ) WHEN o.plan_amount > 0 THEN (CAST(ISNULL(o.complete_amount,0) AS DECIMAL(18,6)) / CAST(o.plan_amount AS DECIMAL(18,6))) * 100 ELSE 0