BNA8/.resources/04825f4ebc0f5eaaaefed29e2282326ab6ac0ec984deb5075ff184c33ca7ff36
2025-08-13 21:41:10 +04:00

38 lines
1.5 KiB
Plaintext

WITH SORTERS AS (
SELECT
DATE_FORMAT(MIN(s04_timestamp), "%Y-%m-%d %H:%i:00") AS time,
COUNT(*) AS total,
SUM(sort_code="Success") AS success,
SUM(sort_code IN ("Dest Invalid", "Dest None", "Underutilized")) AS awcs,
SUM(sort_code IN ("Dest Disabled", "Dest Full", "Dim Error", "Unexpected", "Weight Err")) AS operational,
SUM(sort_code IN ("Dest Fault", "Div Fail", "Gap Err", "Lost", "Rate High", "Track Err", "Unknown", "Unsafe")) AS machine,
SUM(sort_code IN ("No Read", "No Code", "Multi Label")) AS scanner
FROM package_history
WHERE s04_timestamp BETWEEN :startDate AND :endDate
AND sorter = :sorter
GROUP BY DATE_FORMAT(s04_timestamp, "%Y-%m-%d %H:%i:00")
ORDER BY DATE_FORMAT(s04_timestamp, "%Y-%m-%d %H:%i:00")
)
SELECT
time,
/* Counts: */
total AS total_count,
success AS success_count,
awcs AS awcs_issues_count,
operational AS operational_issues_count,
machine AS machine_issues_count,
scanner AS scanner_issues_count,
/* PPH: */
ROUND(total*60) AS total_pph,
ROUND(success*60) AS success_pph,
ROUND(awcs*60) AS awcs_issues_pph,
ROUND(operational*60) AS operational_issues_pph,
ROUND(machine*60) AS machine_issues_pph,
ROUND(scanner*60) AS scanner_issues_pph,
/* Percents: */
ROUND(success/total, 4) AS success_percent,
ROUND(awcs/total, 4) AS awcs_issues_percent,
ROUND(operational/total, 4) AS operational_issues_percent,
ROUND(machine/total, 4) AS machine_issues_percent,
ROUND(scanner/total, 4) AS scanner_issues_percent
FROM SORTERS;