<?php
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class SasaranRenstra extends Model
{
use HasFactory, SoftDeletes;
protected $fillable =[
'nama',
'tujuan_renstra_id',
'induk_opd_id',
'indikator_pemerintah_id',
'sasaran_hasil',
];
protected $year;
public function __construct()
{
$this->year = Carbon::now()->format('Y');
}
public function Tujuan(){
return $this->belongsTo(TujuanRenstra::class, 'tujuan_renstra_id', 'id');
}
public function IndukOpd(){
return $this->belongsTo(IndukOpd::class);
}
public function indikatorOpd(){
return $this->hasMany(IndikatorOpd::class);
}
public function indikatorPemerintah(){
return $this->belongsTo(IndikatorPemerintah::class);
}
public function totalTarget($year){
if(!$year){
$year == $this->year;
}
$indikatorOpd = $this->indikatorOpd()->whereYear('created_at', $year)->get();
$target = 0;
foreach ($indikatorOpd as $key => $value) {
# code...
$target += $value->target_kerja;
}
return $target;
}
public function totalIndikatorOpd(){
$indikatorOpd = $this->indikatorOpd()->get();
$target = 0;
foreach ($indikatorOpd as $key => $value) {
# code...
$target++;
}
return $target;
}
public function totalCapaianTriwulan1($year){
$indikatorOpd = $this->indikatorOpd()->get();
$target = 0;
if(!$year){
$year = $this->year;
}
foreach ($indikatorOpd as $key => $value) {
# code...
$target += $value->capaian_satu;
}
return $target;
}
public function totalCapaianTriwulan2($year){
$indikatorOpd = $this->indikatorOpd()->get();
$target = 0;
if(!$year){
$year = $this->year;
}
foreach ($indikatorOpd as $key => $value) {
# code...
$target += $value->capaian_dua;
}
return $target;
}
public function totalCapaianTriwulan3($year){
$indikatorOpd = $this->indikatorOpd()->get();
$target = 0;
if(!$year){
$year = $this->year;
}
foreach ($indikatorOpd as $key => $value) {
# code...
$target += $value->capaian_tiga;
}
return $target;
}
public function totalCapaianTriwulan4($year){
$indikatorOpd = $this->indikatorOpd()->get();
$target = 0;
if(!$year){
$year = $this->year;
}
foreach ($indikatorOpd as $key => $value) {
# code...
$target += $value->capaian_empat;
}
return $target;
}
public function totalCapaian($year){
$indikatorOpd = $this->indikatorOpd()->get();
$target = 0;
if(!$year){
$year = $this->year;
}
foreach ($indikatorOpd as $key => $value) {
# code...
$target += $value->capaian_empat + $value->capaian_tiga + $value->capaian_dua + $value->capaian_satu;
}
return $target;
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]