This commit is contained in:
Dwi Swandhana
2026-03-05 06:10:10 +07:00
parent 72041e07ce
commit 632fff4230
5 changed files with 120 additions and 51 deletions
@@ -663,7 +663,6 @@ class DokterController extends Controller
'dlp' => $dlp,
'analis' => $analis,
'nmanalis' => $cekanalis->nama ?? null,
'tgldraft' => $today,
'nmdrafter' => Session('nama'),
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
@@ -704,7 +703,6 @@ class DokterController extends Controller
'nmdokter' => $cekdokter->nama ?? null,
'ppdssenior' => $ppds3,
'nmppdssenior' => $cekppds3->nama ?? null,
'tgldraft' => $today,
'nmdrafter' => Session('nama'),
'nmexcutor' => Session('nama'),
'excutor' => Session('id'),
@@ -2268,6 +2266,7 @@ class DokterController extends Controller
if ($statuse == 'Pemeriksaan awal' OR $statuse == 'Penerimaan Sampel'){
Periksa::where('id', $id)->update([
'status' => 'Pemeriksaan Sampel',
'tgldraft' => date('Y-m-d H:i:s'),
'excutor' => $idpemeriksa,
]);
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Success', 'message' => 'Status Updated']);
@@ -2275,6 +2274,7 @@ class DokterController extends Controller
} else if ($statuse == 'Pemeriksaan Sampel'){
Periksa::where('id', $id)->update([
'status' => 'Pemeriksaan awal',
'tgldraft' => date('Y-m-d H:i:s'),
'excutor' => $idpemeriksa,
]);
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Success', 'message' => 'Status Updated']);
@@ -2282,6 +2282,7 @@ class DokterController extends Controller
} else {
Periksa::where('id', $id)->whereNull('status')->update([
'status' => 'Pemeriksaan awal',
'tgldraft' => date('Y-m-d H:i:s'),
'excutor' => $idpemeriksa,
]);
return response()->json(['icon' => 'success', 'warna' => '#5ba035', 'status' => 'Success', 'message' => 'Status Updated']);
@@ -871,4 +871,18 @@ class ReportController extends Controller
'rekap' => $rekap
]);
}
public function genRekapPenerimaanSample(Request $request) {
$data = [];
$tanggal = $request->input('tanggal');
$tanggal = str_replace('tanggal=', '', $tanggal);
$query = Periksa::select('*');
$periksa = $query->whereDate('daftar', $tanggal)->orderBy('id', 'ASC')->get();
if ($periksa->count() == 0) {
return response()->json([]);
}
return view('cetak.rekappenerimaansample', [
'tanggal' => $tanggal,
'detail' => $periksa
]);
}
}
@@ -0,0 +1,80 @@
@extends('base.layout')
@section('content')
<div class="wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<div class="card-box ribbon-box">
<div class="ribbon ribbon-danger">Rekapitulasi Penerimaan Sample {{$tanggal}}</div>
<p></p>
<div class="table-responsive">
<button type="button" class="btn btn-primary" id="btnexport"><i class="fa fa-print"></i> Export</button>
<table class="table table-bordered table-striped" id="penerimaansamplereport">
<thead>
<tr>
<th>No.RM</th>
<th>Nama</th>
<th>No.HP</th>
<th>Asal Pasien</th>
<th>Daftar</th>
<th>Order</th>
<th>Kode</th>
<th>Spesimen</th>
<th>Status</th>
<th>Tanggal Terima</th>
<th>Petugas</th>
</tr>
</thead>
<tbody>
@foreach($detail as $r)
<tr>
<td>{{ $r['no_rm'] }}</td>
<td>{{ $r['nmpasien'] }}</td>
<td>{{ $r['tlppasien'] }}</td>
<td>{{ $r['asalpasien'] }}</td>
<td>{{ $r['daftar'] }}</td>
<td>{{ $r['reques'] }}</td>
<td>{{ $r['kd_spesimen'] }}</td>
<td>{{ $r['nm_spesimen'] }}</td>
<td>{{ $r['status'] }}</td>
<td>{{ $r['tgldraft'] }}</td>
<td>
@php
$petugas = App\Models\User::where('id', $r['excutor'])->first();
echo $petugas ? $petugas->nama : '';
@@end
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<div class="card-footer">
</div>
</div>
</div>
</div>
</div>
</div>
<input type="hidden" name="_token" id="token" value="{{ csrf_token() }}">
@endsection
@push('script')
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.17.0/xlsx.full.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function() {
document.getElementById('btnexport').addEventListener('click', function() {
var table = document.getElementById('penerimaansamplereport');
if (table) {
var wb = XLSX.utils.table_to_book(table, { sheet: "Report" });
XLSX.writeFile(wb, "Rekap_Penerimaan_Sample_{{$tanggal}}.xlsx");
} else {
console.error('Tabel dengan ID "penerimaansamplereport" tidak ditemukan.');
}
});
});
</script>
@endpush
@@ -23,29 +23,21 @@
</div>
<div class="col-lg-5">
<div class="card-box ribbon-box">
<div class="ribbon ribbon-success">Search by ?</div>
<div class="ribbon ribbon-success">Cetak</div>
<p class="m-b-0"></p>
<div class="form-row">
<div class="form-group col-lg-4">
<input type="text" name="valcari" id="valcari" class="form-control" placeholder="Key">
<div class="form-group col-lg-6">
<input type="text" name="tglreport" id="tglreport" class="form-control">
</div>
<div class="form-group col-lg-4">
<select class="form-control" id="valjenis" name="valjenis">
<option value="norm">No.RM</option>
<option value="nofoto">No.Foto</option>
</select>
</div>
<div class="form-group col-lg-4">
<button type="button" class="btn btn-success" id="btnpencarian"><i class="fa fa-search"></i></button>
<div class="form-group col-lg-6">
<button type="button" class="btn btn-success" id="btncetakreport"><i class="fa fa-print"></i></button>
</div>
</div>
</div>
</div>
<div class="col-lg-2">
<button type="button" class="btn btn-block btn-primary" id="timeremaining">0</button>
<button type="button" class="btn btn-block btn-danger" id="btnhariinidoank">This Day Only</button>
<button type="button" class="btn btn-block btn-info" id="btnmundur2">Last 2 Days</button>
<button type="button" class="btn btn-block btn-warning" id="btnmundur3">Last 3 Days</button>
<button type="button" class="btn btn-block btn-danger" id="btnhariinidoank">Refresh</button>
</div>
</div>
<div class="row">
@@ -80,6 +72,9 @@
<input type="hidden" id="master_set02" name="master_set02" value="{{ Session('previlage') }}">
<input type="hidden" id="master_set03" name="master_set03" value="">
<input type="hidden" id="master_set04" name="master_set04" value="">
<input type="hidden" name="valcari" id="valcari">
<input type="hidden" name="valjenis" id="valjenis">
<div id="modalerror" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
@@ -136,6 +131,7 @@
});
}
$(document).ready(function () {
$("#tglreport").datepicker({format: 'yyyy-mm-dd'});
$("#mulai").datepicker({format: 'yyyy-mm-dd'});
$("#akhir").datepicker({format: 'yyyy-mm-dd'});
$("#btnviewcustom").click(function() {
@@ -167,43 +163,20 @@
$('#gridkiriman').DataTable().ajax.reload();
});
$("#btnhariinidoank").click(function() {
$("#master_set01").val('ThisDay');
$("#master_set02").val('');
$("#master_set03").val('');
$("#master_set04").val('');
var judul='Patient Queue This Day only';
$("#judul").html(judul);
$("#valcari").val('');
$("#mulai").val('');
$("#akhir").val('');
$("#valjenis").val('searchbydate');
$('#gridkiriman').DataTable().ajax.reload();
});
$("#btnmundur2").click(function() {
$("#master_set01").val('mundur2');
$("#master_set02").val('');
$("#master_set03").val('');
$("#master_set04").val('');
$("#valcari").val('');
$("#mulai").val('');
$("#akhir").val('');
$("#valjenis").val('searchbydate');
var judul='Patient Queue Past 2 Days';
$("#judul").html(judul);
$('#gridkiriman').DataTable().ajax.reload();
});
$("#btnmundur3").click(function() {
$("#master_set01").val('mundur3');
$("#master_set02").val('');
$("#master_set03").val('');
$("#master_set04").val('');
$("#valcari").val('');
$("#mulai").val('');
$("#akhir").val('');
$("#valjenis").val('searchbydate');
var judul='Patient Queue Past 3 Days';
$("#judul").html(judul);
$('#gridkiriman').DataTable().ajax.reload();
$('#btncetakreport').click(function () {
var tanggal = document.getElementById('tglreport').value;
if (tanggal == ''){
swal({
title : 'Mohon diLengkapi',
text : 'Data Tanggal Wajib di Isi',
type : 'error',
});
} else {
var url = '{{url('/')}}/reportpenerimaansample?tanggal='+tanggal;
window.location.href = url;
}
});
$.ajaxSetup({
headers: {
+1
View File
@@ -137,6 +137,7 @@ Route::group(['middleware' => 'project.ipg'], function() {
Route::get('glassreport', [ReportController::class, 'genGlassReport']);
Route::get('znreport', [ReportController::class, 'genZNreport']);
Route::get('tatreport', [ReportController::class, 'genTATreport']);
Route::get('reportpenerimaansample', [ReportController::class, 'genRekapPenerimaanSample']);
Route::get('/glass-report/export', [ReportController::class, 'exportGlassReport'])->name('exportGlassReport');
Route::get('rekap-antibiotik/export', [ReportController::class, 'exportRekapAntibiotik'])->name('exportRekapAntibiotik');
Route::get('list', [ListController::class, 'index']);