Add File Import Example Download
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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']);
|
||||
|
||||
|
||||
@@ -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']));
|
||||
|
||||
@@ -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 (
|
||||
<div>
|
||||
@@ -200,7 +213,7 @@ export default function PlanList() {
|
||||
}}
|
||||
>
|
||||
<MenuItem onClick={handleImportButton}>Import</MenuItem>
|
||||
<MenuItem onClick={handleClose}>Download Template</MenuItem>
|
||||
<MenuItem onClick={() => {handleGetTemplate('plan-benefit')}}>Download Template</MenuItem>
|
||||
</Menu>
|
||||
</Stack>
|
||||
)}
|
||||
|
||||
@@ -155,6 +155,18 @@ export default function List(props: any) {
|
||||
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 (
|
||||
<div>
|
||||
@@ -192,7 +204,7 @@ export default function List(props: any) {
|
||||
}}
|
||||
>
|
||||
<MenuItem onClick={handleImportButton}>Import</MenuItem>
|
||||
<MenuItem onClick={handleClose}>Download Template</MenuItem>
|
||||
<MenuItem onClick={() => {handleGetTemplate('diagnosis-exclusion')}}>Download Template</MenuItem>
|
||||
</Menu>
|
||||
</Stack>
|
||||
)}
|
||||
|
||||
@@ -192,6 +192,19 @@ export default function CorporatePlanList() {
|
||||
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 (
|
||||
<div>
|
||||
@@ -229,7 +242,7 @@ export default function CorporatePlanList() {
|
||||
}}
|
||||
>
|
||||
<MenuItem onClick={handleImportButton}>Import</MenuItem>
|
||||
<MenuItem onClick={handleClose}>Download Template</MenuItem>
|
||||
<MenuItem onClick={() => {handleGetTemplate('member')}}>Download Template</MenuItem>
|
||||
</Menu>
|
||||
</Stack>
|
||||
)}
|
||||
|
||||
@@ -147,6 +147,18 @@ export default function CorporatePlanList() {
|
||||
}
|
||||
};
|
||||
|
||||
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 (
|
||||
<div>
|
||||
<input
|
||||
@@ -183,7 +195,7 @@ export default function CorporatePlanList() {
|
||||
}}
|
||||
>
|
||||
<MenuItem onClick={handleImportButton}>Import</MenuItem>
|
||||
<MenuItem onClick={handleClose}>Download Template</MenuItem>
|
||||
<MenuItem onClick={() => {handleGetTemplate('plan-benefit')}}>Download Template</MenuItem>
|
||||
</Menu>
|
||||
</Stack>
|
||||
)}
|
||||
|
||||
BIN
public/files/Corporate Exclusion Import.xlsx
Normal file
BIN
public/files/Corporate Exclusion Import.xlsx
Normal file
Binary file not shown.
BIN
public/files/Corporate Membership Import.xlsx
Normal file
BIN
public/files/Corporate Membership Import.xlsx
Normal file
Binary file not shown.
BIN
public/files/Corporate Plan & Benefit Import.xlsx
Normal file
BIN
public/files/Corporate Plan & Benefit Import.xlsx
Normal file
Binary file not shown.
Reference in New Issue
Block a user