1 | <?php |
||
7 | abstract class OrderProduct |
||
8 | { |
||
9 | // Способ формирования индивидуального серийного номера |
||
10 | public const SERIAL_NUMBER_TYPE_SELF_MADE = 'SELF_MADE'; // Самостоятельно |
||
11 | public const SERIAL_NUMBER_TYPE_OPERATOR = 'OPERATOR'; // Оператором ГИС МТ |
||
12 | |||
13 | // Тип кода маркировки |
||
14 | public const MARKING_TYPE_UNIT = 'UNIT'; // Единица товара |
||
15 | public const MARKING_TYPE_BUNDLE = 'BUNDLE'; // Комплект |
||
16 | public const MARKING_TYPE_GROUP = 'GROUP'; // Групповая потребительская упаковка |
||
17 | public const MARKING_TYPE_SET = 'SET'; // Набор |
||
18 | |||
19 | // Шаблоны кодов маркировки (пока мы используем только первый) |
||
20 | public const MARKING_TEMPLATE_FIRST = 1; // 01 + GTIN + 21 + serial (13 chars) |
||
21 | public const MARKING_TEMPLATE_SECOND = 2; // 01 + GTIN + 21 + serial (13 chars) |
||
22 | |||
23 | /** |
||
24 | * @var string КТ (GTIN) продукта |
||
25 | */ |
||
26 | private $gtin; |
||
27 | /** |
||
28 | * @var int Количество КМ |
||
29 | */ |
||
30 | private $quantity; |
||
31 | /** |
||
32 | * @var string Способ генерации серийных номеров. |
||
33 | */ |
||
34 | private $serialNumberType; |
||
35 | /** |
||
36 | * @var string[] | null Массив серийных номеров (Это поле указывается, если serialNumber = SELF_MADE) |
||
37 | */ |
||
38 | private $serialNumbers; |
||
39 | /** |
||
40 | * @var integer Идентификатор шаблона КМ |
||
41 | */ |
||
42 | private $templateId; |
||
43 | |||
44 | public function __construct(string $gtin, int $quantity, string $serialNumberType, int $templateId) |
||
51 | |||
52 | public function getGtin(): string |
||
56 | |||
57 | public function getQuantity(): int |
||
61 | |||
62 | public function getSerialNumberType(): string |
||
66 | |||
67 | public function getTemplateId(): int |
||
71 | |||
72 | public function getSerialNumbers(): ?array |
||
76 | |||
77 | public function setSerialNumbers(?array $serialNumbers): void |
||
81 | } |