40 lines
1.8 KiB
Markdown
40 lines
1.8 KiB
Markdown
# Implementazione Gruppi Merceologici Magazzino
|
|
|
|
## Richiesta
|
|
Implementare la gestione dei gruppi merceologici per la categorizzazione degli articoli nel modulo magazzino, sia backend che frontend.
|
|
|
|
## Stato Attuale
|
|
- Esiste già una gestione di "Categorie Articoli" (`WarehouseArticleCategory`) che è gerarchica.
|
|
- "Gruppi Merceologici" (`WarehouseProductGroup`) sarà una nuova entità, probabilmente una classificazione parallela non gerarchica (o piatta) spesso usata per fini statistici o contabili, o semplicemente come raggruppamento alternativo.
|
|
|
|
## Piano di Lavoro
|
|
|
|
### Backend
|
|
1. **Domain Layer**
|
|
- Creare entità `WarehouseProductGroup` in `Zentral.Domain.Entities.Warehouse`.
|
|
- Campi: Code, Name, Description, IsActive.
|
|
- Aggiornare `WarehouseArticle` aggiungendo FK `ProductGroupId` e navigation property.
|
|
2. **Infrastructure Layer**
|
|
- Aggiungere `DbSet<WarehouseProductGroup>` in `ApplicationDbContext`.
|
|
- Configurare le relazioni entity framework se necessario.
|
|
- Creare Migrazione `AddWarehouseProductGroups`.
|
|
3. **Service Layer**
|
|
- Aggiornare `IWarehouseService` e `WarehouseService` con i metodi CRUD per i gruppi merceologici.
|
|
4. **API Layer**
|
|
- Creare `WarehouseProductGroupsController`.
|
|
- Aggiornare DTOs degli articoli per includere `ProductGroupId`.
|
|
|
|
### Frontend
|
|
1. **Services**
|
|
- Creare `productGroupService.ts` per chiamare le API.
|
|
2. **Pages**
|
|
- Creare `ProductGroupsPage` per elenco e gestione (CRUD).
|
|
3. **Components**
|
|
- Aggiornare il form di creazione/modifica articolo per permettere la selezione del gruppo merceologico.
|
|
4. **Routing & Navigation**
|
|
- Aggiungere rotta per `ProductGroupsPage`.
|
|
- Aggiungere voce di menu nella sidebar del magazzino.
|
|
|
|
## Note
|
|
- L'implementazione seguirà lo stile esistente del modulo Warehouse, usando Services e Controllers.
|