Updated Statistics fully according to SAT9
This commit is contained in:
parent
c5149148a7
commit
bb7ffb7a6e
File diff suppressed because one or more lines are too long
Binary file not shown.
@ -1,28 +0,0 @@
|
||||
WITH counts AS (
|
||||
SELECT
|
||||
CAST(COALESCE(SUM(ulc1=1),0) AS SIGNED) AS ULC1,
|
||||
CAST(COALESCE(SUM(ulc2=1),0) AS SIGNED) AS ULC2,
|
||||
CAST(COALESCE(SUM(ulc3=1),0) AS SIGNED) AS ULC3,
|
||||
CAST(COALESCE(SUM(ulc4=1),0) AS SIGNED) AS ULC4
|
||||
FROM dumper_cycles
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
),
|
||||
totals AS (
|
||||
SELECT (ULC1+ULC2+ULC3+ULC4) AS Dump_Total FROM counts
|
||||
),
|
||||
labels AS (
|
||||
SELECT 'ULC1' AS Dumper UNION ALL
|
||||
SELECT 'ULC2' UNION ALL
|
||||
SELECT 'ULC3' UNION ALL
|
||||
SELECT 'ULC4'
|
||||
)
|
||||
SELECT
|
||||
l.Dumper,
|
||||
CASE WHEN l.Dumper='ULC1' THEN c.ULC1 END AS ULC1,
|
||||
CASE WHEN l.Dumper='ULC2' THEN c.ULC2 END AS ULC2,
|
||||
CASE WHEN l.Dumper='ULC3' THEN c.ULC3 END AS ULC3,
|
||||
CASE WHEN l.Dumper='ULC4' THEN c.ULC4 END AS ULC4,
|
||||
t.Dump_Total AS Dump_Count
|
||||
FROM labels l
|
||||
CROSS JOIN counts c
|
||||
CROSS JOIN totals t;
|
||||
@ -1,18 +0,0 @@
|
||||
SELECT
|
||||
DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS StartTimestamp,
|
||||
DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS EndTimestamp,
|
||||
COALESCE(c.U1,0) + COALESCE(c.U2,0) + COALESCE(c.U3,0) + COALESCE(c.U4,0) AS Total,
|
||||
COALESCE(c.U1,0) AS ULC1,
|
||||
COALESCE(c.U2,0) AS ULC2,
|
||||
COALESCE(c.U3,0) AS ULC3,
|
||||
COALESCE(c.U4,0) AS ULC4
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
SUM(ulc1 = 1) AS U1,
|
||||
SUM(ulc2 = 1) AS U2,
|
||||
SUM(ulc3 = 1) AS U3,
|
||||
SUM(ulc4 = 1) AS U4
|
||||
FROM dumper_cycles
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
) AS c ON 1=1;
|
||||
@ -1,41 +0,0 @@
|
||||
SELECT
|
||||
DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS StartTimestamp,
|
||||
DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS EndTimestamp,
|
||||
|
||||
-- totals
|
||||
COALESCE(c.U1,0) + COALESCE(c.U2,0) + COALESCE(c.U3,0) + COALESCE(c.U4,0) AS Total,
|
||||
|
||||
-- percentages (string with %; 0% when total = 0)
|
||||
CASE
|
||||
WHEN (COALESCE(c.U1,0) + COALESCE(c.U2,0) + COALESCE(c.U3,0) + COALESCE(c.U4,0)) = 0
|
||||
THEN '0%'
|
||||
ELSE CONCAT(ROUND(COALESCE(c.U1,0) / (COALESCE(c.U1,0)+COALESCE(c.U2,0)+COALESCE(c.U3,0)+COALESCE(c.U4,0)) * 100, 2), '%')
|
||||
END AS ULC1,
|
||||
|
||||
CASE
|
||||
WHEN (COALESCE(c.U1,0) + COALESCE(c.U2,0) + COALESCE(c.U3,0) + COALESCE(c.U4,0)) = 0
|
||||
THEN '0%'
|
||||
ELSE CONCAT(ROUND(COALESCE(c.U2,0) / (COALESCE(c.U1,0)+COALESCE(c.U2,0)+COALESCE(c.U3,0)+COALESCE(c.U4,0)) * 100, 2), '%')
|
||||
END AS ULC2,
|
||||
|
||||
CASE
|
||||
WHEN (COALESCE(c.U1,0) + COALESCE(c.U2,0) + COALESCE(c.U3,0) + COALESCE(c.U4,0)) = 0
|
||||
THEN '0%'
|
||||
ELSE CONCAT(ROUND(COALESCE(c.U3,0) / (COALESCE(c.U1,0)+COALESCE(c.U2,0)+COALESCE(c.U3,0)+COALESCE(c.U4,0)) * 100, 2), '%')
|
||||
END AS ULC3,
|
||||
|
||||
CASE
|
||||
WHEN (COALESCE(c.U1,0) + COALESCE(c.U2,0) + COALESCE(c.U3,0) + COALESCE(c.U4,0)) = 0
|
||||
THEN '0%'
|
||||
ELSE CONCAT(ROUND(COALESCE(c.U4,0) / (COALESCE(c.U1,0)+COALESCE(c.U2,0)+COALESCE(c.U3,0)+COALESCE(c.U4,0)) * 100, 2), '%')
|
||||
END AS ULC4
|
||||
|
||||
FROM (
|
||||
SELECT
|
||||
SUM(ulc1 = 1) AS U1,
|
||||
SUM(ulc2 = 1) AS U2,
|
||||
SUM(ulc3 = 1) AS U3,
|
||||
SUM(ulc4 = 1) AS U4
|
||||
FROM dumper_cycles
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
) AS c;
|
||||
@ -1,29 +0,0 @@
|
||||
WITH c AS (
|
||||
SELECT
|
||||
CAST(COALESCE(SUM(ulc1=1),0) AS SIGNED) AS ULC1,
|
||||
CAST(COALESCE(SUM(ulc2=1),0) AS SIGNED) AS ULC2,
|
||||
CAST(COALESCE(SUM(ulc3=1),0) AS SIGNED) AS ULC3,
|
||||
CAST(COALESCE(SUM(ulc4=1),0) AS SIGNED) AS ULC4
|
||||
FROM dumper_cycles
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
),
|
||||
t AS (
|
||||
SELECT (ULC1+ULC2+ULC3+ULC4) AS Total FROM c
|
||||
)
|
||||
SELECT 'ULC1' AS Dumper,
|
||||
ROUND(c.ULC1 / NULLIF(t.Total,0) * 100.0, 2) AS ULC1,
|
||||
NULL AS ULC2, NULL AS ULC3, NULL AS ULC4,
|
||||
100 AS Dump_Count
|
||||
FROM c CROSS JOIN t
|
||||
UNION ALL
|
||||
SELECT 'ULC2',
|
||||
NULL, ROUND(c.ULC2 / NULLIF(t.Total,0) * 100.0, 2), NULL, NULL, 100
|
||||
FROM c CROSS JOIN t
|
||||
UNION ALL
|
||||
SELECT 'ULC3',
|
||||
NULL, NULL, ROUND(c.ULC3 / NULLIF(t.Total,0) * 100.0, 2), NULL, 100
|
||||
FROM c CROSS JOIN t
|
||||
UNION ALL
|
||||
SELECT 'ULC4',
|
||||
NULL, NULL, NULL, ROUND(c.ULC4 / NULLIF(t.Total,0) * 100.0, 2), 100
|
||||
FROM c CROSS JOIN t;
|
||||
@ -1,62 +0,0 @@
|
||||
/* One row per hour in [:starttime, :endtime], MariaDB-old (no CTE/recursion) */
|
||||
SELECT
|
||||
CAST(UNIX_TIMESTAMP(h.hour_ts) * 1000 AS UNSIGNED) AS time, -- epoch ms at hour start
|
||||
COALESCE(SUM(dc.ulc1 = 1), 0) AS ULC1,
|
||||
COALESCE(SUM(dc.ulc2 = 1), 0) AS ULC2,
|
||||
COALESCE(SUM(dc.ulc3 = 1), 0) AS ULC3,
|
||||
COALESCE(SUM(dc.ulc4 = 1), 0) AS ULC4
|
||||
FROM
|
||||
(
|
||||
/* Generate exactly N+1 hour buckets from floor(:starttime) to floor(:endtime) */
|
||||
SELECT sf.start_floor + INTERVAL nums.n HOUR AS hour_ts
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
TIMESTAMP(DATE_FORMAT(:starttime, '%Y-%m-%d %H:00:00')) AS start_floor,
|
||||
TIMESTAMP(DATE_FORMAT(:endtime, '%Y-%m-%d %H:00:00')) AS end_floor
|
||||
) AS sf
|
||||
JOIN
|
||||
(
|
||||
/* extend list if your window can exceed 168 hours */
|
||||
SELECT 0 AS n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL
|
||||
SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL
|
||||
SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL
|
||||
SELECT 15 UNION ALL SELECT 16 UNION ALL SELECT 17 UNION ALL SELECT 18 UNION ALL SELECT 19 UNION ALL
|
||||
SELECT 20 UNION ALL SELECT 21 UNION ALL SELECT 22 UNION ALL SELECT 23 UNION ALL SELECT 24 UNION ALL
|
||||
SELECT 25 UNION ALL SELECT 26 UNION ALL SELECT 27 UNION ALL SELECT 28 UNION ALL SELECT 29 UNION ALL
|
||||
SELECT 30 UNION ALL SELECT 31 UNION ALL SELECT 32 UNION ALL SELECT 33 UNION ALL SELECT 34 UNION ALL
|
||||
SELECT 35 UNION ALL SELECT 36 UNION ALL SELECT 37 UNION ALL SELECT 38 UNION ALL SELECT 39 UNION ALL
|
||||
SELECT 40 UNION ALL SELECT 41 UNION ALL SELECT 42 UNION ALL SELECT 43 UNION ALL SELECT 44 UNION ALL
|
||||
SELECT 45 UNION ALL SELECT 46 UNION ALL SELECT 47 UNION ALL SELECT 48 UNION ALL SELECT 49 UNION ALL
|
||||
SELECT 50 UNION ALL SELECT 51 UNION ALL SELECT 52 UNION ALL SELECT 53 UNION ALL SELECT 54 UNION ALL
|
||||
SELECT 55 UNION ALL SELECT 56 UNION ALL SELECT 57 UNION ALL SELECT 58 UNION ALL SELECT 59 UNION ALL
|
||||
SELECT 60 UNION ALL SELECT 61 UNION ALL SELECT 62 UNION ALL SELECT 63 UNION ALL SELECT 64 UNION ALL
|
||||
SELECT 65 UNION ALL SELECT 66 UNION ALL SELECT 67 UNION ALL SELECT 68 UNION ALL SELECT 69 UNION ALL
|
||||
SELECT 70 UNION ALL SELECT 71 UNION ALL SELECT 72 UNION ALL SELECT 73 UNION ALL SELECT 74 UNION ALL
|
||||
SELECT 75 UNION ALL SELECT 76 UNION ALL SELECT 77 UNION ALL SELECT 78 UNION ALL SELECT 79 UNION ALL
|
||||
SELECT 80 UNION ALL SELECT 81 UNION ALL SELECT 82 UNION ALL SELECT 83 UNION ALL SELECT 84 UNION ALL
|
||||
SELECT 85 UNION ALL SELECT 86 UNION ALL SELECT 87 UNION ALL SELECT 88 UNION ALL SELECT 89 UNION ALL
|
||||
SELECT 90 UNION ALL SELECT 91 UNION ALL SELECT 92 UNION ALL SELECT 93 UNION ALL SELECT 94 UNION ALL
|
||||
SELECT 95 UNION ALL SELECT 96 UNION ALL SELECT 97 UNION ALL SELECT 98 UNION ALL SELECT 99 UNION ALL
|
||||
SELECT 100 UNION ALL SELECT 101 UNION ALL SELECT 102 UNION ALL SELECT 103 UNION ALL SELECT 104 UNION ALL
|
||||
SELECT 105 UNION ALL SELECT 106 UNION ALL SELECT 107 UNION ALL SELECT 108 UNION ALL SELECT 109 UNION ALL
|
||||
SELECT 110 UNION ALL SELECT 111 UNION ALL SELECT 112 UNION ALL SELECT 113 UNION ALL SELECT 114 UNION ALL
|
||||
SELECT 115 UNION ALL SELECT 116 UNION ALL SELECT 117 UNION ALL SELECT 118 UNION ALL SELECT 119 UNION ALL
|
||||
SELECT 120 UNION ALL SELECT 121 UNION ALL SELECT 122 UNION ALL SELECT 123 UNION ALL SELECT 124 UNION ALL
|
||||
SELECT 125 UNION ALL SELECT 126 UNION ALL SELECT 127 UNION ALL SELECT 128 UNION ALL SELECT 129 UNION ALL
|
||||
SELECT 130 UNION ALL SELECT 131 UNION ALL SELECT 132 UNION ALL SELECT 133 UNION ALL SELECT 134 UNION ALL
|
||||
SELECT 135 UNION ALL SELECT 136 UNION ALL SELECT 137 UNION ALL SELECT 138 UNION ALL SELECT 139 UNION ALL
|
||||
SELECT 140 UNION ALL SELECT 141 UNION ALL SELECT 142 UNION ALL SELECT 143 UNION ALL SELECT 144 UNION ALL
|
||||
SELECT 145 UNION ALL SELECT 146 UNION ALL SELECT 147 UNION ALL SELECT 148 UNION ALL SELECT 149 UNION ALL
|
||||
SELECT 150 UNION ALL SELECT 151 UNION ALL SELECT 152 UNION ALL SELECT 153 UNION ALL SELECT 154 UNION ALL
|
||||
SELECT 155 UNION ALL SELECT 156 UNION ALL SELECT 157 UNION ALL SELECT 158 UNION ALL SELECT 159 UNION ALL
|
||||
SELECT 160 UNION ALL SELECT 161 UNION ALL SELECT 162 UNION ALL SELECT 163 UNION ALL SELECT 164 UNION ALL
|
||||
SELECT 165 UNION ALL SELECT 166 UNION ALL SELECT 167
|
||||
) AS nums
|
||||
ON nums.n <= TIMESTAMPDIFF(HOUR, sf.start_floor, sf.end_floor)
|
||||
) AS h
|
||||
LEFT JOIN dumper_cycles dc
|
||||
ON dc.t_stamp >= h.hour_ts
|
||||
AND dc.t_stamp < h.hour_ts + INTERVAL 1 HOUR
|
||||
GROUP BY h.hour_ts
|
||||
ORDER BY h.hour_ts;
|
||||
@ -1,19 +0,0 @@
|
||||
SELECT
|
||||
CONCAT(DATE(hour_series.hour_timestamp), ' ', HOUR(hour_series.hour_timestamp), ':00') AS StartTimestamp,
|
||||
CONCAT('H', hour_series.hour_offset) AS Hour,
|
||||
CONCAT(CAST(COALESCE(SUM(dumper_cycles.ulc1 = 1), 0) AS CHAR), ' cph') AS ULC1,
|
||||
CONCAT(CAST(COALESCE(SUM(dumper_cycles.ulc2 = 1), 0) AS CHAR), ' cph') AS ULC2,
|
||||
CONCAT(CAST(COALESCE(SUM(dumper_cycles.ulc3 = 1), 0) AS CHAR), ' cph') AS ULC3,
|
||||
CONCAT(CAST(COALESCE(SUM(dumper_cycles.ulc4 = 1), 0) AS CHAR), ' cph') AS ULC4
|
||||
FROM (
|
||||
SELECT
|
||||
DATE_ADD(DATE_FORMAT(:starttime, "%Y-%m-%d %H:00:00"), INTERVAL n HOUR) AS hour_timestamp,
|
||||
n AS hour_offset
|
||||
FROM (
|
||||
SELECT 0 as n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL SELECT 15 UNION ALL SELECT 16 UNION ALL SELECT 17 UNION ALL SELECT 18 UNION ALL SELECT 19 UNION ALL SELECT 20 UNION ALL SELECT 21 UNION ALL SELECT 22 UNION ALL SELECT 23 UNION ALL SELECT 24 UNION ALL SELECT 25 UNION ALL SELECT 26 UNION ALL SELECT 27 UNION ALL SELECT 28 UNION ALL SELECT 29 UNION ALL SELECT 30 UNION ALL SELECT 31 UNION ALL SELECT 32 UNION ALL SELECT 33 UNION ALL SELECT 34 UNION ALL SELECT 35 UNION ALL SELECT 36 UNION ALL SELECT 37 UNION ALL SELECT 38 UNION ALL SELECT 39 UNION ALL SELECT 40 UNION ALL SELECT 41 UNION ALL SELECT 42 UNION ALL SELECT 43 UNION ALL SELECT 44 UNION ALL SELECT 45 UNION ALL SELECT 46 UNION ALL SELECT 47 UNION ALL SELECT 48 UNION ALL SELECT 49 UNION ALL SELECT 50 UNION ALL SELECT 51 UNION ALL SELECT 52 UNION ALL SELECT 53 UNION ALL SELECT 54 UNION ALL SELECT 55 UNION ALL SELECT 56 UNION ALL SELECT 57 UNION ALL SELECT 58 UNION ALL SELECT 59 UNION ALL SELECT 60 UNION ALL SELECT 61 UNION ALL SELECT 62 UNION ALL SELECT 63 UNION ALL SELECT 64 UNION ALL SELECT 65 UNION ALL SELECT 66 UNION ALL SELECT 67 UNION ALL SELECT 68 UNION ALL SELECT 69 UNION ALL SELECT 70 UNION ALL SELECT 71 UNION ALL SELECT 72 UNION ALL SELECT 73 UNION ALL SELECT 74 UNION ALL SELECT 75 UNION ALL SELECT 76 UNION ALL SELECT 77 UNION ALL SELECT 78 UNION ALL SELECT 79 UNION ALL SELECT 80 UNION ALL SELECT 81 UNION ALL SELECT 82 UNION ALL SELECT 83 UNION ALL SELECT 84 UNION ALL SELECT 85 UNION ALL SELECT 86 UNION ALL SELECT 87 UNION ALL SELECT 88 UNION ALL SELECT 89 UNION ALL SELECT 90 UNION ALL SELECT 91 UNION ALL SELECT 92 UNION ALL SELECT 93 UNION ALL SELECT 94 UNION ALL SELECT 95 UNION ALL SELECT 96 UNION ALL SELECT 97 UNION ALL SELECT 98 UNION ALL SELECT 99 UNION ALL SELECT 100 UNION ALL SELECT 101 UNION ALL SELECT 102 UNION ALL SELECT 103 UNION ALL SELECT 104 UNION ALL SELECT 105 UNION ALL SELECT 106 UNION ALL SELECT 107 UNION ALL SELECT 108 UNION ALL SELECT 109 UNION ALL SELECT 110 UNION ALL SELECT 111 UNION ALL SELECT 112 UNION ALL SELECT 113 UNION ALL SELECT 114 UNION ALL SELECT 115 UNION ALL SELECT 116 UNION ALL SELECT 117 UNION ALL SELECT 118 UNION ALL SELECT 119 UNION ALL SELECT 120 UNION ALL SELECT 121 UNION ALL SELECT 122 UNION ALL SELECT 123 UNION ALL SELECT 124 UNION ALL SELECT 125 UNION ALL SELECT 126 UNION ALL SELECT 127 UNION ALL SELECT 128 UNION ALL SELECT 129 UNION ALL SELECT 130 UNION ALL SELECT 131 UNION ALL SELECT 132 UNION ALL SELECT 133 UNION ALL SELECT 134 UNION ALL SELECT 135 UNION ALL SELECT 136 UNION ALL SELECT 137 UNION ALL SELECT 138 UNION ALL SELECT 139 UNION ALL SELECT 140 UNION ALL SELECT 141 UNION ALL SELECT 142 UNION ALL SELECT 143 UNION ALL SELECT 144 UNION ALL SELECT 145 UNION ALL SELECT 146 UNION ALL SELECT 147 UNION ALL SELECT 148 UNION ALL SELECT 149 UNION ALL SELECT 150 UNION ALL SELECT 151 UNION ALL SELECT 152 UNION ALL SELECT 153 UNION ALL SELECT 154 UNION ALL SELECT 155 UNION ALL SELECT 156 UNION ALL SELECT 157 UNION ALL SELECT 158 UNION ALL SELECT 159 UNION ALL SELECT 160 UNION ALL SELECT 161 UNION ALL SELECT 162 UNION ALL SELECT 163 UNION ALL SELECT 164 UNION ALL SELECT 165 UNION ALL SELECT 166 UNION ALL SELECT 167
|
||||
) numbers
|
||||
WHERE DATE_ADD(DATE_FORMAT(:starttime, "%Y-%m-%d %H:00:00"), INTERVAL n HOUR) <= :endtime
|
||||
) AS hour_series
|
||||
LEFT JOIN dumper_cycles ON DATE_FORMAT(dumper_cycles.t_stamp, "%Y-%m-%d %H:00:00") = hour_series.hour_timestamp
|
||||
GROUP BY hour_series.hour_timestamp, hour_series.hour_offset
|
||||
ORDER BY hour_series.hour_timestamp;
|
||||
183
CNO8_SCADA/ignition/named-query/Dumper/Dumper/query.sql
Normal file
183
CNO8_SCADA/ignition/named-query/Dumper/Dumper/query.sql
Normal file
@ -0,0 +1,183 @@
|
||||
WITH expected AS (
|
||||
SELECT 'ULC1_1' AS Name
|
||||
UNION ALL SELECT 'ULC2_1'
|
||||
UNION ALL SELECT 'ULC3_1'
|
||||
UNION ALL SELECT 'ULC4_1'
|
||||
),
|
||||
|
||||
/* Build event stream with previous values to detect edges */
|
||||
ev AS (
|
||||
SELECT
|
||||
t.Name,
|
||||
t.t_stamp,
|
||||
t.Dumping,
|
||||
t.Tipper_Faulted,
|
||||
LAG(t.Dumping) OVER (PARTITION BY t.Name ORDER BY t.t_stamp) AS prev_dumping,
|
||||
LAG(t.Tipper_Faulted) OVER (PARTITION BY t.Name ORDER BY t.t_stamp) AS prev_faulted
|
||||
FROM tipper_status t
|
||||
JOIN expected e ON e.Name = t.Name
|
||||
WHERE t.t_stamp <= :endTime
|
||||
),
|
||||
|
||||
/* ----- CYCLES: Dumping 1(edge) -> 0(edge) ----- */
|
||||
dump_starts AS (
|
||||
SELECT Name, t_stamp AS s
|
||||
FROM ev
|
||||
WHERE Dumping = 1 AND IFNULL(prev_dumping,0) = 0
|
||||
AND t_stamp BETWEEN :startTime AND :endTime
|
||||
),
|
||||
dump_ends AS (
|
||||
SELECT Name, t_stamp AS e
|
||||
FROM ev
|
||||
WHERE Dumping = 0 AND IFNULL(prev_dumping,1) = 1
|
||||
),
|
||||
dump_cycles AS (
|
||||
SELECT
|
||||
ds.Name,
|
||||
ds.s AS start_time,
|
||||
(SELECT MIN(de.e)
|
||||
FROM dump_ends de
|
||||
WHERE de.Name = ds.Name AND de.e > ds.s) AS end_time_raw
|
||||
FROM dump_starts ds
|
||||
),
|
||||
dump_cycles_clip AS (
|
||||
SELECT
|
||||
Name,
|
||||
GREATEST(start_time, :startTime) AS start_time,
|
||||
LEAST(COALESCE(end_time_raw, :endTime), :endTime) AS end_time,
|
||||
TIMESTAMPDIFF(SECOND,
|
||||
GREATEST(start_time, :startTime),
|
||||
LEAST(COALESCE(end_time_raw, :endTime), :endTime)) AS seconds_in_cycle
|
||||
FROM dump_cycles
|
||||
WHERE LEAST(COALESCE(end_time_raw, :endTime), :endTime) > GREATEST(start_time, :startTime)
|
||||
),
|
||||
cycle_rollup AS (
|
||||
SELECT
|
||||
Name,
|
||||
COUNT(*) AS cycle_count,
|
||||
ROUND(SUM(seconds_in_cycle)/60, 2) AS total_cycle_min,
|
||||
ROUND(AVG(NULLIF(seconds_in_cycle,0))/60, 2) AS avg_cycle_min
|
||||
FROM dump_cycles_clip
|
||||
GROUP BY Name
|
||||
),
|
||||
|
||||
/* ----- FAULTS: Tipper_Faulted 1(edge) -> 0(edge) ----- */
|
||||
fault_starts AS (
|
||||
SELECT Name, t_stamp AS s
|
||||
FROM ev
|
||||
WHERE Tipper_Faulted = 1 AND IFNULL(prev_faulted,0) = 0
|
||||
AND t_stamp BETWEEN :startTime AND :endTime
|
||||
),
|
||||
fault_ends AS (
|
||||
SELECT Name, t_stamp AS e
|
||||
FROM ev
|
||||
WHERE Tipper_Faulted = 0 AND IFNULL(prev_faulted,1) = 1
|
||||
),
|
||||
fault_intervals AS (
|
||||
SELECT
|
||||
fs.Name,
|
||||
fs.s AS start_time,
|
||||
(SELECT MIN(fe.e)
|
||||
FROM fault_ends fe
|
||||
WHERE fe.Name = fs.Name AND fe.e > fs.s) AS end_time_raw
|
||||
FROM fault_starts fs
|
||||
),
|
||||
fault_clip AS (
|
||||
SELECT
|
||||
Name,
|
||||
GREATEST(start_time, :startTime) AS start_time,
|
||||
LEAST(COALESCE(end_time_raw, :endTime), :endTime) AS end_time,
|
||||
TIMESTAMPDIFF(SECOND,
|
||||
GREATEST(start_time, :startTime),
|
||||
LEAST(COALESCE(end_time_raw, :endTime), :endTime)) AS fault_seconds
|
||||
FROM fault_intervals
|
||||
WHERE LEAST(COALESCE(end_time_raw, :endTime), :endTime) > GREATEST(start_time, :startTime)
|
||||
),
|
||||
fault_rollup AS (
|
||||
SELECT
|
||||
Name,
|
||||
COUNT(*) AS fault_count,
|
||||
ROUND(SUM(fault_seconds)/60, 2) AS total_fault_min,
|
||||
ROUND(AVG(NULLIF(fault_seconds,0))/60, 2) AS avg_fault_min
|
||||
FROM fault_clip
|
||||
GROUP BY Name
|
||||
),
|
||||
|
||||
/* ----- PAUSES: Dump end edge (1→0) -> next dump start edge (0→1), closed only, minus fault overlap ----- */
|
||||
pause_gaps AS (
|
||||
SELECT
|
||||
de.Name,
|
||||
de.e AS gap_start,
|
||||
(SELECT MIN(ds.s)
|
||||
FROM dump_starts ds
|
||||
WHERE ds.Name = de.Name AND ds.s > de.e) AS gap_end_raw
|
||||
FROM dump_ends de
|
||||
WHERE de.e BETWEEN :startTime AND :endTime
|
||||
),
|
||||
-- keep only gaps that close within the window
|
||||
pause_clip AS (
|
||||
SELECT
|
||||
Name,
|
||||
gap_start,
|
||||
gap_end_raw AS gap_end,
|
||||
TIMESTAMPDIFF(SECOND, gap_start, gap_end_raw) AS gap_seconds
|
||||
FROM pause_gaps
|
||||
WHERE gap_end_raw IS NOT NULL
|
||||
),
|
||||
-- overlap of faults per gap (aggregate per gap to avoid duplication)
|
||||
pause_fault_agg AS (
|
||||
SELECT
|
||||
p.Name,
|
||||
p.gap_start, p.gap_end,
|
||||
SUM(
|
||||
GREATEST(0, TIMESTAMPDIFF(SECOND,
|
||||
GREATEST(p.gap_start, f.start_time),
|
||||
LEAST(p.gap_end, f.end_time)
|
||||
))
|
||||
) AS fault_overlap_seconds
|
||||
FROM pause_clip p
|
||||
LEFT JOIN fault_clip f
|
||||
ON f.Name = p.Name
|
||||
AND f.end_time > p.gap_start
|
||||
AND f.start_time < p.gap_end
|
||||
GROUP BY p.Name, p.gap_start, p.gap_end
|
||||
),
|
||||
pause_net AS (
|
||||
SELECT
|
||||
pc.Name,
|
||||
pc.gap_start, pc.gap_end,
|
||||
GREATEST(pc.gap_seconds - COALESCE(pfa.fault_overlap_seconds,0), 0) AS net_pause_seconds
|
||||
FROM pause_clip pc
|
||||
LEFT JOIN pause_fault_agg pfa
|
||||
ON pfa.Name = pc.Name AND pfa.gap_start = pc.gap_start AND pfa.gap_end = pc.gap_end
|
||||
),
|
||||
pause_rollup AS (
|
||||
SELECT
|
||||
Name,
|
||||
SUM(CASE WHEN net_pause_seconds > 0 THEN 1 ELSE 0 END) AS pause_count,
|
||||
SUM(net_pause_seconds) AS pause_seconds
|
||||
FROM pause_net
|
||||
GROUP BY Name
|
||||
)
|
||||
|
||||
SELECT
|
||||
:endTime AS `Time Stamp`,
|
||||
e.Name AS `Dumper`,
|
||||
COALESCE(cr.cycle_count,0) AS `Cycle Count`,
|
||||
COALESCE(cr.total_cycle_min,0) AS `Total Cycle Time (Minutes)`,
|
||||
COALESCE(cr.avg_cycle_min,0) AS `Average Cycle Time (Minutes)`,
|
||||
COALESCE(fr.fault_count,0) AS `Fault Count`,
|
||||
COALESCE(fr.total_fault_min,0) AS `Total Fault Time (Minutes)`,
|
||||
COALESCE(fr.avg_fault_min,0) AS `Average Fault Time (Minutes)`,
|
||||
COALESCE(pr.pause_count,0) AS `Pause Count`,
|
||||
ROUND(COALESCE(pr.pause_seconds,0)/60,2) AS `Total Pause Time (Minutes)`,
|
||||
ROUND(
|
||||
CASE WHEN COALESCE(pr.pause_count,0) > 0
|
||||
THEN (COALESCE(pr.pause_seconds,0)/60.0)/pr.pause_count
|
||||
ELSE 0 END, 2
|
||||
) AS `Average Pause Time (Minutes)`
|
||||
FROM expected e
|
||||
LEFT JOIN cycle_rollup cr ON cr.Name = e.Name
|
||||
LEFT JOIN fault_rollup fr ON fr.Name = e.Name
|
||||
LEFT JOIN pause_rollup pr ON pr.Name = e.Name
|
||||
ORDER BY e.Name;
|
||||
46
CNO8_SCADA/ignition/named-query/Dumper/Dumper/resource.json
Normal file
46
CNO8_SCADA/ignition/named-query/Dumper/Dumper/resource.json
Normal file
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "e9ee99475ecc70bf82a12c9cbd3dcf91d8f2f03f06df1e718b582885adebbf25",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "startTime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endTime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
SELECT concat(date(alltable.t_stamp), ' ', hour(alltable.t_stamp), ':00') as StartTimestamp,
|
||||
concat('H',TIMESTAMPDIFF(HOUR,DATE_FORMAT(alltable.t_stamp,"%Y-%m-%d %H:00:00"),DATE_FORMAT(now(),"%Y-%m-%d %H:00:00"))) as Hour,
|
||||
COUNT(*) AS Inducted,
|
||||
SUM(alltable.ACTUAL_DEST NOT IN ('S013001', 'S012069', 'S011076')) AS Sorted,
|
||||
SUM(alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076') AND (alltable.DivertStatus & (128|256|512|1024|4096|65536)) > 0) AS AwcsRecirc,
|
||||
SUM(alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076') AND (alltable.DivertStatus & (4|32|262144|524288|1048576)) > 0) AS OperationalRecirc,
|
||||
SUM(alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076') AND (alltable.DivertStatus & (2|8|16|64|8192|16384|131072|2097152)) > 0) AS MachineRecirc
|
||||
FROM alltable
|
||||
Where (alltable.t_stamp BETWEEN :starttime AND :endtime)
|
||||
GROUP BY hour(alltable.t_stamp)
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "5ae7076404d4b0e7ed8e57f2b305f190acb3f19e2a093d93baa7b3aa5b94d9d5",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
SELECT concat(date(alltable.t_stamp), ' ', hour(alltable.t_stamp), ':00') as StartTimestamp,
|
||||
concat('H',TIMESTAMPDIFF(HOUR,DATE_FORMAT(alltable.t_stamp,"%Y-%m-%d %H:00:00"),DATE_FORMAT(now(),"%Y-%m-%d %H:00:00"))) as Hour,
|
||||
concat(round(COUNT(*)/COUNT(*) * 100,2),'%') AS Inducted,
|
||||
concat(round(SUM(alltable.ACTUAL_DEST NOT IN ('S013001', 'S012069', 'S011076'))/COUNT(*) * 100,2),'%') AS Sorted,
|
||||
concat(round(SUM((alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076')) AND (alltable.DivertStatus & (128|256|512|1024|4096|65536)) > 0)/COUNT(*) * 100,2),'%') AS AwcsRecirc,
|
||||
concat(round(SUM((alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076')) AND (alltable.DivertStatus & (4|32|262144|524288|1048576)) > 0)/COUNT(*) * 100,2),'%') AS OperationalRecirc,
|
||||
concat(round(SUM((alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076')) AND (alltable.DivertStatus & (2|8|16|64|8192|16384|131072|2097152)) > 0)/COUNT(*) * 100,2),'%') AS MachineRecirc
|
||||
FROM alltable
|
||||
Where (alltable.t_stamp BETWEEN :starttime AND :endtime)
|
||||
GROUP BY hour(alltable.t_stamp)
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "cf6d06522e108526764a89e38a249f51240e3aaf98667564741f776638c5685c",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
SELECT concat(date(alltable.t_stamp), ' ', hour(alltable.t_stamp), ':00') as StartTimestamp,
|
||||
concat('H',TIMESTAMPDIFF(HOUR,DATE_FORMAT(alltable.t_stamp,"%Y-%m-%d %H:00:00"),DATE_FORMAT(now(),"%Y-%m-%d %H:00:00"))) as Hour,
|
||||
concat(cast(COUNT(*) as char),' pph') AS Inducted,
|
||||
concat(cast(SUM(alltable.ACTUAL_DEST NOT IN ('S013001', 'S012069', 'S011076')) as char),' pph') AS Sorted,
|
||||
concat(cast(SUM(alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076') AND (alltable.DivertStatus & (128|256|512|1024|4096|65536)) > 0) as char),' pph') AS AwcsRecirc,
|
||||
concat(cast(SUM(alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076') AND (alltable.DivertStatus & (4|32|262144|524288|1048576)) > 0) as char),' pph') AS OperationalRecirc,
|
||||
concat(cast(SUM(alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076') AND (alltable.DivertStatus & (2|8|16|64|8192|16384|131072|2097152)) > 0) as char),' pph') AS MachineRecirc
|
||||
FROM alltable
|
||||
Where (alltable.t_stamp BETWEEN :starttime AND :endtime)
|
||||
GROUP BY hour(alltable.t_stamp)
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "a4c09c4c2d592c0f317cda24d29b3040226dcc8e73e7f138b12ce885b22f1b88",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
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
|
||||
ORDER BY DATE(t_stamp) ASC, HOUR(t_stamp) ASC;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "b2523a1ce2126e72c363b8d4b19cddddc20f4b4c5e67c9ab713158345367e707",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
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
|
||||
) AS data ON 1=1
|
||||
ORDER BY data.roundtime ASC;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "1e42557a94550e54c0f6f576b473d7ef26afc3ea8f6bea00121b60a51e6d21bc",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
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`,
|
||||
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 `Total Single Carrier`,
|
||||
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 `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
|
||||
ORDER BY DATE(t_stamp) ASC, HOUR(t_stamp) ASC;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "ff45a4784c461d7475e8fd1704fa5f0dad259af7929fd4587befce6955e783fb",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
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
|
||||
) AS data ON 1=1
|
||||
ORDER BY data.roundtime ASC;
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "997069df31c385420c5c3fd0d35d0028b7ba1921bcb1642035872d520411b724",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "inductionname",
|
||||
"sqlType": 7
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
SELECT
|
||||
CONCAT(DATE(t_stamp), ' ', LPAD(HOUR(t_stamp), 2, '0'), ':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`,
|
||||
COUNT(*) AS `Total`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS `Sorted`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 1 THEN 1 ELSE 0 END) AS `Unknown`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 2 THEN 1 ELSE 0 END) AS `Unexpected`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 3 THEN 1 ELSE 0 END) AS `TrackingError`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 4 THEN 1 ELSE 0 END) AS `GapError`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) AS `DestinationFull`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 6 THEN 1 ELSE 0 END) AS `DestinationFault`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 7 THEN 1 ELSE 0 END) AS `DestinationInvalid`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 12 THEN 1 ELSE 0 END) AS `DestinationDisabled`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 13 THEN 1 ELSE 0 END) AS `ThroughputLimit`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 14 THEN 1 ELSE 0 END) AS `DivertFail`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 16 THEN 1 ELSE 0 END) AS `DestinationNone`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 17 THEN 1 ELSE 0 END) AS `Lost`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 18 THEN 1 ELSE 0 END) AS `DimensionError`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 19 THEN 1 ELSE 0 END) AS `WeightError`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 20 THEN 1 ELSE 0 END) AS `ContainerUtilization`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 21 THEN 1 ELSE 0 END) AS `UnableToDivert`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 22 THEN 1 ELSE 0 END) AS `DestinationNotAttempted`,
|
||||
SUM(CASE WHEN adiSort_Code_0 IN (8, 9, 10) THEN 1 ELSE 0 END) AS `ScanError`
|
||||
FROM item_data
|
||||
WHERE sActual_Dest_ID = :lane
|
||||
AND t_stamp BETWEEN :starttime AND :endtime
|
||||
AND adiSort_Code_0 NOT IN (11, 15)
|
||||
GROUP BY DATE(t_stamp), HOUR(t_stamp)
|
||||
ORDER BY `Start Timestamp` ASC;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "4a4ac889fdb872d075a981db504e2f2299f1c22f354554b854f13b451f024825",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,55 @@
|
||||
SELECT
|
||||
COALESCE(data.roundtime, 'N/A') AS Startstamp,
|
||||
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.total_count, 0) AS total_count,
|
||||
COALESCE(data.success_count, 0) AS success_count,
|
||||
COALESCE(data.unknown_count, 0) AS unknown_count,
|
||||
COALESCE(data.unexpected_container_count, 0) AS unexpected_container_count,
|
||||
COALESCE(data.tracking_error_count, 0) AS tracking_error_count,
|
||||
COALESCE(data.gap_error_count, 0) AS gap_error_count,
|
||||
COALESCE(data.destination_full_count, 0) AS destination_full_count,
|
||||
COALESCE(data.destination_non_operational_count, 0) AS destination_non_operational_count,
|
||||
COALESCE(data.invalid_destination_count, 0) AS invalid_destination_count,
|
||||
COALESCE(data.destination_disabled_count, 0) AS destination_disabled_count,
|
||||
COALESCE(data.throughput_limit_count, 0) AS throughput_limit_count,
|
||||
COALESCE(data.failed_to_divert_count, 0) AS failed_to_divert_count,
|
||||
COALESCE(data.no_destination_received_count, 0) AS no_destination_received_count,
|
||||
COALESCE(data.lost_container_count, 0) AS lost_container_count,
|
||||
COALESCE(data.dimension_error_count, 0) AS dimension_error_count,
|
||||
COALESCE(data.weight_error_count, 0) AS weight_error_count,
|
||||
COALESCE(data.container_utilization_count, 0) AS container_utilization_count,
|
||||
COALESCE(data.unable_to_divert_count, 0) AS unable_to_divert_count,
|
||||
COALESCE(data.destination_not_attempted_count, 0) AS destination_not_attempted_count,
|
||||
COALESCE(data.scan_error_count, 0) AS scan_error_count
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
CONCAT(DATE(t_stamp), ' ', LPAD(HOUR(t_stamp), 2, '0'), ':00') AS roundtime,
|
||||
COUNT(*) AS total_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS success_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 1 THEN 1 ELSE 0 END) AS unknown_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 2 THEN 1 ELSE 0 END) AS unexpected_container_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 3 THEN 1 ELSE 0 END) AS tracking_error_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 4 THEN 1 ELSE 0 END) AS gap_error_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) AS destination_full_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 6 THEN 1 ELSE 0 END) AS destination_non_operational_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 7 THEN 1 ELSE 0 END) AS invalid_destination_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 12 THEN 1 ELSE 0 END) AS destination_disabled_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 13 THEN 1 ELSE 0 END) AS throughput_limit_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 14 THEN 1 ELSE 0 END) AS failed_to_divert_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 16 THEN 1 ELSE 0 END) AS no_destination_received_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 17 THEN 1 ELSE 0 END) AS lost_container_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 18 THEN 1 ELSE 0 END) AS dimension_error_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 19 THEN 1 ELSE 0 END) AS weight_error_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 20 THEN 1 ELSE 0 END) AS container_utilization_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 21 THEN 1 ELSE 0 END) AS unable_to_divert_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 22 THEN 1 ELSE 0 END) AS destination_not_attempted_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 IN (8, 9, 10) THEN 1 ELSE 0 END) AS scan_error_count
|
||||
FROM item_data
|
||||
WHERE sActual_Dest_ID = :lane
|
||||
AND t_stamp BETWEEN :starttime AND :endtime
|
||||
AND adiSort_Code_0 NOT IN (11, 15)
|
||||
GROUP BY DATE(t_stamp), HOUR(t_stamp)
|
||||
) AS data ON 1=1
|
||||
ORDER BY data.roundtime ASC;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "7ea28fbd26a02baf7d974e16801a2e96b4023c6d08d34ff1fabda371ed6a8440",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
SELECT
|
||||
CONCAT(DATE(t_stamp), ' ', LPAD(HOUR(t_stamp), 2, '0'), ':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(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 `Sorted`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 1 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `Unknown`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 2 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `Unexpected`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 3 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `TrackingError`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 4 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `GapError`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DestinationFull`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 6 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DestinationFault`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 7 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DestinationInvalid`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 12 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DestinationDisabled`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 13 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `ThroughputLimit`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 14 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DivertFail`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 16 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DestinationNone`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 17 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `Lost`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 18 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DimensionError`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 19 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `WeightError`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 20 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `ContainerUtilization`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 21 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `UnableToDivert`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 22 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DestinationNotAttempted`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 IN (8, 9, 10) THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `ScanError`
|
||||
FROM item_data
|
||||
WHERE sActual_Dest_ID = :lane
|
||||
AND t_stamp BETWEEN :starttime AND :endtime
|
||||
AND adiSort_Code_0 NOT IN (11, 15)
|
||||
GROUP BY DATE(t_stamp), HOUR(t_stamp)
|
||||
ORDER BY `Start Timestamp` ASC;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "18c303007e5081777a959cde7820aeebed1b22309ea88c08248ad1cd678be098",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
SELECT
|
||||
CONCAT(DATE(t_stamp), ' ', LPAD(HOUR(t_stamp), 2, '0'), ':00') AS Startstamp,
|
||||
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(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 success_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 1 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS unknown_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 2 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS unexpected_container_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 3 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS tracking_error_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 4 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS gap_error_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS destination_full_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 6 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS destination_non_operational_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 7 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS invalid_destination_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 12 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS destination_disabled_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 13 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS throughput_limit_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 14 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS failed_to_divert_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 16 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS no_destination_received_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 17 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS lost_container_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 18 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS dimension_error_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 19 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS weight_error_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 20 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS container_utilization_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 21 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS unable_to_divert_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 22 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS destination_not_attempted_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 IN (8, 9, 10) THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS scan_error_perc
|
||||
FROM item_data
|
||||
WHERE sActual_Dest_ID = :lane
|
||||
AND t_stamp BETWEEN :starttime AND :endtime
|
||||
AND adiSort_Code_0 NOT IN (11, 15)
|
||||
GROUP BY DATE(t_stamp), HOUR(t_stamp)
|
||||
ORDER BY Startstamp ASC;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "9327117fe9f5adcb336297d6464769c60bbe61056579f45d253b45979d1f6238",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
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
|
||||
ORDER BY DATE(t_stamp) ASC, HOUR(t_stamp) ASC;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "ecc11149aa21d2ad54d544a9b3807bb79d9df89b87d8e115f13b78fb8c0b564e",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "scannername",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
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
|
||||
) AS data ON 1=1
|
||||
ORDER BY data.roundtime ASC;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "919cb7adf6edd2ee1334a33677923e47800356f51fb8334a9f5b57e8cb204cd6",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "scannername",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,164 @@
|
||||
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
|
||||
ORDER BY DATE(t_stamp) ASC, HOUR(t_stamp) ASC;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "32da4b2a157798427cf292d6f35ef731af2b6b37b5b2d8759016187893739ecd",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "scannername",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,184 @@
|
||||
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
|
||||
) AS data ON 1=1
|
||||
ORDER BY data.roundtime ASC;
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "9d2ca32200fc456a28dd9b9b29efb0f21357efdec7c05662452a6c28be06de92",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "scannername",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
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`,
|
||||
sLocation_ID AS `Location ID`,
|
||||
COUNT(*) AS `Inducted`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS `Sorted`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 1 THEN 1 ELSE 0 END) AS `Unknown`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 2 THEN 1 ELSE 0 END) AS `Unexpected`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 3 THEN 1 ELSE 0 END) AS `TrackingError`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 4 THEN 1 ELSE 0 END) AS `GapError`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) AS `DestinationFull`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 6 THEN 1 ELSE 0 END) AS `DestinationFault`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 7 THEN 1 ELSE 0 END) AS `DestinationInvalid`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 12 THEN 1 ELSE 0 END) AS `DestinationDisabled`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 13 THEN 1 ELSE 0 END) AS `ThroughputLimit`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 14 THEN 1 ELSE 0 END) AS `DivertFail`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 16 THEN 1 ELSE 0 END) AS `DestinationNone`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 17 THEN 1 ELSE 0 END) AS `Lost`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 18 THEN 1 ELSE 0 END) AS `DimensionError`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 19 THEN 1 ELSE 0 END) AS `WeightError`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 20 THEN 1 ELSE 0 END) AS `ContainerUtilization`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 21 THEN 1 ELSE 0 END) AS `UnableToDivert`,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 22 THEN 1 ELSE 0 END) AS `DestinationNotAttempted`,
|
||||
SUM(CASE WHEN adiSort_Code_0 IN (8, 9, 10) THEN 1 ELSE 0 END) AS `ScanError`
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND adiSort_Code_0 NOT IN (11, 15)
|
||||
AND (sLocation_ID = :locationid OR :locationid IS NULL OR :locationid = '')
|
||||
GROUP BY DATE(t_stamp), HOUR(t_stamp), sLocation_ID
|
||||
ORDER BY DATE(t_stamp) ASC, HOUR(t_stamp) ASC;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "774c2eeef10bf04b8102451a8e2d467432d0485576233188509d4a52305a0058",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "locationid",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,57 @@
|
||||
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.sLocation_ID, 'N/A') AS sLocation_ID,
|
||||
COALESCE(data.inducted_count, 0) AS inducted_count,
|
||||
COALESCE(data.success_count, 0) AS success_count,
|
||||
COALESCE(data.unknown_count, 0) AS unknown_count,
|
||||
COALESCE(data.unexpected_container_count, 0) AS unexpected_container_count,
|
||||
COALESCE(data.tracking_error_count, 0) AS tracking_error_count,
|
||||
COALESCE(data.gap_error_count, 0) AS gap_error_count,
|
||||
COALESCE(data.destination_full_count, 0) AS destination_full_count,
|
||||
COALESCE(data.destination_non_operational_count, 0) AS destination_non_operational_count,
|
||||
COALESCE(data.invalid_destination_count, 0) AS invalid_destination_count,
|
||||
COALESCE(data.destination_disabled_count, 0) AS destination_disabled_count,
|
||||
COALESCE(data.throughput_limit_count, 0) AS throughput_limit_count,
|
||||
COALESCE(data.failed_to_divert_count, 0) AS failed_to_divert_count,
|
||||
COALESCE(data.no_destination_received_count, 0) AS no_destination_received_count,
|
||||
COALESCE(data.lost_container_count, 0) AS lost_container_count,
|
||||
COALESCE(data.dimension_error_count, 0) AS dimension_error_count,
|
||||
COALESCE(data.weight_error_count, 0) AS weight_error_count,
|
||||
COALESCE(data.container_utilization_count, 0) AS container_utilization_count,
|
||||
COALESCE(data.unable_to_divert_count, 0) AS unable_to_divert_count,
|
||||
COALESCE(data.destination_not_attempted_count, 0) AS destination_not_attempted_count,
|
||||
COALESCE(data.scan_error_count, 0) AS scan_error_count
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime,
|
||||
sLocation_ID,
|
||||
COUNT(*) AS inducted_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS success_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 1 THEN 1 ELSE 0 END) AS unknown_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 2 THEN 1 ELSE 0 END) AS unexpected_container_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 3 THEN 1 ELSE 0 END) AS tracking_error_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 4 THEN 1 ELSE 0 END) AS gap_error_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) AS destination_full_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 6 THEN 1 ELSE 0 END) AS destination_non_operational_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 7 THEN 1 ELSE 0 END) AS invalid_destination_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 12 THEN 1 ELSE 0 END) AS destination_disabled_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 13 THEN 1 ELSE 0 END) AS throughput_limit_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 14 THEN 1 ELSE 0 END) AS failed_to_divert_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 16 THEN 1 ELSE 0 END) AS no_destination_received_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 17 THEN 1 ELSE 0 END) AS lost_container_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 18 THEN 1 ELSE 0 END) AS dimension_error_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 19 THEN 1 ELSE 0 END) AS weight_error_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 20 THEN 1 ELSE 0 END) AS container_utilization_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 21 THEN 1 ELSE 0 END) AS unable_to_divert_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 22 THEN 1 ELSE 0 END) AS destination_not_attempted_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 IN (8, 9, 10) THEN 1 ELSE 0 END) AS scan_error_count
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND adiSort_Code_0 NOT IN (11, 15)
|
||||
AND (sLocation_ID = :locationid OR :locationid IS NULL OR :locationid = '')
|
||||
GROUP BY DATE(t_stamp), HOUR(t_stamp), sLocation_ID
|
||||
) AS data ON 1=1
|
||||
ORDER BY data.roundtime ASC;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "a94ee6c482cdae6549c58b2251842c06a43e080d116d11d1547efe952c8e388a",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "locationid",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
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`,
|
||||
sLocation_ID AS `Location ID`,
|
||||
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 `Sorted`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 1 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `Unknown`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 2 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `Unexpected`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 3 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `TrackingError`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 4 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `GapError`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DestinationFull`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 6 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DestinationFault`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 7 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DestinationInvalid`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 12 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DestinationDisabled`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 13 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `ThroughputLimit`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 14 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DivertFail`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 16 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DestinationNone`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 17 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `Lost`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 18 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DimensionError`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 19 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `WeightError`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 20 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `ContainerUtilization`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 21 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `UnableToDivert`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 22 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `DestinationNotAttempted`,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 IN (8, 9, 10) THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS `ScanError`
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND adiSort_Code_0 NOT IN (11, 15)
|
||||
AND (sLocation_ID = :locationid OR :locationid IS NULL OR :locationid = '')
|
||||
GROUP BY DATE(t_stamp), HOUR(t_stamp), sLocation_ID
|
||||
ORDER BY DATE(t_stamp) ASC, HOUR(t_stamp) ASC;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "af720882179fb09d0ff6af696dfc9e271b9bffd4e15045781bdc1716a68a29cb",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "locationid",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,54 @@
|
||||
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.sLocation_ID, 'N/A') AS sLocation_ID,
|
||||
COALESCE(data.success_perc, '0%') AS success_perc,
|
||||
COALESCE(data.unknown_perc, '0%') AS unknown_perc,
|
||||
COALESCE(data.unexpected_container_perc, '0%') AS unexpected_container_perc,
|
||||
COALESCE(data.tracking_error_perc, '0%') AS tracking_error_perc,
|
||||
COALESCE(data.gap_error_perc, '0%') AS gap_error_perc,
|
||||
COALESCE(data.destination_full_perc, '0%') AS destination_full_perc,
|
||||
COALESCE(data.destination_non_operational_perc, '0%') AS destination_non_operational_perc,
|
||||
COALESCE(data.invalid_destination_perc, '0%') AS invalid_destination_perc,
|
||||
COALESCE(data.destination_disabled_perc, '0%') AS destination_disabled_perc,
|
||||
COALESCE(data.throughput_limit_perc, '0%') AS throughput_limit_perc,
|
||||
COALESCE(data.failed_to_divert_perc, '0%') AS failed_to_divert_perc,
|
||||
COALESCE(data.no_destination_received_perc, '0%') AS no_destination_received_perc,
|
||||
COALESCE(data.lost_container_perc, '0%') AS lost_container_perc,
|
||||
COALESCE(data.dimension_error_perc, '0%') AS dimension_error_perc,
|
||||
COALESCE(data.weight_error_perc, '0%') AS weight_error_perc,
|
||||
COALESCE(data.container_utilization_perc, '0%') AS container_utilization_perc,
|
||||
COALESCE(data.unable_to_divert_perc, '0%') AS unable_to_divert_perc,
|
||||
COALESCE(data.destination_not_attempted_perc, '0%') AS destination_not_attempted_perc,
|
||||
COALESCE(data.scan_error_perc, '0%') AS scan_error_perc
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
CONCAT(DATE(t_stamp), ' ', HOUR(t_stamp), ':00') AS roundtime,
|
||||
sLocation_ID,
|
||||
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 success_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 1 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS unknown_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 2 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS unexpected_container_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 3 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS tracking_error_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 4 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS gap_error_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS destination_full_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 6 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS destination_non_operational_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 7 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS invalid_destination_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 12 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS destination_disabled_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 13 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS throughput_limit_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 14 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS failed_to_divert_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 16 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS no_destination_received_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 17 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS lost_container_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 18 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS dimension_error_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 19 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS weight_error_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 20 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS container_utilization_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 21 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS unable_to_divert_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 22 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS destination_not_attempted_perc,
|
||||
CONCAT(CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 IN (8, 9, 10) THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END, '%') AS scan_error_perc
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND adiSort_Code_0 NOT IN (11, 15)
|
||||
AND (sLocation_ID = :locationid OR :locationid IS NULL OR :locationid = '')
|
||||
GROUP BY DATE(t_stamp), HOUR(t_stamp), sLocation_ID
|
||||
) AS data ON 1=1
|
||||
ORDER BY data.roundtime ASC;
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "92d0d9512b7ebd71b35f4105f2cfcfd54b81902034962049ce0553c504b37f1d",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "locationid",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
SELECT
|
||||
roundtime AS `Round Time`,
|
||||
sInduction_Name AS `Induction Name`,
|
||||
COALESCE(total_single_carrier, 0) AS `Total Single Carrier`,
|
||||
COALESCE(total_double_carrier, 0) AS `Total Double Carrier`,
|
||||
COALESCE(total_single_carrier, 0) +
|
||||
COALESCE(total_double_carrier, 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,
|
||||
sInduction_Name,
|
||||
SUM(diTotal_Single_Carrier) AS total_single_carrier,
|
||||
SUM(diTotal_Double_Carrier) AS total_double_carrier
|
||||
FROM induction_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND (sInduction_Name = :inductionname OR :inductionname IS NULL OR :inductionname = '')
|
||||
GROUP BY roundtime, sInduction_Name
|
||||
ORDER BY roundtime ASC
|
||||
) basa;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "799838101be233537de98f83a148d9982984b7a609fee301d4865a2a6b909779",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
SELECT
|
||||
'S01' AS Sorter,
|
||||
DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS start_time,
|
||||
DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS end_time,
|
||||
COALESCE(c.sInduction_Name, 'N/A') AS sInduction_Name,
|
||||
COALESCE(c.total_single_carrier, 0) AS total_single_carrier,
|
||||
COALESCE(c.total_double_carrier, 0) AS total_double_carrier,
|
||||
COALESCE(c.total, 0) AS total
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
sInduction_Name,
|
||||
SUM(diTotal_Single_Carrier) AS total_single_carrier,
|
||||
SUM(diTotal_Double_Carrier) 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
|
||||
GROUP BY sInduction_Name
|
||||
) AS c ON 1=1;
|
||||
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "24a32d044e5bf04f320e8d2df170a441a10cf5a8e9af49c117dd14ea0844b70f",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
SELECT
|
||||
roundtime,
|
||||
|
||||
singlecarrier_count / Total_count * 100 AS SingleCarrier_perc,
|
||||
doublecarrier_count / Total_count * 100 AS DoubleCarrier_perc
|
||||
|
||||
FROM (
|
||||
SELECT
|
||||
COUNT(*) AS Total_count,
|
||||
SUM(alltable.Carrier_Count = 1) AS singlecarrier_count,
|
||||
SUM(alltable.Carrier_Count = 2) AS doublecarrier_count,
|
||||
FROM_UNIXTIME(CEIL(UNIX_TIMESTAMP(alltable.t_stamp) / 60) * 60) roundtime
|
||||
|
||||
FROM alltable
|
||||
WHERE (alltable.t_stamp BETWEEN :starttime AND :endtime)
|
||||
GROUP BY FROM_UNIXTIME(CEIL(UNIX_TIMESTAMP(alltable.t_stamp) / 60) * 60)
|
||||
ORDER BY alltable.t_stamp ASC
|
||||
) okey;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "4b5af1d81740708bbca4e4b672315c1b15bae8aba11c2512c86557d1cab24063",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "Induct",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,41 @@
|
||||
SELECT
|
||||
'S01' AS Sorter,
|
||||
DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS start_time,
|
||||
DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS end_time,
|
||||
COALESCE(c.sInduction_Name, 'N/A') AS sInduction_Name,
|
||||
CONCAT(COALESCE(c.total_single_carrier, 0), '%') AS total_single_carrier,
|
||||
CONCAT(COALESCE(c.total_double_carrier, 0), '%') AS total_double_carrier,
|
||||
COALESCE(c.total, 0) AS total
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
sInduction_Name,
|
||||
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 total_single_carrier,
|
||||
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 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
|
||||
GROUP BY sInduction_Name
|
||||
) AS c ON 1=1;
|
||||
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "b3046b90832635a902050b0e0eec0bc6f488754adfa3465f5d8a569e45fad2a1",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
SELECT
|
||||
roundtime,
|
||||
|
||||
singlecarrier_count * 3600 / TIMESTAMPDIFF(SECOND, :starttime, :endtime) AS SingleCarrier_rate,
|
||||
doublecarrier_count * 3600 / TIMESTAMPDIFF(SECOND, :starttime, :endtime) AS DoubleCarrier_rate
|
||||
|
||||
FROM (
|
||||
SELECT
|
||||
COUNT(*) AS Total_count,
|
||||
SUM(alltable.Carrier_Count = 1) AS singlecarrier_count,
|
||||
SUM(alltable.Carrier_Count = 2) AS doublecarrier_count,
|
||||
FROM_UNIXTIME(CEIL(UNIX_TIMESTAMP(alltable.t_stamp) / 60) * 60) roundtime
|
||||
|
||||
FROM alltable
|
||||
WHERE (alltable.t_stamp BETWEEN :starttime AND :endtime)
|
||||
GROUP BY FROM_UNIXTIME(CEIL(UNIX_TIMESTAMP(alltable.t_stamp) / 60) * 60)
|
||||
ORDER BY alltable.t_stamp ASC
|
||||
) okey;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "ffdd8a627f99eac8fd91315c27f347df9d4601b35986347d57e70fe8e70da17c",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "Induct",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
SELECT
|
||||
'S01' AS Sorter,
|
||||
DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS start_time,
|
||||
DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS end_time,
|
||||
COALESCE(c.sInduction_Name, 'N/A') AS sInduction_Name,
|
||||
COALESCE(c.total_single_carrier, 0) AS total_single_carrier,
|
||||
COALESCE(c.total_double_carrier, 0) AS total_double_carrier,
|
||||
COALESCE(c.total, 0) AS total
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
sInduction_Name,
|
||||
CASE
|
||||
WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(SUM(diTotal_Single_Carrier), 0) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2)
|
||||
END AS total_single_carrier,
|
||||
CASE
|
||||
WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(SUM(diTotal_Double_Carrier), 0) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2)
|
||||
END 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
|
||||
GROUP BY sInduction_Name
|
||||
) AS c ON 1=1;
|
||||
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "31e9d0357c2e17f4f873b1c1b0259e90f4240463ddc1c46cd1ff1bfd60b340a9",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,55 @@
|
||||
SELECT
|
||||
'S01' AS Sorter,
|
||||
DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS start_time,
|
||||
DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS end_time,
|
||||
COALESCE(c.sActual_Dest_ID, 'N/A') AS Lane,
|
||||
COALESCE(c.Success, 0) AS success_count,
|
||||
COALESCE(c.Unknown, 0) AS unknown_count,
|
||||
COALESCE(c.Unexpected_Container, 0) AS unexpected_container_count,
|
||||
COALESCE(c.Tracking_Error, 0) AS tracking_error_count,
|
||||
COALESCE(c.Gap_Error, 0) AS gap_error_count,
|
||||
COALESCE(c.Destination_Full, 0) AS destination_full_count,
|
||||
COALESCE(c.Destination_Non_Operational, 0) AS destination_non_operational_count,
|
||||
COALESCE(c.Invalid_Destination, 0) AS invalid_destination_count,
|
||||
COALESCE(c.Scanner_Error, 0) AS scan_error_count,
|
||||
COALESCE(c.Destination_Disabled, 0) AS destination_disabled_count,
|
||||
COALESCE(c.Throughput_Limit, 0) AS throughput_limit_count,
|
||||
COALESCE(c.Failed_To_Divert, 0) AS failed_to_divert_count,
|
||||
COALESCE(c.No_Destination_Received, 0) AS no_destination_received_count,
|
||||
COALESCE(c.Lost_Container, 0) AS lost_container_count,
|
||||
COALESCE(c.Dimension_Error, 0) AS dimension_error_count,
|
||||
COALESCE(c.Weight_Error, 0) AS weight_error_count,
|
||||
COALESCE(c.Container_Utilization, 0) AS container_utilization_count,
|
||||
COALESCE(c.Unable_To_Divert, 0) AS unable_to_divert_count,
|
||||
COALESCE(c.Destination_Not_Attempted, 0) AS destination_not_attempted_count,
|
||||
COALESCE(c.total, 0) AS total
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
sActual_Dest_ID,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS Success,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 1 THEN 1 ELSE 0 END) AS Unknown,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 2 THEN 1 ELSE 0 END) AS Unexpected_Container,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 3 THEN 1 ELSE 0 END) AS Tracking_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 4 THEN 1 ELSE 0 END) AS Gap_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) AS Destination_Full,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 6 THEN 1 ELSE 0 END) AS Destination_Non_Operational,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 7 THEN 1 ELSE 0 END) AS Invalid_Destination,
|
||||
SUM(CASE WHEN adiSort_Code_0 IN (8, 9, 10) THEN 1 ELSE 0 END) AS Scanner_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 12 THEN 1 ELSE 0 END) AS Destination_Disabled,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 13 THEN 1 ELSE 0 END) AS Throughput_Limit,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 14 THEN 1 ELSE 0 END) AS Failed_To_Divert,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 16 THEN 1 ELSE 0 END) AS No_Destination_Received,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 17 THEN 1 ELSE 0 END) AS Lost_Container,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 18 THEN 1 ELSE 0 END) AS Dimension_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 19 THEN 1 ELSE 0 END) AS Weight_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 20 THEN 1 ELSE 0 END) AS Container_Utilization,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 21 THEN 1 ELSE 0 END) AS Unable_To_Divert,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 22 THEN 1 ELSE 0 END) AS Destination_Not_Attempted,
|
||||
COUNT(*) AS total
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND adiSort_Code_0 NOT IN (11, 15)
|
||||
GROUP BY sActual_Dest_ID
|
||||
) AS c ON 1=1;
|
||||
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "c1f46603a7f1ab6e4b424e1d757075182d4e8b109d5b7f35095172f447748ef2",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,74 @@
|
||||
SELECT
|
||||
'S01' AS Sorter,
|
||||
DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS start_time,
|
||||
DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS end_time,
|
||||
COALESCE(c.sActual_Dest_ID, 'N/A') AS Lane,
|
||||
CONCAT(COALESCE(c.Success_pct, 0), '%') AS success_perc,
|
||||
CONCAT(COALESCE(c.Unknown_pct, 0), '%') AS unknown_perc,
|
||||
CONCAT(COALESCE(c.Unexpected_Container_pct, 0), '%') AS unexpected_container_perc,
|
||||
CONCAT(COALESCE(c.Tracking_Error_pct, 0), '%') AS tracking_error_perc,
|
||||
CONCAT(COALESCE(c.Gap_Error_pct, 0), '%') AS gap_error_perc,
|
||||
CONCAT(COALESCE(c.Destination_Full_pct, 0), '%') AS destination_full_perc,
|
||||
CONCAT(COALESCE(c.Destination_Non_Operational_pct, 0), '%') AS destination_non_operational_perc,
|
||||
CONCAT(COALESCE(c.Invalid_Destination_pct, 0), '%') AS invalid_destination_perc,
|
||||
CONCAT(COALESCE(c.Scanner_Error_pct, 0), '%') AS scan_error_perc,
|
||||
CONCAT(COALESCE(c.Destination_Disabled_pct, 0), '%') AS destination_disabled_perc,
|
||||
CONCAT(COALESCE(c.Throughput_Limit_pct, 0), '%') AS throughput_limit_perc,
|
||||
CONCAT(COALESCE(c.Failed_To_Divert_pct, 0), '%') AS failed_to_divert_perc,
|
||||
CONCAT(COALESCE(c.No_Destination_Received_pct, 0), '%') AS no_destination_received_perc,
|
||||
CONCAT(COALESCE(c.Lost_Container_pct, 0), '%') AS lost_container_perc,
|
||||
CONCAT(COALESCE(c.Dimension_Error_pct, 0), '%') AS dimension_error_perc,
|
||||
CONCAT(COALESCE(c.Weight_Error_pct, 0), '%') AS weight_error_perc,
|
||||
CONCAT(COALESCE(c.Container_Utilization_pct, 0), '%') AS container_utilization_perc,
|
||||
CONCAT(COALESCE(c.Unable_To_Divert_pct, 0), '%') AS unable_to_divert_perc,
|
||||
CONCAT(COALESCE(c.Destination_Not_Attempted_pct, 0), '%') AS destination_not_attempted_perc,
|
||||
COALESCE(c.total, 0) AS total
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
sActual_Dest_ID,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS Success_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 1 THEN 1 ELSE 0 END) AS Unknown_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 2 THEN 1 ELSE 0 END) AS Unexpected_Container_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 3 THEN 1 ELSE 0 END) AS Tracking_Error_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 4 THEN 1 ELSE 0 END) AS Gap_Error_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) AS Destination_Full_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 6 THEN 1 ELSE 0 END) AS Destination_Non_Operational_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 7 THEN 1 ELSE 0 END) AS Invalid_Destination_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 IN (8, 9, 10) THEN 1 ELSE 0 END) AS Scanner_Error_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 12 THEN 1 ELSE 0 END) AS Destination_Disabled_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 13 THEN 1 ELSE 0 END) AS Throughput_Limit_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 14 THEN 1 ELSE 0 END) AS Failed_To_Divert_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 16 THEN 1 ELSE 0 END) AS No_Destination_Received_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 17 THEN 1 ELSE 0 END) AS Lost_Container_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 18 THEN 1 ELSE 0 END) AS Dimension_Error_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 19 THEN 1 ELSE 0 END) AS Weight_Error_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 20 THEN 1 ELSE 0 END) AS Container_Utilization_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 21 THEN 1 ELSE 0 END) AS Unable_To_Divert_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 22 THEN 1 ELSE 0 END) AS Destination_Not_Attempted_count,
|
||||
COUNT(*) AS total,
|
||||
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 Success_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 1 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Unknown_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 2 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Unexpected_Container_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 3 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Tracking_Error_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 4 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Gap_Error_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Destination_Full_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 6 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Destination_Non_Operational_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 7 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Invalid_Destination_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 IN (8, 9, 10) THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Scanner_Error_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 12 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Destination_Disabled_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 13 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Throughput_Limit_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 14 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Failed_To_Divert_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 16 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS No_Destination_Received_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 17 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Lost_Container_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 18 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Dimension_Error_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 19 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Weight_Error_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 20 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Container_Utilization_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 21 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Unable_To_Divert_pct,
|
||||
CASE WHEN COUNT(*) = 0 THEN 0 ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 22 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2) END AS Destination_Not_Attempted_pct
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND adiSort_Code_0 NOT IN (11, 15)
|
||||
GROUP BY sActual_Dest_ID
|
||||
) AS c ON 1=1;
|
||||
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "55b77aa216291efbf4a846864bee2382d3cf9082190bc2255903059cd366ae1e",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,55 @@
|
||||
SELECT
|
||||
'S01' AS Sorter,
|
||||
DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS start_time,
|
||||
DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS end_time,
|
||||
COALESCE(c.sActual_Dest_ID, 'N/A') AS Lane,
|
||||
COALESCE(c.Success_rate, 0) AS success_rate,
|
||||
COALESCE(c.Unknown_rate, 0) AS unknown_rate,
|
||||
COALESCE(c.Unexpected_Container_rate, 0) AS unexpected_container_rate,
|
||||
COALESCE(c.Tracking_Error_rate, 0) AS tracking_error_rate,
|
||||
COALESCE(c.Gap_Error_rate, 0) AS gap_error_rate,
|
||||
COALESCE(c.Destination_Full_rate, 0) AS destination_full_rate,
|
||||
COALESCE(c.Destination_Non_Operational_rate, 0) AS destination_non_operational_rate,
|
||||
COALESCE(c.Invalid_Destination_rate, 0) AS invalid_destination_rate,
|
||||
COALESCE(c.Scanner_Error_rate, 0) AS scan_error_rate,
|
||||
COALESCE(c.Destination_Disabled_rate, 0) AS destination_disabled_rate,
|
||||
COALESCE(c.Throughput_Limit_rate, 0) AS throughput_limit_rate,
|
||||
COALESCE(c.Failed_To_Divert_rate, 0) AS failed_to_divert_rate,
|
||||
COALESCE(c.No_Destination_Received_rate, 0) AS no_destination_received_rate,
|
||||
COALESCE(c.Lost_Container_rate, 0) AS lost_container_rate,
|
||||
COALESCE(c.Dimension_Error_rate, 0) AS dimension_error_rate,
|
||||
COALESCE(c.Weight_Error_rate, 0) AS weight_error_rate,
|
||||
COALESCE(c.Container_Utilization_rate, 0) AS container_utilization_rate,
|
||||
COALESCE(c.Unable_To_Divert_rate, 0) AS unable_to_divert_rate,
|
||||
COALESCE(c.Destination_Not_Attempted_rate, 0) AS destination_not_attempted_rate,
|
||||
COALESCE(c.total, 0) AS total
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
sActual_Dest_ID,
|
||||
COUNT(*) AS total,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Success_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 1 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Unknown_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 2 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Unexpected_Container_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 3 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Tracking_Error_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 4 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Gap_Error_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Destination_Full_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 6 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Destination_Non_Operational_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 7 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Invalid_Destination_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 IN (8, 9, 10) THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Scanner_Error_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 12 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Destination_Disabled_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 13 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Throughput_Limit_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 14 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Failed_To_Divert_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 16 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS No_Destination_Received_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 17 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Lost_Container_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 18 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Dimension_Error_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 19 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Weight_Error_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 20 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Container_Utilization_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 21 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Unable_To_Divert_rate,
|
||||
CASE WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0 ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 22 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2) END AS Destination_Not_Attempted_rate
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND adiSort_Code_0 NOT IN (11, 15)
|
||||
GROUP BY sActual_Dest_ID
|
||||
) AS c ON 1=1;
|
||||
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "0ecfe5bd3916141ba623b9973ce8c3844121a6794345fe4e700325acbdbb1e26",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,60 @@
|
||||
SELECT
|
||||
roundtime AS `Round Time`,
|
||||
sActual_Dest_ID AS `Lane`,
|
||||
COALESCE(Success, 0) AS `Success Count`,
|
||||
COALESCE(Unknown, 0) AS `Unknown Count`,
|
||||
COALESCE(Unexpected_Container, 0) AS `Unexpected Container Count`,
|
||||
COALESCE(Tracking_Error, 0) AS `Tracking Error Count`,
|
||||
COALESCE(Gap_Error, 0) AS `Gap Error Count`,
|
||||
COALESCE(Destination_Full, 0) AS `Destination Full Count`,
|
||||
COALESCE(Destination_Non_Operational, 0) AS `Destination Non Operational Count`,
|
||||
COALESCE(Invalid_Destination, 0) AS `Invalid Destination Count`,
|
||||
COALESCE(Scanner_Error, 0) AS `Scanner Error Count`,
|
||||
COALESCE(Destination_Disabled, 0) AS `Destination Disabled Count`,
|
||||
COALESCE(Throughput_Limit, 0) AS `Throughput Limit Count`,
|
||||
COALESCE(Failed_To_Divert, 0) AS `Failed To Divert Count`,
|
||||
COALESCE(No_Destination_Received, 0) AS `No Destination Received Count`,
|
||||
COALESCE(Lost_Container, 0) AS `Lost Container Count`,
|
||||
COALESCE(Dimension_Error, 0) AS `Dimension Error Count`,
|
||||
COALESCE(Weight_Error, 0) AS `Weight Error Count`,
|
||||
COALESCE(Container_Utilization, 0) AS `Container Utilization Count`,
|
||||
COALESCE(Unable_To_Divert, 0) AS `Unable To Divert Count`,
|
||||
COALESCE(Destination_Not_Attempted, 0) AS `Destination Not Attempted Count`,
|
||||
COALESCE(total, 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,
|
||||
sActual_Dest_ID,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS Success,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 1 THEN 1 ELSE 0 END) AS Unknown,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 2 THEN 1 ELSE 0 END) AS Unexpected_Container,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 3 THEN 1 ELSE 0 END) AS Tracking_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 4 THEN 1 ELSE 0 END) AS Gap_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) AS Destination_Full,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 6 THEN 1 ELSE 0 END) AS Destination_Non_Operational,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 7 THEN 1 ELSE 0 END) AS Invalid_Destination,
|
||||
SUM(CASE WHEN adiSort_Code_0 IN (8, 9, 10) THEN 1 ELSE 0 END) AS Scanner_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 12 THEN 1 ELSE 0 END) AS Destination_Disabled,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 13 THEN 1 ELSE 0 END) AS Throughput_Limit,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 14 THEN 1 ELSE 0 END) AS Failed_To_Divert,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 16 THEN 1 ELSE 0 END) AS No_Destination_Received,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 17 THEN 1 ELSE 0 END) AS Lost_Container,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 18 THEN 1 ELSE 0 END) AS Dimension_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 19 THEN 1 ELSE 0 END) AS Weight_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 20 THEN 1 ELSE 0 END) AS Container_Utilization,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 21 THEN 1 ELSE 0 END) AS Unable_To_Divert,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 22 THEN 1 ELSE 0 END) AS Destination_Not_Attempted,
|
||||
COUNT(*) AS total
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND adiSort_Code_0 NOT IN (11, 15)
|
||||
AND (sActual_Dest_ID = :Lane OR :Lane IS NULL OR :Lane = '')
|
||||
GROUP BY roundtime, sActual_Dest_ID
|
||||
ORDER BY roundtime ASC
|
||||
) basa;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "eb96e41a57f7b5337e45c80805c1b61bbaa94116f99ac9830af65745acb9aad0",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:51Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
SELECT
|
||||
roundtime AS `Round Time`,
|
||||
sActual_Dest_ID AS Lane,
|
||||
COALESCE(Total_count, 0) AS `Total Count`,
|
||||
COALESCE(DestFull_count, 0) AS DestFull_count
|
||||
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,
|
||||
sActual_Dest_ID,
|
||||
COUNT(*) AS Total_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) AS DestFull_count
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND (sActual_Dest_ID LIKE CONCAT(:lane, '%') OR :lane IS NULL OR :lane = '')
|
||||
GROUP BY roundtime, sActual_Dest_ID
|
||||
ORDER BY roundtime ASC
|
||||
) basa;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "3580bb0e876c640c5d89f3dca7f1edeaa9217caa415c809ee86aa8ef766fedab",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
SELECT
|
||||
COALESCE(c.sActual_Dest_ID, 'N/A') AS Lane,
|
||||
COALESCE(c.Total_count, 0) AS Total_count,
|
||||
COALESCE(c.DestFull_count, 0) AS DestFull_count
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
sActual_Dest_ID,
|
||||
COUNT(*) AS Total_count,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) AS DestFull_count
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND (sActual_Dest_ID LIKE CONCAT(:lane, '%') OR :lane IS NULL OR :lane = '')
|
||||
GROUP BY sActual_Dest_ID
|
||||
) AS c ON 1=1
|
||||
ORDER BY c.sActual_Dest_ID;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "3c70cac6db8cf843e8fe67831bcdbb5187616b0a9e8afd07cbc3e702120d69ea",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
SELECT
|
||||
roundtime AS `Round Time`,
|
||||
sActual_Dest_ID AS Lane,
|
||||
COALESCE(Total_count, 0) AS `Total Count`,
|
||||
CONCAT(COALESCE(DestFull_perc, 0), '%') AS DestFull_perc
|
||||
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,
|
||||
sActual_Dest_ID,
|
||||
COUNT(*) AS Total_count,
|
||||
CASE
|
||||
WHEN COUNT(*) = 0 THEN 0
|
||||
ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2)
|
||||
END AS DestFull_perc
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND (sActual_Dest_ID LIKE CONCAT(:lane, '%') OR :lane IS NULL OR :lane = '')
|
||||
GROUP BY roundtime, sActual_Dest_ID
|
||||
ORDER BY roundtime ASC
|
||||
) basa;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "58dbc1a708f7bf70fd39b54ef22d2b97cdd137b7e5755ddd013984456dce4577",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
SELECT
|
||||
COALESCE(c.sActual_Dest_ID, 'N/A') AS Lane,
|
||||
COALESCE(c.Total_count, 0) AS Total_count,
|
||||
CONCAT(COALESCE(c.DestFull_perc, 0), '%') AS DestFull_perc
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
sActual_Dest_ID,
|
||||
COUNT(*) AS Total_count,
|
||||
CASE
|
||||
WHEN COUNT(*) = 0 THEN 0
|
||||
ELSE ROUND((SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) * 100.0) / COUNT(*), 2)
|
||||
END AS DestFull_perc
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND (sActual_Dest_ID LIKE CONCAT(:lane, '%') OR :lane IS NULL OR :lane = '')
|
||||
GROUP BY sActual_Dest_ID
|
||||
) AS c ON 1=1
|
||||
ORDER BY c.sActual_Dest_ID;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "fd29decb929e9a19f135a360777296a45fe907d43a93b4a72b858e649f6af453",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
SELECT
|
||||
roundtime AS `Round Time`,
|
||||
sActual_Dest_ID AS Lane,
|
||||
COALESCE(Total_rate, 0) AS Total_rate,
|
||||
COALESCE(DestFull_rate, 0) AS DestFull_rate
|
||||
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,
|
||||
sActual_Dest_ID,
|
||||
CASE
|
||||
WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0
|
||||
ELSE ROUND(COUNT(*) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2)
|
||||
END AS Total_rate,
|
||||
CASE
|
||||
WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0
|
||||
ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2)
|
||||
END AS DestFull_rate
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND (sActual_Dest_ID LIKE CONCAT(:lane, '%') OR :lane IS NULL OR :lane = '')
|
||||
GROUP BY roundtime, sActual_Dest_ID
|
||||
ORDER BY roundtime ASC
|
||||
) basa;
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "fa00c65d0bf8f608e79a7a8f7d38a3483113368e921e1a1f3ae1421e1e0f6bf0",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
SELECT
|
||||
COALESCE(c.sActual_Dest_ID, 'N/A') AS Lane,
|
||||
COALESCE(c.Total_rate, 0) AS Total_rate,
|
||||
COALESCE(c.DestFull_rate, 0) AS DestFull_rate
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
sActual_Dest_ID,
|
||||
CASE
|
||||
WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0
|
||||
ELSE ROUND(COUNT(*) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2)
|
||||
END AS Total_rate,
|
||||
CASE
|
||||
WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0
|
||||
ELSE ROUND(SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2)
|
||||
END AS DestFull_rate
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND (sActual_Dest_ID LIKE CONCAT(:lane, '%') OR :lane IS NULL OR :lane = '')
|
||||
GROUP BY sActual_Dest_ID
|
||||
) AS c ON 1=1
|
||||
ORDER BY c.sActual_Dest_ID;
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "5c8ed6ffd0560a1fe4f7cf4c3c0c72354eb0f8b3e5a72c6e9c1befbc56a48a9c",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,21 @@
|
||||
SELECT IFNULL(max(total_count*12),0) as max_pph FROM (
|
||||
-- Calculate Maximum PPH (Parcels Per Hour) in 5-minute intervals
|
||||
-- Where requested destination matches actual destination
|
||||
-- PPH = (count in 5 minutes) * 12
|
||||
|
||||
SELECT
|
||||
Round(SUM(alltable.ACTUAL_DEST <> 'S0199' and alltable.ACTUAL_DEST <> 'S0168')) AS total_count
|
||||
FROM alltable
|
||||
Where (alltable.t_stamp BETWEEN :starttime AND :endtime)
|
||||
GROUP BY UNIX_TIMESTAMP(alltable.t_stamp) DIV 300) basa
|
||||
MAX(pph) as max_pph,
|
||||
MAX(interval_start) as peak_time,
|
||||
SUM(parcel_count) as total_parcels
|
||||
FROM (
|
||||
SELECT
|
||||
DATE_FORMAT(t_stamp, '%Y-%m-%d %H:%i:00') as interval_start,
|
||||
FLOOR(MINUTE(t_stamp) / 5) as five_min_group,
|
||||
COUNT(*) as parcel_count,
|
||||
COUNT(*) * 12 as pph
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND asRequested_Dest_ID_0 = sActual_Dest_ID
|
||||
GROUP BY
|
||||
DATE_FORMAT(t_stamp, '%Y-%m-%d %H:'),
|
||||
FLOOR(MINUTE(t_stamp) / 5)
|
||||
) as intervals;
|
||||
|
||||
@ -0,0 +1,39 @@
|
||||
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
|
||||
ORDER BY roundtime ASC
|
||||
) basa;
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "99adbf01fd8bfc7d85cea0b06b0146b84d7dcb2f5b166952c16b2e917f372b4e",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "scannername",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,76 @@
|
||||
SELECT
|
||||
roundtime,
|
||||
sScanner_Name,
|
||||
CONCAT(
|
||||
CASE
|
||||
WHEN total = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(total_bad_reads, 0) * 100.0 / total, 2)
|
||||
END, '%'
|
||||
) AS total_bad_reads,
|
||||
CONCAT(
|
||||
CASE
|
||||
WHEN total = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(total_comm_faults, 0) * 100.0 / total, 2)
|
||||
END, '%'
|
||||
) AS total_comm_faults,
|
||||
CONCAT(
|
||||
CASE
|
||||
WHEN total = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(total_good_reads, 0) * 100.0 / total, 2)
|
||||
END, '%'
|
||||
) AS total_good_reads,
|
||||
CONCAT(
|
||||
CASE
|
||||
WHEN total = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(total_multi_items, 0) * 100.0 / total, 2)
|
||||
END, '%'
|
||||
) AS total_multi_items,
|
||||
CONCAT(
|
||||
CASE
|
||||
WHEN total = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(total_multi_reads, 0) * 100.0 / total, 2)
|
||||
END, '%'
|
||||
) AS total_multi_reads,
|
||||
CONCAT(
|
||||
CASE
|
||||
WHEN total = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(total_no_data, 0) * 100.0 / total, 2)
|
||||
END, '%'
|
||||
) AS total_no_data,
|
||||
CONCAT(
|
||||
CASE
|
||||
WHEN total = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(total_no_reads, 0) * 100.0 / total, 2)
|
||||
END, '%'
|
||||
) AS total_no_reads
|
||||
FROM (
|
||||
SELECT
|
||||
FROM_UNIXTIME(
|
||||
CEIL(UNIX_TIMESTAMP(t_stamp) /
|
||||
GREATEST(3600, CEIL((UNIX_TIMESTAMP(:endtime) - UNIX_TIMESTAMP(:starttime)) / 24))
|
||||
) *
|
||||
GREATEST(3600, CEIL((UNIX_TIMESTAMP(:endtime) - UNIX_TIMESTAMP(:starttime)) / 24))
|
||||
) 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,
|
||||
(
|
||||
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 roundtime, sScanner_Name
|
||||
ORDER BY roundtime ASC
|
||||
) basa;
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "0b4148eedf21fe652bb118c936547f5217be62c91814f17742282c2aa13f4453",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,67 @@
|
||||
SELECT
|
||||
roundtime,
|
||||
sScanner_Name,
|
||||
CASE
|
||||
WHEN interval_seconds = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(total_bad_reads, 0) * 3600.0 / interval_seconds, 2)
|
||||
END AS total_bad_reads,
|
||||
CASE
|
||||
WHEN interval_seconds = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(total_comm_faults, 0) * 3600.0 / interval_seconds, 2)
|
||||
END AS total_comm_faults,
|
||||
CASE
|
||||
WHEN interval_seconds = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(total_good_reads, 0) * 3600.0 / interval_seconds, 2)
|
||||
END AS total_good_reads,
|
||||
CASE
|
||||
WHEN interval_seconds = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(total_multi_items, 0) * 3600.0 / interval_seconds, 2)
|
||||
END AS total_multi_items,
|
||||
CASE
|
||||
WHEN interval_seconds = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(total_multi_reads, 0) * 3600.0 / interval_seconds, 2)
|
||||
END AS total_multi_reads,
|
||||
CASE
|
||||
WHEN interval_seconds = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(total_no_data, 0) * 3600.0 / interval_seconds, 2)
|
||||
END AS total_no_data,
|
||||
CASE
|
||||
WHEN interval_seconds = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(total_no_reads, 0) * 3600.0 / interval_seconds, 2)
|
||||
END AS total_no_reads,
|
||||
CASE
|
||||
WHEN interval_seconds = 0 THEN 0
|
||||
ELSE ROUND((
|
||||
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)
|
||||
) * 3600.0 / interval_seconds, 2)
|
||||
END AS total
|
||||
FROM (
|
||||
SELECT
|
||||
FROM_UNIXTIME(
|
||||
CEIL(UNIX_TIMESTAMP(t_stamp) /
|
||||
GREATEST(3600, CEIL((UNIX_TIMESTAMP(:endtime) - UNIX_TIMESTAMP(:starttime)) / 24))
|
||||
) *
|
||||
GREATEST(3600, CEIL((UNIX_TIMESTAMP(:endtime) - UNIX_TIMESTAMP(:starttime)) / 24))
|
||||
) AS roundtime,
|
||||
sScanner_Name,
|
||||
GREATEST(3600, CEIL((UNIX_TIMESTAMP(:endtime) - UNIX_TIMESTAMP(:starttime)) / 24)) AS interval_seconds,
|
||||
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
|
||||
ORDER BY roundtime ASC
|
||||
) basa;
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "e43391287cdad8162391dd72bde42b2b9b9784cad379c8e5323dbd72e6021743",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "Scanner",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
SELECT
|
||||
'S01' AS Sorter,
|
||||
DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS start_time,
|
||||
DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS end_time,
|
||||
COALESCE(c.sScanner_Name, 'N/A') AS sScanner_Name,
|
||||
COALESCE(c.total_bad_reads, 0) AS total_bad_reads,
|
||||
COALESCE(c.total_comm_faults, 0) AS total_comm_faults,
|
||||
COALESCE(c.total_good_reads, 0) AS total_good_reads,
|
||||
COALESCE(c.total_multi_items, 0) AS total_multi_items,
|
||||
COALESCE(c.total_multi_reads, 0) AS total_multi_reads,
|
||||
COALESCE(c.total_no_data, 0) AS total_no_data,
|
||||
COALESCE(c.total_no_reads, 0) AS total_no_reads,
|
||||
COALESCE(c.total, 0) AS total
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
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,
|
||||
(
|
||||
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
|
||||
GROUP BY sScanner_Name
|
||||
) AS c ON 1=1;
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "9764168c3b1dff3adfe1c9aa0704d26a7fb3c181deceaa1f52f05b84a3a4146b",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,170 @@
|
||||
SELECT
|
||||
'S01' AS Sorter,
|
||||
DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS start_time,
|
||||
DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS end_time,
|
||||
COALESCE(c.sScanner_Name, 'N/A') AS sScanner_Name,
|
||||
CONCAT(COALESCE(c.total_bad_reads, 0), '%') AS total_bad_reads,
|
||||
CONCAT(COALESCE(c.total_comm_faults, 0), '%') AS total_comm_faults,
|
||||
CONCAT(COALESCE(c.total_good_reads, 0), '%') AS total_good_reads,
|
||||
CONCAT(COALESCE(c.total_multi_items, 0), '%') AS total_multi_items,
|
||||
CONCAT(COALESCE(c.total_multi_reads, 0), '%') AS total_multi_reads,
|
||||
CONCAT(COALESCE(c.total_no_data, 0), '%') AS total_no_data,
|
||||
CONCAT(COALESCE(c.total_no_reads, 0), '%') AS total_no_reads,
|
||||
COALESCE(c.total, 0) AS total
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
sScanner_Name,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
(
|
||||
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
|
||||
GROUP BY sScanner_Name
|
||||
) AS c ON 1=1;
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "1904d829b981965b37c01cadb211b23c6a0cf85ed5732924d1183226b4c5f8d6",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,58 @@
|
||||
SELECT
|
||||
'S01' AS Sorter,
|
||||
DATE_FORMAT(:starttime, '%Y-%m-%d %H:%i') AS start_time,
|
||||
DATE_FORMAT(:endtime, '%Y-%m-%d %H:%i') AS end_time,
|
||||
COALESCE(c.sScanner_Name, 'N/A') AS sScanner_Name,
|
||||
COALESCE(c.total_bad_reads, 0) AS total_bad_reads,
|
||||
COALESCE(c.total_comm_faults, 0) AS total_comm_faults,
|
||||
COALESCE(c.total_good_reads, 0) AS total_good_reads,
|
||||
COALESCE(c.total_multi_items, 0) AS total_multi_items,
|
||||
COALESCE(c.total_multi_reads, 0) AS total_multi_reads,
|
||||
COALESCE(c.total_no_data, 0) AS total_no_data,
|
||||
COALESCE(c.total_no_reads, 0) AS total_no_reads,
|
||||
COALESCE(c.total, 0) AS total
|
||||
FROM (SELECT 1) AS p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
sScanner_Name,
|
||||
CASE
|
||||
WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(SUM(diScanner_bad_reads), 0) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2)
|
||||
END AS total_bad_reads,
|
||||
CASE
|
||||
WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(SUM(diScanner_comm_fault), 0) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2)
|
||||
END AS total_comm_faults,
|
||||
CASE
|
||||
WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(SUM(diScanner_good_reads), 0) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2)
|
||||
END AS total_good_reads,
|
||||
CASE
|
||||
WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(SUM(diScanner_multi_items), 0) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2)
|
||||
END AS total_multi_items,
|
||||
CASE
|
||||
WHEN TIMESTAMPDIFF(SECOND, :starttime, :endtime) = 0 THEN 0
|
||||
ELSE ROUND(COALESCE(SUM(diScanner_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(SUM(diScanner_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(SUM(diScanner_no_reads), 0) * 3600.0 / TIMESTAMPDIFF(SECOND, :starttime, :endtime), 2)
|
||||
END 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
|
||||
GROUP BY sScanner_Name
|
||||
) AS c ON 1=1;
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "c4d66fb8482f00d6dbf84a32ec654bd7088e68d2eb7a24631d4f21d1f94e1056",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
Select
|
||||
SorterName,Induct_count,Sorted_count,OperRecirc_count,MachineRecirc_count,AWCSRecirc_count,Startstamp,Endtstamp,
|
||||
Induct_count/Induct_count as Induct_perc,
|
||||
Sorted_count/Induct_count as Sorted_perc,
|
||||
OperRecirc_count/Induct_count as OperRecirc_perc,
|
||||
MachineRecirc_count/Induct_count as MachineRecirc_perc,
|
||||
AWCSRecirc_count/Induct_count as AWCSRecirc_perc,
|
||||
concat(cast(Induct_count as char),' pph') as Induct_rate,
|
||||
concat(cast(Sorted_count as char),' pph') as Sorted_rate,
|
||||
concat(cast(OperRecirc_count as char),' pph') as OperRecirc_rate,
|
||||
concat(cast(MachineRecirc_count as char),' pph') as MachineRecirc_rate,
|
||||
concat(cast(AWCSRecirc_count as char),' pph') as AWCSRecirc_rate
|
||||
FROM
|
||||
(SELECT
|
||||
'S01' as SorterName,
|
||||
COUNT(*) AS Induct_count,
|
||||
SUM(alltable.ACTUAL_DEST NOT IN ('S013001', 'S012069', 'S011076')) AS Sorted_count,
|
||||
SUM(alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076') AND (alltable.DivertStatus & (4|32|262144|524288|1048576)) > 0) AS OperRecirc_count,
|
||||
SUM(alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076') AND (alltable.DivertStatus & (2|8|16|64|8192|16384|131072|2097152)) > 0) AS MachineRecirc_count,
|
||||
SUM(alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076') AND (alltable.DivertStatus & (128|256|512|1024|4096|65536)) > 0) AS AWCSRecirc_count,
|
||||
MIN(alltable.t_stamp) AS Startstamp,
|
||||
Max(alltable.t_stamp) AS Endtstamp
|
||||
FROM alltable
|
||||
Where (alltable.t_stamp BETWEEN :starttime AND :endtime)
|
||||
Group BY 'S01') basa
|
||||
@ -0,0 +1,46 @@
|
||||
{
|
||||
"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": "47693a2d500afd07e900d1d5760729290e5aa5c048d5d663b1c6ad4f01c1dba6",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
Select
|
||||
roundtime,
|
||||
Induct_count,Sorted_count,OperRecirc_count,MachineRecirc_count,AWCSRecirc_count,
|
||||
|
||||
Induct_count/Induct_count as Induct_perc,
|
||||
Sorted_count/Induct_count as Sorted_perc,
|
||||
OperRecirc_count/Induct_count as OperRecirc_perc,
|
||||
MachineRecirc_count/Induct_count as MachineRecirc_perc,
|
||||
AWCSRecirc_count/Induct_count as AWCSRecirc_perc,
|
||||
|
||||
Induct_count*3600/TIMESTAMPDIFF(second, :starttime, :endtime) as Induct_rate,
|
||||
Sorted_count*3600/TIMESTAMPDIFF(second, :starttime, :endtime) as Sorted_rate,
|
||||
OperRecirc_count*3600/TIMESTAMPDIFF(second, :starttime, :endtime) as OperRecirc_rate,
|
||||
MachineRecirc_count*3600/TIMESTAMPDIFF(second, :starttime, :endtime) as MachineRecirc_rate,
|
||||
AWCSRecirc_count*3600/TIMESTAMPDIFF(second, :starttime, :endtime) as AWCSRecirc_rate
|
||||
FROM
|
||||
(SELECT
|
||||
|
||||
COUNT(*) AS Induct_count,
|
||||
SUM(alltable.ACTUAL_DEST NOT IN ('S013001', 'S012069', 'S011076')) AS Sorted_count,
|
||||
SUM(alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076') AND (alltable.DivertStatus & (4|32|262144|524288|1048576)) > 0) AS OperRecirc_count,
|
||||
SUM(alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076') AND (alltable.DivertStatus & (2|8|16|64|8192|16384|131072|2097152)) > 0) AS MachineRecirc_count,
|
||||
SUM(alltable.ACTUAL_DEST IN ('S013001', 'S012069', 'S011076') AND (alltable.DivertStatus & (128|256|512|1024|4096|65536)) > 0) AS AWCSRecirc_count,
|
||||
|
||||
FROM_UNIXTIME(CEIL(UNIX_TIMESTAMP(alltable.t_stamp) / 60) * 60) roundtime
|
||||
|
||||
FROM alltable
|
||||
Where (alltable.t_stamp BETWEEN :starttime AND :endtime) AND ('S01' = :Sorter)
|
||||
Group BY FROM_UNIXTIME(CEIL(UNIX_TIMESTAMP(alltable.t_stamp) / 60) * 60)
|
||||
Order By alltable.t_stamp ASC
|
||||
) okey
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "e3e8fc6e951a879406e9ec0ac5d143e42c0205eaadb4e493ab8c911947116ca8",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "Sorter",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,59 @@
|
||||
SELECT
|
||||
roundtime AS `Round Time`,
|
||||
sLocation_ID AS `Location ID`,
|
||||
COALESCE(Success, 0) AS `Success Count`,
|
||||
COALESCE(Unknown, 0) AS `Unknown Count`,
|
||||
COALESCE(Unexpected_Container, 0) AS `Unexpected Container Count`,
|
||||
COALESCE(Tracking_Error, 0) AS `Tracking Error Count`,
|
||||
COALESCE(Gap_Error, 0) AS `Gap Error Count`,
|
||||
COALESCE(Destination_Full, 0) AS `Destination Full Count`,
|
||||
COALESCE(Destination_Non_Operational, 0) AS `Destination Non Operational Count`,
|
||||
COALESCE(Invalid_Destination, 0) AS `Invalid Destination Count`,
|
||||
COALESCE(Scanner_Error, 0) AS `Scanner Error Count`,
|
||||
COALESCE(Destination_Disabled, 0) AS `Destination Disabled Count`,
|
||||
COALESCE(Throughput_Limit, 0) AS `Throughput Limit Count`,
|
||||
COALESCE(Failed_To_Divert, 0) AS `Failed To Divert Count`,
|
||||
COALESCE(No_Destination_Received, 0) AS `No Destination Received Count`,
|
||||
COALESCE(Lost_Container, 0) AS `Lost Container Count`,
|
||||
COALESCE(Dimension_Error, 0) AS `Dimension Error Count`,
|
||||
COALESCE(Weight_Error, 0) AS `Weight Error Count`,
|
||||
COALESCE(Container_Utilization, 0) AS `Container Utilization Count`,
|
||||
COALESCE(Unable_To_Divert, 0) AS `Unable To Divert Count`,
|
||||
COALESCE(Destination_Not_Attempted, 0) AS `Destination Not Attempted Count`,
|
||||
COALESCE(total, 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,
|
||||
sLocation_ID,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 0 THEN 1 ELSE 0 END) AS Success,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 1 THEN 1 ELSE 0 END) AS Unknown,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 2 THEN 1 ELSE 0 END) AS Unexpected_Container,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 3 THEN 1 ELSE 0 END) AS Tracking_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 4 THEN 1 ELSE 0 END) AS Gap_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 5 THEN 1 ELSE 0 END) AS Destination_Full,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 6 THEN 1 ELSE 0 END) AS Destination_Non_Operational,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 7 THEN 1 ELSE 0 END) AS Invalid_Destination,
|
||||
SUM(CASE WHEN adiSort_Code_0 IN (8, 9, 10) THEN 1 ELSE 0 END) AS Scanner_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 12 THEN 1 ELSE 0 END) AS Destination_Disabled,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 13 THEN 1 ELSE 0 END) AS Throughput_Limit,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 14 THEN 1 ELSE 0 END) AS Failed_To_Divert,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 16 THEN 1 ELSE 0 END) AS No_Destination_Received,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 17 THEN 1 ELSE 0 END) AS Lost_Container,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 18 THEN 1 ELSE 0 END) AS Dimension_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 19 THEN 1 ELSE 0 END) AS Weight_Error,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 20 THEN 1 ELSE 0 END) AS Container_Utilization,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 21 THEN 1 ELSE 0 END) AS Unable_To_Divert,
|
||||
SUM(CASE WHEN adiSort_Code_0 = 22 THEN 1 ELSE 0 END) AS Destination_Not_Attempted,
|
||||
COUNT(*) AS total
|
||||
FROM item_data
|
||||
WHERE t_stamp BETWEEN :starttime AND :endtime
|
||||
AND adiSort_Code_0 NOT IN (11, 15)
|
||||
AND (sLocation_ID = :locationid OR :locationid IS NULL OR :locationid = '')
|
||||
GROUP BY roundtime, sLocation_ID
|
||||
ORDER BY roundtime ASC
|
||||
) basa;
|
||||
@ -0,0 +1,51 @@
|
||||
{
|
||||
"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": "177422093c34b515efaee8afe0d73e2cbe731303b89e6ce50e3a57624b935b3c",
|
||||
"permissions": [
|
||||
{
|
||||
"zone": "",
|
||||
"role": ""
|
||||
}
|
||||
],
|
||||
"lastModification": {
|
||||
"actor": "admin",
|
||||
"timestamp": "2025-10-25T22:45:52Z"
|
||||
},
|
||||
"syntaxProvider": "class com.adbs.syntax.MySQLSyntaxProvider",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "starttime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "endtime",
|
||||
"sqlType": 8
|
||||
},
|
||||
{
|
||||
"type": "Parameter",
|
||||
"identifier": "locationid",
|
||||
"sqlType": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,54 @@
|
||||
SELECT
|
||||
roundtime,
|
||||
inducted_count,
|
||||
inducted_count / inducted_count AS inducted_perc,
|
||||
success_count / inducted_count AS success_perc,
|
||||
unknown_count / inducted_count AS unknown_perc,
|
||||
unexpected_container_count / inducted_count AS unexpected_container_perc,
|
||||
tracking_error_count / inducted_count AS tracking_error_perc,
|
||||
gap_error_count / inducted_count AS gap_error_perc,
|
||||
destination_full_count / inducted_count AS destination_full_perc,
|
||||
destination_non_operational_count / inducted_count AS destination_non_operational_perc,
|
||||
invalid_destination_count / inducted_count AS invalid_destination_perc,
|
||||
destination_disabled_count / inducted_count AS destination_disabled_perc,
|
||||
throughput_limit_count / inducted_count AS throughput_limit_perc,
|
||||
failed_to_divert_count / inducted_count AS failed_to_divert_perc,
|
||||
no_destination_received_count / inducted_count AS no_destination_received_perc,
|
||||
lost_container_count / inducted_count AS lost_container_perc,
|
||||
dimension_error_count / inducted_count AS dimension_error_perc,
|
||||
weight_error_count / inducted_count AS weight_error_perc,
|
||||
container_utilization_count / inducted_count AS container_utilization_perc,
|
||||
unable_to_divert_count / inducted_count AS unable_to_divert_perc,
|
||||
destination_not_attempted_count / inducted_count AS destination_not_attempted_perc,
|
||||
scan_error_count / inducted_count AS scan_error_perc
|
||||
|
||||
FROM (
|
||||
SELECT
|
||||
COUNT(*) AS inducted_count,
|
||||
SUM(alltable.DivertStatus = 0) AS success_count,
|
||||
SUM(alltable.DivertStatus = 1) AS unknown_count,
|
||||
SUM(alltable.DivertStatus = 2) AS unexpected_container_count,
|
||||
SUM(alltable.DivertStatus = 3) AS tracking_error_count,
|
||||
SUM(alltable.DivertStatus = 4) AS gap_error_count,
|
||||
SUM(alltable.DivertStatus = 5) AS destination_full_count,
|
||||
SUM(alltable.DivertStatus = 6) AS destination_non_operational_count,
|
||||
SUM(alltable.DivertStatus = 7) AS invalid_destination_count,
|
||||
SUM(alltable.DivertStatus = 12) AS destination_disabled_count,
|
||||
SUM(alltable.DivertStatus = 13) AS throughput_limit_count,
|
||||
SUM(alltable.DivertStatus = 14) AS failed_to_divert_count,
|
||||
SUM(alltable.DivertStatus = 16) AS no_destination_received_count,
|
||||
SUM(alltable.DivertStatus = 17) AS lost_container_count,
|
||||
SUM(alltable.DivertStatus = 18) AS dimension_error_count,
|
||||
SUM(alltable.DivertStatus = 19) AS weight_error_count,
|
||||
SUM(alltable.DivertStatus = 20) AS container_utilization_count,
|
||||
SUM(alltable.DivertStatus = 21) AS unable_to_divert_count,
|
||||
SUM(alltable.DivertStatus = 22) AS destination_not_attempted_count,
|
||||
SUM(alltable.DivertStatus IN (8, 9, 10)) AS scan_error_count,
|
||||
FROM_UNIXTIME(CEIL(UNIX_TIMESTAMP(alltable.t_stamp) / 60) * 60) roundtime
|
||||
|
||||
FROM alltable
|
||||
WHERE (alltable.t_stamp BETWEEN :starttime AND :endtime) AND ('S01' = :Sorter)
|
||||
GROUP BY FROM_UNIXTIME(CEIL(UNIX_TIMESTAMP(alltable.t_stamp) / 60) * 60)
|
||||
ORDER BY alltable.t_stamp ASC
|
||||
) okey;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user