Update service hospital dan prime center

This commit is contained in:
ivan-sim
2023-11-14 16:53:08 +07:00
parent c3b140d1f8
commit 8f77d8bec0
7 changed files with 107 additions and 65 deletions

View File

@@ -17,6 +17,7 @@ use Modules\HospitalPortal\Transformers\ClaimRequestResource;
use Modules\HospitalPortal\Transformers\ClaimRequestShowResource;
use PDF;
use Illuminate\Support\Facades\DB;
use Modules\HospitalPortal\Helpers\ApiResponse;
class ClaimRequestController extends Controller
{
@@ -64,7 +65,7 @@ class ClaimRequestController extends Controller
{
$request->validate([
'member_id' => 'required',
'service_code' => 'required|in:OP,IP'
'service_code' => 'required'
]);
$code = $this->getNextCode();
$member = Member::find($request->member_id);
@@ -145,7 +146,7 @@ class ClaimRequestController extends Controller
}
}
return Helper::responseJson(data: $request->toArray(), message: 'Claim Request berhasil ajukan!');
return ApiResponse::apiResponse("Success", [], trans('message.success'), 200);
}
/**
@@ -226,7 +227,8 @@ class ClaimRequestController extends Controller
public static function getNextCode()
{
$last_number = ClaimRequest::withTrashed()->max('code');
$next_number = empty($last_number) ? 1 : ((int) explode('-', $last_number)[2] + 1);
$last_number_parts = explode('-', $last_number);
$next_number = count($last_number_parts) < 3 ? 1 : ((int) $last_number_parts[2] + 1);
return self::makeCode($next_number);
}

View File

@@ -9,6 +9,7 @@ use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Validator;
use Modules\HospitalPortal\Helpers\ApiResponse;
use Illuminate\Support\Facades\DB;
class MemberController extends Controller
{
@@ -35,20 +36,43 @@ class MemberController extends Controller
}
else
{
$res_data = Member::query()
->where('member_id', $request->no_polis)
->where('birth_date', $request->birth_date)
->with(['person', 'currentCorporate',
// 'currentCorporate.corporateServices' => function ($corporateService) {
// $corporateService->where('status', 'active');
// },
// 'currentCorporate.corporateServices.service'
// 'currentPlan.benefits',
// 'currentPlan.corporateBenefit.plan',
'currentPolicy',
'currentPlan.corporateBenefits.benefit'
])
->firstOrFail();
$members = DB::table('members')
->leftJoin('member_policies', 'member_policies.member_id','=', 'members.member_id')
->leftJoin('persons', 'persons.id', '=', 'members.person_id')
->where('members.member_id', '=', $request->no_polis)
->where('members.birth_date', '=', $request->birth_date)
->select(
'members.id',
'members.member_id',
'member_policies.policy_id',
'persons.nik',
'members.email',
'members.birth_date',
'members.gender',
'members.marital_status',
'members.language',
'members.race',
'members.relation_with_principal')
->first();
$res_data['members'] = $members;
$benefits = DB::table('member_plans')
->leftJoin('corporate_benefits','corporate_benefits.plan_id', '=', 'member_plans.plan_id')
->leftJoin('benefits', 'benefits.id', '=', 'corporate_benefits.benefit_id')
->where('member_plans.member_id', '=', $members->id)
->select('benefits.description','benefits.code','corporate_benefits.corporate_id')
->get();
$res_data['benefits'] = $benefits;
$services = DB::table('member_plans')
->leftJoin('plans', 'plans.id', '=', 'member_plans.plan_id')
->leftJoin('services', 'services.code', '=', 'plans.service_code')
->where('member_plans.member_id', $members->id)
->select('plans.service_code', 'services.name')
->get();
$res_data['services'] = $services;
return ApiResponse::apiResponse("Success", $res_data, trans('message.success'), 200);
}
}