# Piano Evolutiva iWon

Anteprima prospetto tecnico per il rifacimento della piattaforma iWon (preventivazione e MES per la produzione di tende industriali e navali).

---

## 1. Executive summary

iWon è oggi un sistema funzionale ma strutturalmente limitato: copre processi complessi (preventivi, distinte, produzione, rilievi, integrazione Odoo) ma è cresciuto come monolite difficile da evolvere. L'evolutiva richiesta non è una serie di patch: è un **rifacimento strutturale** su una nuova piattaforma, organizzata in due macro-moduli interconnessi.


| Macro-modulo    | Responsabilità                                                                                                  |
| --------------- | --------------------------------------------------------------------------------------------------------------- |
| **Commerciale** | Clienti, commesse, preventivi, configurazione guidata della tenda, fattibilità tecnico-commerciale              |
| **Produzione**  | Attivato dopo conferma preventivo: rilievi, dettagli tecnici, distinte, lavorazioni, operatori, avanzamento MES |


**Benefici attesi**

- Riduzione errori grazie a workflow guidati e regole di compatibilità
- Separazione netta tra ciò che serve al commerciale e ciò che serve alla produzione
- Cataloghi e formule configurabili, non hardcoded per ogni modello tenda
- Integrazione Odoo più governata e tracciabile
- Test automatici sulle formule per validare le regole prima dell'uso operativo

**Nota metodologica**

Ogni modulo e sotto-modulo verrà analizzato, sviluppato e affinato insieme al cliente e ai responsabili di reparto. L'obiettivo è trasformare il know-how operativo in funzionalità mirate, validate e realmente utilizzabili nel lavoro quotidiano — non consegnare un software generico da adattare dopo.

---



## 2. Stato attuale e criticità



### 2.1 Cosa fa oggi iWon

L'applicazione attuale è un **monolite** (un solo deployable) che gestisce:


| Area            | Funzionalità presenti                                                                         |
| --------------- | --------------------------------------------------------------------------------------------- |
| Commerciale     | Ordini, preventivi, righe tenda, listini, export PDF/XLS                                      |
| Catalogo        | Modelli tenda, accessori, kit motorizzazione, componenti, tessuti, colori                     |
| Produzione      | Schedule per reparto (plastica, ferro, alluminio, tessuti), distinte BOM/BOF, vista operatore |
| Misure          | PWA presa misure con sync offline, conferma fasi                                              |
| Integrazioni    | Odoo (anagrafiche, componenti, export ordini), OptCut (tracciati taglio via CSV)              |
| Amministrazione | Utenti, ruoli, permessi granulari per reparto                                                 |


Il flusso operativo è riconoscibile: **preventivo → preorder → presa misure → conferma → pianificazione → assemblaggio**. Il dominio di settore è ben modellato.

### 2.2 Criticità strutturali


| Criticità                                                                             | Impatto                                                                   |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| Logica accoppiata in pochi file grandi (es. controller preventivo ~1000 righe)        | Ogni modifica richiede analisi end-to-end, alto rischio regressioni       |
| Nessuna API separata: tutto via route web + sessioni                                  | Impossibile separare frontend e backend, difficile evolvere l'interfaccia |
| Frontend datato (Vue 2, pattern Blade + istanza Vue per pagina)                       | UX limitata, manutenzione costosa                                         |
| Formule e regole distribuite tra codice PHP, configurazione DB e UI                   | Difficile aggiungere modelli tenda o varianti senza sviluppo custom       |
| Test automatici quasi assenti (1 test unitario su calcoli tessuto)                    | Nessuna rete di sicurezza su modifiche a formule e flussi                 |
| Flussi produzione con punti non finalizzati (TODO su sync misure, conferma, preorder) | Comportamento runtime potenzialmente incoerente con il processo atteso    |
| Dipendenze da librerie del fornitore precedente (griglie admin, Odoo, menu)           | Lock-in tecnico su componenti non standard                                |




### 2.3 Limiti operativi emersi dall'uso quotidiano

Dagli appunti 2026 emergono problemi concreti che confermano la necessità di un rifacimento:

- Formule errate o mancanti (magneti, catenella, sartoria pacchetto, staffe)
- Componenti non associabili per variante modello tenda
- Accessori scelti a parte non compaiono in produzione
- Note e allegati non tracciati correttamente
- Associazioni componenti condizionali (motore + supporto → disco diverso) non gestite
- Usabilità insufficiente (click su riga, filtri, navigazione post-salvataggio)

Questi non sono solo bug: indicano che il modello attuale non supporta la complessità reale del dominio senza interventi manuali continui.

