update hapus buku

This commit is contained in:
daengdeni 2023-12-08 16:56:25 +07:00
parent 9d88074dd8
commit 592de60e04
9 changed files with 303 additions and 57 deletions

View File

@ -40,4 +40,9 @@
return $this->belongsTo(Currency::class); return $this->belongsTo(Currency::class);
} }
public function hapusBuku()
{
return $this->hasOne(HapusBuku::class,'nomor_pinjaman','nomor_rekening');
}
} }

View File

@ -32,6 +32,27 @@
abort(403, 'Sorry !! You are Unauthorized to view any master data !'); abort(403, 'Sorry !! You are Unauthorized to view any master data !');
} }
return $dataTable->render('writeoff::pencatatan.hapus_buku.index'); if($request->rekening){
$this->dispatch('show', $request->rekening);
return $dataTable->render('writeoff::pencatatan.hapus_buku.add', ['add' => true]);
}else{
return $dataTable->render('writeoff::pencatatan.hapus_buku.index', ['add' => false]);
}
}
/**
* Display a listing of the SubrogasiJamkrindos.
*
* @param \Modules\Writeoff\DataTables\HapusBukuDataTable $dataTable
*
* @return mixed
*/
public function create(HapusBukuDataTable $dataTable, Request $request)
{
if (is_null($this->user) || !$this->user->can('master.read')) {
abort(403, 'Sorry !! You are Unauthorized to view any master data !');
}
return $dataTable->render('writeoff::pencatatan.hapus_buku.add');
} }
} }

View File

@ -53,73 +53,91 @@
protected $listeners = [ protected $listeners = [
'delete' => 'delete', 'delete' => 'delete',
'update' => 'update', 'update' => 'update',
'show' => 'show'
]; ];
public function render() public function render($rekenings = null)
{ {
$rekening='';
if($rekenings) {
$rekening = $rekenings->first();
}
$branch = Branch::all(); $branch = Branch::all();
$loan_type = LoanType::all(); $loan_type = LoanType::all();
$facility_type = FacilityType::all(); $facility_type = FacilityType::all();
$currency = Currency::all(); $currency = Currency::all();
return view('writeoff::livewire.hapus-buku.hapus-buku-modal', compact('branch', 'loan_type', 'facility_type', 'currency')); return view('writeoff::livewire.hapus-buku.hapus-buku-modal', compact('branch', 'loan_type', 'facility_type', 'currency','rekening'));
} }
public function submit() public function submit()
{ {
$this->validate(); if($this->action=="continue"){
$this->addError('nomor_pinjaman', 'Debitur Tidak Ditemukan');
}else {
// Validate the form input data $this->validate();
DB::transaction(function () {
// Prepare the data for creating a new user
$data = [
'nomor_pinjaman' => $this->nomor_pinjaman,
'kode_jenis_pinjaman' => $this->kode_jenis_pinjaman,
'kode_debitur' => $this->kode_debitur,
'nama_debitur' => $this->nama_debitur,
'alamat_debitur' => $this->alamat_debitur,
'npwp_debitur' => $this->npwp_debitur,
'kode_cabang' => $this->kode_cabang,
'kode_mata_uang' => $this->kode_mata_uang,
'tanggal_hapus_buku' => $this->tanggal_hapus_buku,
'nomor_fasilitas' => $this->nomor_fasilitas,
'kode_jenis_fasilitas' => $this->kode_jenis_fasilitas,
'nilai_plafond_awal' => $this->nilai_plafond_awal,
'suku_bunga' => $this->suku_bunga,
'baki_debet' => $this->baki_debet,
'jumlah_bunga' => $this->jumlah_bunga,
'jumlah_kewajiban_lain' => $this->jumlah_kewajiban_lain,
'total_kewajiban' => $this->total_kewajiban,
'total_bunga_extra' => $this->total_bunga_extra,
'bunga_ekstra' => $this->bunga_ekstra,
'bunga_non_ekstra' => $this->bunga_non_ekstra,
'denda' => $this->denda,
'tagihan_lain' => $this->tagihan_lain,
'biaya_lain' => $this->biaya_lain,
'total_all_kewajiban' => $this->total_all_kewajiban,
'memo_persetujuan' => $this->memo_persetujuan,
'lama_hari' => $this->lama_hari,
'proses_hukum' => $this->proses_hukum,
'komitmen_debitur' => $this->komitmen_debitur,
'keterangan' => $this->keterangan,
'status' => $this->status
];
if ($this->edit_mode) { // Validate the form input data
// Emit a success event with a message DB::transaction(function () {
$hapus_buku = HapusBuku::find($this->id); // Prepare the data for creating a new user
$hapus_buku->update($data); $data = [
'nomor_pinjaman' => $this->nomor_pinjaman,
'kode_jenis_pinjaman' => $this->kode_jenis_pinjaman,
'kode_debitur' => $this->kode_debitur,
'nama_debitur' => $this->nama_debitur,
'alamat_debitur' => $this->alamat_debitur,
'npwp_debitur' => $this->npwp_debitur,
'kode_cabang' => $this->kode_cabang,
'kode_mata_uang' => $this->kode_mata_uang,
'tanggal_hapus_buku' => $this->tanggal_hapus_buku,
'nomor_fasilitas' => $this->nomor_fasilitas,
'kode_jenis_fasilitas' => $this->kode_jenis_fasilitas,
'nilai_plafond_awal' => $this->nilai_plafond_awal,
'suku_bunga' => $this->suku_bunga,
'baki_debet' => $this->baki_debet,
'jumlah_bunga' => $this->jumlah_bunga,
'jumlah_kewajiban_lain' => $this->jumlah_kewajiban_lain,
'total_kewajiban' => $this->total_kewajiban,
'total_bunga_extra' => $this->total_bunga_extra,
'bunga_ekstra' => $this->bunga_ekstra,
'bunga_non_ekstra' => $this->bunga_non_ekstra,
'denda' => $this->denda,
'tagihan_lain' => $this->tagihan_lain,
'biaya_lain' => $this->biaya_lain,
'total_all_kewajiban' => $this->total_all_kewajiban,
'memo_persetujuan' => $this->memo_persetujuan,
'lama_hari' => $this->lama_hari,
'proses_hukum' => $this->proses_hukum,
'komitmen_debitur' => $this->komitmen_debitur,
'keterangan' => $this->keterangan,
'status' => $this->status
];
$this->dispatch('success', __('Hapus Buku updated')); if ($this->edit_mode) {
} else { // Emit a success event with a message
// Emit a success event with a message $hapus_buku = HapusBuku::find($this->id);
HapusBuku::create($data); $hapus_buku->update($data);
$this->dispatch('success', __('New Hapus Buku created'));
}
});
// Reset the form fields after successful submission $this->dispatch('success', __('Hapus Buku updated'));
//$this->reset(); } else {
// Emit a success event with a message
HapusBuku::create($data);
$this->dispatch('success', __('New Hapus Buku created'));
}
});
// Reset the form fields after successful submission
//$this->reset();
}
}
public function show($rekening)
{
$rekening = json_decode($rekening);
$this->nomor_pinjaman = $rekening->nomor_rekening;
} }

