138 lines
4.1 KiB
PHP
138 lines
4.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Module_line;
|
|
use App\Models\Registrasi;
|
|
use App\Models\Transaksi;
|
|
use Exception;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class DashboardController extends Controller
|
|
{
|
|
//
|
|
public function index()
|
|
{
|
|
$data['title'] = 'DASHBOARD';
|
|
return view('dashboard.index', $data);
|
|
}
|
|
|
|
public function get_module()
|
|
{
|
|
$module_access = json_decode(session('module_access'));
|
|
$get_parent = Module_line::whereIn('id', $module_access)->where('parent_id', 0)->get();
|
|
|
|
try {
|
|
$data = [];
|
|
foreach ($get_parent as $key => $value) {
|
|
$get_child = Module_line::select(['id', 'module_name', 'image', 'module_url'])->whereIn('id', $module_access)->where('parent_id', $value->id)->get();
|
|
$data[] = [
|
|
'id' => $value->id,
|
|
'module_name' => $value->module_name,
|
|
'image' => $value->image,
|
|
'module_url' => $value->module_url,
|
|
'child' => $get_child
|
|
];
|
|
}
|
|
|
|
$data_return = [
|
|
'status' => true,
|
|
'data' => $data,
|
|
'msg' => null
|
|
];
|
|
return response()->json($data_return, 200);
|
|
|
|
} catch (Exception $e) {
|
|
//throw $th;
|
|
dd($e);
|
|
$data_return = [
|
|
'status' => false,
|
|
'data' => null,
|
|
'msg' => 'something wrong!!'
|
|
];
|
|
return response()->json($data_return, 500);
|
|
}
|
|
}
|
|
|
|
public function get_total_pasien()
|
|
{
|
|
$get_data = Registrasi::select([
|
|
DB::raw('count(*) as total'),
|
|
'registrasi_tanggal',
|
|
])
|
|
->whereRaw('MONTH(registrasi_tanggal) = ?', [date('m')])
|
|
->whereRaw('registrasi_tanggal <= ?', [date('Y-m-d')])
|
|
->whereIn('status', [0, 1, 2, 3])
|
|
->groupBy('registrasi_tanggal')
|
|
->get();
|
|
|
|
$get_total_today = Registrasi::select([
|
|
DB::raw('count(*) as total'),
|
|
'registrasi_tanggal',
|
|
])
|
|
->whereRaw('registrasi_tanggal = ?', [date('Y-m-d')])
|
|
->whereIn('status', [0, 1, 2, 3])
|
|
->first();
|
|
|
|
if ($get_data && $get_total_today) {
|
|
$data_return = [
|
|
'status' => true,
|
|
'data' => [
|
|
'chart' => $get_data,
|
|
'total_today' => $get_total_today
|
|
],
|
|
'msg' => null
|
|
];
|
|
return response()->json($data_return, 200);
|
|
} else {
|
|
$data_return = [
|
|
'status' => false,
|
|
'data' => null,
|
|
'msg' => 'Data Not Found!'
|
|
];
|
|
return response()->json($data_return, 404);
|
|
}
|
|
}
|
|
|
|
public function get_total_fund()
|
|
{
|
|
$get_data = Transaksi::select([
|
|
DB::raw('SUM(tindakan_tarif_total + biaya_tambahan) as total'),
|
|
DB::raw('DATE(created_at) as tanggal'),
|
|
])
|
|
->whereRaw('MONTH(created_at) = ?', [date('m')])
|
|
->whereRaw('DATE(created_at) <= ?', [date('Y-m-d')])
|
|
->whereIn('is_pay', [1])
|
|
->groupBy('tanggal')
|
|
->get();
|
|
|
|
$get_total_today = Transaksi::select([
|
|
DB::raw('SUM(tindakan_tarif_total + biaya_tambahan) as total'),
|
|
DB::raw('DATE(created_at) as tanggal'),
|
|
])
|
|
->whereRaw('DATE(created_at) = ?', [date('Y-m-d')])
|
|
->whereIn('is_pay', [1])
|
|
->first();
|
|
|
|
if ($get_data && $get_total_today) {
|
|
$data_return = [
|
|
'status' => true,
|
|
'data' => [
|
|
'chart' => $get_data,
|
|
'total_today' => $get_total_today
|
|
],
|
|
'msg' => null
|
|
];
|
|
return response()->json($data_return, 200);
|
|
} else {
|
|
$data_return = [
|
|
'status' => false,
|
|
'data' => null,
|
|
'msg' => 'Data Not Found!'
|
|
];
|
|
return response()->json($data_return, 404);
|
|
}
|
|
}
|
|
}
|