Files
sam-api/app/Http/Requests/V1/Receiving/UpdateReceivingRequest.php
권혁성 487e651845 feat: 견적확정 밸리데이션, 작업지시 통계 공정별 카운트, 입고/재고 개선
- 견적확정 시 업체명/현장명/담당자/연락처 필수 검증 추가 (QuoteService)
- 작업지시 stats API에 by_process 공정별 카운트 반환 추가
- 작업지시 목록/상세 쿼리에 수주 개소(rootNodes) 연관 로딩
- 작업지시 품목에 sourceOrderItem.node 관계 추가
- 입고관리 완료건 수정 허용 및 재고 차이 조정
- work_order_step_progress 테이블 마이그레이션
- receivings 테이블 options 컬럼 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 03:27:07 +09:00

45 lines
1.6 KiB
PHP

<?php
namespace App\Http\Requests\V1\Receiving;
use Illuminate\Foundation\Http\FormRequest;
class UpdateReceivingRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'order_no' => ['nullable', 'string', 'max:30'],
'order_date' => ['nullable', 'date'],
'item_code' => ['sometimes', 'string', 'max:50'],
'item_name' => ['sometimes', 'string', 'max:200'],
'specification' => ['nullable', 'string', 'max:200'],
'supplier' => ['sometimes', 'string', 'max:100'],
'order_qty' => ['sometimes', 'numeric', 'min:0'],
'order_unit' => ['nullable', 'string', 'max:20'],
'due_date' => ['nullable', 'date'],
'status' => ['sometimes', 'string', 'in:order_completed,shipping,inspection_pending,receiving_pending,completed'],
'remark' => ['nullable', 'string', 'max:1000'],
'receiving_qty' => ['nullable', 'numeric', 'min:0'],
'receiving_date' => ['nullable', 'date'],
'lot_no' => ['nullable', 'string', 'max:50'],
'inspection_status' => ['nullable', 'string', 'max:10'],
'inspection_date' => ['nullable', 'date'],
'inspection_result' => ['nullable', 'string', 'max:20'],
];
}
public function messages(): array
{
return [
'order_qty.numeric' => __('validation.numeric', ['attribute' => '발주수량']),
'order_qty.min' => __('validation.min.numeric', ['attribute' => '발주수량', 'min' => 0]),
];
}
}