e29a5891c8
Reviewed-on: #5 Co-authored-by: ISMAIL MASSERAN <ismail@koppkb.com> Co-committed-by: ISMAIL MASSERAN <ismail@koppkb.com>
190 lines
8.5 KiB
PHP
190 lines
8.5 KiB
PHP
<?php
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
use App\Models\Gadai;
|
|
use App\Models\LelongBid;
|
|
use App\Models\LelongTebus;
|
|
use App\Models\LogUser;
|
|
use App\Models\TransaksiKeuntungan;
|
|
use App\Models\User;
|
|
use Carbon\Carbon;
|
|
use Illuminate\Console\Command;
|
|
use Illuminate\Support\Facades\Http;
|
|
|
|
class kemaskiniLelongUjrah extends Command
|
|
{
|
|
/**
|
|
* The name and signature of the console command.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $signature = 'kemaskini:lelongujrah';
|
|
|
|
/**
|
|
* The console command description.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $description = 'Kemaskini data lelong ujrah';
|
|
|
|
/**
|
|
* Create a new command instance.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
}
|
|
|
|
/**
|
|
* Execute the console command.
|
|
*
|
|
* @return int
|
|
*/
|
|
public function handle()
|
|
{
|
|
$currentdate = Carbon::now();
|
|
$currentdate = $currentdate->toDateTimeString();
|
|
$data = [];
|
|
|
|
$lelongbids = LelongBid::where('status_jual', 0)->where('tagujrah', '1')->get();
|
|
// dd($lelongbids);
|
|
|
|
foreach ($lelongbids as $index => $lelongbid) {
|
|
$gadai = Gadai::on($lelongbid->kodcaw)->where('norujukan', $lelongbid->norujukan)->first();
|
|
$keluar_lelong = false;
|
|
$sebab_keluar = '';
|
|
if ($lelongbid->fasa == '1') {
|
|
if ($gadai->sttebus == 'T') {
|
|
$keluar_lelong = true;
|
|
$sebab_keluar = 'T';
|
|
} elseif ($gadai->sttebus == 'L') {
|
|
$keluar_lelong = true;
|
|
$sebab_keluar = 'L';
|
|
} else {
|
|
$telahbayar = $gadai->hargajualan - $gadai->bakihargajualan;
|
|
$upah6bln_raw = $gadai->bakiupah - 0.5;
|
|
if (bcdiv($telahbayar, 1, 1) >= bcdiv($upah6bln_raw, 1, 1)) {
|
|
$keluar_lelong = true;
|
|
$sebab_keluar = 'A';
|
|
$updategadai = Http::withOptions(['verify' => config('app.api_verify')])
|
|
->post(config('app.api_url').'taglel/revert', [
|
|
'kodcaw' => $lelongbid->kodcaw,
|
|
'norujukan' => $lelongbid->norujukan,
|
|
])
|
|
->json();
|
|
} else {
|
|
$total_untung_rebet = TransaksiKeuntungan::on('main')->where('norujukan', $lelongbid->norujukan)->sum('keuntungan_rebet');
|
|
$total_untung_asal = TransaksiKeuntungan::on('main')->where('norujukan', $lelongbid->norujukan)->sum('bayaran_keuntungan');
|
|
$beza_keuntungan = $total_untung_asal - $total_untung_rebet;
|
|
if ($gadai->tempohbayar == $gadai->tempoh) {
|
|
$keuntungan = 0.00;
|
|
$rounded_ujrah = 0.00;
|
|
$rounded_onepercent = 0.00;
|
|
} else {
|
|
// kiraan keuntungan ujrah
|
|
$jeniskeuntungan = 'onepercent';
|
|
// $keuntungan1 = Http::get(config('app.api_ujrah_url'). 'upahrebettawarruq/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan.'/'.$jeniskeuntungan)->json();
|
|
$ujrahonepercentrebet = Http::get(config('app.api_ujrah_url').'kiraupahUjrahOnePercentRebate/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan)->json();
|
|
$rounded_ujrah = $ujrahonepercentrebet['ujrah'];
|
|
$rounded_onepercent = $ujrahonepercentrebet['onepercent'];
|
|
$keuntungan = $rounded_ujrah + $rounded_onepercent;
|
|
|
|
}
|
|
$checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan)
|
|
->where('xlaku', 1)
|
|
->first();
|
|
if (! $checkdataxlaku) {
|
|
$lelongbid->jbg = $gadai->tempoh;
|
|
$lelongbid->pinjaman = $gadai->bakipjm;
|
|
$lelongbid->bakiupah = $keuntungan;
|
|
$lelongbid->ujrah = $rounded_ujrah;
|
|
$lelongbid->onepercent = $rounded_onepercent;
|
|
$lelongbid->save();
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
if ($gadai->sttebus == 'T') {
|
|
$keluar_lelong = true;
|
|
$sebab_keluar = 'T';
|
|
} elseif ($gadai->sttebus == 'L') {
|
|
$keluar_lelong = true;
|
|
$sebab_keluar = 'L';
|
|
} else {
|
|
$total_untung_rebet = TransaksiKeuntungan::on('main')->where('norujukan', $lelongbid->norujukan)->sum('keuntungan_rebet');
|
|
$total_untung_asal = TransaksiKeuntungan::on('main')->where('norujukan', $lelongbid->norujukan)->sum('bayaran_keuntungan');
|
|
$beza_keuntungan = $total_untung_asal - $total_untung_rebet;
|
|
if ($gadai->tempohbayar == 12) {
|
|
$keuntungan = 0.00;
|
|
$rounded_ujrah = 0.00;
|
|
$rounded_onepercent = 0.00;
|
|
} elseif ($gadai->tempohbayar == $gadai->tempoh) {
|
|
$keuntungan = 0.00;
|
|
$rounded_ujrah = 0.00;
|
|
$rounded_onepercent = 0.00;
|
|
} else {
|
|
// kiraan keuntungan ujrah
|
|
$jeniskeuntungan = 'onepercent';
|
|
// $keuntungan1 = Http::get(config('app.api_ujrah_url'). 'upahrebettawarruq/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan.'/'.$jeniskeuntungan)->json();
|
|
$ujrahonepercentrebet = Http::get(config('app.api_ujrah_url').'kiraupahUjrahOnePercentRebate/'.$lelongbid->kodcaw.'/'.$lelongbid->norujukan)->json();
|
|
$rounded_ujrah = $ujrahonepercentrebet['ujrah'];
|
|
$rounded_onepercent = $ujrahonepercentrebet['onepercent'];
|
|
$keuntungan = $rounded_ujrah + $rounded_onepercent;
|
|
|
|
}
|
|
$checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan)
|
|
->where('xlaku', 1)
|
|
->first();
|
|
if (! $checkdataxlaku) {
|
|
$lelongbid->jbg = $gadai->tempoh;
|
|
$lelongbid->pinjaman = $gadai->bakipjm;
|
|
$lelongbid->bakiupah = $keuntungan;
|
|
$lelongbid->ujrah = $rounded_ujrah;
|
|
$lelongbid->onepercent = $rounded_onepercent;
|
|
$lelongbid->save();
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($keluar_lelong == true) {
|
|
$lelongtebus = new LelongTebus;
|
|
$lelongtebus->tarikh = $currentdate;
|
|
$lelongtebus->kodcaw = $lelongbid->kodcaw;
|
|
$lelongtebus->teller = 'System';
|
|
$lelongtebus->norujukan = $lelongbid->norujukan;
|
|
$lelongtebus->batch_no = $lelongbid->lelong_id;
|
|
$lelongtebus->nilaimarhun = $lelongbid->nilaimarhun;
|
|
$lelongtebus->pinjaman = $gadai->bakipjm;
|
|
$lelongtebus->upah = $keuntungan ?? '0.00';
|
|
$lelongtebus->jbg = $gadai->tempoh;
|
|
$lelongtebus->jenis_tebus = $sebab_keluar;
|
|
$lelongtebus->save();
|
|
|
|
$loguser = new LogUser;
|
|
$loguser->user_id = User::where('name', 'System')->first()->id;
|
|
$loguser->date = $currentdate;
|
|
$loguser->username = 'System';
|
|
$loguser->nama_user = 'System';
|
|
$loguser->norujukan = $gadai->norujukan;
|
|
$loguser->nota = $sebab_keluar == 'A' ? ' KELUAR LELONG UJRAH '.$lelongbid->lelong_id : ' TEBUS LELONG UJRAH '.$lelongbid->lelong_id;
|
|
$loguser->save();
|
|
|
|
$lelongbid->delete();
|
|
} else {
|
|
$loguser = new LogUser;
|
|
$loguser->user_id = User::where('name', 'System')->first()->id;
|
|
$loguser->date = $currentdate;
|
|
$loguser->username = 'System';
|
|
$loguser->nama_user = 'System';
|
|
$loguser->norujukan = $gadai->norujukan;
|
|
$loguser->nota = $lelongbid->lelong_id.' Kemaskini Tempoh/Bakipjm/Keuntungan Ujrah';
|
|
$loguser->save();
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|