update data di service monitoring, dan alarm center benefit summary

This commit is contained in:
pajri
2023-07-07 10:30:17 +07:00
parent 2157c14f8d
commit 40da45c9ff
17 changed files with 2786 additions and 2725 deletions

View File

@@ -37,7 +37,10 @@ class CorporateManageController extends Controller
*/
public function show($corporate_id)
{
//
$userLogin = Auth::user();
$corporate = $userLogin->managedCorporates()->where('corporates.id', $corporate_id)->first();
return response()->json($corporate);
}
/**

View File

@@ -3,6 +3,7 @@
namespace Modules\Client\Http\Controllers\Api;
use App\Helpers\Helper;
use App\Models\Member;
use App\Services\CorporateMemberService;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
@@ -10,6 +11,7 @@ use Illuminate\Routing\Controller;
use Modules\Client\Transformers\ClaimReport\MemberResources as ClaimReportMemberResources;
use Modules\Client\Transformers\Dashboard\MemberResources as DashboardMemberResources;
use Modules\Client\Transformers\Dashboard\MemberAlarmCenterResources as DashboardMemberAlarmResources;
use Modules\Client\Transformers\DataMemberResource;
class CorporateMemberController extends Controller
{
@@ -41,4 +43,19 @@ class CorporateMemberController extends Controller
return response()->json(Helper::paginateResources(DashboardMemberResources::collection($members)));
}
}
public function show($corporate_id, $person_id)
{
$data = Member::with(['claims', 'person', 'employeds', 'currentPlan.benefits'])
->where('person_id', $person_id)
->whereHas('employeds', function ($query) use ($corporate_id) {
$query->where('corporate_id', $corporate_id);
})
->first();
$totalClaims = $data->claims->sum('total_claim');
$data->total_claims = $totalClaims;
return response()->json(DataMemberResource::make($data));
}
}

View File

@@ -10,6 +10,7 @@ use Modules\Client\Http\Controllers\Api\ClaimController;
use Modules\Client\Http\Controllers\Api\TopUpController;
use Modules\Internal\Http\Controllers\ClaimEncounterController;
use App\Models\Encounter;
use Modules\Client\Http\Controllers\Api\DataController;
use Modules\Internal\Transformers\EncounterResource;
/*
@@ -33,12 +34,16 @@ Route::prefix('client')->group(function () {
Route::middleware('auth:sanctum')->group(function () {
Route::post('logout', [AuthController::class, 'logout'])->name('logout');
Route::get('user', [UserController::class, 'index']);
Route::get('data/{id}', [DataController::class, 'show']);
Route::put('data/{id}', [DataController::class, 'update']);
Route::get('corporate-manage', [CorporateManageController::class, 'index']);
Route::get('corporate-manage/{corporate_id}', [CorporateManageController::class, 'show']);
Route::prefix('{corporate_id}')->group(function () {
Route::get('policy', [CorporatePolicyController::class, 'index']);
Route::get('division', [CorporateDivisionController::class, 'index']);
Route::get('members', [CorporateMemberController::class, 'index']);
Route::get('members/{id}', [CorporateMemberController::class, 'show']);
Route::get('claims/status', [ClaimController::class, 'status']);
Route::get('claims', [ClaimController::class, 'index']);
Route::get('claims/{claim_id}/encounters', [ClaimEncounterController::class, 'getEncounterData']);
@@ -47,10 +52,5 @@ Route::prefix('client')->group(function () {
Route::post('topup', [TopUpController::class, 'store']);
});
Route::get('claims/{id}', [ClaimController::class, 'show']);
});
});

View File

@@ -1,4 +1,4 @@
c<?php
<?php
namespace Modules\Client\Transformers;
@@ -25,7 +25,7 @@ class ClaimShowResource extends JsonResource
$itemData['nominal_dicover'] = $item['nominal_dicover'] ?? 0;
$itemData['nominal_ditagihkan'] = $item['nominal_ditagihkan'] ?? 0;
$itemData['nominal_total'] = $item['nominal_total'] ?? 0;
// For React Frotnend
$itemData['biaya_diajukan'] = $itemData['nominal_ditagihkan'];
$itemData['biaya_disetujui'] = $itemData['nominal_dicover'];
@@ -33,8 +33,12 @@ class ClaimShowResource extends JsonResource
return $itemData;
});
$data['primary_diagnosis'] = $this->diagnoses->filter(function($diagnosis){ return $diagnosis->type == 'primary';})->values();
$data['secondary_diagnosis'] = $this->diagnoses->filter(function($diagnosis){ return $diagnosis->type == 'secondary';})->values();
$data['primary_diagnosis'] = $this->diagnoses->filter(function ($diagnosis) {
return $diagnosis->type == 'primary';
})->values();
$data['secondary_diagnosis'] = $this->diagnoses->filter(function ($diagnosis) {
return $diagnosis->type == 'secondary';
})->values();
return $data;
}

View File

@@ -0,0 +1,81 @@
<?php
namespace Modules\Client\Transformers;
use Illuminate\Http\Resources\Json\JsonResource;
class DataMemberResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request
* @return array
*/
public function toArray($request)
{
// return parent::toArray($request);
$data = [
'id' => $this->id,
'person_id' => $this->person_id,
'user_id' => $this->user_id,
'member_id' => $this->member_id,
'payor_id' => $this->payor_id,
'name_prefix' => $this->name_prefix,
'name' => $this->name,
'name_suffix' => $this->name_suffix,
'birth_date' => $this->birth_date,
'gender' => $this->gender,
'language' => $this->language,
'race' => $this->race,
'marital_status' => $this->marital_status,
'record_type' => $this->record_type,
'principal_id' => $this->principal_id,
'relation_with_principal' => $this->relation_with_principal,
'bpjs_class' => $this->bpjs_class,
'nric' => $this->nric,
'email' => $this->email,
'bank_info' => $this->bank_info,
'agent_code' => $this->agent_code,
'address1' => $this->address1,
'address2' => $this->address2,
'address3' => $this->address3,
'address4' => $this->address4,
'city' => $this->city,
'state' => $this->state,
'postal_code' => $this->postal_code,
'record_mode' => $this->record_mode,
'telephone_mobile' => $this->telephone_mobile,
'telephone_res' => $this->telephone_res,
'telephone_office' => $this->telephone_office,
'passport_no' => $this->passport_no,
'passport_country' => $this->passport_country,
'identification_code' => $this->identification_code,
'pre_existing' => $this->pre_existing,
'bpjs_id' => $this->bpjs_id,
'endorsement_date' => $this->endorsement_date,
'members_effective_date' => $this->members_effective_date,
'members_expire_date' => $this->members_expire_date,
'activation_date' => $this->activation_date,
'terminated_date' => $this->terminated_date,
'remarks' => $this->remarks,
'policy_in_force' => $this->policy_in_force,
'start_no_claim' => $this->start_no_claim,
'end_no_claim' => $this->end_no_claim,
'active' => $this->active,
'reason' => $this->reason,
'total_claims' => $this->total_claims,
'full_name' => $this->full_name,
'age' => $this->age,
'gender_code' => $this->gender_code,
'limit' => [
'current' => $this->total_claims ?? 0,
'total' => (int)$this->currentPlan->limit_rules ?? 0,
'percentage' => (!empty($this->currentPlan->limit_rules ?? 0)) ? (($this->total_claims / $this->currentPlan->limit_rules) * 100) : 0
],
'benefits' => $this->currentPlan->benefits,
];
return $data;
}
}