加入辅料备件
This commit is contained in:
@@ -40,9 +40,11 @@
|
||||
e.total_consumption AS totalConsumption,
|
||||
e.energy_cost AS totalEnergyCost,
|
||||
IFNULL(s.stock_cost, 0) AS stockCost,
|
||||
IFNULL(x.aux_cost, 0) AS auxCost,
|
||||
IFNULL(x.spare_cost, 0) AS spareCost,
|
||||
IFNULL(s.total_net_weight, 0) AS totalNetWeight,
|
||||
IFNULL(s.total_gross_weight, 0) AS totalGrossWeight,
|
||||
(IFNULL(e.energy_cost, 0) + IFNULL(s.stock_cost, 0)) AS totalCost
|
||||
(IFNULL(e.energy_cost, 0) + IFNULL(s.stock_cost, 0) + IFNULL(x.aux_cost, 0) + IFNULL(x.spare_cost, 0)) AS totalCost
|
||||
FROM (
|
||||
SELECT enter_coil_no FROM (
|
||||
SELECT DISTINCT c.enter_coil_no
|
||||
@@ -222,6 +224,82 @@
|
||||
</if>
|
||||
GROUP BY m.enter_coil_no
|
||||
) s ON aid.enter_coil_no = s.enter_coil_no
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
dm.enter_coil_no,
|
||||
SUM(
|
||||
CASE
|
||||
WHEN dm.total_minutes > 0
|
||||
THEN IFNULL(a.aux_amount, 0) * (dm.coil_minutes / dm.total_minutes)
|
||||
ELSE 0
|
||||
END
|
||||
) AS aux_cost,
|
||||
SUM(
|
||||
CASE
|
||||
WHEN dm.total_minutes > 0
|
||||
THEN IFNULL(p.spare_amount, 0) * (dm.coil_minutes / dm.total_minutes)
|
||||
ELSE 0
|
||||
END
|
||||
) AS spare_cost
|
||||
FROM (
|
||||
SELECT
|
||||
DATE(pa.create_time) AS day_key,
|
||||
c.enter_coil_no,
|
||||
SUM(
|
||||
CASE
|
||||
WHEN pa.create_time < COALESCE(pa.complete_time, NOW())
|
||||
THEN TIMESTAMPDIFF(MINUTE, pa.create_time, COALESCE(pa.complete_time, NOW()))
|
||||
ELSE 0
|
||||
END
|
||||
) AS coil_minutes,
|
||||
td.total_minutes
|
||||
FROM wms_coil_pending_action pa
|
||||
LEFT JOIN wms_material_coil c ON pa.coil_id = c.coil_id
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
DATE(pa_all.create_time) AS day_key,
|
||||
SUM(
|
||||
CASE
|
||||
WHEN pa_all.create_time < COALESCE(pa_all.complete_time, NOW())
|
||||
THEN TIMESTAMPDIFF(MINUTE, pa_all.create_time, COALESCE(pa_all.complete_time, NOW()))
|
||||
ELSE 0
|
||||
END
|
||||
) AS total_minutes
|
||||
FROM wms_coil_pending_action pa_all
|
||||
WHERE pa_all.action_status IN (0,1,2)
|
||||
AND pa_all.create_time >= CONCAT(#{bo.startDate}, ' 00:00:00')
|
||||
AND pa_all.create_time <= CONCAT(#{bo.endDate}, ' 23:59:59')
|
||||
GROUP BY DATE(pa_all.create_time)
|
||||
) td ON td.day_key = DATE(pa.create_time)
|
||||
WHERE pa.action_status IN (0,1,2)
|
||||
AND pa.create_time >= CONCAT(#{bo.startDate}, ' 00:00:00')
|
||||
AND pa.create_time <= CONCAT(#{bo.endDate}, ' 23:59:59')
|
||||
GROUP BY DATE(pa.create_time), c.enter_coil_no, td.total_minutes
|
||||
) dm
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
DATE(change_time) AS day_key,
|
||||
SUM(IFNULL(amount, 0)) AS aux_amount
|
||||
FROM eqp_auxiliary_material_change
|
||||
WHERE del_flag = '0'
|
||||
AND change_type = '减少'
|
||||
AND change_time >= CONCAT(#{bo.startDate}, ' 00:00:00')
|
||||
AND change_time <= CONCAT(#{bo.endDate}, ' 23:59:59')
|
||||
GROUP BY DATE(change_time)
|
||||
) a ON dm.day_key = a.day_key
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
DATE(change_time) AS day_key,
|
||||
SUM(IFNULL(amount, 0)) AS spare_amount
|
||||
FROM eqp_spare_parts_change
|
||||
WHERE del_flag = '0'
|
||||
AND change_type = '减少'
|
||||
AND change_time >= CONCAT(#{bo.startDate}, ' 00:00:00')
|
||||
AND change_time <= CONCAT(#{bo.endDate}, ' 23:59:59')
|
||||
GROUP BY DATE(change_time)
|
||||
) p ON dm.day_key = p.day_key
|
||||
GROUP BY dm.enter_coil_no
|
||||
) x ON aid.enter_coil_no = x.enter_coil_no
|
||||
ORDER BY totalCost DESC
|
||||
LIMIT #{offset}, #{pageSize}
|
||||
</select>
|
||||
@@ -278,9 +356,11 @@
|
||||
e.total_consumption AS totalConsumption,
|
||||
e.energy_cost AS totalEnergyCost,
|
||||
IFNULL(s.stock_cost, 0) AS stockCost,
|
||||
IFNULL(x.aux_cost, 0) AS auxCost,
|
||||
IFNULL(x.spare_cost, 0) AS spareCost,
|
||||
IFNULL(s.total_net_weight, 0) AS totalNetWeight,
|
||||
IFNULL(s.total_gross_weight, 0) AS totalGrossWeight,
|
||||
(IFNULL(e.energy_cost, 0) + IFNULL(s.stock_cost, 0)) AS totalCost
|
||||
(IFNULL(e.energy_cost, 0) + IFNULL(s.stock_cost, 0) + IFNULL(x.aux_cost, 0) + IFNULL(x.spare_cost, 0)) AS totalCost
|
||||
FROM (
|
||||
SELECT enter_coil_no FROM (
|
||||
SELECT DISTINCT c.enter_coil_no
|
||||
@@ -412,6 +492,82 @@
|
||||
AND m.del_flag = 0
|
||||
GROUP BY m.enter_coil_no
|
||||
) s ON aid.enter_coil_no = s.enter_coil_no
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
dm.enter_coil_no,
|
||||
SUM(
|
||||
CASE
|
||||
WHEN dm.total_minutes > 0
|
||||
THEN IFNULL(a.aux_amount, 0) * (dm.coil_minutes / dm.total_minutes)
|
||||
ELSE 0
|
||||
END
|
||||
) AS aux_cost,
|
||||
SUM(
|
||||
CASE
|
||||
WHEN dm.total_minutes > 0
|
||||
THEN IFNULL(p.spare_amount, 0) * (dm.coil_minutes / dm.total_minutes)
|
||||
ELSE 0
|
||||
END
|
||||
) AS spare_cost
|
||||
FROM (
|
||||
SELECT
|
||||
DATE(pa.create_time) AS day_key,
|
||||
c.enter_coil_no,
|
||||
SUM(
|
||||
CASE
|
||||
WHEN pa.create_time < COALESCE(pa.complete_time, NOW())
|
||||
THEN TIMESTAMPDIFF(MINUTE, pa.create_time, COALESCE(pa.complete_time, NOW()))
|
||||
ELSE 0
|
||||
END
|
||||
) AS coil_minutes,
|
||||
td.total_minutes
|
||||
FROM wms_coil_pending_action pa
|
||||
LEFT JOIN wms_material_coil c ON pa.coil_id = c.coil_id
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
DATE(pa_all.create_time) AS day_key,
|
||||
SUM(
|
||||
CASE
|
||||
WHEN pa_all.create_time < COALESCE(pa_all.complete_time, NOW())
|
||||
THEN TIMESTAMPDIFF(MINUTE, pa_all.create_time, COALESCE(pa_all.complete_time, NOW()))
|
||||
ELSE 0
|
||||
END
|
||||
) AS total_minutes
|
||||
FROM wms_coil_pending_action pa_all
|
||||
WHERE pa_all.action_status IN (0,1,2)
|
||||
AND pa_all.create_time >= CONCAT(#{bo.startDate}, ' 00:00:00')
|
||||
AND pa_all.create_time <= CONCAT(#{bo.endDate}, ' 23:59:59')
|
||||
GROUP BY DATE(pa_all.create_time)
|
||||
) td ON td.day_key = DATE(pa.create_time)
|
||||
WHERE pa.action_status IN (0,1,2)
|
||||
AND pa.create_time >= CONCAT(#{bo.startDate}, ' 00:00:00')
|
||||
AND pa.create_time <= CONCAT(#{bo.endDate}, ' 23:59:59')
|
||||
GROUP BY DATE(pa.create_time), c.enter_coil_no, td.total_minutes
|
||||
) dm
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
DATE(change_time) AS day_key,
|
||||
SUM(IFNULL(amount, 0)) AS aux_amount
|
||||
FROM eqp_auxiliary_material_change
|
||||
WHERE del_flag = '0'
|
||||
AND change_type = '减少'
|
||||
AND change_time >= CONCAT(#{bo.startDate}, ' 00:00:00')
|
||||
AND change_time <= CONCAT(#{bo.endDate}, ' 23:59:59')
|
||||
GROUP BY DATE(change_time)
|
||||
) a ON dm.day_key = a.day_key
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
DATE(change_time) AS day_key,
|
||||
SUM(IFNULL(amount, 0)) AS spare_amount
|
||||
FROM eqp_spare_parts_change
|
||||
WHERE del_flag = '0'
|
||||
AND change_type = '减少'
|
||||
AND change_time >= CONCAT(#{bo.startDate}, ' 00:00:00')
|
||||
AND change_time <= CONCAT(#{bo.endDate}, ' 23:59:59')
|
||||
GROUP BY DATE(change_time)
|
||||
) p ON dm.day_key = p.day_key
|
||||
GROUP BY dm.enter_coil_no
|
||||
) x ON aid.enter_coil_no = x.enter_coil_no
|
||||
ORDER BY totalCost DESC
|
||||
</select>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user