d2d.emegrendeles.hu/app/Enums/ProductUnitEnum.php
E98Developer 67d2f73eee ADD EV3-465 méter ("m") mértékegység a Legkisebb eladási egységhez és a Mennyiségi egységhez
Bunzl árlistájához szükséges egy eddig hiányzó mértékegység. A "Legkisebb
eladási egység" / "Mennyiségi egység" mezőt két párhuzamos árlista-import
validálja külön-külön (a régi PriceListService.php ProductUnitEnum-mal, az új
PricelistFileProcessService.php saját PricelistSellerUnitEnum-mal), mindkettő
végül ugyanabba a products.sellerUnit / products.amountUnit DB enum oszlopba
ír. A puszta enum-bővítés önmagában nem lett volna elég: a DB oszlop
korlátozta volna a végrehajtást, csak ott, a legkésőbbi ponton bukva el.

- ProductUnitEnum: új 'm' case (régi pipeline validációja + a DB oszlopokat
  generáló forrás).
- PricelistSellerUnitEnum: új 'm' case (új pipeline validációja).
- Migráció: products.sellerUnit/amountUnit és order_archives_items ugyanezen
  oszlopainak DB enum bővítése 'm'-mel, ProductUnitEnum::getKeys()-ből
  generálva, hogy a PHP enum és a DB oszlop ne csúszhasson el egymástól. A
  down() az 'm' értékű sorokat NULL-ra állítja visszagörgetéskor, különben a
  szűkített enum miatt az ALTER hibára futna. A "Mértékegység" (productUnit)
  oszlopot szándékosan nem bővítettem, a jegy csak a másik két mezőt említi.
- schema:dump frissítve.

5 új teszt mindkét pipeline validációjára és a DB enum oszlopra.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-24 17:28:01 +02:00

30 lines
361 B
PHP

<?php
namespace App\Enums;
/**
* @method static static g()
*/
class ProductUnitEnum extends BasicUnitEnum
{
const g = 'g';
const ml = 'ml';
const tálca = 'tálca';
const csom = 'csom';
const dob = 'dob';
const kart = 'kart';
const rúd = 'rúd';
const pár = 'pár';
const zsák = 'zsák';
const m = 'm';
}