Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/e-tepian.aplikasipos.info/app/Models/
Upload File :
Current File : /home/aplikasiposinfo/www/e-tepian.aplikasipos.info/app/Models/RealisasiRincianKegiatan.php

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class RealisasiRincianKegiatan extends Model
{
    use HasFactory, SoftDeletes;
    use \Znck\Eloquent\Traits\BelongsToThrough;

    protected $guarded = [];

    protected $casts = [
        'nilai_kontrak' => 'integer',
    ];

    public function realisasiFisik(){
        return $this->hasMany(RealisasiFisik::class,'realisasi_rincian_kegiatan_id');
    }
    public function realisasiKeuangan(){
        return $this->hasMany(RealisasiKeuangan::class);
    }
    public function permasalahanTindakLanjut(){
        return $this->hasMany(PermasalahanTindakLanjut::class);
    }
    public function rincianKegiatan(){
        return $this->belongsTo(RincianKegiatan::class);
    }

    public function ProkerSubKegiatan(){
    	return $this->belongsToThrough(ProkerSubKegiatan::class, rincianKegiatan::class);
    }

    public function getKeuanganAttribute(){
        // $result = 0;
        // foreach ($this->realisasiKeuangan as $data) {
        //     $result += $data->realisasi;
        // }
        // return $result;
        // return $this->realisasiKeuangan->sum('realisasi');

        // menggunakan perulangan karena realisasi ada yg string kosong
        $result = 0;
        foreach ($this->realisasiKeuangan as $data) {
            $result += intval($data->realisasi);
        }
        return $result;

    }

    public function getKeuTw($triwulan, $tahun){

        if ($triwulan == 1) {
            $tanggal_awal = $tahun.'-01-01';
            $tanggal_akhir = $tahun.'-03-31';
        }elseif ($triwulan == 2) {
            $tanggal_awal = $tahun.'-04-01';
            $tanggal_akhir = $tahun.'-06-31';
        }elseif ($triwulan == 3) {
            $tanggal_awal = $tahun.'-07-01';
            $tanggal_akhir = $tahun.'-09-31';
        }else {
            $tanggal_awal = $tahun.'-10-01';
            $tanggal_akhir = $tahun.'-12-31';
        }
        
        $result = 0;
        foreach ($this->realisasiKeuangan->whereBetween('tanggal_realisasi', [$tanggal_awal, $tanggal_akhir]) as $data) {
            $result += intval($data->realisasi);
        }
        return $result;
    }


    public function getFisikAttribute(){
        // $result = 0;
        // foreach ($this->realisasiFisik as $data) {
        //     $result += $data->realisasi;
        // }
        // return $result;
        return $this->realisasiFisik->sum('realisasi');
    }

    public function dokumen(){
        return $this->hasMany(FileDokumentasi::class,'realisasi_rincian_kegiatan_id');
    }

    public function getCustomNilaiKontrakAttribute(){
        $cus_nilai_kontrak = 0;
        if ($this->realisasiFisik->count() > 0 or $this->realisasiKeuangan->count() > 0) {
           $cus_nilai_kontrak  = $this->nilai_kontrak;
        }else{
            $cus_nilai_kontrak =  0;
        }
        
        return $cus_nilai_kontrak;
    } 

    public function getPaguBerjalanAttribute(){
        if ($this->realisasiFisik->count() > 0 or $this->realisasiKeuangan->count() > 0) {
            return $this->rincianKegiatan->pagu;
        }else{
            return 0;
        }
    }   

}

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