View File

@ -0,0 +1,42 @@
<?php
namespace Modules\Writeoff\Livewire\HapusBuku;
use Livewire\Component;
use Modules\Writeoff\Entities\Rekening;
class NomorPinjamanModal extends Component
{
public $nomor_pinjaman;
public function render()
{
return view('writeoff::livewire.hapus-buku.nomor-pinjaman-modal');
}
public function submit()
{
$this->validate([
'nomor_pinjaman' => 'required',
]);
$rekenings = Rekening::with('product', 'debitur')
->where('nomor_rekening', $this->nomor_pinjaman)
->whereDoesntHave('hapusBuku')
->whereHas('product', function ($query) {
$query->whereBetween('kode', [3000, 3999]);
})
->get()->first();
if ($rekenings->count() > 0) {
$this->dispatch('show', json_encode($rekenings));
$this->dispatch('success', __('Nomor Pinjaman ditemukan'));
$this->redirect(route('pencatatan.hapus_buku.index', ['rekening' => json_encode($rekenings)]));
} else {
$this->addError('nomor_pinjaman', 'Nomor Pinjaman Salah Atau Nomor Pinjaman sudah terdaftar');
}
//$this->dispatch('showHapusBuku');
}
}

View File

@ -120,7 +120,7 @@
<label class="required fw-semibold fs-6 mb-2">Mata Uang</label> <label class="required fw-semibold fs-6 mb-2">Mata Uang</label>
<!--end::Label--> <!--end::Label-->
<!--begin::Input--> <!--begin::Input-->
<select wire:model.defer="kode_mata_uang" name="kode_mata_uang" data-control="select2" data-dropdown-parent="#kt_modal_add_hapus_buku" data-placeholder="Pilih Mata Uang" class="form-control form-control-solid mb-3 mb-lg-0"> <select wire:model.defer="kode_mata_uang" name="kode_mata_uang" id="kode_mata_uang" data-control="select2" data-dropdown-parent="#kt_modal_nomor_pinjaman" data-placeholder="Pilih Mata Uang" class="form-control form-control-solid mb-3 mb-lg-0">
<option value="">Mata Uang</option> <option value="">Mata Uang</option>
@foreach($currency as $item) @foreach($currency as $item)
<option value="{{ $item->kode }}">{{ $item->kode }} - {{ $item->name }}</option> <option value="{{ $item->kode }}">{{ $item->kode }} - {{ $item->name }}</option>
@ -354,7 +354,7 @@
<label class="fw-semibold fs-6 mb-2">Keterangan</label> <label class="fw-semibold fs-6 mb-2">Keterangan</label>
<!--end::Label--> <!--end::Label-->
<!--begin::Input--> <!--begin::Input-->
<select wire:model.defer="keterangan" name="keterangan" data-control="select2" data-dropdown-parent="#kt_modal_add_hapus_buku" data-placeholder="Pilih Keterangan" class="form-control form-control-solid mb-3 mb-lg-0"> <select wire:model.defer="keterangan" name="keterangan" data-control="select2" data-dropdown-parent="#kt_modal_add_hapus_buku" data-placeholder="Pilih Keterangan" class="form-control form-control-solid mb-3 mb-lg-0">
<option value="write-off">Write-Off</option> <option value="write-off">Write-Off</option>
<option value="ayda">AYDA</option> <option value="ayda">AYDA</option>
</select> </select>

