fix update hapus buku

This commit is contained in:
daengdeni 2024-03-20 17:04:39 +07:00
parent 7f79db3779
commit dda4b8ef28
7 changed files with 120 additions and 48 deletions

View File

@ -9,11 +9,13 @@
use Modules\Writeoff\DataTables\HapusBukuDataTable;
use Modules\Writeoff\Entities\Branch;
use Modules\Writeoff\Entities\Currency;
use Modules\Writeoff\Entities\DetailPembayaran;
use Modules\Writeoff\Entities\FacilityType;
use Modules\Writeoff\Entities\HapusBuku;
use Modules\Writeoff\Entities\LoanType;
use Modules\Writeoff\Entities\Rekening;
use Modules\Writeoff\Http\Requests\HapusBuku\StoreHapusBukuRequest;
use Modules\Writeoff\Http\Requests\HapusBuku\UpdateHapusBukuRequest;
class HapusBukuController extends Controller
{
@ -60,34 +62,55 @@
abort(403, 'Sorry !! You are Unauthorized to view any master data !');
}
$branch = Branch::all();
$loan_type = LoanType::all();
$facility_type = FacilityType::all();
$currency = Currency::all();
/*$totalbayar = DetailPembayaran::where('nomor_pinjaman', $request->rekening)
->where('status', 1)
->sum('nominal');*/
$totalbayar = 0;
$rekening = Rekening::with('loan_type', 'debitur', 'branch', 'currency')
->where('nomor_rekening', $request->rekening)
->whereDoesntHave('hapusBuku')
->whereHas('loan_type', function ($query) {
$query->whereBetween('kode', [3000, 3999]);
})
->get()
->first();
if($request->id) {
$hapusbuku = HapusBuku::find($request->id);
$totalbayar = DetailPembayaran::where('nomor_pinjaman', $hapusbuku->nomor_pinjaman)
->where('status', 1)
->sum('nominal');
$rekening = Rekening::with('loan_type', 'debitur', 'branch', 'currency')
->where('nomor_rekening', $hapusbuku->nomor_pinjaman)
->whereHas('loan_type', function ($query) {
$query->whereBetween('kode', [3000, 3999]);
})
->get()
->first();
return view('writeoff::pencatatan.hapus_buku.add', compact('branch', 'loan_type', 'facility_type', 'currency', 'rekening', 'totalbayar', 'hapusbuku'));
} else {
$rekening = Rekening::with('loan_type', 'debitur', 'branch', 'currency')
->where('nomor_rekening', $request->rekening)
->whereDoesntHave('hapusBuku')
->whereHas('loan_type', function ($query) {
$query->whereBetween('kode', [3000, 3999]);
})
->get()
->first();
return view('writeoff::pencatatan.hapus_buku.add', compact('branch', 'loan_type', 'facility_type', 'currency', 'rekening', 'totalbayar'));
}
return view('writeoff::pencatatan.hapus_buku.add', compact('branch', 'loan_type', 'facility_type', 'currency', 'rekening', 'totalbayar'));
}
public function edit($id)
{
return redirect()->route('pencatatan.hapus_buku.create', ['id' => $id]);
}
public function store(StoreHapusBukuRequest $request)
{
$validated = $request->validated();
if ($validated) {
try {
HapusBuku::create($validated);
@ -97,4 +120,19 @@
}
}
}
public function update(UpdateHapusBukuRequest $request,$id)
{
$validated = $request->validated();
if ($validated) {
try {
$hapusbuku = HapusBuku::find($id);
$hapusbuku->update($validated);
echo json_encode(['status' => 'success', 'message' => 'Hapus Buku Updated successfully.']);
} catch (Exception $e) {
echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
}
}
}
}

View File

