feat: [payroll] 급여 확정 취소 기능 추가

- 확정 상태에서 작성중으로 되돌리는 기능 추가
- Model: isUnconfirmable() 상태 헬퍼 추가
- Service: unconfirmPayroll() 메서드 추가
- Controller: unconfirm() 엔드포인트 추가
- Route: POST /{id}/unconfirm 라우트 추가
- View: 확정 취소 버튼 및 JS 함수 추가
This commit is contained in:
김보곤
2026-02-27 22:17:15 +09:00
parent 30973d1772
commit bcb45c9362
6 changed files with 102 additions and 0 deletions

View File

@@ -278,6 +278,41 @@ public function confirm(Request $request, int $id): JsonResponse
}
}
/**
* 급여 확정 취소
*/
public function unconfirm(Request $request, int $id): JsonResponse
{
if ($denied = $this->checkPayrollAccess()) {
return $denied;
}
try {
$payroll = $this->payrollService->unconfirmPayroll($id);
if (! $payroll) {
return response()->json([
'success' => false,
'message' => '급여 확정을 취소할 수 없습니다.',
], 404);
}
return response()->json([
'success' => true,
'message' => '급여 확정이 취소되었습니다.',
'data' => $payroll,
]);
} catch (\Throwable $e) {
report($e);
return response()->json([
'success' => false,
'message' => '급여 확정 취소 중 오류가 발생했습니다.',
'error' => config('app.debug') ? $e->getMessage() : null,
], 500);
}
}
/**
* 급여 지급 처리
*/