Files
sam-api/app/Http/Requests/WorkOrder/MaterialInputForItemRequest.php
권혁성 5ee97c2d74 fix: [production] 자재투입 bom_group_key 개별 저장 — 동일 자재 다중 BOM 그룹 지원
- bom_group_key 컬럼 추가 마이그레이션 (work_order_material_inputs)
- WorkOrderMaterialInput 모델 fillable에 bom_group_key 추가
- MaterialInputForItemRequest에 bom_group_key 검증 + replace 옵션 추가
- WorkOrderService.getMaterialsForItem: stock_lot_id+bom_group_key 복합키 기투입 조회 (하위호환)
- WorkOrderService.registerMaterialInputForItem: bom_group_key 저장 + replace 모드 (기존 삭제→재등록)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:44:54 +09:00

35 lines
1.0 KiB
PHP

<?php
namespace App\Http\Requests\WorkOrder;
use Illuminate\Foundation\Http\FormRequest;
class MaterialInputForItemRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'inputs' => 'required|array|min:1',
'inputs.*.stock_lot_id' => 'required|integer',
'inputs.*.qty' => 'required|numeric|gt:0',
'inputs.*.bom_group_key' => 'sometimes|nullable|string|max:100',
'replace' => 'sometimes|boolean',
];
}
public function messages(): array
{
return [
'inputs.required' => __('error.validation.required', ['attribute' => '투입 목록']),
'inputs.*.stock_lot_id.required' => __('error.validation.required', ['attribute' => 'LOT ID']),
'inputs.*.qty.required' => __('error.validation.required', ['attribute' => '수량']),
'inputs.*.qty.gt' => __('error.validation.gt', ['attribute' => '수량', 'value' => 0]),
];
}
}