@ -77,7 +77,6 @@
if ($validator->errors()->any()) {
$errors = json_decode($validator->errors()->toJson(), true);
foreach ($errors as $key => $value) {
flash($value[0]);
}

View File

@ -28,9 +28,9 @@
: array
{
return [
'nomor_pinjaman' => 'required|integer',
'kode_jenis_pinjaman' => 'required|integer',
'kode_debitur' => 'required|integer',
'nomor_pinjaman' => 'required|numeric',
'kode_jenis_pinjaman' => 'required|numeric',
'kode_debitur' => 'required|numeric',
'nama_debitur' => 'required|string',
'alamat_debitur' => 'nullable|string',
'npwp_debitur' => 'nullable|string',
@ -38,9 +38,9 @@
'kode_mata_uang' => 'required|string',
'tanggal_hapus_buku' => 'required|date',
'nomor_fasilitas' => 'required|string',
'kode_jenis_fasilitas' => 'required|integer',
'kode_jenis_fasilitas' => 'required|numeric',
'nilai_plafond_awal' => 'required|numeric',
'suku_bunga' => 'required|integer',
'suku_bunga' => 'required|numeric',
'baki_debet' => 'required|numeric',
'jumlah_bunga' => 'required|numeric',
'jumlah_kewajiban_lain' => 'nullable|numeric',
@ -53,7 +53,7 @@
'biaya_lain' => 'required|numeric',
'total_all_kewajiban' => 'nullable|numeric',
'memo_persetujuan' => 'nullable|string',
'lama_hari' => 'nullable|integer',
'lama_hari' => 'nullable|numeric',
'proses_hukum' => 'nullable|string',
'komitmen_debitur' => 'nullable|string',
'keterangan' => 'nullable|string',
@ -92,4 +92,12 @@
'messages' => 'Hapus Buku updated failed.'
], JsonResponse::HTTP_UNPROCESSABLE_ENTITY));
}
protected function prepareForValidation()
: void
{
$this->merge([
'status' => $this->status=='on' ? 1 : 0,
]);
}
}

View File

@ -67,8 +67,12 @@
$facility_type = FacilityType::all();
$currency = Currency::all();
if(request()->id){
$this->dispatch('update');
} else {
$this->dispatch('show');
}
$this->dispatch('show');
return view('writeoff::livewire.hapus-buku.hapus-buku-modal', compact('branch', 'loan_type', 'facility_type', 'currency'));
}
@ -222,6 +226,9 @@
$this->komitmen_debitur = $hapus_buku->komitmen_debitur;
$this->keterangan = $hapus_buku->keterangan;
$this->status = $hapus_buku->status == 1;
$this->rekening = $hapus_buku->nomor_pinjaman;
}
public function show()

View File

@ -6,7 +6,7 @@
<div class="menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-600 menu-state-bg-light-primary fw-semibold fs-7 w-125px py-4" data-kt-menu="true">
<!--begin::Menu item-->
<div class="menu-item px-3">
<a href="#" class="menu-link px-3" data-kt-id="{{ $hapus_buku->id }}" data-bs-toggle="modal" data-bs-target="#kt_modal_add_hapus_buku" data-kt-action="update_row">
<a href="{{ route('pencatatan.hapus_buku.edit',$hapus_buku->id) }}" class="menu-link px-3" data-kt-id="{{ $hapus_buku->id }}" data-kt-action="update_row">
Edit
</a>
</div>

View File

