Files
api_arrahn/app/RingkasanMain.php
T
2023-06-06 07:24:17 +08:00

218 lines
5.6 KiB
PHP

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Relations\HasOne;
class RingkasanMain extends Model
{
protected $table = 'ringkasan_main';
public function gadai(): HasOne
{
return $this->hasOne(RingkasanGadai::class, 'gad_id', 'gad_id');
}
public function ansuran(): HasOne
{
return $this->hasOne(RingkasanAnsuran::class, 'ans_id', 'ans_id');
}
public function lelong(): HasOne
{
return $this->hasOne(RingkasanLelong::class, 'lel_id', 'lel_id');
}
public function tebus(): HasOne
{
return $this->hasOne(RingkasanTebus::class, 'teb_id', 'teb_id');
}
public function scopeJumlahGadai($query) : Float
{
$gadai = $query->with('gadai')->get();
return $gadai->sum(function ($gad){
return $gad->gadai->sum('jumlah_pembiayaan');
});
}
public function scopeBilanganGadai($query) : Float
{
$gadai = $query->with('gadai')->get();
return $gadai->sum(function($gad){
return $gad->gadai->sum('bilangan_pembiayaan');
});
}
public function scopePendahuluan($query) : Float
{
return $query->sum('pendahuluan');
}
public function scopePelanggan($query) : Int
{
return $query->sum('pelangganbaru');
}
public function scopeSerahan($query) : Float
{
return $query->sum('serahan');
}
public function scopeSerahanOnline($query) : Float
{
return $query->sum('serahan_online');
}
public function scopeBelanjaAm($query) : Float
{
return $query->sum('belanjaam');
}
public function scopeBaikiDanSelenggara($query) : Float
{
return $query->sum('baikidanselenggara');
}
public function scopeKeraian($query) : Float
{
return $query->sum('keraian');
}
public function scopePenebusan($query) : Float
{
$tebus = $query->with('tebus')->get();
return $tebus->sum(function ($gad){
return $gad->tebus->sum('pembiayaan_dibayar');
});
}
public function scopeKeuntunganPenebusan($query) : Float
{
$tebus = $query->with('tebus')->get();
return $tebus->sum(function ($gad){
return $gad->tebus->sum('keuntungan_dibayar');
});
}
public function scopeBilanganPenebusan($query) : Float
{
$tebus = $query->with('tebus')->get();
return $tebus->sum(function ($gad){
return $gad->tebus->sum('bilangan_tebus');
});
}
public function scopeJumlahLelong($query) : Float
{
$lelong = $query->with('lelong')->get();
return $lelong->sum(function ($gad){
return $gad->lelong->sum('lelong_current');
});
}
public function scopeBakiLelong($query) : Float
{
$lelong = $query->with('lelong')->get();
return $lelong->sum(function ($gad){
return $gad->lelong->sum('baki_lelong');
});
}
public function scopeRugiLelong($query) : Float
{
$lelong = $query->with('lelong')->get();
return $lelong->sum(function ($gad){
return $gad->lelong->sum('rugi_lelong');
});
}
public function scopeBayaranRugi($query) : Float
{
$lelong = $query->with('lelong')->get();
return $lelong->sum(function ($gad){
return $gad->lelong->sum('bayaran_rugi');
});
}
public function scopeBayaranBaki($query) : Float
{
$lelong = $query->with('lelong')->get();
return $lelong->sum(function ($gad){
return $gad->lelong->sum('bayaran_baki');
});
}
public function scopeCajLelong($query) : Float
{
$lelong = $query->with('lelong')->get();
return $lelong->sum(function ($gad){
return $gad->lelong->sum('caj_lelong');
});
}
public function scopeBilLelong($query) : Float
{
$lelong = $query->with('lelong')->get();
return $lelong->sum(function ($gad){
return $gad->lelong->sum('bil_lelong');
});
}
public function scopePembiayaanAnsuran($query) : Float
{
$ansuran = $query->with('ansuran')->get();
return $ansuran->sum(function ($gad){
return $gad->ansuran->sum('pembiayaan_dibayar');
});
}
public function scopeKeuntunganAnsuran($query) : Float
{
$ansuran = $query->with('ansuran')->get();
return $ansuran->sum(function ($gad){
return $gad->ansuran->sum('keuntungan_dibayar');
});
}
public function scopeBilAnsuran($query) : Float
{
$ansuran = $query->with('ansuran')->get();
return $ansuran->sum(function ($gad){
return $gad->ansuran->sum('bilangan_ansuran');
});
}
public function scopePembiayaanOnline($query) : Float
{
$ansuran = $query->with('ansuran')->get();
return $ansuran->sum(function ($gad){
return $gad->ansuran->sum('pembiayaan_dibayar_online');
});
}
public function scopeKeuntunganOnline($query) : Float
{
$ansuran = $query->with('ansuran')->get();
return $ansuran->sum(function ($gad){
return $gad->ansuran->sum('keuntungan_dibayar_online');
});
}
public function scopeBilOnline($query) : Float
{
$ansuran = $query->with('ansuran')->get();
return $ansuran->sum(function ($gad){
return $gad->ansuran->sum('bilangan_bayaran_online');
});
}
public $timestamps = false;
}