added database transaction in hapus tebus and gadai and put auto tawarruq in V1

This commit is contained in:
Hafifie PKB
2024-11-25 12:02:46 +08:00
parent 438908a9ce
commit f986e0a515
2 changed files with 558 additions and 179 deletions
+236 -179
View File
@@ -35,7 +35,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\Log;
use Illuminate\Support\Facades\DB;
@@ -2017,159 +2017,188 @@ class GadaiController extends Controller
$audit->updated_at = $current;
$audit->save();
if($gadai[0]['historygadaian'] != "0" && $gadai[0]['historygadaian'] != '')
{
if($tebus['tagterima'] == 1)
try{
DB::connection($cawangan['mysql'])->beginTransaction();
DB::connection('mysql7')->beginTransaction();
if($gadai[0]['historygadaian'] != "0" && $gadai[0]['historygadaian'] != '')
{
if($tebus['jenistebus'] == 'P')
if($tebus['tagterima'] == 1)
{
if($tebus['jenistebus'] == 'P')
{
$totalkeluar = $keluar - ($tebus['addpinjaman'] + $tebus['pinjaman']);
$totalmasuk = $masuk - ($tebus['bakiupah'] + $tebus['pinjaman']);
$totalkeluar = $keluar - ($tebus['addpinjaman'] + $tebus['pinjaman']);
$totalmasuk = $masuk - ($tebus['bakiupah'] + $tebus['pinjaman']);
// $bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
$bakiakhir = $baki - $tebus['bakiupah'] + $tebus['addpinjaman'];
// $bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
$bakiakhir = $baki - $tebus['bakiupah'] + $tebus['addpinjaman'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $totalkeluar,
'masuk' => $totalmasuk,
'baki' => $bakiakhir
));
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $totalkeluar,
'masuk' => $totalmasuk,
'baki' => $bakiakhir
));
}else{
$totalmasuk = $masuk - ($tebus['pinjaman']+$tebus['bakiupah']);
$totalkeluar = $keluar - (($tebus['pinjaman'] + $tebus['bakiupah']) - $tebus['bakipjm']);
// $bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
if($tebus['jenistebus'] == 'S')
$bakiakhir = $baki - $tebus['bakipjm'];
else
$bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $totalkeluar,
'masuk' => $totalmasuk,
'baki' => $bakiakhir
));
}
}else{
$totalmasuk = $masuk - ($tebus['pinjaman']+$tebus['bakiupah']);
$totalkeluar = $keluar - (($tebus['pinjaman'] + $tebus['bakiupah']) - $tebus['bakipjm']);
// $bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
$bakiakhir = $baki;
if($tebus['jenistebus'] == 'S')
$bakiakhir = $baki - $tebus['bakipjm'];
else
$bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
if($tebus['jenistebus'] == 'P')
{
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $totalkeluar,
'masuk' => $totalmasuk,
'baki' => $bakiakhir
));
$bakiakhir = $bakiakhir - $tebus['bakiupah'] + $tebus['addpinjaman'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $keluar,
'masuk' => $masuk,
'baki' => $bakiakhir
));
}else{
$totalmasuk = $masuk;
$totalkeluar = $keluar;
if($tebus['jenistebus'] == 'S')
$bakiakhir = ($bakiakhir - $tebus['bakipjm']);
else
$bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $keluar,
'masuk' => $masuk,
'baki' => $bakiakhir
));
}
}
}else{
$bakiakhir = $baki;
if($tebus['jenistebus'] == 'P')
Gadai::on($cawangan['mysql'])->where('norujukan','=',$gadai[0]['historygadaian'])->update(['sttebus' => '']);
$saved_historygadaian = $gadai[0]['historygadaian'];
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$gadai[0]['historygadaian'])->orderBy('id', 'desc')->limit(1)->delete();
Transaction::on('mysql7')->where('norujukan','=',$gadai[0]['historygadaian'])->orderBy('id', 'desc')->limit(1)->delete();
Tebus::on($cawangan['mysql'])->where('norujukan','=',$gadai[0]['historygadaian'])->delete();
Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
$gadaiDouble = Gadai::on($cawangan['mysql'])->where([['historygadaian',$gadai[0]['historygadaian']],['norujukan','<>',$gadai[0]['historygadaian']]])->pluck('norujukan');
if($gadaiDouble){
$isGadaianTawarruq = $saved_historygadaian !== '0' || $saved_historygadaian !== null || $saved_historygadaian !== '';
if($isGadaianTawarruq){
$this->batalKomuditiTawarruq($norujukan);
Gadai::on($cawangan['mysql'])->where('norujukan', $norujukan)->delete();
Marhun::on($cawangan['mysql'])->where('norujukan', $norujukan)->delete();
} else {
Gadai::on($cawangan['mysql'])->whereIn('norujukan',$gadaiDouble)->delete();
Marhun::on($cawangan['mysql'])->whereIn('norujukan',$gadaiDouble)->delete();
$this->batalKomuditi($gadai[0]['historygadaian'],$cawangan['mysql']);
}
}
// return response('Deleted Successfully', 200);
}
else
{
if($gadai[0]['semakbarcode'] == 'Lulus')
{
$totalkeluar = $keluar - $gadai[0]['pinjaman'];
$bakiakhir = $bakiakhir - $tebus['bakiupah'] + $tebus['addpinjaman'];
$bakiakhir = $baki;
$bakiakhir += $gadai[0]['pinjaman'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $keluar,
'masuk' => $masuk,
'baki' => $bakiakhir
'keluar' => $totalkeluar,
'masuk' => $masuk,
'baki' => $bakiakhir
));
}else{
$totalmasuk = $masuk;
$totalkeluar = $keluar;
$bakiakhir = $baki;
if($tebus['jenistebus'] == 'S')
$bakiakhir = ($bakiakhir - $tebus['bakipjm']);
else
$bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
$bakiakhir += $gadai[0]['pinjaman'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $keluar,
'masuk' => $masuk,
'baki' => $bakiakhir
'keluar' => $keluar,
'masuk' => $masuk,
'baki' => $bakiakhir
));
}
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
// return response('Deleted Successfully', 200);
}
$array_response = [
'result' => 'success',
'data' => 1
];
Gadai::on($cawangan['mysql'])->where('norujukan','=',$gadai[0]['historygadaian'])->update(['sttebus' => '']);
DB::connection($cawangan['mysql'])->commit();
DB::connection('mysql7')->commit();
return response()->json($array_response);
}catch(\Exception $e){
DB::connection($cawangan['mysql'])->rollBack();
DB::connection('mysql7')->rollBack();
$array_response = [
'result' => 'error',
'data' => $e->getMessage()
];
$saved_historygadaian = $gadai[0]['historygadaian'];
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$gadai[0]['historygadaian'])->orderBy('id', 'desc')->limit(1)->delete();
Transaction::on('mysql7')->where('norujukan','=',$gadai[0]['historygadaian'])->orderBy('id', 'desc')->limit(1)->delete();
Tebus::on($cawangan['mysql'])->where('norujukan','=',$gadai[0]['historygadaian'])->delete();
Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
$gadaiDouble = Gadai::on($cawangan['mysql'])->where([['historygadaian',$gadai[0]['historygadaian']],['norujukan','<>',$gadai[0]['historygadaian']]])->pluck('norujukan');
if($gadaiDouble){
$isGadaianTawarruq = $saved_historygadaian !== '0' || $saved_historygadaian !== null || $saved_historygadaian !== '';
if($isGadaianTawarruq){
$this->batalKomuditiTawarruq($norujukan);
Gadai::on($cawangan['mysql'])->where('norujukan', $norujukan)->delete();
Marhun::on($cawangan['mysql'])->where('norujukan', $norujukan)->delete();
} else {
Gadai::on($cawangan['mysql'])->whereIn('norujukan',$gadaiDouble)->delete();
Marhun::on($cawangan['mysql'])->whereIn('norujukan',$gadaiDouble)->delete();
$this->batalKomuditi($gadai[0]['historygadaian'],$cawangan['mysql']);
}
}
return response('Deleted Successfully', 200);
}
else
{
if($gadai[0]['semakbarcode'] == 'Lulus')
{
$totalkeluar = $keluar - $gadai[0]['pinjaman'];
$bakiakhir = $baki;
$bakiakhir += $gadai[0]['pinjaman'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $totalkeluar,
'masuk' => $masuk,
'baki' => $bakiakhir
));
}else{
$bakiakhir = $baki;
$bakiakhir += $gadai[0]['pinjaman'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $keluar,
'masuk' => $masuk,
'baki' => $bakiakhir
));
}
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
return response('Deleted Successfully', 200);
Log::error('Transaction failed', [
'exception' => $e->getMessage(),
'line' => $e->getLine(),
'file' => $e->getFile(),
]);
return response()->json($array_response);
}
}
@@ -2202,6 +2231,7 @@ class GadaiController extends Controller
$transaksi_asal = KomuditiTransaksi::on('mysql7')->whereIn('norujukan','=',$gadaiDouble)->sum('unit_komuditi');
$unit_current = $komuditi_current['unit_komuditi'];
$update_unit = $unit_current + $transaksi_asal['unit_komuditi'];
@@ -2239,82 +2269,109 @@ class GadaiController extends Controller
$bakiakhir = $baki;
$totalkeluar = 0;
if($gadai){
return response('Bukan-Tebus', 200);
}else{
$audit = new Audit();
$audit->users = $request->kodlaluan;
$audit->actions = 'Hapus Tebus';
$audit->norujukan = $norujukan;
$audit->old_data = $gadai;
$audit->kodcaw = $kodcaw;
$audit->created_at = $current;
$audit->updated_at = $current;
$audit->save();
if($tebus[0]['tagterima'] == 1)
{
if($tebus[0]['jenistebus'] == 'T')
{
$totalmasuk = $masuk - $tebus[0]['bakipjm'];
// $bakiakhir = $bakiawal-$keluar+$totalmasuk+$pendahuluan-$serahan;
$bakiakhir = $baki - $tebus[0]['bakipjm'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $keluar,
'masuk' => $totalmasuk,
'baki' => $bakiakhir
));
Tebus::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
InOutMar::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(['sttebus' => '']);
return response('Deleted Successfully', 200);
}
else
return response('Bukan-Tebus', 200);
try{
if($gadai){
return response('Bukan-Tebus', 200);
}else{
DB::connection($cawangan['mysql'])->beginTransaction();
DB::connection('mysql7')->beginTransaction();
if($tebus[0]['jenistebus'] == 'T')
$audit = new Audit();
$audit->users = $request->kodlaluan;
$audit->actions = 'Hapus Tebus';
$audit->norujukan = $norujukan;
$audit->old_data = $gadai;
$audit->kodcaw = $kodcaw;
$audit->created_at = $current;
$audit->updated_at = $current;
$audit->save();
if($tebus[0]['tagterima'] == 1)
{
if($tebus[0]['jenistebus'] == 'T')
{
$totalmasuk = $masuk - $tebus[0]['bakipjm'];
$bakiakhir = $bakiakhir - $tebus[0]['bakipjm'];
// $bakiakhir = $bakiawal-$keluar+$totalmasuk+$pendahuluan-$serahan;
$bakiakhir = $baki - $tebus[0]['bakipjm'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $keluar,
'masuk' => $masuk,
'baki' => $bakiakhir
));
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $keluar,
'masuk' => $totalmasuk,
'baki' => $bakiakhir
));
Tebus::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
InOutMar::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(['sttebus' => '']);
DB::connection($cawangan['mysql'])->commit();
DB::connection('mysql7')->commit();
return response('Deleted Successfully', 200);
}
else
return response('Bukan-Tebus', 200);
}else{
if($tebus[0]['jenistebus'] == 'T')
{
$bakiakhir = $bakiakhir - $tebus[0]['bakipjm'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $keluar,
'masuk' => $masuk,
'baki' => $bakiakhir
));
Tebus::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
Tebus::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
InOutMar::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
InOutMar::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(['sttebus' => '']);
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(['sttebus' => '']);
return response('Deleted Successfully', 200);
DB::connection($cawangan['mysql'])->commit();
DB::connection('mysql7')->commit();
return response('Deleted Successfully', 200);
}
else
return response('Bukan-Tebus', 200);
}
else
return response('Bukan-Tebus', 200);
}
return response()->json($array_response);
}catch(\Exception $e){
DB::connection($cawangan['mysql'])->rollBack();
DB::connection('mysql7')->rollBack();
$array_response = [
'result' => 'error',
'data' => $e->getMessage()
];
Log::error('Transaction failed', [
'exception' => $e->getMessage(),
'line' => $e->getLine(),
'file' => $e->getFile(),
]);
return response()->json($array_response);
}
}
public function senaraiLelong($kodcaw,Request $request){