update
This commit is contained in:
@@ -328,6 +328,9 @@ class ReportController extends Controller
|
||||
$tahun = $request->input('tahun');
|
||||
$jenisreport = $request->input('jenisreport');
|
||||
$dokterId = $request->input('dokter_id');
|
||||
$tanggalFilter = $request->input('tanggal_filter', 'daftar');
|
||||
$statusFilter = $request->input('status_filter', 'ALL');
|
||||
$dateColumn = $tanggalFilter === 'verifikasi' ? 'verifikasi' : 'daftar';
|
||||
$homebase = url("/");
|
||||
$arraylist = [];
|
||||
$limit = $request->input('limit') ?? 500;
|
||||
@@ -378,19 +381,23 @@ class ReportController extends Controller
|
||||
}
|
||||
echo json_encode($lists);
|
||||
} else {
|
||||
$query = Periksa::select('id', 'nofoto', 'noregister', 'nmpasien', 'tlppasien', 'tgllahirpasien', 'usia', 'alamatpasien', 'ktp', 'jkpasien', 'bpjs', 'asuransi', 'urgensi', 'asalpasien', 'klinisi', 'klinis', 'nmanalis', 'nmppdssenior', 'kd_spesimen', 'nm_spesimen', 'dlp', 'diagnosa2', 'mulai', 'verifikasi', 'status', 'reques', 'nmdokter', 'daftar')->whereYear('mulai', $tahun);
|
||||
$query = Periksa::select('id', 'poli_id', 'nofoto', 'noregister', 'nmpasien', 'tlppasien', 'tgllahirpasien', 'usia', 'alamatpasien', 'ktp', 'jkpasien', 'bpjs', 'asuransi', 'urgensi', 'asalpasien', 'klinisi', 'klinis', 'nmanalis', 'nmppdssenior', 'kd_spesimen', 'nm_spesimen', 'dlp', 'diagnosa2', 'mulai', 'verifikasi', 'status', 'reques', 'nmdokter', 'daftar')
|
||||
->whereYear($dateColumn, $tahun);
|
||||
|
||||
if ($bulan !== 'ALL') {
|
||||
$query->whereMonth('mulai', $bulan);
|
||||
$query->whereMonth($dateColumn, $bulan);
|
||||
}
|
||||
if (!empty($dokterId) && $dokterId != 'ALL' && $dokterId != '0') {
|
||||
$query->where('dokter_id', $dokterId);
|
||||
}
|
||||
if ($statusFilter === 'Selesai') {
|
||||
$query->where('status', 'LIKE', '%Selesai%');
|
||||
}
|
||||
|
||||
/**
|
||||
* CURSOR → Streaming data, tidak boros memori
|
||||
*/
|
||||
$periksaCursor = $query->orderBy('mulai', 'ASC')->cursor();
|
||||
$periksaCursor = $query->orderBy($dateColumn, 'ASC')->cursor();
|
||||
|
||||
$hasil = [];
|
||||
|
||||
|
||||
@@ -39,6 +39,18 @@
|
||||
@endif
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<select class="form-control" id="tanggal_filter" name="tanggal_filter">
|
||||
<option value="daftar">Tanggal Daftar</option>
|
||||
<option value="verifikasi">Tanggal Verifikasi</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<select class="form-control" id="status_filter" name="status_filter">
|
||||
<option value="ALL">Semua Status</option>
|
||||
<option value="Selesai">Selesai</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<button type="button" class="btn btn-primary" id="btnReport">Detail</button>
|
||||
</div>
|
||||
@@ -231,10 +243,12 @@ $(document).ready(function () {
|
||||
$('#divlaporanharian').hide();
|
||||
$("#tanggal").datepicker({format: 'yyyy-mm-dd'});
|
||||
$("#tglpenyimpanan").datepicker({format: 'yyyy-mm-dd'});
|
||||
$('#btnReport').click(function () {
|
||||
$('#btnReport').click(function () {
|
||||
var bulan = document.getElementById('bulan').value;
|
||||
var tahun = document.getElementById('tahun').value;
|
||||
var dokterId= document.getElementById('dokter_id').value;
|
||||
var tanggalFilter = document.getElementById('tanggal_filter').value;
|
||||
var statusFilter = document.getElementById('status_filter').value;
|
||||
var token = document.getElementById('token').value;
|
||||
if (bulan == '' || tahun == ''){
|
||||
swal({
|
||||
@@ -243,7 +257,7 @@ $(document).ready(function () {
|
||||
type : 'error',
|
||||
});
|
||||
} else {
|
||||
$.post('{{ route("reportPeriksa") }}', { bulan: bulan, tahun: tahun, dokter_id: dokterId, jenisreport: '', _token: token },
|
||||
$.post('{{ route("reportPeriksa") }}', { bulan: bulan, tahun: tahun, dokter_id: dokterId, tanggal_filter: tanggalFilter, status_filter: statusFilter, jenisreport: '', _token: token },
|
||||
function(data){
|
||||
var sourceawal = {
|
||||
datatype: "json",
|
||||
@@ -385,6 +399,8 @@ $(document).ready(function () {
|
||||
var bulan = document.getElementById('bulan').value;
|
||||
var tahun = document.getElementById('tahun').value;
|
||||
var dokterId = document.getElementById('dokter_id').value;
|
||||
var tanggalFilter = document.getElementById('tanggal_filter').value;
|
||||
var statusFilter = document.getElementById('status_filter').value;
|
||||
var dokterText = $('#dokter_id option:selected').text();
|
||||
var token = document.getElementById('token').value;
|
||||
|
||||
@@ -397,7 +413,7 @@ $(document).ready(function () {
|
||||
return;
|
||||
}
|
||||
|
||||
$.post('{{ route("reportPeriksa") }}', { bulan: bulan, tahun: tahun, dokter_id: dokterId, jenisreport: '', _token: token }, function(data) {
|
||||
$.post('{{ route("reportPeriksa") }}', { bulan: bulan, tahun: tahun, dokter_id: dokterId, tanggal_filter: tanggalFilter, status_filter: statusFilter, jenisreport: '', _token: token }, function(data) {
|
||||
if (!Array.isArray(data) || data.length === 0) {
|
||||
swal({
|
||||
title : 'Info',
|
||||
@@ -428,7 +444,7 @@ $(document).ready(function () {
|
||||
var wb = XLSX.utils.book_new();
|
||||
XLSX.utils.book_append_sheet(wb, ws, 'ReportDokter');
|
||||
var dokterSafe = (dokterText || 'Dokter').replace(/[^a-zA-Z0-9]+/g, '_');
|
||||
XLSX.writeFile(wb, 'Report_' + bulan + '_' + tahun + '_' + dokterSafe + '.xlsx');
|
||||
XLSX.writeFile(wb, 'Report_' + tanggalFilter + '_' + statusFilter + '_' + bulan + '_' + tahun + '_' + dokterSafe + '.xlsx');
|
||||
});
|
||||
});
|
||||
$('#btnrekapbiorepo').click(function () {
|
||||
|
||||
Reference in New Issue
Block a user