Add explicit working folder; rename project from CadSearchGui to PrepStep
Working folder (phase 1): CSV/raw/step/step_finali all used to live split across two different implicit locations (CSV in the "repo root" found by walking up for CLAUDE.md, raw/step next to the input distinta file) with neither shown to the user. That repo-root lookup also silently breaks once the app runs as a standalone published exe on a machine with no repo/ CLAUDE.md at all. Replaced both with one explicit "cartella di lavoro", auto-suggested (last used, remembered the same way as the DB path) and changeable from phase 1, with no dependency on any repo marker file. Rename: CadSearchGui was the working name from before the app had a product identity; renamed folders, csproj files, namespace and the AppData settings folder to PrepStep throughout, matching the exe name already in use. Product-facing name stays "Cevolani StepPrep". Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
6726dd2216
commit
13798ad47c
24 files changed
+211
-129
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# Cevolani StepPrep
|
||||
|
||||
App Windows Forms (.NET 10, progetto `CadSearchGui`) per indicizzare, cercare e
|
||||
App Windows Forms (.NET 10, progetto `PrepStep`) 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, fino a raccogliere in `raw/` tutto il necessario per
|
||||
@@ -13,17 +13,20 @@ passaggio, non lo sostituisce.
|
||||
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:\`, tutte le cartelle di primo
|
||||
livello che trova) e indicizza tutti i file.
|
||||
livello che trova) e indicizza tutti i file. In questa fase si vede/cambia anche
|
||||
la **cartella di lavoro**: dove finiscono il CSV e le cartelle `raw/`, `step/`,
|
||||
`step_finali/`. Proposta automaticamente (ricordata da un avvio all'altro),
|
||||
modificabile con **Cambia cartella...**.
|
||||
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.
|
||||
Se il file segue la convenzione di nome `DBP_<codice>_<timestamp>` del
|
||||
gestionale, l'assieme generale dell'estrazione viene aggiunto come riga
|
||||
in più nel CSV (il foglio elenca solo i componenti sotto l'assieme, non
|
||||
l'assieme stesso).
|
||||
Componente/Descrizione): viene generato un CSV nella cartella di lavoro, con
|
||||
anteprima in griglia. Se il file segue la convenzione di nome
|
||||
`DBP_<codice>_<timestamp>` del gestionale, l'assieme generale dell'estrazione
|
||||
viene aggiunto come riga in più nel CSV (il foglio elenca solo i componenti
|
||||
sotto l'assieme, non l'assieme stesso).
|
||||
3. **Crea cartella raw** — cerca nell'indice il percorso CAD di ogni
|
||||
componente importato (assieme generale incluso) e copia i file trovati
|
||||
in una cartella `raw/` accanto al file di distinta originale.
|
||||
in una cartella `raw/` dentro la cartella di lavoro.
|
||||
4. **Trova componenti referenziati** — legge i metadati dei file `.asm` in
|
||||
`raw/` per trovare ricorsivamente i sotto-assiemi/parti che li
|
||||
compongono, copiandoli a loro volta in `raw/`.
|
||||
@@ -42,7 +45,7 @@ passaggio, non lo sostituisce.
|
||||
## Build
|
||||
|
||||
```powershell
|
||||
cd CadSearchGui
|
||||
cd PrepStep
|
||||
dotnet build -c Release
|
||||
```
|
||||
|
||||
@@ -51,15 +54,15 @@ dotnet build -c Release
|
||||
Da sorgente:
|
||||
|
||||
```powershell
|
||||
cd CadSearchGui
|
||||
cd PrepStep
|
||||
dotnet run -c Release
|
||||
```
|
||||
|
||||
Oppure l'eseguibile già compilato:
|
||||
|
||||
```powershell
|
||||
cd CadSearchGui\bin\Release\net10.0-windows
|
||||
.\CadSearchGui.exe
|
||||
cd PrepStep\bin\Release\net10.0-windows
|
||||
.\PrepStep.exe
|
||||
```
|
||||
|
||||
## Pubblicazione (eseguibile standalone)
|
||||
@@ -68,15 +71,17 @@ Genera un `.exe` self-contained per Windows x64, senza bisogno del runtime
|
||||
.NET installato sulla macchina di destinazione:
|
||||
|
||||
```powershell
|
||||
cd CadSearchGui
|
||||
cd PrepStep
|
||||
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o publish
|
||||
```
|
||||
|
||||
L'eseguibile risultante è in `CadSearchGui\publish\CadSearchGui.exe`.
|
||||
L'eseguibile risultante è in `PrepStep\publish\PrepStep.exe` — un unico
|
||||
file, si copia e si lancia su un'altra macchina Windows senza bisogno di .NET
|
||||
installato.
|
||||
|
||||
## Struttura del progetto
|
||||
|
||||
Tutto il codice è in `CadSearchGui/` (unico progetto nella solution, GUI e
|
||||
Tutto il codice è in `PrepStep/` (unico progetto nella solution, GUI e
|
||||
indicizzazione integrate):
|
||||
|
||||
- `Program.cs` — entry point.
|
||||
@@ -93,12 +98,12 @@ sono tracciati in git (vedi `.gitignore`).
|
||||
|
||||
## Test
|
||||
|
||||
`CadSearchGui.Tests/` contiene unit test (regex di estrazione dei componenti
|
||||
`PrepStep.Tests/` contiene unit test (regex di estrazione dei componenti
|
||||
dai `.asm`, parsing del nome file Pro-E) e integration test (schema/vista SQL
|
||||
reale, con focus sui bug di case-sensitivity/duplicati già risolti). Da
|
||||
eseguire:
|
||||
|
||||
```powershell
|
||||
cd CadSearchGui.Tests
|
||||
cd PrepStep.Tests
|
||||
dotnet test
|
||||
```
|
||||
Reference in new issue
Block a user