---



## 3. Visione della nuova piattaforma



### 3.1 Principi architetturali

La nuova piattaforma separa chiaramente:

- **Interfaccia utente**: guidata, responsive (tablet), diversa per ruolo e reparto
- **Logiche applicative**: organizzate per macro-modulo (Commerciale / Produzione)
- **Regole, decisioni e formule**: cataloghi, vincoli, compatibilità, calcoli
- **Dati e storico**: tracciabilità completa di preventivi, versioni, rilievi, distinte
- **Integrazioni esterne**: Odoo, macchine taglio, magazzino

Non si tratta di aggiungere funzionalità al monolite esistente, ma di costruire una piattaforma dove ogni layer può evolvere in modo indipendente.

### 3.2 Approccio dinamico

Le tipologie di tenda, i kit motorizzazione, gli accessori e le regole di compatibilità **non verranno mappati uno per uno nel codice**. Si prevede un sistema a:

- cataloghi configurabili (modelli, varianti, componenti, famiglie, tessuti, colori)
- regole di compatibilità (dimensioni, colore, modello, variante, rullo, tessuto)
- vincoli (obbligatorio/facoltativo, quantità min/max, range, non addebitato, non prelevabile)
- formule (quantità, detrazioni, compensazioni, costi, lavorazioni)
- workflow guidato (l'interfaccia propone solo scelte coerenti)

Il configuratore segue un **processo decisionale**: ogni scelta restringe le successive. Le regole sono definite tramite cataloghi, vincoli e compatibilità configurabili — non con logiche fisse per ogni tenda.

#### Esempio: selezione kit motorizzazione su modello tenda

Caso reale: **tenda a rullo Ø 47 mm**. Il commerciale non sceglie motore, staffe o adattatori uno per uno: il wizard propone solo le combinazioni valide in base a modello, variante e dimensioni.

**Configurazione a monte (amministratore / responsabile tecnico)**


| Elemento                     | Regola configurata                                                                         |
| ---------------------------- | ------------------------------------------------------------------------------------------ |
| Modello tenda                | Rullo Ø 47 mm — larghezza ammessa 400–3500 mm                                              |
| Varianti                     | Oscurante, Decorativa — con tessuti, accessori e kit motorizzazione diversi                |
| Kit motorizzazione           | Associati al modello con filtri su variante e range larghezza                              |
| **Oscurante**                |                                                                                            |
| Kit MU35 standard            | Compatibile: Oscurante, larghezza 0–3000 mm                                                |
| Kit MU35 heavy               | Compatibile: Oscurante, larghezza 2500–3500 mm                                             |
| **Decorativa**               |                                                                                            |
| Kit MU28 decorativo          | Compatibile: Decorativa, larghezza 0–2200 mm                                               |
| Kit MU32 decorativo          | Compatibile: Decorativa, larghezza 1800–2800 mm                                            |
| Famiglia staffe (produzione) | Min 2 — risoluzione automatica in base a larghezza e supporti scelti                       |
| Adattatori rullo             | Scelti in produzione in base a motore + diametro rullo (es. R47 → kit adattatori dedicato) |


**Esempio: percorso wizard commerciale** 

```mermaid
flowchart TD
    Start[Inizio configurazione tenda] --> Modello["Modello: Rullo Ø 47 mm"]
    Modello --> Variante{Variante tenda}
    Variante -->|Oscurante| DimO["Dimensioni: es. 2800 x 2200 mm"]
    Variante -->|Decorativa| DimD["Dimensioni: es. 2000 x 2000 mm"]
    DimO --> KitO{Kit motorizzazione compatibili}
    KitO -->|Larghezza 2800 mm| KitMU35["Kit MU35 standard"]
    KitO -->|Larghezza 3200 mm| KitMU35H["Kit MU35 heavy"]
    DimD --> KitD{Kit motorizzazione compatibili}
    KitD -->|Larghezza 2000 mm| KitMU28["Kit MU28 decorativo"]
    KitD -->|Larghezza 2400 mm| KitMU32["Kit MU32 decorativo"]
    KitMU35 --> Colore[Colore tenda]
    KitMU35H --> Colore
    KitMU28 --> Colore
    KitMU32 --> Colore
    Colore --> Accessori[Accessori principali: fondale, binario, filoguidatura]
    Accessori --> FineComm["Preventivo: prodotto vendibile definito"]
    FineComm --> Produzione["Produzione: staffe, adattatori, dischi, consumabili risolti dalle regole"]
```



**Cosa vede il commerciale vs cosa risolve la produzione**


| Fase               | Commerciale sceglie      | Sistema risolve in automatico (produzione)                    |
| ------------------ | ------------------------ | ------------------------------------------------------------- |
| Modello + variante | Rullo 47, Oscurante      | Parametri produzione: compensazione L/H, aria rullo           |
| Dimensioni         | 2800 × 2200 mm           | Filtra kit disponibili; esclude MU35 heavy se fuori range     |
| Kit motorizzazione | MU35 standard            | Motore MU35, supporti compatibili, adattatori R47             |
| Colore             | Bianco                   | Varianti articolo Odoo: MU528.B, TE008.B, ecc.                |
| Accessori          | Fondale, binario         | Componenti tecnici derivati, staffe per range larghezza       |
| —                  | Non sceglie staffa       | Staffa da 55 → formula 99/106 mm (validata con casi campione) |
| —                  | Non sceglie disco motore | MU35 + supporti TE067 → disco nero; con piastre → disco SP    |
| Modello + variante | Rullo 47, **Decorativa** | Tessuti e accessori del catalogo decorativo                   |
| Dimensioni         | 2000 × 2000 mm           | Propone MU28 e MU32; esclude kit oscurante                    |
| Kit motorizzazione | **MU28 decorativo**      | Motore MU28, supporti e adattatori R47 per linea decorativa   |
| Dimensioni         | 2400 × 2100 mm           | Propone MU32 decorativo (range 1800–2800 mm)                  |
| Kit motorizzazione | **MU32 decorativo**      | Motore MU32, componenti kit decorativo dedicati               |


Sia per **oscurante** sia per **decorativa** il commerciale sceglie il kit motorizzazione tra quelli compatibili con variante e dimensioni; la produzione completa poi staffe, adattatori e componenti derivati.

Questo esempio mostra come un solo modello tenda generi percorsi diversi senza sviluppo custom: le regole sono configurate una volta e il wizard guida l'utente verso scelte coerenti.

### 3.3 Architettura logica

```mermaid
flowchart TB
    Utenti[Utenti e reparti] --> Interfaccia[Interfaccia guidata]
    Interfaccia --> Commerciale[Modulo Commerciale]
    Interfaccia --> Produzione[Modulo Produzione]
    Commerciale --> RegoleDecisioni[Regole e decisioni]
    Produzione --> RegoleDecisioni
    RegoleDecisioni --> Dati[Dati e storico]
    Commerciale --> Integrazioni[Integrazioni esterne]
    Produzione --> Integrazioni
    Integrazioni --> Odoo[Odoo]
    Integrazioni --> Macchine[Macchine e file produzione]
```



---



## 4. Macro-modulo Commerciale

Gestisce tutto ciò che precede la conferma del preventivo e la fattibilità tecnico-commerciale.

### 4.1 Sottoaree


| Sottoarea                   | Funzionalità                                                                                                                                      |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Anagrafiche clienti**     | Sync con Odoo (ricerca, import, associazione), listini e scontistica personalizzati, allineamento periodico dati                                  |
| **Commesse**                | Creazione, template commessa, associazione cliente, storico                                                                                       |
| **Preventivi**              | Creazione, template preventivo, duplica, archivia, versionamento                                                                                  |
| **Configuratore tenda**     | Wizard guidato: modello, variante, dimensioni, colore, kit motorizzazione, accessori principali, filoguidatura, magneti, caratteristiche generali |
| **Fattibilità e revisione** | Controllo tenda per tenda: fattibilità tecnica, coerenza prezzi, esito (approvato / respinto / da rivedere), percentuale avanzamento              |
| **Gestione cliente**        | Invio preventivo, trattativa (scontistica con revisione), accettazione/rifiuto (totale o parziale)                                                |
| **Documenti**               | PDF preventivo, allegati, note, storico modifiche                                                                                                 |




### 4.2 Cosa vede e fa il commerciale

Il commerciale configura la tenda attraverso un **wizard guidato**: ogni scelta abilita o limita le successive in base a regole configurate. Non deve conoscere tutte le combinazioni tecniche.

**Scelte del commerciale:**

- Modello tenda e variante (oscurante, decorativa, accoppiata, ecc.)
- Dimensioni (larghezza, altezza)
- Colore
- Kit motorizzazione
- Accessori principali (fondale, binario, filoguidatura, magneti)
- Caratteristiche generali

**Cosa NON fa il commerciale:**

- Scelta della staffa specifica
- Selezione componenti tecnici derivati (disco motore, ruota, corona in base a rullo)
- Dettagli di consumabili, viti, bulloni
- Compensazioni e detrazioni produttive

Questi dettagli vengono risolti automaticamente dalle regole di configurazione o completati in fase produzione.

### 4.3 Workflow stati preventivo


| Stato                 | Descrizione                                          |
| --------------------- | ---------------------------------------------------- |
| Bozza                 | Venditore salva in bozza                             |
| Creato                | Preventivo salvato, in attesa di revisione           |
| In revisione          | Revisore controlla tenda per tenda                   |
| Controllato           | Tutte le tende verificate                            |
| Inviato al cliente    | Preventivo approvato e inviato                       |
| In trattativa         | Scontistica aggiuntiva con revisione                 |
| Accettato / Rifiutato | Esito cliente (totale o parziale → nuovo preventivo) |


Il sistema mostra: approvato X%, N tende rifiutate per fattibilità, M per incoerenza prezzi.

---



## 5. Macro-modulo Produzione

Si attiva **dopo conferma/accettazione del preventivo**. Trasforma il prodotto vendibile in prodotto realizzabile.

### 5.1 Sottoaree


| Sottoarea                    | Funzionalità                                                                                                            |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Attivazione produzione**   | Passaggio da preventivo confermato, registrazione acconto/contratto                                                     |
| **Configurazione tecnica**   | Risoluzione dettagli produttivi: staffe, componenti specifici, varianti colore articolo, accessori tecnici, consumabili |
| **Rilievo misure**           | App offline per rilievo misure e note testuali; sincronizzazione al ripristino della connessione; storico rilievi; possibili variazioni da validare |
| **Distinta materiali (BOM)** | Per singola tenda (es. SX100 123 TN1), non per intera commessa                                                          |
| **Calcoli produzione**       | Sartoria, taglio (plastica, alluminio, tessuto tecnico), saldatura, assemblaggio                                        |
| **Lavorazioni**              | Linee produttive, attività per modello tenda, dipendenze tra fasi, vincoli a cascata                                    |
| **Operatori**                | Account dedicati, presa in carico lavorazione, aggiornamento stati, richiesta assistenza                                |
| **Prelievo materiali**       | Notifica a Odoo/magazzino, distinzione componenti prelevabili e non                                                     |
| **Output macchina**          | File CSV per tagliatori (OptCut), tracciati per reparto                                                                 |
| **Dashboard produzione**     | Stato tende, avanzamento, storico                                                                                       |




### 5.2 Fasi rilievo misure e sblocco produzione

Ogni fase di rilievo sblocca lavorazioni specifiche:


| Fase rilievo        | Effetto                              |
| ------------------- | ------------------------------------ |
| Conferma colore     | Notifica automatica a magazzino Odoo |
| Misura larghezza    | Sblocca taglio binari/profili        |
| Misura altezza      | Sblocca preparazione tessuti         |
| Dimensione teatrino | Sblocca assemblaggio tenda           |




#### Esempio: flusso lavorazioni con dipendenze

Schema di riferimento per una tenda a rullo con tessuto tecnico (taglieria OptCut) e binario in alluminio. Le fasi di rilievo sbloccano le lavorazioni; alcune lavorazioni dipendono da altre (es. assemblaggio solo dopo taglio e sartoria completati).

```mermaid
flowchart TB
    subgraph rilievi [Fasi rilievo misure]
        R1[1. Conferma colore]
        R2[2. Misura larghezza]
        R3[3. Misura altezza]
        R4[4. Dimensione teatrino]
    end

    subgraph sblocco [Lavorazioni sbloccate]
        L0[Notifica magazzino Odoo]
        L1[Taglio profili binario - alluminio]
        L2[Taglio tessuto tecnico - OptCut]
        L3[Sartoria - cucitura telo]
        L4[Saldatura componenti]
        L5[Assemblaggio tenda]
        L6[Controllo e chiusura]
    end

    R1 --> L0
    R2 --> L1
    R3 --> L2
    R3 --> L3
    R4 --> L5

    L1 --> L5
    L2 --> L3
    L3 --> L5
    L4 --> L5
    L5 --> L6

    R2 -.->|genera CSV| OptCut[File taglio macchina]
    L1 -.->|genera CSV| OptCut
```



**Legenda del flusso**


| Lavorazione             | Sbloccata da            | Dipende da                          | Reparto                 |
| ----------------------- | ----------------------- | ----------------------------------- | ----------------------- |
| Notifica magazzino Odoo | Conferma colore         | —                                   | Integrazione            |
| Taglio profili binario  | Misura larghezza        | —                                   | Taglio alluminio        |
| Taglio tessuto tecnico  | Misura altezza          | —                                   | Taglio tessuti / OptCut |
| Sartoria                | Misura altezza          | Taglio tessuto (se tecnico)         | Sartoria                |
| Saldatura               | Configurazione tecnica  | —                                   | Saldatura               |
| Assemblaggio tenda      | Dimensione teatrino     | Taglio binario, sartoria, saldatura | Assemblaggio            |
| Controllo e chiusura    | Assemblaggio completato | Assemblaggio                        | Produzione              |


Il responsabile produzione vede per ogni tenda quali lavorazioni sono disponibili, in attesa o bloccate. Gli operatori possono prendere in carico solo le lavorazioni i cui prerequisiti sono soddisfatti. Le dipendenze e i reparti sono configurabili per modello tenda (es. tenda a pacchetto senza OptCut: la sartoria parte direttamente dopo il rilievo altezza).

### 5.3 Stati produzione

Rilevo misure (fase 1–4), pianificato, errore in produzione, mancanza merce, in esecuzione, finito, richiesta assistenza.

Il responsabile produzione vede tutte le tende di preventivi confermati e può modificare gli stati. Gli operatori prendono in carico le singole lavorazioni (con eventuali aggregazioni generate dal sistema o su scelta dell'operatore).

### 5.4 Calcoli di produzione

Basati sul foglio [calcoli-produzione.numbers](calcoli-produzione.numbers):


| Area             | Output                                                                                                   |
| ---------------- | -------------------------------------------------------------------------------------------------------- |
| **Sartoria**     | Larghezza, altezza, H luce, H finita, teatrino, compensazione, scarto, quantità cadute — PDF esportabile |
| **Taglio**       | Profili, tondini, tessuti tecnici — per categoria (plastica, alluminio, ferro, tessuto tecnico)          |
| **Saldatura**    | Come taglio, macchinari diversi                                                                          |
| **Assemblaggio** | Come precedenti, macchinari diversi                                                                      |


Ogni lavorazione include: area, descrizione, task con macchinario, componenti/accessori da prelevare (inclusi consumabili).

---



## 6. Regole, decisioni e configuratore



### 6.1 Concetto

L'approccio non prevede logiche fisse per ogni tenda, ma un **insieme di regole e decisioni** organizzato in un processo decisionale con due livelli:


| Livello         | Uso                                                                                       |
| --------------- | ----------------------------------------------------------------------------------------- |
| **Commerciale** | Guida la composizione vendibile: scelte comprensibili, vincoli visibili, errori segnalati |
| **Produzione**  | Completa la configurazione tecnica: componenti derivati, detrazioni, quantità, distinta   |




### 6.2 Struttura delle regole (esempio)

```
Cataloghi base
  ├── Modelli tenda (con varianti, parametri produzione, range dimensioni)
  ├── Kit motorizzazione (componenti, famiglie, vincoli)
  ├── Accessori (con componenti aggregati, famiglie, obblighi min/max)
  ├── Fondali, binari, filoguidatura, steccatura, magneti
  ├── Tessuti (tecnico → taglieria, comune → sartoria)
  ├── Componenti (da Odoo, con tipologia: componente, profilo, consumabile, catenella, filo, ecc.)
  ├── Colori e varianti colore articolo (MU629.B, MU629.N, MU629.R9010O)
  └── Costi orari e listini

Regole e vincoli
  ├── Compatibilità (modello × variante × dimensione × colore × rullo)
  ├── Obbligatorietà (famiglia staffa: min 2, famiglia giunti: max 1)
  ├── Range applicabilità (staffe 0–1000mm, kit motorizzazione per diametro rullo)
  ├── Condizioni (motore MU35 + supporti TE067 → disco nero; + piastre → disco SP)
  ├── Non addebitato al cliente (staffe, viti in produzione ma non in preventivo)
  └── Non prelevabile (escluso da lista magazzino verticale)

Formule
  ├── Quantità (fissa, per metro, perimetro, area, per caduta × tondino)
  ├── Detrazioni e compensazioni (aria, aria rullo, scarto, compensazione L/H)
  ├── Costi (componenti + tessuto al m² + manodopera in minuti × costo orario)
  └── Lavorazioni e distinta materiali
```



### 6.3 UI configuratore

- **Wizard commerciale**: step sequenziali, solo opzioni valide mostrate, segnalazione conflitti
- **Pannello amministrazione**: creazione/modifica cataloghi, regole, vincoli, formule
- **Simulatore formule**: test in tempo reale con input e confronto risultato atteso (vedi sezione 9)



### 6.4 Gestione componenti da Odoo


| Passo                | Azione                                                                                |
| -------------------- | ------------------------------------------------------------------------------------- |
| Import               | Da anagrafica prodotti Odoo (codice, nome, descrizione, prezzo)                       |
| Accettazione         | Utente conferma range applicabilità, prezzo, flag non addebitato                      |
| Sync notturno        | Check modifiche Odoo → notifica responsabile → aggiorna/archivia/crea nuovo           |
| Varianti colore      | Mappatura codice base + suffisso colore (B, N, A, R+RAL)                              |
| Policy archiviazione | Componente aggiornato: vecchio visibile su modelli esistenti, nuovo su modelli futuri |




### 6.5 Diagramma processo decisionale

```mermaid
flowchart LR
    CataloghiBase[Cataloghi base] --> Regole[Regole e vincoli]
    Regole --> WizardCommerciale[Wizard commerciale]
    Regole --> ConfigProduzione[Configurazione produzione]
    WizardCommerciale --> PreventivoValido[Preventivo validabile]
    ConfigProduzione --> Formule[Formule produzione]
    Formule --> RisultatoCalcolato[Risultato calcolato]
    CasiCampione[Casi campione validati] --> RisultatoAtteso[Risultato atteso]
    RisultatoCalcolato --> Verifica{Confronto}
    RisultatoAtteso --> Verifica
    Verifica -->|OK| FormulaValidata[Formula validata]
    Verifica -->|Errore| RevisioneRegola[Revisione regola]
    RevisioneRegola --> Regole
```



---



## 7. Workflow target



### 7.1 Flusso operativo generale

```mermaid
flowchart LR
    Cliente[Cliente] --> Commessa[Commessa]
    Commessa --> Preventivo[Preventivo]
    Preventivo --> ConfigCommerciale[Configurazione commerciale]
    ConfigCommerciale --> Fattibilita[Fattibilita tecnico commerciale]
    Fattibilita --> Revisione{Esito revisione}
    Revisione -->|Da rivedere| Preventivo
    Revisione -->|Approvato| InvioCliente[Invio al cliente]
    InvioCliente --> EsitoCliente{Esito cliente}
    EsitoCliente -->|Accettato| Produzione[Avvio produzione]
    EsitoCliente -->|Rifiutato o parziale| RevisioneCommerciale[Revisione commerciale]
    Produzione --> Rilievi[Rilievo misure]
    Rilievi --> BOM[Distinta e calcoli]
    BOM --> Lavorazioni[Lavorazioni reparto]
    Lavorazioni --> Chiusura[Chiusura commessa]
```





### 7.2 Passaggio tra macro-moduli

```mermaid
flowchart TB
    subgraph areaCommerciale [Modulo Commerciale]
        Clienti[Clienti]
        Commesse[Commesse]
        Preventivi[Preventivi]
        Wizard[Wizard configurazione]
        FattibilitaCheck[Fattibilita e prezzi]
    end

    subgraph areaProduzione [Modulo Produzione]
        Conferma[Conferma preventivo]
        Rilievo[Rilievo misure]
        ConfigTecnica[Configurazione tecnica]
        Distinta[BOM per tenda]
        Reparti[Lavorazioni e reparti]
    end

    Cataloghi[Cataloghi e regole] --> Wizard
    Cataloghi --> ConfigTecnica
    Wizard --> FattibilitaCheck
    FattibilitaCheck --> Conferma
    Conferma --> Rilievo
    Rilievo --> ConfigTecnica
    ConfigTecnica --> Distinta
    Distinta --> Reparti
```





### 7.3 Esempio confine commerciale / produzione


| Aspetto                   | Commerciale              | Produzione                            |
| ------------------------- | ------------------------ | ------------------------------------- |
| Modello tenda, variante   | Sceglie                  | Usa                                   |
| Dimensioni                | Inserisce (stima)        | Conferma (rilievo reale)              |
| Colore                    | Sceglie                  | Conferma                              |
| Kit motorizzazione        | Sceglie                  | Risolve componenti derivati           |
| Accessori principali      | Sceglie                  | Completa con componenti tecnici       |
| Staffe, viti, consumabili | Non vede                 | Risolve automaticamente o manualmente |
| Compensazioni, detrazioni | Non gestisce             | Calcola                               |
| BOM                       | Genera prima impegnativa | Genera per tenda                      |
| Lavorazioni               | Non gestisce             | Pianifica ed esegue                   |


---



## 8. Piano strategico di sviluppo

Ogni fase prevede momenti di confronto con cliente e responsabili di reparto: raccolta esempi reali, validazione flussi, affinamento prima dello sviluppo definitivo.


| Fase                    | Contenuto                                                                                                          | Output                                               |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------- |
| **0 — Analisi**         | Inventario regole, formule, flussi reparto; mappatura dati Odoo; priorità; casi campione per tipologia tenda       | Documento funzionale validato, backlog prioritizzato |
| **1 — Fondazioni**      | Piattaforma, utenti/ruoli/permessi, anagrafiche clienti, integrazione Odoo controllata (clienti, componenti)       | Ambiente funzionante, sync Odoo base                 |
| **2 — Regole e configuratore** | Cataloghi, configuratore tende, regole compatibilità, vincoli, costi, simulatore formule                           | Processo decisionale operativo con primi modelli tenda |
| **3 — Commerciale**     | Preventivi, wizard configurazione, workflow revisione/fattibilità, versionamento, PDF, invio/accettazione          | Flusso commerciale end-to-end                        |
| **4 — Rilievi**         | App offline per rilievo misure e note, fasi rilievo, storico, variazioni                                           | Rilievo misure operativo su campo                    |
| **5 — Produzione**      | BOM per tenda, calcoli (sartoria, taglio, saldatura, assemblaggio), lavorazioni, operatori, prelievo, CSV macchina | Flusso produzione end-to-end                         |
| **6 — Consolidamento**  | Dashboard, reporting, ottimizzazioni, test sul campo, pianificazione migrazione dati                                | Go-live e affinamento                                |


---



## 9. Test automatici e validazione formule

Le formule di produzione sono la parte più delicata del progetto. Non verranno solo configurate: verranno **validate sistematicamente**.

### 9.1 Casi campione

Per ogni tipologia di tenda o formula critica si definiscono almeno **2 casi campione**:


| Campo               | Contenuto                                                                                            |
| ------------------- | ---------------------------------------------------------------------------------------------------- |
| Input               | Modello tenda, variante, dimensioni, colore, kit/accessori, rilievi                                  |
| Risultato atteso    | Componenti, quantità, detrazioni, lavorazioni, costi o misure — validato dal responsabile di reparto |
| Risultato calcolato | Output calcolato dal sistema di regole e formule                                                     |
| Esito               | Corretto / non corretto, con note di revisione                                                       |




### 9.2 Simulatore formule

Schermata dedicata per testare in tempo reale se una regola produce il risultato previsto. Utilizzabile da responsabile tecnico o di reparto senza dover creare un preventivo completo.

### 9.3 Test automatici ripetibili

I casi campione diventano test automatici eseguibili a ogni modifica alle formule. Se una regola già validata si rompe, il sistema lo segnala prima del deploy.

### 9.4 Affidabilità delle regole

Questo approccio riduce il rischio su una delle parti più critiche del progetto e garantisce che le regole operative siano replicate correttamente nel software.

---



## 10. Rischi, assunzioni e decisioni aperte


| Rischio / decisione                                 | Mitigazione                                                                             |
| --------------------------------------------------- | --------------------------------------------------------------------------------------- |
| Regole e formule incomplete o ambigue               | Fase 0 con esempi reali; casi campione per tipologia; validazione reparto per reparto   |
| Qualità dati Odoo (codici, colori, prezzi)          | Policy sync definita con cliente; accettazione manuale import; check notturno           |
| Migrazione dati storici                             | **Fattibile.** Insieme definiremo perimetro e modalità (anagrafiche, cataloghi, storico commesse/preventivi). È possibile predisporre un archivio consultabile dell'evolutiva precedente. **Non è prevista perdita di dati.** |
| Confine automazione vs scelta manuale in produzione | Definire per ogni tipo componente se risoluzione automatica o intervento operatore      |
| Usabilità configuratore                             | Potente per amministratore, semplice per commerciale e operatore                        |
| Varianti rare o eccezioni storiche                  | Non nel MVP; backlog post go-live                                                       |
| Versionamento preventivi                            | Confermare con cliente: nuova versione vs split tende approvate/non approvate           |
| Gestione cambio modello/accessori durante rilievo   | Valutare se ammesso e con quale workflow di validazione                                 |


### Migrazione dati

La migrazione dei dati dall'installazione attuale è **fattibile**. In fase di consolidamento valuteremo insieme perimetro e modalità (anagrafiche, cataloghi, storico commesse e preventivi). Se utile, si potrà predisporre un archivio consultabile dell'evolutiva precedente. In ogni caso **non è prevista perdita di dati**.

---



## 11. Materiale per preventivo commerciale



### 11.1 Macroaree stimabili


| Macroarea                   | Deliverable                                               |
| --------------------------- | --------------------------------------------------------- |
| Fase 0 — Analisi funzionale | Documento requisiti, casi campione, backlog prioritizzato |
| Fase 1 — Fondazioni         | Piattaforma, auth, anagrafiche, sync Odoo base            |
| Fase 2 — Regole e configuratore | Cataloghi, regole, vincoli, formule, simulatore           |
| Fase 3 — Commerciale        | Preventivi, wizard, revisione, PDF, workflow cliente      |
| Fase 4 — Rilievi            | App offline, rilievo misure e note, storico               |
| Fase 5 — Produzione         | BOM, calcoli, lavorazioni, operatori, prelievo, CSV       |
| Fase 6 — Consolidamento     | Dashboard, migrazione, ottimizzazioni                     |




### 11.2 Criteri di accettazione (alto livello)

- Commerciale crea preventivo guidato senza errori di compatibilità
- Revisore approva/respinge tenda per tenda con motivazioni
- Preventivo confermato passa a produzione con dati coerenti
- Rilievo misure funziona offline e sblocca lavorazioni
- BOM generata per singola tenda con componenti e quantità corrette
- Almeno 2 casi campione validati per ogni tipologia tenda nel MVP
- Integrazione Odoo operativa per clienti e componenti



### 11.3 Nota sulla stima

Data la complessità del dominio, si consiglia una **fase iniziale di analisi/prototipo** (Fase 0) prima della stima economica definitiva delle fasi successive. Questo permette di quantificare con maggiore precisione il perimetro delle regole e delle formule.

---



## 12. Chiarimento MVP — prima versione operativa



### 12.1 Cosa deve fare l'MVP

- Gestire clienti, commesse e preventivi in un flusso ordinato
- Permettere al commerciale di configurare una tenda con scelte guidate: modello, variante, dimensioni, colore, kit motorizzazione, accessori principali, filoguidatura, magneti e caratteristiche generali
- Applicare regole base di compatibilità e segnalare dati mancanti, incoerenze o scelte da verificare
- Gestire la fattibilità tecnico-commerciale tenda per tenda, con esito approvato, respinto o da rivedere
- Gestire stati principali del preventivo: bozza, creato, in revisione, controllato, inviato al cliente, accettato/rifiutato
- Passare un preventivo confermato al modulo Produzione
- Consentire alla produzione di completare i dettagli tecnici: componenti specifici, staffe, consumabili, varianti colore articolo e regole produttive
- Gestire rilievi misure essenziali, anche con predisposizione offline: larghezza, altezza, colore, teatrino e note testuali
- Generare distinta materiali e lavorazioni base per singola tenda
- Integrazione Odoo essenziale per clienti e componenti/articoli, con sync controllato e tracciabile
- Test automatici sulle formule principali, con almeno 2 casi campione validati per tipologia/regola critica
- Produrre PDF preventivo e viste operative essenziali per commerciale, revisore e produzione



### 12.2 Cosa può essere semplificato nell'MVP

- Dashboard e analytics avanzate
- Automazioni complete su tutte le casistiche di produzione
- Gestione completa di ogni variante rara o eccezione storica
- Ottimizzazioni avanzate macchina/file produzione oltre ai flussi prioritari
- Definizione del perimetro di migrazione dati (modalità da concordare in Fase 6; vedi sezione 10)



### 12.3 Cosa rimane obiettivo della fase successiva (panoramica di esempio)

- Raffinamento di tutte le regole specialistiche dopo test con casi reali
- Estensione dei workflow reparto per reparto 
- Reporting avanzato e KPI direzionali
- Automazioni più spinte verso Odoo, magazzino e macchine
- Ampliamento libreria test formule e validazioni automatiche
- Allegati su modelli tenda, kit, componenti (e.g. manuali)
- Gestione cambio modello/accessori durante rilievo misure
- Note avanzate nelle schede di produzione

---



## Riferimenti


| Documento                                                 | Contenuto                                                      |
| --------------------------------------------------------- | -------------------------------------------------------------- |
| [note-evolutiva.md](note-evolutiva.md)                    | Requisiti evolutivi principali                                 |
| [note-tecniche.md](note-tecniche.md)                      | Intenzione architetturale                                      |
| [appunti-cliente.md](appunti-cliente.md)                  | Richieste operative e bug attuali                              |
| [calcoli-produzione.numbers](calcoli-produzione.numbers)  | Formule produzione (sartoria, taglio, saldatura, assemblaggio) |
| [Analisi codebase CRS](../Analisi_codebase_CRS/README.md) | Analisi tecnica del sistema attuale                            |


