Allow to scan gtin barcodes and find parts via it

This commit is contained in:
Jan Böhmer
2026-02-08 16:06:01 +01:00
parent 4de6dbba27
commit 35e844dd7b
6 changed files with 105 additions and 2 deletions

View File

@@ -92,6 +92,9 @@ final class BarcodeScanHelper
if ($type === BarcodeSourceType::EIGP114) {
return $this->parseEIGP114Barcode($input);
}
if ($type === BarcodeSourceType::GTIN) {
return $this->parseGTINBarcode($input);
}
//Null means auto and we try the different formats
$result = $this->parseInternalBarcode($input);
@@ -117,9 +120,19 @@ final class BarcodeScanHelper
return $result;
}
//If the result is a valid GTIN barcode, we can parse it directly
if (GTINBarcodeScanResult::isValidGTIN($input)) {
return $this->parseGTINBarcode($input);
}
throw new InvalidArgumentException('Unknown barcode');
}
private function parseGTINBarcode(string $input): GTINBarcodeScanResult
{
return new GTINBarcodeScanResult($input);
}
private function parseEIGP114Barcode(string $input): EIGP114BarcodeScanResult
{
return EIGP114BarcodeScanResult::parseFormat06Code($input);