Files
sam-api/app/Http/Requests/V1/Purchase/StorePurchaseRequest.php
권혁성 7162fc2b46 feat: 매입관리 품의서/지출결의서 연동 기능 추가
- purchases 테이블에 approval_id 컬럼 추가 (마이그레이션)
- Purchase 모델에 approval 관계 정의
- PurchaseService에서 approval 데이터 eager loading 구현
- FormRequest에 approval_id 유효성 검증 추가
- Swagger 문서에 approval 관련 스키마 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 22:47:25 +09:00

42 lines
1.6 KiB
PHP

<?php
namespace App\Http\Requests\V1\Purchase;
use Illuminate\Foundation\Http\FormRequest;
class StorePurchaseRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'purchase_date' => ['required', 'date'],
'client_id' => ['required', 'integer', 'exists:clients,id'],
'supply_amount' => ['required', 'numeric', 'min:0'],
'tax_amount' => ['required', 'numeric', 'min:0'],
'total_amount' => ['required', 'numeric', 'min:0'],
'purchase_type' => ['nullable', 'string', 'max:50'],
'description' => ['nullable', 'string', 'max:1000'],
'withdrawal_id' => ['nullable', 'integer', 'exists:withdrawals,id'],
'approval_id' => ['nullable', 'integer', 'exists:approvals,id'],
];
}
public function messages(): array
{
return [
'purchase_date.required' => __('validation.required', ['attribute' => '매입일자']),
'client_id.required' => __('validation.required', ['attribute' => '거래처']),
'client_id.exists' => __('validation.exists', ['attribute' => '거래처']),
'supply_amount.required' => __('validation.required', ['attribute' => '공급가액']),
'supply_amount.numeric' => __('validation.numeric', ['attribute' => '공급가액']),
'tax_amount.required' => __('validation.required', ['attribute' => '세액']),
'total_amount.required' => __('validation.required', ['attribute' => '합계']),
];
}
}