Compare commits

..

No commits in common. "9ecdaa0cddafa924a69c38a4c057b470f1217d66" and "dadec5a397588785b876563112c11282e34b821e" have entirely different histories.

14 changed files with 61 additions and 228 deletions

View File

@ -28,8 +28,6 @@
$row->branch->name, $row->branch->name,
$row->tujuanPenilaian->name, $row->tujuanPenilaian->name,
$row->debiture->name, $row->debiture->name,
$row->fasilitasKredit->name,
$row->plafond->name,
$row->status, $row->status,
$row->authorized_at, $row->authorized_at,
$row->authorized_status, $row->authorized_status,
@ -49,9 +47,7 @@
'Branch Pemohon', 'Branch Pemohon',
'Tujuan Penilaian', 'Tujuan Penilaian',
'Debitur', 'Debitur',
'Jenis Fasilitas Kredit', 'Status',
'Nilai Plafond',
'Status Permohonan',
'Tanggal Pengesahan', 'Tanggal Pengesahan',
'Status Pengesahan', 'Status Pengesahan',
'Pengesah', 'Pengesah',
@ -65,8 +61,7 @@
return [ return [
'A' => NumberFormat::FORMAT_NUMBER, 'A' => NumberFormat::FORMAT_NUMBER,
'C' => NumberFormat::FORMAT_DATE_DATETIME, 'C' => NumberFormat::FORMAT_DATE_DATETIME,
'K' => NumberFormat::FORMAT_DATE_DATETIME, 'L' => NumberFormat::FORMAT_DATE_DATETIME
'N' => NumberFormat::FORMAT_DATE_DATETIME
]; ];
} }
} }

View File

