Anons79 Mini Shell

Directory : /home/aplikasiposinfo/.trash/app.2/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/.trash/app.2/Http/Controllers/HomeController.php

<?php

namespace App\Http\Controllers;

use Maatwebsite\Excel\Excel as ExcelExcel;
use App\Exports\ExportPembayaran;
use App\Models\IndikatorOpd;
use App\Models\IndukOpd;
use App\Models\IndikatorPemerintah;
use Carbon\Carbon;
use App\Models\User;
use App\Models\Target;
use App\Models\Tagihan;
use App\Models\Pelanggan;
use App\Models\Pembayaran;
use Illuminate\Http\Request;
use App\Models\TagihanPemasangan;
use Illuminate\Support\Facades\DB;
use App\Models\PembayaranPemasangan;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Maatwebsite\Excel\Facades\Excel;
use Illuminate\Support\Arr;

class HomeController extends Controller
{
    public function index(Request $request)
    {
        //  $indukOpd = IndukOpd::all();

        // foreach ($indukOpd as $key => $value) {
        //     # code...
        //     $user = User::create([
        //         'nama' => $value->nama,
        //         'username' => preg_replace('/\s+/', ' ', $value->nama),
        //         'password' => Hash::make('12345678'),
        //         'kode_skpd' => $value->kd_perangkat_daerah,
        //         'induk_opd_id' => $value->id,
        //         'kategori_opd_id' => 1,
        //         'level_id' => 1,
        //         'alamat' => '-'
        //     ]);
        //   $user->assignRole('Operator');
        // }
        // return Excel::download(new ExportPembayaran, 'user.xlsx', ExcelExcel::XLSX, []);
        // if(Auth::user()->roles->first()->name == "Admin"){
        //     if($request->years){
        //         $pelanggan = User::whereYear('created_at', '=', $request->years)->count();
        //         $tagihan = Tagihan::whereYear('created_at', '=', $request->years)->count();
        //         $pembayaran = Tagihan::whereYear('created_at', '=', $request->years)->where('status', 2)->count();
        //         $pembayaran_telat = Tagihan::whereYear('created_at', '=', $request->years)->whereIn('status', [0, 1])->count();
        //     } else {
        //         $pelanggan = User::count();
        //         $tagihan = Tagihan::count();
        //         $pembayaran = Tagihan::where('status', 2)->count();
        //         $pembayaran_telat = Tagihan::whereIn('status', [0, 1])->count();
        //     }
        // } else {
        //     if($request->years){
        //     $pelanggan = User::whereYear('created_at', '=', $request->years)->where('daerah_id', Auth::user()->daerah_id)->count();
        //     $tagihan = Tagihan::join("pelanggans", 'pelanggans.id', '=', 'tagihans.pelanggan_id')->whereYear('tagihans.created_at', '=', $request->years)->where("pelanggans.daerah_id", Auth::user()->daerah_id)->count();
        //     $pembayaran = Tagihan::join("pelanggans", 'pelanggans.id', '=', 'tagihans.pelanggan_id')->whereYear('tagihans.created_at', '=', $request->years)->where("pelanggans.daerah_id", Auth::user()->daerah_id)->where('status', 2)->count();
        //     $pembayaran_telat = Tagihan::join("pelanggans", 'pelanggans.id', '=', 'tagihans.pelanggan_id')->whereYear('tagihans.created_at', '=', $request->years)->where("pelanggans.daerah_id", Auth::user()->daerah_id)->whereIn('status', [0, 1])->count();
        //     } else {
        //         $pelanggan = User::where('daerah_id', Auth::user()->daerah_id)->count();
        //     $tagihan = Tagihan::join("pelanggans", 'pelanggans.id', '=', 'tagihans.pelanggan_id')->where("pelanggans.daerah_id", Auth::user()->daerah_id)->count();
        //     $pembayaran = Tagihan::join("pelanggans", 'pelanggans.id', '=', 'tagihans.pelanggan_id')->where("pelanggans.daerah_id", Auth::user()->daerah_id)->where('status', 2)->count();
        //     $pembayaran_telat = Tagihan::join("pelanggans", 'pelanggans.id', '=', 'tagihans.pelanggan_id')->where("pelanggans.daerah_id", Auth::user()->daerah_id)->whereIn('status', [0, 1])->count();
        //     }
        // }
        // $datas1 =  Target::join('upt_daerahs', 'targets.id_daerah', '=', 'upt_daerahs.id')->select('targets.id', 'targets.target', 'targets.tahun', 'targets.realisasi', 'targets.created_at', 'upt_daerahs.nama_daerah')->get()->pluck('target', "nama_daerah");
        // $datas2 =  Target::join('upt_daerahs', 'targets.id_daerah', '=', 'upt_daerahs.id')->select('targets.id', 'targets.target', 'targets.tahun', 'targets.realisasi', 'targets.created_at', 'upt_daerahs.nama_daerah')->get()->pluck('realisasi', "nama_daerah");
        // $datasTotal = Target::sum('target');
        // $chartTargets = $datas1->values();
        // $chartLabels2 = $datas1->keys();
        // $chartRealisasis = $datas2->values();
        // $datasDivide = $datasTotal / 12;
        // $divide = array_fill(1, 12, $datasDivide);
        // $values = array_values($divide);
        // $daftar_realisasi = DB::table("tagihans")->select(DB::raw("sum(jumlah_pembayaran) as sum"), DB::raw("DATE_FORMAT(tanggal_penerimaan, '%Y-%m') as date"), 'status')->where('status', '=', 2)->groupBy(DB::raw("DATE_FORMAT(tanggal_penerimaan, '%Y-%m')"), 'status')->orderBy(DB::raw("DATE_FORMAT(tanggal_penerimaan, '%Y-%m')"), "asc")->get();
        // $chartData2 = $daftar_realisasi->values();
        // if($request->years){
        //     $jumlah_pembayaran = Tagihan::whereYear('created_at', '=', $request->years)->sum('jumlah_pembayaran');
        //     $jumlah_hutang = Tagihan::whereYear('created_at', '=', $request->years)->where([['status', '=', 1]])->orWhere('status', 3)->sum('jumlah_pembayaran');
        // } else{
        //     $jumlah_pembayaran = Tagihan::sum('jumlah_pembayaran');
        //     $jumlah_hutang = Tagihan::where([['status', '=', 1]])->orWhere('status', 3)->sum('jumlah_pembayaran');
        // }
        // // dd($jumlah_hutang, Tagihan::where([['status', 1]])->get());
        // $daftar_pembayaran = DB::table("tagihans")->select(DB::raw("sum(jumlah_pembayaran) as sum"), DB::raw("DATE_FORMAT(created_at, '%M-%Y') as date"))->whereYear('created_at', date('Y'))->groupBy(DB::raw("DATE_FORMAT(created_at, '%M-%Y')"))->orderBy(DB::raw("DATE_FORMAT(created_at, '%M-%Y')"), "asc")->pluck("sum", "date");
        // $chartLabels = $daftar_pembayaran->keys();
        // $chartData = $daftar_pembayaran->values();
        // // $daftar_hutang = DB::table("tagihans")->select(DB::raw("sum(jumlah_pembayaran) as sum"), DB::raw("DATE_FORMAT(created_at, %M-%Y) as date"))->whereNotIn()->whereYear("created_at", date("Y"))->groupBy(DB::raw("DATE_FORMAT(created_at, '$%M-%Y')"))->orderBy("created_at", "asc")->pluck("sum", "date");
        // $jumlah_pembayaran_pemasangan = TagihanPemasangan::sum('jumlah_pembayaran');
        // $jumlah_hutang_pemasangan = 0;

        // $tagihan_pemasangan = TagihanPemasangan::all();

        // $datas = Tagihan::doesntHave('pembayaran')->orderBy('created_at', 'DESC')->get();

        // // $pembayaran_telat = Tagihan::whereIn('status', [0, 1])->count();

        // // dd(Tagihan::whereIn('status', [0, 1])->get());

        // // foreach($datas as $d){
        // //     if($d->tanggal->format('Y-m-d') < date('Y-m-d')){
        // //         $pembayaran_telat += 1;
        // //     }
        // // }
        // $thisMonthBill = 0;
        // $thisMonthVolume = 0;

        // foreach ($tagihan_pemasangan as $tp) {
        //     $jumlah = $tp->pembayaran->sum('jumlah_pembayaran');

        //     if($jumlah < $tp->jumlah_pembayaran){
        //         $jumlah_hutang_pemasangan += $tp->jumlah_pembayaran - $jumlah;
        //     }else if($jumlah >= $tp->jumlah_pembayaran){
        //         // return "Sudah Lunas";
        //     }else{
        //         $jumlah_hutang_pemasangan += $tp->jumlah_pembayaran - $jumlah;
        //     }
        // }

        // $penggunaan = 0;
        // $total_bayar = 0;
        // $countLunas = 0;
        // $countBayar = 0;
        // $thisMonthBill = 0;
        // $thisMonthVolume = 0;
        // $countBayar = 0;
        // $countLunas = 0;
        // $totalRealisasi = Target::sum("realisasi");
        // $user = Auth::user();
        // if($user->roles->first()->name == "Pihak Wajib Pajak"){
        //     $user_id = Auth::user()->pelanggan;
        //     // dd($user_id,  DB::table('tagihans')->select(DB::raw("sum(jumlah_pembayaran + denda_harian + denda_admin) as sum"))->where('pelanggan_id', '=', 443)->where('status', "=", 2)->first()->sum);
        //     foreach($user_id as $user){
        //         $total_bayar += DB::table('tagihans')->select(DB::raw("sum(jumlah_pembayaran + denda_harian + denda_admin) as sum"))->where('deleted_at', null)->where('pelanggan_id', '=', $user->id)->where('status', "=", 2)->first()->sum;
        //         $penggunaan += DB::table('tagihans')->select(DB::raw("sum(meter_penggunaan) as sum"))->where('deleted_at', null)->where('pelanggan_id', '=', $user->id)->first()->sum;
        //         $thisMonthBill += DB::table('tagihans')->select(DB::raw("sum(jumlah_pembayaran + denda_harian + denda_admin) as sum"))->where('deleted_at', null)->whereMonth("created_at", '=', Carbon::now()->format("m"))->where('pelanggan_id', '=', $user->id)->first()->sum;
        //         $thisMonthVolume += Tagihan::whereMonth('created_at', '=', Carbon::now())->where('pelanggan_id', '=', $user->id)->sum("meter_penggunaan");
        //         $countLunas += count(Tagihan::where("pelanggan_id", '=', $user->id)->where("status", '=', 2)->get());
        //         $countBayar += count(Tagihan::where(function($query) use($user){
        //             $query->where('pelanggan_id', '=', $user->id)
        //             ->where('status', '=', 1);
        //         })
        //         ->orWhere(function($query) use($user){
        //             $query->where('pelanggan_id', '=', $user->id)
        //             ->where('status', '=', 3);
        //         })
        //         ->orWhere(function($query) use($user){
        //             $query->where('pelanggan_id', '=', $user->id)
        //             ->where('status', '=', 5);
        //         })
        //         ->orWhere(function($query) use($user){
        //             $query->where('pelanggan_id', '=', $user->id)
        //             ->where('status', '=', 6);
        //         })
        //         ->get());
        //     }
        // }
        // // dd(Tagihan::where(function($query){
        // //     $query->where('pelanggan_id', '=', Auth::user()->pelanggan->id)
        // //     ->where('status', '=', 1);
        // // })
        // // ->orWhere(
        // //     function($query){
        // //         $query->where('pelanggan_id', '=', Auth::user()->pelanggan->id)
        // //         ->where('status', '=', 0);
        // //     }
        // // )
        // // ->orWhere(function($query){
        // //     $query->where('pelanggan_id', '=', Auth::user()->pelanggan->id)
        // //     ->where('status', '=', 3);
        // // })
        // // ->get(), Auth::user()->pelanggan->id);
        // // dd($jumlah_pembayaran_pemasangan);

        // // $pembayaran_telat = Pembayaran::join('tagihans','tagihans.id','=','pembayarans.tagihan_id')->join('pelanggans','pelanggans.id','=','tagihans.pelanggan_id')
        // //     ->whereRaw(' pembayarans.tanggal > tagihans.tanggal')
        // //     ->select('pembayarans.id','pembayarans.id_pembayaran','pelanggans.id_pelanggan','pelanggans.name','tagihans.jumlah_pembayaran','tagihans.id_tagihan','pembayarans.created_at','tagihan_id')->count();
        $yearStart = Carbon::now()->addYears(-1);
        $yearEnd = Carbon::now();
        $years_to_render = $yearStart->diffInYears($yearEnd);
        $years = [];
        $indukOpd = IndukOpd::all();
        $persen_capaian_array = [];
        $belum_input = 0;
        $sudah_input = 0;
        $bulan = Carbon::now()->format('F');
        foreach ($indukOpd as $key => $value) {
            # code...
            $total_target = 0;
            $total_capaian = 0;


            foreach ($value->SasaranRenstra as $key1 => $value1) {
                # code...
                $total_target += $value1->totalTarget($request->input('years'));
                $total_capaian += $value1->totalCapaian($request->input('years'));

                // if($request->input('years') == Carbon::now()->format('Y')){
                //     if($bulan == "January" || $bulan == "February" || $bulan == "March"){
                //         $total_capaian += $value1->totalCapaianTriwulan1($request->input('years'));
                //     } else if($bulan == "April" || $bulan == "May" || $bulan == "June"){
                //         $total_capaian += $value1->totalCapaianTriwulan2($request->input('years'));
                //     } else if($bulan == "July" || $bulan == "August" || $bulan == "September"){
                //         $total_capaian += $value1->totalCapaianTriwulan3($request->input('years'));
                //     } else {
                //         $total_capaian += $value1->totalCapaianTriwulan4($request->input('years'));
                //     }
                // } else {
                //     $total_capaian += $value1->totalCapaianTriwulan4($request->input('years'));
                // }

                // if(isset($persen_capaian_array[$value->nama])){
                //     $persen_capaian_array[$value->nama] += $value1->totalTarget()>0?$value1->totalCapaian()/$value1->totalTarget() * 100:0;
                // } else {
                //     $persen_capaian_array[$value->nama] = $value1->totalTarget()>0?$value1->totalCapaian()/$value1->totalTarget() * 100:0;
                // }
                // if($value->nama == "Dinas Kesehatan Kota Samarinda"){
                //     if($key1 == 1){
                //         dd($value1->totalCapaian(), $value1->totalCapaian()/$value1->totalTarget() * 100, $persen_capaian_array[$value->nama]);
                //     }
                // }
                // Arr::add($persen_capaian_array, $value->nama, 1);
                // dd($value->nama, $value1->totalTarget()>0?$value1->totalCapaian()/$value1->totalTarget() * 100:0, $value1->totalTarget());
            }
            if($total_target > 0 && count($value->SasaranRenstra) > 0){
                $sudah_input++;
            } else{
                $belum_input++;
            }
                $persen_capaian_array[$value->nama] = $total_target>0?number_format($total_capaian/$total_target*100):0;
        }



        $sudah_input = number_format($sudah_input / count($indukOpd) * 100);
        $belum_input = number_format($belum_input / count($indukOpd) * 100);
        for ($i = 0; $i <= $years_to_render; $i++) {
            $years[] = $yearStart->isoFormat('Y');
            $yearStart->addYears();
        }
        $targetKerjaNonRpjmd = IndikatorOpd::sum('target_kerja');
        $targetKerjaRpjmd = IndikatorPemerintah::sum('target_kerja');
        $realisasiKerjaNonRpjmd = DB::table('indikator_opds')
        ->sum(DB::raw('capaian_satu + capaian_dua + capaian_tiga + capaian_empat'));
        $realisasiKerjaRpjmd = DB::table('indikator_pemerintahs')
        ->sum(DB::raw('capaian_satu + capaian_dua + capaian_tiga + capaian_empat'));
        // dd($sudah_input, $belum_input);
        return view('index',compact('years', 'persen_capaian_array', "sudah_input", "belum_input", 'targetKerjaNonRpjmd', 'targetKerjaRpjmd', 'realisasiKerjaNonRpjmd', 'realisasiKerjaRpjmd'));
    }
    public function homepage(){
        $datas =  Target::join('upt_daerahs', 'targets.id_daerah', '=', 'upt_daerahs.id')->select('targets.id', 'targets.target', 'targets.tahun', 'targets.realisasi', 'targets.created_at', 'upt_daerahs.nama_daerah')->get()->pluck('target', "nama_daerah");
        $datas2 =  Target::join('upt_daerahs', 'targets.id_daerah', '=', 'upt_daerahs.id')->select('targets.id', 'targets.target', 'targets.tahun', 'targets.realisasi', 'targets.created_at', 'upt_daerahs.nama_daerah')->get()->pluck('realisasi', "nama_daerah");
        $datasTotal = Target::sum('target');
        $chartTargets = $datas->values();
        $chartLabels = $datas->keys();
        $chartRealisasis = $datas2->values();
        $datasDivide = $datasTotal / 12;
        $divide = array_fill(1, 12, $datasDivide);
        $values = array_values($divide);
         $daftar_realisasi = DB::table("tagihans")->select(DB::raw("sum(jumlah_pembayaran + denda_harian + denda_admin) as sum"), DB::raw("DATE_FORMAT(created_at, '%Y-%m') as date"))->whereYear('created_at', date('Y'))->groupBy(DB::raw("DATE_FORMAT(created_at, '%Y-%m')"))->orderBy(DB::raw("DATE_FORMAT(created_at, '%Y-%m')"), "asc")->where(DB::raw("status = 2"))->get();
        $chartData = $daftar_realisasi->values();
        return view('home-page', compact('chartTargets', 'chartLabels', 'chartRealisasis', 'values', "chartData", "persen_capaian_array"));
    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]