<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Opd;
use App\Models\Kpa;
use App\Models\User;
use App\Models\SumberDana;
use App\Models\Program;
use App\Models\Kegiatan;
use App\Models\SubKegiatan;
use App\Models\Proker;
use App\Models\ProkerProgram;
use App\Models\ProkerKegiatan;
use App\Models\ProkerSubKegiatan;
use App\Models\RincianKegiatan;
use PDF;
use DB,Str,File,Auth;
use App\Helpers\HelperString;
use \Carbon\Carbon;
use Illuminate\Support\Facades\File as FacadesFile;
use setasign\Fpdi\Fpdi;
class DauController extends Controller
{
public function __construct(){
$this->middleware('role:admin|admin-opd|monev');
}
public function index(Request $request)
{
if ($request->has('printpdf')) {
if(isset($_GET['generate']) && $_GET['generate'] == 'true') {
if($_GET['page'] == '1') {
if(Auth::user()->hasRole('admin-opd') or Auth::user()->hasRole('admin-PPTK|monev') and Auth::user()->opd_id !== null){
$opd = Opd::where('id',Auth::user()->opd_id)->orderBy('kode', "ASC")->get();
$prokersTotal = Proker::select('id','opd_id','tahun')
->where('opd_id',Auth::user()->opd_id)
->when($request->has('pd') and $request->pd != "" and $request->pd != null, function ($query) use ($request) {
$query->whereHas('Opd', fn($q) => $q->where('opd_id', $request->pd));
})
->whereHas('RincianKegiatan', function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}] ,'pagu')
->withSum(['RealisasiRincianKegiatan as nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}] , 'realisasi')
->withSum(['RealisasiKeuangan as realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->whereHas('opd')
->with('opd')
->with(['ProkerProgram' => function ($query) use($request) {
$query->select('id','program_id','proker_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as program_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as program_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as program_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as program_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as program_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as program_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('program')
->with(['ProkerKegiatan' => function ($query) use($request) {
$query->select('id','proker_program_id','kegiatan_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as kegiatan_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('kegiatan')
->with(['ProkerSubKegiatan' => function ($query) use($request) {
$query->select('id','proker_kegiatan_id','sub_kegiatan_id','kpa_id','user_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as sub_kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as sub_kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as sub_kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as sub_kegiatan_volume_sum' => function($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}], 'volume')
->withSum(['RealisasiFisik as sub_kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as sub_kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('subKegiatan','Kpa','Pptk')
->with(['RincianKegiatan' => function ($query) use($request) {
$query->select('id','proker_sub_kegiatan_id','volume','pagu', 'uraian', 'kode_rekening')
->where('rincian_kegiatans.sumber_dana_id', 8)
->withSum(['RealisasiFisik as rincian_kegiatan_realisasi_fisik_sum' => function($query) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
}], 'realisasi')
->with([
'RealisasiRincianKegiatan.realisasiFisik' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.realisasiKeuangan' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.permasalahanTindakLanjut' => function ($q) {
$q->select('permasalahan','tindaklanjut');
},
]);
}]);
}]);
}]);
}])
->get()
->sortBy(function ($proker) {
return $proker->opd->kode;
});
}else{
$opd = Opd::orderBy('kode', "ASC")->get();
$prokersTotal = Proker::select('id','opd_id','tahun')
->when($request->has('pd') and $request->pd != "" and $request->pd != null, function ($query) use ($request) {
$query->whereHas('Opd', fn($q) => $q->where('opd_id', $request->pd));
})
->whereHas('RincianKegiatan', function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}] ,'pagu')
->withSum(['RealisasiRincianKegiatan as nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}] , 'realisasi')
->withSum(['RealisasiKeuangan as realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->whereHas('opd')
->with('opd')
->with(['ProkerProgram' => function ($query) use($request) {
$query->select('id','program_id','proker_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as program_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as program_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as program_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as program_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as program_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as program_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('program')
->with(['ProkerKegiatan' => function ($query) use($request) {
$query->select('id','proker_program_id','kegiatan_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as kegiatan_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('kegiatan')
->with(['ProkerSubKegiatan' => function ($query) use($request) {
$query->select('id','proker_kegiatan_id','sub_kegiatan_id','kpa_id','user_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as sub_kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as sub_kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as sub_kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as sub_kegiatan_volume_sum' => function($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}], 'volume')
->withSum(['RealisasiFisik as sub_kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as sub_kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('subKegiatan','Kpa','Pptk')
->with(['RincianKegiatan' => function ($query) use($request) {
$query->select('id','proker_sub_kegiatan_id','volume','pagu', 'uraian', 'kode_rekening')
->where('rincian_kegiatans.sumber_dana_id', 8)
->withSum(['RealisasiFisik as rincian_kegiatan_realisasi_fisik_sum' => function($query) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
}], 'realisasi')
->with([
'RealisasiRincianKegiatan.realisasiFisik' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.realisasiKeuangan' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.permasalahanTindakLanjut' => function ($q) {
$q->select('permasalahan','tindaklanjut');
},
]);
}]);
}]);
}]);
}])
->get()
->sortBy(function ($proker) {
return $proker->opd->kode;
});
}
} else {
$prokersTotal = null;
}
if(Auth::user()->hasRole('admin-opd') or Auth::user()->hasRole('admin-PPTK|monev') and Auth::user()->opd_id !== null){
$opd = Opd::where('id',Auth::user()->opd_id)->orderBy('kode', "ASC")->get();
$prokers = Proker::select('id','opd_id','tahun')
->where('opd_id',Auth::user()->opd_id)
->when($request->has('pd') and $request->pd != "" and $request->pd != null, function ($query) use ($request) {
$query->whereHas('Opd', fn($q) => $q->where('opd_id', $request->pd));
})
->whereHas('RincianKegiatan', function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}] ,'pagu')
->withSum(['RealisasiRincianKegiatan as nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}] , 'realisasi')
->withSum(['RealisasiKeuangan as realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->whereHas('opd')
->with('opd')
->with(['ProkerProgram' => function ($query) use($request) {
$query->select('id','program_id','proker_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as program_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as program_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as program_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as program_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as program_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as program_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('program')
->with(['ProkerKegiatan' => function ($query) use($request) {
$query->select('id','proker_program_id','kegiatan_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as kegiatan_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('kegiatan')
->with(['ProkerSubKegiatan' => function ($query) use($request) {
$query->select('id','proker_kegiatan_id','sub_kegiatan_id','kpa_id','user_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as sub_kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as sub_kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as sub_kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as sub_kegiatan_volume_sum' => function($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}], 'volume')
->withSum(['RealisasiFisik as sub_kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as sub_kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('subKegiatan','Kpa','Pptk')
->with(['RincianKegiatan' => function ($query) use($request) {
$query->select('id','proker_sub_kegiatan_id','volume','pagu', 'uraian', 'kode_rekening')
->where('rincian_kegiatans.sumber_dana_id', 8)
->withSum(['RealisasiFisik as rincian_kegiatan_realisasi_fisik_sum' => function($query) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
}], 'realisasi')
->with([
'RealisasiRincianKegiatan.realisasiFisik' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.realisasiKeuangan' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.permasalahanTindakLanjut' => function ($q) {
$q->select('permasalahan','tindaklanjut');
},
]);
}]);
}]);
}]);
}])
->paginate(1)
->sortBy(function ($proker) {
return $proker->opd->kode;
});
}else{
$opd = Opd::orderBy('kode', "ASC")->get();
$prokers = Proker::select('id','opd_id','tahun')
->when($request->has('pd') and $request->pd != "" and $request->pd != null, function ($query) use ($request) {
$query->whereHas('Opd', fn($q) => $q->where('opd_id', $request->pd));
})
->whereHas('RincianKegiatan', function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}] ,'pagu')
->withSum(['RealisasiRincianKegiatan as nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}] , 'realisasi')
->withSum(['RealisasiKeuangan as realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->whereHas('opd')
->with('opd')
->with(['ProkerProgram' => function ($query) use($request) {
$query->select('id','program_id','proker_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as program_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as program_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as program_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as program_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as program_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as program_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('program')
->with(['ProkerKegiatan' => function ($query) use($request) {
$query->select('id','proker_program_id','kegiatan_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as kegiatan_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('kegiatan')
->with(['ProkerSubKegiatan' => function ($query) use($request) {
$query->select('id','proker_kegiatan_id','sub_kegiatan_id','kpa_id','user_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as sub_kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as sub_kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as sub_kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as sub_kegiatan_volume_sum' => function($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}], 'volume')
->withSum(['RealisasiFisik as sub_kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as sub_kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('subKegiatan','Kpa','Pptk')
->with(['RincianKegiatan' => function ($query) use($request) {
$query->select('id','proker_sub_kegiatan_id','volume','pagu', 'uraian', 'kode_rekening')
->where('rincian_kegiatans.sumber_dana_id', 8)
->withSum(['RealisasiFisik as rincian_kegiatan_realisasi_fisik_sum' => function($query) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
}], 'realisasi')
->with([
'RealisasiRincianKegiatan.realisasiFisik' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.realisasiKeuangan' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.permasalahanTindakLanjut' => function ($q) {
$q->select('permasalahan','tindaklanjut');
},
]);
}]);
}]);
}]);
}])
->paginate(1)
->sortBy(function ($proker) {
return $proker->opd->kode;
});
}
$file_name = Str::replace(' ','_',Str::replace(':','_',"resume_dau_pengunduhan_".$request->waktufile."#".$request->page.".pdf"));
$no = 1*$request->page*5-5+1;
$pdf = PDF::loadview('resume.template_laporan_resume_dau_pdf', compact('prokers', 'request','prokersTotal'))->setOptions(['defaultfont' => 'sans-serif']);
$pdf->setPaper('A4', 'landscape');
// $pdf = PDF::loadView('admin.tagihan.pdf', compact('bills','today'));
$content = $pdf->download()->getOriginalContent();
// Storage::put('public/bills/bubla.pdf',$content);
file_put_contents(public_path().'/grafik/'.$file_name, $content);
return response()->json([
'file_name' => $file_name,
'base_name' => Str::replace(' ','_',Str::replace(':','_',"resume_dau_pengunduhan_".$request->waktufile)),
]);
} else if(isset($_GET['generate']) && $_GET['generate'] == 'merge') {
// dd("LOL");
$baseName = $request->base_name;
$fileExtension = '.pdf';
$separator = '#'; // Separator used in the file names
$maxFiles = $request->total_data_perpage; // Adjust this if you have more files
$pdf = new Fpdi();
$a4Width = 297;
$a4Height = 210;
$processedFiles = [];
// Loop through the files and add them to the PDF
for ($i = 0; $i < $maxFiles; $i++) {
$fileName = public_path().'/grafik/'.$baseName . $separator . intval($i + 1) . $fileExtension;
// echo $fileName."<br>";
if (file_exists($fileName)) {
// Add each page of the PDF file to the new PDF
$pageCount = $pdf->setSourceFile($fileName);
for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
$pdf->AddPage('L', [$a4Width, $a4Height]);
$tplId = $pdf->importPage($pageNo);
$pdf->useTemplate($tplId);
$processedFiles[] = $fileName;
}
} else {
// If file does not exist, break the loop
break;
}
}
$outputPath = public_path().'/grafik/'.$baseName.'.pdf';
$pdf->Output('F', $outputPath);
foreach ($processedFiles as $file) {
FacadesFile::delete($file);
}
return response()->json([
'file_name' => $baseName.'.pdf',
'status' => "File siap diunduh! : ",
]);
} else {
if(Auth::user()->hasRole('admin-opd') or Auth::user()->hasRole('admin-PPTK|monev') and Auth::user()->opd_id !== null){
$opd = Opd::where('id',Auth::user()->opd_id)->orderBy('kode', "ASC")->get();
$prokers = Proker::select('id','opd_id','tahun')
->where('opd_id',Auth::user()->opd_id)
->when($request->has('pd') and $request->pd != "" and $request->pd != null, function ($query) use ($request) {
$query->whereHas('Opd', fn($q) => $q->where('opd_id', $request->pd));
})
->whereHas('RincianKegiatan', function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}] ,'pagu')
->withSum(['RealisasiRincianKegiatan as nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}] , 'realisasi')
->withSum(['RealisasiKeuangan as realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->whereHas('opd')
->with('opd')
->with(['ProkerProgram' => function ($query) use($request) {
$query->select('id','program_id','proker_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as program_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as program_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as program_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as program_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as program_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as program_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('program')
->with(['ProkerKegiatan' => function ($query) use($request) {
$query->select('id','proker_program_id','kegiatan_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as kegiatan_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('kegiatan')
->with(['ProkerSubKegiatan' => function ($query) use($request) {
$query->select('id','proker_kegiatan_id','sub_kegiatan_id','kpa_id','user_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as sub_kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as sub_kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as sub_kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as sub_kegiatan_volume_sum' => function($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}], 'volume')
->withSum(['RealisasiFisik as sub_kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as sub_kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('subKegiatan','Kpa','Pptk')
->with(['RincianKegiatan' => function ($query) use($request) {
$query->select('id','proker_sub_kegiatan_id','volume','pagu', 'uraian', 'kode_rekening')
->where('rincian_kegiatans.sumber_dana_id', 8)
->withSum(['RealisasiFisik as rincian_kegiatan_realisasi_fisik_sum' => function($query) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
}], 'realisasi')
->with([
'RealisasiRincianKegiatan.realisasiFisik' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.realisasiKeuangan' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.permasalahanTindakLanjut' => function ($q) {
$q->select('permasalahan','tindaklanjut');
},
]);
}]);
}]);
}]);
}])
->get()
->sortBy(function ($proker) {
return $proker->opd->kode;
});
}else{
$opd = Opd::orderBy('kode', "ASC")->get();
$prokers = Proker::select('id','opd_id','tahun')
->when($request->has('pd') and $request->pd != "" and $request->pd != null, function ($query) use ($request) {
$query->whereHas('Opd', fn($q) => $q->where('opd_id', $request->pd));
})
->whereHas('RincianKegiatan', function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}] ,'pagu')
->withSum(['RealisasiRincianKegiatan as nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}] , 'realisasi')
->withSum(['RealisasiKeuangan as realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->whereHas('opd')
->with('opd')
->with(['ProkerProgram' => function ($query) use($request) {
$query->select('id','program_id','proker_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as program_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as program_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as program_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as program_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as program_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as program_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('program')
->with(['ProkerKegiatan' => function ($query) use($request) {
$query->select('id','proker_program_id','kegiatan_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as kegiatan_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('kegiatan')
->with(['ProkerSubKegiatan' => function ($query) use($request) {
$query->select('id','proker_kegiatan_id','sub_kegiatan_id','kpa_id','user_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as sub_kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as sub_kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as sub_kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as sub_kegiatan_volume_sum' => function($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}], 'volume')
->withSum(['RealisasiFisik as sub_kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as sub_kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('subKegiatan','Kpa','Pptk')
->with(['RincianKegiatan' => function ($query) use($request) {
$query->select('id','proker_sub_kegiatan_id','volume','pagu', 'uraian', 'kode_rekening')
->where('rincian_kegiatans.sumber_dana_id', 8)
->withSum(['RealisasiFisik as rincian_kegiatan_realisasi_fisik_sum' => function($query) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
}], 'realisasi')
->with([
'RealisasiRincianKegiatan.realisasiFisik' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.realisasiKeuangan' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.permasalahanTindakLanjut' => function ($q) {
$q->select('permasalahan','tindaklanjut');
},
]);
}]);
}]);
}]);
}])
->get()
->sortBy(function ($proker) {
return $proker->opd->kode;
});
}
$limit = 0;
$totalDataDanIsinya = [];
foreach($prokers as $a) {
$limit += 1;
$totalDataDanIsinya[] = [$limit];
}
return view('resume.template_laporan_resume_dau_pdf', compact('prokers', 'request', 'totalDataDanIsinya'));
}
// $file_name = Str::replace(' ','_',Str::replace(':','_',"resume_dau_pengunduhan_".Carbon::now()->format('Y-m-d H:i:s').".pdf"));
// $pdf = PDF::loadview('resume.template_laporan_resume_dau_pdf', compact('prokers', 'request'))
// ->setOptions(['defaultfont' => 'sans-serif']);
// $pdf->setPaper('A4', 'landscape');
// return $pdf->download($file_name);
} else {
if(Auth::user()->hasRole('admin-opd') or Auth::user()->hasRole('admin-PPTK|monev') and Auth::user()->opd_id !== null){
$opd = Opd::where('id',Auth::user()->opd_id)->orderBy('kode', "ASC")->get();
$prokers = Proker::select('id','opd_id','tahun')
->where('opd_id',Auth::user()->opd_id)
->when($request->has('pd') and $request->pd != "" and $request->pd != null, function ($query) use ($request) {
$query->whereHas('Opd', fn($q) => $q->where('opd_id', $request->pd));
})
->whereHas('RincianKegiatan', function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}] ,'pagu')
->withSum(['RealisasiRincianKegiatan as nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}] , 'realisasi')
->withSum(['RealisasiKeuangan as realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->whereHas('opd')
->with('opd')
->with(['ProkerProgram' => function ($query) use($request) {
$query->select('id','program_id','proker_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as program_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as program_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as program_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as program_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as program_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as program_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('program')
->with(['ProkerKegiatan' => function ($query) use($request) {
$query->select('id','proker_program_id','kegiatan_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as kegiatan_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('kegiatan')
->with(['ProkerSubKegiatan' => function ($query) use($request) {
$query->select('id','proker_kegiatan_id','sub_kegiatan_id','kpa_id','user_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as sub_kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as sub_kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as sub_kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as sub_kegiatan_volume_sum' => function($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}], 'volume')
->withSum(['RealisasiFisik as sub_kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as sub_kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('subKegiatan','Kpa','Pptk')
->with(['RincianKegiatan' => function ($query) use($request) {
$query->select('id','proker_sub_kegiatan_id','volume','pagu', 'uraian', 'kode_rekening')
->where('rincian_kegiatans.sumber_dana_id', 8)
->withSum(['RealisasiFisik as rincian_kegiatan_realisasi_fisik_sum' => function($query) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
}], 'realisasi')
->with([
'RealisasiRincianKegiatan.realisasiFisik' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.realisasiKeuangan' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.permasalahanTindakLanjut' => function ($q) {
$q->select('permasalahan','tindaklanjut');
},
]);
}]);
}]);
}]);
}])
->get()
->sortBy(function ($proker) {
return $proker->opd->kode;
});
}else{
$opd = Opd::orderBy('kode', "ASC")->get();
$prokers = Proker::select('id','opd_id','tahun')
->when($request->has('pd') and $request->pd != "" and $request->pd != null, function ($query) use ($request) {
$query->whereHas('Opd', fn($q) => $q->where('opd_id', $request->pd));
})
->whereHas('RincianKegiatan', function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}] ,'pagu')
->withSum(['RealisasiRincianKegiatan as nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}] , 'realisasi')
->withSum(['RealisasiKeuangan as realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->whereHas('opd')
->with('opd')
->with(['ProkerProgram' => function ($query) use($request) {
$query->select('id','program_id','proker_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as program_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as program_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as program_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as program_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as program_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as program_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('program')
->with(['ProkerKegiatan' => function ($query) use($request) {
$query->select('id','proker_program_id','kegiatan_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as kegiatan_volume_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'volume')
->withSum(['RealisasiFisik as kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('kegiatan')
->with(['ProkerSubKegiatan' => function ($query) use($request) {
$query->select('id','proker_kegiatan_id','sub_kegiatan_id','kpa_id','user_id')
->whereHas('RincianKegiatan', function ($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
})
->withSum(['RincianKegiatan as sub_kegiatan_pagu_sum' => function($query){
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}],'pagu')
->withSum(['RealisasiRincianKegiatan as sub_kegiatan_nilai_kontrak_sum' => function ($query) {
$query->whereHas('RincianKegiatan', function($q){
$q->where('rincian_kegiatans.sumber_dana_id', 8);
})->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}],'nilai_kontrak')
->withSum(['RincianKegiatan as sub_kegiatan_pagu_berjalan_sum' => function ($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8)->whereHas('RealisasiKeuangan')->orWhereHas('RealisasiFisik');
}], 'pagu')
->withSum(['RincianKegiatan as sub_kegiatan_volume_sum' => function($query) {
$query->where('rincian_kegiatans.sumber_dana_id', 8);
}], 'volume')
->withSum(['RealisasiFisik as sub_kegiatan_realisasi_fisik_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->withSum(['RealisasiKeuangan as sub_kegiatan_realisasi_keuangan_sum' => function($query) use($request) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
if ($request->has('tanggal_awal') && $request->has('tanggal_akhir') && $_GET['tanggal_awal'] != '' && $_GET['tanggal_akhir'] != '') {
$query->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
}
}], 'realisasi')
->with('subKegiatan','Kpa','Pptk')
->with(['RincianKegiatan' => function ($query) use($request) {
$query->select('id','proker_sub_kegiatan_id','volume','pagu', 'uraian', 'kode_rekening')
->where('rincian_kegiatans.sumber_dana_id', 8)
->withSum(['RealisasiFisik as rincian_kegiatan_realisasi_fisik_sum' => function($query) {
$query->whereHas('RincianKegiatan', function($q) {
$q->where('rincian_kegiatans.sumber_dana_id', 8);
});
}], 'realisasi')
->with([
'RealisasiRincianKegiatan.realisasiFisik' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.realisasiKeuangan' => function ($query) use ($request) {
$query->when($request->filled(['tanggal_awal', 'tanggal_akhir']), function ($qq) use ($request) {
$qq->whereBetween('tanggal_realisasi', [$request->tanggal_awal, $request->tanggal_akhir]);
});
},
'RealisasiRincianKegiatan.permasalahanTindakLanjut' => function ($q) {
$q->select('permasalahan','tindaklanjut');
},
]);
}]);
}]);
}]);
}])
->get()
->sortBy(function ($proker) {
return $proker->opd->kode;
});
}
// dd($prokers);
// $getOpd = $request->get('pd', null);
// $getTahun = $request->get('tahun', '2022');
// $getBulan = $request->get('month');
$sumberDana = 8;
$helper = new HelperString;
$list_year = (object) collect($helper->listYear())->reverse();
$list_month = (object) collect($helper->listMonth());
return view("resume.dau", compact('prokers','opd','list_year','list_month', 'request'));
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]