Fix Download LOG

This commit is contained in:
R
2023-02-15 12:50:46 +07:00
parent 5d4033a9ca
commit a5db01bd25
5 changed files with 56 additions and 8 deletions

View File

@@ -5,9 +5,12 @@ namespace Modules\HospitalPortal\Http\Controllers\Api;
use App\Helpers\Helper;
use App\Models\ClaimRequest;
use App\Models\File;
use App\Models\Member;
use Exception;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use PDF;
class ClaimRequestController extends Controller
{
@@ -122,4 +125,21 @@ class ClaimRequestController extends Controller
{
//
}
public function generateLog($claim_request_id)
{
$claimRequest = ClaimRequest::findOrFail($claim_request_id);
if ($claimRequest->status != 'approved') {
throw new Exception("Belum Teverifikasi", 1);
}
$member = Member::findOrFail($claimRequest->member_id)
->load(['currentPlan', 'currentPolicy', 'currentPlan.corporateBenefits', 'currentPlan.corporateBenefits.benefit']);
$pdf = PDF::loadView('pdf.guaranted_leter', compact('member', 'claimRequest'));
return $pdf->download('Guaranted Letter - '.$member->full_name.'.pdf');
return $claimRequest;
}
}

View File

@@ -38,5 +38,6 @@ Route::prefix('hospitalportal')->group(function () {
Route::get('claim-requests', [ClaimRequestController::class, 'index'])->name('claim-requests.index');
Route::post('claim-requests', [ClaimRequestController::class, 'store'])->name('claim-requests.store');
Route::get('claim-requests/{claim_request_id}/log', [ClaimRequestController::class, 'generateLog'])->name('claim-requests.generate-log');
});
});

View File

@@ -4,9 +4,12 @@ namespace Modules\Internal\Http\Controllers\Api;
use App\Helpers\Helper;
use App\Models\ClaimRequest;
use App\Models\Member;
use Exception;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Knp\Snappy\Pdf;
use Modules\Internal\Transformers\ClaimRequestResource;
class ClaimRequestController extends Controller
@@ -105,8 +108,6 @@ class ClaimRequestController extends Controller
$claimRequest->status = 'approved';
$claimRequest->save();
// Generate LOG
return $claimRequest;
}
}

View File

@@ -39,6 +39,7 @@ import { useSearchParams } from 'react-router-dom';
// import { UserCurrentCorporateContext } from '@/contexts/UserCurrentCorporate';
import { fSplit } from '@/utils/formatNumber';
import { Chip } from '@mui/material';
import { enqueueSnackbar } from 'notistack';
/* ---------------------------------- types --------------------------------- */
type PaginationTableProps = {
@@ -307,6 +308,26 @@ export default function TableList(props: any) {
})();
}, [appliedParams, searchParams, order, orderBy, setSearchParams]);
// -----------------------------------------------------------------
// Download LOG
function handleDownloadLog(claimRequest) {
axios.get(`claim-requests/${claimRequest.id}/log`, {
responseType: 'blob'
})
.then((response) => {
window.open(URL.createObjectURL(response.data));
// setLoadingLog(false);
})
// .then((blobFile) => {
// new File([blobFile], 'asdads.pdf', { type: blobFile.type })
// setLoadingLog(false);
// })
.catch((response) => {
enqueueSnackbar(response.message, {variant: 'error'})
// setLoadingLog(false);
})
}
return (
<Card>
<Grid container>
@@ -395,7 +416,7 @@ export default function TableList(props: any) {
<TableCell align="center">{row.member?.full_name ?? ''}</TableCell>
<TableCell align="center">{row.submission_date}</TableCell>
<TableCell align="right">
{row.log_url ? (
{row.status == 'approved' ? (
<Button
sx={{
backgroundColor: palette.light.grey[400],
@@ -406,6 +427,7 @@ export default function TableList(props: any) {
color: palette.dark.success.darker,
},
}}
onClick={() => {handleDownloadLog(row)}}
>
Download LOG
</Button>

View File

@@ -124,7 +124,11 @@
<tr>
<td>
<div class="text-sm text-gray">Date of Admission</div>
<div class="text-md">{{ !empty($member->endorsement_date) ? \Carbon\Carbon::parse($member->endorsement_date)->format('d/m/Y') : $member->created_at->format('d/m/Y') }}</div>
@if (isset($claimRequest))
<div class="text-md">{{ !empty($claimRequest->submission_date) ? \Carbon\Carbon::parse($claimRequest->submission_date)->format('d/m/Y') : now()->format('d/m/Y') }}</div>
@else
<div class="text-md">{{ !empty($member->endorsement_date) ? \Carbon\Carbon::parse($member->endorsement_date)->format('d/m/Y') : $member->created_at->format('d/m/Y') }}</div>
@endif
</td>
<td>
<div class="text-sm text-gray">Plan</div>
@@ -141,17 +145,17 @@
</tr>
<tr>
{{-- <tr>
<td class="text-lg">Medical Check Up</td>
<td class="text-lg">As Charged</td>
</tr>
</tr> --}}
{{-- @foreach ($member->currentPlan->corporateBenefits as $corporateBenefit)
@foreach ($member->currentPlan->corporateBenefits as $corporateBenefit)
<tr>
<td>{{ $corporateBenefit->corporate_benefit_code ?? '' }}</td>
<td style="align-right">IDR {{ number_format($corporateBenefit->limit_amount, 0, ',', '.') ?? '' }}</td>
</tr>
@endforeach --}}
@endforeach
</table>
</div>