diff --git a/public/userarea/stats_export_lims_data.php b/public/userarea/stats_export_lims_data.php index 9191332..e6c4161 100644 --- a/public/userarea/stats_export_lims_data.php +++ b/public/userarea/stats_export_lims_data.php @@ -19,7 +19,7 @@ try { $stmtC = $pdo->prepare(" SELECT d.idclient AS idclient, COUNT(DISTINCT d.iddatadb) AS tot, - COUNT(ip.id) AS parts + COUNT(ip.id) + COUNT(DISTINCT d.iddatadb) AS parts FROM datadb d LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb WHERE d.status = 'l' @@ -46,7 +46,7 @@ try { SELECT d.user_id AS user_id, TRIM(CONCAT(COALESCE(u.first_name,''),' ',COALESCE(u.last_name,''))) AS username, COUNT(DISTINCT d.iddatadb) AS tot, - COUNT(ip.id) AS parts + COUNT(ip.id) + COUNT(DISTINCT d.iddatadb) AS parts FROM datadb d LEFT JOIN auth_users u ON u.id = d.user_id LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb @@ -81,9 +81,9 @@ try { // --- Totale PARTI/CAMPIONI della giornata (righe identification_parts legate // ai datadb esportati status='l' in questa giornata) --- $stmtP = $pdo->prepare(" - SELECT COUNT(*) - FROM identification_parts ip - INNER JOIN datadb d ON d.iddatadb = ip.iddatadb + SELECT COUNT(ip.id) + COUNT(DISTINCT d.iddatadb) + FROM datadb d + LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb WHERE d.status = 'l' AND DATE(d.export_date) = :d "); @@ -102,9 +102,9 @@ try { // --- Totale PARTI del MESE (status = 'l') --- $stmtMP = $pdo->prepare(" - SELECT COUNT(*) - FROM identification_parts ip - INNER JOIN datadb d ON d.iddatadb = ip.iddatadb + SELECT COUNT(ip.id) + COUNT(DISTINCT d.iddatadb) + FROM datadb d + LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb WHERE d.status = 'l' AND DATE_FORMAT(d.export_date, '%Y-%m') = :m "); @@ -123,9 +123,9 @@ try { // --- Totale PARTI dell'ANNO (status = 'l') --- $stmtYP = $pdo->prepare(" - SELECT COUNT(*) - FROM identification_parts ip - INNER JOIN datadb d ON d.iddatadb = ip.iddatadb + SELECT COUNT(ip.id) + COUNT(DISTINCT d.iddatadb) + FROM datadb d + LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb WHERE d.status = 'l' AND YEAR(d.export_date) = :y "); diff --git a/public/userarea/stats_export_lims_monthly_data.php b/public/userarea/stats_export_lims_monthly_data.php index 4535459..5144ca1 100644 --- a/public/userarea/stats_export_lims_monthly_data.php +++ b/public/userarea/stats_export_lims_monthly_data.php @@ -17,11 +17,11 @@ try { $year = $dm->format('Y'); // --- 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(" SELECT d.idclient AS idclient, COUNT(DISTINCT d.iddatadb) AS tot, - COUNT(ip.id) AS parts + COUNT(ip.id) + COUNT(DISTINCT d.iddatadb) AS parts FROM datadb d LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb WHERE d.status = 'l' @@ -43,12 +43,12 @@ try { } // --- 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(" SELECT d.user_id AS user_id, TRIM(CONCAT(COALESCE(u.first_name,''),' ',COALESCE(u.last_name,''))) AS username, COUNT(DISTINCT d.iddatadb) AS tot, - COUNT(ip.id) AS parts + COUNT(ip.id) + COUNT(DISTINCT d.iddatadb) AS parts FROM datadb d LEFT JOIN auth_users u ON u.id = d.user_id LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb @@ -80,11 +80,11 @@ try { // --- Totale COMMESSE del mese --- $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(" - SELECT COUNT(*) - FROM identification_parts ip - INNER JOIN datadb d ON d.iddatadb = ip.iddatadb + SELECT COUNT(ip.id) + COUNT(DISTINCT d.iddatadb) + FROM datadb d + LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb WHERE d.status = 'l' AND DATE_FORMAT(d.export_date, '%Y-%m') = :m "); @@ -101,11 +101,11 @@ try { $stmtY->execute(['y' => $year]); $totExportYear = (int)$stmtY->fetchColumn(); - // --- Totale PARTI dell'ANNO del mese selezionato --- + // --- Totale PARTI dell'ANNO del mese selezionato (+1 per commessa) --- $stmtYP = $pdo->prepare(" - SELECT COUNT(*) - FROM identification_parts ip - INNER JOIN datadb d ON d.iddatadb = ip.iddatadb + SELECT COUNT(ip.id) + COUNT(DISTINCT d.iddatadb) + FROM datadb d + LEFT JOIN identification_parts ip ON ip.iddatadb = d.iddatadb WHERE d.status = 'l' AND YEAR(d.export_date) = :y ");