diff --git a/.gitignore b/.gitignore index 8643f60..abc1720 100644 --- a/.gitignore +++ b/.gitignore @@ -46,6 +46,7 @@ public/userarea/last_url.txt public/userarea/class/curl_auth_debug.log public/userarea/class/curl_request_debug.log +public/userarea/uploads/cad_area/originals/* # Ignora tutti i log *.log diff --git a/db/migrations/20260611153946_add_roi_fields_to_cad_area_jobs_table.php b/db/migrations/20260611153946_add_roi_fields_to_cad_area_jobs_table.php new file mode 100644 index 0000000..acc518c --- /dev/null +++ b/db/migrations/20260611153946_add_roi_fields_to_cad_area_jobs_table.php @@ -0,0 +1,68 @@ +table('cad_area_jobs'); + + if (!$table->hasColumn('roi_x')) { + $table->addColumn('roi_x', 'decimal', [ + 'precision' => 12, + 'scale' => 6, + 'null' => true, + 'after' => 'file_size', + ]); + } + + if (!$table->hasColumn('roi_y')) { + $table->addColumn('roi_y', 'decimal', [ + 'precision' => 12, + 'scale' => 6, + 'null' => true, + 'after' => 'roi_x', + ]); + } + + if (!$table->hasColumn('roi_width')) { + $table->addColumn('roi_width', 'decimal', [ + 'precision' => 12, + 'scale' => 6, + 'null' => true, + 'after' => 'roi_y', + ]); + } + + if (!$table->hasColumn('roi_height')) { + $table->addColumn('roi_height', 'decimal', [ + 'precision' => 12, + 'scale' => 6, + 'null' => true, + 'after' => 'roi_width', + ]); + } + + if (!$table->hasColumn('roi_page')) { + $table->addColumn('roi_page', 'integer', [ + 'null' => true, + 'default' => 1, + 'after' => 'roi_height', + ]); + } + + if (!$table->hasColumn('calculation_mode')) { + $table->addColumn('calculation_mode', 'string', [ + 'limit' => 50, + 'null' => true, + 'default' => 'auto_roi', + 'after' => 'roi_page', + ]); + } + + $table->update(); + } +} diff --git a/db/migrations/20260612075051_add_result_detail_fields_to_cad_area_jobs_table.php b/db/migrations/20260612075051_add_result_detail_fields_to_cad_area_jobs_table.php new file mode 100644 index 0000000..2333a32 --- /dev/null +++ b/db/migrations/20260612075051_add_result_detail_fields_to_cad_area_jobs_table.php @@ -0,0 +1,46 @@ +table('cad_area_jobs'); + + if (!$table->hasColumn('width_mm')) { + $table->addColumn('width_mm', 'decimal', [ + 'precision' => 18, + 'scale' => 6, + 'null' => true, + ]); + } + + if (!$table->hasColumn('height_mm')) { + $table->addColumn('height_mm', 'decimal', [ + 'precision' => 18, + 'scale' => 6, + 'null' => true, + ]); + } + + if (!$table->hasColumn('scale_used')) { + $table->addColumn('scale_used', 'decimal', [ + 'precision' => 12, + 'scale' => 6, + 'null' => true, + ]); + } + + if (!$table->hasColumn('strategy_used')) { + $table->addColumn('strategy_used', 'string', [ + 'limit' => 100, + 'null' => true, + ]); + } + + $table->update(); + } +} diff --git a/db/migrations/20260612081753_add_manual_tracing_fields_to_cad_area_jobs_table.php b/db/migrations/20260612081753_add_manual_tracing_fields_to_cad_area_jobs_table.php new file mode 100644 index 0000000..c400ec9 --- /dev/null +++ b/db/migrations/20260612081753_add_manual_tracing_fields_to_cad_area_jobs_table.php @@ -0,0 +1,115 @@ +table('cad_area_jobs'); + + if (!$table->hasColumn('width_mm')) { + $table->addColumn('width_mm', 'decimal', [ + 'precision' => 18, + 'scale' => 6, + 'null' => true, + ]); + } + + if (!$table->hasColumn('height_mm')) { + $table->addColumn('height_mm', 'decimal', [ + 'precision' => 18, + 'scale' => 6, + 'null' => true, + ]); + } + + if (!$table->hasColumn('scale_used')) { + $table->addColumn('scale_used', 'decimal', [ + 'precision' => 12, + 'scale' => 6, + 'null' => true, + ]); + } + + if (!$table->hasColumn('strategy_used')) { + $table->addColumn('strategy_used', 'string', [ + 'limit' => 100, + 'null' => true, + ]); + } + + if (!$table->hasColumn('manual_calibration_px')) { + $table->addColumn('manual_calibration_px', 'decimal', [ + 'precision' => 18, + 'scale' => 6, + 'null' => true, + ]); + } + + if (!$table->hasColumn('manual_calibration_mm')) { + $table->addColumn('manual_calibration_mm', 'decimal', [ + 'precision' => 18, + 'scale' => 6, + 'null' => true, + ]); + } + + if (!$table->hasColumn('manual_mm_per_px')) { + $table->addColumn('manual_mm_per_px', 'decimal', [ + 'precision' => 18, + 'scale' => 10, + 'null' => true, + ]); + } + + if (!$table->hasColumn('manual_polygon_json')) { + $table->addColumn('manual_polygon_json', 'text', [ + 'null' => true, + ]); + } + + if (!$table->hasColumn('manual_area_mm2')) { + $table->addColumn('manual_area_mm2', 'decimal', [ + 'precision' => 18, + 'scale' => 6, + 'null' => true, + ]); + } + + if (!$table->hasColumn('manual_area_cm2')) { + $table->addColumn('manual_area_cm2', 'decimal', [ + 'precision' => 18, + 'scale' => 6, + 'null' => true, + ]); + } + + if (!$table->hasColumn('manual_width_mm')) { + $table->addColumn('manual_width_mm', 'decimal', [ + 'precision' => 18, + 'scale' => 6, + 'null' => true, + ]); + } + + if (!$table->hasColumn('manual_height_mm')) { + $table->addColumn('manual_height_mm', 'decimal', [ + 'precision' => 18, + 'scale' => 6, + 'null' => true, + ]); + } + + if (!$table->hasColumn('manual_status')) { + $table->addColumn('manual_status', 'string', [ + 'limit' => 50, + 'null' => true, + ]); + } + + $table->update(); + } +} diff --git a/db/migrations/20260612083548_add_manual_hole_fields_to_cad_area_jobs_table.php b/db/migrations/20260612083548_add_manual_hole_fields_to_cad_area_jobs_table.php new file mode 100644 index 0000000..93e4203 --- /dev/null +++ b/db/migrations/20260612083548_add_manual_hole_fields_to_cad_area_jobs_table.php @@ -0,0 +1,37 @@ +table('cad_area_jobs'); + + if (!$table->hasColumn('manual_outer_area_mm2')) { + $table->addColumn('manual_outer_area_mm2', 'decimal', [ + 'precision' => 18, + 'scale' => 6, + 'null' => true, + ]); + } + + if (!$table->hasColumn('manual_holes_area_mm2')) { + $table->addColumn('manual_holes_area_mm2', 'decimal', [ + 'precision' => 18, + 'scale' => 6, + 'null' => true, + ]); + } + + if (!$table->hasColumn('manual_holes_json')) { + $table->addColumn('manual_holes_json', 'text', [ + 'null' => true, + ]); + } + + $table->update(); + } +} diff --git a/public/userarea/cad-area.php b/public/userarea/cad-area.php index 758b500..8120c2c 100644 --- a/public/userarea/cad-area.php +++ b/public/userarea/cad-area.php @@ -5,7 +5,7 @@ $pdo = $db->getConnection(); $iduser = $iduserlogin ?? null; -if ($iduser === null) { +if ($iduser === null || $iduser === '') { $stmt = $pdo->prepare(" SELECT * FROM cad_area_jobs @@ -23,6 +23,7 @@ if ($iduser === null) { ':iduser' => $iduser ]); } + $jobs = $stmt->fetchAll(PDO::FETCH_ASSOC); ?> @@ -33,6 +34,7 @@ $jobs = $stmt->fetchAll(PDO::FETCH_ASSOC); +
| - - | +# | Nome PDF | Stato | Area mm² | Area cm² | -Scala | +Metodo | Confidenza | Azioni | |
|---|---|---|---|---|---|---|---|---|---|---|
| - - - - | += (int)$job['id']; ?> | = htmlspecialchars($job['original_filename'], ENT_QUOTES, 'UTF-8'); ?> @@ -307,25 +381,28 @@ $jobs = $stmt->fetchAll(PDO::FETCH_ASSOC); | = $badge; ?> | = $areaMm2; ?> | = $areaCm2; ?> | -= htmlspecialchars($scale, ENT_QUOTES, 'UTF-8'); ?> | -= htmlspecialchars($confidence, ENT_QUOTES, 'UTF-8'); ?> | += htmlspecialchars((string)$method, ENT_QUOTES, 'UTF-8'); ?> | += htmlspecialchars((string)$confidence, ENT_QUOTES, 'UTF-8'); ?> | - - - 📄 Apri PDF - - + |