Merge branch 'staging' of https://dev.sismedika.online/febio/aso into staging

This commit is contained in:
2024-02-27 10:32:33 +07:00
4 changed files with 47 additions and 53 deletions

View File

@@ -42,13 +42,15 @@ class ClaimController extends Controller
public function index(Request $request) public function index(Request $request)
{ {
$limit = $request->has('per_page') ? $request->input('per_page') : 10; $limit = $request->has('per_page') ? $request->input('per_page') : 10;
$results = DB::table('claims') $results = DB::table('claim_requests')
->leftJoin('claim_requests', 'claims.claim_request_id','=', 'claim_requests.id')
->leftJoin('request_logs', 'claim_requests.request_log_id','=', 'request_logs.id') ->leftJoin('request_logs', 'claim_requests.request_log_id','=', 'request_logs.id')
->leftJoin('members', 'request_logs.member_id', '=', 'members.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) { ->when($request->input('search'), function ($query, $search) {
$query->where(function ($query) use ($search) { $query->where(function ($query) use ($search) {
$query->orWhere('members.name', 'like', "%" . $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) { ->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) { ->when($request->input('start_date') , function ($query, $start_date) {
$query->where(function ($query) use ($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) { ->when($request->input('end_date') , function ($query, $end_date) {
$query->where(function ($query) use ($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) { ->when($request->input('provider') , function ($query, $provider) {
@@ -72,17 +74,18 @@ class ClaimController extends Controller
$query->where('request_logs.organization_id', '=', $provider); $query->where('request_logs.organization_id', '=', $provider);
}); });
}) })
->where('claim_management', '=', 1)
->select( ->select(
'claims.id', 'claim_requests.id',
'request_logs.id AS id_log', 'request_logs.id AS id_log',
'claims.code', 'claim_requests.code as code',
'members.name', 'members.name',
DB::raw(' 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(' 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(' DB::raw('
(SELECT services.description FROM services WHERE services.code = claim_requests.service_code LIMIT 1) AS service_code (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 (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 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); ->paginate($limit);
@@ -136,13 +139,15 @@ class ClaimController extends Controller
$headerRow = WriterEntityFactory::createRowFromArray($header, $style); $headerRow = WriterEntityFactory::createRowFromArray($header, $style);
$writer->addRow($headerRow); $writer->addRow($headerRow);
// ============================ // ============================
$results = DB::table('claims') $results = DB::table('claim_requests')
->leftJoin('claim_requests', 'claims.claim_request_id','=', 'claim_requests.id')
->leftJoin('request_logs', 'claim_requests.request_log_id','=', 'request_logs.id') ->leftJoin('request_logs', 'claim_requests.request_log_id','=', 'request_logs.id')
->leftJoin('members', 'request_logs.member_id', '=', 'members.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) { ->when($request->input('search'), function ($query, $search) {
$query->where(function ($query) use ($search) { $query->where(function ($query) use ($search) {
$query->orWhere('members.name', 'like', "%" . $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) { ->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) { ->when($request->input('start_date') , function ($query, $start_date) {
$query->where(function ($query) use ($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) { ->when($request->input('end_date') , function ($query, $end_date) {
$query->where(function ($query) use ($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) { ->when($request->input('provider') , function ($query, $provider) {
@@ -166,17 +171,18 @@ class ClaimController extends Controller
$query->where('request_logs.organization_id', '=', $provider); $query->where('request_logs.organization_id', '=', $provider);
}); });
}) })
->where('claim_management', '=', 1)
->select( ->select(
'claims.id', 'claim_requests.id',
'request_logs.id AS id_log', 'request_logs.id AS id_log',
'claims.code', 'claim_requests.code as code',
'members.name', 'members.name',
DB::raw(' 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(' 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(' DB::raw('
(SELECT services.description FROM services WHERE services.code = claim_requests.service_code LIMIT 1) AS service_code (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 (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 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(); ->get();
$no=0; $no=0;
@@ -271,19 +277,18 @@ class ClaimController extends Controller
public function cekStatus($id) public function cekStatus($id)
{ {
$cek = DB::table('claims') $cek = DB::table('claim_requests')
->where('claims.id', '=', $id) ->where('claim_requests.id', '=', $id)
->select('claims.status') ->select('claim_requests.status_claim_management as status')
->first(); ->first();
$data['cek'] = $cek; $data['cek'] = $cek;
$member = DB::table('claims') $member = DB::table('claim_requests')
->join('claim_requests', 'claims.claim_request_id','=', 'claim_requests.id')
->join('request_logs', 'claim_requests.request_log_id','=', 'request_logs.id') ->join('request_logs', 'claim_requests.request_log_id','=', 'request_logs.id')
->join('members', 'request_logs.member_id', '=', 'members.id') ->join('members', 'request_logs.member_id', '=', 'members.id')
->where('claims.id', '=', $id) ->where('claim_requests.id', '=', $id)
->select('claims.code','members.name','claims.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 (SELECT services.name FROM services WHERE services.code = request_logs.service_code LIMIT 1) AS service_type
'),) '),)
->first(); ->first();
@@ -559,20 +564,15 @@ class ClaimController extends Controller
public function decline(Request $request, $id) 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') DB::table('claim_requests')
->where('claim_request_id', $id) ->where('claim_requests.id', $id)
->update( ->update(
[ [
'status' => 'declined', 'status_claim_management' => 'declined',
'reason_decline' => $request->reasonDecline ? $request->reasonDecline : '' '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) public function approve($id)
{ {
//Get claim request id DB::table('claim_requests')
$data_claim_requests = DB::table('claim_requests') ->where('claim_requests.id', $id)
->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)
->update( ->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
] ]
); );

View File

@@ -17,7 +17,7 @@ return new class extends Migration
$table->integer('claim_management') $table->integer('claim_management')
->default(0) ->default(0)
->after('status') ->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->string('status_claim_management')->after('claim_management')->nullable();
$table->dateTime('submission_date_claim_management')->after('status_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(); $table->string('submission_by_claim_management')->after('submission_date_claim_management')->nullable();

View File

@@ -331,7 +331,7 @@ export default function Detail() {
{item.benefit?.description} {item.benefit?.description}
</Typography> </Typography>
</Grid> </Grid>
<Grid item xs={6} sx={{ display: 'flex', placeContent: 'end' }}> {/* <Grid item xs={6} sx={{ display: 'flex', placeContent: 'end' }}>
<MoreMenu actions={ <MoreMenu actions={
<> <>
<MenuItem onClick={() => { <MenuItem onClick={() => {
@@ -353,7 +353,7 @@ export default function Detail() {
</MenuItem> </MenuItem>
</> </>
} /> } />
</Grid> </Grid> */}
</Grid> </Grid>
</Grid> </Grid>
<Grid item xs={12}> <Grid item xs={12}>

View File

@@ -532,7 +532,7 @@ const dummyServices = [
<TableCell align="left">{row?.service_code}</TableCell> <TableCell align="left">{row?.service_code}</TableCell>
<TableCell align="left">{row?.corporate_policies}</TableCell> <TableCell align="left">{row?.corporate_policies}</TableCell>
<TableCell align="left">{row?.provider}</TableCell> <TableCell align="left">{row?.provider}</TableCell>
<TableCell align="left">Rp. {row?.tot_bill?.toLocaleString('id-ID')}</TableCell> <TableCell align="left">Rp. {row?.tot_bill?.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".")}</TableCell>
<TableCell align="left"> <TableCell align="left">
{row.status == 'draft' && (<Label color='secondary' variant='ghost'>{capitalizeFirstLetter(row.status)}</Label>)} {row.status == 'draft' && (<Label color='secondary' variant='ghost'>{capitalizeFirstLetter(row.status)}</Label>)}
{row.status == 'requested' && (<Label color='primary' variant='ghost'>{capitalizeFirstLetter(row.status)}</Label>)} {row.status == 'requested' && (<Label color='primary' variant='ghost'>{capitalizeFirstLetter(row.status)}</Label>)}