Files
prep-step/README.md
T
davideandClaude Sonnet 5 97d53a16dd Add raw-folder step, redesign UI, remember last DB path, add README
- Split the import flow into explicit steps: import/preview CSV, then a
  separate "Crea cartella raw" button that looks up CAD paths and copies
  matched files into raw/ next to the source distinta file.
- Redesign the top panel with grouped, auto-sized sections (database vs.
  import) instead of hand-tuned row heights, fixing overlap/clipping bugs;
  style the primary action button and polish the results grid.
- Remember the last successfully loaded database path in
  %AppData%\CadSearchGui\ultimo_db.txt so it reloads automatically on
  future launches regardless of the working directory.
- Ignore the /step/ working folder.
- Add a README with build/run/publish instructions and project overview.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 10:59:16 +02:00

82 lines
2.7 KiB
Markdown

# CadSearchGui
App Windows Forms (.NET 10) per indicizzare, cercare e recuperare i file CAD
Pro-ENGINEER/Creo di un disco/share di rete, e per trasformare l'estrazione
"Distinta Base" del gestionale (file `.xls`/`.xml`) in un CSV con il percorso
CAD di ogni componente.
## Funzionalità
1. **Indice CAD** — all'avvio carica automaticamente `cad_index.db` (se
presente accanto all'eseguibile). Se manca, si può selezionare un DB
esistente con **Apri DB...** o generarne uno nuovo con **Aggiorna
indice**, che scansiona il disco (di default `X:\`, cartelle
`__Accessori`, `__B.end`, `__Corpi`, `__Fondi`) e indicizza tutti i file.
2. **Importa Distinta Base** — trascina (o scegli da file) l'estrazione
`.xls`/`.xml` del gestionale (foglio "Distinta Base", colonne
Componente/Descrizione): viene generato un CSV con anteprima in griglia.
3. **Crea cartella raw** — cerca nell'indice il percorso CAD di ogni
componente importato e copia i file trovati in una cartella `raw/`
accanto al file di distinta originale.
## Requisiti
- Windows
- [.NET 10 SDK](https://dotnet.microsoft.com/download) (per build/run da sorgente)
- Accesso alla share di rete con i file CAD (`X:\` di default) per
l'indicizzazione
## Build
```powershell
cd CadSearchGui
dotnet build -c Release
```
## Avvio
Da sorgente:
```powershell
cd CadSearchGui
dotnet run -c Release
```
Oppure l'eseguibile già compilato:
```powershell
cd CadSearchGui\bin\Release\net10.0-windows
.\CadSearchGui.exe
```
## Pubblicazione (eseguibile standalone)
Genera un `.exe` self-contained per Windows x64, senza bisogno del runtime
.NET installato sulla macchina di destinazione:
```powershell
cd CadSearchGui
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o publish
```
L'eseguibile risultante è in `CadSearchGui\publish\CadSearchGui.exe`.
## Struttura del progetto
Tutto il codice è in `CadSearchGui/` (unico progetto nella solution, GUI e
indicizzazione integrate):
- `Program.cs` — entry point.
- `Form1.cs` — finestra principale (indice CAD, import Distinta Base, griglia
risultati); UI costruita interamente in codice, nessun designer visuale.
- `Indexer.cs` — scansione del disco e scrittura/aggiornamento del DB SQLite.
- `DistintaBaseImporter.cs` — parsing del file Distinta Base (SpreadsheetML
XML o Excel binario/OpenXML tramite ExcelDataReader) e generazione CSV.
- `ProgressForm.cs` — dialog di avanzamento durante l'aggiornamento indice.
Il database generato (`cad_index.db`), i file Excel/CSV della distinta
trascinati nella root e la cartella `raw/` sono rigenerabili e non sono
tracciati in git (vedi `.gitignore`).
Non ci sono test automatizzati nel repo.