43 lines
1.6 KiB
Plaintext
43 lines
1.6 KiB
Plaintext
WITH SORTERS AS (
|
|
SELECT
|
|
MIN(s04_timestamp) AS start_timestamp,
|
|
MAX(s04_timestamp) AS end_timestamp,
|
|
3600/TIMESTAMPDIFF(SECOND, :startDate, :endDate) AS pph_multiplier,
|
|
sorter,
|
|
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
|
|
GROUP BY sorter
|
|
ORDER BY sorter
|
|
)
|
|
SELECT
|
|
start_timestamp,
|
|
end_timestamp,
|
|
sorter,
|
|
/* 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*pph_multiplier) AS total_pph,
|
|
ROUND(success*pph_multiplier) AS success_pph,
|
|
ROUND(awcs*pph_multiplier) AS awcs_issues_pph,
|
|
ROUND(operational*pph_multiplier) AS operational_issues_pph,
|
|
ROUND(machine*pph_multiplier) AS machine_issues_pph,
|
|
ROUND(scanner*pph_multiplier) AS scanner_issues_pph,
|
|
/* Percents: */
|
|
ROUND(total/total, 4) AS total_percent,
|
|
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; |