From e281dea9e8665dbe602135ad1c9871378dd985b8 Mon Sep 17 00:00:00 2001 From: daengdeni Date: Wed, 27 Mar 2024 16:54:06 +0700 Subject: [PATCH] update approval hapus buku --- Http/Controllers/HapusBukuController.php | 178 +++++++++++++++++++--- Livewire/HapusBuku/HapusBukuModal.php | 6 +- Livewire/HapusBuku/NomorPinjamanModal.php | 4 +- 3 files changed, 158 insertions(+), 30 deletions(-) diff --git a/Http/Controllers/HapusBukuController.php b/Http/Controllers/HapusBukuController.php index c8d41b4..9bcc2d3 100644 --- a/Http/Controllers/HapusBukuController.php +++ b/Http/Controllers/HapusBukuController.php @@ -6,7 +6,9 @@ use Exception; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; + use Illuminate\Support\Facades\DB; use Modules\Writeoff\DataTables\HapusBukuDataTable; + use Modules\Writeoff\Entities\Approval; use Modules\Writeoff\Entities\Branch; use Modules\Writeoff\Entities\Currency; use Modules\Writeoff\Entities\DetailPembayaran; @@ -49,6 +51,90 @@ } } + public function edit($id) + { + return redirect()->route('pencatatan.hapus_buku.create', ['id' => $id]); + } + + public function store(StoreHapusBukuRequest $request) + { + $validated = $request->validated(); + + if ($validated) { + try { + DB::transaction(function () use ($validated) { + // Prepare the data for creating a new user + $data = [ + 'nomor_pinjaman' => $validated['nomor_pinjaman'], + 'kode_jenis_pinjaman' => $validated['kode_jenis_pinjaman'], + 'kode_debitur' => $validated['kode_debitur'], + 'nama_debitur' => $validated['nama_debitur'], + 'alamat_debitur' => $validated['alamat_debitur'], + 'npwp_debitur' => $validated['npwp_debitur'], + 'kode_cabang' => $validated['kode_cabang'], + 'kode_mata_uang' => $validated['kode_mata_uang'], + 'tanggal_hapus_buku' => $validated['tanggal_hapus_buku'], + 'nomor_fasilitas' => $validated['nomor_fasilitas'], + 'kode_jenis_fasilitas' => $validated['kode_jenis_fasilitas'], + 'nilai_plafond_awal' => $validated['nilai_plafond_awal'], + 'suku_bunga' => $validated['suku_bunga'], + 'baki_debet' => $validated['baki_debet'], + 'jumlah_bunga' => $validated['jumlah_bunga'], + 'jumlah_kewajiban_lain' => $validated['jumlah_kewajiban_lain'], + 'total_kewajiban' => $validated['total_kewajiban'], + 'bunga_intra' => $validated['bunga_intra'], + 'bunga_ekstra' => $validated['bunga_ekstra'], + 'bunga_non_ekstra' => $validated['bunga_non_ekstra'], + 'denda' => $validated['denda'], + 'tagihan_lain' => $validated['tagihan_lain'], + 'biaya_lain' => $validated['biaya_lain'], + 'total_all_kewajiban' => $validated['total_all_kewajiban'], + 'memo_persetujuan' => $validated['memo_persetujuan'], + 'lama_hari' => $validated['lama_hari'], + 'proses_hukum' => $validated['proses_hukum'], + 'komitmen_debitur' => $validated['komitmen_debitur'], + 'keterangan' => $validated['keterangan'], + 'status' => $validated['status'] + ]; + + + $data['created_by'] = auth()->user()->id; + $data['created_at'] = now(); + + // Emit a success event with a message + $approval = [ + 'method' => 'create', + 'menu' => 'Hapus Buku', + 'new_request' => json_encode($data), + 'description' => 'Create Hapus Buku', + 'status' => '0', + 'ref' => $validated['nomor_pinjaman'] + ]; + + $is_approval = Approval::where('menu', 'Hapus Buku') + ->where('ref', $validated['nomor_pinjaman']) + ->where('status', '0') + ->where('method', 'create') + ->get() + ->first(); + + if ($is_approval) { + echo json_encode(['status' => 'error', 'message' => 'Data Sedang Menunggu Approval']); + } else { + Approval::create($approval); + echo json_encode(['status' => 'success', + 'message' => 'Data Berhasil Di Input, Menunggu Approval' + ]); + } + + }); + + } catch (Exception $e) { + echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); + } + } + } + /** * Display a listing of the SubrogasiJamkrindos. * @@ -62,8 +148,6 @@ abort(403, 'Sorry !! You are Unauthorized to view any master data !'); } - - $branch = Branch::all(); $loan_type = LoanType::all(); $facility_type = FacilityType::all(); @@ -71,7 +155,7 @@ $totalbayar = 0; - if($request->id) { + if ($request->id) { $hapusbuku = HapusBuku::find($request->id); $totalbayar = DetailPembayaran::where('nomor_pinjaman', $hapusbuku->nomor_pinjaman) @@ -101,35 +185,79 @@ } - public function edit($id) - { - return redirect()->route('pencatatan.hapus_buku.create', ['id' => $id]); - } - - - public function store(StoreHapusBukuRequest $request) + public function update(UpdateHapusBukuRequest $request, $id) { $validated = $request->validated(); if ($validated) { try { - HapusBuku::create($validated); - echo json_encode(['status' => 'success', 'message' => 'Hapus Buku created successfully.']); - } catch (Exception $e) { - echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); - } - } - } + DB::transaction(function () use ($validated, $id) { + // Prepare the data for creating a new user + $data = [ + 'nomor_pinjaman' => $validated['nomor_pinjaman'], + 'kode_jenis_pinjaman' => $validated['kode_jenis_pinjaman'], + 'kode_debitur' => $validated['kode_debitur'], + 'nama_debitur' => $validated['nama_debitur'], + 'alamat_debitur' => $validated['alamat_debitur'], + 'npwp_debitur' => $validated['npwp_debitur'], + 'kode_cabang' => $validated['kode_cabang'], + 'kode_mata_uang' => $validated['kode_mata_uang'], + 'tanggal_hapus_buku' => $validated['tanggal_hapus_buku'], + 'nomor_fasilitas' => $validated['nomor_fasilitas'], + 'kode_jenis_fasilitas' => $validated['kode_jenis_fasilitas'], + 'nilai_plafond_awal' => $validated['nilai_plafond_awal'], + 'suku_bunga' => $validated['suku_bunga'], + 'baki_debet' => $validated['baki_debet'], + 'jumlah_bunga' => $validated['jumlah_bunga'], + 'jumlah_kewajiban_lain' => $validated['jumlah_kewajiban_lain'], + 'total_kewajiban' => $validated['total_kewajiban'], + 'bunga_intra' => $validated['bunga_intra'], + 'bunga_ekstra' => $validated['bunga_ekstra'], + 'bunga_non_ekstra' => $validated['bunga_non_ekstra'], + 'denda' => $validated['denda'], + 'tagihan_lain' => $validated['tagihan_lain'], + 'biaya_lain' => $validated['biaya_lain'], + 'total_all_kewajiban' => $validated['total_all_kewajiban'], + 'memo_persetujuan' => $validated['memo_persetujuan'], + 'lama_hari' => $validated['lama_hari'], + 'proses_hukum' => $validated['proses_hukum'], + 'komitmen_debitur' => $validated['komitmen_debitur'], + 'keterangan' => $validated['keterangan'], + 'status' => $validated['status'] + ]; - public function update(UpdateHapusBukuRequest $request,$id) - { - $validated = $request->validated(); + // Emit a success event with a message + $hapus_buku = HapusBuku::find($id); - if ($validated) { - try { - $hapusbuku = HapusBuku::find($id); - $hapusbuku->update($validated); - echo json_encode(['status' => 'success', 'message' => 'Hapus Buku Updated successfully.']); + $data['updated_by'] = auth()->user()->id; + $data['updated_at'] = now(); + + $approval = [ + 'method' => 'update', + 'menu' => 'Hapus Buku', + 'old_request' => json_encode($hapus_buku), + 'new_request' => json_encode($data), + 'description' => 'Update Hapus Buku', + 'status' => '0', + 'ref' => $validated['nomor_pinjaman'] + ]; + + $is_approval = Approval::where('menu', 'Hapus Buku') + ->where('ref', $validated['nomor_pinjaman']) + ->where('status', '0') + ->where('method', 'update') + ->get() + ->first(); + + if ($is_approval) { + echo json_encode(['status' => 'error', 'message' => 'Data Sedang Menunggu Approval']); + } else { + Approval::create($approval); + echo json_encode(['status' => 'success', 'message' => 'Data Berhasil Di Update, Menunggu Approval']); + + } + + }); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => $e->getMessage()]); } diff --git a/Livewire/HapusBuku/HapusBukuModal.php b/Livewire/HapusBuku/HapusBukuModal.php index 71757f7..f06b6d6 100644 --- a/Livewire/HapusBuku/HapusBukuModal.php +++ b/Livewire/HapusBuku/HapusBukuModal.php @@ -67,7 +67,7 @@ $facility_type = FacilityType::all(); $currency = Currency::all(); - if(request()->id){ + if (request()->id) { $this->dispatch('update'); } else { $this->dispatch('show'); @@ -227,7 +227,7 @@ $this->keterangan = $hapus_buku->keterangan; $this->status = $hapus_buku->status == 1; - $this->rekening = $hapus_buku->nomor_pinjaman; + $this->rekening = $hapus_buku->nomor_pinjaman; } @@ -242,7 +242,7 @@ }) ->get() ->first(); - if($rekenings) { + if ($rekenings) { $this->rekening = $rekenings->nomor_rekening; $this->nomor_pinjaman = $rekenings->nomor_rekening; } diff --git a/Livewire/HapusBuku/NomorPinjamanModal.php b/Livewire/HapusBuku/NomorPinjamanModal.php index 167a20d..4914680 100644 --- a/Livewire/HapusBuku/NomorPinjamanModal.php +++ b/Livewire/HapusBuku/NomorPinjamanModal.php @@ -54,14 +54,14 @@ $approval = [ 'method' => 'delete', - 'menu' => 'Data Hapus Buku', + 'menu' => 'Hapus Buku', 'old_request' => json_encode($hapusbuku), 'description' => 'Delete Data Hapus Buku', 'status' => '0', 'ref' => $hapusbuku->nomor_pinjaman ]; - $is_approval = Approval::where('menu', 'Data Hapus Buku') + $is_approval = Approval::where('menu', 'Hapus Buku') ->where('ref', $hapusbuku->nomor_pinjaman) ->where('status', '0') ->where('method', 'delete')