[ERP-54] Créer les entités Client + sous-entités + référentiels #29

Merged
malio merged 5 commits from feature/ERP-54-creer-entites-client-m1 into develop 2026-06-01 15:20:24 +00:00

5 Commits

Author SHA1 Message Date
malio a7c597160c Merge branch 'develop' into feature/ERP-54-creer-entites-client-m1
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Failing after 21s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Failing after 2m16s
2026-06-01 15:20:06 +00:00
Matthieu a9998d4bcd feat(commercial) : add M1 client entities + accounting referentials + repositories
Entites metier (Client, ClientContact, ClientAddress, ClientRib) avec
#[Auditable] + Timestampable/Blamable, et 4 referentiels comptables statiques
(TvaMode, PaymentDelay, PaymentType, Bank). 8 repositories interfaces + impl
Doctrine. Aucun ApiResource (Provider/Processor = ERP-55).

- Client : 2 FK auto-referentes distributor/broker (mutuellement exclusives,
  CHECK en base), M2M categories, FK referentiels comptables, groupes de
  serialisation par onglet. Pas de #[ORM\UniqueConstraint] : unicite du nom de
  societe portee par l'index partiel Postgres (decision Q4).
- ClientRib : tous les champs audites, aucun #[AuditIgnore] sur iban/bic
  (decision 29/05, audit admin-only).
- M2M Category via le contrat Shared CategoryInterface + resolve_target_entities
  (regle n°1, pas d'import inter-modules) ; sites via SiteInterface.
- CommercialReferentialFixtures : re-seed idempotent des 4 referentiels (sinon
  vides apres db-reset car desormais tables mappees, purgees par les fixtures).
- Referentiels whitelistes dans EntitiesAreTimestampableBlamableTest::EXCLUDED.
- doctrine.yaml : mapping ORM du module Commercial + resolve CategoryInterface.
- ColumnCommentsCatalog : ajout des colonnes M1 (chemin schema:update/test) ;
  migration retrofit Version20260528120000 filtree sur les tables existantes
  pour ne pas casser sur les tables des modules crees plus tard.
- makefile test-db-setup : recreation de l'index partiel uq_client_company_name_active.

Refs ERP-54.
2026-06-01 14:50:45 +02:00
Matthieu 034301ceaf fix(commercial) : down() orphan-only + index FK referentiels (review ERP-53)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 1m29s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m15s
2026-06-01 14:50:45 +02:00
Matthieu 8d0a9a67ef feat(commercial) : migrate M1 client tables + accounting referentials + extend category_type seed 2026-06-01 14:50:45 +02:00
Matthieu bc4b1d0492 docs(commercial) : migration racine + seed fixture CategoryType (blocages ERP-53 vérifiés) 2026-06-01 14:50:45 +02:00