feat: [equipment] 점검 데이터 초기화 기능 추가

- 개별 설비 초기화: 장비명 하단 초기화 아이콘 클릭 → 확인 → 해당 월 점검 삭제
- 전체 초기화: 조회 버튼 옆 '전체 초기화' 버튼 → 확인 → 전체 설비 점검 삭제
- DELETE /inspections/reset (개별), /inspections/reset-all (전체) API
- canInspect 권한 체크 적용 (개별 초기화)
- SweetAlert 확인 모달로 실수 방지
This commit is contained in:
김보곤
2026-02-28 15:46:01 +09:00
parent 5f24d01780
commit 2971401501
5 changed files with 204 additions and 1 deletions

View File

@@ -148,6 +148,62 @@ public function updateNotes(Request $request): JsonResponse
}
}
public function resetInspection(Request $request): JsonResponse
{
$request->validate([
'equipment_id' => 'required|integer',
'cycle' => 'required|string',
'period' => 'required|string',
]);
try {
$deleted = $this->inspectionService->resetEquipmentInspection(
$request->input('equipment_id'),
$request->input('cycle'),
$request->input('period')
);
return response()->json([
'success' => true,
'message' => "점검 데이터 {$deleted}건이 초기화되었습니다.",
'data' => ['deleted' => $deleted],
]);
} catch (\Exception $e) {
$status = $e->getMessage() === '점검 권한이 없습니다.' ? 403 : 400;
return response()->json([
'success' => false,
'message' => $e->getMessage(),
], $status);
}
}
public function resetAllInspections(Request $request): JsonResponse
{
$request->validate([
'cycle' => 'required|string',
'period' => 'required|string',
]);
try {
$deleted = $this->inspectionService->resetAllInspections(
$request->input('cycle'),
$request->input('period')
);
return response()->json([
'success' => true,
'message' => "전체 점검 데이터 {$deleted}건이 초기화되었습니다.",
'data' => ['deleted' => $deleted],
]);
} catch (\Exception $e) {
return response()->json([
'success' => false,
'message' => $e->getMessage(),
], 400);
}
}
public function storeTemplate(Request $request, int $equipmentId): JsonResponse
{
$request->validate([