Changed logic in production plan page against plant code checking item code
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 16s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 18s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 20s
Laravel Pint / pint (pull_request) Successful in 3m4s
Laravel Larastan / larastan (pull_request) Failing after 6m2s

This commit is contained in:
dhanabalan
2026-11-10 14:15:57 +05:30
parent 558f0a39bd
commit 6eda73b4e1

View File

@@ -839,22 +839,32 @@ class ProductionPlanResource extends Resource
$itemCodes = []; $itemCodes = [];
foreach ($csv->getRecords() as $record) { foreach ($csv->getRecords() as $record) {
$itemCode = trim((string) ($record['Item Code'] ?? ''));
if ($itemCode !== '') { $values = array_values($record);
$itemCodes[] = $itemCode;
$plantCode = trim((string) ($values[0] ?? ''));
$itemCode = trim((string) ($values[1] ?? ''));
if ($plantCode === '' || $itemCode === '') {
continue;
} }
$key = $plantCode . '|' . $itemCode;
$itemCodes[] = $key;
} }
$duplicates = collect($itemCodes) $duplicates = collect($itemCodes)
->duplicates() ->duplicates()
->unique() ->unique()
->values()
->map(fn ($duplicate) => explode('|', $duplicate)[1])
->unique()
->values(); ->values();
if ($duplicates->isNotEmpty()) { if ($duplicates->isNotEmpty()) {
$fail( $fail(
'Duplicate Item Codes found: ' . 'Duplicate Item Codes found: ' . $duplicates->implode(', ')
$duplicates->implode(', ')
); );
} }
}, },