[Client Portal] Penyesuaian get data alarm center
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
namespace Modules\Client\Transformers\AlarmCenter;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use App\Models\Service;
|
||||
|
||||
class DataListClaimMemberResource extends JsonResource
|
||||
{
|
||||
@@ -14,13 +15,27 @@ class DataListClaimMemberResource extends JsonResource
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
$serviceData = Service::where('code', $this->service_code)->first();
|
||||
if ($serviceData) {
|
||||
$serviceName = $serviceData->name;
|
||||
} else {
|
||||
$serviceName = $this->service_cod;
|
||||
}
|
||||
|
||||
if ($this->status == 'approved' && $this->status_final_log ){
|
||||
$status = 'Done';
|
||||
} else if ($this->status == 'declined' || $this->status_final_log == 'declined') {
|
||||
$status = 'Declined';
|
||||
} else {
|
||||
$status = 'Ongoing';
|
||||
}
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'admission_date' => $this->submission_date ?? null,
|
||||
'discharge_date' => $this->discharge_date ?? null,
|
||||
'code' => $this->code ?? null,
|
||||
'service_type' => $this->service_code == 'IP' ? 'Inpatient' : 'Outpatient',
|
||||
'status' => $this->status === 'requested' || ($this->status === 'approved' && $this->status_final_log) || ($this->status_final_log === 'requested' && $this->status === 'requested') ? 'Ongoing' : ($this->status === 'approved' && $this->status_final_log === 'approved' ? 'Approved' : 'Declined')
|
||||
'service_type' => $serviceName,
|
||||
'status' => $status,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace Modules\Client\Transformers\AlarmCenter;
|
||||
|
||||
use App\Helpers\Helper;
|
||||
use App\Models\Service;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class DataServiceMonitoring extends JsonResource
|
||||
@@ -15,6 +16,12 @@ class DataServiceMonitoring extends JsonResource
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
$serviceData = Service::where('code', $this->service_code)->first();
|
||||
if ($serviceData) {
|
||||
$serviceName = $serviceData->name;
|
||||
} else {
|
||||
$serviceName = $this->service_cod;
|
||||
}
|
||||
return [
|
||||
'companyName' => $this->member->currentCorporate->name ?? null,
|
||||
'memberId' => $this->member->member_id ?? null,
|
||||
@@ -23,8 +30,9 @@ class DataServiceMonitoring extends JsonResource
|
||||
'dateOfBirth' => $this->member->birth_date ?? null,
|
||||
'phoneNumber' => $this->person->phone ?? null,
|
||||
'email' => $this->member->email ?? ($this->member->person->email ?? null),
|
||||
'serviceName' => $this->service_code === 'IP' ? 'Inpatient' : ($this->service_code === 'OP' ? 'Outpatient' : null),
|
||||
'serviceName' => $serviceName,
|
||||
'benefitName' => $this->requestLogBenefit->benefit->description ?? null,
|
||||
'benefit' => $this->requestLogBenefit ?? null,
|
||||
'hospital' => $this->organization->name ?? null,
|
||||
'admissionDate' => $this->submission_date ?? null,
|
||||
'dischargeDate' => $this->discharge_date ?? null,
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace App\Services;
|
||||
use App\Models\CorporateEmployee;
|
||||
use App\Models\Member;
|
||||
use App\Models\Encounter;
|
||||
use App\Models\RequestLog;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
@@ -152,8 +153,61 @@ class CorporateMemberService
|
||||
// $end_date = date('Y-m-d', strtotime($request->input('end_date') . ' +1 day'));
|
||||
|
||||
// dd($request);
|
||||
return Member::query()
|
||||
// ->joinCorporateEmployees('left')
|
||||
|
||||
// return Member::query()
|
||||
// // ->joinCorporateEmployees('left')
|
||||
// // ->joinMemberPlans('left')
|
||||
// // ->joinPlans('left')
|
||||
// // ->with(['currentPlan', 'person'])
|
||||
// // ->where('corporate_employees.corporate_id', $corporateId)
|
||||
// ->when($request->input('search'), function (Builder $query, $search) {
|
||||
// $query->where(function (Builder $query) use ($search) {
|
||||
// $query->orWhere('members.member_id', 'like', "%" . $search . "%")
|
||||
// ->orWhere('members.name', 'like', "%" . $search . "%");
|
||||
// });
|
||||
// })
|
||||
// ->when($request->input('start_date'), function (Builder $query, $start_date) {
|
||||
// $query->where('members.members_effective_date', '>=', $start_date);
|
||||
// })
|
||||
// ->when($request->input('end_date'), function (Builder $query, $end_date) {
|
||||
// $query->where('members.members_expire_date', '<', $end_date);
|
||||
// })
|
||||
// ->when($request->input('division'), function (Builder $query, $value) {
|
||||
// $query->where('corporate_employees.division_id', $value);
|
||||
// })
|
||||
// ->when($request->input('status'), function (Builder $query, $value) {
|
||||
// $query->where('plans.active', $value);
|
||||
// })
|
||||
// ->when($request->has('orderBy'), function (Builder $query) use ($request) {
|
||||
// $orderBy = match ($request->input('orderBy')) {
|
||||
// 'memberId' => 'member_id',
|
||||
// 'fullName' => 'name',
|
||||
// // 'status' => 'active',
|
||||
// 'start_date' => 'member_plans.members_effective_date',
|
||||
// 'end_date' => 'member_plans.members_expire_date',
|
||||
// // 'service' => 'plans.service_code',
|
||||
|
||||
// default => ''
|
||||
// };
|
||||
|
||||
// $query->getQuery()->orderBy($orderBy, $request->order);
|
||||
// })
|
||||
// ->select([
|
||||
// 'members.id',
|
||||
// 'members.person_id',
|
||||
// 'members.member_id',
|
||||
// 'members.name',
|
||||
// 'members.members_effective_date', // Use the actual property name
|
||||
// 'members.members_expire_date', // Use the actual property name
|
||||
// // 'plans.active',
|
||||
// // 'plans.service_code'
|
||||
// ])
|
||||
// // ->selectRaw("(select sum(`claims`.`total_claim`) from `claims` where `members`.`id` = `claims`.`member_id` AND `claims`.`deleted_at` IS NULL) AS `claims_sum_total_claim`")
|
||||
// // ->groupBy('member_id')
|
||||
// ->paginate($limit);
|
||||
|
||||
return RequestLog::query()
|
||||
->leftJoin('members', 'request_logs.member_id', '=', 'members.id')
|
||||
// ->joinMemberPlans('left')
|
||||
// ->joinPlans('left')
|
||||
// ->with(['currentPlan', 'person'])
|
||||
@@ -180,10 +234,10 @@ class CorporateMemberService
|
||||
$orderBy = match ($request->input('orderBy')) {
|
||||
'memberId' => 'member_id',
|
||||
'fullName' => 'name',
|
||||
// 'status' => 'active',
|
||||
'status' => 'active',
|
||||
'start_date' => 'member_plans.members_effective_date',
|
||||
'end_date' => 'member_plans.members_expire_date',
|
||||
// 'service' => 'plans.service_code',
|
||||
'request_date' => 'request_logs.submission_date',
|
||||
|
||||
default => ''
|
||||
};
|
||||
@@ -194,15 +248,17 @@ class CorporateMemberService
|
||||
'members.id',
|
||||
'members.person_id',
|
||||
'members.member_id',
|
||||
'members.name',
|
||||
'members.name as full_name',
|
||||
'members.members_effective_date', // Use the actual property name
|
||||
'members.members_expire_date', // Use the actual property name
|
||||
// 'plans.active',
|
||||
// 'plans.service_code'
|
||||
'members.active',
|
||||
'request_logs.service_code',
|
||||
])
|
||||
// ->selectRaw("(select sum(`claims`.`total_claim`) from `claims` where `members`.`id` = `claims`.`member_id` AND `claims`.`deleted_at` IS NULL) AS `claims_sum_total_claim`")
|
||||
// ->groupBy('member_id')
|
||||
->groupBy('member_id')
|
||||
->paginate($limit);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function getAllMemberEmployeeData(int $corporateId, Request $request)
|
||||
|
||||
@@ -51,8 +51,8 @@ export default function List() {
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
/* ------------------------------ handle order ------------------------------ */
|
||||
const [order, setOrder] = useState<Order>('asc');
|
||||
const [orderBy, setOrderBy] = useState('fullName');
|
||||
const [order, setOrder] = useState<Order>('desc');
|
||||
const [orderBy, setOrderBy] = useState('request_date');
|
||||
|
||||
const orders = {
|
||||
order: order,
|
||||
|
||||
Reference in New Issue
Block a user