fix: [bending] LOT 채번에서 일련번호 제거

- generateLotNumber() 시그니처 변경: lotBase → prod/spec/length/date
- 일련번호(-001) 로직 제거: 같은 날 같은 조합은 동일 LOT
- generate-lot API 응답에서 lot_base/date_code 필드 제거
- 미사용 Order 모델 import 제거
This commit is contained in:
김보곤
2026-03-18 20:14:19 +09:00
parent 55f97f67d3
commit 8dc21bdda8
2 changed files with 7 additions and 21 deletions

View File

@@ -2,7 +2,6 @@
namespace App\Services;
use App\Models\Orders\Order;
use App\Models\Production\BendingItemMapping;
class BendingCodeService extends Service
@@ -154,24 +153,15 @@ public function resolveItem(string $prodCode, string $specCode, string $lengthCo
}
/**
* LOT 번호 생성 (일련번호 suffix 포함)
* LOT 번호 생성 (일련번호 없음 — 같은 날 같은 조합은 동일 LOT)
*
* base: 'GI6317-53' → 결과: 'GI6317-53-001'
* 예: prod='C', spec='L', length='30', date='2026-03-18' → 'CL6318-30'
*/
public function generateLotNumber(string $lotBase): string
public function generateLotNumber(string $prodCode, string $specCode, string $lengthCode, string $date): string
{
$tenantId = $this->tenantId();
$dateCode = self::generateDateCode($date);
// 같은 base로 시작하는 기존 LOT 수 조회
$count = Order::withoutGlobalScopes()
->where('tenant_id', $tenantId)
->where('order_type_code', Order::TYPE_STOCK)
->where('options->bending_lot->lot_number', 'LIKE', $lotBase.'-%')
->count();
$seq = str_pad($count + 1, 3, '0', STR_PAD_LEFT);
return "{$lotBase}-{$seq}";
return "{$prodCode}{$specCode}{$dateCode}-{$lengthCode}";
}
/**