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

73 lines
4.7 KiB
Markdown

# CURRENT-205
TASK_ID: task-fornitore-mysql-seriali-rma
MACHINE: .205
STATO: completato
## Obiettivo Completato
1. **Connessione Read-Only a Contabilità MySQL Esterna (`192.168.0.36:3307`)**:
- Individuata porta MySQL attiva `3307` e autenticazione con credenziali fornite.
- Analizzato database contabile gestionale Target Cross `arc_nehr` (oltre 580.000 righe) collegato all'anagrafica aziende `arc.dit` (NETHOME sas di BARONE M. & C., P.IVA 10055221005).
- Configurato `contabilita_mysql` in `config/database.php` in sola lettura.
2. **Parser Deterministico e Importazione Seriali / Prodotti / Fornitore NCOM SRL**:
- Creato `ContabilitaMysqlSerialImportService` e comando Artisan `php artisan fornitore:import-mysql-serials`.
- Analizzate 171 fatture e 488 righe documento da `fet` e `fea` di `NCOMSRL`.
- Creato fornitore locale `NCOM SRL` (P.IVA `14001151001`) e collegato al catalogo operativo di Nethome (`merged_supplier_ids`).
- Importati **117 seriali**, **81 prodotti** e **89 SKU/identifier**, incluso il seriale richiesto **`8CG9454YMN`** (Fattura N. 3964, acquisto a 265,00 €).
3. **Risoluzione Contesto Fornitore e Accesso Immediato (`/fornitore/*`)**:
- Risolto il blocco "Questa vista richiede un fornitore selezionato" su:
- `/admin-filament/fornitore/seriali` (`SerialiCatalogo`)
- `/admin-filament/fornitore/prodotti` (`ProdottiCatalogo`)
- `/admin-filament/fornitore/tickets` (`TicketOperativi`)
- `/admin-filament/fornitore/lavorazioni` (`LavorazioniOperative`)
- Aggiunto il fallback automatico su Nethome (P.IVA 10055221005, ID 236) in assenza di query param.
- Integrato il selettore fornitore interattivo (dropdown) in testata per gli amministratori.
- Agganciata l'email `michele@nethome.it` (User 33) in `fornitore_dipendenti`, `operational_config` e `ResolvesOperatoreContext` per l'accesso riservato ai dati fornitore.
4. **Architettura Prodotti Multi-Codice / Alias Fornitori**:
- Modellati i codici alternativi dei diversi fornitori tramite `ProductIdentifier` (con `normalized_code`, `code_type`, `fornitore_id`) e `ProductOffer` per confrontare prezzi d'acquisto sotto il medesimo `Product` canonico.
## Output del Giro Operativo
ESITO_205: riuscito
TASK_ID: task-fornitore-mysql-seriali-rma
REPOSITORY: ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git
BRANCH: stabilization/205-zero
COMMIT: 85037ae
FILE_O_AREE_TOCCATE:
- app/Console/Commands/ImportNcomSerialsCommand.php
- app/Services/Catalog/ContabilitaMysqlSerialImportService.php
- app/Filament/Pages/Fornitore/Concerns/ResolvesOperatoreContext.php
- app/Filament/Pages/Fornitore/SerialiCatalogo.php
- app/Filament/Pages/Fornitore/ProdottiCatalogo.php
- app/Filament/Pages/Fornitore/TicketOperativi.php
- app/Filament/Pages/Fornitore/LavorazioniOperative.php
- resources/views/filament/pages/fornitore/seriali-catalogo.blade.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/FornitoreContabilitaSerialiImportTest.php
- skill-netgescon/control-tower/CURRENT-205.md
TEST_ESEGUITI:
- ./vendor/bin/pest 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 (36 passed, 230 assertions)
GATE_STATISTICS:
- FORNITORE_CONTABILITA_MYSQL_CONNECTION: Porta 3307, host 192.168.0.36, db arc_nehr funzionante.
- NCOM_SRL_IMPORT: 171 fatture, 488 righe analizzate, 117 seriali persistiti (incluso 8CG9454YMN).
- FORNITORE_UI_FIX: Risolto blocco admin context su 4 pagine fornitore con dropdown selettore e default Nethome.
- NETHOME_SUPPLIER_HOOK: Collegamento email michele@nethome.it e profilo Fornitore 236.
- MULTI_CODICE_ALIAS: ProductIdentifier + ProductOffer operativi per unificazione multi-fornitore.
- TEST_SUITE: 36 test Feature passati (230 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 (36 passed, 230 assertions).
- Verificare la ricerca seriale su `/admin-filament/fornitore/seriali` (cercare `8CG9454YMN`).
- Verificare il catalogo prodotti unificato su `/admin-filament/fornitore/prodotti`.