diff --git a/app/Http/Controllers/AdminPageController.php b/app/Http/Controllers/AdminPageController.php index 28c2c7c..42465ab 100644 --- a/app/Http/Controllers/AdminPageController.php +++ b/app/Http/Controllers/AdminPageController.php @@ -3634,4 +3634,15 @@ class AdminPageController extends Controller } + + public function getRingkasanHarian(Request $request){ + + $current = Carbon::now(); + $cawangan = Cawangan::on('mysql7')->where('kodcaw','KB2')->get()->toArray(); + + $ringkasan = new RingkasanHarianServices; + $test = $ringkasan->getRingkasanHarian(); + + dd($test); + } } diff --git a/app/RingkasanAnsuran.php b/app/RingkasanAnsuran.php index b8d9153..86ba90c 100644 --- a/app/RingkasanAnsuran.php +++ b/app/RingkasanAnsuran.php @@ -8,10 +8,11 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; class RingkasanAnsuran extends Model { protected $table = 'ringkasan_ansuran'; + protected $primaryKey = 'ans_id'; public function main(): BelongsTo { - return $this->belongsTo(RingkasanMain::class); + return $this->belongsTo(RingkasanMain::class, 'ans_id', 'ans_id'); } public $timestamps = false; diff --git a/app/RingkasanGadai.php b/app/RingkasanGadai.php index 7bfd0e8..377e858 100644 --- a/app/RingkasanGadai.php +++ b/app/RingkasanGadai.php @@ -8,10 +8,11 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; class RingkasanGadai extends Model { protected $table = 'ringkasan_gadai'; + protected $primaryKey = 'gad_id'; public function main(): BelongsTo { - return $this->belongsTo(RingkasanMain::class); + return $this->belongsTo(RingkasanMain::class, 'gad_id', 'gad_id'); } public $timestamps = false; diff --git a/app/RingkasanLelong.php b/app/RingkasanLelong.php index 7e303a0..900e063 100644 --- a/app/RingkasanLelong.php +++ b/app/RingkasanLelong.php @@ -8,10 +8,11 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; class RingkasanLelong extends Model { protected $table = 'ringkasan_lelong'; + protected $primaryKey = 'lel_id'; public function main(): BelongsTo { - return $this->belongsTo(RingkasanMain::class); + return $this->belongsTo(RingkasanMain::class, 'lel_id', 'lel_id'); } public $timestamps = false; diff --git a/app/RingkasanMain.php b/app/RingkasanMain.php index 7916deb..f5e0654 100644 --- a/app/RingkasanMain.php +++ b/app/RingkasanMain.php @@ -3,6 +3,7 @@ namespace App; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Relations\HasOne; class RingkasanMain extends Model @@ -11,24 +12,207 @@ class RingkasanMain extends Model public function gadai(): HasOne { - return $this->hasOne(RingkasanGadai::class, 'gad_id'); + return $this->hasOne(RingkasanGadai::class, 'gad_id', 'gad_id'); } public function ansuran(): HasOne { - return $this->hasOne(RingkasanAnsuran::class, 'ans_id'); + return $this->hasOne(RingkasanAnsuran::class, 'ans_id', 'ans_id'); } public function lelong(): HasOne { - return $this->hasOne(RingkasanLelong::class, 'lel_id'); + return $this->hasOne(RingkasanLelong::class, 'lel_id', 'lel_id'); } public function tebus(): HasOne { - return $this->hasOne(RingkasanTebus::class, 'teb_id'); + 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; } \ No newline at end of file diff --git a/app/RingkasanTebus.php b/app/RingkasanTebus.php index 7a8bfb9..48aafb3 100644 --- a/app/RingkasanTebus.php +++ b/app/RingkasanTebus.php @@ -9,9 +9,11 @@ class RingkasanTebus extends Model { protected $table = 'ringkasan_tebus'; + protected $primaryKey = 'teb_id'; + public function main(): BelongsTo { - return $this->belongsTo(RingkasanMain::class); + return $this->belongsTo(RingkasanMain::class, 'teb_id', 'teb_id'); } public $timestamps = false; diff --git a/app/Services/RingkasanHarianServices.php b/app/Services/RingkasanHarianServices.php index cdde025..cd8e60c 100644 --- a/app/Services/RingkasanHarianServices.php +++ b/app/Services/RingkasanHarianServices.php @@ -21,12 +21,13 @@ use App\TuntutBaki; use Illuminate\Support\Facades\Http; use Carbon\Carbon; +use Carbon\CarbonPeriod; use Illuminate\Support\Facades\DB; class RingkasanHarianServices { - protected float $tunaiditangan = 0; + // protected float $tunaiditangan = 0; private function getTransaksiHarian($date,$kodcaw,$connection) : Array { @@ -376,83 +377,175 @@ class RingkasanHarianServices public function StoreRingkasanHarian(){ - $current = Carbon::now(); + $period = CarbonPeriod::create('2023-01-01', '2023-01-01'); $cawangan = Cawangan::on('mysql7')->where('kodcaw','KB2')->get()->toArray(); - foreach($cawangan as $index=>$caw){ - DB::connection($caw['mysql'])->beginTransaction(); + // foreach() + foreach($period as $current) + { + foreach($cawangan as $index=>$caw){ + DB::connection($caw['mysql'])->beginTransaction(); - try{ + try{ - $getTransaksi = $this->getTransaksiHarian($current->toDateString(),$caw['kodcaw'],$caw['mysql']); - $getPendser = $this->getPendahuluanSerahanHQ($current->toDateString(),$caw['kodcaw'],$caw['mysql']); - $getPerbelanjaan = $this->getPerbelanjaan($current->toDateString(),$caw['kodcaw'],$caw['mysql']); - $getLelong = $this->getLelong($current->toDateString(),$caw['kodcaw'],$caw['mysql']); - $getPeratusan = $this->getPeratusan($current->toDateString(),$caw['kodcaw'],$caw['mysql']); - - dd($getTransaksi,$getPendser,$getPerbelanjaan,$getLelong,$getPeratusan); + $getTransaksi = $this->getTransaksiHarian($current->toDateString(),$caw['kodcaw'],$caw['mysql']); + $getPendser = $this->getPendahuluanSerahanHQ($current->toDateString(),$caw['kodcaw'],$caw['mysql']); + $getPerbelanjaan = $this->getPerbelanjaan($current->toDateString(),$caw['kodcaw'],$caw['mysql']); + $getLelong = $this->getLelong($current->toDateString(),$caw['kodcaw'],$caw['mysql']); + $getPeratusan = $this->getPeratusan($current->toDateString(),$caw['kodcaw'],$caw['mysql']); + $bilangan_tebus = $getLelong['bilangan'] + $getTransaksi['bilangan_tebus']; - $main = new RingkasanMain(); - $gadai = new RingkasanGadai(); - $tebus = new RingkasanTebus(); - $ansuran = new RingkasanAnsuran(); - $lelong = new RingkasanLelong(); + $condition = RingkasanMain::where('date',$current->toDateString())->first(); - $gadai->setConnection($caw['mysql']); - $gadai->setConnection($caw['mysql']); - $tebus->setConnection($caw['mysql']); - $lelong->setConnection($caw['mysql']); - $main->setConnection($caw['mysql']); + if($condition){ + $gadai = RingkasanGadai::find($condition['gad_id']); + $tebus = RingkasanTebus::find($condition['gad_id']); + $ansuran = RingkasanAnsuran::find($condition['gad_id']); + $lelong = RingkasanLelong::find($condition['gad_id']); + $main = RingkasanMain::where('date',$current->toDateString())->first(); + }else{ + $main = new RingkasanMain(); + $gadai = new RingkasanGadai(); + $tebus = new RingkasanTebus(); + $ansuran = new RingkasanAnsuran(); + $lelong = new RingkasanLelong(); + } - /* main */ - $main->pelangganbaru = 10; - $main->pendahuluan = 10000; - $main->serahan = 10000; - $main->serahan_online = 10000; - $main->belanjaam = 10000; - $main->baikidanselenggara = 10000; - $main->keraian = 10000; - $main->date = $current->toDateTimeString(); + $gadai->setConnection($caw['mysql']); + $gadai->setConnection($caw['mysql']); + $tebus->setConnection($caw['mysql']); + $lelong->setConnection($caw['mysql']); + $main->setConnection($caw['mysql']); - /* gadai */ - $gadai->pembiayaan_dibayar = 10000; - $gadai->keuntungan_dibayar = 10000; - $main->gadai()->save($gadai); + /* main */ + $main->pelangganbaru = ($getTransaksi['bilangan_customer_baru']) ? $getTransaksi['bilangan_customer_baru'] : 0; + $main->pendahuluan = ($getPendser['totalpendahuluan']) ? $getPendser['totalpendahuluan'] : 0; + $main->serahan = ($getPendser['totalserahan']) ? $getPendser['totalserahan'] : 0; + $main->serahan_online = ($getPendser['serahanonline']) ? $getPendser['serahanonline'] : 0; + $main->belanjaam = ($getPerbelanjaan['belanja']) ? $getPerbelanjaan['belanja'] : 0; + $main->baikidanselenggara = ($getPerbelanjaan['baikidanselenggara']) ? $getPerbelanjaan['baikidanselenggara'] : 0; + $main->keraian = ($getPerbelanjaan['keraian']) ? $getPerbelanjaan['keraian'] : 0; + $main->date = $current->toDateTimeString(); - /* tebus */ - $tebus->pembiayaan_dibayar = 10000; - $tebus->keuntungan_dibayar = 10000; - $main->tebus()->save($tebus); + /* gadai */ + $gadai->jumlah_pembiayaan = ($getTransaksi['total_gadai']) ? $getTransaksi['total_gadai'] : 0; + $gadai->bilangan_pembiayaan = ($getTransaksi['bilangan_gadai']) ? $getTransaksi['bilangan_gadai'] : 0; + $main->gadai()->save($gadai); - /* ansuran */ - $ansuran->pembiayaan_dibayar = 10000; - $ansuran->keuntungan_dibayar = 10000; - $main->ansuran()->save($ansuran); + /* tebus */ + $tebus->pembiayaan_dibayar = ($getTransaksi['total_tebus']) ? $getTransaksi['total_tebus'] : 0; + $tebus->keuntungan_dibayar = ($getTransaksi['upahsimpankaunter']) ? $getTransaksi['upahsimpankaunter'] : 0; + $tebus->bilangan_tebus = ($bilangan_tebus) ? $bilangan_tebus : 0; + $main->tebus()->save($tebus); - /* lelong */ - $lelong->lelong_current = 10000; - $lelong->baki_lelong = 10000; - $lelong->rugi_lelong = 10000; - $lelong->bayaran_rugi = 10000; - $lelong->bayaran_baki = 10000; - $lelong->caj_lelong = 10000; - $lelong->bil_lelong = 10000; - $main->lelong()->save($lelong); + /* ansuran */ + $ansuran->pembiayaan_dibayar = ($getTransaksi['total_ansuran']) ? $getTransaksi['total_ansuran'] : 0; + $ansuran->keuntungan_dibayar = ($getTransaksi['keuntungansebenarkaunter']) ? $getTransaksi['keuntungansebenarkaunter'] : 0; + $ansuran->bilangan_ansuran = ($getTransaksi['bilangan_ansuran']) ? $getTransaksi['bilangan_ansuran'] : 0; + $ansuran->pembiayaan_dibayar_online = ($getTransaksi['total_ansuranonline']) ? $getTransaksi['total_ansuranonline'] : 0; + $ansuran->keuntungan_dibayar_online = ($getTransaksi['total_keuntungan_online']) ? $getTransaksi['total_keuntungan_online'] : 0; + $ansuran->bilangan_bayaran_online = ($getTransaksi['bilangan_ansuranonline']) ? $getTransaksi['bilangan_ansuranonline'] : 0; + $main->ansuran()->save($ansuran); - $main->gad_id = $gadai->id; - $main->teb_id = $tebus->id; - $main->ans_id = $ansuran->id; - $main->lel_id = $lelong->id; - $main->save(); + /* lelong */ + $lelong->lelong_current = ($getLelong['jumlah_lelong']) ? $getLelong['jumlah_lelong'] : 0; + $lelong->baki_lelong = ($getLelong['baki_lelong']) ? $getLelong['baki_lelong'] : 0; + $lelong->rugi_lelong = ($getLelong['rugi_lelong']) ? $getLelong['rugi_lelong'] : 0; + $lelong->bayaran_rugi = ($getLelong['bayar_rugi_lelong']) ? $getLelong['bayar_rugi_lelong'] : 0; + $lelong->bayaran_baki = ($getLelong['bayar_baki_lelong']) ? $getLelong['bayar_baki_lelong'] : 0; + $lelong->caj_lelong = ($getLelong['cas_lelong']) ? $getLelong['cas_lelong'] : 0; + $lelong->bil_lelong = ($getLelong['bilangan']) ? $getLelong['bilangan'] : 0; + $main->lelong()->save($lelong); - DB::connection($caw['mysql'])->commit(); - // return response()->json($result1,200); - }catch (\Exception $e) { - DB::connection($caw['mysql'])->rollback(); - return response()->json($e->getMessage(),400); + if(!$condition){ + $main->gad_id = $gadai->id; + $main->teb_id = $tebus->id; + $main->ans_id = $ansuran->id; + $main->lel_id = $lelong->id; + $main->save(); + } + + + + + DB::connection($caw['mysql'])->commit(); + return response('success'); + }catch (\Exception $e) { + dd($e); + DB::connection($caw['mysql'])->rollback(); + return response()->json($e->getMessage(),400); + } } } } + public function getRingkasanHarian() : Array{ + + //gadai + $totalgadai = RingkasanMain::JumlahGadai(); + $bilangangadai = RingkasanMain::BilanganGadai(); + + //main + $pendahuluan = RingkasanMain::pendahuluan(); + $pelanggan = RingkasanMain::pelanggan(); + $serahan = RingkasanMain::Serahan(); + $serahanonline = RingkasanMain::SerahanOnline(); + $belanja = RingkasanMain::BelanjaAm(); + $baiki = RingkasanMain::BaikiDanSelenggara(); + $keraian = RingkasanMain::Keraian(); + + //tebus + $tebus = RingkasanMain::penebusan(); + $tebus_keuntungan = RingkasanMain::KeuntunganPenebusan(); + $bilangan_tebus = RingkasanMain::BilanganPenebusan(); + + //lelong + $jumlahlelong = RingkasanMain::JumlahLelong(); + $bakilelong = RingkasanMain::BakiLelong(); + $rugilelong = RingkasanMain::RugiLelong(); + $bayaranrugi = RingkasanMain::BayaranRugi(); + $bayaranbaki = RingkasanMain::BayaranBaki(); + $cajlelong = RingkasanMain::CajLelong(); + $billelong = RingkasanMain::BilLelong(); + + + //ansuran + $pembiayaanansuran = RingkasanMain::PembiayaanAnsuran(); + $keuntunganansuran = RingkasanMain::KeuntunganAnsuran(); + $bilansuran = RingkasanMain::BilAnsuran(); + $pembiayaanonline = RingkasanMain::PembiayaanOnline(); + $keuntunganonline = RingkasanMain::KeuntunganOnline(); + $bilonline = RingkasanMain::BilOnline(); + + + return [ + 'totalgadai' => $totalgadai, + 'bilangangadai' => $bilangangadai, + 'pendahuluan' => $pendahuluan, + 'pelanggan' => $pelanggan, + 'serahan' => $serahan, + 'serahanonline' => $serahanonline, + 'belanja' => $belanja, + 'baiki' => $baiki, + 'keraian' => $keraian, + 'tebus' => $tebus, + 'tebus_keuntungan' => $tebus_keuntungan, + 'bilangan_tebus' => $bilangan_tebus, + 'jumlahlelong' => $jumlahlelong, + 'bakilelong' => $bakilelong, + 'rugilelong' => $rugilelong, + 'bayaranrugi' => $bayaranrugi, + 'bayaranbaki' => $bayaranbaki, + 'cajlelong' => $cajlelong, + 'billelong' => $billelong, + 'pembiayaanansuran' => $pembiayaanansuran, + 'keuntunganansuran' => $keuntunganansuran, + 'bilansuran' => $bilansuran, + 'pembiayaanonline' => $pembiayaanonline, + 'keuntunganonline' => $keuntunganonline, + 'bilonline' => $bilonline + ]; + } + } diff --git a/routes/web.php b/routes/web.php index 10b8ea3..674eacb 100644 --- a/routes/web.php +++ b/routes/web.php @@ -763,6 +763,7 @@ $router->group(['prefix'=>'admin'], function () use ($router){ $router->get('laporan/tuntutbaki',['uses'=>'AdminPageController@LaporanTuntutBaki']); $router->get('store/ringkasanharian',['uses'=>'AdminPageController@StoreRingkasanHarian']); + $router->get('get/ringkasanharian',['uses'=>'AdminPageController@getRingkasanHarian']);