fix imbang duga services added untung rugi terkumpul
This commit is contained in:
@@ -15,6 +15,12 @@ use App\TransaksiKeuntungan;
|
||||
use App\GlDetail;
|
||||
use App\imbangdugalama;
|
||||
use App\GlCode;
|
||||
use App\Customer;
|
||||
use App\Tebus;
|
||||
use App\Advansur;
|
||||
use App\HapusKira;
|
||||
use App\Panjar;
|
||||
use App\Services\Reports\OnePercentService as ReportOne;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||
use Illuminate\Http\Response;
|
||||
@@ -609,6 +615,263 @@ class ImbangDugaService
|
||||
return $transaksi;
|
||||
}
|
||||
|
||||
|
||||
public function getUntungRugiTerkumpul()
|
||||
{
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$this->kodcaw)->first();
|
||||
|
||||
$current = new Carbon($this->tarikh);
|
||||
|
||||
$daterequest = new Carbon($this->tarikh);
|
||||
$daterequest->addDays(1);
|
||||
|
||||
$total = 0;
|
||||
|
||||
//Untung Rugi Terkumpul Sebelum 01.12.2013
|
||||
$utgrugilama = imbangdugalama::on($cawangan['mysql']) //--masuk
|
||||
->sum('untung_t');
|
||||
|
||||
//Yuran Ahli
|
||||
$yuranTlama = imbangdugalama::on($cawangan['mysql'])
|
||||
->sum('yuran_t');
|
||||
|
||||
$yuranbaru = Customer::on('mysql7')
|
||||
->where('tarikhdaftar','>','2013-12-31')
|
||||
->whereYear('tarikhdaftar','<',$current->year)
|
||||
->sum('yuranahli');
|
||||
|
||||
//Caj Lelong
|
||||
$lelong = Lelong::on($cawangan['mysql']) //--masuk
|
||||
->whereNotNull('t_jual')
|
||||
->where('t_jual','>','2013-12-31')
|
||||
->whereYear('t_jual','<',$current->year)
|
||||
->sum('cajlelong');
|
||||
|
||||
$cajlelonglama = imbangdugalama::on($cawangan['mysql'])
|
||||
->sum('cajlelong_t');
|
||||
|
||||
|
||||
//Upah Simpan Tebus
|
||||
$upahsimpantebus = Tebus::on($cawangan['mysql']) //--masuk
|
||||
->where('t_tebus','>','2013-12-31')
|
||||
->whereYear('t_tebus','<',$current->year)
|
||||
->sum('upahdibayar');
|
||||
|
||||
//Upah Simpan Lelong
|
||||
$upahsimpanlelong = Lelong::on($cawangan['mysql']) //--masuk
|
||||
->where('t_jual','>','2013-12-31')
|
||||
->whereYear('t_jual','<',$current->year)
|
||||
->sum('bakiupah');
|
||||
|
||||
//Upah Simpan Advansur
|
||||
$upahsimpanansur = Advansur::on($cawangan['mysql']) //--masuk
|
||||
->whereYear('tarikh','<',$current->year)
|
||||
->sum('upahdibayar');
|
||||
|
||||
//Upah Tawarruq
|
||||
|
||||
$keuntungan_data = TransaksiKeuntungan::on('mysql7')
|
||||
->where('transaksi_keuntungan.tarikh_bayaran' ,'<=', $daterequest)
|
||||
->whereYear('transaksi_keuntungan.tarikh_bayaran','<',$current->year)
|
||||
->where('kodcaw',$this->kodcaw)
|
||||
->pluck('norujukan');
|
||||
|
||||
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $keuntungan_data)->whereNull('hargajualan')->pluck('norujukan');
|
||||
|
||||
$upahsimpankeuntungansebelumtawarruq = TransaksiKeuntungan::on('mysql7')
|
||||
->where('tarikh_bayaran' ,'<=', $daterequest)
|
||||
->whereYear('tarikh_bayaran','<',$current->year)
|
||||
->whereIn('norujukan',$gadaiData)
|
||||
->sum('bayaran_keuntungan');
|
||||
|
||||
$upahsimpanlama = imbangdugalama::on($cawangan['mysql'])
|
||||
->sum('upah_t');
|
||||
|
||||
//GST Caj Lelong
|
||||
$gstcajlelong = Lelong::on($cawangan['mysql']) //--masuk
|
||||
->where('t_jual','<=',$this->tarikh)
|
||||
->whereYear('t_jual','<',$current->year)
|
||||
->sum('gst_cl');
|
||||
|
||||
//Upah Hapus Kira
|
||||
$upahhapuskira = HapusKira::on($cawangan['mysql'])
|
||||
->where('tarikh','>','2013-12-31')
|
||||
->whereYear('tarikh','<',$current->year)
|
||||
->sum('bakiupah');
|
||||
|
||||
$panjar1 = Panjar::on($cawangan['mysql'])
|
||||
->whereYear('tarikh','<',$current->year)
|
||||
->where('tag','=','1')
|
||||
->sum('bayaran');
|
||||
|
||||
$panjar2 = Panjar::on($cawangan['mysql'])
|
||||
->whereYear('tarikh','<',$current->year)
|
||||
->where('tag','=','2')
|
||||
->sum('bayaran');
|
||||
|
||||
$panjar3 = Panjar::on($cawangan['mysql'])
|
||||
->whereYear('tarikh','<',$current->year)
|
||||
->where('tag','=','3')
|
||||
->sum('bayaran');
|
||||
|
||||
$parameter = ($panjar1*-1) + ($panjar2*-1) + ($panjar3*-1);
|
||||
|
||||
// $parameter = Parameter::on($cawangan['mysql']) //--masuk
|
||||
// ->sum('sumpanjarlama');
|
||||
|
||||
//Keuntungan Tawarruq Sebenar
|
||||
$keuntungansebenar = 0;
|
||||
$dateSM = '2021-04-24';
|
||||
|
||||
if($this->tarikh < '2021-06-09')
|
||||
{
|
||||
$keuntungan_data = TransaksiKeuntungan::on('mysql7')
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $this->tarikh)
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', $dateSM)
|
||||
->whereYear('tarikh_bayaran','<',$current->year)
|
||||
->where('kodcaw',$this->kodcaw)
|
||||
->pluck('norujukan');
|
||||
|
||||
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntungan_data)->whereNotNull('hargajualan')->pluck('norujukan');
|
||||
|
||||
$keuntungan = TransaksiKeuntungan::on('mysql7')
|
||||
->whereIn('norujukan',$gadaiData)
|
||||
->whereDate('tarikh_bayaran', '<=', $this->tarikh)
|
||||
->whereDate('tarikh_bayaran' ,'<', $dateSM)
|
||||
->whereYear('tarikh_bayaran','<',$current->year)
|
||||
->sum('bayaran_keuntungan');
|
||||
|
||||
$keuntunganreducing_data = TransaksiKeuntungan::on('mysql7')
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $this->tarikh)
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
|
||||
->whereYear('tarikh_bayaran','<',$current->year)
|
||||
->where('kodcaw',$this->kodcaw)
|
||||
->pluck('norujukan');
|
||||
|
||||
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntunganreducing_data)->whereNotNull('hargajualan')->pluck('norujukan');
|
||||
|
||||
$keuntunganreducing = TransaksiKeuntungan::on('mysql7')
|
||||
->whereIn('norujukan',$gadaiData)
|
||||
->whereDate('tarikh_bayaran' ,'<=', $this->tarikh)
|
||||
->whereDate('tarikh_bayaran','>=', $dateSM)
|
||||
->whereYear('tarikh_bayaran','<',$current->year)
|
||||
->sum('keuntungan_rebet');
|
||||
|
||||
$keuntungansebenar = ($keuntungan + $keuntunganreducing);
|
||||
|
||||
|
||||
}else{
|
||||
|
||||
$keuntungan_data = TransaksiKeuntungan::on('mysql7')
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $this->tarikh)
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', $dateSM)
|
||||
->whereYear('tarikh_bayaran','<',$current->year)
|
||||
->where('kodcaw',$this->kodcaw)
|
||||
->pluck('norujukan');
|
||||
|
||||
|
||||
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntungan_data)->whereNotNull('hargajualan')->pluck('norujukan');
|
||||
|
||||
$keuntungan = TransaksiKeuntungan::on('mysql7')->whereIn('norujukan',$gadaiData)->sum('bayaran_keuntungan');
|
||||
|
||||
$keuntunganreducing_data = TransaksiKeuntungan::on('mysql7')
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', '2021-06-09')
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
|
||||
->whereYear('tarikh_bayaran','<',$current->year)
|
||||
->where('kodcaw',$this->kodcaw)
|
||||
->pluck('norujukan');
|
||||
|
||||
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntunganreducing_data)->whereNotNull('hargajualan')->pluck('norujukan');
|
||||
|
||||
$keuntunganreducing = TransaksiKeuntungan::on('mysql7')
|
||||
->whereIn('norujukan',$gadaiData)
|
||||
->whereDate('tarikh_bayaran' ,'<', '2021-06-09')
|
||||
->whereDate('tarikh_bayaran','>=', $dateSM)
|
||||
->sum('keuntungan_rebet');
|
||||
|
||||
$bukanansuran_data = TransaksiKeuntungan::on('mysql7')
|
||||
->leftJoin('transaction as trans', function($join)
|
||||
{
|
||||
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
||||
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
||||
})
|
||||
->where('trans.trans_type','!=','A')
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $this->tarikh)
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
|
||||
->whereYear('tarikh_bayaran','<',$current->year)
|
||||
->where('trans.kodcaw',$this->kodcaw)
|
||||
->pluck('transaksi_keuntungan.norujukan');
|
||||
|
||||
$gadaiData = Gadai::on($cawangan['mysql'])
|
||||
->whereIn('norujukan',$bukanansuran_data)
|
||||
->whereNotNull('hargajualan')
|
||||
->pluck('norujukan');
|
||||
|
||||
$bukanansuran = TransaksiKeuntungan::on('mysql7')
|
||||
->whereIn('transaksi_keuntungan.norujukan',$gadaiData)
|
||||
->leftJoin('transaction as trans', function($join)
|
||||
{
|
||||
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
||||
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
||||
})
|
||||
->where('trans.trans_type','!=','A')
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $this->tarikh)
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
|
||||
->whereYear('transaksi_keuntungan.tarikh_bayaran','<',$current->year)
|
||||
->sum('transaksi_keuntungan.keuntungan_rebet');
|
||||
|
||||
$ansuran_data = TransaksiKeuntungan::on('mysql7')
|
||||
->leftJoin('transaction as trans', function($join)
|
||||
{
|
||||
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
||||
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
||||
})
|
||||
->where('trans.trans_type','=','A')
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $this->tarikh)
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
|
||||
->whereYear('tarikh_bayaran','<',$current->year)
|
||||
->where('trans.kodcaw',$this->kodcaw)
|
||||
->pluck('transaksi_keuntungan.norujukan');
|
||||
|
||||
$gadaiData = Gadai::on($cawangan['mysql'])
|
||||
->whereIn('norujukan',$ansuran_data)
|
||||
->whereNotNull('hargajualan')
|
||||
->pluck('norujukan');
|
||||
|
||||
$ansuran = TransaksiKeuntungan::on('mysql7')
|
||||
->whereIn('transaksi_keuntungan.norujukan',$gadaiData)
|
||||
->leftJoin('transaction as trans', function($join)
|
||||
{
|
||||
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
||||
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
||||
})
|
||||
->where('trans.trans_type','=','A')
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $this->tarikh)
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
|
||||
->whereYear('transaksi_keuntungan.tarikh_bayaran','<',$current->year)
|
||||
->sum('transaksi_keuntungan.bayaran_keuntungan');
|
||||
|
||||
$reports = new ReportOne($this->kodcaw);
|
||||
$previous_date = new Carbon($this->tarikh);
|
||||
$previous_date->subMonth()->endOfMonth()->toDateString();
|
||||
$onepercent = $reports->getTotalKeuntungan('B',$previous_date);
|
||||
$ujrah = $reports->getTotalUjrah('B',$previous_date);
|
||||
|
||||
$keuntungansebenar = ($keuntungan + $keuntunganreducing + $ansuran + $bukanansuran) + $onepercent + $ujrah;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
$total = ($utgrugilama + $lelong + $upahsimpantebus + $upahsimpanlelong + $upahsimpanansur + $gstcajlelong + $keuntungansebenar + $upahsimpankeuntungansebelumtawarruq) + $parameter;
|
||||
|
||||
if($this->kodcaw == '011229')
|
||||
$total -= 45390.37;
|
||||
|
||||
|
||||
return $total;
|
||||
}
|
||||
|
||||
public function setImbangDugaBackup()
|
||||
{
|
||||
|
||||
@@ -627,19 +890,21 @@ class ImbangDugaService
|
||||
$serahan = $totalpendser['serahan'];
|
||||
$ujrah = $accrual['ujrah'];
|
||||
$onepercent = $accrual['onepercent'];
|
||||
$bayaranpend = -1*($bayaranpend);
|
||||
$untungrugiterkumpul = $this->getUntungRugiTerkumpul();
|
||||
|
||||
$totalharta = imbangdugabackup::on($cawangan['mysql'])->where('tarikh', $this->tarikh)
|
||||
->get()
|
||||
->map(function ($ig) use ($keuntungan_penggadai,$tunaiditangan,$serahan,$bayaranpend) {
|
||||
return floatval($tunaiditangan) + $ig['pembiayaantawarruq'] + $bayaranpend + $ig['pinjamankoop'] + $ig['emaspalsu']
|
||||
return floatval($tunaiditangan) + $ig['pembiayaantawarruq'] + (-$bayaranpend) + $ig['pinjamankoop'] + $ig['emaspalsu']
|
||||
+ $ig['pindahkekpkb'] + $ig['penghutangkaki'] + $ig['phapuskira'] + $ig['belian1stop'] + $keuntungan_penggadai + $serahan;
|
||||
});
|
||||
|
||||
$totaltanggungan = imbangdugabackup::on($cawangan['mysql'])->where('tarikh', $this->tarikh)
|
||||
->get()
|
||||
->map(function ($ig) use ($ujrah, $onepercent, $keun_sebenar, $pend_terakru,$pendahuluan) {
|
||||
->map(function ($ig) use ($ujrah, $onepercent, $keun_sebenar, $pend_terakru,$pendahuluan,$untungrugiterkumpul) {
|
||||
return $pend_terakru + $ig['bds'] + $ig['perubatan'] + $ig['keraian'] + $ig['rugilelong'] + $ig['bakilelong']
|
||||
+ $ig['wtd'] + $ig['untungrugiterkumpul'] + $keun_sebenar + $pendahuluan + $ig['cajlelong']
|
||||
+ $ig['wtd'] + $untungrugiterkumpul + $keun_sebenar + $pendahuluan + $ig['cajlelong']
|
||||
+ $ig['cajperkhidmatan'] + $ig['cajlelongxtra'] + $ig['upahsimpanxtra'] + $ig['bakilelongxtra'] + $ig['rugilelongxtra']
|
||||
+ $ig['utgterkumpulxtra'] + $ig['jualan1stop'] + $ig['hapuskira'] + $ujrah + $onepercent;
|
||||
});
|
||||
@@ -660,6 +925,7 @@ class ImbangDugaService
|
||||
'pend_terakru' => $pend_terakru,
|
||||
'ujrah' => $ujrah,
|
||||
'onepercent' => $onepercent,
|
||||
'untungrugiterkumpul' => $untungrugiterkumpul,
|
||||
'totalharta' => round($totalharta[0], 2),
|
||||
'totaltanggungan' => round($totaltanggungan[0], 2),
|
||||
'tagtally' => $booltally,
|
||||
|
||||
Reference in New Issue
Block a user