diff --git a/app/Helpers/Lpj.php b/app/Helpers/Lpj.php
index d9bf2fe..a4bed0b 100644
--- a/app/Helpers/Lpj.php
+++ b/app/Helpers/Lpj.php
@@ -316,3 +316,16 @@
return User::find($userId);
}
+ function generateLpjUniqueCode($randomLength = 6)
+ {
+
+ $year = date('y');
+ $month = str_pad(date('m'), 2, '0', STR_PAD_LEFT);
+ $day = str_pad(date('d'), 2, '0', STR_PAD_LEFT);
+
+ // Generate random numbers
+ $randomNumber = str_pad(mt_rand(0, pow(10, $randomLength) - 1), $randomLength, '0', STR_PAD_LEFT);
+
+ // Concatenate components to create the custom code
+ return $year . $month . $day . $randomNumber;
+ }
diff --git a/app/Http/Controllers/PenilaiController.php b/app/Http/Controllers/PenilaiController.php
index fdd350e..c21a125 100644
--- a/app/Http/Controllers/PenilaiController.php
+++ b/app/Http/Controllers/PenilaiController.php
@@ -7,6 +7,7 @@ use Barryvdh\DomPDF\Facade\Pdf; // https://github.com/barryvdh/laravel-dompdf
use Modules\Lpj\Models\Permohonan;
use Modules\Lpj\Models\Inspeksi;
use Modules\Lpj\Models\Penilai;
+use Modules\Lpj\Models\Laporan;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Maatwebsite\Excel\Facades\Excel;
@@ -17,6 +18,7 @@ use Modules\Location\Models\City;
use Modules\Location\Models\District;
use Modules\Location\Models\Village;
use Illuminate\Support\Facades\Log;
+use App\Helpers\Lpj;
class PenilaiController extends Controller
{
@@ -597,6 +599,17 @@ class PenilaiController extends Controller
$inspeksi = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
$lpj = Penilai::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
+ $laporan = Laporan::firstOrCreate(
+ [
+ 'permohonan_id' => $permohonanId,
+ 'dokumen_jaminan_id' => $documentId,
+ ],
+ [
+ 'nomor_laporan' => generateLpjUniqueCode(6),
+ ]
+ );
+ $nomorLaporan = $laporan->nomor_laporan;
+
$forminspeksi = null;
$lpjData = null;
$formFoto = null;
@@ -646,7 +659,8 @@ class PenilaiController extends Controller
'lpj',
'statusLpj',
'alamat',
- 'dataPembanding'
+ 'dataPembanding',
+ 'nomorLaporan'
));
} else {
$pdf = PDF::loadView('lpj::' . $viewLaporan, compact(
@@ -659,7 +673,8 @@ class PenilaiController extends Controller
'lpj',
'statusLpj',
'alamat',
- 'dataPembanding'
+ 'dataPembanding',
+ 'nomorLaporan'
));
$pdf->setPaper('A4', 'portrait');
diff --git a/app/Models/Laporan.php b/app/Models/Laporan.php
new file mode 100644
index 0000000..5065294
--- /dev/null
+++ b/app/Models/Laporan.php
@@ -0,0 +1,36 @@
+belongsTo(JenisLaporan::class);
+ }
+
+ public function dokument(){
+ return $this->belongsTo(DokumenJaminan::class);
+ }
+
+ public function permohonan(){
+ return $this->belongsTo(Permohonan::class);
+ }
+
+ // protected static function newFactory(): LaporanFactory
+ // {
+ // // return LaporanFactory::new();
+ // }
+}
diff --git a/database/migrations/2024_12_27_021237_create_laporan_table.php b/database/migrations/2024_12_27_021237_create_laporan_table.php
new file mode 100644
index 0000000..61d8c13
--- /dev/null
+++ b/database/migrations/2024_12_27_021237_create_laporan_table.php
@@ -0,0 +1,43 @@
+id();
+ $table->foreignIdFor(Permohonan::class)->constrained('permohonan')->onDelete('cascade');
+ $table->foreignIdFor(DokumenJaminan::class)->constrained('dokumen_jaminan')->onDelete('cascade');
+ $table->string('nomor_laporan');
+ $table->foreignIdFor(JenisLaporan::class)
+ ->nullable()
+ ->constrained('jenis_laporan')
+ ->onDelete('cascade');
+
+
+ $table->timestamps();
+ $table->softDeletes();
+
+ $table->unsignedBigInteger('created_by')->nullable();
+ $table->unsignedBigInteger('updated_by')->nullable();
+ $table->unsignedBigInteger('deleted_by')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('laporan');
+ }
+};
diff --git a/resources/views/penilai/components/print-out-sederhana.blade.php b/resources/views/penilai/components/print-out-sederhana.blade.php
index e43c172..f1a2240 100644
--- a/resources/views/penilai/components/print-out-sederhana.blade.php
+++ b/resources/views/penilai/components/print-out-sederhana.blade.php
@@ -78,7 +78,7 @@
}
body {
- margin-top: 7cm;
+ margin-top: 3cm;
/* Tambahkan margin top sedikit lebih besar dari tinggi header */
margin-bottom: 120px;
position: relative;
@@ -106,7 +106,13 @@
-
+ @php
+ $data = '';
+ foreach ($permohonan->debiture->documents as $dokumen) {
+ $data .= $dokumen->jenisJaminan->name . ', ';
+ }
+ $data = rtrim($data, ', ');
+@endphp