130 lines
4.6 KiB
PHP
130 lines
4.6 KiB
PHP
<?php
|
|
|
|
namespace App\Services\Transaction;
|
|
|
|
use App\Audit;
|
|
use App\Gadai;
|
|
use App\Tunai;
|
|
use App\Transaction;
|
|
use App\TransaksiKeuntungan;
|
|
use App\Cawangan;
|
|
use App\TransaksiGadai;
|
|
use Carbon\Carbon;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
class AnsuranServices
|
|
{
|
|
|
|
/*
|
|
//////////////
|
|
/// NOTED ///
|
|
////////////
|
|
|
|
1. Pembaharuan untuk Hapus Ansuran.
|
|
|
|
*/
|
|
|
|
|
|
protected $cawangan = 'KB2';
|
|
|
|
public function __construct($kodcaw){
|
|
$this->cawangan = $kodcaw;
|
|
}
|
|
|
|
public function delete(Request $request): String{
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$this->cawangan)->first();
|
|
$tarikh_request = new Carbon($request->tarikh);
|
|
$tarikh = Carbon::now();
|
|
$harisemasa = $tarikh->toDateString();
|
|
|
|
if($harisemasa !== $tarikh_request->toDateString()){
|
|
return 'date not equal';
|
|
}
|
|
$transaction_gadai = TransaksiGadai::on('mysql7')->where('id',$request->tg_id)->first();
|
|
$transaction = Transaction::on('mysql7')->where('id',$transaction_gadai['transaction_id'])->first();
|
|
|
|
if($transaction['teller'] != $request->teller){
|
|
return 'wrong teller';
|
|
}
|
|
|
|
try{
|
|
DB::connection('mysql7')->transaction(function () use($cawangan,$request,$harisemasa,$transaction,$transaction_gadai){
|
|
|
|
try{
|
|
DB::connection($cawangan['mysql'])->transaction(function () use($cawangan,$request,$transaction_gadai,$harisemasa,$transaction){
|
|
|
|
Gadai::on($cawangan['mysql'])->where('norujukan',$request->norujukan)->update(array(
|
|
'percentpinj' => $transaction_gadai['percentpinj'],
|
|
'bakipjm' => $transaction_gadai['bakipjm'],
|
|
'tempoh' => $transaction_gadai['tempoh'],
|
|
't_update' => $transaction_gadai['t_update'],
|
|
'bakihargajualan' => $transaction_gadai['bakihargajualan'],
|
|
'tempohbayar' => $transaction_gadai['tempohbayar'],
|
|
'lelong_tawarruq' => $transaction_gadai['lelong_tawarruq'],
|
|
'margin_semasa' => $transaction_gadai['margin_semasa'],
|
|
'tunggakanujrah' => $transaction_gadai['tunggakanujrah'],
|
|
'tunggakanonepercent' => $transaction_gadai['tunggakanonepercent'],
|
|
));
|
|
|
|
$tunai = Tunai::on($cawangan['mysql'])->where('kodlaluan',$request->teller)->where('tarikh',$harisemasa)->first();
|
|
|
|
|
|
$total = $tunai['masuk'] - $transaction['duit_masuk'];
|
|
$bakiakhir = $tunai['bakiawal'] - $tunai['keluar'] + $total + $tunai['tambah'] - $tunai['serahan'];
|
|
|
|
|
|
Tunai::on($cawangan['mysql'])->where('tarikh',$harisemasa)->where('kodlaluan',$request->teller)->update(['masuk' => $total,'baki' => $bakiakhir]);
|
|
|
|
});
|
|
}catch(\Exception $e){
|
|
DB::connection('mysql7')->rollBack();
|
|
Log::debug($e->getMessage());
|
|
return 'error';
|
|
}
|
|
|
|
Transaction::on('mysql7')->where('id',$transaction_gadai['transaction_id'])->delete();
|
|
TransaksiKeuntungan::on('mysql7')->where('id',$transaction_gadai['transaksiupah_id'])->delete();
|
|
|
|
TransaksiGadai::on('mysql7')->where('id',$request->tg_id)->update(array(
|
|
'softDelete' => 1,
|
|
));
|
|
|
|
|
|
return 'success';
|
|
|
|
});
|
|
}catch(\Exception $error){
|
|
DB::connection($cawangan['mysql'])->rollBack();
|
|
DB::connection('mysql7')->rollBack();
|
|
Log::debug($error->getMessage());
|
|
return 'error';
|
|
}
|
|
|
|
return 'success';
|
|
|
|
// $audit = new Audit();
|
|
// $audit->users = $request->teller;
|
|
// $audit->actions = 'Hapus Ansuran';
|
|
// $audit->norujukan = $norujukan;
|
|
// $audit->new_data = $new_data;
|
|
// $audit->old_data = $old_data;
|
|
// $audit->kodcaw = $kodcaw;
|
|
// $audit->created_at = $current;
|
|
// $audit->updated_at = $current;
|
|
// $audit->save();
|
|
|
|
}
|
|
|
|
public function getLatestAdvanceWithoutDelete(Request $request){
|
|
$tarikh = Carbon::now();
|
|
|
|
$latest = TransaksiGadai::on('mysql7')->whereDate('created_at',$tarikh->toDateString())->where('norujukan',$request->norujukan)->where('softDelete',0)->latest()->first();
|
|
|
|
return $latest;
|
|
}
|
|
|
|
|
|
}
|