menerapkan generate code system di feature Jenis Fasilitas Kredit

This commit is contained in:
Andy Chaerudin 2024-08-22 20:40:24 +07:00
parent 3fc9e8fd0c
commit 1ee42703ba
6 changed files with 100 additions and 10 deletions

View File

@ -9,9 +9,11 @@
use Modules\Lpj\Exports\JenisFasilitasKreditExport;
use Modules\Lpj\Http\Requests\JenisFasilitasKreditRequest;
use Modules\Lpj\Models\JenisFasilitasKredit;
use Modules\Lpj\Http\Library\LpjHelpers;
class JenisFasilitasKreditController extends Controller
{
use LpjHelpers; // <---- Using the LpjHelpers Trait
public $user;
public function index()
@ -26,11 +28,18 @@
if ($validate) {
try {
// Save to database
// andy add
$lastNumberCodeJFK = LpjHelpers::onLastCodeJFK();
$validate['name'] =strtoupper($request->name);
$validate['code'] =$lastNumberCodeJFK;
// andy add
JenisFasilitasKredit::create($validate);
return redirect()
->route('basicdata.jenis-fasilitas-kredit.index')
->with('success', 'Jenis Fasilitas Kredit created successfully');
} catch (Exception $e) {
} catch (Exception $e) {dd($e);
return redirect()
->route('basicdata.jenis-fasilitas-kredit.create')
->with('error', 'Failed to create jenis fasilitas kredit');
@ -57,11 +66,16 @@
try {
// Update in database
$jenisFasilitasKredit = JenisFasilitasKredit::find($id);
// andy add
$validate['name'] =strtoupper($request->name);
// andy add
$jenisFasilitasKredit->update($validate);
return redirect()
->route('basicdata.jenis-fasilitas-kredit.index')
->with('success', 'Jenis Fasilitas Kredit updated successfully');
} catch (Exception $e) {
} catch (Exception $e) {dd($e);
return redirect()
->route('basicdata.jenis-fasilitas-kredit.edit', $id)
->with('error', 'Failed to update jenis fasilitas kredit');

View File

@ -0,0 +1,27 @@
<?php
namespace Modules\Lpj\Http\Library;
use Modules\Lpj\Models\JenisFasilitasKredit;
use Illuminate\Support\Facades\DB;
trait LpjHelpers
{
public static function onLastCodeJFK(): string
{
// max(code)
$noUrutAkhir2 = JenisFasilitasKredit::withTrashed()->max('code');
$noUrutAkhir=sprintf("%06s", 1);
$noUrutAwal = 'JFK';
$noUrutAkhirString = $noUrutAkhir;
if($noUrutAkhir2){
$noUrutAkhir = substr($noUrutAkhir2, 3, 6);
// $noUrutAwal = substr($noUrutAkhir2, 0, 3);
$noUrutAkhirString = sprintf("%06s", abs($noUrutAkhir + 1));
}
return $noUrutAwal . $noUrutAkhirString;
}
}

View File

@ -13,14 +13,16 @@
: array
{
$rules = [
'name' => 'required|max:255',
'name' => 'required|max:255|unique:jenis_fasilitas_kredit,name'
];
if ($this->method() == 'PUT') {
$rules['code'] = 'required|max:50|unique:jenis_fasilitas_kredit,code,' . $this->id;
$rules['code'] = 'max:50|unique:jenis_fasilitas_kredit,code,' . $this->id;
$rules['name'] = 'required|unique:jenis_fasilitas_kredit,name,' . $this->id;
} else {
$rules['code'] = 'required|max:50|unique:jenis_fasilitas_kredit,code';
$rules['code'] = 'max:50|unique:jenis_fasilitas_kredit,code';
}
return $rules;
}

View File

@ -0,0 +1,46 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Modules\Lpj\Models\Debiture;
use Modules\Lpj\Models\Branch;
use Modules\Lpj\Models\TujuanPenilaian;
use Modules\Usermanagement\Models\User;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('permohonan', function (Blueprint $table) {
$table->id();
$table->string('nomor_registrasi')->unique();
$table->date('tanggal_permohonan');
$table->foreignIdFor(User::class)->constrained();
$table->foreignIdFor(Branch::class)->constrained();
$table->foreignIdFor(TujuanPenilaian::class)->constrained('tujuan_penilaian')->onDelete('cascade');
$table->foreignIdFor(Debiture::class)->constrained('debitures')->onDelete('cascade');
$table->boolean('status')->default(true)->nullable();
$table->timestamps();
$table->timestamp('authorized_at')->nullable();
$table->char('authorized_status', 1)->nullable();
$table->softDeletes();
$table->unsignedBigInteger('created_by')->nullable();
$table->unsignedBigInteger('updated_by')->nullable();
$table->unsignedBigInteger('deleted_by')->nullable();
$table->unsignedBigInteger('authorized_by')->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('permohonan');
}
};

View File

@ -1,3 +1,7 @@
@php
$route = explode('.', Route::currentRouteName());
@endphp
@extends('layouts.main')
@section('breadcrumbs')
@ -28,11 +32,8 @@
<label class="form-label max-w-56">
Code
</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('code') border-danger @enderror" type="text" name="code" value="{{ $jenisFasilitasKredit->code ?? '' }}">
@error('code')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
<div id="{{$route[1]}}_code" class="flex flex-wrap items-baseline w-full">
{{ $jenisFasilitasKredit->code ?? '-' }}
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">