Invoice Payment

This commit is contained in:
ivan-sim
2025-02-27 16:55:25 +07:00
parent dc02745c5a
commit 6deaf27bca
11 changed files with 3790 additions and 1 deletions

View File

@@ -127,6 +127,69 @@ class ClaimController extends Controller
return response()->json(Helper::paginateResources($results));
}
public function getClaimDetails(Request $request)
{
// Get the 'ids' array from the request
$ids = $request->input('ids');
// Ensure the 'ids' array is not empty
if (empty($ids)) {
return response()->json(['error' => 'No IDs provided'], 400);
}
// Use the SQL Query Builder with whereIn to fetch data
$claimDetails = DB::table('claim_requests')
->leftJoin('request_logs', 'claim_requests.request_log_id','=', 'request_logs.id')
->leftJoin('members', 'request_logs.member_id', '=', 'members.id')
->whereIn('claim_requests.id', $ids)
->select(
'claim_requests.id',
'request_logs.invoice_no',
'request_logs.id AS id_log',
'request_logs.code AS code_log',
'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
'),
'request_logs.created_at as submission_date',
'request_logs.submission_date as addmission_date',
'request_logs.discharge_date',
// DB::raw('
// (SELECT plans.code FROM plans WHERE plans.id = member_plans.plan_id LIMIT 1) AS plan_code
// '),
DB::raw('
(SELECT plans.code
FROM plans
WHERE plans.id IN (
SELECT member_plans.plan_id
FROM member_plans
WHERE member_plans.member_id = claim_requests.member_id
)
AND plans.service_code = claim_requests.service_code) AS plan_code
'),
DB::raw('
(SELECT services.description FROM services WHERE services.code = claim_requests.service_code LIMIT 1) AS service_code
'),
DB::raw('
(SELECT corporate_policies.code FROM corporate_policies WHERE corporate_policies.id = claim_requests.policy_id LIMIT 1) AS corporate_policies
'),
DB::raw('
(SELECT organizations.name FROM organizations WHERE organizations.id = request_logs.organization_id LIMIT 1) AS provider
'),
DB::raw('
(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
'),
'claim_requests.status_claim_management as status',
)
->get();
// Return the fetched claim details as a JSON response
return response()->json($claimDetails);
}
public function filesProvider(Request $request)
{
$limit = $request->has('per_page') ? $request->input('per_page') : 50;