From 79a097c95810e7f090b748a1379f8843c02a9002 Mon Sep 17 00:00:00 2001 From: ivan-sim Date: Fri, 23 Feb 2024 16:05:20 +0700 Subject: [PATCH 1/2] Update claim management migrasi table --- .../Http/Controllers/Api/ClaimController.php | 92 +++++++++---------- ...725_add_coloumn_to_claim_request_table.php | 2 +- ...52_add_coloumn_to_claim_requests_table.php | 43 +++++++++ .../dashboard/src/pages/Claims/Detail.tsx | 4 +- frontend/dashboard/src/pages/Claims/List.tsx | 2 +- 5 files changed, 90 insertions(+), 53 deletions(-) create mode 100644 database/migrations/2024_02_23_143652_add_coloumn_to_claim_requests_table.php diff --git a/Modules/Internal/Http/Controllers/Api/ClaimController.php b/Modules/Internal/Http/Controllers/Api/ClaimController.php index 7c358d90..22453713 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_claim_management', '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_claim_management 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_claim_management', '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_claim_management 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_claim_management','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/database/migrations/2024_02_23_143652_add_coloumn_to_claim_requests_table.php b/database/migrations/2024_02_23_143652_add_coloumn_to_claim_requests_table.php new file mode 100644 index 00000000..631c0846 --- /dev/null +++ b/database/migrations/2024_02_23_143652_add_coloumn_to_claim_requests_table.php @@ -0,0 +1,43 @@ +string('code_claim_management', 255)->after('claim_management'); + + }); + } + + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + if ( + Schema::hasColumn('claim_requests', 'code_claim_management') + ) { + Schema::table('claim_requests', function (Blueprint $table) { + $table->dropColumn('code_claim_management'); + }); + } + } +}; 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} - + {/* { @@ -353,7 +353,7 @@ export default function Detail() { } /> - + */} 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' && ()} From 3ba4889713d7c6a76a78c7a5f1ecd9b83e091872 Mon Sep 17 00:00:00 2001 From: ivan-sim Date: Mon, 26 Feb 2024 21:55:45 +0700 Subject: [PATCH 2/2] Update code claim management --- .../Http/Controllers/Api/ClaimController.php | 10 ++--- ...52_add_coloumn_to_claim_requests_table.php | 43 ------------------- 2 files changed, 5 insertions(+), 48 deletions(-) delete mode 100644 database/migrations/2024_02_23_143652_add_coloumn_to_claim_requests_table.php diff --git a/Modules/Internal/Http/Controllers/Api/ClaimController.php b/Modules/Internal/Http/Controllers/Api/ClaimController.php index 22453713..e0bfec89 100644 --- a/Modules/Internal/Http/Controllers/Api/ClaimController.php +++ b/Modules/Internal/Http/Controllers/Api/ClaimController.php @@ -49,7 +49,7 @@ class ClaimController extends Controller ->when($request->input('search'), function ($query, $search) { $query->where(function ($query) use ($search) { $query->orWhere('members.name', 'like', "%" . $search . "%"); - $query->orWhere('claim_requests.code_claim_management', 'like', "%" . $search . "%"); + $query->orWhere('claim_requests.code', 'like', "%" . $search . "%"); $query->orWhere('members.member_id', 'like', "%" . $search . "%"); }); }) @@ -78,7 +78,7 @@ class ClaimController extends Controller ->select( 'claim_requests.id', 'request_logs.id AS id_log', - 'claim_requests.code_claim_management as code', + 'claim_requests.code as code', 'members.name', DB::raw(' (SELECT members.member_id FROM members WHERE members.id = claim_requests.member_id LIMIT 1) AS member_id @@ -146,7 +146,7 @@ class ClaimController extends Controller ->when($request->input('search'), function ($query, $search) { $query->where(function ($query) use ($search) { $query->orWhere('members.name', 'like', "%" . $search . "%"); - $query->orWhere('claim_requests.code_claim_management', 'like', "%" . $search . "%"); + $query->orWhere('claim_requests.code', 'like', "%" . $search . "%"); $query->orWhere('members.member_id', 'like', "%" . $search . "%"); }); }) @@ -175,7 +175,7 @@ class ClaimController extends Controller ->select( 'claim_requests.id', 'request_logs.id AS id_log', - 'claim_requests.code_claim_management as code', + 'claim_requests.code as code', 'members.name', DB::raw(' (SELECT members.member_id FROM members WHERE members.id = claim_requests.member_id LIMIT 1) AS member_id @@ -288,7 +288,7 @@ class ClaimController extends Controller ->join('request_logs', 'claim_requests.request_log_id','=', 'request_logs.id') ->join('members', 'request_logs.member_id', '=', 'members.id') ->where('claim_requests.id', '=', $id) - ->select('claim_requests.code_claim_management','members.name','claim_requests.created_at', DB::raw(' + ->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(); diff --git a/database/migrations/2024_02_23_143652_add_coloumn_to_claim_requests_table.php b/database/migrations/2024_02_23_143652_add_coloumn_to_claim_requests_table.php deleted file mode 100644 index 631c0846..00000000 --- a/database/migrations/2024_02_23_143652_add_coloumn_to_claim_requests_table.php +++ /dev/null @@ -1,43 +0,0 @@ -string('code_claim_management', 255)->after('claim_management'); - - }); - } - - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - if ( - Schema::hasColumn('claim_requests', 'code_claim_management') - ) { - Schema::table('claim_requests', function (Blueprint $table) { - $table->dropColumn('code_claim_management'); - }); - } - } -};