fixed stats with comeesaa campioni

This commit is contained in:
2026-08-04 12:57:00 +02:00
parent 153cdbca98
commit a1e91f8d76
2 changed files with 23 additions and 23 deletions
+11 -11
View File
@@ -19,7 +19,7 @@ try {
$stmtC = $pdo->prepare(" $stmtC = $pdo->prepare("
SELECT d.idclient AS idclient, SELECT d.idclient AS idclient,
COUNT(DISTINCT d.iddatadb) AS tot, COUNT(DISTINCT d.iddatadb) AS tot,
COUNT(ip.id) AS parts COUNT(ip.id) + COUNT(DISTINCT d.iddatadb) AS parts
FROM datadb d FROM datadb d
LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb
WHERE d.status = 'l' WHERE d.status = 'l'
@@ -46,7 +46,7 @@ try {
SELECT d.user_id AS user_id, SELECT d.user_id AS user_id,
TRIM(CONCAT(COALESCE(u.first_name,''),' ',COALESCE(u.last_name,''))) AS username, TRIM(CONCAT(COALESCE(u.first_name,''),' ',COALESCE(u.last_name,''))) AS username,
COUNT(DISTINCT d.iddatadb) AS tot, COUNT(DISTINCT d.iddatadb) AS tot,
COUNT(ip.id) AS parts COUNT(ip.id) + COUNT(DISTINCT d.iddatadb) AS parts
FROM datadb d FROM datadb d
LEFT JOIN auth_users u ON u.id = d.user_id LEFT JOIN auth_users u ON u.id = d.user_id
LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb
@@ -81,9 +81,9 @@ try {
// --- Totale PARTI/CAMPIONI della giornata (righe identification_parts legate // --- Totale PARTI/CAMPIONI della giornata (righe identification_parts legate
// ai datadb esportati status='l' in questa giornata) --- // ai datadb esportati status='l' in questa giornata) ---
$stmtP = $pdo->prepare(" $stmtP = $pdo->prepare("
SELECT COUNT(*) SELECT COUNT(ip.id) + COUNT(DISTINCT d.iddatadb)
FROM identification_parts ip FROM datadb d
INNER JOIN datadb d ON d.iddatadb = ip.iddatadb LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb
WHERE d.status = 'l' WHERE d.status = 'l'
AND DATE(d.export_date) = :d AND DATE(d.export_date) = :d
"); ");
@@ -102,9 +102,9 @@ try {
// --- Totale PARTI del MESE (status = 'l') --- // --- Totale PARTI del MESE (status = 'l') ---
$stmtMP = $pdo->prepare(" $stmtMP = $pdo->prepare("
SELECT COUNT(*) SELECT COUNT(ip.id) + COUNT(DISTINCT d.iddatadb)
FROM identification_parts ip FROM datadb d
INNER JOIN datadb d ON d.iddatadb = ip.iddatadb LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb
WHERE d.status = 'l' WHERE d.status = 'l'
AND DATE_FORMAT(d.export_date, '%Y-%m') = :m AND DATE_FORMAT(d.export_date, '%Y-%m') = :m
"); ");
@@ -123,9 +123,9 @@ try {
// --- Totale PARTI dell'ANNO (status = 'l') --- // --- Totale PARTI dell'ANNO (status = 'l') ---
$stmtYP = $pdo->prepare(" $stmtYP = $pdo->prepare("
SELECT COUNT(*) SELECT COUNT(ip.id) + COUNT(DISTINCT d.iddatadb)
FROM identification_parts ip FROM datadb d
INNER JOIN datadb d ON d.iddatadb = ip.iddatadb LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb
WHERE d.status = 'l' WHERE d.status = 'l'
AND YEAR(d.export_date) = :y AND YEAR(d.export_date) = :y
"); ");
@@ -17,11 +17,11 @@ try {
$year = $dm->format('Y'); $year = $dm->format('Y');
// --- Export per cliente (status = 'l', filtro mese) --- // --- Export per cliente (status = 'l', filtro mese) ---
// tot = numero commesse, parts = numero parti/campioni // tot = numero commesse, parts = numero parti/campioni (+1 per commessa)
$stmtC = $pdo->prepare(" $stmtC = $pdo->prepare("
SELECT d.idclient AS idclient, SELECT d.idclient AS idclient,
COUNT(DISTINCT d.iddatadb) AS tot, COUNT(DISTINCT d.iddatadb) AS tot,
COUNT(ip.id) AS parts COUNT(ip.id) + COUNT(DISTINCT d.iddatadb) AS parts
FROM datadb d FROM datadb d
LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb
WHERE d.status = 'l' WHERE d.status = 'l'
@@ -43,12 +43,12 @@ try {
} }
// --- Export per utente (status = 'l', filtro mese) --- // --- Export per utente (status = 'l', filtro mese) ---
// tot = numero commesse, parts = numero parti/campioni // tot = numero commesse, parts = numero parti/campioni (+1 per commessa)
$stmtU = $pdo->prepare(" $stmtU = $pdo->prepare("
SELECT d.user_id AS user_id, SELECT d.user_id AS user_id,
TRIM(CONCAT(COALESCE(u.first_name,''),' ',COALESCE(u.last_name,''))) AS username, TRIM(CONCAT(COALESCE(u.first_name,''),' ',COALESCE(u.last_name,''))) AS username,
COUNT(DISTINCT d.iddatadb) AS tot, COUNT(DISTINCT d.iddatadb) AS tot,
COUNT(ip.id) AS parts COUNT(ip.id) + COUNT(DISTINCT d.iddatadb) AS parts
FROM datadb d FROM datadb d
LEFT JOIN auth_users u ON u.id = d.user_id LEFT JOIN auth_users u ON u.id = d.user_id
LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb
@@ -80,11 +80,11 @@ try {
// --- Totale COMMESSE del mese --- // --- Totale COMMESSE del mese ---
$totExport = array_sum(array_column($byClient, 'tot')); $totExport = array_sum(array_column($byClient, 'tot'));
// --- Totale PARTI/CAMPIONI del mese (status = 'l') --- // --- Totale PARTI/CAMPIONI del mese (status = 'l', +1 per commessa) ---
$stmtP = $pdo->prepare(" $stmtP = $pdo->prepare("
SELECT COUNT(*) SELECT COUNT(ip.id) + COUNT(DISTINCT d.iddatadb)
FROM identification_parts ip FROM datadb d
INNER JOIN datadb d ON d.iddatadb = ip.iddatadb LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb
WHERE d.status = 'l' WHERE d.status = 'l'
AND DATE_FORMAT(d.export_date, '%Y-%m') = :m AND DATE_FORMAT(d.export_date, '%Y-%m') = :m
"); ");
@@ -101,11 +101,11 @@ try {
$stmtY->execute(['y' => $year]); $stmtY->execute(['y' => $year]);
$totExportYear = (int)$stmtY->fetchColumn(); $totExportYear = (int)$stmtY->fetchColumn();
// --- Totale PARTI dell'ANNO del mese selezionato --- // --- Totale PARTI dell'ANNO del mese selezionato (+1 per commessa) ---
$stmtYP = $pdo->prepare(" $stmtYP = $pdo->prepare("
SELECT COUNT(*) SELECT COUNT(ip.id) + COUNT(DISTINCT d.iddatadb)
FROM identification_parts ip FROM datadb d
INNER JOIN datadb d ON d.iddatadb = ip.iddatadb LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb
WHERE d.status = 'l' WHERE d.status = 'l'
AND YEAR(d.export_date) = :y AND YEAR(d.export_date) = :y
"); ");