added charts and fixed analysis component

This commit is contained in:
2024-11-22 11:57:39 +01:00
parent 18735127bb
commit 22c95fa063
12 changed files with 1355 additions and 556 deletions
@@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Upload Excel</title>
</head>
<body>
<form action="upload_excel.php" method="POST" enctype="multipart/form-data">
<label for="file">Upload Excel File:</label>
<input type="file" name="file" accept=".xlsx, .xls" required>
<button type="submit">Upload</button>
</form>
</body>
</html>
+30
View File
@@ -0,0 +1,30 @@
<?php
include('../include/headscript.php');
include("../class/company.php");
// Connessione al database
$conn = new mysqli($servername, $username, $password, $database);
// Controllo connessione
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Aggiorna le date in reports utilizzando i dati di reportsbydate
$updateQuery = "
UPDATE reports AS r
INNER JOIN reportsbydate AS rb
ON r.reportsNumberLab = rb.report_no
SET
r.reportDatein = IF(rb.in_date IS NOT NULL, rb.in_date, r.reportDatein),
r.reportsDateDue = IF(rb.due_date IS NOT NULL, rb.due_date, r.reportsDateDue),
r.reportsDateOut = IF(rb.out_date IS NOT NULL, rb.out_date, r.reportsDateOut)
";
if ($conn->query($updateQuery) === TRUE) {
echo "Reports updated successfully.";
} else {
echo "Error updating reports: " . $conn->error;
}
$conn->close();
@@ -0,0 +1,73 @@
<?php
include('../include/headscript.php');
include("../class/company.php");
use PhpOffice\PhpSpreadsheet\IOFactory;
require '../../vendor/autoload.php';
// Connessione al database
$conn = new mysqli($servername, $username, $password, $database);
// Controllo connessione
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['file'])) {
$fileTmpPath = $_FILES['file']['tmp_name'];
$fileName = $_FILES['file']['name'];
$fileExtension = strtolower(pathinfo($fileName, PATHINFO_EXTENSION));
if ($fileExtension === 'xlsx' || $fileExtension === 'xls') {
try {
$spreadsheet = IOFactory::load($fileTmpPath);
$sheet = $spreadsheet->getActiveSheet();
$rows = $sheet->toArray();
// Trova gli indici delle colonne dall'header
$header = $rows[0]; // Prima riga
$colIndex = array_flip($header); // Map header to column index
$reportNoIndex = isset($colIndex['Report no.']) ? $colIndex['Report no.'] : 'S';
$inDateIndex = isset($colIndex['IN Date']) ? $colIndex['IN Date'] : 'T';
$dueDateIndex = isset($colIndex['DUE Date']) ? $colIndex['DUE Date'] : 'U';
$outDateIndex = isset($colIndex['OUT Date']) ? $colIndex['OUT Date'] : 'V';
foreach ($rows as $index => $row) {
if ($index == 0) continue; // Salta l'intestazione
// Ottieni i dati dalle colonne specificate
$reportNo = $conn->real_escape_string(trim($row[$reportNoIndex]));
$inDate = isset($row[$inDateIndex]) ? date('Y-m-d', strtotime(str_replace('/', '-', $row[$inDateIndex]))) : null;
$dueDate = isset($row[$dueDateIndex]) ? date('Y-m-d', strtotime(str_replace('/', '-', $row[$dueDateIndex]))) : null;
$outDate = isset($row[$outDateIndex]) ? date('Y-m-d', strtotime(str_replace('/', '-', $row[$outDateIndex]))) : null;
// Controlla se il report esiste già
$checkQuery = "SELECT id FROM reportsbydate WHERE report_no = '$reportNo'";
$result = $conn->query($checkQuery);
if ($result->num_rows == 0 && !empty($reportNo)) {
// Inserisci solo se il report non esiste e il Report No è valido
$insertQuery = "
INSERT INTO reportsbydate (report_no, in_date, due_date, out_date)
VALUES ('$reportNo', " .
($inDate ? "'$inDate'" : "NULL") . ", " .
($dueDate ? "'$dueDate'" : "NULL") . ", " .
($outDate ? "'$outDate'" : "NULL") . ")";
$conn->query($insertQuery);
}
}
echo "File imported successfully.";
} catch (Exception $e) {
echo "Error processing file: " . $e->getMessage();
}
} else {
echo "Invalid file format. Please upload an Excel file.";
}
} else {
echo "No file uploaded.";
}
$conn->close();