From c5452710b4086a74c3a67e14fcf78289323bc151 Mon Sep 17 00:00:00 2001 From: Djery-Tom Date: Thu, 17 Feb 2022 15:55:14 +0100 Subject: [PATCH] Add insurance coverage limit verification while accept health care sheet --- app/Http/Controllers/HealthCareSheetController.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/HealthCareSheetController.php b/app/Http/Controllers/HealthCareSheetController.php index 5264fd8..21811b9 100755 --- a/app/Http/Controllers/HealthCareSheetController.php +++ b/app/Http/Controllers/HealthCareSheetController.php @@ -1433,9 +1433,16 @@ class HealthCareSheetController extends Controller try { DB::beginTransaction(); if ($action == 'ACCEPT') { + $nhConfig = NhNetworksConfig::where('network_id', $sheet->insurance->network_id)->first(); + if (!isset($nhConfig)) { + return $this->errorResponse(trans('errors.nano_health_not_activated')); + } + // Verification de la limite de couverture + $this->verifyInsuranceCoverageAmount($nhConfig, $sheet->insurance, $sheet, $sheet->beneficiary); + $sheet->state = InsuranceSubscriptionState::ACCEPTED; $message = trans('messages.care_sheet_accepted'); - // Mettre à jour lq couverture d'assurance de chaque assuré + // Mettre à jour la couverture d'assurance de chaque assuré $sheet->insurance_consumed_at = $datetime; if (!empty($sheet->beneficiary)) { $sheet->beneficiary->insurance_coverage_amount += $sheet->insurance_amount; @@ -1457,6 +1464,8 @@ class HealthCareSheetController extends Controller DB::commit(); return $this->successResponse($message); + } catch (AppException $e) { + return $this->errorResponse($e->getMessage(), $e->getCode()); } catch (Throwable $e) { Log::error($e->getMessage() . '\n' . $e->getTraceAsString()); DB::rollBack();