feat: 작업일지/중간검사 설정을 ProcessStep → Process 레벨로 이동

- Process 모델에 document_template_id, needs_work_log, work_log_template_id 추가
- ProcessStep에서 해당 필드 제거
- WorkOrderService의 검사 관련 3개 메서드(getInspectionTemplate, resolveInspectionDocument, createInspectionDocument) 공정 레벨 참조로 변경
- ProcessService eager loading에 documentTemplate, workLogTemplateRelation 추가
- FormRequest 검증 규칙 이동 (ProcessStep → Process)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-11 09:51:35 +09:00
parent bb457d4ca8
commit 1d7ef66d19
10 changed files with 133 additions and 84 deletions

View File

@@ -19,6 +19,9 @@ public function rules(): array
'process_type' => ['required', 'string', 'in:생산,검사,포장,조립'],
'department' => ['nullable', 'string', 'max:100'],
'work_log_template' => ['nullable', 'string', 'max:100'],
'document_template_id' => ['nullable', 'integer', 'exists:document_templates,id'],
'needs_work_log' => ['nullable', 'boolean'],
'work_log_template_id' => ['nullable', 'integer', 'exists:document_templates,id'],
'required_workers' => ['nullable', 'integer', 'min:1'],
'equipment_info' => ['nullable', 'string', 'max:255'],
'work_steps' => ['nullable'],
@@ -48,6 +51,9 @@ public function attributes(): array
'process_type' => '공정구분',
'department' => '담당부서',
'work_log_template' => '작업일지 양식',
'document_template_id' => '중간검사 양식',
'needs_work_log' => '작업일지 여부',
'work_log_template_id' => '작업일지 양식 ID',
'required_workers' => '필요인원',
'equipment_info' => '설비정보',
'work_steps' => '작업단계',

View File

@@ -19,6 +19,9 @@ public function rules(): array
'process_type' => ['sometimes', 'required', 'string', 'in:생산,검사,포장,조립'],
'department' => ['nullable', 'string', 'max:100'],
'work_log_template' => ['nullable', 'string', 'max:100'],
'document_template_id' => ['nullable', 'integer', 'exists:document_templates,id'],
'needs_work_log' => ['nullable', 'boolean'],
'work_log_template_id' => ['nullable', 'integer', 'exists:document_templates,id'],
'required_workers' => ['nullable', 'integer', 'min:1'],
'equipment_info' => ['nullable', 'string', 'max:255'],
'work_steps' => ['nullable'],
@@ -48,6 +51,9 @@ public function attributes(): array
'process_type' => '공정구분',
'department' => '담당부서',
'work_log_template' => '작업일지 양식',
'document_template_id' => '중간검사 양식',
'needs_work_log' => '작업일지 여부',
'work_log_template_id' => '작업일지 양식 ID',
'required_workers' => '필요인원',
'equipment_info' => '설비정보',
'work_steps' => '작업단계',

View File

@@ -18,7 +18,6 @@ public function rules(): array
'is_required' => ['nullable', 'boolean'],
'needs_approval' => ['nullable', 'boolean'],
'needs_inspection' => ['nullable', 'boolean'],
'document_template_id' => ['nullable', 'integer', 'exists:document_templates,id'],
'is_active' => ['nullable', 'boolean'],
'connection_type' => ['nullable', 'string', 'max:20'],
'connection_target' => ['nullable', 'string', 'max:255'],
@@ -33,7 +32,6 @@ public function attributes(): array
'is_required' => '필수여부',
'needs_approval' => '승인필요여부',
'needs_inspection' => '검사필요여부',
'document_template_id' => '문서양식',
'is_active' => '사용여부',
'connection_type' => '연결유형',
'connection_target' => '연결대상',

View File

@@ -18,7 +18,6 @@ public function rules(): array
'is_required' => ['nullable', 'boolean'],
'needs_approval' => ['nullable', 'boolean'],
'needs_inspection' => ['nullable', 'boolean'],
'document_template_id' => ['nullable', 'integer', 'exists:document_templates,id'],
'is_active' => ['nullable', 'boolean'],
'connection_type' => ['nullable', 'string', 'max:20'],
'connection_target' => ['nullable', 'string', 'max:255'],
@@ -33,7 +32,6 @@ public function attributes(): array
'is_required' => '필수여부',
'needs_approval' => '승인필요여부',
'needs_inspection' => '검사필요여부',
'document_template_id' => '문서양식',
'is_active' => '사용여부',
'connection_type' => '연결유형',
'connection_target' => '연결대상',