67 lines
2.6 KiB
PHP
67 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class LaporanController extends Controller
|
|
{
|
|
public function getLaporanPendaftaran(Request $request)
|
|
{
|
|
$query = DB::table('tr_registrasis')
|
|
->join('ms__pasiens', 'tr_registrasis.MRPasien', '=', 'ms__pasiens.MRPasien')
|
|
->join('ms__asuransis', 'tr_registrasis.IdAsuransi', '=', 'ms__asuransis.IdAsuransi')
|
|
->join('ms__ruang_pelayanans', 'tr_registrasis.IdRuangPelayanan', '=', 'ms__ruang_pelayanans.IdRuangPelayanan')
|
|
->join('ms__pegawais', 'tr_registrasis.IdPegawai', '=', 'ms__pegawais.IdPegawai')
|
|
->select(
|
|
'tr_registrasis.NoRegistrasi',
|
|
'ms__pasiens.NamaPasien',
|
|
'tr_registrasis.TanggalRegistrasi',
|
|
'ms__asuransis.NamaAsuransi',
|
|
'ms__ruang_pelayanans.NamaRuangPelayanan',
|
|
'ms__pegawais.NamaPegawai',
|
|
'tr_registrasis.JenisRawat'
|
|
)
|
|
->where('tr_registrasis.statusenabled', true);
|
|
|
|
if ($request->has('tanggal_start') && $request->has('tanggal_end')) {
|
|
$query->whereBetween('tr_registrasis.TanggalRegistrasi', [$request->tanggal_start, $request->tanggal_end]);
|
|
}
|
|
|
|
|
|
$pasien = $query->get();
|
|
|
|
return response()->json([
|
|
'data' => $pasien
|
|
]);
|
|
}
|
|
|
|
public function getPendapatanHarian(Request $request)
|
|
{
|
|
|
|
$tanggal = $request->tanggal ?? date('Y-m-d');
|
|
|
|
$pendapatan = DB::table('tr__transaksis')
|
|
->join('ms__tindakans', 'tr__transaksis.IdTindakan', '=', 'ms__tindakans.IdTindakan')
|
|
->join('ms__pegawais', 'tr__transaksis.IdPegawai', '=', 'ms__pegawais.IdPegawai')
|
|
->join('tr_registrasis', 'tr__transaksis.IdRegistrasi', '=', 'tr_registrasis.IdRegistrasi')
|
|
->join('ms__pasiens', 'tr_registrasis.MRPasien', '=', 'ms__pasiens.MRPasien')
|
|
->select(
|
|
'tr__transaksis.created_at as TanggalTransaksi',
|
|
'ms__pasiens.NoRM',
|
|
'ms__pasiens.NamaPasien',
|
|
'tr_registrasis.NoRegistrasi',
|
|
'tr_registrasis.TanggalRegistrasi',
|
|
DB::raw('SUM(ms__tindakans.TarifTindakan * tr__transaksis.JmlTindakan) as total_pendapatan')
|
|
)
|
|
->whereDate('tr__transaksis.created_at', $tanggal)
|
|
->groupBy('tr__transaksis.created_at', 'ms__pasiens.NoRM', 'ms__pasiens.NamaPasien', 'tr_registrasis.NoRegistrasi', 'tr_registrasis.TanggalRegistrasi')
|
|
->get();
|
|
|
|
return response()->json([
|
|
'data' => $pendapatan
|
|
]);
|
|
}
|
|
}
|