d2d.emegrendeles.hu/app/Enums/PricelistSellerUnitEnum.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
567 B
PHP

<?php
namespace App\Enums;
enum PricelistSellerUnitEnum: string
{
case csom = 'csom';
case kart = 'kart';
case rúd = 'rúd';
case db = 'db';
case dob = 'dob';
case zsák = 'zsák';
case tálca = 'tálca';
case kg = 'kg';
case liter = 'liter';
case pár = 'pár';
case tekercs = 'tekercs';
case m = 'm';
/**
* Visszaadja az összes értéket tömbként
*
* @return array<string>
*/
public static function values(): array
{
return array_column(self::cases(), 'value');
}
}