diff --git a/Modules/Client/Http/Controllers/Api/MemberController.php b/Modules/Client/Http/Controllers/Api/MemberController.php new file mode 100644 index 00000000..1c6b6fa0 --- /dev/null +++ b/Modules/Client/Http/Controllers/Api/MemberController.php @@ -0,0 +1,93 @@ +when($request->search, function ($query, $search) { + return $query->where('name', 'LIKE', '%' . $search . '%') + ->orWhere('member_id', 'LIKE', '%' . $search . '%'); + }) + ->with('currentPlan', 'currentCorporate') + ->paginate(); + } + + /** + * Show the form for creating a new resource. + * @return Renderable + */ + public function create() + { + return view('internal::create'); + } + + /** + * Store a newly created resource in storage. + * @param Request $request + * @return Renderable + */ + public function store(Request $request) + { + // + } + + /** + * Show the specified resource. + * @param int $id + * @return Renderable + */ + public function show($id) + { + return view('internal::show'); + } + + /** + * Show the form for editing the specified resource. + * @param int $id + * @return Renderable + */ + public function edit($id) + { + return view('internal::edit'); + } + + /** + * Update the specified resource in storage. + * @param Request $request + * @param int $id + * @return Renderable + */ + public function update(Request $request, $id) + { + // + } + + /** + * Remove the specified resource from storage. + * @param int $id + * @return Renderable + */ + public function destroy($id) + { + // + } + + public function benefits($member_id) + { + $member = Member::findOrFail($member_id); + + return response()->json($member->currentPlan->benefits()->select(['description', 'code', 'id'])->get()); + } +} diff --git a/Modules/Client/Routes/api.php b/Modules/Client/Routes/api.php index 856d2637..9b29e2b8 100644 --- a/Modules/Client/Routes/api.php +++ b/Modules/Client/Routes/api.php @@ -4,6 +4,7 @@ use Modules\Client\Http\Controllers\Api\AuthController; use Modules\Client\Http\Controllers\Api\CorporateDivisionController; use Modules\Client\Http\Controllers\Api\CorporateManageController; use Modules\Client\Http\Controllers\Api\CorporateMemberController; +use Modules\Client\Http\Controllers\Api\MemberController; use Modules\Client\Http\Controllers\Api\CorporatePolicyController; use Modules\Client\Http\Controllers\Api\UserController; use Modules\Client\Http\Controllers\Api\ClaimController; @@ -40,6 +41,7 @@ Route::prefix('client')->group(function () { Route::get('corporate-manage', [CorporateManageController::class, 'index']); Route::get('corporate-manage/{corporate_id}', [CorporateManageController::class, 'show']); Route::prefix('{corporate_id}')->group(function () { + Route::post('search-member', [MemberController::class, 'index']); Route::get('policy', [CorporatePolicyController::class, 'index']); Route::get('division', [CorporateDivisionController::class, 'index']); Route::get('members', [CorporateMemberController::class, 'index']); diff --git a/Modules/Internal/Http/Controllers/Api/ClaimController.php b/Modules/Internal/Http/Controllers/Api/ClaimController.php index c339e819..3a9ceaac 100644 --- a/Modules/Internal/Http/Controllers/Api/ClaimController.php +++ b/Modules/Internal/Http/Controllers/Api/ClaimController.php @@ -300,7 +300,7 @@ class ClaimController extends Controller // Membuat penulis entitas Spout $writer = WriterEntityFactory::createXLSXWriter(); // Membuka penulis untuk menulis ke file - $writer->openToFile(public_path('files/CorporatePlan&BenefitImportData.xlsx')); + $writer->openToFile(public_path('files/Benefit Usage Report.xlsx')); // Sheet 1 $writer->getCurrentSheet()->setName('Worksheet'); @@ -320,15 +320,17 @@ class ClaimController extends Controller 'plan', 'benefit', 'claimRequest', - 'claimRequest.service' + 'claimRequest.service', + 'encounters', ]) // ->latest() ->get()->toArray(); foreach ($claims as $index => $row){ + dd($row); $rowData = [ '', // Count of Usage $row['code'], // Claim Number - '', // Insurar Code + $row['member']? $row['member']['payor_id'] : '-', // Insurar Code $row['member']['current_policy']? $row['member']['current_policy']['code'] : '', // Policy no $row['member']['current_corporate']? $row['member']['current_corporate']['name'] : '', // Corporate Name $row['member']['current_plan']? $row['member']['current_plan']['code'] : '', // Plan Code @@ -339,7 +341,7 @@ class ClaimController extends Controller $row['member']['current_corporate']? $row['member']['current_corporate']['code'] : '', // Institution Code '', // Invoice Line Number $row['status'], // Claim Status - '', // Admission Date + $row['claim_request']? $row['claim_request']['submission_date'] : '-', // Admission Date '', // Discharge Date '', // Date Of Service '', // Place Of Service @@ -354,7 +356,7 @@ class ClaimController extends Controller $row['claim_request'] ? $row['claim_request']['service']['description'] : '', // ServiceDescription '', // UnitPrice '', // Quantity - '', // Tarif + $row['member']['current_policy']['latest_limit_journal'] ? abs($row['member']['current_policy']['latest_limit_journal']['total_credit']): '', // Tarif '', // Claimable amount '', // Paid by customer '', // HD Disc @@ -369,7 +371,7 @@ class ClaimController extends Controller '', // Claimable Status $row['claim_request'] ? $row['claim_request']['service']['description'] : '', // ServiceDescription, // Benefit Code ]; - + // dd($rowData); $row = WriterEntityFactory::createRowFromArray($rowData); $writer->addRow($row); } @@ -444,7 +446,7 @@ class ClaimController extends Controller return Helper::responseJson([ 'file_name' => "Data Claim Report " . date('Y-m-d h:i:s'), - "file_url" => url('files/CorporatePlan&BenefitImportData.xlsx') + "file_url" => url('files/Benefit Usage Report.xlsx') ]); } } diff --git a/frontend/client-portal/src/sections/dashboard/CardPolicy.tsx b/frontend/client-portal/src/sections/dashboard/CardPolicy.tsx index 41ba3808..53c9bad1 100644 --- a/frontend/client-portal/src/sections/dashboard/CardPolicy.tsx +++ b/frontend/client-portal/src/sections/dashboard/CardPolicy.tsx @@ -61,6 +61,10 @@ type CardPolicyProps = { }; maxTopUp: number; }; + members: { + memberId: string; + memberFullName: string; + } }; }; @@ -95,7 +99,7 @@ export default function CardPolicy(props: CardPolicyProps) { const [dialogTitle, setDialogTitle] = useState(''); const [isDialog, setIsDialog] = useState(''); - const { limit, topUpLimit } = props.data || {}; + const { limit, topUpLimit, members } = props.data || {}; if (!limit || !topUpLimit) { return null; } @@ -185,14 +189,14 @@ export default function CardPolicy(props: CardPolicyProps) { - {/* {isDialog === 'submitClaim' && ( + {isDialog === 'submitClaim' && ( - )} */} + )} {isDialog === 'topUpLimit' && ( ) => { - event.preventDefault(); - - await new Promise((resolve) => setTimeout(resolve, 500)); + // await new Promise((resolve) => setTimeout(resolve, 500)); + // setLoadingBenefit(true) + + // axios.post('/search-member', { + // search: searchText, + // }) + // .then((response) => { + // setOpenDialogBenefit(true) + // setCurrentMember(response.data.data) + // setNameMember(response.data.data.name); + // }) + // .catch(({response}) => { + // enqueueSnackbar(response.data.errors ? response.data.errors[0] : (response.data ? response.data.meta.message : 'Opps, Something went Wrong!'), {variant : "error"}) + // }) + // .then(() => { + // setLoadingBenefit(false) + // }); }; /* -------------------------------------------------------------------------- */ diff --git a/frontend/dashboard/src/pages/Claims/List.tsx b/frontend/dashboard/src/pages/Claims/List.tsx index 9e32e720..2da719bf 100644 --- a/frontend/dashboard/src/pages/Claims/List.tsx +++ b/frontend/dashboard/src/pages/Claims/List.tsx @@ -173,8 +173,8 @@ export default function List() { {open ? : } - {row.code} {row.claim_request?.code} + {row.code} {row.member?.full_name} {row.plan?.code} {row.claim_request?.service?.name} diff --git a/public/files/Benefit Usage Report.xlsx b/public/files/Benefit Usage Report.xlsx new file mode 100644 index 00000000..e69de29b diff --git a/resources/views/pdf/final_log.blade.php b/resources/views/pdf/final_log.blade.php index 6abfc19e..fccdd337 100644 --- a/resources/views/pdf/final_log.blade.php +++ b/resources/views/pdf/final_log.blade.php @@ -129,7 +129,7 @@ use App\Helpers\Helper; -

Dengan ini jaminan diberikan kepada pasien yang juga meruopakan tertanggung/peserta yang diasuransikan "Pasien" dengan data sebagai berikut

+

Dengan ini jaminan diberikan kepada pasien yang juga merupakan tertanggung/peserta yang diasuransikan "Pasien" dengan data sebagai berikut

@@ -240,7 +240,7 @@ use App\Helpers\Helper;

Tidak Dijamin : Full Cover

-

* Bila pasien menempati kamar perawatan di atas manfaat yang imiliki maka pasien wajib membayar selisih yang timbul dan biaya yang tidak dijamin setelah menjalani perawatan Rumah Sakit

+

* Bila pasien menempati kamar perawatan di atas manfaat yang dimiliki maka pasien wajib membayar selisih yang timbul dan biaya yang tidak dijamin setelah menjalani perawatan Rumah Sakit