78 lines
4.1 KiB
PHP
78 lines
4.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Dokter;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Http\Controllers\Controller;
|
|
|
|
use DB;
|
|
use Auth;
|
|
|
|
class ListPasienTelekonsultasiController extends Controller
|
|
|
|
{
|
|
public function ListPasienTelekonsultasi(Request $request)
|
|
{
|
|
//$dateStart = (isset($request->tanggal)) ? $request->tanggal.' 00:00:00' : date('2025-01-01 00:00:00');
|
|
//$dateEnd = (isset($request->tanggal)) ? $request->tanggal.' 23:59:59' : date('2025-03-30 23:59:59');
|
|
$pegawaiLogin = Auth::user()->smart_pk;
|
|
$dateStart = (isset($request->tanggal)) ? $request->tanggal.' 00:00:00' : date('Y-m-d 00:00:00');
|
|
$dateEnd = (isset($request->tanggal)) ? $request->tanggal.' 23:59:59' : date('Y-m-d 23:59:59');
|
|
$dataReturn = DB::connection('smart')->select("
|
|
select distinct
|
|
pasiendaftar_telekonsultasi.noregistrasi_telekonsultasi as noregistrasi,
|
|
pasien_m.nocm as nomr,
|
|
pasien_m.namapasien as namapasien,
|
|
jeniskelamin_m.jeniskelamin,
|
|
pasien_m.tgllahir as tgllahir,
|
|
pasiendaftar_telekonsultasi.tanggal_rencana_telekonsultasi as tgljamtelekonsultasi,
|
|
case when bayar_telekonsultasi.bayar_telekonsultasi_id is not null then 'Sudah Bayar' else 'Menunggu Pembayaran' end as statuspembayaran,
|
|
case when zoom_telekonsultasi.link_zoom is not null then zoom_telekonsultasi.link_zoom else null end as linkzoom,
|
|
(case
|
|
when pasiendaftar_t.norec is null then 'Belum Terdaftar'
|
|
else
|
|
case when cppt_t.norec is not null then 'Sudah CPPT' else 'Belum CPPT' end
|
|
end
|
|
) as statuspelayanan,
|
|
pasiendaftar_t.norec as pdnorec
|
|
|
|
from
|
|
pasiendaftar_telekonsultasi inner join
|
|
pasien_m on pasien_m.id = pasiendaftar_telekonsultasi.pasien_id left outer join
|
|
jeniskelamin_m on jeniskelamin_m.id = pasien_m.objectjeniskelaminfk left outer join
|
|
pasiendaftar_t on pasiendaftar_telekonsultasi.noregistrasi_pd = pasiendaftar_t.noregistrasi and pasiendaftar_t.statusenabled is true left outer join
|
|
antrianpasiendiperiksa_t on antrianpasiendiperiksa_t.noregistrasifk = pasiendaftar_t.norec left outer join
|
|
cppt_t on antrianpasiendiperiksa_t.norec = cppt_t.noregistrasifk and cppt_t.statusenabled is true left outer join
|
|
bayar_telekonsultasi on bayar_telekonsultasi.pasiendaftar_telekonsultasi_id = pasiendaftar_telekonsultasi.pasiendaftar_telekonsultasi_id left outer join
|
|
zoom_telekonsultasi on zoom_telekonsultasi.pasiendaftar_telekonsultasi_id = pasiendaftar_telekonsultasi.pasiendaftar_telekonsultasi_id
|
|
where
|
|
pasiendaftar_telekonsultasi.statusenabled is true
|
|
and pasiendaftar_telekonsultasi.tanggal_rencana_telekonsultasi >= ? and pasiendaftar_telekonsultasi.tanggal_rencana_telekonsultasi <= ?
|
|
and (pasiendaftar_telekonsultasi.dokter_pegawai_id = ? OR pasiendaftar_t.objectpegawaifk = ?)
|
|
", array(
|
|
$dateStart,
|
|
$dateEnd,
|
|
$pegawaiLogin,
|
|
$pegawaiLogin
|
|
));
|
|
|
|
$dataSudahBayar = array_filter($dataReturn, function ($val) {
|
|
return ($val->statuspembayaran == 'Sudah Bayar');
|
|
});
|
|
|
|
$dataSudahDilayani = array_filter($dataReturn, function ($val) {
|
|
return ($val->statuspelayanan == 'Sudah CPPT');
|
|
});
|
|
|
|
$returnDataToFront['list'] = $dataReturn;
|
|
$returnDataToFront['terdaftar'] = count($dataReturn);
|
|
$returnDataToFront['sudahbayar'] = count($dataSudahBayar);
|
|
$returnDataToFront['sudahdilayani'] = count($dataSudahDilayani);
|
|
$returnDataToFront['belumdilayani'] = $returnDataToFront['sudahbayar'] - $returnDataToFront['sudahdilayani'];
|
|
|
|
$assets = ['chart', 'animation'];
|
|
return view('dokter.list-pasien-telekonsultasi', compact('assets'))->with("data", $returnDataToFront);
|
|
}
|
|
|
|
}
|