View File

@ -0,0 +1,60 @@
<div class="modal fade" id="kt_modal_nomor_pinjaman" tabindex="1" aria-hidden="true" wire:ignore.self>
<!--begin::Modal dialog-->
<div class="modal-dialog modal-dialog-centered mw-650px">
<!--begin::Modal content-->
<div class="modal-content">
<!--begin::Modal header-->
<div class="modal-header" id="kt_modal_nomor_pinjaman_header">
<!--begin::Modal title-->
<h2 class="fw-bold">Add Cabang</h2>
<!--end::Modal title-->
<!--begin::Close-->
<div class="btn btn-icon btn-sm btn-active-icon-primary" data-bs-dismiss="modal" aria-label="Close">
{!! getIcon('cross','fs-1') !!}
</div>
<!--end::Close-->
</div>
<!--end::Modal header-->
<!--begin::Modal body-->
<div class="modal-body px-5 my-7">
<!--begin::Form-->
<form id="kt_modal_nomor_pinjaman_form" class="form" action="#" wire:submit.prevent="submit">
<!--begin::Scroll-->
<div class="d-flex flex-column scroll-y px-5 px-lg-10" id="kt_modal_nomor_pinjaman_scroll" data-kt-scroll="true" data-kt-scroll-activate="true" data-kt-scroll-max-height="auto" data-kt-scroll-dependencies="#kt_modal_nomor_pinjaman_header" data-kt-scroll-wrappers="#kt_modal_nomor_pinjaman_scroll" data-kt-scroll-offset="300px">
<!--begin::Input group-->
<div class="fv-row mb-7">
<!--begin::Label-->
<label class="required fw-semibold fs-6 mb-2">Nomor Pinjaman</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" wire:model.defer="nomor_pinjaman" name="nomor_pinjaman" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Kode Cabang"/>
<!--end::Input-->
@error('nomor_pinjaman')
<span class="text-danger">{{ $message }}</span> @enderror
</div>
<!--end::Input group-->
</div>
<!--end::Scroll-->
<!--begin::Actions-->
<div class="text-center pt-15">
<button type="reset" class="btn btn-light me-3" data-bs-dismiss="modal" aria-label="Close" wire:loading.attr="disabled">Discard</button>
<button type="submit" name="action" value="continue" class="btn btn-primary" data-kt-branches-modal-action="submit">
<span class="indicator-label" wire:loading.remove>Submit</span>
<span class="indicator-progress" wire:loading wire:target="submit">
Please wait...
<span class="spinner-border spinner-border-sm align-middle ms-2"></span>
</span>
</button>
</div>
<!--end::Actions-->
</form>
<!--end::Form-->
</div>
<!--end::Modal body-->
</div>
<!--end::Modal content-->
</div>
<!--end::Modal dialog-->
</div>

View File

