finishing benefit configuration
This commit is contained in:
@@ -59,7 +59,7 @@ class ClaimController extends Controller
|
||||
->where('status', '!=', 'requested') // Penjagaan agar approve baru masuk ke claim management
|
||||
->latest()
|
||||
->paginate(10);
|
||||
|
||||
|
||||
|
||||
return response()->json($claims);
|
||||
}
|
||||
@@ -118,8 +118,8 @@ class ClaimController extends Controller
|
||||
{
|
||||
$claim = Claim::query()
|
||||
->with([
|
||||
'member',
|
||||
// 'member.currentPlan',
|
||||
'member',
|
||||
// 'member.currentPlan',
|
||||
// 'member.currentPlan.benefits',
|
||||
'member.currentCorporate',
|
||||
// 'member.currentPolicy',
|
||||
@@ -159,9 +159,9 @@ class ClaimController extends Controller
|
||||
{
|
||||
$claim = Claim::query()
|
||||
->with([
|
||||
'member',
|
||||
'member',
|
||||
'plan',
|
||||
'member.currentPlan',
|
||||
'member.currentPlan',
|
||||
'member.currentPlan.benefits',
|
||||
'member.currentCorporate',
|
||||
'member.currentPolicy',
|
||||
@@ -205,7 +205,7 @@ class ClaimController extends Controller
|
||||
'amount_not_approved' => $request->amount_not_approved,
|
||||
'excess_paid' => $request->excess_paid,
|
||||
];
|
||||
|
||||
|
||||
$validator = Validator::make($request->all(), [
|
||||
'benefit_desc' => 'required',
|
||||
'amount_incurred' => 'required|numeric',
|
||||
@@ -213,11 +213,11 @@ class ClaimController extends Controller
|
||||
'amount_not_approved' => 'required|numeric',
|
||||
'excess_paid' => 'required|numeric',
|
||||
], $customMessages);
|
||||
|
||||
|
||||
if ($validator->fails()) {
|
||||
return ApiResponse::apiResponse('Bad Request', $data, $validator->errors(), 400);
|
||||
}
|
||||
|
||||
|
||||
// Validasi berhasil, lanjutkan dengan pembaruan data
|
||||
$claim = Claim::findOrFail($id);
|
||||
$claim->fill([
|
||||
@@ -227,8 +227,8 @@ class ClaimController extends Controller
|
||||
'amount_not_approved' => $request->amount_not_approved,
|
||||
'excess_paid' => $request->excess_paid,
|
||||
])->save();
|
||||
|
||||
return $claim;
|
||||
|
||||
return $claim;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -259,12 +259,12 @@ class ClaimController extends Controller
|
||||
|
||||
return $claim;
|
||||
}
|
||||
|
||||
|
||||
public function updateItems(Request $request, $id)
|
||||
{
|
||||
$request->validate([]);
|
||||
$claim = Claim::findOrFail($id);
|
||||
|
||||
|
||||
$order = 1;
|
||||
$data = [];
|
||||
$claim->items()->forceDelete();
|
||||
@@ -290,7 +290,7 @@ class ClaimController extends Controller
|
||||
// Update total
|
||||
$claim->total_claim = $totalClaim;
|
||||
$claim->save();
|
||||
|
||||
|
||||
return Helper::responseJson([], message: "Item Claim berhasil di update");
|
||||
}
|
||||
|
||||
@@ -304,7 +304,7 @@ class ClaimController extends Controller
|
||||
foreach ($request->primary as $diagnosisId) {
|
||||
$claim->diagnoses()->create([
|
||||
'claim_id' => $claim->id,
|
||||
'type' => 'primary',
|
||||
'type' => 'primary',
|
||||
'diagnosis_id' => $diagnosisId,
|
||||
'note' => '',
|
||||
'description' => '',
|
||||
@@ -316,7 +316,7 @@ class ClaimController extends Controller
|
||||
foreach ($request->secondary as $diagnosisId) {
|
||||
$claim->diagnoses()->create([
|
||||
'claim_id' => $claim->id,
|
||||
'type' => 'secondary',
|
||||
'type' => 'secondary',
|
||||
'diagnosis_id' => $diagnosisId,
|
||||
'note' => '',
|
||||
'description' => '',
|
||||
@@ -433,7 +433,7 @@ class ClaimController extends Controller
|
||||
|
||||
// TODO Fix this tipu tipu
|
||||
$inpationBenefit = $claim->member->currentPlan->benefits()->first();
|
||||
|
||||
|
||||
$pdf = PDF::loadView('pdf.final_log', [
|
||||
'claim' => $claim,
|
||||
'member' => $claim->member,
|
||||
@@ -441,7 +441,7 @@ class ClaimController extends Controller
|
||||
'hospital' => $hospital,
|
||||
'inpationBenefit' => $inpationBenefit
|
||||
]);
|
||||
|
||||
|
||||
return $pdf->download('Final LOG '.$claim->code.'.pdf');
|
||||
|
||||
$view = view('pdf.final_log', [
|
||||
@@ -461,7 +461,7 @@ class ClaimController extends Controller
|
||||
$writer = WriterEntityFactory::createXLSXWriter();
|
||||
// Membuka penulis untuk menulis ke file
|
||||
$writer->openToFile(public_path('files/Benefit Usage Report.xlsx'));
|
||||
|
||||
|
||||
// Sheet 1
|
||||
$writer->getCurrentSheet()->setName('Worksheet');
|
||||
$headers_map_to_table_fields = Claim::$listing_doc_headers;
|
||||
@@ -477,7 +477,7 @@ class ClaimController extends Controller
|
||||
return $diagnosis->where('type', 'primary');
|
||||
},
|
||||
'diagnoses.icd',
|
||||
'plan',
|
||||
'plan',
|
||||
'benefit',
|
||||
'claimRequest',
|
||||
'claimRequest.service',
|
||||
@@ -598,7 +598,7 @@ class ClaimController extends Controller
|
||||
// ];
|
||||
// $row = WriterEntityFactory::createRowFromArray($rowData);
|
||||
// $writer->addRow($row);
|
||||
|
||||
|
||||
// }
|
||||
|
||||
$writer->close();
|
||||
@@ -618,7 +618,7 @@ class ClaimController extends Controller
|
||||
->select('claim_requests.id')
|
||||
->first();
|
||||
$claim_id = $data_claim_requests->id;
|
||||
|
||||
|
||||
$customer_data = DB::table('claim_requests')
|
||||
->leftJoin('claims', 'claim_requests.id', '=', 'claims.claim_request_id')
|
||||
->leftJoin('members', 'claim_requests.member_id', '=', 'members.id')
|
||||
@@ -633,7 +633,7 @@ class ClaimController extends Controller
|
||||
'members.payor_id',
|
||||
'members.member_id',
|
||||
'claim_requests.payment_type',
|
||||
'corporates.name AS coporate_name',
|
||||
'corporates.name AS coporate_name',
|
||||
)
|
||||
->first();
|
||||
$results['customer_data'] = $customer_data;
|
||||
@@ -844,7 +844,7 @@ class ClaimController extends Controller
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return Helper::responseJson([]);
|
||||
}
|
||||
|
||||
@@ -903,7 +903,7 @@ class ClaimController extends Controller
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
];
|
||||
}
|
||||
DB::table('claim_request_files')->insert($dataToInsert);
|
||||
DB::table('claim_request_files')->insert($dataToInsert);
|
||||
|
||||
return Helper::responseJson([]);
|
||||
}
|
||||
@@ -999,4 +999,81 @@ class ClaimController extends Controller
|
||||
|
||||
return Helper::responseJson(message: 'Data Berhasil di update');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Benefit Configuration
|
||||
*
|
||||
* Bagaskoro, BSD 03 November 2023
|
||||
*/
|
||||
public function getBenefitConfiguration(Request $request, $claim_id) {
|
||||
|
||||
$benefit_list = DB::table('claims')
|
||||
->leftJoin('claim_services', 'claims.claim_request_id', '=', 'claim_services.claim_request_id')
|
||||
->leftJoin('claim_service_benefits', 'claim_services.id', '=', 'claim_service_benefits.claim_service_id')
|
||||
->leftJoin('benefits', 'claim_service_benefits.benefit_id', '=', 'benefits.id')
|
||||
->select("claim_service_benefits.id AS claim_service_benefits_id", "benefits.description AS benefit_name", "claim_service_benefits.amount_incurred", "claim_service_benefits.amount_approved", "claim_service_benefits.amount_not_approved", "claim_service_benefits.excess_paid")
|
||||
->where("claims.id", "=", $claim_id)
|
||||
->get();
|
||||
|
||||
return response()->json([
|
||||
'error' => false,
|
||||
'message' => "success",
|
||||
'data' => [
|
||||
'benefit_list' => $benefit_list,
|
||||
]
|
||||
],200);
|
||||
}
|
||||
|
||||
/**
|
||||
* Edit Benefit Configuration
|
||||
*
|
||||
* Bagaskoro, BSD 03 November 2023
|
||||
*/
|
||||
public function editBenefitConfiguration(Request $request, $claim_service_benefits_id) {
|
||||
$request->merge(['claim_service_benefits_id' => $claim_service_benefits_id]);
|
||||
|
||||
// validation rule
|
||||
$validator = Validator::make($request->all(),[
|
||||
'claim_service_benefits_id' => 'required|exists:claim_service_benefits,id',
|
||||
'amount_incurred' => 'required|numeric',
|
||||
'amount_approved' => 'required|numeric',
|
||||
'amount_not_approved' => 'required|numeric',
|
||||
'excess_paid' => 'required|numeric',
|
||||
],$this->messages());
|
||||
|
||||
// validation error
|
||||
if ($validator->fails()) {
|
||||
return response()->json([
|
||||
'error' => true,
|
||||
'message' => $validator->getMessageBag()
|
||||
],400);
|
||||
}
|
||||
|
||||
try {
|
||||
DB::table('claim_service_benefits')->where('id', $claim_service_benefits_id)->update([
|
||||
'amount_incurred' => $request->amount_incurred,
|
||||
'amount_approved' => $request->amount_approved,
|
||||
'amount_not_approved' => $request->amount_not_approved,
|
||||
'excess_paid' => $request->excess_paid,
|
||||
]);
|
||||
}
|
||||
catch (\Throwable $th) {
|
||||
return Helper::responseJson(status: 'failed', statusCode: 500, message: $th->getMessage());
|
||||
}
|
||||
|
||||
return Helper::responseJson(status: 'success', statusCode: 200, message: "data berhasil disimpan !");
|
||||
}
|
||||
|
||||
protected function messages()
|
||||
{
|
||||
return [
|
||||
'required' => ':attribute harus diisi',
|
||||
'integer' => ':attribute harus angka',
|
||||
'unique' => ':attribute (:input) sudah ada',
|
||||
'max' => ':attribute maximal :max karakter',
|
||||
'exists' => ':attribute (:input) tidak ditemukan',
|
||||
'numeric' => ':attribute harus angka',
|
||||
'digits_between'=> ':attribute maximal :max digit minimal :min digit'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user