diff --git a/.resources/01970e894549f6978724818fe993cdb303c103c635e0ef7a3be1cc4c29d8d1cb b/.resources/01970e894549f6978724818fe993cdb303c103c635e0ef7a3be1cc4c29d8d1cb deleted file mode 100644 index 916c1e33..00000000 --- a/.resources/01970e894549f6978724818fe993cdb303c103c635e0ef7a3be1cc4c29d8d1cb +++ /dev/null @@ -1,14 +0,0 @@ --- Hourly Induct Graph Query (Rate) --- Shows every hour in detail for graphing - -SELECT - CONCAT('H', TIMESTAMPDIFF(HOUR, - DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), - DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") - )) AS Hour, - COUNT(*) AS Total -FROM alltable -WHERE t_stamp BETWEEN :starttime AND :endtime -GROUP BY DATE(t_stamp), HOUR(t_stamp) -ORDER BY DATE(t_stamp) ASC, HOUR(t_stamp) ASC; - diff --git a/.resources/0437122169fcfedd4d2f49a22791aed569f02eb25dc5aee2cf0eb41ad926d07e b/.resources/0437122169fcfedd4d2f49a22791aed569f02eb25dc5aee2cf0eb41ad926d07e deleted file mode 100644 index b23f33dc..00000000 --- a/.resources/0437122169fcfedd4d2f49a22791aed569f02eb25dc5aee2cf0eb41ad926d07e +++ /dev/null @@ -1,209 +0,0 @@ -SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, - CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS `Hour`, - sScanner_Name AS `Scanner Name`, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_bad_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS `Total Bad Reads`, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_comm_fault), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS `Total Comm Faults`, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_good_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS `Total Good Reads`, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_multi_items), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS `Total Multi Items`, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_multi_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS `Total Multi Reads`, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_no_data), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS `Total No Data`, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_no_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS `Total No Reads` -FROM scanner_reads -WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sScanner_Name = :scannername OR :scannername IS NULL OR :scannername = '') -GROUP BY DATE(t_stamp), HOUR(t_stamp), sScanner_Name - -UNION ALL - -SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, - CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS `Hour`, - 'S03aa' AS `Scanner Name`, - CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) - END, '%' - ) AS `Total Bad Reads`, - '0%' AS `Total Comm Faults`, - CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) - END, '%' - ) AS `Total Good Reads`, - '0%' AS `Total Multi Items`, - CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) - END, '%' - ) AS `Total Multi Reads`, - CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) - END, '%' - ) AS `Total No Data`, - CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) - END, '%' - ) AS `Total No Reads` -FROM item_data -WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' - AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') -GROUP BY DATE(t_stamp), HOUR(t_stamp) -ORDER BY `Start Timestamp` ASC; - diff --git a/.resources/1392eac9f961dcd959bc98038013321395a78e6d889e792e084f6dd0efbc1b53 b/.resources/1392eac9f961dcd959bc98038013321395a78e6d889e792e084f6dd0efbc1b53 deleted file mode 100644 index 5f6e15d8..00000000 Binary files a/.resources/1392eac9f961dcd959bc98038013321395a78e6d889e792e084f6dd0efbc1b53 and /dev/null differ diff --git a/.resources/1d7750cbbc3cf985051d27a690bb4fb9110739a9b1ed64370eff08d8af06e4e1 b/.resources/1d7750cbbc3cf985051d27a690bb4fb9110739a9b1ed64370eff08d8af06e4e1 deleted file mode 100644 index 113ea540..00000000 --- a/.resources/1d7750cbbc3cf985051d27a690bb4fb9110739a9b1ed64370eff08d8af06e4e1 +++ /dev/null @@ -1,60 +0,0 @@ -SELECT - 'S03' AS Sorter, - DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS start_time, - DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS end_time, - 'S03aa' AS sScanner_Name, - - CASE - WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 - ELSE ROUND(COALESCE(sorter_total.total_bad_reads, 0) * 3600.0 - / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) - END AS total_bad_reads, - - 0 AS total_comm_faults, - - CASE - WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 - ELSE ROUND(COALESCE(sorter_total.total_good_reads, 0) * 3600.0 - / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) - END AS total_good_reads, - - 0 AS total_multi_items, - - CASE - WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 - ELSE ROUND(COALESCE(sorter_total.total_multi_reads, 0) * 3600.0 - / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) - END AS total_multi_reads, - - CASE - WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 - ELSE ROUND(COALESCE(sorter_total.total_no_data, 0) * 3600.0 - / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) - END AS total_no_data, - - CASE - WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 - ELSE ROUND(COALESCE(sorter_total.total_no_reads, 0) * 3600.0 - / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) - END AS total_no_reads, - - CASE - WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 - ELSE ROUND(COALESCE(sorter_total.total, 0) * 3600.0 - / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) - END AS total - -FROM (SELECT 1) AS p -LEFT JOIN ( - SELECT - SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) AS total_bad_reads, - SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS total_good_reads, - SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) AS total_multi_reads, - SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) AS total_no_data, - SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) AS total_no_reads, - COUNT(*) AS total - FROM item_data - WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' -) AS sorter_total ON 1 = 1; diff --git a/.resources/1f68f6c57744ed48c999e24a0f8b5a8a60891e4fdfab1df7b5d519e9b133569c b/.resources/1f68f6c57744ed48c999e24a0f8b5a8a60891e4fdfab1df7b5d519e9b133569c deleted file mode 100644 index 160426ae..00000000 --- a/.resources/1f68f6c57744ed48c999e24a0f8b5a8a60891e4fdfab1df7b5d519e9b133569c +++ /dev/null @@ -1,63 +0,0 @@ -SELECT - roundtime AS `Round Time`, - sScanner_Name AS `Scanner Name`, - COALESCE(total_bad_reads, 0) AS `Total Bad Reads`, - COALESCE(total_comm_faults, 0) AS `Total Comm Faults`, - COALESCE(total_good_reads, 0) AS `Total Good Reads`, - COALESCE(total_multi_items, 0) AS `Total Multi Items`, - COALESCE(total_multi_reads, 0) AS `Total Multi Reads`, - COALESCE(total_no_data, 0) AS `Total No Data`, - COALESCE(total_no_reads, 0) AS `Total No Reads`, - COALESCE(total_bad_reads, 0) + - COALESCE(total_comm_faults, 0) + - COALESCE(total_good_reads, 0) + - COALESCE(total_multi_items, 0) + - COALESCE(total_multi_reads, 0) + - COALESCE(total_no_data, 0) + - COALESCE(total_no_reads, 0) AS `Total` -FROM ( - SELECT - FROM_UNIXTIME( - FLOOR(UNIX_TIMESTAMP(t_stamp) / - CEIL(TIMESTAMPDIFF(SECOND, :starttime, :endtime) / 24.0) - ) * - CEIL(TIMESTAMPDIFF(SECOND, :starttime, :endtime) / 24.0) - ) AS roundtime, - sScanner_Name, - SUM(diScanner_bad_reads) AS total_bad_reads, - SUM(diScanner_comm_fault) AS total_comm_faults, - SUM(diScanner_good_reads) AS total_good_reads, - SUM(diScanner_multi_items) AS total_multi_items, - SUM(diScanner_multi_reads) AS total_multi_reads, - SUM(diScanner_no_data) AS total_no_data, - SUM(diScanner_no_reads) AS total_no_reads - FROM scanner_reads - WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sScanner_Name = :scannername OR :scannername IS NULL OR :scannername = '') - GROUP BY roundtime, sScanner_Name - - UNION ALL - - SELECT - FROM_UNIXTIME( - FLOOR(UNIX_TIMESTAMP(t_stamp) / - CEIL(TIMESTAMPDIFF(SECOND, :starttime, :endtime) / 24.0) - ) * - CEIL(TIMESTAMPDIFF(SECOND, :starttime, :endtime) / 24.0) - ) AS roundtime, - 'S03aa' AS sScanner_Name, - SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) AS total_bad_reads, - 0 AS total_comm_faults, - SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS total_good_reads, - 0 AS total_multi_items, - SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) AS total_multi_reads, - SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) AS total_no_data, - SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) AS total_no_reads - FROM item_data - WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' - AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') - GROUP BY roundtime - ORDER BY roundtime ASC -) basa; diff --git a/.resources/8675fc47b6922ba3c589314eb1b3fd51417b10b89d2cd267cbee1aebfd2266f3 b/.resources/20e941f59abf4746389f7b2046a81efc5468924a7deb9cbe3642a157d986b932 similarity index 95% rename from .resources/8675fc47b6922ba3c589314eb1b3fd51417b10b89d2cd267cbee1aebfd2266f3 rename to .resources/20e941f59abf4746389f7b2046a81efc5468924a7deb9cbe3642a157d986b932 index 7a629f4d..c885b05d 100644 --- a/.resources/8675fc47b6922ba3c589314eb1b3fd51417b10b89d2cd267cbee1aebfd2266f3 +++ b/.resources/20e941f59abf4746389f7b2046a81efc5468924a7deb9cbe3642a157d986b932 @@ -5,9 +5,7 @@ SELECT 'S03aa' AS sScanner_Name, COALESCE(sorter_total.total_bad_reads, 0) AS total_bad_reads, - 0 AS total_comm_faults, COALESCE(sorter_total.total_good_reads, 0) AS total_good_reads, - 0 AS total_multi_items, COALESCE(sorter_total.total_multi_reads, 0) AS total_multi_reads, COALESCE(sorter_total.total_no_data, 0) AS total_no_data, COALESCE(sorter_total.total_no_reads, 0) AS total_no_reads, diff --git a/.resources/2501ac305875aaff82fd2332cd0c374bd52a3e9b0b6355bdf7eea870715622f2 b/.resources/2501ac305875aaff82fd2332cd0c374bd52a3e9b0b6355bdf7eea870715622f2 deleted file mode 100644 index da6eeedc..00000000 --- a/.resources/2501ac305875aaff82fd2332cd0c374bd52a3e9b0b6355bdf7eea870715622f2 +++ /dev/null @@ -1,229 +0,0 @@ -SELECT - COALESCE(data.roundtime, 'N/A') AS StartTimestamp, - COALESCE(CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(data.roundtime, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))), 'N/A') AS Hour, - COALESCE(data.sScanner_Name, 'N/A') AS sScanner_Name, - COALESCE(data.BadReads, '0%') AS BadReads, - COALESCE(data.CommFaults, '0%') AS CommFaults, - COALESCE(data.GoodReads, '0%') AS GoodReads, - COALESCE(data.MultiItems, '0%') AS MultiItems, - COALESCE(data.MultiReads, '0%') AS MultiReads, - COALESCE(data.NoData, '0%') AS NoData, - COALESCE(data.NoReads, '0%') AS NoReads, - COALESCE(data.Total, 0) AS Total -FROM (SELECT 1) AS p -LEFT JOIN ( - SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, - sScanner_Name, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_bad_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS BadReads, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_comm_fault), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS CommFaults, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_good_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS GoodReads, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_multi_items), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS MultiItems, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_multi_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS MultiReads, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_no_data), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS NoData, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_no_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS NoReads, - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) AS Total - FROM scanner_reads - WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sScanner_Name = :scannername OR :scannername IS NULL OR :scannername = '') - GROUP BY DATE(t_stamp), HOUR(t_stamp), sScanner_Name - - UNION ALL - - SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, - 'S03aa' AS sScanner_Name, - CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) - END, '%' - ) AS BadReads, - '0%' AS CommFaults, - CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) - END, '%' - ) AS GoodReads, - '0%' AS MultiItems, - CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) - END, '%' - ) AS MultiReads, - CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) - END, '%' - ) AS NoData, - CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) - END, '%' - ) AS NoReads, - COUNT(*) AS Total - FROM item_data - WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' - AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') - GROUP BY DATE(t_stamp), HOUR(t_stamp) -) AS data ON 1=1 -ORDER BY data.roundtime ASC; diff --git a/.resources/26c4558f2baf5b132815d871a8194116770c8c71f0c4a3e2c67dab2a124e5758 b/.resources/26c4558f2baf5b132815d871a8194116770c8c71f0c4a3e2c67dab2a124e5758 new file mode 100644 index 00000000..cf68c596 Binary files /dev/null and b/.resources/26c4558f2baf5b132815d871a8194116770c8c71f0c4a3e2c67dab2a124e5758 differ diff --git a/.resources/2be934862371fb8b518432ef13682780a37e86f32fc5fa8a59ace7f66131e634 b/.resources/2be934862371fb8b518432ef13682780a37e86f32fc5fa8a59ace7f66131e634 deleted file mode 100644 index 13fd25a0..00000000 --- a/.resources/2be934862371fb8b518432ef13682780a37e86f32fc5fa8a59ace7f66131e634 +++ /dev/null @@ -1,59 +0,0 @@ --- Hourly Sorter Details Rate Query (Table Display) --- Shows every hour in detail with all sorter statistics as rates (items per hour) --- Rate calculation matches SorterDetails_Rate.sql formula - -SELECT - CONCAT(DATE(Startstamp), ' ', LPAD(HOUR(Startstamp), 2, '0'), ':00') AS Startstamp, - CONCAT('H', TIMESTAMPDIFF(HOUR, - DATE_FORMAT(Startstamp, "%Y-%m-%d %H:00:00"), - DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") - )) AS Hour, - CONCAT(ROUND(success_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS success_rate, - CONCAT(ROUND(unknown_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS unknown_rate, - CONCAT(ROUND(unexpected_container_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS unexpected_container_rate, - CONCAT(ROUND(tracking_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS tracking_error_rate, - CONCAT(ROUND(gap_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS gap_error_rate, - CONCAT(ROUND(destination_full_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_full_rate, - CONCAT(ROUND(destination_non_operational_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_non_operational_rate, - CONCAT(ROUND(invalid_destination_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS invalid_destination_rate, - CONCAT(ROUND(destination_disabled_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_disabled_rate, - CONCAT(ROUND(throughput_limit_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS throughput_limit_rate, - CONCAT(ROUND(failed_to_divert_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS failed_to_divert_rate, - CONCAT(ROUND(no_destination_received_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS no_destination_received_rate, - CONCAT(ROUND(lost_container_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS lost_container_rate, - CONCAT(ROUND(dimension_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS dimension_error_rate, - CONCAT(ROUND(weight_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS weight_error_rate, - CONCAT(ROUND(container_utilization_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS container_utilization_rate, - CONCAT(ROUND(unable_to_divert_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS unable_to_divert_rate, - CONCAT(ROUND(destination_not_attempted_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_not_attempted_rate, - CONCAT(ROUND(scan_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS scan_error_rate -FROM ( - SELECT - DATE(t_stamp) AS date_part, - HOUR(t_stamp) AS hour_part, - MIN(t_stamp) AS Startstamp, - MAX(t_stamp) AS Endtstamp, - SUM(DivertStatus = 0) AS success_count, - SUM(DivertStatus = 1) AS unknown_count, - SUM(DivertStatus = 2) AS unexpected_container_count, - SUM(DivertStatus = 3) AS tracking_error_count, - SUM(DivertStatus = 4) AS gap_error_count, - SUM(DivertStatus = 5) AS destination_full_count, - SUM(DivertStatus = 6) AS destination_non_operational_count, - SUM(DivertStatus = 7) AS invalid_destination_count, - SUM(DivertStatus = 12) AS destination_disabled_count, - SUM(DivertStatus = 13) AS throughput_limit_count, - SUM(DivertStatus = 14) AS failed_to_divert_count, - SUM(DivertStatus = 16) AS no_destination_received_count, - SUM(DivertStatus = 17) AS lost_container_count, - SUM(DivertStatus = 18) AS dimension_error_count, - SUM(DivertStatus = 19) AS weight_error_count, - SUM(DivertStatus = 20) AS container_utilization_count, - SUM(DivertStatus = 21) AS unable_to_divert_count, - SUM(DivertStatus = 22) AS destination_not_attempted_count, - SUM(DivertStatus IN (8, 9, 10)) AS scan_error_count - FROM alltable - WHERE t_stamp BETWEEN :starttime AND :endtime - GROUP BY DATE(t_stamp), HOUR(t_stamp) -) counts -ORDER BY Startstamp ASC; \ No newline at end of file diff --git a/.resources/3fec25420695f06292a18c895ec9f331d0aaa7757caa0225b5594a71417adc9b b/.resources/3fec25420695f06292a18c895ec9f331d0aaa7757caa0225b5594a71417adc9b new file mode 100644 index 00000000..71179b7b Binary files /dev/null and b/.resources/3fec25420695f06292a18c895ec9f331d0aaa7757caa0225b5594a71417adc9b differ diff --git a/.resources/7a7152d375b05f54c24fc56cd38e2ecdf043b16ca4f9913dd0c3d78246e454e5 b/.resources/45babef86efc0e145025e8869b6bd1af4c55891cedc35d91670153cb91ba9179 similarity index 65% rename from .resources/7a7152d375b05f54c24fc56cd38e2ecdf043b16ca4f9913dd0c3d78246e454e5 rename to .resources/45babef86efc0e145025e8869b6bd1af4c55891cedc35d91670153cb91ba9179 index 7eb72dc7..a1126ad8 100644 --- a/.resources/7a7152d375b05f54c24fc56cd38e2ecdf043b16ca4f9913dd0c3d78246e454e5 +++ b/.resources/45babef86efc0e145025e8869b6bd1af4c55891cedc35d91670153cb91ba9179 @@ -5,9 +5,7 @@ SELECT 'S03aa' AS sScanner_Name, CONCAT(COALESCE(sorter_total.total_bad_reads, 0), '%') AS total_bad_reads, - '0%' AS total_comm_faults, CONCAT(COALESCE(sorter_total.total_good_reads, 0), '%') AS total_good_reads, - '0%' AS total_multi_items, CONCAT(COALESCE(sorter_total.total_multi_reads, 0), '%') AS total_multi_reads, CONCAT(COALESCE(sorter_total.total_no_data, 0), '%') AS total_no_data, CONCAT(COALESCE(sorter_total.total_no_reads, 0), '%') AS total_no_reads, @@ -17,28 +15,29 @@ FROM (SELECT 1) AS p LEFT JOIN ( SELECT CASE WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + ELSE ROUND((SUM(adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15)) * 100.0) / COUNT(*), 2) END AS total_bad_reads, CASE WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + ELSE ROUND((SUM(adiSort_Code_0 = 0) * 100.0) / COUNT(*), 2) END AS total_good_reads, CASE WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + ELSE ROUND((SUM(adiSort_Code_0 = 10) * 100.0) / COUNT(*), 2) END AS total_multi_reads, CASE WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + ELSE ROUND((SUM(adiSort_Code_0 = 9) * 100.0) / COUNT(*), 2) END AS total_no_data, CASE WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + ELSE ROUND((SUM(adiSort_Code_0 = 8) * 100.0) / COUNT(*), 2) END AS total_no_reads, COUNT(*) AS total + FROM item_data WHERE t_stamp BETWEEN :starttime AND :endtime AND adiSort_Code_0 NOT IN (11, 15) AND sLocation_ID LIKE 'S03%' -) AS sorter_total ON 1=1; +) AS sorter_total ON 1 = 1; diff --git a/.resources/49ae9770d2eddd377b8a4e305aaee5e2d1cba96fe5a89414422c35d1c866a7e0 b/.resources/49ae9770d2eddd377b8a4e305aaee5e2d1cba96fe5a89414422c35d1c866a7e0 deleted file mode 100644 index a45e3cdf..00000000 --- a/.resources/49ae9770d2eddd377b8a4e305aaee5e2d1cba96fe5a89414422c35d1c866a7e0 +++ /dev/null @@ -1,35 +0,0 @@ -SELECT - COALESCE(data.roundtime, 'N/A') AS StartTimestamp, - COALESCE(CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(data.roundtime, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))), 'N/A') AS Hour, - COALESCE(data.sInduction_Name, 'N/A') AS sInduction_Name, - COALESCE(data.SingleCarrier_count, 0) AS SingleCarrier_count, - COALESCE(data.DoubleCarrier_count, 0) AS DoubleCarrier_count, - COALESCE(data.SingleCarrier_count, 0) + COALESCE(data.DoubleCarrier_count, 0) AS Total_count -FROM (SELECT 1) AS p -LEFT JOIN ( - SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, - sInduction_Name, - SUM(diTotal_Single_Carrier) AS SingleCarrier_count, - SUM(diTotal_Double_Carrier) AS DoubleCarrier_count - FROM induction_data - WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sInduction_Name = :inductionname OR :inductionname IS NULL OR :inductionname = '') - GROUP BY DATE(t_stamp), HOUR(t_stamp), sInduction_Name - - UNION ALL - - SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, - 'S03' AS sInduction_Name, - COUNT(*) AS SingleCarrier_count, - 0 AS DoubleCarrier_count - FROM item_data - WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' - AND (:inductionname IS NULL OR :inductionname = '' OR :inductionname = 'S03') - GROUP BY DATE(t_stamp), HOUR(t_stamp) -) AS data ON 1=1 -ORDER BY data.roundtime ASC; - diff --git a/.resources/61f1d12b5e364c065949ca3b6a593989f875469887fc85046d373546cc76acf3 b/.resources/61f1d12b5e364c065949ca3b6a593989f875469887fc85046d373546cc76acf3 deleted file mode 100644 index 5e91ddc3..00000000 --- a/.resources/61f1d12b5e364c065949ca3b6a593989f875469887fc85046d373546cc76acf3 +++ /dev/null @@ -1,62 +0,0 @@ --- Hourly Lane Graph Query (Rate per hour) --- Shows every hour in detail with all lane statistics as rates (items per hour) for graphing --- Rate calculation matches LaneDetails_Rate.sql formula --- Filtered by specific lane parameter - -SELECT - CONCAT('H', TIMESTAMPDIFF(HOUR, - DATE_FORMAT(Startstamp, "%Y-%m-%d %H:00:00"), - DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") - )) AS Hour, - ROUND(total_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Total, - ROUND(success_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Sorted, - ROUND(unknown_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Unknown, - ROUND(unexpected_container_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Unexpected, - ROUND(tracking_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS TrackingError, - ROUND(gap_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS GapError, - ROUND(destination_full_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationFull, - ROUND(destination_non_operational_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationFault, - ROUND(invalid_destination_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationInvalid, - ROUND(destination_disabled_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationDisabled, - ROUND(throughput_limit_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS ThroughputLimit, - ROUND(failed_to_divert_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DivertFail, - ROUND(no_destination_received_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationNone, - ROUND(lost_container_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Lost, - ROUND(dimension_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DimensionError, - ROUND(weight_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS WeightError, - ROUND(container_utilization_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS ContainerUtilization, - ROUND(unable_to_divert_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS UnableToDivert, - ROUND(destination_not_attempted_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationNotAttempted, - ROUND(scan_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS ScanError -FROM ( - SELECT - DATE(t_stamp) AS date_part, - HOUR(t_stamp) AS hour_part, - MIN(t_stamp) AS Startstamp, - MAX(t_stamp) AS Endtstamp, - COUNT(*) AS total_count, - SUM(DivertStatus = 0) AS success_count, - SUM(DivertStatus = 1) AS unknown_count, - SUM(DivertStatus = 2) AS unexpected_container_count, - SUM(DivertStatus = 3) AS tracking_error_count, - SUM(DivertStatus = 4) AS gap_error_count, - SUM(DivertStatus = 5) AS destination_full_count, - SUM(DivertStatus = 6) AS destination_non_operational_count, - SUM(DivertStatus = 7) AS invalid_destination_count, - SUM(DivertStatus = 12) AS destination_disabled_count, - SUM(DivertStatus = 13) AS throughput_limit_count, - SUM(DivertStatus = 14) AS failed_to_divert_count, - SUM(DivertStatus = 16) AS no_destination_received_count, - SUM(DivertStatus = 17) AS lost_container_count, - SUM(DivertStatus = 18) AS dimension_error_count, - SUM(DivertStatus = 19) AS weight_error_count, - SUM(DivertStatus = 20) AS container_utilization_count, - SUM(DivertStatus = 21) AS unable_to_divert_count, - SUM(DivertStatus = 22) AS destination_not_attempted_count, - SUM(DivertStatus IN (8, 9, 10)) AS scan_error_count - FROM alltable - WHERE DEST_REQ = :lane AND t_stamp BETWEEN :starttime AND :endtime - GROUP BY DATE(t_stamp), HOUR(t_stamp) -) counts -ORDER BY Startstamp ASC; - diff --git a/.resources/750a42452c34a0ba9c8635cd99055903be2d24f0e4e0842f50f1ff37e46668af b/.resources/750a42452c34a0ba9c8635cd99055903be2d24f0e4e0842f50f1ff37e46668af deleted file mode 100644 index 77e2a0d3..00000000 --- a/.resources/750a42452c34a0ba9c8635cd99055903be2d24f0e4e0842f50f1ff37e46668af +++ /dev/null @@ -1,14 +0,0 @@ -SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, - CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS `Hour`, - 'S03' AS `Induction Name`, - '100%' AS `Total Single Carrier`, - '0%' AS `Total Double Carrier` -FROM item_data -WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' - AND (:inductionname IS NULL OR :inductionname = '' OR :inductionname = 'S03') -GROUP BY DATE(t_stamp), HOUR(t_stamp) -ORDER BY `Start Timestamp` ASC; - diff --git a/.resources/97878c5888a407ebd30d1f3fa1eec83d034351913c602163d58763d6e5241e37 b/.resources/97878c5888a407ebd30d1f3fa1eec83d034351913c602163d58763d6e5241e37 deleted file mode 100644 index 63baa46e..00000000 --- a/.resources/97878c5888a407ebd30d1f3fa1eec83d034351913c602163d58763d6e5241e37 +++ /dev/null @@ -1,50 +0,0 @@ -SELECT - COALESCE(data.roundtime, 'N/A') AS StartTimestamp, - COALESCE(CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(data.roundtime, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))), 'N/A') AS Hour, - COALESCE(data.sInduction_Name, 'N/A') AS sInduction_Name, - COALESCE(data.SingleCarrier_percent, '0%') AS SingleCarrier_percent, - COALESCE(data.DoubleCarrier_percent, '0%') AS DoubleCarrier_percent, - COALESCE(data.Total_count, 0) AS Total_count -FROM (SELECT 1) AS p -LEFT JOIN ( - SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, - sInduction_Name, - CONCAT( - CASE - WHEN (COALESCE(SUM(diTotal_Single_Carrier), 0) + COALESCE(SUM(diTotal_Double_Carrier), 0)) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diTotal_Single_Carrier), 0) * 100.0) / ( - COALESCE(SUM(diTotal_Single_Carrier), 0) + COALESCE(SUM(diTotal_Double_Carrier), 0) - ), 2) - END, '%' - ) AS SingleCarrier_percent, - CONCAT( - CASE - WHEN (COALESCE(SUM(diTotal_Single_Carrier), 0) + COALESCE(SUM(diTotal_Double_Carrier), 0)) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diTotal_Double_Carrier), 0) * 100.0) / ( - COALESCE(SUM(diTotal_Single_Carrier), 0) + COALESCE(SUM(diTotal_Double_Carrier), 0) - ), 2) - END, '%' - ) AS DoubleCarrier_percent, - COALESCE(SUM(diTotal_Single_Carrier), 0) + COALESCE(SUM(diTotal_Double_Carrier), 0) AS Total_count - FROM induction_data - WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sInduction_Name = :inductionname OR :inductionname IS NULL OR :inductionname = '') - GROUP BY DATE(t_stamp), HOUR(t_stamp), sInduction_Name - - UNION ALL - - SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, - 'S03' AS sInduction_Name, - '100%' AS SingleCarrier_percent, - '0%' AS DoubleCarrier_percent, - COUNT(*) AS Total_count - FROM item_data - WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' - AND (:inductionname IS NULL OR :inductionname = '' OR :inductionname = 'S03') - GROUP BY DATE(t_stamp), HOUR(t_stamp) -) AS data ON 1=1 -ORDER BY data.roundtime ASC; diff --git a/.resources/99a73f815dda61d236296c3fb56af43e21b0d406dbddd200f11866170306ddec b/.resources/99a73f815dda61d236296c3fb56af43e21b0d406dbddd200f11866170306ddec deleted file mode 100644 index 11cb226d..00000000 Binary files a/.resources/99a73f815dda61d236296c3fb56af43e21b0d406dbddd200f11866170306ddec and /dev/null differ diff --git a/.resources/b06d6fd647e1f20c143a22a76709fd6f38f120dc85910ba9f8d5c64fd454b9da b/.resources/b06d6fd647e1f20c143a22a76709fd6f38f120dc85910ba9f8d5c64fd454b9da new file mode 100644 index 00000000..7e0f4db4 --- /dev/null +++ b/.resources/b06d6fd647e1f20c143a22a76709fd6f38f120dc85910ba9f8d5c64fd454b9da @@ -0,0 +1,79 @@ +SELECT + COALESCE(data.roundtime, 'N/A') AS StartTimestamp, + COALESCE( + CONCAT( + 'H', + TIMESTAMPDIFF( + HOUR, + DATE_FORMAT(data.roundtime, "%Y-%m-%d %H:00:00"), + DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") + ) + ), + 'N/A' + ) AS Hour, + COALESCE(data.sScanner_Name, 'N/A') AS sScanner_Name, + + data.BadReads, + data.GoodReads, + data.MultiReads, + data.NoData, + data.NoReads, + COALESCE(data.Total, 0) AS Total + +FROM (SELECT 1) AS p +LEFT JOIN ( + SELECT + CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, + 'S03aa' AS sScanner_Name, + + COUNT(*) AS Total, + + CONCAT( + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( + (SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) * 100.0) + / COUNT(*), 2) + END, '%' + ) AS BadReads, + + CONCAT( + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( + (SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) * 100.0) + / COUNT(*), 2) + END, '%' + ) AS GoodReads, + + CONCAT( + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( + (SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) * 100.0) + / COUNT(*), 2) + END, '%' + ) AS MultiReads, + + CONCAT( + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( + (SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) * 100.0) + / COUNT(*), 2) + END, '%' + ) AS NoData, + + CONCAT( + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( + (SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) * 100.0) + / COUNT(*), 2) + END, '%' + ) AS NoReads + + FROM item_data + WHERE t_stamp BETWEEN :starttime AND :endtime + AND adiSort_Code_0 NOT IN (11, 15) + AND sLocation_ID LIKE 'S03%' + AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') + + GROUP BY DATE(t_stamp), HOUR(t_stamp) +) AS data ON 1=1 +ORDER BY data.roundtime ASC; diff --git a/.resources/b8abbff4e5bf91308d65fa7ef872856ac630b1939cbf5b5ef283a742698dec0a b/.resources/b8abbff4e5bf91308d65fa7ef872856ac630b1939cbf5b5ef283a742698dec0a new file mode 100644 index 00000000..824acd2a --- /dev/null +++ b/.resources/b8abbff4e5bf91308d65fa7ef872856ac630b1939cbf5b5ef283a742698dec0a @@ -0,0 +1,53 @@ +SELECT + CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, + + CONCAT( + 'H', + TIMESTAMPDIFF( + HOUR, + DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), + DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") + ) + ) AS `Hour`, + + 'S03aa' AS `Scanner Name`, + + /* ---- PERCENTAGES ---- */ + CONCAT( + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( (SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 END) * 100.0) / COUNT(*), 2) + END, '%' + ) AS `Total Bad Reads`, + + CONCAT( + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( (SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 END) * 100.0) / COUNT(*), 2) + END, '%' + ) AS `Total Good Reads`, + + CONCAT( + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( (SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 END) * 100.0) / COUNT(*), 2) + END, '%' + ) AS `Total Multi Reads`, + + CONCAT( + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( (SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 END) * 100.0) / COUNT(*), 2) + END, '%' + ) AS `Total No Data`, + + CONCAT( + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( (SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 END) * 100.0) / COUNT(*), 2) + END, '%' + ) AS `Total No Reads` + +FROM item_data +WHERE t_stamp BETWEEN :starttime AND :endtime + AND adiSort_Code_0 NOT IN (11, 15) + AND sLocation_ID LIKE 'S03%' + AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') + +GROUP BY DATE(t_stamp), HOUR(t_stamp) +ORDER BY `Start Timestamp` ASC; diff --git a/.resources/b9baa45bd52f487ea43e1e93c238e7b5c4b3c45807843813cf3338da7da9b838 b/.resources/b9baa45bd52f487ea43e1e93c238e7b5c4b3c45807843813cf3338da7da9b838 new file mode 100644 index 00000000..d3a80357 --- /dev/null +++ b/.resources/b9baa45bd52f487ea43e1e93c238e7b5c4b3c45807843813cf3338da7da9b838 @@ -0,0 +1,74 @@ +SELECT + 'S03' AS Sorter, + DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS start_time, + DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS end_time, + 'S03aa' AS sScanner_Name, + + -- Bad Reads (rate) + CASE + WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 + ELSE ROUND( + COALESCE(sorter_total.total_bad_reads, 0) * 3600.0 / + TIMESTAMPDIFF(SECOND, :starttime, :endtime), + 2) + END AS total_bad_reads, + + -- Good Reads (rate) + CASE + WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 + ELSE ROUND( + COALESCE(sorter_total.total_good_reads, 0) * 3600.0 / + TIMESTAMPDIFF(SECOND, :starttime, :endtime), + 2) + END AS total_good_reads, + + -- Multi Reads (rate) + CASE + WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 + ELSE ROUND( + COALESCE(sorter_total.total_multi_reads, 0) * 3600.0 / + TIMESTAMPDIFF(SECOND, :starttime, :endtime), + 2) + END AS total_multi_reads, + + -- No Data (rate) + CASE + WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 + ELSE ROUND( + COALESCE(sorter_total.total_no_data, 0) * 3600.0 / + TIMESTAMPDIFF(SECOND, :starttime, :endtime), + 2) + END AS total_no_data, + + -- No Reads (rate) + CASE + WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 + ELSE ROUND( + COALESCE(sorter_total.total_no_reads, 0) * 3600.0 / + TIMESTAMPDIFF(SECOND, :starttime, :endtime), + 2) + END AS total_no_reads, + + -- Total Items (rate) + CASE + WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 + ELSE ROUND( + COALESCE(sorter_total.total, 0) * 3600.0 / + TIMESTAMPDIFF(SECOND, :starttime, :endtime), + 2) + END AS total + +FROM (SELECT 1) AS p +LEFT JOIN ( + SELECT + SUM(adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15)) AS total_bad_reads, + SUM(adiSort_Code_0 = 0) AS total_good_reads, + SUM(adiSort_Code_0 = 10) AS total_multi_reads, + SUM(adiSort_Code_0 = 9) AS total_no_data, + SUM(adiSort_Code_0 = 8) AS total_no_reads, + COUNT(*) AS total + FROM item_data + WHERE t_stamp BETWEEN :starttime AND :endtime + AND adiSort_Code_0 NOT IN (11, 15) + AND sLocation_ID LIKE 'S03%' +) AS sorter_total ON 1 = 1; diff --git a/.resources/c0497e49a82a66fc8635f162bbd80264dc9fc8efd39c643b3c6434c2ca4f09b8 b/.resources/c0497e49a82a66fc8635f162bbd80264dc9fc8efd39c643b3c6434c2ca4f09b8 new file mode 100644 index 00000000..0f2a7ff8 --- /dev/null +++ b/.resources/c0497e49a82a66fc8635f162bbd80264dc9fc8efd39c643b3c6434c2ca4f09b8 @@ -0,0 +1,29 @@ +SELECT + CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, + CONCAT( + 'H', + TIMESTAMPDIFF( + HOUR, + DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), + DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") + ) + ) AS `Hour`, + 'S03aa' AS `Scanner Name`, + + -- REAL SCAN STATS FROM item_data + SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) AS `Total Bad Reads`, + SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS `Total Good Reads`, + SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) AS `Total Multi Reads`, + SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) AS `Total No Data`, + SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) AS `Total No Reads`, + + COUNT(*) AS `Total` + +FROM item_data +WHERE t_stamp BETWEEN :starttime AND :endtime + AND adiSort_Code_0 NOT IN (11, 15) + AND sLocation_ID LIKE 'S03%' + AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') + +GROUP BY DATE(t_stamp), HOUR(t_stamp) +ORDER BY `Start Timestamp` ASC; diff --git a/.resources/c2272d9513a192fe94b29b2f753da7aba9b67378b33e21b1b9740fc7e76eb028 b/.resources/c2272d9513a192fe94b29b2f753da7aba9b67378b33e21b1b9740fc7e76eb028 new file mode 100644 index 00000000..32916142 --- /dev/null +++ b/.resources/c2272d9513a192fe94b29b2f753da7aba9b67378b33e21b1b9740fc7e76eb028 @@ -0,0 +1,52 @@ +SELECT + roundtime AS `Round Time`, + sScanner_Name AS `Scanner Name`, + COALESCE(total_bad_reads, 0) AS `Total Bad Reads`, + COALESCE(total_good_reads, 0) AS `Total Good Reads`, + COALESCE(total_multi_reads, 0) AS `Total Multi Reads`, + COALESCE(total_no_data, 0) AS `Total No Data`, + COALESCE(total_no_reads, 0) AS `Total No Reads`, + ( + COALESCE(total_bad_reads, 0) + + COALESCE(total_good_reads, 0) + + COALESCE(total_multi_reads, 0) + + COALESCE(total_no_data, 0) + + COALESCE(total_no_reads, 0) + ) AS `Total` +FROM ( + SELECT + FROM_UNIXTIME( + FLOOR( + UNIX_TIMESTAMP(t_stamp) / + CEIL(TIMESTAMPDIFF(SECOND, :starttime, :endtime) / 24.0) + ) * + CEIL(TIMESTAMPDIFF(SECOND, :starttime, :endtime) / 24.0) + ) AS roundtime, + + 'S03aa' AS sScanner_Name, + + -- BAD READS (anything not success/no_read/no_code/multi) + SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) AS total_bad_reads, + + -- GOOD reads + SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS total_good_reads, + + -- MULTI READS + SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) AS total_multi_reads, + + -- NO DATA + SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) AS total_no_data, + + -- NO READS + SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) AS total_no_reads + + FROM item_data + WHERE t_stamp BETWEEN :starttime AND :endtime + AND adiSort_Code_0 NOT IN (11, 15) + AND sLocation_ID LIKE 'S03%' + AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') + + GROUP BY roundtime +) AS basa + +ORDER BY `Round Time` ASC; diff --git a/.resources/de7dea6b0bac354930e91556c1a0267062a02c23062fbd900539c777e3ef9fc2 b/.resources/c945c0bdd9b54cade6fedd2e41b280ae11df4ea4a862985ee5ad88e63ffc2cef similarity index 98% rename from .resources/de7dea6b0bac354930e91556c1a0267062a02c23062fbd900539c777e3ef9fc2 rename to .resources/c945c0bdd9b54cade6fedd2e41b280ae11df4ea4a862985ee5ad88e63ffc2cef index b9f0edbb..f7120a5d 100644 --- a/.resources/de7dea6b0bac354930e91556c1a0267062a02c23062fbd900539c777e3ef9fc2 +++ b/.resources/c945c0bdd9b54cade6fedd2e41b280ae11df4ea4a862985ee5ad88e63ffc2cef @@ -12,7 +12,7 @@ } }, "params": { - "Tab_ID": 10, + "Tab_ID": 0, "Table": "Statistics" }, "propConfig": { @@ -8718,98 +8718,6 @@ "visible": true, "width": "" }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "total_multi_items", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "Multi Items (#)" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, { "align": "center", "boolean": "checkbox", @@ -8901,98 +8809,6 @@ "viewPath": "", "visible": true, "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "total_comm_faults", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "Comm Faults (#)" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" } ], "filter": { @@ -32528,98 +32344,6 @@ "visible": true, "width": "" }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "MultiItems", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "Multi Items (#)" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, { "align": "center", "boolean": "checkbox", @@ -32711,98 +32435,6 @@ "viewPath": "", "visible": true, "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "CommFaults", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "Comm Faults (#)" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" } ], "filter": { @@ -33899,266 +33531,6 @@ "yAxis": "Reads", "zIndex": 0 }, - { - "candlestick": { - "appearance": { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "fill": { - "color": "", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": "", - "min": "" - }, - "stacked": false, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - } - }, - "high": { - "x": "", - "y": "" - }, - "low": { - "x": "", - "y": "" - }, - "open": { - "x": "", - "y": "" - } - }, - "column": { - "appearance": { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "fill": { - "color": "#4415F2", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": "", - "min": "" - }, - "height": null, - "stacked": true, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - }, - "width": null - }, - "open": { - "x": "", - "y": "" - } - }, - "data": { - "source": "example", - "x": "Hour", - "y": "Total Multi Items" - }, - "defaultState": { - "visible": true - }, - "hiddenInLegend": false, - "label": { - "text": "Total Multi Items" - }, - "line": { - "appearance": { - "bullets": [ - { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "rotation": "", - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "enabled": false, - "fill": { - "color": "", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": 100, - "min": 2 - }, - "height": 10, - "label": { - "position": { - "dx": 0, - "dy": 0 - }, - "text": "{value}" - }, - "render": "circle", - "rotation": 0, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - }, - "tooltip": { - "background": { - "color": "", - "opacity": 1 - }, - "cornerRadius": 3, - "enabled": true, - "pointerLength": 4, - "text": "{name}: [bold]{valueY}[/]" - }, - "width": 10 - } - ], - "connect": true, - "fill": { - "color": "", - "opacity": 0 - }, - "minDistance": 0.5, - "stroke": { - "color": "", - "dashArray": "", - "opacity": 1, - "width": 3 - }, - "tensionX": 1, - "tensionY": 1 - }, - "open": { - "x": "", - "y": "" - } - }, - "name": "MultiRead", - "render": "column", - "stepLine": { - "appearance": { - "bullets": [ - { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "rotation": "", - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "enabled": true, - "fill": { - "color": "", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": 100, - "min": 2 - }, - "height": 10, - "label": { - "position": { - "dx": 0, - "dy": 0 - }, - "text": "{value}" - }, - "render": "circle", - "rotation": 0, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - }, - "tooltip": { - "background": { - "color": "", - "opacity": 1 - }, - "cornerRadius": 3, - "enabled": true, - "pointerLength": 4, - "text": "{name}: [bold]{valueY}[/]" - }, - "width": 10 - } - ], - "connect": true, - "fill": { - "color": "", - "opacity": 0 - }, - "minDistance": 0.5, - "stroke": { - "color": "", - "dashArray": "", - "opacity": 1, - "width": 3 - }, - "tensionX": 1, - "tensionY": 1 - }, - "open": { - "x": "", - "y": "" - } - }, - "tooltip": { - "background": { - "color": "", - "opacity": 1 - }, - "cornerRadius": 3, - "enabled": true, - "pointerLength": 4, - "text": "Multi Items (#): [bold]{valueY}[/]" - }, - "visible": true, - "xAxis": "Hour", - "yAxis": "Reads", - "zIndex": 0 - }, { "candlestick": { "appearance": { @@ -34418,266 +33790,6 @@ "xAxis": "Hour", "yAxis": "Reads", "zIndex": 0 - }, - { - "candlestick": { - "appearance": { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "fill": { - "color": "", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": "", - "min": "" - }, - "stacked": false, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - } - }, - "high": { - "x": "", - "y": "" - }, - "low": { - "x": "", - "y": "" - }, - "open": { - "x": "", - "y": "" - } - }, - "column": { - "appearance": { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "fill": { - "color": "#EEFE00", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": "", - "min": "" - }, - "height": null, - "stacked": true, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - }, - "width": null - }, - "open": { - "x": "", - "y": "" - } - }, - "data": { - "source": "example", - "x": "Hour", - "y": "Total Comm Faults" - }, - "defaultState": { - "visible": true - }, - "hiddenInLegend": false, - "label": { - "text": "Total Comm Faults" - }, - "line": { - "appearance": { - "bullets": [ - { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "rotation": "", - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "enabled": false, - "fill": { - "color": "", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": 100, - "min": 2 - }, - "height": 10, - "label": { - "position": { - "dx": 0, - "dy": 0 - }, - "text": "{value}" - }, - "render": "circle", - "rotation": 0, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - }, - "tooltip": { - "background": { - "color": "", - "opacity": 1 - }, - "cornerRadius": 3, - "enabled": true, - "pointerLength": 4, - "text": "{name}: [bold]{valueY}[/]" - }, - "width": 10 - } - ], - "connect": true, - "fill": { - "color": "", - "opacity": 0 - }, - "minDistance": 0.5, - "stroke": { - "color": "", - "dashArray": "", - "opacity": 1, - "width": 3 - }, - "tensionX": 1, - "tensionY": 1 - }, - "open": { - "x": "", - "y": "" - } - }, - "name": "CommFaults", - "render": "column", - "stepLine": { - "appearance": { - "bullets": [ - { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "rotation": "", - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "enabled": true, - "fill": { - "color": "", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": 100, - "min": 2 - }, - "height": 10, - "label": { - "position": { - "dx": 0, - "dy": 0 - }, - "text": "{value}" - }, - "render": "circle", - "rotation": 0, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - }, - "tooltip": { - "background": { - "color": "", - "opacity": 1 - }, - "cornerRadius": 3, - "enabled": true, - "pointerLength": 4, - "text": "{name}: [bold]{valueY}[/]" - }, - "width": 10 - } - ], - "connect": true, - "fill": { - "color": "", - "opacity": 0 - }, - "minDistance": 0.5, - "stroke": { - "color": "", - "dashArray": "", - "opacity": 1, - "width": 3 - }, - "tensionX": 1, - "tensionY": 1 - }, - "open": { - "x": "", - "y": "" - } - }, - "tooltip": { - "background": { - "color": "", - "opacity": 1 - }, - "cornerRadius": 3, - "enabled": true, - "pointerLength": 4, - "text": "Comm Faults (#): [bold]{valueY}[/]" - }, - "visible": true, - "xAxis": "Hour", - "yAxis": "Reads", - "zIndex": 0 } ], "xAxes": [ @@ -68892,7 +68004,7 @@ "props.currentTabIndex": { "onChange": { "enabled": null, - "script": "\tdropdown \u003d self.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\")\n\tval \u003d currentValue.value\n\t\n\t# Default options\n\toptions \u003d [\n\t {\"value\": \"Count\", \"label\": \"Count\"},\n\t {\"value\": \"Percentage\", \"label\": \"Percentage\"},\n\t {\"value\": \"Rate\", \"label\": \"Rate\"}\n\t]\n\tvalue \u003d \"Count\"\n\t\n\t# Customize options based on current value\n\tif val in (4, 5, 6, 7, 9, 10):\n\t options \u003d [\n\t {\"value\": \"Count\", \"label\": \"Count\"},\n\t {\"value\": \"Percentage\", \"label\": \"Percentage\"}\n\t ]\n\t\n\t# Apply changes\n\tdropdown.props.options \u003d options\n\tdropdown.props.value \u003d value" + "script": "\tdropdown \u003d self.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\")\n\tval \u003d currentValue.value\n\t\n\t# Default options\n\toptions \u003d [\n\t {\"value\": \"Count\", \"label\": \"Count\"},\n\t {\"value\": \"Percentage\", \"label\": \"Percentage\"},\n\t {\"value\": \"Rate\", \"label\": \"Rate\"}\n\t]\n\tvalue \u003d \"Count\"\n\t\n\t# Customize options based on current value\n\tif val in (4, 5, 6, 7, 9, 10):\n\t options \u003d [\n\t {\"value\": \"Count\", \"label\": \"Count\"},\n\t {\"value\": \"Percentage\", \"label\": \"Percentage\"}\n\t ]\n\t\n\tif val \u003d\u003d 0:\n\t\toptions \u003d [\n\t\t\t{\"value\": \"Count\", \"label\": \"Count\"},\n\t\t\t{\"value\": \"Rate\", \"label\": \"Rate\"}\n\t\t]\n\t\n\t# Apply changes\n\tdropdown.props.options \u003d options\n\tdropdown.props.value \u003d value" } }, "props.tabs": { @@ -68900,7 +68012,6 @@ } }, "props": { - "currentTabIndex": 10, "menuStyle": { "backgroundColor": "#FFFFFFBD", "fontSize": "1.0vmin", @@ -68983,14 +68094,14 @@ "value": "Count" }, { - "label": "Percentage", - "value": "Percentage" + "label": "Rate", + "value": "Rate" } ], "style": { "fontSize": "1.5vmin" }, - "value": "Percentage" + "value": "Count" }, "type": "ia.input.dropdown" } @@ -72290,23 +71401,23 @@ }, { "custom": { - "customTime": true, + "customTime": false, "endDate": { "$": [ "ts", 192, - 1764060391543 + 1764580547590 ], - "$ts": 1764060391543 + "$ts": 1764580547589 }, "rollingWindow": 30, "startDate": { "$": [ "ts", 192, - 1764060391543 + 1764580547589 ], - "$ts": 1764045991543 + "$ts": 1764578747589 } }, "meta": { @@ -72387,7 +71498,7 @@ "style": { "fontSize": "1.5vmin" }, - "value": "custom" + "value": 30 }, "type": "ia.input.dropdown" }, @@ -72479,7 +71590,7 @@ }, "props": { "dismissOnSelect": false, - "formattedValue": "Nov 14, 2025 8:46 AM", + "formattedValue": "Dec 1, 2025 12:45 PM", "formattedValues": { "date": "Mar 26, 2021", "datetime": "Mar 26, 2021 12:00 AM", @@ -72587,7 +71698,7 @@ }, "props": { "dismissOnSelect": false, - "formattedValue": "Nov 21, 2025 8:46 AM", + "formattedValue": "Dec 1, 2025 1:15 PM", "formattedValues": { "date": "Mar 29, 2021", "datetime": "Mar 29, 2021 1:37 PM", diff --git a/.resources/cd21c0899baa73b049e0d39f63691dfaa14a2763f22a660bacd65421c3bdf1b1 b/.resources/cd21c0899baa73b049e0d39f63691dfaa14a2763f22a660bacd65421c3bdf1b1 new file mode 100644 index 00000000..c5304a93 --- /dev/null +++ b/.resources/cd21c0899baa73b049e0d39f63691dfaa14a2763f22a660bacd65421c3bdf1b1 @@ -0,0 +1,28 @@ +SELECT + COALESCE(data.roundtime, 'N/A') AS StartTimestamp, + COALESCE( + CONCAT( + 'H', + TIMESTAMPDIFF( + HOUR, + DATE_FORMAT(data.roundtime, "%Y-%m-%d %H:00:00"), + DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") + ) + ), + 'N/A' + ) AS Hour, + COALESCE(data.sInduction_Name, 'N/A') AS sInduction_Name, + COALESCE(data.Count, 0) AS Count +FROM (SELECT 1) AS p +LEFT JOIN ( + SELECT + CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, + 'S03' AS sInduction_Name, + COUNT(*) AS Count + FROM item_data + WHERE t_stamp BETWEEN :starttime AND :endtime + AND adiSort_Code_0 NOT IN (11, 15) + AND sLocation_ID LIKE 'S03%' + GROUP BY DATE(t_stamp), HOUR(t_stamp) +) AS data ON 1=1 +ORDER BY data.roundtime ASC; diff --git a/.resources/d7985deb24f1a5b56c37ed6d1a518b54dba768f9bf35b9955a0d85d88074441c b/.resources/d7985deb24f1a5b56c37ed6d1a518b54dba768f9bf35b9955a0d85d88074441c new file mode 100644 index 00000000..18e91c64 --- /dev/null +++ b/.resources/d7985deb24f1a5b56c37ed6d1a518b54dba768f9bf35b9955a0d85d88074441c @@ -0,0 +1,47 @@ +SELECT + COALESCE(data.roundtime, 'N/A') AS StartTimestamp, + COALESCE( + CONCAT( + 'H', + TIMESTAMPDIFF( + HOUR, + DATE_FORMAT(data.roundtime, "%Y-%m-%d %H:00:00"), + DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") + ) + ), + 'N/A' + ) AS Hour, + COALESCE(data.sScanner_Name, 'N/A') AS sScanner_Name, + + COALESCE(data.BadReads, 0) AS BadReads, + COALESCE(data.GoodReads, 0) AS GoodReads, + COALESCE(data.MultiReads, 0) AS MultiReads, + COALESCE(data.NoData, 0) AS NoData, + COALESCE(data.NoReads, 0) AS NoReads, + COALESCE(data.Total, 0) AS Total + +FROM (SELECT 1) AS p +LEFT JOIN ( + SELECT + CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, + 'S03aa' AS sScanner_Name, + + -- Real counts from item_data + SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) AS BadReads, + SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS GoodReads, + SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) AS MultiReads, + SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) AS NoData, + SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) AS NoReads, + + -- Total scans in this bucket + COUNT(*) AS Total + + FROM item_data + WHERE t_stamp BETWEEN :starttime AND :endtime + AND adiSort_Code_0 NOT IN (11, 15) + AND sLocation_ID LIKE 'S03%' + AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') + + GROUP BY DATE(t_stamp), HOUR(t_stamp) +) AS data ON 1=1 +ORDER BY data.roundtime ASC; diff --git a/.resources/dfcf061583eccdd771d7c6c3f00293db837f27ddad07065b85eae79de7d2449f b/.resources/dfcf061583eccdd771d7c6c3f00293db837f27ddad07065b85eae79de7d2449f deleted file mode 100644 index 70b73354..00000000 --- a/.resources/dfcf061583eccdd771d7c6c3f00293db837f27ddad07065b85eae79de7d2449f +++ /dev/null @@ -1,56 +0,0 @@ -SELECT - COALESCE(data.roundtime, 'N/A') AS StartTimestamp, - COALESCE(CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(data.roundtime, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))), 'N/A') AS Hour, - COALESCE(data.sScanner_Name, 'N/A') AS sScanner_Name, - COALESCE(data.BadReads, 0) AS BadReads, - COALESCE(data.CommFaults, 0) AS CommFaults, - COALESCE(data.GoodReads, 0) AS GoodReads, - COALESCE(data.MultiItems, 0) AS MultiItems, - COALESCE(data.MultiReads, 0) AS MultiReads, - COALESCE(data.NoData, 0) AS NoData, - COALESCE(data.NoReads, 0) AS NoReads, - COALESCE(data.BadReads, 0) + - COALESCE(data.CommFaults, 0) + - COALESCE(data.GoodReads, 0) + - COALESCE(data.MultiItems, 0) + - COALESCE(data.MultiReads, 0) + - COALESCE(data.NoData, 0) + - COALESCE(data.NoReads, 0) AS Total -FROM (SELECT 1) AS p -LEFT JOIN ( - SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, - sScanner_Name, - SUM(diScanner_bad_reads) AS BadReads, - SUM(diScanner_comm_fault) AS CommFaults, - SUM(diScanner_good_reads) AS GoodReads, - SUM(diScanner_multi_items) AS MultiItems, - SUM(diScanner_multi_reads) AS MultiReads, - SUM(diScanner_no_data) AS NoData, - SUM(diScanner_no_reads) AS NoReads - FROM scanner_reads - WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sScanner_Name = :scannername OR :scannername IS NULL OR :scannername = '') - GROUP BY DATE(t_stamp), HOUR(t_stamp), sScanner_Name - - UNION ALL - - SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, - 'S03aa' AS sScanner_Name, - SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) AS BadReads, - 0 AS CommFaults, - SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS GoodReads, - 0 AS MultiItems, - SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) AS MultiReads, - SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) AS NoData, - SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) AS NoReads - FROM item_data - WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' - AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') - GROUP BY DATE(t_stamp), HOUR(t_stamp) -) AS data ON 1=1 -ORDER BY data.roundtime ASC; - diff --git a/.resources/e2796f8722d75053343ec8f485e66ca9c0e3b906b207c8c0f5404641e4970b53 b/.resources/e2796f8722d75053343ec8f485e66ca9c0e3b906b207c8c0f5404641e4970b53 new file mode 100644 index 00000000..b4df34c1 --- /dev/null +++ b/.resources/e2796f8722d75053343ec8f485e66ca9c0e3b906b207c8c0f5404641e4970b53 @@ -0,0 +1,24 @@ +SELECT + CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS StartTimestamp, + + CONCAT( + 'H', + TIMESTAMPDIFF( + HOUR, + DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), + DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") + ) + ) AS Hour, + + 'S03' AS sInduction_Name, + + COUNT(*) AS Total_count + +FROM item_data +WHERE t_stamp BETWEEN :starttime AND :endtime + AND adiSort_Code_0 NOT IN (11, 15) + AND sLocation_ID LIKE 'S03%' + AND (:inductionname IS NULL OR :inductionname = '' OR :inductionname = 'S03') + +GROUP BY DATE(t_stamp), HOUR(t_stamp) +ORDER BY StartTimestamp ASC; diff --git a/.resources/f2c69441ab39ee31fbe3c1536ba15a0c0e3fb2fb82c5f1ca5f30ee6b3309d468 b/.resources/f2c69441ab39ee31fbe3c1536ba15a0c0e3fb2fb82c5f1ca5f30ee6b3309d468 deleted file mode 100644 index b09fee09..00000000 --- a/.resources/f2c69441ab39ee31fbe3c1536ba15a0c0e3fb2fb82c5f1ca5f30ee6b3309d468 +++ /dev/null @@ -1,59 +0,0 @@ --- Hourly Sorter Details Graph Query (Rate) --- Shows every hour in detail for graphing with all sorter statistics as rates (items per hour) --- Rate calculation matches SorterDetails_Rate.sql formula - -SELECT - CONCAT('H', TIMESTAMPDIFF(HOUR, - DATE_FORMAT(Startstamp, "%Y-%m-%d %H:00:00"), - DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") - )) AS Hour, - ROUND(inducted_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Inducted, - ROUND(sorted_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Sorted, - ROUND(unknown_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Unknown, - ROUND(unexpected_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Unexpected, - ROUND(tracking_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS TrackingError, - ROUND(gap_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS GapError, - ROUND(destination_full_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationFull, - ROUND(destination_fault_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationFault, - ROUND(destination_invalid_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationInvalid, - ROUND(destination_disabled_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationDisabled, - ROUND(throughput_limit_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS ThroughputLimit, - ROUND(divert_fail_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DivertFail, - ROUND(destination_none_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationNone, - ROUND(lost_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Lost, - ROUND(dimension_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DimensionError, - ROUND(weight_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS WeightError, - ROUND(container_util_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS ContainerUtilization, - ROUND(unable_to_divert_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS UnableToDivert, - ROUND(dest_not_attempted_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationNotAttempted, - ROUND(scan_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS ScanError -FROM ( - SELECT - MIN(t_stamp) AS Startstamp, - MAX(t_stamp) AS Endtstamp, - COUNT(*) AS inducted_count, - SUM(DivertStatus = 0) AS sorted_count, - SUM(DivertStatus = 1) AS unknown_count, - SUM(DivertStatus = 2) AS unexpected_count, - SUM(DivertStatus = 3) AS tracking_error_count, - SUM(DivertStatus = 4) AS gap_error_count, - SUM(DivertStatus = 5) AS destination_full_count, - SUM(DivertStatus = 6) AS destination_fault_count, - SUM(DivertStatus = 7) AS destination_invalid_count, - SUM(DivertStatus = 12) AS destination_disabled_count, - SUM(DivertStatus = 13) AS throughput_limit_count, - SUM(DivertStatus = 14) AS divert_fail_count, - SUM(DivertStatus = 16) AS destination_none_count, - SUM(DivertStatus = 17) AS lost_count, - SUM(DivertStatus = 18) AS dimension_error_count, - SUM(DivertStatus = 19) AS weight_error_count, - SUM(DivertStatus = 20) AS container_util_count, - SUM(DivertStatus = 21) AS unable_to_divert_count, - SUM(DivertStatus = 22) AS dest_not_attempted_count, - SUM(DivertStatus IN (8, 9, 10)) AS scan_error_count - FROM alltable - WHERE t_stamp BETWEEN :starttime AND :endtime - GROUP BY DATE(t_stamp), HOUR(t_stamp) -) counts -ORDER BY Startstamp ASC; - diff --git a/.resources/f585184fbd0ef5caf4b898936e1d840749c418a82a762528b096c1aa5481778b b/.resources/f585184fbd0ef5caf4b898936e1d840749c418a82a762528b096c1aa5481778b deleted file mode 100644 index 56383985..00000000 --- a/.resources/f585184fbd0ef5caf4b898936e1d840749c418a82a762528b096c1aa5481778b +++ /dev/null @@ -1,29 +0,0 @@ -SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, - CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS `Hour`, - sInduction_Name AS `Induction Name`, - COALESCE(SUM(diTotal_Single_Carrier), 0) AS `Total Single Carrier`, - COALESCE(SUM(diTotal_Double_Carrier), 0) AS `Total Double Carrier`, - COALESCE(SUM(diTotal_Single_Carrier), 0) + COALESCE(SUM(diTotal_Double_Carrier), 0) AS `Total` -FROM induction_data -WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sInduction_Name = :inductionname OR :inductionname IS NULL OR :inductionname = '') -GROUP BY DATE(t_stamp), HOUR(t_stamp), sInduction_Name - -UNION ALL - -SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, - CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS `Hour`, - 'S03' AS `Induction Name`, - COUNT(*) AS `Total Single Carrier`, - 0 AS `Total Double Carrier`, - COUNT(*) AS `Total` -FROM item_data -WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' - AND (:inductionname IS NULL OR :inductionname = '' OR :inductionname = 'S03') -GROUP BY DATE(t_stamp), HOUR(t_stamp) -ORDER BY `Start Timestamp` ASC; - diff --git a/.resources/f7cfea6fcf8b2f48771e1e78d43e38aca28ebd7a654bd70fb902e1722ccda7d7 b/.resources/f7cfea6fcf8b2f48771e1e78d43e38aca28ebd7a654bd70fb902e1722ccda7d7 deleted file mode 100644 index 6c38a191..00000000 --- a/.resources/f7cfea6fcf8b2f48771e1e78d43e38aca28ebd7a654bd70fb902e1722ccda7d7 +++ /dev/null @@ -1,45 +0,0 @@ -SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, - CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS `Hour`, - sScanner_Name AS `Scanner Name`, - COALESCE(SUM(diScanner_bad_reads), 0) AS `Total Bad Reads`, - COALESCE(SUM(diScanner_comm_fault), 0) AS `Total Comm Faults`, - COALESCE(SUM(diScanner_good_reads), 0) AS `Total Good Reads`, - COALESCE(SUM(diScanner_multi_items), 0) AS `Total Multi Items`, - COALESCE(SUM(diScanner_multi_reads), 0) AS `Total Multi Reads`, - COALESCE(SUM(diScanner_no_data), 0) AS `Total No Data`, - COALESCE(SUM(diScanner_no_reads), 0) AS `Total No Reads`, - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) AS `Total` -FROM scanner_reads -WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sScanner_Name = :scannername OR :scannername IS NULL OR :scannername = '') -GROUP BY DATE(t_stamp), HOUR(t_stamp), sScanner_Name - -UNION ALL - -SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, - CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS `Hour`, - 'S03aa' AS `Scanner Name`, - SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) AS `Total Bad Reads`, - 0 AS `Total Comm Faults`, - SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS `Total Good Reads`, - 0 AS `Total Multi Items`, - SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) AS `Total Multi Reads`, - SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) AS `Total No Data`, - SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) AS `Total No Reads`, - COUNT(*) AS `Total` -FROM item_data -WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' - AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') -GROUP BY DATE(t_stamp), HOUR(t_stamp) -ORDER BY `Start Timestamp` ASC; - diff --git a/.resources/fe584a19ce580346e2940fa40309f66f9a57ae3a898b8bda8adc20b11819fe47 b/.resources/fe584a19ce580346e2940fa40309f66f9a57ae3a898b8bda8adc20b11819fe47 deleted file mode 100644 index 163c556f..00000000 --- a/.resources/fe584a19ce580346e2940fa40309f66f9a57ae3a898b8bda8adc20b11819fe47 +++ /dev/null @@ -1,62 +0,0 @@ --- Hourly Lane Details Rate Query (Table Display) --- Shows every hour in detail with all lane statistics as rates (items per hour) --- Rate calculation matches LaneDetails_Rate.sql formula --- Filtered by specific lane parameter - -SELECT - CONCAT(DATE(Startstamp), ' ', LPAD(HOUR(Startstamp), 2, '0'), ':00') AS StartTimestamp, - CONCAT('H', TIMESTAMPDIFF(HOUR, - DATE_FORMAT(Startstamp, "%Y-%m-%d %H:00:00"), - DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") - )) AS Hour, - CONCAT(ROUND(total_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS total_rate, - CONCAT(ROUND(success_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS success_rate, - CONCAT(ROUND(unknown_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS unknown_rate, - CONCAT(ROUND(unexpected_container_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS unexpected_container_rate, - CONCAT(ROUND(tracking_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS tracking_error_rate, - CONCAT(ROUND(gap_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS gap_error_rate, - CONCAT(ROUND(destination_full_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_full_rate, - CONCAT(ROUND(destination_non_operational_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_non_operational_rate, - CONCAT(ROUND(invalid_destination_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS invalid_destination_rate, - CONCAT(ROUND(destination_disabled_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_disabled_rate, - CONCAT(ROUND(throughput_limit_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS throughput_limit_rate, - CONCAT(ROUND(failed_to_divert_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS failed_to_divert_rate, - CONCAT(ROUND(no_destination_received_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS no_destination_received_rate, - CONCAT(ROUND(lost_container_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS lost_container_rate, - CONCAT(ROUND(dimension_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS dimension_error_rate, - CONCAT(ROUND(weight_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS weight_error_rate, - CONCAT(ROUND(container_utilization_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS container_utilization_rate, - CONCAT(ROUND(unable_to_divert_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS unable_to_divert_rate, - CONCAT(ROUND(destination_not_attempted_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_not_attempted_rate, - CONCAT(ROUND(scan_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS scan_error_rate -FROM ( - SELECT - DATE(t_stamp) AS date_part, - HOUR(t_stamp) AS hour_part, - MIN(t_stamp) AS Startstamp, - MAX(t_stamp) AS Endtstamp, - COUNT(*) AS total_count, - SUM(DivertStatus = 0) AS success_count, - SUM(DivertStatus = 1) AS unknown_count, - SUM(DivertStatus = 2) AS unexpected_container_count, - SUM(DivertStatus = 3) AS tracking_error_count, - SUM(DivertStatus = 4) AS gap_error_count, - SUM(DivertStatus = 5) AS destination_full_count, - SUM(DivertStatus = 6) AS destination_non_operational_count, - SUM(DivertStatus = 7) AS invalid_destination_count, - SUM(DivertStatus = 12) AS destination_disabled_count, - SUM(DivertStatus = 13) AS throughput_limit_count, - SUM(DivertStatus = 14) AS failed_to_divert_count, - SUM(DivertStatus = 16) AS no_destination_received_count, - SUM(DivertStatus = 17) AS lost_container_count, - SUM(DivertStatus = 18) AS dimension_error_count, - SUM(DivertStatus = 19) AS weight_error_count, - SUM(DivertStatus = 20) AS container_utilization_count, - SUM(DivertStatus = 21) AS unable_to_divert_count, - SUM(DivertStatus = 22) AS destination_not_attempted_count, - SUM(DivertStatus IN (8, 9, 10)) AS scan_error_count - FROM alltable - WHERE DEST_REQ = :lane AND t_stamp BETWEEN :starttime AND :endtime - GROUP BY DATE(t_stamp), HOUR(t_stamp) -) counts -ORDER BY Startstamp ASC; diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Statistics/resource.json b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Statistics/resource.json index a2969abd..7bf9ca57 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Statistics/resource.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Statistics/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-11-25T10:35:05Z" + "timestamp": "2025-12-01T12:31:54Z" }, - "lastModificationSignature": "84e845324e74392edc232768d97dc551b2425b6f2f5c96d56051b98eb12cb93b" + "lastModificationSignature": "66448e62c25ca2b4f4effc70f71830fd61d812cf777e1fb1c766aaca1610fdb8" } } \ No newline at end of file diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Statistics/thumbnail.png b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Statistics/thumbnail.png index 11cb226d..6479be4c 100644 Binary files a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Statistics/thumbnail.png and b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Statistics/thumbnail.png differ diff --git a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Statistics/view.json b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Statistics/view.json index b9f0edbb..f7120a5d 100644 --- a/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Statistics/view.json +++ b/BNA8_autStand/com.inductiveautomation.perspective/views/autStand/Windows/Statistics/view.json @@ -12,7 +12,7 @@ } }, "params": { - "Tab_ID": 10, + "Tab_ID": 0, "Table": "Statistics" }, "propConfig": { @@ -8718,98 +8718,6 @@ "visible": true, "width": "" }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "total_multi_items", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "Multi Items (#)" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, { "align": "center", "boolean": "checkbox", @@ -8901,98 +8809,6 @@ "viewPath": "", "visible": true, "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "total_comm_faults", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "Comm Faults (#)" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" } ], "filter": { @@ -32528,98 +32344,6 @@ "visible": true, "width": "" }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "MultiItems", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "Multi Items (#)" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" - }, { "align": "center", "boolean": "checkbox", @@ -32711,98 +32435,6 @@ "viewPath": "", "visible": true, "width": "" - }, - { - "align": "center", - "boolean": "checkbox", - "dateFormat": "MM/DD/YYYY", - "editable": false, - "field": "CommFaults", - "filter": { - "boolean": { - "condition": "" - }, - "date": { - "condition": "", - "value": "" - }, - "enabled": false, - "number": { - "condition": "", - "value": "" - }, - "string": { - "condition": "", - "value": "" - }, - "visible": "on-hover" - }, - "footer": { - "align": "center", - "justify": "left", - "style": { - "classes": "" - }, - "title": "" - }, - "header": { - "align": "center", - "justify": "center", - "style": { - "classes": "" - }, - "title": "Comm Faults (#)" - }, - "justify": "center", - "nullFormat": { - "includeNullStrings": false, - "nullFormatValue": "", - "strict": false - }, - "number": "value", - "numberFormat": "0,0.##", - "progressBar": { - "bar": { - "color": "", - "style": { - "classes": "" - } - }, - "max": 100, - "min": 0, - "track": { - "color": "", - "style": { - "classes": "" - } - }, - "value": { - "enabled": true, - "format": "0,0.##", - "justify": "center", - "style": { - "classes": "" - } - } - }, - "render": "auto", - "resizable": true, - "sort": "none", - "sortable": true, - "strictWidth": false, - "style": { - "classes": "" - }, - "toggleSwitch": { - "color": { - "selected": "", - "unselected": "" - } - }, - "viewParams": {}, - "viewPath": "", - "visible": true, - "width": "" } ], "filter": { @@ -33899,266 +33531,6 @@ "yAxis": "Reads", "zIndex": 0 }, - { - "candlestick": { - "appearance": { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "fill": { - "color": "", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": "", - "min": "" - }, - "stacked": false, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - } - }, - "high": { - "x": "", - "y": "" - }, - "low": { - "x": "", - "y": "" - }, - "open": { - "x": "", - "y": "" - } - }, - "column": { - "appearance": { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "fill": { - "color": "#4415F2", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": "", - "min": "" - }, - "height": null, - "stacked": true, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - }, - "width": null - }, - "open": { - "x": "", - "y": "" - } - }, - "data": { - "source": "example", - "x": "Hour", - "y": "Total Multi Items" - }, - "defaultState": { - "visible": true - }, - "hiddenInLegend": false, - "label": { - "text": "Total Multi Items" - }, - "line": { - "appearance": { - "bullets": [ - { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "rotation": "", - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "enabled": false, - "fill": { - "color": "", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": 100, - "min": 2 - }, - "height": 10, - "label": { - "position": { - "dx": 0, - "dy": 0 - }, - "text": "{value}" - }, - "render": "circle", - "rotation": 0, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - }, - "tooltip": { - "background": { - "color": "", - "opacity": 1 - }, - "cornerRadius": 3, - "enabled": true, - "pointerLength": 4, - "text": "{name}: [bold]{valueY}[/]" - }, - "width": 10 - } - ], - "connect": true, - "fill": { - "color": "", - "opacity": 0 - }, - "minDistance": 0.5, - "stroke": { - "color": "", - "dashArray": "", - "opacity": 1, - "width": 3 - }, - "tensionX": 1, - "tensionY": 1 - }, - "open": { - "x": "", - "y": "" - } - }, - "name": "MultiRead", - "render": "column", - "stepLine": { - "appearance": { - "bullets": [ - { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "rotation": "", - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "enabled": true, - "fill": { - "color": "", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": 100, - "min": 2 - }, - "height": 10, - "label": { - "position": { - "dx": 0, - "dy": 0 - }, - "text": "{value}" - }, - "render": "circle", - "rotation": 0, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - }, - "tooltip": { - "background": { - "color": "", - "opacity": 1 - }, - "cornerRadius": 3, - "enabled": true, - "pointerLength": 4, - "text": "{name}: [bold]{valueY}[/]" - }, - "width": 10 - } - ], - "connect": true, - "fill": { - "color": "", - "opacity": 0 - }, - "minDistance": 0.5, - "stroke": { - "color": "", - "dashArray": "", - "opacity": 1, - "width": 3 - }, - "tensionX": 1, - "tensionY": 1 - }, - "open": { - "x": "", - "y": "" - } - }, - "tooltip": { - "background": { - "color": "", - "opacity": 1 - }, - "cornerRadius": 3, - "enabled": true, - "pointerLength": 4, - "text": "Multi Items (#): [bold]{valueY}[/]" - }, - "visible": true, - "xAxis": "Hour", - "yAxis": "Reads", - "zIndex": 0 - }, { "candlestick": { "appearance": { @@ -34418,266 +33790,6 @@ "xAxis": "Hour", "yAxis": "Reads", "zIndex": 0 - }, - { - "candlestick": { - "appearance": { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "fill": { - "color": "", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": "", - "min": "" - }, - "stacked": false, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - } - }, - "high": { - "x": "", - "y": "" - }, - "low": { - "x": "", - "y": "" - }, - "open": { - "x": "", - "y": "" - } - }, - "column": { - "appearance": { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "fill": { - "color": "#EEFE00", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": "", - "min": "" - }, - "height": null, - "stacked": true, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - }, - "width": null - }, - "open": { - "x": "", - "y": "" - } - }, - "data": { - "source": "example", - "x": "Hour", - "y": "Total Comm Faults" - }, - "defaultState": { - "visible": true - }, - "hiddenInLegend": false, - "label": { - "text": "Total Comm Faults" - }, - "line": { - "appearance": { - "bullets": [ - { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "rotation": "", - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "enabled": false, - "fill": { - "color": "", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": 100, - "min": 2 - }, - "height": 10, - "label": { - "position": { - "dx": 0, - "dy": 0 - }, - "text": "{value}" - }, - "render": "circle", - "rotation": 0, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - }, - "tooltip": { - "background": { - "color": "", - "opacity": 1 - }, - "cornerRadius": 3, - "enabled": true, - "pointerLength": 4, - "text": "{name}: [bold]{valueY}[/]" - }, - "width": 10 - } - ], - "connect": true, - "fill": { - "color": "", - "opacity": 0 - }, - "minDistance": 0.5, - "stroke": { - "color": "", - "dashArray": "", - "opacity": 1, - "width": 3 - }, - "tensionX": 1, - "tensionY": 1 - }, - "open": { - "x": "", - "y": "" - } - }, - "name": "CommFaults", - "render": "column", - "stepLine": { - "appearance": { - "bullets": [ - { - "deriveFieldsFromData": { - "fill": { - "color": "", - "opacity": "" - }, - "rotation": "", - "stroke": { - "color": "", - "opacity": "", - "width": "" - } - }, - "enabled": true, - "fill": { - "color": "", - "opacity": 1 - }, - "heatRules": { - "dataField": "", - "enabled": false, - "max": 100, - "min": 2 - }, - "height": 10, - "label": { - "position": { - "dx": 0, - "dy": 0 - }, - "text": "{value}" - }, - "render": "circle", - "rotation": 0, - "stroke": { - "color": "", - "opacity": 1, - "width": 1 - }, - "tooltip": { - "background": { - "color": "", - "opacity": 1 - }, - "cornerRadius": 3, - "enabled": true, - "pointerLength": 4, - "text": "{name}: [bold]{valueY}[/]" - }, - "width": 10 - } - ], - "connect": true, - "fill": { - "color": "", - "opacity": 0 - }, - "minDistance": 0.5, - "stroke": { - "color": "", - "dashArray": "", - "opacity": 1, - "width": 3 - }, - "tensionX": 1, - "tensionY": 1 - }, - "open": { - "x": "", - "y": "" - } - }, - "tooltip": { - "background": { - "color": "", - "opacity": 1 - }, - "cornerRadius": 3, - "enabled": true, - "pointerLength": 4, - "text": "Comm Faults (#): [bold]{valueY}[/]" - }, - "visible": true, - "xAxis": "Hour", - "yAxis": "Reads", - "zIndex": 0 } ], "xAxes": [ @@ -68892,7 +68004,7 @@ "props.currentTabIndex": { "onChange": { "enabled": null, - "script": "\tdropdown \u003d self.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\")\n\tval \u003d currentValue.value\n\t\n\t# Default options\n\toptions \u003d [\n\t {\"value\": \"Count\", \"label\": \"Count\"},\n\t {\"value\": \"Percentage\", \"label\": \"Percentage\"},\n\t {\"value\": \"Rate\", \"label\": \"Rate\"}\n\t]\n\tvalue \u003d \"Count\"\n\t\n\t# Customize options based on current value\n\tif val in (4, 5, 6, 7, 9, 10):\n\t options \u003d [\n\t {\"value\": \"Count\", \"label\": \"Count\"},\n\t {\"value\": \"Percentage\", \"label\": \"Percentage\"}\n\t ]\n\t\n\t# Apply changes\n\tdropdown.props.options \u003d options\n\tdropdown.props.value \u003d value" + "script": "\tdropdown \u003d self.parent.getChild(\"Aggregation_Mode\").getChild(\"Dropdown_Aggregation_mode\")\n\tval \u003d currentValue.value\n\t\n\t# Default options\n\toptions \u003d [\n\t {\"value\": \"Count\", \"label\": \"Count\"},\n\t {\"value\": \"Percentage\", \"label\": \"Percentage\"},\n\t {\"value\": \"Rate\", \"label\": \"Rate\"}\n\t]\n\tvalue \u003d \"Count\"\n\t\n\t# Customize options based on current value\n\tif val in (4, 5, 6, 7, 9, 10):\n\t options \u003d [\n\t {\"value\": \"Count\", \"label\": \"Count\"},\n\t {\"value\": \"Percentage\", \"label\": \"Percentage\"}\n\t ]\n\t\n\tif val \u003d\u003d 0:\n\t\toptions \u003d [\n\t\t\t{\"value\": \"Count\", \"label\": \"Count\"},\n\t\t\t{\"value\": \"Rate\", \"label\": \"Rate\"}\n\t\t]\n\t\n\t# Apply changes\n\tdropdown.props.options \u003d options\n\tdropdown.props.value \u003d value" } }, "props.tabs": { @@ -68900,7 +68012,6 @@ } }, "props": { - "currentTabIndex": 10, "menuStyle": { "backgroundColor": "#FFFFFFBD", "fontSize": "1.0vmin", @@ -68983,14 +68094,14 @@ "value": "Count" }, { - "label": "Percentage", - "value": "Percentage" + "label": "Rate", + "value": "Rate" } ], "style": { "fontSize": "1.5vmin" }, - "value": "Percentage" + "value": "Count" }, "type": "ia.input.dropdown" } @@ -72290,23 +71401,23 @@ }, { "custom": { - "customTime": true, + "customTime": false, "endDate": { "$": [ "ts", 192, - 1764060391543 + 1764580547590 ], - "$ts": 1764060391543 + "$ts": 1764580547589 }, "rollingWindow": 30, "startDate": { "$": [ "ts", 192, - 1764060391543 + 1764580547589 ], - "$ts": 1764045991543 + "$ts": 1764578747589 } }, "meta": { @@ -72387,7 +71498,7 @@ "style": { "fontSize": "1.5vmin" }, - "value": "custom" + "value": 30 }, "type": "ia.input.dropdown" }, @@ -72479,7 +71590,7 @@ }, "props": { "dismissOnSelect": false, - "formattedValue": "Nov 14, 2025 8:46 AM", + "formattedValue": "Dec 1, 2025 12:45 PM", "formattedValues": { "date": "Mar 26, 2021", "datetime": "Mar 26, 2021 12:00 AM", @@ -72587,7 +71698,7 @@ }, "props": { "dismissOnSelect": false, - "formattedValue": "Nov 21, 2025 8:46 AM", + "formattedValue": "Dec 1, 2025 1:15 PM", "formattedValues": { "date": "Mar 29, 2021", "datetime": "Mar 29, 2021 1:37 PM", diff --git a/BNA8_autStand/ignition/event-scripts/data.bin b/BNA8_autStand/ignition/event-scripts/data.bin index 5f6e15d8..71179b7b 100644 Binary files a/BNA8_autStand/ignition/event-scripts/data.bin and b/BNA8_autStand/ignition/event-scripts/data.bin differ diff --git a/BNA8_autStand/ignition/event-scripts/resource.json b/BNA8_autStand/ignition/event-scripts/resource.json index e6a40956..23197f3c 100644 --- a/BNA8_autStand/ignition/event-scripts/resource.json +++ b/BNA8_autStand/ignition/event-scripts/resource.json @@ -9,8 +9,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-11-20T12:26:12Z" + "timestamp": "2025-12-01T09:40:22Z" }, - "lastModificationSignature": "8337f716108011f6dcb21b0f9f2ddfdef0eb96f5887b9ce358fb1c380ca4e2ee" + "lastModificationSignature": "1001966be8615a467cfcc11efeab3990eefdbf6fa56f9bd0f92fcecee0376913" } } \ No newline at end of file diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Count Graph/query.sql b/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Count Graph/query.sql deleted file mode 100644 index 56383985..00000000 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Count Graph/query.sql +++ /dev/null @@ -1,29 +0,0 @@ -SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, - CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS `Hour`, - sInduction_Name AS `Induction Name`, - COALESCE(SUM(diTotal_Single_Carrier), 0) AS `Total Single Carrier`, - COALESCE(SUM(diTotal_Double_Carrier), 0) AS `Total Double Carrier`, - COALESCE(SUM(diTotal_Single_Carrier), 0) + COALESCE(SUM(diTotal_Double_Carrier), 0) AS `Total` -FROM induction_data -WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sInduction_Name = :inductionname OR :inductionname IS NULL OR :inductionname = '') -GROUP BY DATE(t_stamp), HOUR(t_stamp), sInduction_Name - -UNION ALL - -SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, - CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS `Hour`, - 'S03' AS `Induction Name`, - COUNT(*) AS `Total Single Carrier`, - 0 AS `Total Double Carrier`, - COUNT(*) AS `Total` -FROM item_data -WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' - AND (:inductionname IS NULL OR :inductionname = '' OR :inductionname = 'S03') -GROUP BY DATE(t_stamp), HOUR(t_stamp) -ORDER BY `Start Timestamp` ASC; - diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Count Graph/resource.json b/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Count Graph/resource.json deleted file mode 100644 index bb5065be..00000000 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Count Graph/resource.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "scope": "DG", - "version": 2, - "restricted": false, - "overridable": true, - "files": [ - "query.sql" - ], - "attributes": { - "useMaxReturnSize": false, - "autoBatchEnabled": false, - "fallbackValue": "", - "maxReturnSize": 100, - "cacheUnit": "SEC", - "type": "Query", - "enabled": true, - "cacheAmount": 1, - "cacheEnabled": false, - "database": "MariaDB", - "fallbackEnabled": false, - "lastModificationSignature": "b76767bd2f83d72b541a6bdbaf87459a32eb3e7915f46f807e57fb6f7a88eb28", - "permissions": [ - { - "zone": "", - "role": "" - } - ], - "lastModification": { - "actor": "admin", - "timestamp": "2025-11-19T16:53:50Z" - }, - "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", - "parameters": [ - { - "type": "Parameter", - "identifier": "starttime", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "endtime", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "inductionname", - "sqlType": 7 - } - ] - } -} \ No newline at end of file diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Count/query.sql b/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Count/query.sql index a45e3cdf..c5304a93 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Count/query.sql +++ b/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Count/query.sql @@ -1,35 +1,28 @@ SELECT COALESCE(data.roundtime, 'N/A') AS StartTimestamp, - COALESCE(CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(data.roundtime, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))), 'N/A') AS Hour, + COALESCE( + CONCAT( + 'H', + TIMESTAMPDIFF( + HOUR, + DATE_FORMAT(data.roundtime, "%Y-%m-%d %H:00:00"), + DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") + ) + ), + 'N/A' + ) AS Hour, COALESCE(data.sInduction_Name, 'N/A') AS sInduction_Name, - COALESCE(data.SingleCarrier_count, 0) AS SingleCarrier_count, - COALESCE(data.DoubleCarrier_count, 0) AS DoubleCarrier_count, - COALESCE(data.SingleCarrier_count, 0) + COALESCE(data.DoubleCarrier_count, 0) AS Total_count + COALESCE(data.Count, 0) AS Count FROM (SELECT 1) AS p LEFT JOIN ( - SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, - sInduction_Name, - SUM(diTotal_Single_Carrier) AS SingleCarrier_count, - SUM(diTotal_Double_Carrier) AS DoubleCarrier_count - FROM induction_data - WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sInduction_Name = :inductionname OR :inductionname IS NULL OR :inductionname = '') - GROUP BY DATE(t_stamp), HOUR(t_stamp), sInduction_Name - - UNION ALL - SELECT CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, 'S03' AS sInduction_Name, - COUNT(*) AS SingleCarrier_count, - 0 AS DoubleCarrier_count + COUNT(*) AS Count FROM item_data WHERE t_stamp BETWEEN :starttime AND :endtime AND adiSort_Code_0 NOT IN (11, 15) AND sLocation_ID LIKE 'S03%' - AND (:inductionname IS NULL OR :inductionname = '' OR :inductionname = 'S03') GROUP BY DATE(t_stamp), HOUR(t_stamp) ) AS data ON 1=1 ORDER BY data.roundtime ASC; - diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Count/resource.json b/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Count/resource.json index 617f6ff6..c94457a3 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Count/resource.json +++ b/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Count/resource.json @@ -18,7 +18,7 @@ "cacheEnabled": false, "database": "MariaDB", "fallbackEnabled": false, - "lastModificationSignature": "57b2b7f0fd2d28eb708e99277bdd4818382ad10fed2e4a27067cbcdfbacb94c1", + "lastModificationSignature": "7b80d6e76625a91d90940129402b865d99aa45dc17275a300c264fd4b3889eb2", "permissions": [ { "zone": "", @@ -27,7 +27,7 @@ ], "lastModification": { "actor": "admin", - "timestamp": "2025-11-19T15:15:03Z" + "timestamp": "2025-12-01T07:46:25Z" }, "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", "parameters": [ diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Percentage Graph/query.sql b/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Percentage Graph/query.sql deleted file mode 100644 index 77e2a0d3..00000000 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Percentage Graph/query.sql +++ /dev/null @@ -1,14 +0,0 @@ -SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, - CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS `Hour`, - 'S03' AS `Induction Name`, - '100%' AS `Total Single Carrier`, - '0%' AS `Total Double Carrier` -FROM item_data -WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' - AND (:inductionname IS NULL OR :inductionname = '' OR :inductionname = 'S03') -GROUP BY DATE(t_stamp), HOUR(t_stamp) -ORDER BY `Start Timestamp` ASC; - diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Percentage Graph/resource.json b/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Percentage Graph/resource.json deleted file mode 100644 index 5f55be45..00000000 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Percentage Graph/resource.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "scope": "DG", - "version": 2, - "restricted": false, - "overridable": true, - "files": [ - "query.sql" - ], - "attributes": { - "useMaxReturnSize": false, - "autoBatchEnabled": false, - "fallbackValue": "", - "maxReturnSize": 100, - "cacheUnit": "SEC", - "type": "Query", - "enabled": true, - "cacheAmount": 1, - "cacheEnabled": false, - "database": "MariaDB", - "fallbackEnabled": false, - "lastModificationSignature": "fc6b89ae44bfeb7a305d2cab15cfef80a2ef36645bbc6259c53ce4633c2e60f4", - "permissions": [ - { - "zone": "", - "role": "" - } - ], - "lastModification": { - "actor": "admin", - "timestamp": "2025-11-19T17:10:29Z" - }, - "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", - "parameters": [ - { - "type": "Parameter", - "identifier": "starttime", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "endtime", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "inductionname", - "sqlType": 7 - } - ] - } -} \ No newline at end of file diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Percentage/query.sql b/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Percentage/query.sql index 63baa46e..b4df34c1 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Percentage/query.sql +++ b/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Percentage/query.sql @@ -1,50 +1,24 @@ SELECT - COALESCE(data.roundtime, 'N/A') AS StartTimestamp, - COALESCE(CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(data.roundtime, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))), 'N/A') AS Hour, - COALESCE(data.sInduction_Name, 'N/A') AS sInduction_Name, - COALESCE(data.SingleCarrier_percent, '0%') AS SingleCarrier_percent, - COALESCE(data.DoubleCarrier_percent, '0%') AS DoubleCarrier_percent, - COALESCE(data.Total_count, 0) AS Total_count -FROM (SELECT 1) AS p -LEFT JOIN ( - SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, - sInduction_Name, - CONCAT( - CASE - WHEN (COALESCE(SUM(diTotal_Single_Carrier), 0) + COALESCE(SUM(diTotal_Double_Carrier), 0)) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diTotal_Single_Carrier), 0) * 100.0) / ( - COALESCE(SUM(diTotal_Single_Carrier), 0) + COALESCE(SUM(diTotal_Double_Carrier), 0) - ), 2) - END, '%' - ) AS SingleCarrier_percent, - CONCAT( - CASE - WHEN (COALESCE(SUM(diTotal_Single_Carrier), 0) + COALESCE(SUM(diTotal_Double_Carrier), 0)) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diTotal_Double_Carrier), 0) * 100.0) / ( - COALESCE(SUM(diTotal_Single_Carrier), 0) + COALESCE(SUM(diTotal_Double_Carrier), 0) - ), 2) - END, '%' - ) AS DoubleCarrier_percent, - COALESCE(SUM(diTotal_Single_Carrier), 0) + COALESCE(SUM(diTotal_Double_Carrier), 0) AS Total_count - FROM induction_data - WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sInduction_Name = :inductionname OR :inductionname IS NULL OR :inductionname = '') - GROUP BY DATE(t_stamp), HOUR(t_stamp), sInduction_Name - - UNION ALL - - SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, - 'S03' AS sInduction_Name, - '100%' AS SingleCarrier_percent, - '0%' AS DoubleCarrier_percent, - COUNT(*) AS Total_count - FROM item_data - WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' - AND (:inductionname IS NULL OR :inductionname = '' OR :inductionname = 'S03') - GROUP BY DATE(t_stamp), HOUR(t_stamp) -) AS data ON 1=1 -ORDER BY data.roundtime ASC; + CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS StartTimestamp, + + CONCAT( + 'H', + TIMESTAMPDIFF( + HOUR, + DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), + DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") + ) + ) AS Hour, + + 'S03' AS sInduction_Name, + + COUNT(*) AS Total_count + +FROM item_data +WHERE t_stamp BETWEEN :starttime AND :endtime + AND adiSort_Code_0 NOT IN (11, 15) + AND sLocation_ID LIKE 'S03%' + AND (:inductionname IS NULL OR :inductionname = '' OR :inductionname = 'S03') + +GROUP BY DATE(t_stamp), HOUR(t_stamp) +ORDER BY StartTimestamp ASC; diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Percentage/resource.json b/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Percentage/resource.json index 08995567..dbefae89 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Percentage/resource.json +++ b/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Percentage/resource.json @@ -18,7 +18,7 @@ "cacheEnabled": false, "database": "MariaDB", "fallbackEnabled": false, - "lastModificationSignature": "177bf58e5e78551894fa4043b1aa81dba629112e72f56b2deaa755ee244c0648", + "lastModificationSignature": "d6ae98b57c685eaca4465716cb0357ef2fdd8cc9b8565b920f218799fbb9e01a", "permissions": [ { "zone": "", @@ -27,7 +27,7 @@ ], "lastModification": { "actor": "admin", - "timestamp": "2025-11-19T15:15:37Z" + "timestamp": "2025-12-01T08:22:54Z" }, "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", "parameters": [ diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Rate Graph/query.sql b/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Rate Graph/query.sql deleted file mode 100644 index 916c1e33..00000000 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Rate Graph/query.sql +++ /dev/null @@ -1,14 +0,0 @@ --- Hourly Induct Graph Query (Rate) --- Shows every hour in detail for graphing - -SELECT - CONCAT('H', TIMESTAMPDIFF(HOUR, - DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), - DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") - )) AS Hour, - COUNT(*) AS Total -FROM alltable -WHERE t_stamp BETWEEN :starttime AND :endtime -GROUP BY DATE(t_stamp), HOUR(t_stamp) -ORDER BY DATE(t_stamp) ASC, HOUR(t_stamp) ASC; - diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Rate Graph/resource.json b/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Rate Graph/resource.json deleted file mode 100644 index 16cfab65..00000000 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyInduct/Hourly Induct Rate Graph/resource.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "scope": "DG", - "version": 2, - "restricted": false, - "overridable": true, - "files": [ - "query.sql" - ], - "attributes": { - "useMaxReturnSize": false, - "autoBatchEnabled": false, - "fallbackValue": "", - "maxReturnSize": 100, - "cacheUnit": "SEC", - "type": "Query", - "enabled": true, - "cacheAmount": 1, - "cacheEnabled": false, - "database": "MariaDB", - "fallbackEnabled": false, - "lastModificationSignature": "23d42b9257d52e8126c42b32fc0fdcd1105310b5694f67a9540a99be948bf3dc", - "permissions": [ - { - "zone": "", - "role": "" - } - ], - "lastModification": { - "actor": "admin", - "timestamp": "2025-11-19T14:31:10Z" - }, - "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", - "parameters": [ - { - "type": "Parameter", - "identifier": "starttime", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "endtime", - "sqlType": 8 - } - ] - } -} \ No newline at end of file diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyLane/Hourly Lane Rate Graph/query.sql b/BNA8_autStand/ignition/named-query/Statistics/HourlyLane/Hourly Lane Rate Graph/query.sql deleted file mode 100644 index 5e91ddc3..00000000 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyLane/Hourly Lane Rate Graph/query.sql +++ /dev/null @@ -1,62 +0,0 @@ --- Hourly Lane Graph Query (Rate per hour) --- Shows every hour in detail with all lane statistics as rates (items per hour) for graphing --- Rate calculation matches LaneDetails_Rate.sql formula --- Filtered by specific lane parameter - -SELECT - CONCAT('H', TIMESTAMPDIFF(HOUR, - DATE_FORMAT(Startstamp, "%Y-%m-%d %H:00:00"), - DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") - )) AS Hour, - ROUND(total_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Total, - ROUND(success_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Sorted, - ROUND(unknown_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Unknown, - ROUND(unexpected_container_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Unexpected, - ROUND(tracking_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS TrackingError, - ROUND(gap_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS GapError, - ROUND(destination_full_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationFull, - ROUND(destination_non_operational_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationFault, - ROUND(invalid_destination_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationInvalid, - ROUND(destination_disabled_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationDisabled, - ROUND(throughput_limit_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS ThroughputLimit, - ROUND(failed_to_divert_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DivertFail, - ROUND(no_destination_received_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationNone, - ROUND(lost_container_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Lost, - ROUND(dimension_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DimensionError, - ROUND(weight_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS WeightError, - ROUND(container_utilization_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS ContainerUtilization, - ROUND(unable_to_divert_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS UnableToDivert, - ROUND(destination_not_attempted_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationNotAttempted, - ROUND(scan_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS ScanError -FROM ( - SELECT - DATE(t_stamp) AS date_part, - HOUR(t_stamp) AS hour_part, - MIN(t_stamp) AS Startstamp, - MAX(t_stamp) AS Endtstamp, - COUNT(*) AS total_count, - SUM(DivertStatus = 0) AS success_count, - SUM(DivertStatus = 1) AS unknown_count, - SUM(DivertStatus = 2) AS unexpected_container_count, - SUM(DivertStatus = 3) AS tracking_error_count, - SUM(DivertStatus = 4) AS gap_error_count, - SUM(DivertStatus = 5) AS destination_full_count, - SUM(DivertStatus = 6) AS destination_non_operational_count, - SUM(DivertStatus = 7) AS invalid_destination_count, - SUM(DivertStatus = 12) AS destination_disabled_count, - SUM(DivertStatus = 13) AS throughput_limit_count, - SUM(DivertStatus = 14) AS failed_to_divert_count, - SUM(DivertStatus = 16) AS no_destination_received_count, - SUM(DivertStatus = 17) AS lost_container_count, - SUM(DivertStatus = 18) AS dimension_error_count, - SUM(DivertStatus = 19) AS weight_error_count, - SUM(DivertStatus = 20) AS container_utilization_count, - SUM(DivertStatus = 21) AS unable_to_divert_count, - SUM(DivertStatus = 22) AS destination_not_attempted_count, - SUM(DivertStatus IN (8, 9, 10)) AS scan_error_count - FROM alltable - WHERE DEST_REQ = :lane AND t_stamp BETWEEN :starttime AND :endtime - GROUP BY DATE(t_stamp), HOUR(t_stamp) -) counts -ORDER BY Startstamp ASC; - diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyLane/Hourly Lane Rate Graph/resource.json b/BNA8_autStand/ignition/named-query/Statistics/HourlyLane/Hourly Lane Rate Graph/resource.json deleted file mode 100644 index 702c014a..00000000 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyLane/Hourly Lane Rate Graph/resource.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "scope": "DG", - "version": 2, - "restricted": false, - "overridable": true, - "files": [ - "query.sql" - ], - "attributes": { - "useMaxReturnSize": false, - "autoBatchEnabled": false, - "fallbackValue": "", - "maxReturnSize": 100, - "cacheUnit": "SEC", - "type": "Query", - "enabled": true, - "cacheAmount": 1, - "cacheEnabled": false, - "database": "MariaDB", - "fallbackEnabled": false, - "lastModificationSignature": "67881264498210e0897664c662749fecb07c51e0d0e28829807d0cfc72534ef2", - "permissions": [ - { - "zone": "", - "role": "" - } - ], - "lastModification": { - "actor": "admin", - "timestamp": "2025-11-19T14:31:10Z" - }, - "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", - "parameters": [ - { - "type": "Parameter", - "identifier": "starttime", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "endtime", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "lane", - "sqlType": 7 - } - ] - } -} \ No newline at end of file diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyLane/Hourly Lane Rate/query.sql b/BNA8_autStand/ignition/named-query/Statistics/HourlyLane/Hourly Lane Rate/query.sql deleted file mode 100644 index 163c556f..00000000 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyLane/Hourly Lane Rate/query.sql +++ /dev/null @@ -1,62 +0,0 @@ --- Hourly Lane Details Rate Query (Table Display) --- Shows every hour in detail with all lane statistics as rates (items per hour) --- Rate calculation matches LaneDetails_Rate.sql formula --- Filtered by specific lane parameter - -SELECT - CONCAT(DATE(Startstamp), ' ', LPAD(HOUR(Startstamp), 2, '0'), ':00') AS StartTimestamp, - CONCAT('H', TIMESTAMPDIFF(HOUR, - DATE_FORMAT(Startstamp, "%Y-%m-%d %H:00:00"), - DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") - )) AS Hour, - CONCAT(ROUND(total_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS total_rate, - CONCAT(ROUND(success_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS success_rate, - CONCAT(ROUND(unknown_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS unknown_rate, - CONCAT(ROUND(unexpected_container_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS unexpected_container_rate, - CONCAT(ROUND(tracking_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS tracking_error_rate, - CONCAT(ROUND(gap_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS gap_error_rate, - CONCAT(ROUND(destination_full_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_full_rate, - CONCAT(ROUND(destination_non_operational_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_non_operational_rate, - CONCAT(ROUND(invalid_destination_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS invalid_destination_rate, - CONCAT(ROUND(destination_disabled_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_disabled_rate, - CONCAT(ROUND(throughput_limit_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS throughput_limit_rate, - CONCAT(ROUND(failed_to_divert_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS failed_to_divert_rate, - CONCAT(ROUND(no_destination_received_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS no_destination_received_rate, - CONCAT(ROUND(lost_container_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS lost_container_rate, - CONCAT(ROUND(dimension_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS dimension_error_rate, - CONCAT(ROUND(weight_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS weight_error_rate, - CONCAT(ROUND(container_utilization_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS container_utilization_rate, - CONCAT(ROUND(unable_to_divert_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS unable_to_divert_rate, - CONCAT(ROUND(destination_not_attempted_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_not_attempted_rate, - CONCAT(ROUND(scan_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS scan_error_rate -FROM ( - SELECT - DATE(t_stamp) AS date_part, - HOUR(t_stamp) AS hour_part, - MIN(t_stamp) AS Startstamp, - MAX(t_stamp) AS Endtstamp, - COUNT(*) AS total_count, - SUM(DivertStatus = 0) AS success_count, - SUM(DivertStatus = 1) AS unknown_count, - SUM(DivertStatus = 2) AS unexpected_container_count, - SUM(DivertStatus = 3) AS tracking_error_count, - SUM(DivertStatus = 4) AS gap_error_count, - SUM(DivertStatus = 5) AS destination_full_count, - SUM(DivertStatus = 6) AS destination_non_operational_count, - SUM(DivertStatus = 7) AS invalid_destination_count, - SUM(DivertStatus = 12) AS destination_disabled_count, - SUM(DivertStatus = 13) AS throughput_limit_count, - SUM(DivertStatus = 14) AS failed_to_divert_count, - SUM(DivertStatus = 16) AS no_destination_received_count, - SUM(DivertStatus = 17) AS lost_container_count, - SUM(DivertStatus = 18) AS dimension_error_count, - SUM(DivertStatus = 19) AS weight_error_count, - SUM(DivertStatus = 20) AS container_utilization_count, - SUM(DivertStatus = 21) AS unable_to_divert_count, - SUM(DivertStatus = 22) AS destination_not_attempted_count, - SUM(DivertStatus IN (8, 9, 10)) AS scan_error_count - FROM alltable - WHERE DEST_REQ = :lane AND t_stamp BETWEEN :starttime AND :endtime - GROUP BY DATE(t_stamp), HOUR(t_stamp) -) counts -ORDER BY Startstamp ASC; diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyLane/Hourly Lane Rate/resource.json b/BNA8_autStand/ignition/named-query/Statistics/HourlyLane/Hourly Lane Rate/resource.json deleted file mode 100644 index edb0b568..00000000 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyLane/Hourly Lane Rate/resource.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "scope": "DG", - "version": 2, - "restricted": false, - "overridable": true, - "files": [ - "query.sql" - ], - "attributes": { - "useMaxReturnSize": false, - "autoBatchEnabled": false, - "fallbackValue": "", - "maxReturnSize": 100, - "cacheUnit": "SEC", - "type": "Query", - "enabled": true, - "cacheAmount": 1, - "cacheEnabled": false, - "database": "MariaDB", - "fallbackEnabled": false, - "lastModificationSignature": "4b9729fab1eee53a2a42f43641927819c64a35342ecb09b81df68bcae3851cf9", - "permissions": [ - { - "zone": "", - "role": "" - } - ], - "lastModification": { - "actor": "admin", - "timestamp": "2025-11-19T14:31:10Z" - }, - "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", - "parameters": [ - { - "type": "Parameter", - "identifier": "starttime", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "endtime", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "lane", - "sqlType": 7 - } - ] - } -} \ No newline at end of file diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count Graph/query.sql b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count Graph/query.sql index 6c38a191..0f2a7ff8 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count Graph/query.sql +++ b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count Graph/query.sql @@ -1,45 +1,29 @@ SELECT CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, - CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS `Hour`, - sScanner_Name AS `Scanner Name`, - COALESCE(SUM(diScanner_bad_reads), 0) AS `Total Bad Reads`, - COALESCE(SUM(diScanner_comm_fault), 0) AS `Total Comm Faults`, - COALESCE(SUM(diScanner_good_reads), 0) AS `Total Good Reads`, - COALESCE(SUM(diScanner_multi_items), 0) AS `Total Multi Items`, - COALESCE(SUM(diScanner_multi_reads), 0) AS `Total Multi Reads`, - COALESCE(SUM(diScanner_no_data), 0) AS `Total No Data`, - COALESCE(SUM(diScanner_no_reads), 0) AS `Total No Reads`, - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) AS `Total` -FROM scanner_reads -WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sScanner_Name = :scannername OR :scannername IS NULL OR :scannername = '') -GROUP BY DATE(t_stamp), HOUR(t_stamp), sScanner_Name - -UNION ALL - -SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, - CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS `Hour`, + CONCAT( + 'H', + TIMESTAMPDIFF( + HOUR, + DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), + DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") + ) + ) AS `Hour`, 'S03aa' AS `Scanner Name`, + + -- REAL SCAN STATS FROM item_data SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) AS `Total Bad Reads`, - 0 AS `Total Comm Faults`, SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS `Total Good Reads`, - 0 AS `Total Multi Items`, SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) AS `Total Multi Reads`, SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) AS `Total No Data`, SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) AS `Total No Reads`, + COUNT(*) AS `Total` + FROM item_data WHERE t_stamp BETWEEN :starttime AND :endtime AND adiSort_Code_0 NOT IN (11, 15) AND sLocation_ID LIKE 'S03%' AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') + GROUP BY DATE(t_stamp), HOUR(t_stamp) ORDER BY `Start Timestamp` ASC; - diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count Graph/resource.json b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count Graph/resource.json index da63cfb3..40077c68 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count Graph/resource.json +++ b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count Graph/resource.json @@ -18,7 +18,7 @@ "cacheEnabled": false, "database": "MariaDB", "fallbackEnabled": false, - "lastModificationSignature": "02ce867ea693a86861dabfbda428296fd33ef2d9c1e79c2c02588494a49b5bc8", + "lastModificationSignature": "024e03363409eb08f618131f0108313ea7e0662e60cc237d70aa720cb68da66d", "permissions": [ { "zone": "", @@ -27,7 +27,7 @@ ], "lastModification": { "actor": "admin", - "timestamp": "2025-11-19T15:12:15Z" + "timestamp": "2025-12-01T08:17:53Z" }, "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", "parameters": [ diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count/query.sql b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count/query.sql index 70b73354..18e91c64 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count/query.sql +++ b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count/query.sql @@ -1,56 +1,47 @@ SELECT COALESCE(data.roundtime, 'N/A') AS StartTimestamp, - COALESCE(CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(data.roundtime, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))), 'N/A') AS Hour, + COALESCE( + CONCAT( + 'H', + TIMESTAMPDIFF( + HOUR, + DATE_FORMAT(data.roundtime, "%Y-%m-%d %H:00:00"), + DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") + ) + ), + 'N/A' + ) AS Hour, COALESCE(data.sScanner_Name, 'N/A') AS sScanner_Name, - COALESCE(data.BadReads, 0) AS BadReads, - COALESCE(data.CommFaults, 0) AS CommFaults, - COALESCE(data.GoodReads, 0) AS GoodReads, - COALESCE(data.MultiItems, 0) AS MultiItems, - COALESCE(data.MultiReads, 0) AS MultiReads, - COALESCE(data.NoData, 0) AS NoData, - COALESCE(data.NoReads, 0) AS NoReads, - COALESCE(data.BadReads, 0) + - COALESCE(data.CommFaults, 0) + - COALESCE(data.GoodReads, 0) + - COALESCE(data.MultiItems, 0) + - COALESCE(data.MultiReads, 0) + - COALESCE(data.NoData, 0) + - COALESCE(data.NoReads, 0) AS Total + + COALESCE(data.BadReads, 0) AS BadReads, + COALESCE(data.GoodReads, 0) AS GoodReads, + COALESCE(data.MultiReads, 0) AS MultiReads, + COALESCE(data.NoData, 0) AS NoData, + COALESCE(data.NoReads, 0) AS NoReads, + COALESCE(data.Total, 0) AS Total + FROM (SELECT 1) AS p LEFT JOIN ( - SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, - sScanner_Name, - SUM(diScanner_bad_reads) AS BadReads, - SUM(diScanner_comm_fault) AS CommFaults, - SUM(diScanner_good_reads) AS GoodReads, - SUM(diScanner_multi_items) AS MultiItems, - SUM(diScanner_multi_reads) AS MultiReads, - SUM(diScanner_no_data) AS NoData, - SUM(diScanner_no_reads) AS NoReads - FROM scanner_reads - WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sScanner_Name = :scannername OR :scannername IS NULL OR :scannername = '') - GROUP BY DATE(t_stamp), HOUR(t_stamp), sScanner_Name - - UNION ALL - SELECT CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, 'S03aa' AS sScanner_Name, + + -- Real counts from item_data SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) AS BadReads, - 0 AS CommFaults, - SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS GoodReads, - 0 AS MultiItems, + SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS GoodReads, SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) AS MultiReads, - SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) AS NoData, - SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) AS NoReads + SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) AS NoData, + SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) AS NoReads, + + -- Total scans in this bucket + COUNT(*) AS Total + FROM item_data WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' - AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') + AND adiSort_Code_0 NOT IN (11, 15) + AND sLocation_ID LIKE 'S03%' + AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') + GROUP BY DATE(t_stamp), HOUR(t_stamp) ) AS data ON 1=1 ORDER BY data.roundtime ASC; - diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count/resource.json b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count/resource.json index 365e4dd7..49169513 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count/resource.json +++ b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Count/resource.json @@ -18,7 +18,7 @@ "cacheEnabled": false, "database": "MariaDB", "fallbackEnabled": false, - "lastModificationSignature": "4bd84e777396fdde9980a44686304395ccda69fa68a41e6e2bc10317b14cda9a", + "lastModificationSignature": "e377e9bcce6d506b653a2bb6930edafa8afef638264f422080b18a46fb5bc439", "permissions": [ { "zone": "", @@ -27,7 +27,7 @@ ], "lastModification": { "actor": "admin", - "timestamp": "2025-11-19T15:10:38Z" + "timestamp": "2025-12-01T08:14:14Z" }, "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", "parameters": [ diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage Graph/query.sql b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage Graph/query.sql index b23f33dc..824acd2a 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage Graph/query.sql +++ b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage Graph/query.sql @@ -1,209 +1,53 @@ SELECT CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, - CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS `Hour`, - sScanner_Name AS `Scanner Name`, + CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_bad_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS `Total Bad Reads`, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_comm_fault), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS `Total Comm Faults`, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_good_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS `Total Good Reads`, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_multi_items), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS `Total Multi Items`, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_multi_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS `Total Multi Reads`, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_no_data), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS `Total No Data`, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_no_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS `Total No Reads` -FROM scanner_reads -WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sScanner_Name = :scannername OR :scannername IS NULL OR :scannername = '') -GROUP BY DATE(t_stamp), HOUR(t_stamp), sScanner_Name - -UNION ALL - -SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS `Start Timestamp`, - CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))) AS `Hour`, + 'H', + TIMESTAMPDIFF( + HOUR, + DATE_FORMAT(t_stamp, "%Y-%m-%d %H:00:00"), + DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") + ) + ) AS `Hour`, + 'S03aa' AS `Scanner Name`, + + /* ---- PERCENTAGES ---- */ CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( (SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 END) * 100.0) / COUNT(*), 2) END, '%' ) AS `Total Bad Reads`, - '0%' AS `Total Comm Faults`, + CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( (SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 END) * 100.0) / COUNT(*), 2) END, '%' ) AS `Total Good Reads`, - '0%' AS `Total Multi Items`, + CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( (SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 END) * 100.0) / COUNT(*), 2) END, '%' ) AS `Total Multi Reads`, + CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( (SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 END) * 100.0) / COUNT(*), 2) END, '%' ) AS `Total No Data`, + CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( (SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 END) * 100.0) / COUNT(*), 2) END, '%' ) AS `Total No Reads` + FROM item_data WHERE t_stamp BETWEEN :starttime AND :endtime AND adiSort_Code_0 NOT IN (11, 15) AND sLocation_ID LIKE 'S03%' AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') + GROUP BY DATE(t_stamp), HOUR(t_stamp) ORDER BY `Start Timestamp` ASC; - diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage Graph/resource.json b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage Graph/resource.json index a69e65ec..d60aa9a3 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage Graph/resource.json +++ b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage Graph/resource.json @@ -18,7 +18,7 @@ "cacheEnabled": false, "database": "MariaDB", "fallbackEnabled": false, - "lastModificationSignature": "fb62440ec31f243656fbc2f39199108bcb8f32187d70e78f5be084a3a5982528", + "lastModificationSignature": "8fd2b396fdf81dbe9925670d509bda6cf0788e4326ab54db9487c1c266e7d713", "permissions": [ { "zone": "", @@ -27,7 +27,7 @@ ], "lastModification": { "actor": "admin", - "timestamp": "2025-11-19T15:12:52Z" + "timestamp": "2025-12-01T08:19:55Z" }, "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", "parameters": [ diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage/query.sql b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage/query.sql index da6eeedc..7e0f4db4 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage/query.sql +++ b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage/query.sql @@ -1,229 +1,79 @@ SELECT COALESCE(data.roundtime, 'N/A') AS StartTimestamp, - COALESCE(CONCAT('H', TIMESTAMPDIFF(HOUR, DATE_FORMAT(data.roundtime, "%Y-%m-%d %H:00:00"), DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00"))), 'N/A') AS Hour, + COALESCE( + CONCAT( + 'H', + TIMESTAMPDIFF( + HOUR, + DATE_FORMAT(data.roundtime, "%Y-%m-%d %H:00:00"), + DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") + ) + ), + 'N/A' + ) AS Hour, COALESCE(data.sScanner_Name, 'N/A') AS sScanner_Name, - COALESCE(data.BadReads, '0%') AS BadReads, - COALESCE(data.CommFaults, '0%') AS CommFaults, - COALESCE(data.GoodReads, '0%') AS GoodReads, - COALESCE(data.MultiItems, '0%') AS MultiItems, - COALESCE(data.MultiReads, '0%') AS MultiReads, - COALESCE(data.NoData, '0%') AS NoData, - COALESCE(data.NoReads, '0%') AS NoReads, + + data.BadReads, + data.GoodReads, + data.MultiReads, + data.NoData, + data.NoReads, COALESCE(data.Total, 0) AS Total + FROM (SELECT 1) AS p LEFT JOIN ( - SELECT - CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, - sScanner_Name, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_bad_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS BadReads, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_comm_fault), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS CommFaults, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_good_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS GoodReads, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_multi_items), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS MultiItems, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_multi_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS MultiReads, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_no_data), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS NoData, - CONCAT( - CASE - WHEN ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ) = 0 THEN 0 - ELSE ROUND((COALESCE(SUM(diScanner_no_reads), 0) * 100.0) / ( - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) - ), 2) - END, '%' - ) AS NoReads, - COALESCE(SUM(diScanner_bad_reads), 0) + - COALESCE(SUM(diScanner_comm_fault), 0) + - COALESCE(SUM(diScanner_good_reads), 0) + - COALESCE(SUM(diScanner_multi_items), 0) + - COALESCE(SUM(diScanner_multi_reads), 0) + - COALESCE(SUM(diScanner_no_data), 0) + - COALESCE(SUM(diScanner_no_reads), 0) AS Total - FROM scanner_reads - WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sScanner_Name = :scannername OR :scannername IS NULL OR :scannername = '') - GROUP BY DATE(t_stamp), HOUR(t_stamp), sScanner_Name - - UNION ALL - SELECT CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime, 'S03aa' AS sScanner_Name, + + COUNT(*) AS Total, + CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( + (SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) * 100.0) + / COUNT(*), 2) END, '%' ) AS BadReads, - '0%' AS CommFaults, + CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( + (SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) * 100.0) + / COUNT(*), 2) END, '%' ) AS GoodReads, - '0%' AS MultiItems, + CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( + (SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) * 100.0) + / COUNT(*), 2) END, '%' ) AS MultiReads, + CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( + (SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) * 100.0) + / COUNT(*), 2) END, '%' ) AS NoData, + CONCAT( - CASE - WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + CASE WHEN COUNT(*) = 0 THEN 0 + ELSE ROUND( + (SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) * 100.0) + / COUNT(*), 2) END, '%' - ) AS NoReads, - COUNT(*) AS Total + ) AS NoReads + FROM item_data WHERE t_stamp BETWEEN :starttime AND :endtime AND adiSort_Code_0 NOT IN (11, 15) AND sLocation_ID LIKE 'S03%' AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') + GROUP BY DATE(t_stamp), HOUR(t_stamp) ) AS data ON 1=1 ORDER BY data.roundtime ASC; diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage/resource.json b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage/resource.json index c455a3d6..561adda4 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage/resource.json +++ b/BNA8_autStand/ignition/named-query/Statistics/HourlyScanner/Hourly Scanner Percentage/resource.json @@ -18,7 +18,7 @@ "cacheEnabled": false, "database": "MariaDB", "fallbackEnabled": false, - "lastModificationSignature": "dd58c1019cb33e64af2c179f52104f89e9ce15e0af0e2ab38c13725c6f155254", + "lastModificationSignature": "9ab0a1ad6fb187f58611e61cbfbd668038a770e89179de875985d631d4bb9c47", "permissions": [ { "zone": "", @@ -27,7 +27,7 @@ ], "lastModification": { "actor": "admin", - "timestamp": "2025-11-19T15:11:18Z" + "timestamp": "2025-12-01T08:11:54Z" }, "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", "parameters": [ diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlySorterDetails/Hourly Sorter Details Rate Graph/query.sql b/BNA8_autStand/ignition/named-query/Statistics/HourlySorterDetails/Hourly Sorter Details Rate Graph/query.sql deleted file mode 100644 index b09fee09..00000000 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlySorterDetails/Hourly Sorter Details Rate Graph/query.sql +++ /dev/null @@ -1,59 +0,0 @@ --- Hourly Sorter Details Graph Query (Rate) --- Shows every hour in detail for graphing with all sorter statistics as rates (items per hour) --- Rate calculation matches SorterDetails_Rate.sql formula - -SELECT - CONCAT('H', TIMESTAMPDIFF(HOUR, - DATE_FORMAT(Startstamp, "%Y-%m-%d %H:00:00"), - DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") - )) AS Hour, - ROUND(inducted_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Inducted, - ROUND(sorted_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Sorted, - ROUND(unknown_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Unknown, - ROUND(unexpected_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Unexpected, - ROUND(tracking_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS TrackingError, - ROUND(gap_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS GapError, - ROUND(destination_full_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationFull, - ROUND(destination_fault_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationFault, - ROUND(destination_invalid_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationInvalid, - ROUND(destination_disabled_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationDisabled, - ROUND(throughput_limit_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS ThroughputLimit, - ROUND(divert_fail_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DivertFail, - ROUND(destination_none_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationNone, - ROUND(lost_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS Lost, - ROUND(dimension_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DimensionError, - ROUND(weight_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS WeightError, - ROUND(container_util_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS ContainerUtilization, - ROUND(unable_to_divert_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS UnableToDivert, - ROUND(dest_not_attempted_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS DestinationNotAttempted, - ROUND(scan_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2) AS ScanError -FROM ( - SELECT - MIN(t_stamp) AS Startstamp, - MAX(t_stamp) AS Endtstamp, - COUNT(*) AS inducted_count, - SUM(DivertStatus = 0) AS sorted_count, - SUM(DivertStatus = 1) AS unknown_count, - SUM(DivertStatus = 2) AS unexpected_count, - SUM(DivertStatus = 3) AS tracking_error_count, - SUM(DivertStatus = 4) AS gap_error_count, - SUM(DivertStatus = 5) AS destination_full_count, - SUM(DivertStatus = 6) AS destination_fault_count, - SUM(DivertStatus = 7) AS destination_invalid_count, - SUM(DivertStatus = 12) AS destination_disabled_count, - SUM(DivertStatus = 13) AS throughput_limit_count, - SUM(DivertStatus = 14) AS divert_fail_count, - SUM(DivertStatus = 16) AS destination_none_count, - SUM(DivertStatus = 17) AS lost_count, - SUM(DivertStatus = 18) AS dimension_error_count, - SUM(DivertStatus = 19) AS weight_error_count, - SUM(DivertStatus = 20) AS container_util_count, - SUM(DivertStatus = 21) AS unable_to_divert_count, - SUM(DivertStatus = 22) AS dest_not_attempted_count, - SUM(DivertStatus IN (8, 9, 10)) AS scan_error_count - FROM alltable - WHERE t_stamp BETWEEN :starttime AND :endtime - GROUP BY DATE(t_stamp), HOUR(t_stamp) -) counts -ORDER BY Startstamp ASC; - diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlySorterDetails/Hourly Sorter Details Rate Graph/resource.json b/BNA8_autStand/ignition/named-query/Statistics/HourlySorterDetails/Hourly Sorter Details Rate Graph/resource.json deleted file mode 100644 index 3e62a0f5..00000000 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlySorterDetails/Hourly Sorter Details Rate Graph/resource.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "scope": "DG", - "version": 2, - "restricted": false, - "overridable": true, - "files": [ - "query.sql" - ], - "attributes": { - "useMaxReturnSize": false, - "autoBatchEnabled": false, - "fallbackValue": "", - "maxReturnSize": 100, - "cacheUnit": "SEC", - "type": "Query", - "enabled": true, - "cacheAmount": 1, - "cacheEnabled": false, - "database": "MariaDB", - "fallbackEnabled": false, - "lastModificationSignature": "8c6bdb7de87c2cc4310fbefb0dc0af4c38766f3113234ebb50f61db2818c94eb", - "permissions": [ - { - "zone": "", - "role": "" - } - ], - "lastModification": { - "actor": "admin", - "timestamp": "2025-11-19T14:31:11Z" - }, - "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", - "parameters": [ - { - "type": "Parameter", - "identifier": "starttime", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "endtime", - "sqlType": 8 - } - ] - } -} \ No newline at end of file diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlySorterDetails/Hourly Sorter Details Rate/query.sql b/BNA8_autStand/ignition/named-query/Statistics/HourlySorterDetails/Hourly Sorter Details Rate/query.sql deleted file mode 100644 index 13fd25a0..00000000 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlySorterDetails/Hourly Sorter Details Rate/query.sql +++ /dev/null @@ -1,59 +0,0 @@ --- Hourly Sorter Details Rate Query (Table Display) --- Shows every hour in detail with all sorter statistics as rates (items per hour) --- Rate calculation matches SorterDetails_Rate.sql formula - -SELECT - CONCAT(DATE(Startstamp), ' ', LPAD(HOUR(Startstamp), 2, '0'), ':00') AS Startstamp, - CONCAT('H', TIMESTAMPDIFF(HOUR, - DATE_FORMAT(Startstamp, "%Y-%m-%d %H:00:00"), - DATE_FORMAT(NOW(), "%Y-%m-%d %H:00:00") - )) AS Hour, - CONCAT(ROUND(success_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS success_rate, - CONCAT(ROUND(unknown_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS unknown_rate, - CONCAT(ROUND(unexpected_container_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS unexpected_container_rate, - CONCAT(ROUND(tracking_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS tracking_error_rate, - CONCAT(ROUND(gap_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS gap_error_rate, - CONCAT(ROUND(destination_full_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_full_rate, - CONCAT(ROUND(destination_non_operational_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_non_operational_rate, - CONCAT(ROUND(invalid_destination_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS invalid_destination_rate, - CONCAT(ROUND(destination_disabled_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_disabled_rate, - CONCAT(ROUND(throughput_limit_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS throughput_limit_rate, - CONCAT(ROUND(failed_to_divert_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS failed_to_divert_rate, - CONCAT(ROUND(no_destination_received_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS no_destination_received_rate, - CONCAT(ROUND(lost_container_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS lost_container_rate, - CONCAT(ROUND(dimension_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS dimension_error_rate, - CONCAT(ROUND(weight_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS weight_error_rate, - CONCAT(ROUND(container_utilization_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS container_utilization_rate, - CONCAT(ROUND(unable_to_divert_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS unable_to_divert_rate, - CONCAT(ROUND(destination_not_attempted_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS destination_not_attempted_rate, - CONCAT(ROUND(scan_error_count * 3600 / TIMESTAMPDIFF(SECOND, Startstamp, Endtstamp), 2), ' pph') AS scan_error_rate -FROM ( - SELECT - DATE(t_stamp) AS date_part, - HOUR(t_stamp) AS hour_part, - MIN(t_stamp) AS Startstamp, - MAX(t_stamp) AS Endtstamp, - SUM(DivertStatus = 0) AS success_count, - SUM(DivertStatus = 1) AS unknown_count, - SUM(DivertStatus = 2) AS unexpected_container_count, - SUM(DivertStatus = 3) AS tracking_error_count, - SUM(DivertStatus = 4) AS gap_error_count, - SUM(DivertStatus = 5) AS destination_full_count, - SUM(DivertStatus = 6) AS destination_non_operational_count, - SUM(DivertStatus = 7) AS invalid_destination_count, - SUM(DivertStatus = 12) AS destination_disabled_count, - SUM(DivertStatus = 13) AS throughput_limit_count, - SUM(DivertStatus = 14) AS failed_to_divert_count, - SUM(DivertStatus = 16) AS no_destination_received_count, - SUM(DivertStatus = 17) AS lost_container_count, - SUM(DivertStatus = 18) AS dimension_error_count, - SUM(DivertStatus = 19) AS weight_error_count, - SUM(DivertStatus = 20) AS container_utilization_count, - SUM(DivertStatus = 21) AS unable_to_divert_count, - SUM(DivertStatus = 22) AS destination_not_attempted_count, - SUM(DivertStatus IN (8, 9, 10)) AS scan_error_count - FROM alltable - WHERE t_stamp BETWEEN :starttime AND :endtime - GROUP BY DATE(t_stamp), HOUR(t_stamp) -) counts -ORDER BY Startstamp ASC; \ No newline at end of file diff --git a/BNA8_autStand/ignition/named-query/Statistics/HourlySorterDetails/Hourly Sorter Details Rate/resource.json b/BNA8_autStand/ignition/named-query/Statistics/HourlySorterDetails/Hourly Sorter Details Rate/resource.json deleted file mode 100644 index a75ee947..00000000 --- a/BNA8_autStand/ignition/named-query/Statistics/HourlySorterDetails/Hourly Sorter Details Rate/resource.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "scope": "DG", - "version": 2, - "restricted": false, - "overridable": true, - "files": [ - "query.sql" - ], - "attributes": { - "useMaxReturnSize": false, - "autoBatchEnabled": false, - "fallbackValue": "", - "maxReturnSize": 100, - "cacheUnit": "SEC", - "type": "Query", - "enabled": true, - "cacheAmount": 1, - "cacheEnabled": false, - "database": "MariaDB", - "fallbackEnabled": false, - "lastModificationSignature": "511103d25c5a516c8dadeb22512bc71d49b10c04a6211592b278cfe84f0ea80b", - "permissions": [ - { - "zone": "", - "role": "" - } - ], - "lastModification": { - "actor": "admin", - "timestamp": "2025-11-19T14:31:10Z" - }, - "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", - "parameters": [ - { - "type": "Parameter", - "identifier": "starttime", - "sqlType": 8 - }, - { - "type": "Parameter", - "identifier": "endtime", - "sqlType": 8 - } - ] - } -} \ No newline at end of file diff --git a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Graph Scanner Details Count/query.sql b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Graph Scanner Details Count/query.sql index 160426ae..32916142 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Graph Scanner Details Count/query.sql +++ b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Graph Scanner Details Count/query.sql @@ -2,62 +2,51 @@ SELECT roundtime AS `Round Time`, sScanner_Name AS `Scanner Name`, COALESCE(total_bad_reads, 0) AS `Total Bad Reads`, - COALESCE(total_comm_faults, 0) AS `Total Comm Faults`, COALESCE(total_good_reads, 0) AS `Total Good Reads`, - COALESCE(total_multi_items, 0) AS `Total Multi Items`, COALESCE(total_multi_reads, 0) AS `Total Multi Reads`, COALESCE(total_no_data, 0) AS `Total No Data`, COALESCE(total_no_reads, 0) AS `Total No Reads`, - COALESCE(total_bad_reads, 0) + - COALESCE(total_comm_faults, 0) + - COALESCE(total_good_reads, 0) + - COALESCE(total_multi_items, 0) + - COALESCE(total_multi_reads, 0) + - COALESCE(total_no_data, 0) + - COALESCE(total_no_reads, 0) AS `Total` + ( + COALESCE(total_bad_reads, 0) + + COALESCE(total_good_reads, 0) + + COALESCE(total_multi_reads, 0) + + COALESCE(total_no_data, 0) + + COALESCE(total_no_reads, 0) + ) AS `Total` FROM ( SELECT FROM_UNIXTIME( - FLOOR(UNIX_TIMESTAMP(t_stamp) / + FLOOR( + UNIX_TIMESTAMP(t_stamp) / CEIL(TIMESTAMPDIFF(SECOND, :starttime, :endtime) / 24.0) - ) * - CEIL(TIMESTAMPDIFF(SECOND, :starttime, :endtime) / 24.0) - ) AS roundtime, - sScanner_Name, - SUM(diScanner_bad_reads) AS total_bad_reads, - SUM(diScanner_comm_fault) AS total_comm_faults, - SUM(diScanner_good_reads) AS total_good_reads, - SUM(diScanner_multi_items) AS total_multi_items, - SUM(diScanner_multi_reads) AS total_multi_reads, - SUM(diScanner_no_data) AS total_no_data, - SUM(diScanner_no_reads) AS total_no_reads - FROM scanner_reads - WHERE t_stamp BETWEEN :starttime AND :endtime - AND (sScanner_Name = :scannername OR :scannername IS NULL OR :scannername = '') - GROUP BY roundtime, sScanner_Name - - UNION ALL - - SELECT - FROM_UNIXTIME( - FLOOR(UNIX_TIMESTAMP(t_stamp) / - CEIL(TIMESTAMPDIFF(SECOND, :starttime, :endtime) / 24.0) - ) * + ) * CEIL(TIMESTAMPDIFF(SECOND, :starttime, :endtime) / 24.0) ) AS roundtime, + 'S03aa' AS sScanner_Name, + + -- BAD READS (anything not success/no_read/no_code/multi) SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) AS total_bad_reads, - 0 AS total_comm_faults, + + -- GOOD reads SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS total_good_reads, - 0 AS total_multi_items, + + -- MULTI READS SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) AS total_multi_reads, + + -- NO DATA SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) AS total_no_data, + + -- NO READS SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) AS total_no_reads + FROM item_data WHERE t_stamp BETWEEN :starttime AND :endtime - AND adiSort_Code_0 NOT IN (11, 15) - AND sLocation_ID LIKE 'S03%' - AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') + AND adiSort_Code_0 NOT IN (11, 15) + AND sLocation_ID LIKE 'S03%' + AND (:scannername IS NULL OR :scannername = '' OR :scannername = 'S03aa') + GROUP BY roundtime - ORDER BY roundtime ASC -) basa; +) AS basa + +ORDER BY `Round Time` ASC; diff --git a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Graph Scanner Details Count/resource.json b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Graph Scanner Details Count/resource.json index aaef8602..29585b2a 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Graph Scanner Details Count/resource.json +++ b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Graph Scanner Details Count/resource.json @@ -18,7 +18,7 @@ "cacheEnabled": false, "database": "MariaDB", "fallbackEnabled": false, - "lastModificationSignature": "4690c5c84319c95d04647d24b38290e1abbfdd54f27b84750c93bee96246ef91", + "lastModificationSignature": "4963d6627b70a9b71a4c9f3cd0c1efe8ee8c196011ccf22dae7f6f5b9b7bfae3", "permissions": [ { "zone": "", @@ -27,7 +27,7 @@ ], "lastModification": { "actor": "admin", - "timestamp": "2025-11-19T14:50:01Z" + "timestamp": "2025-12-01T08:32:12Z" }, "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", "parameters": [ diff --git a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Count/query.sql b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Count/query.sql index 7a629f4d..c885b05d 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Count/query.sql +++ b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Count/query.sql @@ -5,9 +5,7 @@ SELECT 'S03aa' AS sScanner_Name, COALESCE(sorter_total.total_bad_reads, 0) AS total_bad_reads, - 0 AS total_comm_faults, COALESCE(sorter_total.total_good_reads, 0) AS total_good_reads, - 0 AS total_multi_items, COALESCE(sorter_total.total_multi_reads, 0) AS total_multi_reads, COALESCE(sorter_total.total_no_data, 0) AS total_no_data, COALESCE(sorter_total.total_no_reads, 0) AS total_no_reads, diff --git a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Count/resource.json b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Count/resource.json index 43132a2f..9829120f 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Count/resource.json +++ b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Count/resource.json @@ -18,7 +18,7 @@ "cacheEnabled": false, "database": "MariaDB", "fallbackEnabled": false, - "lastModificationSignature": "df107f13425dcb2c06353ffebb2fd9e2b52141c2203aff4f724478f85427bce9", + "lastModificationSignature": "f22c7f05f474fb1e9ccd3a40f537ff92fdd36159d86eb5d2f1da4a2e2ede00c6", "permissions": [ { "zone": "", @@ -27,7 +27,7 @@ ], "lastModification": { "actor": "admin", - "timestamp": "2025-11-19T14:52:05Z" + "timestamp": "2025-12-01T08:33:16Z" }, "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", "parameters": [ diff --git a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Percentage/query.sql b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Percentage/query.sql index 7eb72dc7..a1126ad8 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Percentage/query.sql +++ b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Percentage/query.sql @@ -5,9 +5,7 @@ SELECT 'S03aa' AS sScanner_Name, CONCAT(COALESCE(sorter_total.total_bad_reads, 0), '%') AS total_bad_reads, - '0%' AS total_comm_faults, CONCAT(COALESCE(sorter_total.total_good_reads, 0), '%') AS total_good_reads, - '0%' AS total_multi_items, CONCAT(COALESCE(sorter_total.total_multi_reads, 0), '%') AS total_multi_reads, CONCAT(COALESCE(sorter_total.total_no_data, 0), '%') AS total_no_data, CONCAT(COALESCE(sorter_total.total_no_reads, 0), '%') AS total_no_reads, @@ -17,28 +15,29 @@ FROM (SELECT 1) AS p LEFT JOIN ( SELECT CASE WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + ELSE ROUND((SUM(adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15)) * 100.0) / COUNT(*), 2) END AS total_bad_reads, CASE WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + ELSE ROUND((SUM(adiSort_Code_0 = 0) * 100.0) / COUNT(*), 2) END AS total_good_reads, CASE WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + ELSE ROUND((SUM(adiSort_Code_0 = 10) * 100.0) / COUNT(*), 2) END AS total_multi_reads, CASE WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + ELSE ROUND((SUM(adiSort_Code_0 = 9) * 100.0) / COUNT(*), 2) END AS total_no_data, CASE WHEN COUNT(*) = 0 THEN 0 - ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) + ELSE ROUND((SUM(adiSort_Code_0 = 8) * 100.0) / COUNT(*), 2) END AS total_no_reads, COUNT(*) AS total + FROM item_data WHERE t_stamp BETWEEN :starttime AND :endtime AND adiSort_Code_0 NOT IN (11, 15) AND sLocation_ID LIKE 'S03%' -) AS sorter_total ON 1=1; +) AS sorter_total ON 1 = 1; diff --git a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Percentage/resource.json b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Percentage/resource.json index 844cc062..08859db2 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Percentage/resource.json +++ b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Percentage/resource.json @@ -18,7 +18,7 @@ "cacheEnabled": false, "database": "MariaDB", "fallbackEnabled": false, - "lastModificationSignature": "858c45e4b8302cade05272a1d5fc4a7263c2421f948953f20b7869ad6ca187cb", + "lastModificationSignature": "c0a3e032ff2b5c0f02904a3b7bcd5de2cd5a3f187f2bfb0558f83ca46d4a6a1f", "permissions": [ { "zone": "", @@ -27,7 +27,7 @@ ], "lastModification": { "actor": "admin", - "timestamp": "2025-11-19T14:53:10Z" + "timestamp": "2025-12-01T08:34:11Z" }, "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", "parameters": [ diff --git a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Rate/query.sql b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Rate/query.sql index 113ea540..d3a80357 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Rate/query.sql +++ b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Rate/query.sql @@ -4,54 +4,68 @@ SELECT DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS end_time, 'S03aa' AS sScanner_Name, + -- Bad Reads (rate) CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 - ELSE ROUND(COALESCE(sorter_total.total_bad_reads, 0) * 3600.0 - / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) + ELSE ROUND( + COALESCE(sorter_total.total_bad_reads, 0) * 3600.0 / + TIMESTAMPDIFF(SECOND, :starttime, :endtime), + 2) END AS total_bad_reads, - 0 AS total_comm_faults, - + -- Good Reads (rate) CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 - ELSE ROUND(COALESCE(sorter_total.total_good_reads, 0) * 3600.0 - / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) + ELSE ROUND( + COALESCE(sorter_total.total_good_reads, 0) * 3600.0 / + TIMESTAMPDIFF(SECOND, :starttime, :endtime), + 2) END AS total_good_reads, - 0 AS total_multi_items, - + -- Multi Reads (rate) CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 - ELSE ROUND(COALESCE(sorter_total.total_multi_reads, 0) * 3600.0 - / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) + ELSE ROUND( + COALESCE(sorter_total.total_multi_reads, 0) * 3600.0 / + TIMESTAMPDIFF(SECOND, :starttime, :endtime), + 2) END AS total_multi_reads, + -- No Data (rate) CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 - ELSE ROUND(COALESCE(sorter_total.total_no_data, 0) * 3600.0 - / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) + ELSE ROUND( + COALESCE(sorter_total.total_no_data, 0) * 3600.0 / + TIMESTAMPDIFF(SECOND, :starttime, :endtime), + 2) END AS total_no_data, + -- No Reads (rate) CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 - ELSE ROUND(COALESCE(sorter_total.total_no_reads, 0) * 3600.0 - / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) + ELSE ROUND( + COALESCE(sorter_total.total_no_reads, 0) * 3600.0 / + TIMESTAMPDIFF(SECOND, :starttime, :endtime), + 2) END AS total_no_reads, + -- Total Items (rate) CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 - ELSE ROUND(COALESCE(sorter_total.total, 0) * 3600.0 - / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) + ELSE ROUND( + COALESCE(sorter_total.total, 0) * 3600.0 / + TIMESTAMPDIFF(SECOND, :starttime, :endtime), + 2) END AS total FROM (SELECT 1) AS p LEFT JOIN ( SELECT - SUM(CASE WHEN adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15) THEN 1 ELSE 0 END) AS total_bad_reads, - SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS total_good_reads, - SUM(CASE WHEN adiSort_Code_0 = 10 THEN 1 ELSE 0 END) AS total_multi_reads, - SUM(CASE WHEN adiSort_Code_0 = 9 THEN 1 ELSE 0 END) AS total_no_data, - SUM(CASE WHEN adiSort_Code_0 = 8 THEN 1 ELSE 0 END) AS total_no_reads, + SUM(adiSort_Code_0 NOT IN (0, 8, 9, 10, 11, 15)) AS total_bad_reads, + SUM(adiSort_Code_0 = 0) AS total_good_reads, + SUM(adiSort_Code_0 = 10) AS total_multi_reads, + SUM(adiSort_Code_0 = 9) AS total_no_data, + SUM(adiSort_Code_0 = 8) AS total_no_reads, COUNT(*) AS total FROM item_data WHERE t_stamp BETWEEN :starttime AND :endtime diff --git a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Rate/resource.json b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Rate/resource.json index a401319d..0bb7e0a5 100644 --- a/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Rate/resource.json +++ b/BNA8_autStand/ignition/named-query/Statistics/ScannerDetails/Scanner Details Rate/resource.json @@ -18,7 +18,7 @@ "cacheEnabled": false, "database": "MariaDB", "fallbackEnabled": false, - "lastModificationSignature": "920f87cc3717dae218a6b6de4811e895f2578c1cb44e0de174546d8613d7f23f", + "lastModificationSignature": "1dbfa9f5946ee0cf21303e08b36d7ea66c0b3743ec05f8ba756cae2b6ab7dabb", "permissions": [ { "zone": "", @@ -27,7 +27,7 @@ ], "lastModification": { "actor": "admin", - "timestamp": "2025-11-19T14:54:39Z" + "timestamp": "2025-12-01T08:35:24Z" }, "syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider", "parameters": [ diff --git a/conversion-report.txt b/conversion-report.txt index b18e91ae..6d166497 100644 --- a/conversion-report.txt +++ b/conversion-report.txt @@ -650,3 +650,13 @@ Starting conversion: 20251125:12.11.55 Conversion finished. Elapsed time: 12 ms Starting conversion: 20251125:12.15.40 Conversion finished. Elapsed time: 10 ms +Starting conversion: 20251126:11.37.16 +Conversion finished. Elapsed time: 10 ms +Starting conversion: 20251127:11.19.49 +Conversion finished. Elapsed time: 13 ms +Starting conversion: 20251128:09.14.24 +Conversion finished. Elapsed time: 14 ms +Starting conversion: 20251129:13.36.22 +Conversion finished. Elapsed time: 17 ms +Starting conversion: 20251201:10.36.05 +Conversion finished. Elapsed time: 10 ms