importify various fixing

This commit is contained in:
2024-10-14 08:49:17 +02:00
parent fccdaada7e
commit d83f4e0e34
10 changed files with 244 additions and 155 deletions
+27 -21
View File
@@ -165,10 +165,11 @@ $failedReportsPercent = ($totalReports > 0) ? ($failedReports / $totalReports) *
// Statistic 4: Total number of tests performed (distinct tests)
$totalTestsQuery = "
SELECT COUNT(DISTINCT rp.idreports, rp.idPart, rp.result_TestName) AS totalTests
FROM result_project rp
LEFT JOIN reports r ON rp.idreports = r.idreports
LEFT JOIN products p ON r.idproducts = p.idproducts
SELECT COUNT(DISTINCT ap.idreports, ap.idPart, ap.result_TestName) AS totalTests
FROM analysis_project ap
LEFT JOIN result_project rp ON ap.idAnalysis_Project = rp.idanalysis_project
LEFT JOIN reports r ON ap.idreports = r.idreports
LEFT JOIN products p ON r.idproducts = p.idproducts
$filters
";
$totalTestsResult = $conn->query($totalTestsQuery);
@@ -176,12 +177,14 @@ $totalTests = $totalTestsResult->fetch_assoc()['totalTests'];
// Statistic 5: Number of 'fail' tests and percentage (case-insensitive for rating fail)
$failedTestsQuery = "
SELECT COUNT(DISTINCT rp.idreports, rp.idPart, rp.result_TestName) AS failedTests
FROM result_project rp
LEFT JOIN reports r ON rp.idreports = r.idreports
LEFT JOIN products p ON r.idproducts = p.idproducts
$filters AND UPPER(rp.result_Rating) IN ('FAIL', 'F', 'DOESN\'T COMPLY')
SELECT COUNT(DISTINCT ap.idreports, ap.idPart, ap.result_TestName) AS failedTests
FROM analysis_project ap
LEFT JOIN result_project rp ON ap.idAnalysis_Project = rp.idanalysis_project
LEFT JOIN reports r ON ap.idreports = r.idreports
LEFT JOIN products p ON r.idproducts = p.idproducts
$filters AND UPPER(ap.test_Rating) IN ('FAIL', 'F', 'DOESN\'T COMPLY')
";
$failedTestsResult = $conn->query($failedTestsQuery);
$failedTests = $failedTestsResult->fetch_assoc()['failedTests'];
$failedTestsPercent = ($totalTests > 0) ? ($failedTests / $totalTests) * 100 : 0;
@@ -216,16 +219,18 @@ $otherReportsPie = $otherReportsPieResult->fetch_assoc()['otherReports'];
// Query to get the top 10 analyses with the most 'Fail' results
$topFailingAnalysisQuery = "
SELECT a.nameanalysisvoc AS analysisName, COUNT(DISTINCT rp.idreports, rp.idPart, rp.result_TestName) AS failCount
FROM result_project rp
LEFT JOIN reports r ON rp.idreports = r.idreports
LEFT JOIN products p ON r.idproducts = p.idproducts
LEFT JOIN analysisvocabulary a ON rp.result_TestName = a.idanalysisvocabulary
$filters AND UPPER(rp.result_Rating) IN ('FAIL', 'F', 'DOESN\'T COMPLY')
GROUP BY rp.result_TestName
SELECT a.nameanalysisvoc AS analysisName, COUNT(DISTINCT ap.idreports, ap.idPart, ap.result_TestName) AS failCount
FROM analysis_project ap
LEFT JOIN result_project rp ON ap.idAnalysis_Project = rp.idanalysis_project
LEFT JOIN reports r ON ap.idreports = r.idreports
LEFT JOIN products p ON r.idproducts = p.idproducts
LEFT JOIN analysisvocabulary a ON ap.result_TestName = a.idanalysisvocabulary
$filters AND UPPER(ap.test_Rating) IN ('FAIL', 'F', 'DOESN\'T COMPLY')
GROUP BY ap.result_TestName
ORDER BY failCount DESC
LIMIT 10
";
$topFailingAnalysisResult = $conn->query($topFailingAnalysisQuery);
$topFailingAnalysis = [];
while ($row = $topFailingAnalysisResult->fetch_assoc()) {
@@ -379,16 +384,17 @@ while ($row = $numberLabsResult->fetch_assoc()) {
// New Query: Distribution of analyses (for pie chart)
$analysisDistributionQuery = "
SELECT a.nameanalysisvoc AS analysisName, COUNT(DISTINCT rp.idreports, rp.idPart, rp.result_TestName) AS totalTests
FROM result_project rp
LEFT JOIN analysisvocabulary a ON rp.result_TestName = a.idanalysisvocabulary
LEFT JOIN reports r ON rp.idreports = r.idreports
SELECT a.nameanalysisvoc AS analysisName, COUNT(DISTINCT ap.idreports, ap.idPart, ap.result_TestName) AS totalTests
FROM analysis_project ap
LEFT JOIN analysisvocabulary a ON ap.result_TestName = a.idanalysisvocabulary
LEFT JOIN reports r ON ap.idreports = r.idreports
LEFT JOIN products p ON r.idproducts = p.idproducts
$filters
GROUP BY rp.result_TestName
GROUP BY ap.result_TestName
ORDER BY totalTests DESC
";
$analysisDistributionResult = $conn->query($analysisDistributionQuery);
$analysisDistribution = [];
while ($row = $analysisDistributionResult->fetch_assoc()) {