7.1 KiB
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(filtrePA_Code) /OmikaReferenceDataRepository(filtrePA_Categorie). RetourneReferenceValueDto(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
DateOnlyvers un Variant — la couche de connexion normalise désormaisDateOnlyenDateTimeavant 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.