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/public/files/CorporatePlan&BenefitImportData.xlsx b/public/files/CorporatePlan&BenefitImportData.xlsx
index 4c003fd1..523b1f62 100644
Binary files a/public/files/CorporatePlan&BenefitImportData.xlsx and b/public/files/CorporatePlan&BenefitImportData.xlsx differ