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