fixed stat 4

This commit is contained in:
2026-10-13 17:34:33 +02:00
parent 22114963db
commit b2a2f56383
2 changed files with 30 additions and 12 deletions
+10 -10
View File
@@ -72,8 +72,8 @@ if ($action === 'data') {
SUM(x.status = 'evaso') AS delivered,
SUM(x.status = 'annullato') AS cancelled,
SUM(x.status = 'bloccato') AS blocked,
SUM(x.status IN ('aperto','bloccato') AND x.due_date < CURDATE()) AS late,
SUM(x.status IN ('aperto','bloccato') AND x.client_date < CURDATE()) AS late_client,
SUM(x.is_late) AS late,
SUM(x.is_late_client) AS late_client,
SUM(x.status IN ('aperto','bloccato') AND x.late_lines > 0 AND x.late_lines < x.open_lines) AS late_partial,
SUM(CASE WHEN x.status IN ('aperto','bloccato') THEN x.late_lines ELSE 0 END) AS late_lines,
SUM(x.status IN ('aperto','bloccato') AND x.week_lines > 0) AS week_orders,
@@ -84,7 +84,7 @@ if ($action === 'data') {
THEN DATEDIFF(x.due_date, x.order_date) END) AS avg_lead_days,
COALESCE(SUM($val), 0) AS value_total,
COALESCE(SUM(CASE WHEN x.status IN ('aperto','bloccato') THEN x.taxable_amount ELSE 0 END), 0) AS value_open,
COALESCE(SUM(CASE WHEN x.status IN ('aperto','bloccato') AND x.due_date < CURDATE() THEN x.taxable_amount ELSE 0 END), 0) AS value_late,
COALESCE(SUM(CASE WHEN x.is_late = 1 THEN x.taxable_amount ELSE 0 END), 0) AS value_late,
COALESCE(SUM(CASE WHEN x.delivered = 1 AND x.invoiced = 0 AND x.cancelled = 0 THEN x.taxable_amount ELSE 0 END), 0) AS value_to_invoice,
AVG(CASE WHEN x.status <> 'annullato' THEN x.taxable_amount END) AS value_avg,
SUM(x.summary_tb_modified IS NULL) AS missing_amounts
@@ -151,11 +151,11 @@ if ($action === 'data') {
$dueBuckets = MagoSalesStats::fetchAllQ($pdo, "
SELECT bucket, SUM(mv) AS n FROM (
SELECT CASE
WHEN x.due_date IS NULL THEN '6_senza'
WHEN x.due_date < CURDATE() THEN '1_scaduti'
WHEN YEARWEEK(x.due_date, 3) = YEARWEEK(CURDATE(), 3) THEN '2_settimana'
WHEN YEARWEEK(x.due_date, 3) = YEARWEEK(CURDATE() + INTERVAL 7 DAY, 3) THEN '3_prossima'
WHEN x.due_date <= CURDATE() + INTERVAL 30 DAY THEN '4_30gg'
WHEN x.is_late = 1 THEN '1_scaduti'
WHEN x.open_due IS NULL THEN '6_senza'
WHEN YEARWEEK(x.open_due, 3) = YEARWEEK(CURDATE(), 3) THEN '2_settimana'
WHEN YEARWEEK(x.open_due, 3) = YEARWEEK(CURDATE() + INTERVAL 7 DAY, 3) THEN '3_prossima'
WHEN x.open_due <= CURDATE() + INTERVAL 30 DAY THEN '4_30gg'
ELSE '5_oltre'
END AS bucket,
$m AS mv
@@ -188,9 +188,9 @@ if ($action === 'data') {
x.salesperson, x.area, x.status, x.invoiced, x.your_reference,
x.taxable_amount, x.total_amount,
x.zibo_date, x.client_date, x.open_lines, x.late_lines, x.late_lines_client, x.open_dates, x.week_lines,
(x.status IN ('aperto','bloccato') AND x.client_date < CURDATE()) AS is_late_client,
x.is_late_client,
(x.summary_tb_modified IS NULL) AS no_amount,
(x.status IN ('aperto','bloccato') AND x.due_date < CURDATE()) AS is_late
x.is_late
FROM $from
WHERE $where
ORDER BY x.order_date DESC, x.sale_ord_id DESC