netgescon-day0/skill-netgescon/control-tower/CURRENT-205.md

5.6 KiB

CURRENT-205

TASK_ID: task-tecnorepair-fornitore-sync-workflows MACHINE: .205 STATO: completato

Obiettivo Completato

  1. Re-sync e Aggiornamento Continuo Seriali e Prodotti da Contabilità Esterna:

    • Aggiunto pulsante esplicito di aggiornamento "Aggiorna da Contabilità Esterna" in SerialiCatalogo e ProdottiCatalogo.
    • Introdotta la verifica automatica e notifica real-time Filament all'apertura delle pagine fornitore con tracciamento last_sync.
  2. Riproduzione Web TecnoRepair e Wireframe ASCII:

    • Analizzate le schermate desktop legacy in /home/michele/netgescon-day0-backup/docs/images/Tecnorepair.
    • Redatto e archiviato il documento ufficiale dei wireframe ASCII: skill-netgescon/ui-wireframes/tecnorepair-schede.md.
    • Creata la pagina Filament dedicata PraticheTecnorepair (/admin-filament/fornitore/pratiche):
      • Griglia elenco pratiche fedele alla versione desktop con badge colorati di stato (verde, rosso, blu, ambra).
      • Modale interattivo "Scheda Apparecchio" a 7 schede (Entrata, Lavorazione, Uscita, Preventivo, Spese, Note/Comunicazioni, Allegati).
      • Navigazione crociata rapida verso Ticket Operativi, Lavorazioni, Seriali e Prodotti Catalogo.
  3. Integrazione Archivio Access TecnoRepairDB.mdb e Fallback Resiliente:

    • Implementato TecnoRepairArchiveService con gestione trasparente del percorso UNC Windows \\192.168.0.36\CServerGO\LunaSoftware_TecnoRepair\Archivi\TecnoRepairDB.mdb e fallback immediato sul mirror locale Linux (/home/michele/netgescon-day0-backup/Miki-Bug-workspace/screenshot/Assistenza gestionale/Archivi/TecnoRepairDB.mdb).
    • Importazione cronologica decrescente (le pratiche più recenti 2025/2026 caricate per prime con codici cliente e apparecchi collegati).
    • Importazione ricambi TRicambiAnag nel catalogo prodotti unificato (Product, ProductIdentifier, ProductOffer) con seriali associati.
  4. Automazione Workflow di Riparazione (1-Click):

    • Riparato: aggiorna stato a RIPARATO (cod. 4), imposta data collaudo, tecnico e archivia la pratica.
    • Rottamato / Ricambi: stato NON CONVENIENTE / ROTTAMATO (cod. 23), marca la scheda per estrazione ricambi e rende i pezzi disponibili a catalogo.
    • Reso al Fornitore (RMA): stato MANDATO IN GARANZIA AL PRODUTTORE (cod. 33), generazione codice RMA deterministico e assegnazione al fornitore garante.
  5. Isolamento e Sicurezza Impostazioni Fornitore (Nethome Only):

    • In FornitoreScheda (anagrafica/fornitori/{record}), le sezioni di configurazione MySQL esterno e percorsi TecnoRepair sono visibili e azionabili TASSATIVAMENTE solo per Nethome (ID 236 / P.IVA 10055221005).
    • Per qualsiasi altro fornitore le chiamate di sincronizzazione e salvataggio restituiscono errore HTTP 403 Forbidden.
  6. Allineamento Utenti e Ruoli:

    • michele@nethome.it (ID 33) rigorosamente allineato al solo ruolo super-admin.
    • nethomestore@gmail.com (ID 34) rigorosamente allineato al solo ruolo fornitore e associato a Fornitore 236 (fornitore_dipendenti).

Output del Giro Operativo

ESITO_205: riuscito TASK_ID: task-tecnorepair-fornitore-sync-workflows REPOSITORY: ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git BRANCH: stabilization/205-zero COMMIT: a8435c0 FILE_O_AREE_TOCCATE:

  • app/Services/Tecnorepair/TecnoRepairArchiveService.php
  • app/Console/Commands/TecnoRepairImportLegacyArchiveCommand.php
  • app/Filament/Pages/Fornitore/PraticheTecnorepair.php
  • resources/views/filament/pages/fornitore/pratiche-tecnorepair.blade.php
  • skill-netgescon/ui-wireframes/tecnorepair-schede.md
  • app/Filament/Pages/Gescon/FornitoreScheda.php
  • resources/views/filament/pages/gescon/fornitore-scheda.blade.php
  • app/Filament/Pages/Fornitore/SerialiCatalogo.php
  • resources/views/filament/pages/fornitore/seriali-catalogo.blade.php
  • app/Filament/Pages/Fornitore/ProdottiCatalogo.php
  • resources/views/filament/pages/fornitore/prodotti-catalogo.blade.php
  • resources/views/filament/pages/fornitore/ticket-operativi.blade.php
  • resources/views/filament/pages/fornitore/lavorazioni-operative.blade.php
  • tests/Feature/FornitoreTecnorepairAndIntegrationsTest.php
  • skill-netgescon/control-tower/CURRENT-205.md TEST_ESEGUITI:
  • ./vendor/bin/pest tests/Feature/FornitoreTecnorepairAndIntegrationsTest.php tests/Feature/FornitoreContabilitaSerialiImportTest.php tests/Feature/StrutturaDatabaseAndStorageTest.php tests/Feature/NominativiAndFeMatchingTest.php tests/Feature/PostaImapWebmailAndProtocolloTest.php tests/Feature/ContabilitaRelazionaleOrdinarieTest.php tests/Feature/BpmBankParserAndImporterTest.php tests/Feature/UnitaGestioneTemporaleTest.php tests/Feature/CatastoHubDbDrivenTest.php tests/Feature/UnitaCondominoInquilinoRoleToggleTest.php tests/Feature/UnitaImmobiliarePageTest.php tests/Feature/BenedettoBonificaIdempotenteTest.php tests/Feature/ControlTowerPollCommandTest.php (41 passed, 270 assertions) GATE_STATISTICS:
  • TECNOREPAIR_MDB_IMPORT: Risoluzione MDB Windows/Linux e import schede 2025/2026.
  • AUTOMATED_WORKFLOWS: Riparato, Rottamato/Ricambi, Reso RMA operativi.
  • NETHOME_SECURITY_ISOLATION: Impostazioni e sync protetti con 403 su fornitori terzi.
  • TEST_SUITE: 41 test Feature passati (270 asserzioni, 100% pass). BLOCCO_DATI: no BLOCCO_CONTRATTO: no RISCHI_APERTI: nessuno

Prossimo Passo per .200 (Validazione)

  • Eseguire il checkout del branch stabilization/205-zero.
  • Eseguire la suite di test Pest (41 passed, 270 assertions).
  • Verificare la nuova pagina /admin-filament/fornitore/pratiche per l'elenco e gestione riparazioni TecnoRepair.
  • Verificare la protezione ACL su /anagrafica/fornitori/236 (Nethome attivo) vs /anagrafica/fornitori/392 (integrazioni inaccessibili).