@ -71,7 +71,6 @@
public function update(DebitureRequest $request, $id) public function update(DebitureRequest $request, $id)
{ {
//print_r($request->all());exit;
$validate = $request->validated(); $validate = $request->validated();
if ($validate) { if ($validate) {

View File

@ -15,8 +15,6 @@
use Modules\Lpj\Models\Branch; use Modules\Lpj\Models\Branch;
use Modules\Lpj\Models\Debiture; use Modules\Lpj\Models\Debiture;
use Modules\Lpj\Models\DokumenJaminan; use Modules\Lpj\Models\DokumenJaminan;
use Modules\Lpj\Models\JenisFasilitasKredit;
use Modules\Lpj\Models\NilaiPlafond;
use Modules\Lpj\Models\Permohonan; use Modules\Lpj\Models\Permohonan;
use Modules\Lpj\Models\StatusPermohonan; use Modules\Lpj\Models\StatusPermohonan;
use Modules\Lpj\Models\TujuanPenilaian; use Modules\Lpj\Models\TujuanPenilaian;
@ -32,8 +30,8 @@
public function store(PermohonanRequest $request) public function store(PermohonanRequest $request)
{ {
$validate = $request->validated(); $validate = $request->validated();
if ($validate) { if ($validate) {
try { try {
// Save to database // Save to database
@ -65,13 +63,8 @@
$debitur = Debiture::find($debitur); $debitur = Debiture::find($debitur);
$tujuanPenilaian = TujuanPenilaian::all(); $tujuanPenilaian = TujuanPenilaian::all();
$status = StatusPermohonan::all(); $status = StatusPermohonan::all();
$fasilitasKredit = JenisFasilitasKredit::all();
$plafond = NilaiPlafond::all();
return view( return view('lpj::permohonan.form', compact('branches', 'debitur', 'tujuanPenilaian', 'status'));
'lpj::permohonan.form',
compact('branches', 'debitur', 'tujuanPenilaian', 'status', 'fasilitasKredit', 'plafond'),
);
} }
public function edit($id) public function edit($id)
@ -87,9 +80,6 @@
$villages = Village::where('district_code', $debitur->district_code)->get(); $villages = Village::where('district_code', $debitur->district_code)->get();
$documents = DokumenJaminan::with('pemilik', 'detail')->where('debiture_id', $id)->get(); $documents = DokumenJaminan::with('pemilik', 'detail')->where('debiture_id', $id)->get();
$fasilitasKredit = JenisFasilitasKredit::all();
$plafond = NilaiPlafond::all();
return view( return view(
'lpj::permohonan.form', 'lpj::permohonan.form',
compact( compact(
@ -102,9 +92,7 @@
'cities', 'cities',
'districts', 'districts',
'villages', 'villages',
'documents', 'documents'
'fasilitasKredit',
'plafond',
), ),
); );
} }

View File

@ -3,7 +3,6 @@
namespace Modules\Lpj\Http\Requests; namespace Modules\Lpj\Http\Requests;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Modules\Lpj\Rules\UniqueCifExceptZero;
class DebitureRequest extends FormRequest class DebitureRequest extends FormRequest
{ {
@ -22,7 +21,7 @@
'nomor_rekening' => 'nullable|string|max:50', 'nomor_rekening' => 'nullable|string|max:50',
'name' => 'required', 'name' => 'required',
'registered_at' => 'nullable|date', 'registered_at' => 'nullable|date',
'npwp' => 'nullable|string|min:15|max:16', 'npwp' => 'nullable|string|max:16',
'email' => 'nullable|email', 'email' => 'nullable|email',
'phone' => 'nullable|string|max:15', 'phone' => 'nullable|string|max:15',
'address' => 'nullable|string', 'address' => 'nullable|string',
@ -30,10 +29,10 @@
'status' => 'nullable|boolean' 'status' => 'nullable|boolean'
]; ];
if($this->method() == 'PUT'){ if ($this->method() == 'PUT') {
$rules['cif'] = ['required', new UniqueCifExceptZero($this->id)]; $rules['cif'] = 'nullable|unique:debitures,cif,' . $this->id;
}else{ } else {
$rules['cif'] = ['required', new UniqueCifExceptZero(null)]; $rules['cif'] = 'nullable|unique:debitures,cif';
} }
return $rules; return $rules;

View File

@ -21,8 +21,6 @@
'tujuan_penilaian_id' => 'required|exists:tujuan_penilaian,id', 'tujuan_penilaian_id' => 'required|exists:tujuan_penilaian,id',
'debiture_id' => 'required|exists:debitures,id', 'debiture_id' => 'required|exists:debitures,id',
'status' => 'required|string', 'status' => 'required|string',
'jenis_fasilitas_kredit_id' => 'required|exists:jenis_fasilitas_kredit,id',
'nilai_plafond_id' => 'required|exists:nilai_plafond,id',
]; ];
return $rules; return $rules;

View File

@ -18,8 +18,6 @@ class Permohonan extends Base
'tujuan_penilaian_id', 'tujuan_penilaian_id',
'debiture_id', 'debiture_id',
'keterangan', 'keterangan',
'jenis_fasilitas_kredit_id',
'nilai_plafond_id',
'status', 'status',
'authorized_at', 'authorized_at',
'authorized_status', 'authorized_status',
@ -46,12 +44,4 @@ class Permohonan extends Base
public function documents(){ public function documents(){
return $this->hasMany(DokumenJaminan::class); return $this->hasMany(DokumenJaminan::class);
} }
public function nilaiPlafond(){
return $this->belongsTo(NilaiPlafond::class);
}
public function jenisFasilitasKredit(){
return $this->belongsTo(JenisFasilitasKredit::class);
}
} }

View File

@ -1,25 +0,0 @@
<?php
namespace Modules\Lpj\Rules;
use Closure;
use Illuminate\Contracts\Validation\ValidationRule;
use Modules\Lpj\Models\Debiture;
class UniqueCifExceptZero implements ValidationRule
{
public function __construct($id = null)
{
$this->id = $id;
}
public function validate($attribute, $value, $fail): void
{
if (Debiture::where($attribute, $value)
->where('id', '!=', $this->id)
->where($attribute, '!=', '000000')
->exists()) {
$fail('The :attribute field must be uniquse.'.$this->id);
}
}
}

View File

@ -1,33 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Modules\Lpj\Models\JenisFasilitasKredit;
use Modules\Lpj\Models\NilaiPlafond;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('permohonan', function (Blueprint $table) {
$table->foreignIdFor(JenisFasilitasKredit::class)->nullable()->onDelete('cascade');
$table->foreignIdFor(NilaiPlafond::class)->nullable()->onDelete('cascade');
$table->string('status')->default('order')->change();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('permohonan', function (Blueprint $table) {
$table->dropForeign(['fasilitas_kredit_id']);
$table->dropForeign(['nilai_plafond_id']);
});
}
};

View File

@ -112,13 +112,21 @@
"roles": [] "roles": []
}, },
{ {
"title": "Jenis Aset", "title": "Jenis Jaminan",
"path": "basicdata.jenis-jaminan", "path": "basicdata.jenis-jaminan",
"classes": "", "classes": "",
"attributes": [], "attributes": [],
"permission": "", "permission": "",
"roles": [] "roles": []
}, },
{
"title": "Jenis Aset",
"path": "basicdata.jenis-aset",
"classes": "",
"attributes": [],
"permission": "",
"roles": []
},
{ {
"title": "Jenis Dokumen", "title": "Jenis Dokumen",
"path": "basicdata.jenis-dokumen", "path": "basicdata.jenis-dokumen",

View File

@ -1,6 +1,5 @@
<form action="{{ isset($debitur->id) ? route('debitur.update', $debitur->id) : route('debitur.store') }}" method="POST" class="grid gap-5"> <form action="{{ isset($debitur->id) ? route('debitur.update', $debitur->id) : route('debitur.store') }}" method="POST" class="grid gap-5">
@if(isset($debitur->id)) @if(isset($debitur->id))
<input type="hidden" name="id" value="{{ $debitur->id }}">
@method('PUT') @method('PUT')
@endif @endif
@csrf @csrf
@ -30,7 +29,7 @@
CIF CIF
</label> </label>
<div class="flex flex-wrap items-baseline w-full"> <div class="flex flex-wrap items-baseline w-full">
<input class="input @error('cif') border-danger bg-danger-light @enderror" type="number" name="cif" value="{{ $debitur->cif ?? '0000000000' }}"> <input class="input @error('cif') border-danger bg-danger-light @enderror" type="number" name="cif" value="{{ $debitur->cif ?? '' }}">
@error('cif') @error('cif')
<em class="alert text-danger text-sm">{{ $message }}</em> <em class="alert text-danger text-sm">{{ $message }}</em>
@enderror @enderror

View File

@ -247,8 +247,8 @@
<button type="submit" name="status" value="register" class="btn btn-success"> <button type="submit" name="status" value="register" class="btn btn-success">
Approve Approve
</button> </button>
<button type="submit" name="status" value="revisi" class="btn btn-warning ml-3"> <button type="submit" name="status" value="revisi" class="btn btn-danger ml-3">
Revisi Reject
</button> </button>
</div> </div>
</form> </form>

View File

@ -74,60 +74,6 @@
</div> </div>
</div> </div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Fasilitas Kredit
</label>
<div class="flex flex-wrap items-baseline w-full">
<select class="input tomselect w-full @error('jenis_fasilitas_kredit_id') border-danger bg-danger-light @enderror" name="jenis_fasilitas_kredit_id" id="jenis_fasilitas_kredit_id">
<option value="">Pilih Fasilitas Kredit</option>
@if(isset($fasilitasKredit))
@foreach($fasilitasKredit as $row)
@if(isset($permohonan))
<option value="{{ $row->id }}" {{ isset($permohonan->jenis_fasilitas_kredit_id) && $permohonan->jenis_fasilitas_kredit_id == $row->id ?'selected' : '' }}>
{{ $row->name }}
</option>
@else
<option value="{{ $row->id }}">
{{ $row->name }}
</option>
@endif
@endforeach
@endif
</select>
@error('status')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Nilai Plafond
</label>
<div class="flex flex-wrap items-baseline w-full">
<select class="input tomselect w-full @error('nilai_plafond_id') border-danger bg-danger-light @enderror" name="nilai_plafond_id" id="nilai_plafond_id">
<option value="">Pilih Nilai Flafond</option>
@if(isset($plafond))
@foreach($plafond as $row)
@if(isset($permohonan))
<option value="{{ $row->id }}" {{ isset($permohonan->nilai_plafond_id) && $permohonan->nilai_plafond_id == $row->id ?'selected' : '' }}>
{{ $row->name }}
</option>
@else
<option value="{{ $row->id }}">
{{ $row->name }}
</option>
@endif
@endforeach
@endif
</select>
@error('status')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56"> <label class="form-label max-w-56">
Status Permohonan Status Permohonan
@ -228,66 +174,12 @@
</div> </div>
</div> </div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Fasilitas Kredit
</label>
<div class="flex flex-wrap items-baseline w-full">
<select class="input tomselect w-full @error('jenis_fasilitas_kredit_id') border-danger bg-danger-light @enderror" name="jenis_fasilitas_kredit_id" id="jenis_fasilitas_kredit_id">
<option value="">Pilih Fasilitas Kredit</option>
@if(isset($fasilitasKredit))
@foreach($fasilitasKredit as $row)
@if(isset($permohonan))
<option value="{{ $row->id }}" {{ isset($permohonan->jenis_fasilitas_kredit_id) && $permohonan->jenis_fasilitas_kredit_id == $row->id ?'selected' : '' }}>
{{ $row->name }}
</option>
@else
<option value="{{ $row->id }}">
{{ $row->name }}
</option>
@endif
@endforeach
@endif
</select>
@error('status')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Nilai Plafond
</label>
<div class="flex flex-wrap items-baseline w-full">
<select class="input tomselect w-full @error('nilai_plafond_id') border-danger bg-danger-light @enderror" name="nilai_plafond_id" id="nilai_plafond_id">
<option value="">Pilih Nilai Flafond</option>
@if(isset($plafond))
@foreach($plafond as $row)
@if(isset($permohonan))
<option value="{{ $row->id }}" {{ isset($permohonan->nilai_plafond_id) && $permohonan->nilai_plafond_id == $row->id ?'selected' : '' }}>
{{ $row->name }}
</option>
@else
<option value="{{ $row->id }}">
{{ $row->name }}
</option>
@endif
@endforeach
@endif
</select>
@error('status')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56"> <label class="form-label max-w-56">
Status Permohonan Status Permohonan
</label> </label>
<div class="flex flex-wrap items-baseline w-full"> <div class="flex flex-wrap items-baseline w-full">
<select class="input tomselect w-full @error('status') border-danger bg-danger-light @enderror" name="status" id="status"> <select class="input tomselect w-full @error('branch_id') border-danger bg-danger-light @enderror" name="status" id="status">
<option value="">Pilih Status Permohonan</option> <option value="">Pilih Status Permohonan</option>
@if(isset($status)) @if(isset($status))
@foreach($status as $row) @foreach($status as $row)

View File

@ -39,17 +39,17 @@
Breadcrumbs::for('basicdata.jenis-jaminan', function (BreadcrumbTrail $trail) { Breadcrumbs::for('basicdata.jenis-jaminan', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata'); $trail->parent('basicdata');
$trail->push('Jenis Aset', route('basicdata.jenis-jaminan.index')); $trail->push('Jenis Jaminan', route('basicdata.jenis-jaminan.index'));
}); });
Breadcrumbs::for('basicdata.jenis-jaminan.create', function (BreadcrumbTrail $trail) { Breadcrumbs::for('basicdata.jenis-jaminan.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis-jaminan'); $trail->parent('basicdata.jenis-jaminan');
$trail->push('Tambah Jenis Aset', route('basicdata.jenis-jaminan.create')); $trail->push('Tambah Jenis Jaminan', route('basicdata.jenis-jaminan.create'));
}); });
Breadcrumbs::for('basicdata.jenis-jaminan.edit', function (BreadcrumbTrail $trail) { Breadcrumbs::for('basicdata.jenis-jaminan.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis-jaminan'); $trail->parent('basicdata.jenis-jaminan');
$trail->push('Edit Jenis Aset'); $trail->push('Edit Jenis Jaminan');
}); });
Breadcrumbs::for('basicdata.tujuan-penilaian', function (BreadcrumbTrail $trail) { Breadcrumbs::for('basicdata.tujuan-penilaian', function (BreadcrumbTrail $trail) {
@ -67,6 +67,21 @@
$trail->push('Edit Tujuan Penilaian'); $trail->push('Edit Tujuan Penilaian');
}); });
Breadcrumbs::for('basicdata.jenis-aset', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata');
$trail->push('Jenis Aset', route('basicdata.jenis-aset.index'));
});
Breadcrumbs::for('basicdata.jenis-aset.create', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis-aset');
$trail->push('Tambah Jenis Aset', route('basicdata.jenis-aset.create'));
});
Breadcrumbs::for('basicdata.jenis-aset.edit', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata.jenis-aset');
$trail->push('Edit Jenis Aset');
});
Breadcrumbs::for('basicdata.jenis-dokumen', function (BreadcrumbTrail $trail) { Breadcrumbs::for('basicdata.jenis-dokumen', function (BreadcrumbTrail $trail) {
$trail->parent('basicdata'); $trail->parent('basicdata');
$trail->push('Jenis Dokumen', route('basicdata.jenis-dokumen.index')); $trail->push('Jenis Dokumen', route('basicdata.jenis-dokumen.index'));

View File

@ -48,7 +48,7 @@
}); });
Route::resource('jenis-legalitas-jaminan', JenisLegalitasJaminanController::class); Route::resource('jenis-legalitas-jaminan', JenisLegalitasJaminanController::class);
Route::name('jenis-jaminan.')->prefix('jenis-aset')->group(function () { Route::name('jenis-jaminan.')->prefix('jenis-jaminan')->group(function () {
Route::get('legalitas/{id}', [JenisJaminanController::class, 'legalitasJaminan'])->name('legalitas'); Route::get('legalitas/{id}', [JenisJaminanController::class, 'legalitasJaminan'])->name('legalitas');
Route::get('restore/{id}', [JenisJaminanController::class, 'restore'])->name('restore'); Route::get('restore/{id}', [JenisJaminanController::class, 'restore'])->name('restore');
Route::get('datatables', [JenisJaminanController::class, 'dataForDatatables']) Route::get('datatables', [JenisJaminanController::class, 'dataForDatatables'])
@ -65,6 +65,14 @@
}); });
Route::resource('tujuan-penilaian', TujuanPenilaianController::class); Route::resource('tujuan-penilaian', TujuanPenilaianController::class);
Route::name('jenis-aset.')->prefix('jenis-aset')->group(function () {
Route::get('restore/{id}', [JenisAsetController::class, 'restore'])->name('restore');
Route::get('datatables', [JenisAsetController::class, 'dataForDatatables'])
->name('datatables');
Route::get('export', [JenisAsetController::class, 'export'])->name('export');
});
Route::resource('jenis-aset', JenisAsetController::class);
Route::name('jenis-dokumen.')->prefix('jenis-dokumen')->group(function () { Route::name('jenis-dokumen.')->prefix('jenis-dokumen')->group(function () {
Route::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore'); Route::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore');
Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables']) Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables'])