<?php
namespace App\Http\Controllers;
use App\Models\Input_data;
use App\Models\Instansi;
use App\Models\KalenderAgenda;
use App\Models\Master_input;
use Barryvdh\DomPDF\Facade\Pdf as FacadePdf;
use Barryvdh\DomPDF\PDF;
use Carbon\Carbon;
use DateTime;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class DashboardController extends Controller
{
public function home(Request $request) {
$data['data'] = [];
if($request->get('kota')) {
$data['data'] = DB::table('instansis')->select(
'instansis.nama_instansi as nama_instansi',
'input_datas.aspek as aspek',
'input_datas.dokumen_terlampir as dokumen_terlampir',
'input_datas.keterangan as keterangan',
'input_datas.kategori as kategori',
'input_datas.kelengkapan as kelengkapan')
->join('master_inputs', 'instansis.id', '=', 'master_inputs.instansi_id')
->join('input_datas','master_inputs.id', '=','input_datas.master_input_id')
->where('kota','like', '%'.$request->get('kota').'%')
->whereNull('deleted_at')->get();
}
if($request->get('dinas')) {
$data['data'] = DB::table('instansis')->select(
'instansis.nama_instansi as nama_instansi',
'input_datas.aspek as aspek',
'input_datas.dokumen_terlampir as dokumen_terlampir',
'input_datas.keterangan as keterangan',
'input_datas.kategori as kategori',
'input_datas.kelengkapan as kelengkapan')
->join('master_inputs', 'instansis.id', '=', 'master_inputs.instansi_id')
->join('input_datas','master_inputs.id', '=','input_datas.master_input_id')
->where('kota','like', '%'.$request->get('kota').'%')
->whereNull('deleted_at')
->where('instansis.id','like', '%'.$request->get('dinas').'%')->get();
$data['dinas'] = Instansi::where('kota', 'like', '%' .$request->get('kota') . '%')->orderBy('nama_instansi','ASC')->whereNull('deleted_at')->get();
}
// dd($data['data']);
return view('home', $data);
}
public function dinas($id) {
$instansi = Instansi::where('kota', 'like', '%' .$id . '%')->orderBy('nama_instansi','ASC')->whereNull('deleted_at')->get();
return response()->json([
'instansi' => $instansi,
]);
}
public function rekab(Request $request) {
if($request->get('dinas')) {
$data['instansi'] = Instansi::Where('id', $request->get('dinas'))->first();
if($request->get('jenis')) {
$data["masters"] = Master_input::orderBy('uraian')->where('instansi_id', $data['instansi']->id)->where('uraian', 'like', '%' .$request->get('jenis') . '%')->paginate(10);
}else {
$data["masters"] = Master_input::orderBy('uraian')->where('instansi_id', $data['instansi']->id)->paginate(10);
}
$pdf = FacadePdf::loadview('rekab',['instansi'=> $data['instansi'] , 'masters' => $data['masters']])->setPaper('a4', 'landscape');
return $pdf->stream("dompdf_out.pdf", array("Attachment" => false));
}
//return view('rekab', $data);
}
public function index()
{
$fromDate = Carbon::now()->subMonth()->startOfMonth()->toDateString();
$tillDate = Carbon::now()->subMonth()->endOfMonth()->toDateString();
echo "";
$date = new DateTime('now');
$today = $date->format('Y-m-d');
$date->modify('last day of this month');
$last = $date->format('Y-m-d');
$data['kalender'] = KalenderAgenda::whereBetween('start_event', [$today, $last])->orderBy('start_event','ASC')->get();
$data['title'] = 'Dashboard';
$data['pengguna'] = Instansi::count();
$data['kelengkapan_data'] = Input_data::where('kelengkapan','Ada')->count();
$data['instansis'] = Instansi::with('user')->whereHas('user', function($user) {
$user->where('role','<>','Admin');
})->paginate();
// dd($data['instansis']);
return view("dashboard", $data);
}
public function lihat_master(string $id)
{
$data['title'] = 'Master Input';
$data['instansi'] = Instansi::where('id', $id)->first();
$data["masters"] = Master_input::orderBy('uraian')->where('instansi_id', $data['instansi']->id)->paginate(10);
$data['id'] = $id;
return view('admin.lihat_instansi', $data);
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]