Compare commits
4 Commits
dadec5a397
...
9ecdaa0cdd
Author | SHA1 | Date | |
---|---|---|---|
9ecdaa0cdd | |||
5619c52b0a | |||
dcf9e4fd5e | |||
72e4ff3160 |
@ -28,6 +28,8 @@
|
||||
$row->branch->name,
|
||||
$row->tujuanPenilaian->name,
|
||||
$row->debiture->name,
|
||||
$row->fasilitasKredit->name,
|
||||
$row->plafond->name,
|
||||
$row->status,
|
||||
$row->authorized_at,
|
||||
$row->authorized_status,
|
||||
@ -47,7 +49,9 @@
|
||||
'Branch Pemohon',
|
||||
'Tujuan Penilaian',
|
||||
'Debitur',
|
||||
'Status',
|
||||
'Jenis Fasilitas Kredit',
|
||||
'Nilai Plafond',
|
||||
'Status Permohonan',
|
||||
'Tanggal Pengesahan',
|
||||
'Status Pengesahan',
|
||||
'Pengesah',
|
||||
@ -61,7 +65,8 @@
|
||||
return [
|
||||
'A' => NumberFormat::FORMAT_NUMBER,
|
||||
'C' => NumberFormat::FORMAT_DATE_DATETIME,
|
||||
'L' => NumberFormat::FORMAT_DATE_DATETIME
|
||||
'K' => NumberFormat::FORMAT_DATE_DATETIME,
|
||||
'N' => NumberFormat::FORMAT_DATE_DATETIME
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@ -71,6 +71,7 @@
|
||||
|
||||
public function update(DebitureRequest $request, $id)
|
||||
{
|
||||
//print_r($request->all());exit;
|
||||
$validate = $request->validated();
|
||||
|
||||
if ($validate) {
|
||||
|
@ -15,6 +15,8 @@
|
||||
use Modules\Lpj\Models\Branch;
|
||||
use Modules\Lpj\Models\Debiture;
|
||||
use Modules\Lpj\Models\DokumenJaminan;
|
||||
use Modules\Lpj\Models\JenisFasilitasKredit;
|
||||
use Modules\Lpj\Models\NilaiPlafond;
|
||||
use Modules\Lpj\Models\Permohonan;
|
||||
use Modules\Lpj\Models\StatusPermohonan;
|
||||
use Modules\Lpj\Models\TujuanPenilaian;
|
||||
@ -30,8 +32,8 @@
|
||||
|
||||
public function store(PermohonanRequest $request)
|
||||
{
|
||||
$validate = $request->validated();
|
||||
|
||||
$validate = $request->validated();
|
||||
if ($validate) {
|
||||
try {
|
||||
// Save to database
|
||||
@ -63,8 +65,13 @@
|
||||
$debitur = Debiture::find($debitur);
|
||||
$tujuanPenilaian = TujuanPenilaian::all();
|
||||
$status = StatusPermohonan::all();
|
||||
$fasilitasKredit = JenisFasilitasKredit::all();
|
||||
$plafond = NilaiPlafond::all();
|
||||
|
||||
return view('lpj::permohonan.form', compact('branches', 'debitur', 'tujuanPenilaian', 'status'));
|
||||
return view(
|
||||
'lpj::permohonan.form',
|
||||
compact('branches', 'debitur', 'tujuanPenilaian', 'status', 'fasilitasKredit', 'plafond'),
|
||||
);
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
@ -80,6 +87,9 @@
|
||||
$villages = Village::where('district_code', $debitur->district_code)->get();
|
||||
$documents = DokumenJaminan::with('pemilik', 'detail')->where('debiture_id', $id)->get();
|
||||
|
||||
$fasilitasKredit = JenisFasilitasKredit::all();
|
||||
$plafond = NilaiPlafond::all();
|
||||
|
||||
return view(
|
||||
'lpj::permohonan.form',
|
||||
compact(
|
||||
@ -92,7 +102,9 @@
|
||||
'cities',
|
||||
'districts',
|
||||
'villages',
|
||||
'documents'
|
||||
'documents',
|
||||
'fasilitasKredit',
|
||||
'plafond',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
@ -3,6 +3,7 @@
|
||||
namespace Modules\Lpj\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Modules\Lpj\Rules\UniqueCifExceptZero;
|
||||
|
||||
class DebitureRequest extends FormRequest
|
||||
{
|
||||
@ -21,7 +22,7 @@
|
||||
'nomor_rekening' => 'nullable|string|max:50',
|
||||
'name' => 'required',
|
||||
'registered_at' => 'nullable|date',
|
||||
'npwp' => 'nullable|string|max:16',
|
||||
'npwp' => 'nullable|string|min:15|max:16',
|
||||
'email' => 'nullable|email',
|
||||
'phone' => 'nullable|string|max:15',
|
||||
'address' => 'nullable|string',
|
||||
@ -30,9 +31,9 @@
|
||||
];
|
||||
|
||||
if($this->method() == 'PUT'){
|
||||
$rules['cif'] = 'nullable|unique:debitures,cif,' . $this->id;
|
||||
$rules['cif'] = ['required', new UniqueCifExceptZero($this->id)];
|
||||
}else{
|
||||
$rules['cif'] = 'nullable|unique:debitures,cif';
|
||||
$rules['cif'] = ['required', new UniqueCifExceptZero(null)];
|
||||
}
|
||||
|
||||
return $rules;
|
||||
|
@ -21,6 +21,8 @@
|
||||
'tujuan_penilaian_id' => 'required|exists:tujuan_penilaian,id',
|
||||
'debiture_id' => 'required|exists:debitures,id',
|
||||
'status' => 'required|string',
|
||||
'jenis_fasilitas_kredit_id' => 'required|exists:jenis_fasilitas_kredit,id',
|
||||
'nilai_plafond_id' => 'required|exists:nilai_plafond,id',
|
||||
];
|
||||
|
||||
return $rules;
|
||||
|
@ -18,6 +18,8 @@ class Permohonan extends Base
|
||||
'tujuan_penilaian_id',
|
||||
'debiture_id',
|
||||
'keterangan',
|
||||
'jenis_fasilitas_kredit_id',
|
||||
'nilai_plafond_id',
|
||||
'status',
|
||||
'authorized_at',
|
||||
'authorized_status',
|
||||
@ -44,4 +46,12 @@ class Permohonan extends Base
|
||||
public function documents(){
|
||||
return $this->hasMany(DokumenJaminan::class);
|
||||
}
|
||||
|
||||
public function nilaiPlafond(){
|
||||
return $this->belongsTo(NilaiPlafond::class);
|
||||
}
|
||||
|
||||
public function jenisFasilitasKredit(){
|
||||
return $this->belongsTo(JenisFasilitasKredit::class);
|
||||
}
|
||||
}
|
||||
|
25
app/Rules/UniqueCifExceptZero.php
Normal file
25
app/Rules/UniqueCifExceptZero.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?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);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
<?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']);
|
||||
});
|
||||
}
|
||||
};
|
10
module.json
10
module.json
@ -111,17 +111,9 @@
|
||||
"permission": "",
|
||||
"roles": []
|
||||
},
|
||||
{
|
||||
"title": "Jenis Jaminan",
|
||||
"path": "basicdata.jenis-jaminan",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
"roles": []
|
||||
},
|
||||
{
|
||||
"title": "Jenis Aset",
|
||||
"path": "basicdata.jenis-aset",
|
||||
"path": "basicdata.jenis-jaminan",
|
||||
"classes": "",
|
||||
"attributes": [],
|
||||
"permission": "",
|
||||
|
@ -1,5 +1,6 @@
|
||||
<form action="{{ isset($debitur->id) ? route('debitur.update', $debitur->id) : route('debitur.store') }}" method="POST" class="grid gap-5">
|
||||
@if(isset($debitur->id))
|
||||
<input type="hidden" name="id" value="{{ $debitur->id }}">
|
||||
@method('PUT')
|
||||
@endif
|
||||
@csrf
|
||||
@ -29,7 +30,7 @@
|
||||
CIF
|
||||
</label>
|
||||
<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 ?? '' }}">
|
||||
<input class="input @error('cif') border-danger bg-danger-light @enderror" type="number" name="cif" value="{{ $debitur->cif ?? '0000000000' }}">
|
||||
@error('cif')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
|
@ -247,8 +247,8 @@
|
||||
<button type="submit" name="status" value="register" class="btn btn-success">
|
||||
Approve
|
||||
</button>
|
||||
<button type="submit" name="status" value="revisi" class="btn btn-danger ml-3">
|
||||
Reject
|
||||
<button type="submit" name="status" value="revisi" class="btn btn-warning ml-3">
|
||||
Revisi
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -74,6 +74,60 @@
|
||||
</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">
|
||||
<label class="form-label max-w-56">
|
||||
Status Permohonan
|
||||
@ -174,12 +228,66 @@
|
||||
</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">
|
||||
<label class="form-label max-w-56">
|
||||
Status Permohonan
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select class="input tomselect w-full @error('branch_id') border-danger bg-danger-light @enderror" name="status" id="status">
|
||||
<select class="input tomselect w-full @error('status') border-danger bg-danger-light @enderror" name="status" id="status">
|
||||
<option value="">Pilih Status Permohonan</option>
|
||||
@if(isset($status))
|
||||
@foreach($status as $row)
|
||||
|
@ -39,17 +39,17 @@
|
||||
|
||||
Breadcrumbs::for('basicdata.jenis-jaminan', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('basicdata');
|
||||
$trail->push('Jenis Jaminan', route('basicdata.jenis-jaminan.index'));
|
||||
$trail->push('Jenis Aset', route('basicdata.jenis-jaminan.index'));
|
||||
});
|
||||
|
||||
Breadcrumbs::for('basicdata.jenis-jaminan.create', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('basicdata.jenis-jaminan');
|
||||
$trail->push('Tambah Jenis Jaminan', route('basicdata.jenis-jaminan.create'));
|
||||
$trail->push('Tambah Jenis Aset', route('basicdata.jenis-jaminan.create'));
|
||||
});
|
||||
|
||||
Breadcrumbs::for('basicdata.jenis-jaminan.edit', function (BreadcrumbTrail $trail) {
|
||||
$trail->parent('basicdata.jenis-jaminan');
|
||||
$trail->push('Edit Jenis Jaminan');
|
||||
$trail->push('Edit Jenis Aset');
|
||||
});
|
||||
|
||||
Breadcrumbs::for('basicdata.tujuan-penilaian', function (BreadcrumbTrail $trail) {
|
||||
@ -67,21 +67,6 @@
|
||||
$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) {
|
||||
$trail->parent('basicdata');
|
||||
$trail->push('Jenis Dokumen', route('basicdata.jenis-dokumen.index'));
|
||||
|
@ -48,7 +48,7 @@
|
||||
});
|
||||
Route::resource('jenis-legalitas-jaminan', JenisLegalitasJaminanController::class);
|
||||
|
||||
Route::name('jenis-jaminan.')->prefix('jenis-jaminan')->group(function () {
|
||||
Route::name('jenis-jaminan.')->prefix('jenis-aset')->group(function () {
|
||||
Route::get('legalitas/{id}', [JenisJaminanController::class, 'legalitasJaminan'])->name('legalitas');
|
||||
Route::get('restore/{id}', [JenisJaminanController::class, 'restore'])->name('restore');
|
||||
Route::get('datatables', [JenisJaminanController::class, 'dataForDatatables'])
|
||||
@ -65,14 +65,6 @@
|
||||
});
|
||||
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::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore');
|
||||
Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables'])
|
||||
|
Loading…
Reference in New Issue
Block a user