fixed stats with comeesaa campioni
This commit is contained in:
@@ -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
|
||||||
");
|
");
|
||||||
|
|||||||
Reference in New Issue
Block a user