@ -0,0 +1,90 @@
<x-default-layout>
@section('title')
Data Hapus Buku dan AYDA
@endsection
@section('breadcrumbs')
{{ Breadcrumbs::render('pencatatan.hapus-buku') }}
@endsection
<div class="card">
<!--begin::Card header-->
<div class="card-header border-0 pt-6">
<!--begin::Card title-->
<div class="card-title">
<!--begin::Search-->
<div class="d-flex align-items-center position-relative my-1">
{!! getIcon('magnifier', 'fs-3 position-absolute ms-5') !!}
<input type="text" data-kt-hapus_buku-table-filter="search" class="form-control form-control-solid w-250px ps-13" placeholder="Search hapus buku" id="mySearchInput"/>
</div>
<!--end::Search-->
</div>
<!--begin::Card title-->
<!--begin::Card toolbar-->
<div class="card-toolbar">
<!--begin::Toolbar-->
<div class="d-flex justify-content-end" data-kt-hapus_buku-table-toolbar="base">
<!--begin::Add hapus_buku-->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#kt_modal_hapus_buku">
{!! getIcon('plus', 'fs-2', '', 'i') !!}
Add Hapus Buku
</button>
<!--end::Add hapus_buku-->
</div>
<!--end::Toolbar-->
<!--begin::Modal-->
<livewire:writeoff::hapus-buku.hapus-buku-modal/>
<!--end::Modal-->
</div>
<!--end::Card toolbar-->
</div>
<!--end::Card header-->
<!--begin::Card body-->
<div class="card-body py-4">
<!--begin::Table-->
<div class="table-responsive">
{{ $dataTable->table() }}
</div>
<!--end::Table-->
</div>
<!--end::Card body-->
</div>
@push('scripts')
{{ $dataTable->scripts() }}
<script>
document.getElementById('mySearchInput').addEventListener('keyup', function () {
window.LaravelDataTables['hapus-buku-table'].search(this.value).draw();
});
document.addEventListener('livewire:initialized', function () {
Livewire.on('success', function () {
$('#kt_modal_add_hapus_buku').modal('show');
window.LaravelDataTables['hapus-buku-table'].ajax.reload();
});
});
Inputmask.extendAliases({
'currency': {
autoUnmask: true,
allowPlus: true,
allowMinus: true,
}
});
$(function(){
$('#kt_modal_add_hapus_buku').on('hidden.bs.modal', function () {
$(this).find('form').trigger('reset');
})
});
window.addEventListener('show', event => {
$('#kt_modal_add_hapus_buku').modal('show');
})
</script>
@endpush
</x-default-layout>

View File

@ -27,7 +27,7 @@
<!--begin::Toolbar--> <!--begin::Toolbar-->
<div class="d-flex justify-content-end" data-kt-hapus_buku-table-toolbar="base"> <div class="d-flex justify-content-end" data-kt-hapus_buku-table-toolbar="base">
<!--begin::Add hapus_buku--> <!--begin::Add hapus_buku-->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#kt_modal_add_hapus_buku"> <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#kt_modal_nomor_pinjaman">
{!! getIcon('plus', 'fs-2', '', 'i') !!} {!! getIcon('plus', 'fs-2', '', 'i') !!}
Add Hapus Buku Add Hapus Buku
</button> </button>
@ -36,8 +36,12 @@
<!--end::Toolbar--> <!--end::Toolbar-->
<!--begin::Modal--> <!--begin::Modal-->
<livewire:writeoff::hapus-buku.hapus-buku-modal/> @if(!$add)
<livewire:writeoff::hapus-buku.nomor-pinjaman-modal/>
<!--end::Modal--> <!--end::Modal-->
@else
<livewire:writeoff::hapus-buku.hapus-buku-modal/>
@endif
</div> </div>
<!--end::Card toolbar--> <!--end::Card toolbar-->
</div> </div>
@ -62,7 +66,8 @@
}); });
document.addEventListener('livewire:initialized', function () { document.addEventListener('livewire:initialized', function () {
Livewire.on('success', function () { Livewire.on('success', function () {
$('#kt_modal_add_hapus_buku').modal('hide'); $('#kt_modal_add_hapus_buku').modal('show');
$('#kt_modal_nomor_pinjaman').modal('hide');
window.LaravelDataTables['hapus-buku-table'].ajax.reload(); window.LaravelDataTables['hapus-buku-table'].ajax.reload();
}); });
}); });
@ -80,6 +85,10 @@
$(this).find('form').trigger('reset'); $(this).find('form').trigger('reset');
}) })
}); });
window.addEventListener('show', event => {
$('#kt_modal_add_hapus_buku').modal('show');
})
</script> </script>
@endpush @endpush

View File

@ -24,6 +24,7 @@ Route::name('parameter.')->prefix('parameter')->group(function() {
Route::name('pencatatan.')->prefix('pencatatan')->group(function() { Route::name('pencatatan.')->prefix('pencatatan')->group(function() {
Route::get('hapus-buku', 'HapusBukuController@index')->name('hapus_buku.index'); Route::get('hapus-buku', 'HapusBukuController@index')->name('hapus_buku.index');
Route::get('create-hapus-buku', 'HapusBukuController@create')->name('hapus_buku.create');
Route::get('klaim-jamkrindo', 'KlaimJamkrindoController@index')->name('klaim_jamkrindo.index'); Route::get('klaim-jamkrindo', 'KlaimJamkrindoController@index')->name('klaim_jamkrindo.index');
Route::get('subrogasi-jamkrindo', 'SubrogasiJamkrindoController@index')->name('subrogasi_jamkrindo.index'); Route::get('subrogasi-jamkrindo', 'SubrogasiJamkrindoController@index')->name('subrogasi_jamkrindo.index');
}); });