Premiere commit - Omika
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
# Matrice de couverture CRUD
|
||||
|
||||
État de la couverture CRUD pour les agrégats métier Batik et Omika.
|
||||
|
||||
## Résumé
|
||||
|
||||
| Catégorie | Nombre | Statut |
|
||||
|-----------|--------|--------|
|
||||
| BUSINESS_AGGREGATE | 8 | 8 VERIFIED, 0 PARTIAL, 0 NOT_STARTED |
|
||||
|
||||
|
||||
| BUSINESS_CHILD | 1 | NOT_STARTED |
|
||||
| REFERENCE_DATA | 8 | 1 READ_ONLY_VERIFIED, 4 INTERNAL_ONLY, 2 SCHEMA_SPECIFIC, 1 NOT_REQUIRED |
|
||||
| JOIN_TABLE | 6 | NOT_STARTED |
|
||||
| SYSTEM_CONFIGURATION | 2 | NOT_STARTED |
|
||||
| VERSION_OPTIONAL | 1 | NOT_STARTED |
|
||||
|
||||
|
||||
## Agrégats métier (BUSINESS_AGGREGATE)
|
||||
|
||||
| Entité | Batik | Omika | Create | ReadOne | ReadList | Update | Delete | Statut |
|
||||
|--------|-------|-------|--------|---------|----------|--------|--------|--------|
|
||||
| Client | Client | Client | ✅ | ✅ | ✅ | ✅ | ✅ | VERIFIED |
|
||||
| Personne | Personne | Personne | ✅ | ✅ | ✅ | ✅ | ✅ | VERIFIED |
|
||||
|
||||
| Lieu | Lieu | Lieu | ✅ | ✅ | ✅ | ✅ | 🗄️ | VERIFIED |
|
||||
| Document | Document | Document | ✅ | ✅ | ✅ | N/A | 🗄️ | VERIFIED |
|
||||
|
||||
| Intervention | Intervention | Intervention | ✅ | ✅ | ✅ | ✅ | 🗄️ | VERIFIED |
|
||||
|
||||
| Dossier | Dossier | Dossier | ✅ | ✅ | ✅ | ✅ | 🗄️ | VERIFIED |
|
||||
| PlanningRDV | Planning_RDV | RDVPlanning | ✅ | ✅ | ✅ | ✅ | 🗄️ | VERIFIED |
|
||||
|
||||
|
||||
| Collaborateur | Collaborateur | Collaborateur | ✅ | ✅ | ✅ | ✅ | 🗄️ | VERIFIED |
|
||||
|
||||
## Référentiels (REFERENCE_DATA)
|
||||
|
||||
Lecture seule uniquement. Pas de CRUD administratif générique (C/U/D volontairement absents).
|
||||
|
||||
| Entité | Batik | Omika | Lecture | Classification | Statut |
|
||||
|--------|-------|-------|---------|----------------|--------|
|
||||
| Societe | Societe | Societe | ❌ | INTERNAL_REFERENCE_ONLY | INTERNAL_ONLY |
|
||||
| Equipe | Equipe | Equipe | ❌ | INTERNAL_REFERENCE_ONLY | INTERNAL_ONLY |
|
||||
| ParametreMetier | ParametreMetier | ParametreMetier | ✅ | PUBLIC_READ_REFERENCE | READ_ONLY_VERIFIED |
|
||||
| ParametreMetierEntete | ParametreMetierEntete | ParametreMetierEntete | ❌ | INTERNAL_REFERENCE_ONLY | INTERNAL_ONLY |
|
||||
| EtatIntervention | EtatIntervention | EtatIntervention | ❌ | INTERNAL_REFERENCE_ONLY | INTERNAL_ONLY |
|
||||
| Role | — | Role | ❌ | SCHEMA_SPECIFIC | SCHEMA_SPECIFIC |
|
||||
| Etats | — | Etats | ❌ | SCHEMA_SPECIFIC | SCHEMA_SPECIFIC |
|
||||
| ModeleRapport | — | ModeleRapport | ❌ | NOT_REQUIRED | NOT_REQUIRED |
|
||||
|
||||
### Détail des classifications
|
||||
|
||||
- **ParametreMetier** (PUBLIC_READ_REFERENCE) : lecture publique via `GET /reference-data/{key}`. Câblé : `IReferenceDataRepository → AdaptiveReferenceDataRepository`, `IReferenceDataService → ReferenceDataService`, `BatikReferenceDataRepository` (filtre `PA_Code`) / `OmikaReferenceDataRepository` (filtre `PA_Categorie`). Retourne `ReferenceValueDto` (Key/LegacyId/Code/Label).
|
||||
- **Societe** (INTERNAL_REFERENCE_ONLY) : aucun besoin public démontré (pas de sélecteur de société requis par l'application).
|
||||
- **Equipe** (INTERNAL_REFERENCE_ONLY) : pas d'identité publique canonique exploitable indépendamment ; aucun GUID fabriqué.
|
||||
- **ParametreMetierEntete** (INTERNAL_REFERENCE_ONLY) : référentiel historique/protégé, pas de CRUD public.
|
||||
- **EtatIntervention** (INTERNAL_REFERENCE_ONLY) : table d'historique des états d'une intervention (chargée en interne par Intervention) ; les valeurs d'état proviennent de ParametreMetier. Pas de liste publique autonome.
|
||||
- **Role** (SCHEMA_SPECIFIC) : Omika uniquement ; absent sous Batik (indiqué par `SchemaCapabilities.SupportsRoles`). Lecture interne.
|
||||
- **Etats** (SCHEMA_SPECIFIC) : Omika uniquement ; absent sous Batik. Lecture interne.
|
||||
- **ModeleRapport** (NOT_REQUIRED) : Omika uniquement ; aucun besoin public démontré.
|
||||
|
||||
## Tables de jointure (JOIN_TABLE)
|
||||
|
||||
Aucun CRUD public exposé. Gérées via les agrégats.
|
||||
|
||||
| Table | Batik | Omika |
|
||||
|-------|-------|-------|
|
||||
| ClientAdresse | ✅ | ✅ |
|
||||
| ClientLieu | ✅ | ✅ |
|
||||
| ClientBddExterne | ✅ | ✅ |
|
||||
| InterventionCollaborateur | ✅ | ✅ |
|
||||
| InterventionPersonne | ✅ | ✅ |
|
||||
| LieuPersonne | ✅ | ✅ |
|
||||
|
||||
## Configuration système (SYSTEM_CONFIGURATION)
|
||||
|
||||
| Table | Batik | Omika |
|
||||
|-------|-------|-------|
|
||||
| Utilisateur | ✅ | ✅ |
|
||||
| ParametreSysteme | ✅ | ✅ |
|
||||
|
||||
## Version optionnelle (VERSION_OPTIONAL)
|
||||
|
||||
| Table | Batik | Omika | Statut |
|
||||
|-------|-------|-------|--------|
|
||||
| ElementSupprime | — | ✅ | NOT_STARTED |
|
||||
|
||||
## Notes
|
||||
|
||||
- Client et Personne sont entièrement implémentés (VERIFIED).
|
||||
- Lieu/Site est VERIFIED : CRUD complet implémenté et testé unitairement (Create/ReadOne/ReadList/Update + Archive) via SiteService/AdaptiveSiteRepository/BatikSiteRepository/OmikaSiteRepository. BATIK : table Lieu, création Adresse transactionnelle, type résolu via ParametreMetier. OMIKA : table Lieu, LI_CleType, GUID, Adresse Omika. API /sites. DI : ISiteRepository → AdaptiveSiteRepository, ISiteService → SiteService.
|
||||
- Document est VERIFIED : Create/Read/List + Archive (suppression sémantique). Update = NOT_APPLICABLE (document immuable après création).
|
||||
- Intervention est VERIFIED : CRUD complet implémenté et testé unitairement (Create/ReadOne/ReadList/Update + Archive), intégration réelle CREATE→UPDATE→ARCHIVE→ROLLBACK PASS contre BATIK_TEST/OMIKA_TEST, relations Collaborateur/Personne câblées (UPDATE), IDs relation invalides → DomainValidationException sans écriture partielle.
|
||||
- Dossier est VERIFIED : CRUD complet implémenté et testé unitairement (Create/ReadOne/ReadList/Update + Archive), intégration réelle CREATE→UPDATE→ARCHIVE→ROLLBACK PASS contre BATIK_TEST/OMIKA_TEST. NB : dans la base Omika, DO_NumDossier est une rubrique CALCULÉE (erreur HFSQL 28000002) — elle est exclue des INSERT/UPDATE, générée par la base.
|
||||
- RendezVous (PlanningRDV) est VERIFIED : CRUD complet implémenté et testé unitairement (Create/ReadOne/ReadList/Update + Cancel + Archive), intégration réelle CREATE→UPDATE→CANCEL→ARCHIVE→ROLLBACK PASS contre BATIK_TEST/OMIKA_TEST. NB : le provider OLE DB ne sait pas marshaler `DateOnly` vers un Variant — la couche de connexion normalise désormais `DateOnly` en `DateTime` avant transmission.
|
||||
- Collaborateur est VERIFIED : CRUD complet implémenté et testé unitairement (Create/ReadOne/ReadList/Update + Archive), intégration réelle CREATE→UPDATE→ARCHIVE→ROLLBACK PASS contre BATIK_TEST/OMIKA_TEST. NB : l'archivage logique est réalisé par désactivation (CO_Actif = false), aucun DELETE physique. Les associations d'équipe (Equipe_Collaborateur) sont lues mais non converties en GUID canoniques (aucune table de correspondance) ; Role est NOT_APPLICABLE (géré via les agrégats).
|
||||
- Les contrats de service existent pour Document, Intervention, RendezVous, Collaborateur et ReferenceData.
|
||||
- REFERENCE_DATA : seul ParametreMetier est exposé en lecture publique (READ_ONLY_VERIFIED). Les autres référentiels sont internes (INTERNAL_ONLY), spécifiques à un schéma (SCHEMA_SPECIFIC) ou non requis (NOT_REQUIRED). Aucun endpoint supplémentaire n'a été créé : conforme à la règle « ne crée pas automatiquement un endpoint pour chaque table ».
|
||||
|
||||
|
||||
- Les tables de jointure ne doivent pas être exposées en CRUD public.
|
||||
- ElementSupprime est absent de OMIKA_TEST actuel : à traiter comme optionnel.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user