diff --git a/app/Services/Reports/ImbangDugaService.php b/app/Services/Reports/ImbangDugaService.php index 0d1b9a6..173cbd6 100644 --- a/app/Services/Reports/ImbangDugaService.php +++ b/app/Services/Reports/ImbangDugaService.php @@ -12,6 +12,9 @@ use App\Transaction; use App\Vault; use App\Tunai; use App\TransaksiKeuntungan; +use App\GlDetail; +use App\imbangdugalama; +use App\GlCode; use Carbon\Carbon; use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Http\Response; @@ -465,9 +468,116 @@ class ImbangDugaService $totalbakiakhirtunai = $vault['bakiakhir']; } - return response()->json($totalbakiakhirtunai); + return $totalbakiakhirtunai; } + public function getPendahuluanSerahan() + { + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$this->kodcaw)->first(); + + $serahanpkb = '1000/020'; + $serahanjmc = '1000/026'; + $pendahuluanpkb = '7000/102'; + $pendahuluanjmc = '7000/106'; + $serahankoperasi = '1000/090'; + + //Selepas Tawarruq + + $serahanpkbTawarruq = GlDetail::on($cawangan['mysql']) + ->where('ktacct','=',$serahanpkb) + ->where('tarikh','<=', $this->tarikh) + ->where('tarikh','>','2021-03-24') + ->sum('serahan'); + + + //Sebelum Tawarruq + if($this->kodcaw == 'KB2' || $this->kodcaw == 'WCY' || $this->kodcaw == '1STOP' || $this->kodcaw == 'ARM' || $this->kodcaw == 'APM' || $this->kodcaw == '010621' || $this->kodcaw == '010915' || $this->kodcaw == '020303') + { + $serahanpkb = GlDetail::on($cawangan['mysql']) + ->where('dtacct','=',$serahanpkb) + ->where('tarikh','<=', $this->tarikh) + ->where('tarikh','>','2013-12-31') + ->sum('amaun'); + + $serahanJMC = GlDetail::on($cawangan['mysql']) + ->where('dtacct','=',$serahanjmc) + ->where('tarikh','<=', $this->tarikh) + ->where('tarikh','>','2013-12-31') + ->sum('amaun'); + + $serahanpkblama = imbangdugalama::on($cawangan['mysql']) + ->sum('serahan_pkb'); + + $serahanjmclama = imbangdugalama::on($cawangan['mysql']) + ->sum('serahan_jmc'); + + $totaljmc = $serahanJMC + $serahanjmclama; + $totalpkb = $serahanpkb + $serahanpkblama; + + $totalserahan = $serahanpkbTawarruq + $totaljmc + $totalpkb; + }else{ + + if($this->kodcaw == '020301') + $serahanbaru = '1000/030'; + else + $serahanbaru = '1000/026'; + + $serahanpkb = GlDetail::on($cawangan['mysql']) + ->where('dtacct','=',$serahanpkb) + ->where('tarikh','<=', $this->tarikh) + ->sum('amaun'); + + $serahanJMC = GlDetail::on($cawangan['mysql']) + ->where('dtacct','=',$serahanbaru) + ->where('tarikh','<=', $this->tarikh) + ->sum('amaun'); + + $totalserahan = $serahanpkbTawarruq + $serahanpkb + $serahanJMC; + } + + + + //Selepas Tawarruq + + $pendahuluanPKBtawarruq = GlDetail::on($cawangan['mysql']) + ->where('ktacct','=',$pendahuluanpkb) + ->where([['tarikh','<=', $this->tarikh],['tarikh','>','2021-03-24']]) + ->sum('pendahuluan'); + + //Sebelum Tawarruq + + $pendahuluanPKB = GlDetail::on($cawangan['mysql']) + ->where('ktacct','=',$pendahuluanpkb) + ->where([['tarikh','<=', $this->tarikh],['tarikh','>','2013-12-31']]) + ->sum('amaun'); + + $pendahuluanJMC = GlDetail::on($cawangan['mysql']) + ->where('ktacct','=','7000/106') + ->where([['tarikh','<=', $this->tarikh],['tarikh','>','2013-12-31']]) + ->sum('amaun'); + + $pendahuluanpkblama = imbangdugalama::on($cawangan['mysql']) + ->sum('pendahuluan_pkb'); + + $pendahuluanjmclama = imbangdugalama::on($cawangan['mysql']) + ->sum('pendahuluan_jmc'); + + $total = $pendahuluanPKBtawarruq + $pendahuluanjmclama + $pendahuluanpkblama + $pendahuluanPKB + $pendahuluanJMC; + + $pindahkekpkb = GlCode::on($cawangan['mysql']) + ->where('glcode','=',$serahankoperasi) + ->sum('amaun'); + + if($this->kodcaw == '011229') + $totalserahan -= 0.10; + + if($this->kodcaw == '011013') + $totalserahan += 641000; + + $arraypend = ['pendahuluan' => $total,'serahan' => $totalserahan,'pindahkekpkb' => $pindahkekpkb]; + + return $arraypend; + } public function setImbangDugaBackup() { @@ -481,21 +591,24 @@ class ImbangDugaService $keun_sebenar = $this->getKeuntunganSebenar(); $accrual = $this->getOnePercentUjrah(); $tunaiditangan = $this->getTunaiDiTangan(); + $totalpendser = $this->getPendahuluanSerahan(); + $pendahuluan = $totalpendser['pendahuluan']; + $serahan = $totalpendser['serahan']; $ujrah = $accrual['ujrah']; $onepercent = $accrual['onepercent']; $totalharta = imbangdugabackup::on($cawangan['mysql'])->where('tarikh', $this->tarikh) ->get() - ->map(function ($ig) use ($keuntungan_penggadai,$tunaiditangan) { - return $tunaiditangan + $ig['pembiayaantawarruq'] + $ig['bayaranpendahuluan'] + $ig['pinjamankoop'] + $ig['emaspalsu'] - + $ig['pindahkekpkb'] + $ig['penghutangkaki'] + $ig['phapuskira'] + $ig['belian1stop'] + $keuntungan_penggadai + $ig['serahan']; + ->map(function ($ig) use ($keuntungan_penggadai,$tunaiditangan,$serahan) { + return floatval($tunaiditangan) + $ig['pembiayaantawarruq'] + $ig['bayaranpendahuluan'] + $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) { + ->map(function ($ig) use ($ujrah, $onepercent, $keun_sebenar, $pend_terakru,$pendahuluan) { return $pend_terakru + $ig['bds'] + $ig['perubatan'] + $ig['keraian'] + $ig['rugilelong'] + $ig['bakilelong'] - + $ig['wtd'] + $ig['untungrugiterkumpul'] + $keun_sebenar + $ig['pendahuluan'] + $ig['cajlelong'] + + $ig['wtd'] + $ig['untungrugiterkumpul'] + $keun_sebenar + $pendahuluan + $ig['cajlelong'] + $ig['cajperkhidmatan'] + $ig['cajlelongxtra'] + $ig['upahsimpanxtra'] + $ig['bakilelongxtra'] + $ig['rugilelongxtra'] + $ig['utgterkumpulxtra'] + $ig['jualan1stop'] + $ig['hapuskira'] + $ujrah + $onepercent; });