diff --git a/app/Http/Controllers/GadaiController.php b/app/Http/Controllers/GadaiController.php index 827e3f9..2fba4ab 100644 --- a/app/Http/Controllers/GadaiController.php +++ b/app/Http/Controllers/GadaiController.php @@ -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); + } } diff --git a/app/Services/Miscellaneous/PanjarServices.php b/app/Services/Miscellaneous/PanjarServices.php index 107f797..255202f 100644 --- a/app/Services/Miscellaneous/PanjarServices.php +++ b/app/Services/Miscellaneous/PanjarServices.php @@ -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()); } } diff --git a/app/Services/Transaction/AnsuranServices.php b/app/Services/Transaction/AnsuranServices.php new file mode 100644 index 0000000..69d395b --- /dev/null +++ b/app/Services/Transaction/AnsuranServices.php @@ -0,0 +1,129 @@ +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; + } + + +} diff --git a/app/Support/v2/GadaiV2.php b/app/Support/v2/GadaiV2.php index 0fca06f..0b6e1d9 100644 --- a/app/Support/v2/GadaiV2.php +++ b/app/Support/v2/GadaiV2.php @@ -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; diff --git a/app/TransaksiGadai.php b/app/TransaksiGadai.php new file mode 100644 index 0000000..cc5dfd9 --- /dev/null +++ b/app/TransaksiGadai.php @@ -0,0 +1,40 @@ +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'); + } +} diff --git a/routes/web.php b/routes/web.php index b30a9e8..231e096 100644 --- a/routes/web.php +++ b/routes/web.php @@ -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']);