19_Bakti_SIMRS/backend/app/Http/Controllers/LaporanController.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
]);
}
}