update claim management

This commit is contained in:
2023-09-28 17:28:22 +07:00
parent 0fd79b8284
commit 601a8e5aff
8 changed files with 69 additions and 26 deletions

View File

@@ -23,6 +23,7 @@ class ClaimRequestController extends Controller
* Display a listing of the resource.
* @return Renderable
*/
private static $code_prefix = 'CRQ-H';
public function index(request $request)
{
$claimRequests = ClaimRequest::query()
@@ -64,9 +65,9 @@ class ClaimRequestController extends Controller
'member_id' => 'required',
'service_code' => 'required|in:OP,IP'
]);
$code = $this->getNextCode();
$member = Member::find($request->member_id);
$newClaimRequest = ClaimRequestService::storeClaimRequest(member: $member, paymentType: 'reimbursement', serviceCode: $request->service_code);
$newClaimRequest = ClaimRequestService::storeClaimRequest(code: $code, member: $member, paymentType: 'reimbursement', serviceCode: $request->service_code);
ClaimRequested::dispatch($newClaimRequest);
@@ -191,4 +192,20 @@ class ClaimRequestController extends Controller
return $claimRequest;
}
public static function getNextCode()
{
$last_number = ClaimRequest::withTrashed()->max('code');
$next_number = empty($last_number) ? 1 : ((int) explode('-', $last_number)[2] + 1);
return self::makeCode($next_number);
}
public static function makeCode($next_number)
{
// Pastikan $next_number adalah integer positif
$next_number = max(1, (int) $next_number);
// Menghasilkan kode dengan format yang diinginkan
return self::$code_prefix . '-' . str_pad($next_number, 5, '0', STR_PAD_LEFT);
}
}