feat: [equipment] 점검항목 다른 주기로 복사 기능 추가

- 서비스: copyTemplatesToCycles 메서드 추가 (중복 항목 스킵)
- 컨트롤러: copyTemplates API 엔드포인트 추가
- UI: 다른 주기에 복사 버튼 + 체크박스 모달
This commit is contained in:
김보곤
2026-02-28 14:17:18 +09:00
parent 1c8c08b078
commit 8a6ee9f2fe
4 changed files with 208 additions and 5 deletions

View File

@@ -164,6 +164,34 @@ public function updateTemplate(Request $request, int $templateId): JsonResponse
}
}
public function copyTemplates(Request $request, int $equipmentId): JsonResponse
{
$request->validate([
'source_cycle' => 'required|string',
'target_cycles' => 'required|array|min:1',
'target_cycles.*' => 'required|string',
]);
try {
$result = $this->inspectionService->copyTemplatesToCycles(
$equipmentId,
$request->input('source_cycle'),
$request->input('target_cycles')
);
return response()->json([
'success' => true,
'message' => "{$result['copied']}개 항목이 복사되었습니다.".($result['skipped'] > 0 ? " (중복 {$result['skipped']}개 건너뜀)" : ''),
'data' => $result,
]);
} catch (\Exception $e) {
return response()->json([
'success' => false,
'message' => $e->getMessage(),
], 400);
}
}
public function deleteTemplate(int $templateId): JsonResponse
{
try {