feat: 공정 관리 API 개선 및 ProcessItem 추가

- ProcessItem 모델 및 마이그레이션 추가
- Process 요청/서비스 로직 수정
- Swagger API 문서 추가

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-01-08 20:23:52 +09:00
parent 26c071805a
commit 18aa745518
7 changed files with 338 additions and 17 deletions

View File

@@ -25,15 +25,18 @@ public function rules(): array
'note' => ['nullable', 'string'],
'is_active' => ['nullable', 'boolean'],
// 분류 규칙
// 분류 규칙 (패턴 규칙)
'classification_rules' => ['nullable', 'array'],
'classification_rules.*.registration_type' => ['nullable', 'string', 'in:pattern,individual'],
'classification_rules.*.rule_type' => ['required_with:classification_rules.*', 'string', 'in:품목코드,품목명,품목구분'],
'classification_rules.*.matching_type' => ['required_with:classification_rules.*', 'string', 'in:startsWith,endsWith,contains,equals'],
'classification_rules.*.condition_value' => ['required_with:classification_rules.*', 'string', 'max:255'],
'classification_rules.*.priority' => ['nullable', 'integer', 'min:0'],
'classification_rules.*.description' => ['nullable', 'string', 'max:255'],
'classification_rules.*.is_active' => ['nullable', 'boolean'],
// 개별 품목 연결
'item_ids' => ['nullable', 'array'],
'item_ids.*' => ['integer', 'exists:items,id'],
];
}

View File

@@ -25,15 +25,18 @@ public function rules(): array
'note' => ['nullable', 'string'],
'is_active' => ['nullable', 'boolean'],
// 분류 규칙
// 분류 규칙 (패턴 규칙)
'classification_rules' => ['nullable', 'array'],
'classification_rules.*.registration_type' => ['nullable', 'string', 'in:pattern,individual'],
'classification_rules.*.rule_type' => ['required_with:classification_rules.*', 'string', 'in:품목코드,품목명,품목구분'],
'classification_rules.*.matching_type' => ['required_with:classification_rules.*', 'string', 'in:startsWith,endsWith,contains,equals'],
'classification_rules.*.condition_value' => ['required_with:classification_rules.*', 'string', 'max:255'],
'classification_rules.*.priority' => ['nullable', 'integer', 'min:0'],
'classification_rules.*.description' => ['nullable', 'string', 'max:255'],
'classification_rules.*.is_active' => ['nullable', 'boolean'],
// 개별 품목 연결
'item_ids' => ['nullable', 'array'],
'item_ids.*' => ['integer', 'exists:items,id'],
];
}