- 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>
35 lines
1.0 KiB
PHP
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]),
|
|
];
|
|
}
|
|
}
|