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