update
This commit is contained in:
No files matched your search
@@ -75,6 +75,57 @@ class FrontpageController extends Controller
|
|||||||
$data['butuhverifikasi'] = $unveri;
|
$data['butuhverifikasi'] = $unveri;
|
||||||
$data['antrian'] = $hariini;
|
$data['antrian'] = $hariini;
|
||||||
$data['persenantrian'] = $tulis;
|
$data['persenantrian'] = $tulis;
|
||||||
|
$now = Carbon::now();
|
||||||
|
$rawEarlyWarnings = Periksa::leftJoin('poli', 'periksa.poli_id', '=', 'poli.id')
|
||||||
|
->select(
|
||||||
|
'periksa.id',
|
||||||
|
'periksa.nofoto',
|
||||||
|
'periksa.noregister',
|
||||||
|
'periksa.nmpasien',
|
||||||
|
'periksa.reques',
|
||||||
|
'periksa.asalpasien',
|
||||||
|
'periksa.daftar',
|
||||||
|
'periksa.status',
|
||||||
|
'poli.subpoli',
|
||||||
|
'poli.modaliti2'
|
||||||
|
)
|
||||||
|
->where(function($q) {
|
||||||
|
$q->whereNull('periksa.status')
|
||||||
|
->orWhere('periksa.status', '<>', 'Selesai');
|
||||||
|
})
|
||||||
|
->whereNotNull('periksa.daftar')
|
||||||
|
->orderBy('periksa.daftar', 'ASC')
|
||||||
|
->get();
|
||||||
|
|
||||||
|
$earlyWarnings = [];
|
||||||
|
foreach ($rawEarlyWarnings as $row) {
|
||||||
|
$targetDays = 1;
|
||||||
|
if (!empty($row->modaliti2) && is_numeric($row->modaliti2) && intval($row->modaliti2) > 0) {
|
||||||
|
$targetDays = intval($row->modaliti2);
|
||||||
|
}
|
||||||
|
|
||||||
|
$waktuDaftar = Carbon::parse($row->daftar);
|
||||||
|
$targetSelesai = $waktuDaftar->copy()->addDays($targetDays);
|
||||||
|
$sisaMenit = $now->diffInMinutes($targetSelesai, false);
|
||||||
|
|
||||||
|
if ($sisaMenit <= 60) {
|
||||||
|
$earlyWarnings[] = [
|
||||||
|
'id' => $row->id,
|
||||||
|
'nofoto' => $row->nofoto,
|
||||||
|
'noregister' => $row->noregister,
|
||||||
|
'nmpasien' => $row->nmpasien,
|
||||||
|
'reques' => $row->reques,
|
||||||
|
'asalpasien' => $row->asalpasien,
|
||||||
|
'status' => $row->status ?? '-',
|
||||||
|
'daftar' => $waktuDaftar->format('Y-m-d H:i:s'),
|
||||||
|
'target_hari' => $targetDays,
|
||||||
|
'target_selesai' => $targetSelesai->format('Y-m-d H:i:s'),
|
||||||
|
'sisa_menit' => $sisaMenit,
|
||||||
|
'warning_label' => $sisaMenit <= 0 ? 'Melewati Target' : 'Kurang dari 1 Jam'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$data['earlyWarnings'] = $earlyWarnings;
|
||||||
return view('dokter.dashborad', $data);
|
return view('dokter.dashborad', $data);
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -111,9 +111,52 @@
|
|||||||
</div><!-- end col -->
|
</div><!-- end col -->
|
||||||
</div>
|
</div>
|
||||||
<div class="card-box">
|
<div class="card-box">
|
||||||
<h4 class="header-title mb-3">Kalender</h4>
|
<h4 class="header-title mb-3">Early Warning Sistem</h4>
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<div id="gridjadwal"></div>
|
<table class="table table-bordered table-striped table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>No</th>
|
||||||
|
<th>No.Sample</th>
|
||||||
|
<th>No.RM</th>
|
||||||
|
<th>Nama</th>
|
||||||
|
<th>Order</th>
|
||||||
|
<th>Asal Pasien</th>
|
||||||
|
<th>Status</th>
|
||||||
|
<th>Daftar</th>
|
||||||
|
<th>Target (Hari)</th>
|
||||||
|
<th>Estimasi Selesai</th>
|
||||||
|
<th>Warning</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@forelse($earlyWarnings as $i => $row)
|
||||||
|
<tr>
|
||||||
|
<td>{{ $i + 1 }}</td>
|
||||||
|
<td>{{ $row['nofoto'] }}</td>
|
||||||
|
<td>{{ $row['noregister'] }}</td>
|
||||||
|
<td>{{ $row['nmpasien'] }}</td>
|
||||||
|
<td>{{ $row['reques'] }}</td>
|
||||||
|
<td>{{ $row['asalpasien'] }}</td>
|
||||||
|
<td>{{ $row['status'] }}</td>
|
||||||
|
<td>{{ $row['daftar'] }}</td>
|
||||||
|
<td>{{ $row['target_hari'] }}</td>
|
||||||
|
<td>{{ $row['target_selesai'] }}</td>
|
||||||
|
<td>
|
||||||
|
@if($row['sisa_menit'] <= 0)
|
||||||
|
<span class="badge badge-danger">{{ $row['warning_label'] }}</span>
|
||||||
|
@else
|
||||||
|
<span class="badge badge-warning">{{ $row['warning_label'] }} ({{ $row['sisa_menit'] }} menit)</span>
|
||||||
|
@endif
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@empty
|
||||||
|
<tr>
|
||||||
|
<td colspan="11" class="text-center">Tidak ada data Early Warning.</td>
|
||||||
|
</tr>
|
||||||
|
@endforelse
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -275,8 +318,8 @@ $(document).ready(function() {
|
|||||||
$(".btnubahfoto").click(function() {
|
$(".btnubahfoto").click(function() {
|
||||||
$('#modalupdatefoto').modal('show');
|
$('#modalupdatefoto').modal('show');
|
||||||
});
|
});
|
||||||
$("#btnsimpanfoto").click(function(){
|
$("#btnsimpanfoto").click(function(){
|
||||||
var filegambar = document.getElementById('upload_file');
|
var filegambar = document.getElementById('upload_file');
|
||||||
$('#modalupdatefoto').modal('hide');
|
$('#modalupdatefoto').modal('hide');
|
||||||
var form_data = new FormData();
|
var form_data = new FormData();
|
||||||
form_data.append('file', filegambar.files[0]);
|
form_data.append('file', filegambar.files[0]);
|
||||||
@@ -316,62 +359,9 @@ $(document).ready(function() {
|
|||||||
text: error,
|
text: error,
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
var sourcekalender = {
|
|
||||||
datatype: "json",
|
|
||||||
datafields: [
|
|
||||||
{ name: 'id', type: 'string' },
|
|
||||||
{ name: 'description', type: 'string' },
|
|
||||||
{ name: 'location', type: 'string' },
|
|
||||||
{ name: 'subject', type: 'string' },
|
|
||||||
{ name: 'calendar', type: 'string' },
|
|
||||||
{ name: 'start', type: 'date' },
|
|
||||||
{ name: 'end', type: 'date' }
|
|
||||||
],
|
|
||||||
id : 'id',
|
|
||||||
url : '{{ route("getkalenderlist") }}'
|
|
||||||
};
|
|
||||||
var datajsonawal = new $.jqx.dataAdapter(sourcekalender);
|
|
||||||
$("#gridjadwal").jqxScheduler({
|
|
||||||
date : new $.jqx.date(),
|
|
||||||
width : '95%',
|
|
||||||
height : 600,
|
|
||||||
source : datajsonawal,
|
|
||||||
showLegend : true,
|
|
||||||
theme : 'energyblue',
|
|
||||||
view : 'agendaView',
|
|
||||||
ready: function () {
|
|
||||||
$("#gridjadwal").jqxScheduler('ensureAppointmentVisible', 'id1');
|
|
||||||
},
|
|
||||||
resources:
|
|
||||||
{
|
|
||||||
colorScheme : "scheme05",
|
|
||||||
dataField : "calendar",
|
|
||||||
source : new $.jqx.dataAdapter(sourcekalender)
|
|
||||||
},
|
|
||||||
appointmentDataFields:
|
|
||||||
{
|
|
||||||
from : "start",
|
|
||||||
to : "end",
|
|
||||||
id : "id",
|
|
||||||
description : "description",
|
|
||||||
location : "place",
|
|
||||||
subject : "subject",
|
|
||||||
readOnly : "readOnly",
|
|
||||||
resourceId : "calendar",
|
|
||||||
|
|
||||||
},
|
|
||||||
views :
|
|
||||||
[
|
|
||||||
'dayView',
|
|
||||||
'weekView',
|
|
||||||
'monthView',
|
|
||||||
'agendaView'
|
|
||||||
],
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@endpush
|
@endpush
|
||||||
Reference in New Issue
Block a user