From d049739b64349dbedb2858dac96053e1104b3b93 Mon Sep 17 00:00:00 2001 From: daengdeni Date: Fri, 15 Dec 2023 13:41:12 +0700 Subject: [PATCH] update detail jaminan --- DataTables/DetailJaminanDataTable.php | 5 +- Entities/DetailJaminan.php | 2 + Http/Controllers/DetailJaminanController.php | 4 +- .../StoreDetailJaminanRequest.php | 16 ++++-- .../HapusBuku/StoreHapusBukuRequest.php | 1 - Livewire/DetailJaminan/DetailJaminanModal.php | 17 ++++-- .../detail-jaminan-modal.blade.php | 54 ++++++++++++++----- .../klaim-jamkrindo-modal.blade.php | 1 - .../detail_jaminan/_draw-scripts.js | 37 +++++++++++++ .../pencatatan/detail_jaminan/show.blade.php | 42 +++++---------- .../subrogasi_jamkrindo/index.blade.php | 1 + 11 files changed, 126 insertions(+), 54 deletions(-) create mode 100644 Resources/views/pencatatan/detail_jaminan/_draw-scripts.js diff --git a/DataTables/DetailJaminanDataTable.php b/DataTables/DetailJaminanDataTable.php index f8dadc6..103c0a1 100644 --- a/DataTables/DetailJaminanDataTable.php +++ b/DataTables/DetailJaminanDataTable.php @@ -27,7 +27,7 @@ $search = request()->get('search'); $query->where('nomor_pinjaman', 'like', "%" . $search['value'] . "%"); } - })->addColumn('jenis_jaminan', function ($row) { + })->addIndexColumn()->addColumn('jenis_jaminan', function ($row) { $guarantee = GuaranteeType::where('id', $row->guarantee_type_id)->first(); if ($guarantee) return $guarantee->kode . ' - ' . $guarantee->name; @@ -65,7 +65,8 @@ 'scrollX' => false, 'drawCallback' => 'function() { KTMenu.createInstances(); }', ]) - ->addTableClass('align-middle table-row-dashed fs-6 gy-5'); + ->addTableClass('align-middle table-row-dashed fs-6 gy-5') + ->drawCallback("function() {" . file_get_contents(Module::getModulePath('writeoff').'Resources/views/pencatatan/detail_jaminan/_draw-scripts.js') . "}"); } /** diff --git a/Entities/DetailJaminan.php b/Entities/DetailJaminan.php index 49e12bb..9ac7ece 100644 --- a/Entities/DetailJaminan.php +++ b/Entities/DetailJaminan.php @@ -8,7 +8,9 @@ class DetailJaminan extends BaseModel { protected $table = 'detail_jaminan'; + protected $fillable = [ + 'id_detail_jaminan', 'nomor_pinjaman', 'guarantee_type_id', 'nomor_jaminan', diff --git a/Http/Controllers/DetailJaminanController.php b/Http/Controllers/DetailJaminanController.php index 26aa771..8c85beb 100644 --- a/Http/Controllers/DetailJaminanController.php +++ b/Http/Controllers/DetailJaminanController.php @@ -7,6 +7,7 @@ use Illuminate\Support\Facades\Auth; use Modules\Writeoff\DataTables\BranchDataTable; use Modules\Writeoff\DataTables\DetailJaminanDataTable; + use Modules\Writeoff\Entities\Branch; use Modules\Writeoff\Entities\DetailJaminan; use Modules\Writeoff\Entities\HapusBuku; @@ -45,7 +46,8 @@ $hapusbuku = HapusBuku::where('nomor_pinjaman', $nomor_pinjaman)->first(); if($hapusbuku){ - return $dataTable->render('writeoff::pencatatan.detail_jaminan.show', compact('hapusbuku')); + $cabang = Branch::where('kode', $hapusbuku->kode_cabang)->first(); + return $dataTable->render('writeoff::pencatatan.detail_jaminan.show', compact('hapusbuku', 'cabang')); } else { return redirect()->route('pencatatan.detail_jaminan.index')->with('error', 'Nomor Pinjaman tidak ditemukan.'); } diff --git a/Http/Requests/DetailJaminan/StoreDetailJaminanRequest.php b/Http/Requests/DetailJaminan/StoreDetailJaminanRequest.php index 21e4d5a..4c5c678 100644 --- a/Http/Requests/DetailJaminan/StoreDetailJaminanRequest.php +++ b/Http/Requests/DetailJaminan/StoreDetailJaminanRequest.php @@ -28,11 +28,12 @@ : array { return [ - 'nomor_pinjaman' => 'required', + 'id_detail_jaminan' => 'nullable', + 'nomor_pinjaman' => 'nullable', 'guarantee_type_id' => 'required', - 'nomor_jaminan' => 'required', - 'nilai_jaminan' => 'required|numeric', - 'status' => 'required|boolean', + 'nomor_jaminan' => 'nullable', + 'nilai_jaminan' => 'nullable|numeric', + 'status' => 'nullable|boolean', ]; } @@ -40,4 +41,11 @@ { return $this->id; } + + protected function prepareForValidation() + { + $this->merge([ + 'id_detail_jaminan' => round(microtime(true) * 100) + ]); + } } diff --git a/Http/Requests/HapusBuku/StoreHapusBukuRequest.php b/Http/Requests/HapusBuku/StoreHapusBukuRequest.php index c21f060..4f24819 100644 --- a/Http/Requests/HapusBuku/StoreHapusBukuRequest.php +++ b/Http/Requests/HapusBuku/StoreHapusBukuRequest.php @@ -104,7 +104,6 @@ protected function prepareForValidation() : void { - $this->merge([ 'status' => $this->status=='on' ? 1 : 0, ]); diff --git a/Livewire/DetailJaminan/DetailJaminanModal.php b/Livewire/DetailJaminan/DetailJaminanModal.php index ec71cd0..0af8c39 100644 --- a/Livewire/DetailJaminan/DetailJaminanModal.php +++ b/Livewire/DetailJaminan/DetailJaminanModal.php @@ -2,23 +2,31 @@ namespace Modules\Writeoff\Livewire\DetailJaminan; + use Request; use Illuminate\Support\Facades\DB; use Livewire\Component; - use Modules\Writeoff\Entities\Branch; + use Modules\Writeoff\Entities\DetailJaminan; + use Modules\Writeoff\Entities\GuaranteeType; + use Modules\Writeoff\Entities\HapusBuku; use Modules\Writeoff\Http\Requests\DetailJaminan\StoreDetailJaminanRequest; class DetailJaminanModal extends Component { public $id; + public $id_detail_jaminan; public $nomor_pinjaman; public $guarantee_type_id; public $nomor_jaminan; public $nilai_jaminan; + public $pinjaman; public $status; public function render() { - return view('writeoff::livewire.detail-jaminan.detail-jaminan-modal'); + $this->pinjaman = request()->segment(3); + $this->nomor_pinjaman = $this->pinjaman; + $guarantee_types = GuaranteeType::all(); + return view('writeoff::livewire.detail-jaminan.detail-jaminan-modal', compact('guarantee_types')); } public function submit() @@ -29,6 +37,7 @@ DB::transaction(function () { // Prepare the data for creating a new user $data = [ + 'id_detail_jaminan' => round(microtime(true) * 100), 'nomor_pinjaman' => $this->nomor_pinjaman, 'guarantee_type_id' => $this->guarantee_type_id, 'nomor_jaminan' => $this->nomor_jaminan, @@ -36,8 +45,8 @@ 'status' => $this->status, ]; - Branch::create($data); - $this->dispatch('success', __('Data jamina berhasil ditambahkan')); + DetailJaminan::create($data); + $this->dispatch('success', __('Data Detail Jaminan berhasil ditambahkan')); }); // Reset the form fields after successful submission diff --git a/Resources/views/livewire/detail-jaminan/detail-jaminan-modal.blade.php b/Resources/views/livewire/detail-jaminan/detail-jaminan-modal.blade.php index 6995143..b1f8d8c 100644 --- a/Resources/views/livewire/detail-jaminan/detail-jaminan-modal.blade.php +++ b/Resources/views/livewire/detail-jaminan/detail-jaminan-modal.blade.php @@ -1,12 +1,12 @@ -