Merge remote-tracking branch 'origin/staging' into origin/production

This commit is contained in:
Linksehat Staging Server
2024-02-15 13:29:15 +07:00
18 changed files with 683 additions and 178 deletions

View File

@@ -188,15 +188,26 @@ class CorporateMemberController extends Controller
public function showPerMember(Request $request, $corporate_id, $member_id)
{
$per_page = $request->has('per_page') ? $request->input('per_page') : 10;
$data = Member::query()
->with(['requestLogs'])
$member = Member::query()
->whereHas('currentCorporate', function ($query) use ($corporate_id) {
$query->where('corporate_id', $corporate_id);
})
->find($member_id);
return response()->json(['full_name' => $data->full_name ?? null, 'paginations' => Helper::paginateResources(DataListClaimMemberResource::collection($data->requestLogs()->paginate($per_page)))]);
$data = RequestLog::where([
'member_id' => $member->id,
'deleted_at' => null
])
->when($request->has('orderBy'), function ($query) use ($request) {
$orderBy = match ($request->input('orderBy')) {
'admission_date' => 'request_logs.submission_date',
'discharge_date' => 'request_logs.discharge_date',
'code' => 'request_logs.code',
default => ''
};
$query->getQuery()->orderBy($orderBy, $request->order);
})
->paginate($per_page);
return response()->json(['full_name' => $member->full_name?? null, 'paginations' => Helper::paginateResources(DataListClaimMemberResource::collection($data))]);
}
public function serviceMonitoring(int $corporate_id, int $request_log_id)
@@ -211,7 +222,7 @@ class CorporateMemberController extends Controller
'requestLogBenefits:id,request_log_id,benefit_id,amount_incurred,amount_approved,amount_not_approved,excess_paid,keterangan' => [
'benefit'
],
'requestLogDailyMonitorings:id,request_log_id,created_at,subject,body_temperature,sistole,diastole,respiration_rate,analysis,lab_date,provider,examination' => [
'requestLogDailyMonitorings:id,request_log_id,submission_date,subject,body_temperature,sistole,diastole,respiration_rate,analysis,lab_date,provider,examination' => [
'requestLogMedicalPlans:request_log_daily_monitoring_id,plan,type',
// 'document'
],

View File

@@ -4,6 +4,7 @@ namespace Modules\Client\Transformers\AlarmCenter;
use Illuminate\Http\Resources\Json\JsonResource;
use App\Models\Service;
use App\Models\Organization;
class DataListClaimMemberResource extends JsonResource
{
@@ -16,10 +17,15 @@ class DataListClaimMemberResource extends JsonResource
public function toArray($request)
{
$serviceData = Service::where('code', $this->service_code)->first();
$organization = Organization::where('id', $this->organization_id)->first();
$organizationName = '-';
if ($organization){
$organizationName = $organization->name;
}
if ($serviceData) {
$serviceName = $serviceData->name;
} else {
$serviceName = $this->service_cod;
$serviceName = $this->service_code;
}
if ($this->status == 'approved' && $this->status_final_log ){
@@ -34,6 +40,7 @@ class DataListClaimMemberResource extends JsonResource
'admission_date' => $this->submission_date ?? null,
'discharge_date' => $this->discharge_date ?? null,
'code' => $this->code ?? null,
'provider_name' => $organizationName ?? null,
'service_type' => $serviceName,
'status' => $status,
];

View File

@@ -111,7 +111,7 @@ class DataServiceMonitoring extends JsonResource
'dischargeDate' => $this->discharge_date ?? null,
'dailyMonitorings' => $this->when($this->service_code === 'IP', collect($this->requestLogDailyMonitorings)
->groupBy(function ($requestLogDailyMonitoring) {
return $requestLogDailyMonitoring->created_at->format('d M Y');
return Carbon::parse($requestLogDailyMonitoring->submission_date)->format('d M Y');
})
->map(function ($groupedItems) {
return collect($groupedItems)
@@ -138,7 +138,7 @@ class DataServiceMonitoring extends JsonResource
return [
'time' => $requestLogDailyMonitoring->created_at->format('H:i') ?? null,
'time' => Carbon::parse($requestLogDailyMonitoring->submission_date)->format('H:i') ?? null,
'status' => 'Done' ?? null,
'subject' => $requestLogDailyMonitoring->subject ?? null,
'bodyTemperature' => $requestLogDailyMonitoring->body_temperature ?? null,
@@ -168,18 +168,18 @@ class DataServiceMonitoring extends JsonResource
return Carbon::createFromFormat('d M Y', $date)->format('Y-m-d');
})
->all()) ?? null,
'laboratoriumResults' => $this->whenLoaded('requestLogDailyMonitorings', collect($this->requestLogDailyMonitorings)
'laboratoriumResults' => $this->when($this->service_code === 'IP', collect($this->requestLogDailyMonitorings)
->groupBy(function ($requestLogDailyMonitoring) {
return Carbon::parse($requestLogDailyMonitoring->lab_date)->format('d M Y');
})
->map(function ($groupedItems) {
return collect($groupedItems)
->map(function ($requestLogDailyMonitoring) {
->map(function ($test) {
$arr_document = [];
$document = DB::table('files')
->where([
'fileable_type' => 'App\Models\LaboratoriumResult',
'fileable_id' => $requestLogDailyMonitoring->id,
'fileable_id' => $test->id,
'deleted_at' => null
])
->whereIn('type', ['laboratorium-result'])
@@ -195,10 +195,10 @@ class DataServiceMonitoring extends JsonResource
}
}
return [
'code' => $requestLogDailyMonitoring->code,
'date' => Carbon::parse($requestLogDailyMonitoring->lab_date)->format('d M Y') ?? null,
'examination' => $requestLogDailyMonitoring->examination ?? null,
'location' => $requestLogDailyMonitoring->provider ?? null,
'code' => $test->code,
'date' => Carbon::parse($test->lab_date)->format('d M Y') ?? null,
'examination' => $test->examination ?? null,
'location' => $test->provider ?? null,
'files' => $arr_document
];
})

View File

@@ -1,7 +1,7 @@
<?php
namespace Modules\Internal\Http\Controllers\Api;
use App\Helpers\Helper;
use App\Models\DailyMonitoring;
use App\Models\RequestDailyMonitoring;
use App\Models\MedicalPlan;
@@ -10,8 +10,10 @@ use Exception;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Validator;
use Modules\Internal\Transformers\DailyMonitoringResource;
use App\Models\File;
/**
* Bagaskoro BSD 27-10-2023
*
@@ -36,7 +38,7 @@ class DailyMonitoringController extends Controller
/**
* Member List
*/
public function GetMemberList()
public function GetMemberList(Request $request)
{
$memberList = DB::table('request_logs')
->leftJoin('members', 'request_logs.member_id', '=', 'members.id')
@@ -45,18 +47,18 @@ class DailyMonitoringController extends Controller
->select('members.member_id','members.name','members.members_effective_date AS startdate','members.members_expire_date AS enddate', 'request_logs.submission_date as addmision_date', 'organizations.name as provider' )
->where('request_logs.service_code', 'IP')
->where('request_logs.deleted_at', null)
->when($request->search, function ($q, $search) {
$q->where('members.member_id', 'LIKE', "%".$search."%");
$q->orWhere('members.name','LIKE',"%".$search."%");
})
// ->where('request_logs.status_final_log', 'approved')
->groupBy('request_logs.member_id')
->orderBy('request_logs.created_at', 'desc')
->get();
// ->get()
->paginate();
return response()->json([
'error' => false,
'message' => "success",
'data' => [
'member_list'=> $memberList,
]
],200);
return Helper::paginateResources(DailyMonitoringResource::collection($memberList));
}
/**
@@ -76,8 +78,12 @@ class DailyMonitoringController extends Controller
->where('request_logs.service_code', 'IP')
->where('request_logs.status_final_log', 'approved')
->where("request_logs.member_id", "=", $memberDetail->id)
->when($request->search, function ($q, $search) {
$q->where('request_logs.code', 'LIKE', "%".$search."%");
})
->orderBy("request_logs.created_at", "desc")
->get();
// ->get()
->paginate();
return response()->json([
'error' => false,

View File

@@ -0,0 +1,29 @@
<?php
namespace Modules\Internal\Transformers;
use Illuminate\Http\Resources\Json\JsonResource;
class DailyMonitoringResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request
* @return array
*/
public function toArray($request)
{
$data = [
'member_id' => $this->member_id,
'name' => $this->name,
'start_date' => $this->startdate,
'end_date' => $this->enddate,
'addmision_date' => $this->addmision_date,
'provider' => $this->provider,
];
return $data;
}
}

View File

@@ -24,8 +24,8 @@ class RequestLogResource extends JsonResource
$data = [
'id' => $this->id,
'code' => $this->code,
'created_at' => $this->created_at,
'submission_date' => $this->submission_date,
'submission_date' => $this->created_at, // submsion_date diambil dari kolom created_at
'admission_date' => $this->submission_date, // admission_date diambil dari kolom submission
'submission_date_fgl' => $this->approved_final_log_at,
'member_name' => $this->member->name,
'status' => $this->status ?? 'unknown',

View File

@@ -106,8 +106,8 @@ class RequestLogShowResource extends JsonResource
'principal_id' => $requestLog['member']['principal_id'] ? $requestLog['member']['principal_id'] : '-',
'principal_name' => $requestLog['member']['principal_id'] ? Helper::principalName($requestLog['member']['principal_id']) : '-',
'relation_with_principal' => Helper::relationWithPrincipal($requestLog['member']['relation_with_principal']),
'admission_date' => $requestLog['submission_date'], // admission mengacu pada tanggal submit
'submission_date' => $requestLog['created_at'], // submission mengacu pada tanggal buat
'submission_date' => $requestLog['created_at'],
'admission_date' => $requestLog['submission_date'],
'approved_final_log_at' => $requestLog['approved_final_log_at'], // submission final log
'discharge_date' => $requestLog['discharge_date'],
'service_type' => Helper::serviceName($requestLog['service_code']),