Add drag&drop .asm preview and force CSV output to repo root
Fase 5 now shows the distinta's .asm files already copied to raw/ as draggable icons, so they can be dropped straight onto Creo or Explorer without re-hitting the DB/share. The CSV from fase 2 is now always written to the repo root (found by walking up to CLAUDE.md) instead of next to the input file, wherever that happens to be. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8a8a7d0417
commit
0966e66232
3 files changed
+100
-12
No files matched your search
@@ -51,20 +51,28 @@ entrambi rimossi: ora l'unico programma è questo, con GUI e indicizzazione inte
|
||||
(`DBP_<codice>_<timestamp>`), l'assieme generale viene aggiunto come riga in più nel
|
||||
CSV stesso (il foglio elenca solo i componenti sotto l'assieme, non l'assieme in sé).
|
||||
Da qui in avanti l'assieme generale è un componente come tutti gli altri, nessun
|
||||
caso speciale nel resto del codice.
|
||||
caso speciale nel resto del codice. Il CSV viene sempre scritto nella root del repo
|
||||
(`Form1.TrovaRadiceRepo`, che risale da `AppContext.BaseDirectory` fino alla cartella
|
||||
che contiene `CLAUDE.md`), indipendentemente da dove si trova il file `.xls`/`.xml`
|
||||
di input scelto dall'utente.
|
||||
3. **Crea cartella raw** — cerca nell'indice il percorso CAD di ogni componente del CSV
|
||||
(`TrovaPercorsiCad`) e lo copia in `raw/` (`CopiaFileTrovati`).
|
||||
4. **Trova componenti referenziati** — legge euristicamente i metadati binari dei `.asm`
|
||||
già in `raw/` (`AssemblyComponentScanner`) per risolvere ricorsivamente i
|
||||
sotto-assiemi/parti che contengono (`RisolviAlberoComponenti`), copiandoli anch'essi
|
||||
in `raw/`.
|
||||
5. **Verifica completezza e STEP** — "Verifica completezza assiemi" (ricorsivo sui
|
||||
percorsi originali in indice, non su `raw/`) e "Crea cartella step_finali": solo per i
|
||||
codici della distinta importata dal CSV (non i sotto-componenti di fase 4, che servono
|
||||
solo a completare `raw/`) cerca in `step/` il file `<codice>.stp` e lo copia in
|
||||
`step_finali/` se lo trova. Per i mancanti distingue, incrociando l'indice CAD,
|
||||
`EsitoStep.StepMancante` (il CAD c'è, manca solo l'esportazione STEP) da
|
||||
`ComponenteNonTrovato` (il componente non è nemmeno nell'indice) — vedi `ReportStepForm`.
|
||||
5. **Verifica completezza e STEP** — appena si entra nella fase, `AggiornaAnteprimaAsm`
|
||||
mostra in una `ListView` a icone i file `.asm` della distinta importata (esclusi i
|
||||
sotto-assiemi di fase 4) già presenti in `raw/` — letti dal filesystem locale, non
|
||||
dall'indice/share — trascinabili (drag&drop, `ItemDrag` → `DoDragDrop` con
|
||||
`DataFormats.FileDrop`) direttamente su Creo o Esplora risorse. "Verifica completezza
|
||||
assiemi" (ricorsivo sui percorsi originali in indice, non su `raw/`) e "Crea cartella
|
||||
step_finali": solo per i codici della distinta importata dal CSV (non i
|
||||
sotto-componenti di fase 4, che servono solo a completare `raw/`) cerca in `step/` il
|
||||
file `<codice>.stp` e lo copia in `step_finali/` se lo trova. Per i mancanti distingue,
|
||||
incrociando l'indice CAD, `EsitoStep.StepMancante` (il CAD c'è, manca solo
|
||||
l'esportazione STEP) da `ComponenteNonTrovato` (il componente non è nemmeno
|
||||
nell'indice) — vedi `ReportStepForm`.
|
||||
- **Indexer.cs** — logica di scansione del disco e scrittura/aggiornamento del DB
|
||||
SQLite (`Indexer.ScanAsync`). Cammina tutte le cartelle di primo livello trovate sotto
|
||||
la radice (scoperte dinamicamente con `Directory.GetDirectories`, non un elenco fisso)
|
||||
|
||||
Reference in new issue
Block a user