Files
mapo-core/README.md
T

2.3 KiB

MAPO-CORE

Repository multi-soluzione per i progetti .NET Core Blazor Server di MAPO (MES - Manufacturing Execution System).

Applicazione multipiattaforma (Windows, macOS, Linux), deployabile tramite IIS o altri web server.

Architettura

Il progetto è organizzato in 10 soluzioni indipendenti, ciascuna con il proprio dominio funzionale:

Soluzione Dominio
MP.SPEC Gestione articoli, operatori, ODL, KIT, Dossier, Ricette, Parametri macchina
MP.IOC / MP.RIOC Gestione ordini di produzione (UpdateProd) e interfaccia client
MP.LAND Gestione Land/Zone
MP.MON Monitoraggio produzione
MP.TAB3 Dashboard e reporting
MP.Prog Programmazione produzione
MP.Stats Statistiche e analytics
MP.INVE Gestione inventario/magazzino
IobConf.UI / IobConf.Core Configurazione IOB (Input/Output Board)

Stack Tecnologico

  • Frontend: Blazor Server con componenti interattivi (AddInteractiveServerComponents())
  • Backend: ASP.NET Core Web API, Minimal APIs, Controllers tradizionali
  • Database: SQL Server (4 DbContext: MoonProContext, MoonPro_VocContext, MoonPro_FluxContext, MoonPro_STATSContext)
  • NoSQL: MongoDB per storage ricette
  • Caching: FusionCache (Memory + Redis + DB) con invalidazione per tag
  • Autenticazione: Windows Authentication (Negotiate/Kerberos)
  • Osservabilità: OpenTelemetry tracing su Uptrace, MessagePipe per broadcasting real-time

Build & CI/CD

# Build tutte le soluzioni in parallelo
./build_all_par.ps1 --agent

# Build singola soluzione
dotnet build MP-SPEC.sln

Il pipeline GitLab CI è configurato in .gitlab-ci.yml con supporto per NuGet restore e build multi-soluzione.

Documentazione Interna

Ogni soluzione contiene il proprio README.md con dettagli specifici su funzionalità, architettura e stato del refactoring.

Stato Attuale (Luglio 2026)

  • Tutte le 10 soluzioni compilano senza errori
  • Migrazione FusionCache completata per MP.SPEC (48+ metodi migrati al pattern GetOrFetchAsync<T>)
  • Decomposizione MpSpecController in 8 repository specialistici
  • Fix DI e gestione stato statico in MP.AppAuth
  • Cache reset funzionale per InsEnabled da reload
  • Spostamento ricerca ODL su Minimal API
  • Fix navigazione filtri PODL KIT (ritorno pagina 1 al cambio filtro)