231 lines
11 KiB
PHP
231 lines
11 KiB
PHP
<?php
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
use Illuminate\Console\Command;
|
|
use App\Models\LelongBid;
|
|
use App\Models\Gadai;
|
|
use Carbon\Carbon;
|
|
use App\Models\TransaksiKeuntungan;
|
|
use App\Models\LelongTebus;
|
|
use App\Models\LogUser;
|
|
use App\Models\User;
|
|
use Illuminate\Support\Facades\Http;
|
|
|
|
class kemaskiniLelong extends Command
|
|
{
|
|
/**
|
|
* The name and signature of the console command.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $signature = 'kemaskini:lelong';
|
|
|
|
/**
|
|
* The console command description.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $description = 'Kemaskini data lelong';
|
|
|
|
/**
|
|
* 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)->get();
|
|
|
|
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{
|
|
if($gadai->tagbaru == '0'){
|
|
$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;
|
|
}else{
|
|
$jbg = $gadai->tempoh - $gadai->tempohbayar;
|
|
$jbg2 = 12 - $gadai->tempohbayar;
|
|
if($gadai->tempoh <= '12.00'){
|
|
$keuntungan = bcdiv(($jbg)*$gadai->kadarupah/100*$gadai->bakipjm,1,1)-$beza_keuntungan;
|
|
}else{
|
|
$keuntungan = bcdiv(($jbg2)*$gadai->kadarupah/100*$gadai->bakipjm,1,1)-$beza_keuntungan;
|
|
}
|
|
|
|
}
|
|
$checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan)
|
|
->where('xlaku', 1)
|
|
->first();
|
|
if (!$checkdataxlaku) {
|
|
$lelongbid->jbg = $gadai->tempoh;
|
|
$lelongbid->pinjaman = $gadai->bakipjm;
|
|
$lelongbid->bakiupah = $keuntungan;
|
|
$lelongbid->save();
|
|
}
|
|
}else if($gadai->tagbaru == '1'){
|
|
//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();
|
|
$keuntungan = $keuntungan1['pendapatan'];
|
|
$rounded_ujrah = $ujrahonepercentrebet['ujrah'];
|
|
$rounded_onepercent = $ujrahonepercentrebet['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{
|
|
if($gadai->tagbaru == '0'){
|
|
$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;
|
|
}
|
|
elseif($gadai->tempohbayar == $gadai->tempoh ){
|
|
$keuntungan = 0.00;
|
|
}
|
|
else{
|
|
$jbg = $gadai->tempoh - $gadai->tempohbayar;
|
|
$jbg2 = 12 - $gadai->tempohbayar;
|
|
if($gadai->tempoh <= '12.00'){
|
|
$keuntungan = bcdiv(($jbg)*$gadai->kadarupah/100*$gadai->bakipjm,1,1)-$beza_keuntungan;
|
|
}else{
|
|
$keuntungan = bcdiv(($jbg2)*$gadai->kadarupah/100*$gadai->bakipjm,1,1)-$beza_keuntungan;
|
|
}
|
|
}
|
|
$checkdataxlaku = LelongBid::where('norujukan', $lelongbid->norujukan)
|
|
->where('xlaku', 1)
|
|
->first();
|
|
if (!$checkdataxlaku) {
|
|
$lelongbid->jbg = $gadai->tempoh;
|
|
$lelongbid->pinjaman = $gadai->bakipjm;
|
|
$lelongbid->bakiupah = $keuntungan;
|
|
$lelongbid->save();
|
|
}
|
|
}elseif($gadai->tagbaru == '1'){
|
|
//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();
|
|
$keuntungan = $keuntungan1['pendapatan'];
|
|
$rounded_ujrah = $ujrahonepercentrebet['ujrah'];
|
|
$rounded_onepercent = $ujrahonepercentrebet['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 = $gadai->bakiupah;
|
|
$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 '.$lelongbid->lelong_id : ' TEBUS LELONG '.$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;
|
|
if($gadai->tagbaru == '0'){
|
|
$loguser->nota = $lelongbid->lelong_id.' Kemaskini Tempoh/Bakipjm/Keuntungan SAG LAMA' ;
|
|
}
|
|
elseif($gadai->tagbaru == '1'){
|
|
$loguser->nota = $lelongbid->lelong_id.' Kemaskini Tempoh/Bakipjm/Keuntungan UJRAH' ;
|
|
}
|
|
$loguser->save();
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|