fix ringkasanbackup

This commit is contained in:
hafifierahman
2023-06-06 07:24:17 +08:00
parent 7303c6dc8b
commit f04e71ccbf
8 changed files with 364 additions and 70 deletions
@@ -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);
}
}
+2 -1
View File
@@ -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;
+2 -1
View File
@@ -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;
+2 -1
View File
@@ -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;
+188 -4
View File
@@ -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;
}
+3 -1
View File
@@ -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;
+155 -62
View File
@@ -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
];
}
}
+1
View File
@@ -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']);