From 1ee42703ba1afab7cd331bc609972df65155222a Mon Sep 17 00:00:00 2001 From: Andy Chaerudin Date: Thu, 22 Aug 2024 20:40:24 +0700 Subject: [PATCH] menerapkan generate code system di feature Jenis Fasilitas Kredit --- .../JenisFasilitasKreditController.php | 18 +++++++- app/Http/Library/LpjHelpers.php | 27 +++++++++++ .../Requests/JenisFasilitasKreditRequest.php | 8 ++-- ...24_08_11_023807_create_branches_table.php} | 0 ...4_08_22_093805_create_permohonan_table.php | 46 +++++++++++++++++++ .../jenis_fasilitas_kredit/create.blade.php | 11 +++-- 6 files changed, 100 insertions(+), 10 deletions(-) create mode 100644 app/Http/Library/LpjHelpers.php rename database/migrations/{2024_08_12_023807_create_branches_table.php => 2024_08_11_023807_create_branches_table.php} (100%) create mode 100644 database/migrations/2024_08_22_093805_create_permohonan_table.php diff --git a/app/Http/Controllers/JenisFasilitasKreditController.php b/app/Http/Controllers/JenisFasilitasKreditController.php index 59b481d..8d8a886 100644 --- a/app/Http/Controllers/JenisFasilitasKreditController.php +++ b/app/Http/Controllers/JenisFasilitasKreditController.php @@ -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'); diff --git a/app/Http/Library/LpjHelpers.php b/app/Http/Library/LpjHelpers.php new file mode 100644 index 0000000..f40380d --- /dev/null +++ b/app/Http/Library/LpjHelpers.php @@ -0,0 +1,27 @@ +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; + } +} diff --git a/app/Http/Requests/JenisFasilitasKreditRequest.php b/app/Http/Requests/JenisFasilitasKreditRequest.php index ea95974..60f8444 100644 --- a/app/Http/Requests/JenisFasilitasKreditRequest.php +++ b/app/Http/Requests/JenisFasilitasKreditRequest.php @@ -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; } diff --git a/database/migrations/2024_08_12_023807_create_branches_table.php b/database/migrations/2024_08_11_023807_create_branches_table.php similarity index 100% rename from database/migrations/2024_08_12_023807_create_branches_table.php rename to database/migrations/2024_08_11_023807_create_branches_table.php diff --git a/database/migrations/2024_08_22_093805_create_permohonan_table.php b/database/migrations/2024_08_22_093805_create_permohonan_table.php new file mode 100644 index 0000000..e75f942 --- /dev/null +++ b/database/migrations/2024_08_22_093805_create_permohonan_table.php @@ -0,0 +1,46 @@ +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'); + } +}; diff --git a/resources/views/jenis_fasilitas_kredit/create.blade.php b/resources/views/jenis_fasilitas_kredit/create.blade.php index 6358c8b..02f73aa 100644 --- a/resources/views/jenis_fasilitas_kredit/create.blade.php +++ b/resources/views/jenis_fasilitas_kredit/create.blade.php @@ -1,3 +1,7 @@ +@php + $route = explode('.', Route::currentRouteName()); +@endphp + @extends('layouts.main') @section('breadcrumbs') @@ -28,11 +32,8 @@ -
- - @error('code') - {{ $message }} - @enderror +
+ {{ $jenisFasilitasKredit->code ?? '-' }}