tambahan hapus ansuran

This commit is contained in:
Hafifie PKB
2024-01-10 10:11:25 +08:00
parent 4c47bb0f84
commit 4726ea7c5c
7 changed files with 266 additions and 1 deletions
+15
View File
@@ -34,6 +34,7 @@ use Illuminate\Http\Request;
use App\Services\MasterServices;
use App\Support\OnePercent;
use App\Services\Transaction\AnsuranServices as AnsServ;
use Log;
use Illuminate\Support\Facades\DB;
@@ -3627,4 +3628,18 @@ class GadaiController extends Controller
return $keuntungan;
}
public function deleteAnsuran(Request $request){
$ansuranserv = new AnsServ($request->kodcaw);
$delete = $ansuranserv->delete($request);
Log::info($delete);
return response()->json($delete);
}
public function getLatestAdvanceWithoutDelete(Request $request){
$ansuranserv = new AnsServ($request->kodcaw);
$view = $ansuranserv->getLatestAdvanceWithoutDelete($request);
return response()->json($view);
}
}
+12 -1
View File
@@ -96,7 +96,7 @@ class PanjarServices
if (!$vault) throw new \Exception('Custom Exception: Vault Does Not Exist!');
if (!$deno_panjar) throw new \Exception('Custom Exception: Denominasi Panjar Does Not Exist!');
DB::transaction(function () use ($cawangan,$deno_panjar,$panjar,$denominasi,$current,$vault) {
DB::transaction(function () use ($cawangan,$deno_panjar,$panjar,$denominasi,$current,$vault,$request) {
$return_data = $this->calculation_denominasi($deno_panjar,$denominasi,'masuk');
if($return_data == 'no data') throw new \Exception('Custom Exception: Denominasi Panjar Not Return Data');
@@ -297,9 +297,20 @@ class PanjarServices
$audit->updated_at = $current;
$audit->save();
$array_response = [
'result' => 'success',
'data' => 1
];
return response()->json($array_response);
});
}catch(\Exception $e){
dd($e->getMessage());
$array_response = [
'result' => 'error',
'data' => $e->getMessage()
];
return response()->json($array_response);
Log::error('Exception: ' , $e->getMessage());
}
}
@@ -0,0 +1,129 @@
<?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;
}
}
+19
View File
@@ -11,6 +11,7 @@ use App\Gadai;
use App\Marhun;
use App\Support\OnePercent;
use App\Transaction;
use App\TransaksiGadai;
use App\TransaksiKeuntungan;
use Illuminate\Http\Request as HttpRequest;
use Illuminate\Support\Facades\DB;
@@ -288,6 +289,24 @@ class GadaiV2
'margin_semasa' => $margin_semasa,
]);
$transaksi_gadai = TransaksiGadai::on('mysql7')->create([
'kodcaw' => $old_data['kodcaw'],
'norujukan' => $old_data['norujukan'],
'percentpinj' => $old_data['percentpinj'],
'bakipjm' => $old_data['bakipjm'],
'tempoh' => $old_data['tempoh'],
't_update' => $old_data['t_update'],
'bakihargajualan' => $old_data['bakihargajualan'],
'tempohbayar' => $old_data['tempohbayar'],
'lelong_tawarruq' => $old_data['lelong_tawarruq'],
'margin_semasa' => $old_data['margin_semasa'],
'tunggakanujrah' => $old_data['tunggakanujrah'],
'tunggakanonepercent' => $old_data['tunggakanonepercent'],
'transaction_id' => $transaction->id,
'transaksiupah_id' => $transaction_upah->id,
'softDelete' => 0
]);
DB::connection($cawangan['mysql'])->transaction(function () use($cawangan,$baki_pinjaman,$current,$norujukan,$gadai,$baki_hargajualan,$lelong_tawarruq,$margin_semasa){
$margin_updated = ($baki_pinjaman / $gadai['nilaimarhun']) * 100;
+40
View File
@@ -0,0 +1,40 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class TransaksiGadai extends Model
{
protected $table = 'transaksi_gadai';
public $timestamps = true;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'kodcaw',
'norujukan',
'percentpinj',
'bakipjm',
'tempoh',
't_update',
'bakihargajualan',
'tempohbayar',
'lelong_tawarruq',
'margin_semasa',
'tunggakanujrah',
'tunggakanonepercent',
'transaction_id',
'transaksiupah_id',
'softDelete'
];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
// protected $hidden = [];
}
@@ -0,0 +1,49 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTransaksiGadaiTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
protected $connection = 'mysql7';
public function up()
{
Schema::create('transaksi_gadai', function (Blueprint $table) {
$table->id();
$table->string('kodcaw', 10);
$table->string('norujukan', 50);
$table->decimal('bakipjm', 9, 2);
$table->decimal('tempoh', 9, 2);
$table->date('t_update');
$table->decimal('bakihargajualan', 9, 2);
$table->decimal('tempohbayar', 9, 2);
$table->integer('lelong_tawarruq');
$table->decimal('margin_semasa', 9, 2);
$table->decimal('tunggakanujrah', 9, 2);
$table->decimal('tunggakanonepercent', 9, 2);
$table->decimal('percentpinj', 9, 2);
$table->integer('transaction_id');
$table->integer('transaksiupah_id');
$table->integer('softDelete');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('transaksi_gadai');
}
}
+2
View File
@@ -807,6 +807,8 @@ $router->group(['prefix'=>'admin'], function () use ($router){
$router->get('laporan/akrual/insertImbangDuga',['uses'=>'LaporanController@InsertDailyImbangDuga']);
$router->get('laporan/akrual/UntungRugiTerkumpul/{kodcaw}',['uses' => 'AdminPageController@calculationUntungTerkumpulAkru']);
$router->get('laporan/akrual/updateImbangDuga',['uses'=>'LaporanController@UpdateDailyImbangDuga']);
$router->post('ansuran/delete',['uses'=>'GadaiController@deleteAnsuran']);
$router->get('ansuran/getLatest',['uses'=>'GadaiController@getLatestAdvanceWithoutDelete']);
$router->get('laporan/online',['uses'=>'AdminPageController@LaporanOnline']);
$router->get('laporan/tuntutbaki',['uses'=>'AdminPageController@LaporanTuntutBaki']);