diff --git a/Modules/Internal/Http/Controllers/Api/CorporateController.php b/Modules/Internal/Http/Controllers/Api/CorporateController.php index 8dcf6428..3206aae9 100755 --- a/Modules/Internal/Http/Controllers/Api/CorporateController.php +++ b/Modules/Internal/Http/Controllers/Api/CorporateController.php @@ -3,6 +3,7 @@ namespace Modules\Internal\Http\Controllers\Api; use App\Exceptions\ImportRowException; +use App\Helpers\Helper; use App\Imports\PlansImport; use App\Models\Benefit; use App\Models\Claim; @@ -19,7 +20,8 @@ use Illuminate\Routing\Controller; use Maatwebsite\Excel\Facades\Excel; use Box\Spout\Reader\Common\Creator\ReaderEntityFactory; use App\Models\File; - +use Illuminate\Support\Facades\File as FacadesFile; +use Illuminate\Support\Facades\Response; use Illuminate\Support\Facades\Storage; use Modules\Internal\Services\CorporateService; @@ -486,4 +488,31 @@ class CorporateController extends Controller ] ]; } + + public function importDocumentExample($document_type) + { + switch ($document_type) { + case 'plan-benefit': + return Helper::responseJson([ + 'file_name' => "Corporate Plan & Benefit Import.xlsx", + "file_url" => url('files/Corporate Plan & Benefit Import.xlsx') + ]); + break; + case 'member': + return Helper::responseJson([ + 'file_name' => "Corporate Membership Import.xlsx", + "file_url" => url('files/Corporate Membership Import.xlsx') + ]); + break; + case 'diagnosis-exclusion': + return Helper::responseJson([ + 'file_name' => "Corporate Exclusion Import.xlsx", + "file_url" => url('files/Corporate Exclusion Import.xlsx') + ]); + break; + default: + return Helper::responseJson([], 'error', 404); + break; + } + } } diff --git a/Modules/Internal/Routes/api.php b/Modules/Internal/Routes/api.php index cc27113e..3c1a9447 100755 --- a/Modules/Internal/Routes/api.php +++ b/Modules/Internal/Routes/api.php @@ -51,6 +51,7 @@ Route::prefix('internal')->group(function () { Route::resource('corporates', CorporateController::class); + Route::get('corporates/import-document-example/{document_type}', [CorporateController::class, 'importDocumentExample']); Route::put('corporates/{corporate_id}/activation', [CorporateController::class, 'activation']); Route::post('corporates/{corporate_id}/import-plan-benefit', [CorporateController::class, 'importPlanBenefit']); diff --git a/app/Services/ClaimService.php b/app/Services/ClaimService.php index d5ecced8..5ce1ce5d 100644 --- a/app/Services/ClaimService.php +++ b/app/Services/ClaimService.php @@ -112,7 +112,12 @@ class ClaimService{ // $policy = $member->currentPolicy; // $corporate = $member->currentCorporate; $benefit = $member->currentPlan->benefits()->where('code', $benefit_code)->first(); - $corporateBenefit = $member->currentPlan->corporateBenefits()->where('benefit_id', $benefit->id ?? null)->where('plan_id', $member->currentPlan->id)->active()->first(); + $corporateBenefit = $member->currentPlan + ->corporateBenefits() + ->where('benefit_id', $benefit->id ?? null) + ->where('plan_id', $member->currentPlan->id) + ->active() + ->first(); // dd($benefit->toArray()); // dd(compact(['plan', 'policy', 'corporate', 'benefit'])); diff --git a/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx b/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx index 6442086e..42a78aa7 100755 --- a/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx +++ b/frontend/dashboard/src/pages/Corporates/Benefit/List.tsx @@ -163,6 +163,19 @@ export default function PlanList() { enqueueSnackbar('No File Selected', { variant: 'warning' }); } }; + + + const handleGetTemplate = (type :string) => { + axios.get('corporates/import-document-example/' + type) + .then((response) => { + const link = document.createElement('a'); + link.href = response.data.data.file_url; + link.setAttribute('download', response.data.data.file_name); + document.body.appendChild(link); + link.click(); + handleClose(); + }) + } return (