@ -22,8 +22,18 @@
<!--begin::Card body-->
<div class="card-body py-4">
<!--begin::Form-->
<form id="kt_modal_add_hapus_buku_form" class="form" action="{{ route('pencatatan.hapus_buku.store') }}" method="POST">
@csrf
@if(isset($hapusbuku))
<form id="kt_modal_add_hapus_buku_form" class="form" action="{{ route('pencatatan.hapus_buku.update',$hapusbuku->id) }}" method="POST">
@method('PUT')
@csrf
<input type="hidden" name="id" value="{{ $hapusbuku->id }}">
@else
<form id="kt_modal_add_hapus_buku_form" class="form" action="{{ route('pencatatan.hapus_buku.store') }}" method="POST">
@csrf
@endif
<!--begin::Scroll-->
<input type="hidden" id="total_pembayaran" name="total_pembayaran" value="{{ $totalbayar }}">
<div class="d-flex flex-column px-5 px-lg-10">
@ -157,7 +167,7 @@
<label class="required fw-semibold fs-6 mb-2">Tanggal Hapus Buku</label>
<!--end::Label-->
<!--begin::Input-->
<input type="date" id="tanggal_hapus_buku" name="tanggal_hapus_buku" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Tanggal Hapus Buku" max="{{ Carbon::now()->format('Y-m-d') }}"/>
<input type="date" id="tanggal_hapus_buku" name="tanggal_hapus_buku" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Tanggal Hapus Buku" max="{{ Carbon::now()->format('Y-m-d') }}" value="{{ $hapusbuku->tanggal_hapus_buku ?? "" }}" />
<!--end::Input-->
@error('tanggal_hapus_buku')
<span class="text-danger">{{ $message }}</span> @enderror
@ -166,7 +176,7 @@
<label class="fw-semibold fs-6 mb-2">Lama Hari</label>
<!--end::Label-->
<!--begin::Input-->
<input type="number" id="lama_hari" readonly name="lama_hari" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Lama Hari"/>
<input type="number" id="lama_hari" readonly name="lama_hari" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Lama Hari" value="{{ $hapusbuku->lama_hari ?? "" }}"/>
<!--end::Input-->
@error('lama_hari')
<span class="text-danger">{{ $message }}</span> @enderror
@ -180,7 +190,7 @@
<label class="required fw-semibold fs-6 mb-2">Nomor Fasilitas</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" name="nomor_fasilitas" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Nomor Fasilitas"/>
<input type="text" name="nomor_fasilitas" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Nomor Fasilitas" value="{{ $hapusbuku->nomor_fasilitas ?? "" }}"/>
<!--end::Input-->
@error('nomor_fasilitas')
<span class="text-danger">{{ $message }}</span> @enderror
@ -193,7 +203,11 @@
<select name="kode_jenis_fasilitas" data-control="select2" data-placeholder="Pilih Jenis Fasilitas" class="form-control form-control-solid mb-3 mb-lg-0">
<option value="">Jenis Fasilitas</option>
@foreach($facility_type as $item)
<option value="{{ $item->kode }}">{{ $item->kode }} - {{ $item->name }}</option>
@php $selected = ''; @endphp
@if($item->kode == $hapusbuku->kode_jenis_fasilitas)
@php $selected = 'selected'; @endphp
@endif
<option value="{{ $item->kode }}" {{ $selected }}>{{ $item->kode }} - {{ $item->name }}</option>
@endforeach
</select>
<!--end::Input-->
@ -209,7 +223,7 @@
<label class="required fw-semibold fs-6 mb-2">Nilai Plafond Awal</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" data-inputmask="'alias': 'currency'" id="nilai_plafond_awal" name="nilai_plafond_awal" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Nilai Plafond Awal"/>
<input type="text" data-inputmask="'alias': 'currency'" id="nilai_plafond_awal" name="nilai_plafond_awal" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Nilai Plafond Awal" value="{{ $hapusbuku->nilai_plafond_awal ?? "" }}"/>
<!--end::Input-->
@error('nilai_plafond_awal')
<span class="text-danger">{{ $message }}</span> @enderror
@ -218,7 +232,7 @@
<label class="fw-semibold fs-6 mb-2">Suku Bunga</label>
<!--end::Label-->
<!--begin::Input-->
<input type="number" id="suku_bunga" name="suku_bunga" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Suku Bunga"/>
<input type="number" id="suku_bunga" name="suku_bunga" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Suku Bunga" value="{{ $hapusbuku->suku_bunga ?? "" }}"/>
<!--end::Input-->
@error('suku_bunga')
<span class="text-danger">{{ $message }}</span> @enderror
@ -233,7 +247,7 @@
<label class="required fw-semibold fs-6 mb-2">Baki Debet</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" data-inputmask="'alias': 'currency'" id="baki_debet" name="baki_debet" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Baki Debet"/>
<input type="text" data-inputmask="'alias': 'currency'" id="baki_debet" name="baki_debet" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Baki Debet" value="{{ $hapusbuku->baki_debet ?? "" }}"/>
<!--end::Input-->
@error('baki_debet')
<span class="text-danger">{{ $message }}</span> @enderror
@ -242,7 +256,7 @@
<label class="fw-semibold fs-6 mb-2">Jumlah Bunga</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" data-inputmask="'alias': 'currency'" id="jumlah_bunga" name="jumlah_bunga" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Jumlah Bunga"/>
<input type="text" data-inputmask="'alias': 'currency'" id="jumlah_bunga" name="jumlah_bunga" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Jumlah Bunga" value="{{ $hapusbuku->jumlah_bunga ?? "" }}"/>
<!--end::Input-->
@error('jumlah_bunga')
<span class="text-danger">{{ $message }}</span> @enderror
@ -256,7 +270,7 @@
<label class="required fw-semibold fs-6 mb-2">Kewajiban Lain</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" data-inputmask="'alias': 'currency'" id="jumlah_kewajiban_lain" name="jumlah_kewajiban_lain" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Kewajiban Lain"/>
<input type="text" data-inputmask="'alias': 'currency'" id="jumlah_kewajiban_lain" name="jumlah_kewajiban_lain" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Kewajiban Lain" value="{{ $hapusbuku->jumlah_kewajiban_lain ?? "" }}"/>
<!--end::Input-->
@error('jumlah_kewajiban_lain')
<span class="text-danger">{{ $message }}</span> @enderror
@ -265,7 +279,7 @@
<label class="fw-semibold fs-6 mb-2">Total Kewajiban</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" data-inputmask="'alias': 'currency'" id="total_kewajiban" readonly name="total_kewajiban" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Total Kewajiban"/>
<input type="text" data-inputmask="'alias': 'currency'" id="total_kewajiban" readonly name="total_kewajiban" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Total Kewajiban" value="{{ $hapusbuku->total_kewajiban ?? "" }}"/>
<!--end::Input-->
@error('total_kewajiban')
<span class="text-danger">{{ $message }}</span> @enderror
@ -279,7 +293,7 @@
<label class="required fw-semibold fs-6 mb-2">Total Bunga ekstra</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" data-inputmask="'alias': 'currency'" id="total_bunga_extra" readonly name="total_bunga_extra" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Total Bunga ekstra"/>
<input type="text" data-inputmask="'alias': 'currency'" id="total_bunga_extra" readonly name="total_bunga_extra" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Total Bunga ekstra" value="{{ $hapusbuku->total_bunga_extra ?? "" }}"/>
<!--end::Input-->
@error('total_bunga_extra')
<span class="text-danger">{{ $message }}</span> @enderror
@ -288,7 +302,7 @@
<label class="fw-semibold fs-6 mb-2">Denda</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" data-inputmask="'alias': 'currency'" id="bunga_ekstra" readonly name="bunga_ekstra" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Denda"/>
<input type="text" data-inputmask="'alias': 'currency'" id="bunga_ekstra" readonly name="bunga_ekstra" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Denda" value="{{ $hapusbuku->bunga_ekstra ?? "" }}"/>
<!--end::Input-->
@error('bunga_ekstra')
<span class="text-danger">{{ $message }}</span> @enderror
@ -302,7 +316,7 @@
<label class="fw-semibold fs-6 mb-2">Amount Due</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" data-inputmask="'alias': 'currency'" id="total_bunga_non_ekstra" readonly name="bunga_non_ekstra" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Amount Due"/>
<input type="text" data-inputmask="'alias': 'currency'" id="total_bunga_non_ekstra" readonly name="bunga_non_ekstra" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Amount Due" value="{{ $hapusbuku->bunga_non_ekstra ?? "" }}"/>
<!--end::Input-->
@error('bunga_non_ekstra')
<span class="text-danger">{{ $message }}</span> @enderror
@ -311,7 +325,7 @@
<label class="fw-semibold fs-6 mb-2">Tagihan Lainnya</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" data-inputmask="'alias': 'currency'" id="denda" name="denda" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Tagihan Lainnya"/>
<input type="text" data-inputmask="'alias': 'currency'" id="denda" name="denda" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Tagihan Lainnya" value="{{ $hapusbuku->denda ?? "" }}"/>
<!--end::Input-->
@error('denda')
<span class="text-danger">{{ $message }}</span> @enderror
@ -325,7 +339,7 @@
<label class="required fw-semibold fs-6 mb-2">Bunga Berjalan</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" data-inputmask="'alias': 'currency'" id="tagihan_lain" name="tagihan_lain" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Bunga Berjalan"/>
<input type="text" data-inputmask="'alias': 'currency'" id="tagihan_lain" name="tagihan_lain" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Bunga Berjalan" value="{{ $hapusbuku->tagihan_lain ?? "" }}"/>
<!--end::Input-->
@error('tagihan_lain')
<span class="text-danger">{{ $message }}</span> @enderror
@ -334,7 +348,7 @@
<label class="fw-semibold fs-6 mb-2">Biaya Lain</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" data-inputmask="'alias': 'currency'" id="biaya_lain" name="biaya_lain" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Biaya Lain"/>
<input type="text" data-inputmask="'alias': 'currency'" id="biaya_lain" name="biaya_lain" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Biaya Lain" value="{{ $hapusbuku->biaya_lain ?? "" }}"/>
<!--end::Input-->
@error('biaya_lain')
<span class="text-danger">{{ $message }}</span> @enderror
@ -348,7 +362,7 @@
<label class="required fw-semibold fs-6 mb-2">Total Seluruh Kewajiban</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" data-inputmask="'alias': 'currency'" readonly id="total_all_kewajiban" name="total_all_kewajiban" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Total Seluruh Kewajiban"/>
<input type="text" data-inputmask="'alias': 'currency'" readonly id="total_all_kewajiban" name="total_all_kewajiban" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Total Seluruh Kewajiban" value="{{ $hapusbuku->total_all_kewajiban ?? "" }}"/>
<!--end::Input-->
@error('total_all_kewajiban')
<span class="text-danger">{{ $message }}</span> @enderror
@ -357,7 +371,7 @@
<label class="fw-semibold fs-6 mb-2">Memo Persetujuaan</label>
<!--end::Label-->
<!--begin::Input-->
<input type="text" id="memo_persetujuan" name="memo_persetujuan" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Memo Persetujuaan"/>
<input type="text" id="memo_persetujuan" name="memo_persetujuan" class="form-control form-control-solid mb-3 mb-lg-0" placeholder="Memo Persetujuaan" value="{{ $hapusbuku->memo_persetujuan ?? "" }}"/>
<!--end::Input-->
@error('memo_persetujuan')
<span class="text-danger">{{ $message }}</span> @enderror
@ -372,8 +386,8 @@
<!--end::Label-->
<!--begin::Input-->
<select id="keterangan" name="keterangan" data-control="select2" data-placeholder="Pilih Keterangan" class="form-control form-control-solid mb-3 mb-lg-0">
<option value="write-off">Write-Off</option>
<option value="ayda">AYDA</option>
<option value="write-off" @if($hapusbuku->keterangan=="write-off") {{ "$selected" }} @endif>Write-Off</option>
<option value="ayda" @if($hapusbuku->keterangan=="ayda") {{ "$selected" }} @endif>AYDA</option>
</select>
<!--end::Input-->
@error('keterangan')
@ -382,7 +396,7 @@
<!--end::Input group-->
<div class="fv-row mb-7"><label class="fw-semibold fs-6 mb-2">Status Data</label>
<div class="form-check form-switch form-check-custom form-check-solid" style="display: block!important;">
<input class="form-check-input h-20px w-30px me-5" type="checkbox" value="1" id="status" name="status"/>
<input class="form-check-input h-20px w-30px me-5" type="checkbox" @if($hapusbuku->status==1) {{ "checked" }}@endif value="1" id="status" name="status"/>
<label class="form-check-label" for="status">
Aktif
</label>
@ -426,9 +440,12 @@
var form = $(this);
var actionUrl = form.attr('action');
var _method = "POST";
@if(isset($hapusbuku))
_method = "PUT";
@endif
$.ajax({
type: "POST",
type: _method,
url: actionUrl,
data: form.serialize(),
success: function (data) {

View File

@ -28,6 +28,9 @@
Route::name('pencatatan.')->prefix('pencatatan')->group(function() {
Route::get('hapus-buku', 'HapusBukuController@index')->name('hapus_buku.index');
Route::post('hapus-buku', 'HapusBukuController@store')->name('hapus_buku.store');
Route::put('hapus-buku/{id}', 'HapusBukuController@update')->name('hapus_buku.update');
Route::get('hapus-buku/{id}', 'HapusBukuController@edit')->name('hapus_buku.edit');
Route::get('create-hapus-buku', 'HapusBukuController@create')->name('hapus_buku.create');
Route::get('klaim-jamkrindo', 'KlaimJamkrindoController@index')->name('klaim_jamkrindo.index');
Route::get('subrogasi-jamkrindo', 'SubrogasiJamkrindoController@index')->name('subrogasi_jamkrindo.index');