|
|
|
|
@ -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
|
|
|
|
|
|