diff --git a/Modules/Internal/Http/Controllers/Api/ClaimController.php b/Modules/Internal/Http/Controllers/Api/ClaimController.php
index 7c358d90..e0bfec89 100644
--- a/Modules/Internal/Http/Controllers/Api/ClaimController.php
+++ b/Modules/Internal/Http/Controllers/Api/ClaimController.php
@@ -42,13 +42,15 @@ class ClaimController extends Controller
public function index(Request $request)
{
$limit = $request->has('per_page') ? $request->input('per_page') : 10;
- $results = DB::table('claims')
- ->leftJoin('claim_requests', 'claims.claim_request_id','=', 'claim_requests.id')
+ $results = DB::table('claim_requests')
->leftJoin('request_logs', 'claim_requests.request_log_id','=', 'request_logs.id')
->leftJoin('members', 'request_logs.member_id', '=', 'members.id')
+ ->leftJoin('member_plans', 'member_plans.member_id', '=', 'members.id')
->when($request->input('search'), function ($query, $search) {
$query->where(function ($query) use ($search) {
$query->orWhere('members.name', 'like', "%" . $search . "%");
+ $query->orWhere('claim_requests.code', 'like', "%" . $search . "%");
+ $query->orWhere('members.member_id', 'like', "%" . $search . "%");
});
})
->when($request->has('orderBy'), function ($query) use ($request) {
@@ -59,12 +61,12 @@ class ClaimController extends Controller
})
->when($request->input('start_date') , function ($query, $start_date) {
$query->where(function ($query) use ($start_date) {
- $query->where('claims.created_at', '>=', $start_date);
+ $query->where('claim_requests.created_at', '>=', $start_date);
});
})
->when($request->input('end_date') , function ($query, $end_date) {
$query->where(function ($query) use ($end_date) {
- $query->where('claims.created_at', '<=', $end_date);
+ $query->where('claim_requests.created_at', '<=', $end_date);
});
})
->when($request->input('provider') , function ($query, $provider) {
@@ -72,17 +74,18 @@ class ClaimController extends Controller
$query->where('request_logs.organization_id', '=', $provider);
});
})
+ ->where('claim_management', '=', 1)
->select(
- 'claims.id',
+ 'claim_requests.id',
'request_logs.id AS id_log',
- 'claims.code',
+ 'claim_requests.code as code',
'members.name',
DB::raw('
- (SELECT members.member_id FROM members WHERE members.id = claims.member_id LIMIT 1) AS member_id
+ (SELECT members.member_id FROM members WHERE members.id = claim_requests.member_id LIMIT 1) AS member_id
'),
- 'claims.created_at',
+ 'claim_requests.created_at',
DB::raw('
- (SELECT plans.code FROM plans WHERE plans.id = claims.plan_id LIMIT 1) AS plan_code
+ (SELECT plans.code FROM plans WHERE plans.id = member_plans.plan_id LIMIT 1) AS plan_code
'),
DB::raw('
(SELECT services.description FROM services WHERE services.code = claim_requests.service_code LIMIT 1) AS service_code
@@ -97,7 +100,7 @@ class ClaimController extends Controller
(Select SUM(request_log_benefits.amount_approved) as tot_bill FROM request_log_benefits
WHERE request_log_benefits.request_log_id = request_logs.id LIMIT 1) AS tot_bill
'),
- 'claims.status',
+ 'claim_requests.status_claim_management as status',
)
->paginate($limit);
@@ -136,13 +139,15 @@ class ClaimController extends Controller
$headerRow = WriterEntityFactory::createRowFromArray($header, $style);
$writer->addRow($headerRow);
// ============================
- $results = DB::table('claims')
- ->leftJoin('claim_requests', 'claims.claim_request_id','=', 'claim_requests.id')
+ $results = DB::table('claim_requests')
->leftJoin('request_logs', 'claim_requests.request_log_id','=', 'request_logs.id')
->leftJoin('members', 'request_logs.member_id', '=', 'members.id')
+ ->leftJoin('member_plans', 'member_plans.member_id', '=', 'members.id')
->when($request->input('search'), function ($query, $search) {
$query->where(function ($query) use ($search) {
$query->orWhere('members.name', 'like', "%" . $search . "%");
+ $query->orWhere('claim_requests.code', 'like', "%" . $search . "%");
+ $query->orWhere('members.member_id', 'like', "%" . $search . "%");
});
})
->when($request->has('orderBy'), function ($query) use ($request) {
@@ -153,12 +158,12 @@ class ClaimController extends Controller
})
->when($request->input('start_date') , function ($query, $start_date) {
$query->where(function ($query) use ($start_date) {
- $query->where('claims.created_at', '>=', $start_date);
+ $query->where('claim_requests.created_at', '>=', $start_date);
});
})
->when($request->input('end_date') , function ($query, $end_date) {
$query->where(function ($query) use ($end_date) {
- $query->where('claims.created_at', '<=', $end_date);
+ $query->where('claim_requests.created_at', '<=', $end_date);
});
})
->when($request->input('provider') , function ($query, $provider) {
@@ -166,17 +171,18 @@ class ClaimController extends Controller
$query->where('request_logs.organization_id', '=', $provider);
});
})
+ ->where('claim_management', '=', 1)
->select(
- 'claims.id',
+ 'claim_requests.id',
'request_logs.id AS id_log',
- 'claims.code',
+ 'claim_requests.code as code',
'members.name',
DB::raw('
- (SELECT members.member_id FROM members WHERE members.id = claims.member_id LIMIT 1) AS member_id
+ (SELECT members.member_id FROM members WHERE members.id = claim_requests.member_id LIMIT 1) AS member_id
'),
- 'claims.created_at',
+ 'claim_requests.created_at',
DB::raw('
- (SELECT plans.code FROM plans WHERE plans.id = claims.plan_id LIMIT 1) AS plan_code
+ (SELECT plans.code FROM plans WHERE plans.id = member_plans.plan_id LIMIT 1) AS plan_code
'),
DB::raw('
(SELECT services.description FROM services WHERE services.code = claim_requests.service_code LIMIT 1) AS service_code
@@ -191,7 +197,7 @@ class ClaimController extends Controller
(Select SUM(request_log_benefits.amount_approved) as tot_bill FROM request_log_benefits
WHERE request_log_benefits.request_log_id = request_logs.id LIMIT 1) AS tot_bill
'),
- 'claims.status',
+ 'claim_requests.status_claim_management as status',
)
->get();
$no=0;
@@ -271,19 +277,18 @@ class ClaimController extends Controller
public function cekStatus($id)
{
- $cek = DB::table('claims')
- ->where('claims.id', '=', $id)
- ->select('claims.status')
+ $cek = DB::table('claim_requests')
+ ->where('claim_requests.id', '=', $id)
+ ->select('claim_requests.status_claim_management as status')
->first();
$data['cek'] = $cek;
- $member = DB::table('claims')
- ->join('claim_requests', 'claims.claim_request_id','=', 'claim_requests.id')
+ $member = DB::table('claim_requests')
->join('request_logs', 'claim_requests.request_log_id','=', 'request_logs.id')
->join('members', 'request_logs.member_id', '=', 'members.id')
- ->where('claims.id', '=', $id)
- ->select('claims.code','members.name','claims.created_at', DB::raw('
+ ->where('claim_requests.id', '=', $id)
+ ->select('claim_requests.code','members.name','claim_requests.created_at', DB::raw('
(SELECT services.name FROM services WHERE services.code = request_logs.service_code LIMIT 1) AS service_type
'),)
->first();
@@ -559,20 +564,15 @@ class ClaimController extends Controller
public function decline(Request $request, $id)
{
- //Get claim request id
- $data_claim_requests = DB::table('claim_requests')
- ->leftJoin('claims', 'claim_requests.id', '=', 'claims.claim_request_id')
- ->where('claims.id', $id)
- ->select('claim_requests.id')
- ->first();
- $id = $data_claim_requests->id;
- DB::table('claims')
- ->where('claim_request_id', $id)
+ DB::table('claim_requests')
+ ->where('claim_requests.id', $id)
->update(
[
- 'status' => 'declined',
- 'reason_decline' => $request->reasonDecline ? $request->reasonDecline : ''
+ 'status_claim_management' => 'declined',
+ 'reason_decline' => $request->reasonDecline ? $request->reasonDecline : '',
+ 'approval_date_claim_management' => date('Y-m-d H:i:s'),
+ 'approval_by_claim_management' => auth()->user()->id
]
);
@@ -594,19 +594,13 @@ class ClaimController extends Controller
public function approve($id)
{
- //Get claim request id
- $data_claim_requests = DB::table('claim_requests')
- ->leftJoin('claims', 'claim_requests.id', '=', 'claims.claim_request_id')
- ->where('claims.id', $id)
- ->select('claim_requests.id')
- ->first();
- $id = $data_claim_requests->id;
-
- DB::table('claims')
- ->where('claim_request_id', $id)
+ DB::table('claim_requests')
+ ->where('claim_requests.id', $id)
->update(
[
- 'status' => 'approved'
+ 'status_claim_management' => 'approved',
+ 'approval_date_claim_management' => date('Y-m-d H:i:s'),
+ 'approval_by_claim_management' => auth()->user()->id
]
);
diff --git a/database/migrations/2024_02_23_091725_add_coloumn_to_claim_request_table.php b/database/migrations/2024_02_23_091725_add_coloumn_to_claim_request_table.php
index be2a049e..09501950 100644
--- a/database/migrations/2024_02_23_091725_add_coloumn_to_claim_request_table.php
+++ b/database/migrations/2024_02_23_091725_add_coloumn_to_claim_request_table.php
@@ -17,7 +17,7 @@ return new class extends Migration
$table->integer('claim_management')
->default(0)
->after('status')
- ->comment('untuk flag request masuk ke final, jika 0 masih request dan 1 itu sudah masuk ke finallog');
+ ->comment('0=claim request, 1=claim management');
$table->string('status_claim_management')->after('claim_management')->nullable();
$table->dateTime('submission_date_claim_management')->after('status_claim_management')->nullable();
$table->string('submission_by_claim_management')->after('submission_date_claim_management')->nullable();
diff --git a/frontend/dashboard/src/pages/Claims/Detail.tsx b/frontend/dashboard/src/pages/Claims/Detail.tsx
index 98af659a..cef407f5 100644
--- a/frontend/dashboard/src/pages/Claims/Detail.tsx
+++ b/frontend/dashboard/src/pages/Claims/Detail.tsx
@@ -331,7 +331,7 @@ export default function Detail() {
{item.benefit?.description}
-
+ {/*
>
} />
-
+ */}
diff --git a/frontend/dashboard/src/pages/Claims/List.tsx b/frontend/dashboard/src/pages/Claims/List.tsx
index 06791385..455c3dfe 100644
--- a/frontend/dashboard/src/pages/Claims/List.tsx
+++ b/frontend/dashboard/src/pages/Claims/List.tsx
@@ -532,7 +532,7 @@ const dummyServices = [
{row?.service_code}
{row?.corporate_policies}
{row?.provider}
- Rp. {row?.tot_bill?.toLocaleString('id-ID')}
+ Rp. {row?.tot_bill?.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".")}
{row.status == 'draft' && ()}
{row.status == 'requested' && ()}