<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class GroupItem extends Model
{
use HasFactory;
protected $fillable = [
'total_bayaran',
'row_index',
'persenan_ppn',
'persenan_pph',
'pakai_persen_pph',
'nominal_ppn',
'nominal_pph',
'surat_id',
'biaya_materai'
];
protected $appends = [
'total'
];
public function surat(){
return $this->belongsTo(SuratPermintaan::class,'surat_id');
}
public function item(){
return $this->hasMany(Item::class,'group_id');
}
public function rejectedItem(){
return $this->hasMany(Item::class,'group_id')->where('status','0');
}
public function approvedItem(){
return $this->hasMany(Item::class,'group_id');
}
public function getTotalAttribute()
{
$itemTotal = $this->total_bayaran;
$pph = ($this->persenan_pph / 100) * $itemTotal;
$ppn = ($this->persenan_ppn / 100) * $itemTotal;
return $itemTotal + $this->biaya_materai + $this->total_biaya_lainnya;
}
public function getTotalPermintaanAttribute()
{
$itemTotal = 0;
$items = $this->item;
foreach($items as $item){
$itemTotal += $item->nominal_disetujui ?? $item->nominal;
}
// $biayaLainnya = $this->biayaLainnyas->sum('jumlah_biaya');
return $itemTotal+$this->nominal_ppn+$this->total_biaya_lainnya;
}
function biayaLainnyas() {
return $this->hasMany(BiayaLainnya::class);
}
public function getTotalBiayaLainnyaAttribute()
{
return $this->biayaLainnyas->sum('jumlah_biaya');
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]