feat(logistique) : entité WeighingTicket + dette site.code (ERP-183) #133

Merged
matthieu merged 1 commits from feat/erp-183-entite-weighingticket into develop 2026-06-18 12:47:05 +00:00
Owner

ERP-183 — Entité WeighingTicket + dette site.code

Empilée sur ERP-182 (#132, migration schéma M5) : l'entité WeighingTicket repose sur les tables créées par cette migration. Base = feat/erp-182-migration-m5.

Entité WeighingTicket

  • Entité métier complète : #[Auditable], TimestampableBlamableTrait, relations ORM Client / Supplier / Site.
  • Contrat de sérialisation à 3 maillons (weighing_ticket:read liste / :item:read détail + contextes par opération).
  • Getters calculés displayDate et plateFreeFormat (#[SerializedName]), sécurité view/manage, pas de Delete/archive.
  • Validation #[Assert\*] messages FR + #[Assert\Callback] RG-5.03 (->atPath()), libellé i18n audit.entity.logistique_weighingticket.
  • Repository : interface Domain + DoctrineWeighingTicketRepository (recherche, tri number DESC, deletedAt IS NULL).

Dette site.code

  • Site.code mappé VARCHAR(8), dérivation auto au PrePersist (2 premiers chiffres du CP), UniqueConstraint uq_site_code.
  • Migration Version20260617160000 : ALTER COLUMN code SET NOT NULL + COMMENT.
  • Fixtures (codes 86/17/82) et SiteApiTest ajustés.

Câblage

  • doctrine.yaml : mapping ORM du module Logistique (absent du scaffold ERP-181).
  • ColumnCommentsCatalog : site.code + table weighing_ticket.

Specs M5 versionnées (spec-back / spec-front / prompts).

Vérifications

  • make test : 798 tests OK
  • make php-cs-fixer-allow-risky : 0 fichier à corriger
## ERP-183 — Entité WeighingTicket + dette site.code Empilée sur ERP-182 (#132, migration schéma M5) : l'entité WeighingTicket repose sur les tables créées par cette migration. Base = `feat/erp-182-migration-m5`. ### Entité WeighingTicket - Entité métier complète : `#[Auditable]`, `TimestampableBlamableTrait`, relations ORM Client / Supplier / Site. - Contrat de sérialisation à 3 maillons (`weighing_ticket:read` liste / `:item:read` détail + contextes par opération). - Getters calculés `displayDate` et `plateFreeFormat` (`#[SerializedName]`), sécurité view/manage, pas de Delete/archive. - Validation `#[Assert\*]` messages FR + `#[Assert\Callback]` RG-5.03 (`->atPath()`), libellé i18n `audit.entity.logistique_weighingticket`. - Repository : interface Domain + `DoctrineWeighingTicketRepository` (recherche, tri `number DESC`, `deletedAt IS NULL`). ### Dette site.code - `Site.code` mappé VARCHAR(8), dérivation auto au PrePersist (2 premiers chiffres du CP), `UniqueConstraint uq_site_code`. - Migration `Version20260617160000` : `ALTER COLUMN code SET NOT NULL` + COMMENT. - Fixtures (codes 86/17/82) et `SiteApiTest` ajustés. ### Câblage - `doctrine.yaml` : mapping ORM du module Logistique (absent du scaffold ERP-181). - `ColumnCommentsCatalog` : `site.code` + table `weighing_ticket`. Specs M5 versionnées (spec-back / spec-front / prompts). ### Vérifications - `make test` : 798 tests OK - `make php-cs-fixer-allow-risky` : 0 fichier à corriger
matthieu added the type/featbackM5-Ticket-pesee labels 2026-06-17 15:47:01 +00:00
matthieu changed target branch from feat/erp-182-migration-m5 to develop 2026-06-18 12:47:03 +00:00
matthieu added 1 commit 2026-06-18 12:47:03 +00:00
Entité WeighingTicket
- Entité métier complète (#[Auditable], TimestampableBlamableTrait, relations
  ORM Client/Supplier/Site) + contrat de sérialisation à 3 maillons
  (weighing_ticket:read / :item:read + contextes par opération).
- Getters calculés displayDate et plateFreeFormat (#[SerializedName]),
  sécurité view/manage, pas de Delete/archive.
- Validation #[Assert\*] messages FR + #[Assert\Callback] RG-5.03 (->atPath()),
  libellé i18n audit.entity.logistique_weighingticket.
- Repository : interface Domain + DoctrineWeighingTicketRepository
  (recherche + tri number DESC, deletedAt IS NULL).

Dette site.code
- Site.code mappé VARCHAR(8) (groupes read/write), dérivation auto au
  PrePersist (2 premiers chiffres du CP), UniqueConstraint uq_site_code.
- Migration Version20260617160000 : ALTER COLUMN code SET NOT NULL + COMMENT.
- Fixtures (codes 86/17/82) et SiteApiTest ajustés.

Câblage
- doctrine.yaml : mapping ORM du module Logistique (absent du scaffold ERP-181).
- ColumnCommentsCatalog : site.code + table weighing_ticket.

Specs M5 versionnées (spec-back / spec-front / prompts).
matthieu merged commit 036b075d5e into develop 2026-06-18 12:47:05 +00:00
matthieu deleted branch feat/erp-183-entite-weighingticket 2026-06-18 12:47:05 +00:00
Sign in to join this conversation.