Compare commits
22 Commits
be41a815f7
...
lpj-db-mig
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
45cebcf325 | ||
|
|
a442f879b7 | ||
|
|
796cb89d21 | ||
|
|
fb22d370b5 | ||
|
|
478c0c8079 | ||
|
|
73d0d238c0 | ||
|
|
d6d0ed28b9 | ||
|
|
ee828455a9 | ||
|
|
a6481dd482 | ||
|
|
cbf54353f4 | ||
|
|
a701e78982 | ||
|
|
6305f93f0f | ||
|
|
6ed4e8ba41 | ||
|
|
6b0022deed | ||
|
|
ae5a9ce5b7 | ||
|
|
c8b5fcc9d1 | ||
|
|
2937add646 | ||
|
|
b83920d8aa | ||
|
|
c6596cdea0 | ||
|
|
c981237663 | ||
|
|
291811b74a | ||
|
|
2d8bddff42 |
@@ -533,7 +533,6 @@
|
||||
}
|
||||
|
||||
function parsePembandingMigration($keterangan) {
|
||||
|
||||
$keterangan = preg_replace('/[-]{5,}/', '',$keterangan); // Hapus ------
|
||||
$keterangan = preg_replace('/[.]{5,}/', '',$keterangan); // Hapus .....
|
||||
|
||||
@@ -553,6 +552,9 @@ function parsePembandingMigration($keterangan) {
|
||||
return 'Rp. ' . number_format((int)$angka, 0, ',', '.');
|
||||
}, $line);
|
||||
|
||||
// Jika ada tanda pagar (#), pisahkan menjadi baris baru
|
||||
$line = str_replace('#', "\n#", $line);
|
||||
|
||||
$cleaned[] = $line;
|
||||
}
|
||||
}
|
||||
@@ -593,3 +595,97 @@ function parsePembandingMigration($keterangan) {
|
||||
}
|
||||
return $path;
|
||||
}
|
||||
|
||||
|
||||
function parseTimestamp(?string $timestamp): ?string
|
||||
{
|
||||
if (!$timestamp) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Trim whitespace dan normalize
|
||||
$timestamp = trim($timestamp);
|
||||
|
||||
// Log untuk debugging
|
||||
Log::info('Mencoba parsing timestamp: "' . $timestamp . '"');
|
||||
|
||||
// Parsing dengan DateTime native PHP untuk lebih robust
|
||||
try {
|
||||
// Pattern untuk format d/m/Y H:i:s
|
||||
if (preg_match('/^(\d{1,2})\/(\d{1,2})\/(\d{4})\s+(\d{1,2}):(\d{1,2}):(\d{1,2})$/', $timestamp, $matches)) {
|
||||
$day = (int) $matches[1];
|
||||
$month = (int) $matches[2];
|
||||
$year = (int) $matches[3];
|
||||
$hour = (int) $matches[4];
|
||||
$minute = (int) $matches[5];
|
||||
$second = (int) $matches[6];
|
||||
|
||||
// Validasi nilai
|
||||
if ($day >= 1 && $day <= 31 && $month >= 1 && $month <= 12 && $year >= 1900 && $year <= 2100 &&
|
||||
$hour >= 0 && $hour <= 23 && $minute >= 0 && $minute <= 59 && $second >= 0 && $second <= 59) {
|
||||
|
||||
// Buat DateTime object langsung
|
||||
$dateTime = new \DateTime();
|
||||
$dateTime->setDate($year, $month, $day);
|
||||
$dateTime->setTime($hour, $minute, $second);
|
||||
|
||||
$result = $dateTime->format('Y-m-d H:i:s');
|
||||
Log::info('Berhasil parsing dengan DateTime: ' . $timestamp . ' -> ' . $result);
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
// Pattern untuk format d/m/Y tanpa waktu
|
||||
if (preg_match('/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/', $timestamp, $matches)) {
|
||||
$day = (int) $matches[1];
|
||||
$month = (int) $matches[2];
|
||||
$year = (int) $matches[3];
|
||||
|
||||
// Validasi nilai
|
||||
if ($day >= 1 && $day <= 31 && $month >= 1 && $month <= 12 && $year >= 1900 && $year <= 2100) {
|
||||
|
||||
// Buat DateTime object langsung
|
||||
$dateTime = new \DateTime();
|
||||
$dateTime->setDate($year, $month, $day);
|
||||
$dateTime->setTime(0, 0, 0);
|
||||
|
||||
$result = $dateTime->format('Y-m-d H:i:s');
|
||||
Log::info('Berhasil parsing tanpa waktu dengan DateTime: ' . $timestamp . ' -> ' . $result);
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
Log::error('Gagal parsing dengan DateTime: ' . $timestamp . '. Error: ' . $e->getMessage());
|
||||
}
|
||||
|
||||
// Fallback ke format Carbon standar untuk format lainnya
|
||||
$formats = [
|
||||
'Y-m-d H:i:s',
|
||||
'Y-m-d',
|
||||
'd-m-Y H:i:s',
|
||||
'd-m-Y',
|
||||
'j-n-Y H:i:s',
|
||||
'j-n-Y',
|
||||
];
|
||||
|
||||
foreach ($formats as $format) {
|
||||
try {
|
||||
$carbon = \Carbon\Carbon::createFromFormat($format, $timestamp);
|
||||
|
||||
if ($carbon && $carbon->format($format) === $timestamp) {
|
||||
// Jika format tidak mengandung waktu, set ke awal hari
|
||||
if (!str_contains($format, 'H:i:s')) {
|
||||
$carbon = $carbon->startOfDay();
|
||||
}
|
||||
Log::info('Berhasil parsing dengan format ' . $format . ': ' . $timestamp . ' -> ' . $carbon->toDateTimeString());
|
||||
return $carbon->toDateTimeString();
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
// Lanjut ke format berikutnya
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
Log::error('Tidak dapat memparsing timestamp dengan format apapun: "' . $timestamp . '"');
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -75,11 +75,9 @@ class LaporanController extends Controller
|
||||
}
|
||||
|
||||
// Retrieve data from the database
|
||||
$query = Permohonan::query()->whereIn('status',['proses-laporan','done', 'paparan', 'proses-paparan'])->whereNotNull('approval_so_at')->whereNotNull('approval_eo_at')->where(function ($q) {
|
||||
$q->whereIn('nilai_plafond_id', [1,4])
|
||||
->whereNotNull('approval_dd_at')
|
||||
->orWhereIn('nilai_plafond_id', [2,3]);
|
||||
});
|
||||
$query = Permohonan::query()
|
||||
->whereIn('status',['proses-laporan','done', 'paparan', 'proses-paparan']);
|
||||
|
||||
|
||||
$query = $query->orderBy('nomor_registrasi', 'desc');
|
||||
// Apply search filter if provided
|
||||
|
||||
@@ -697,6 +697,7 @@ class PenilaiController extends Controller
|
||||
'lokasi_lengkap' => $data->lokasi_lengkap ?? '',
|
||||
];
|
||||
|
||||
if(isset($dataPembanding)){
|
||||
// Extract data pembanding
|
||||
if (isset($dataPembanding['data_pembanding'])) {
|
||||
foreach ($dataPembanding['data_pembanding'] as $index => $pembanding) {
|
||||
@@ -709,6 +710,7 @@ class PenilaiController extends Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Now create the export
|
||||
// return response()->json([ 'data' => $fotoForm]);
|
||||
|
||||
@@ -14,7 +14,7 @@ class Inspeksi extends Base
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*/
|
||||
protected $fillable = ['data_form', 'foto_form', 'denah_form','permohonan_id', 'name', 'status', 'authorized_status', 'authorized_at', 'authorized_by', 'created_by', 'updated_by', 'deleted_by','dokument_id','data_pembanding'];
|
||||
protected $fillable = ['data_form', 'foto_form', 'denah_form','permohonan_id', 'name', 'status', 'authorized_status', 'authorized_at', 'authorized_by', 'created_by', 'updated_by', 'deleted_by','dokument_id','data_pembanding','mig_detail_data_jaminan'];
|
||||
|
||||
public function permohonan()
|
||||
{
|
||||
|
||||
@@ -2,76 +2,93 @@
|
||||
|
||||
namespace Modules\Lpj\Services;
|
||||
|
||||
use Modules\Lpj\Models\Debiture;
|
||||
use Modules\Lpj\Models\LaporanExternal;
|
||||
use Modules\Lpj\Models\Permohonan;
|
||||
use Modules\Lpj\Models\Branch;
|
||||
use Modules\Lpj\Models\Surveyor;
|
||||
use Modules\Lpj\Models\BentukTanah;
|
||||
use Modules\Lpj\Models\KonturTanah;
|
||||
use Modules\Location\Models\Province;
|
||||
use Modules\Location\Models\City;
|
||||
use Modules\Location\Models\District;
|
||||
use Modules\Location\Models\Village;
|
||||
use Modules\Lpj\Models\PosisiKavling;
|
||||
use Modules\Lpj\Models\KondisiFisikTanah;
|
||||
use Modules\Lpj\Models\FotoObjekJaminan;
|
||||
use Modules\Lpj\Models\Perizinan;
|
||||
use Modules\Lpj\Models\KetinggianTanah;
|
||||
use Modules\Lpj\Models\SifatBangunan;
|
||||
use Modules\Lpj\Models\JenisJaminan;
|
||||
use Modules\Lpj\Models\JenisBangunan;
|
||||
use Modules\Lpj\Models\KondisiBangunan;
|
||||
use Modules\Lpj\Models\SpekBangunan;
|
||||
use Modules\Lpj\Models\SpekKategoritBangunan;
|
||||
use Modules\Lpj\Models\SaranaPelengkap;
|
||||
use Modules\Lpj\Models\ArahMataAngin;
|
||||
use Modules\Lpj\Models\Analisa;
|
||||
use Modules\Lpj\Models\Penilaian;
|
||||
use Modules\Lpj\Models\PerkerasanJalan;
|
||||
use Modules\Lpj\Models\AnalisaFakta;
|
||||
use Modules\Lpj\Models\AnalisaLingkungan;
|
||||
use Modules\Lpj\Models\AnalisaTanahBagunan;
|
||||
use Modules\Lpj\Models\SpekBangunanAnalisa;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use App\Helpers\Lpj;
|
||||
use Modules\Lpj\Models\Denah;
|
||||
use Modules\Lpj\Models\FotoJaminan;
|
||||
use Modules\Lpj\Models\Lingkungan;
|
||||
use Modules\Lpj\Models\LantaiUnit;
|
||||
use Modules\Lpj\Models\Teams;
|
||||
use Modules\Lpj\Models\Branch;
|
||||
use Modules\Lpj\Models\Lantai;
|
||||
use Barryvdh\DomPDF\Facade\Pdf;
|
||||
use Modules\Lpj\Models\Analisa;
|
||||
use Modules\Lpj\Models\Penilai;
|
||||
use Modules\Lpj\Models\Debiture;
|
||||
use Modules\Lpj\Models\Inspeksi;
|
||||
use Modules\Lpj\Models\Surveyor;
|
||||
use Modules\Lpj\Models\ViewUnit;
|
||||
use Modules\Location\Models\City;
|
||||
use Modules\Lpj\Models\JenisUnit;
|
||||
use Modules\Lpj\Models\Penilaian;
|
||||
use Modules\Lpj\Models\Perizinan;
|
||||
use Modules\Lpj\Models\BentukUnit;
|
||||
use Modules\Lpj\Models\PosisiUnit;
|
||||
use Modules\Lpj\Models\TerletakArea;
|
||||
use Modules\Lpj\Models\FasilitasObjek;
|
||||
use Modules\Lpj\Models\MerupakanDaerah;
|
||||
use Modules\Lpj\Models\ObjekJaminan;
|
||||
use Modules\Lpj\Models\ModelAlatBerat;
|
||||
use Modules\Lpj\Models\JenisPesawat;
|
||||
use Modules\Lpj\Models\DokumenJaminan;
|
||||
use Modules\Lpj\Models\DetailDokumenJaminan;
|
||||
use Modules\Lpj\Models\JenisKapal;
|
||||
use Modules\Lpj\Models\JenisKendaraan;
|
||||
use Modules\Lpj\Models\LantaiUnit;
|
||||
use Modules\Lpj\Models\Lingkungan;
|
||||
use Modules\Lpj\Models\Permohonan;
|
||||
use Modules\Lpj\Models\PosisiUnit;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Modules\Lpj\Models\AnalisaUnit;
|
||||
use Modules\Lpj\Models\BentukTanah;
|
||||
use Modules\Lpj\Models\FotoJaminan;
|
||||
use Modules\Lpj\Models\KonturTanah;
|
||||
use Modules\Lpj\Models\RuteJaminan;
|
||||
use Modules\Location\Models\Village;
|
||||
use Modules\Lpj\Models\AnalisaFakta;
|
||||
use Modules\Lpj\Models\JenisJaminan;
|
||||
use Modules\Lpj\Models\JenisPesawat;
|
||||
use Modules\Lpj\Models\ObjekJaminan;
|
||||
use Modules\Lpj\Models\SpekBangunan;
|
||||
use Modules\Lpj\Models\TerletakArea;
|
||||
use Modules\Location\Models\District;
|
||||
use Modules\Location\Models\Province;
|
||||
use Modules\Lpj\Models\ArahMataAngin;
|
||||
use Modules\Lpj\Models\JenisBangunan;
|
||||
use Modules\Lpj\Models\PosisiKavling;
|
||||
use Modules\Lpj\Models\SifatBangunan;
|
||||
use Modules\Lpj\Models\DokumenJaminan;
|
||||
use Modules\Lpj\Models\FasilitasObjek;
|
||||
use Modules\Lpj\Models\JenisKendaraan;
|
||||
use Modules\Lpj\Models\ModelAlatBerat;
|
||||
use Modules\Lpj\Models\KetinggianTanah;
|
||||
use Modules\Lpj\Models\KondisiBangunan;
|
||||
use Modules\Lpj\Models\LaporanExternal;
|
||||
use Modules\Lpj\Models\MerupakanDaerah;
|
||||
use Modules\Lpj\Models\PerkerasanJalan;
|
||||
use Modules\Lpj\Models\SaranaPelengkap;
|
||||
use Modules\Lpj\Models\TujuanPenilaian;
|
||||
use Modules\Lpj\Models\FotoObjekJaminan;
|
||||
use Modules\Lpj\Models\LaluLintasLokasi;
|
||||
use Modules\Lpj\Models\TingkatKeramaian;
|
||||
use Modules\Lpj\Models\AnalisaLingkungan;
|
||||
use Modules\Lpj\Models\KondisiFisikTanah;
|
||||
use Modules\Lpj\Models\AnalisaTanahBagunan;
|
||||
use Modules\Lpj\Models\GolonganMasySekitar;
|
||||
use Modules\Lpj\Models\SpekBangunanAnalisa;
|
||||
use Modules\Lpj\Models\DetailDokumenJaminan;
|
||||
use Modules\Lpj\Models\SpekKategoritBangunan;
|
||||
use Modules\Lpj\Http\Requests\SurveyorRequest;
|
||||
use Modules\Lpj\Models\HubunganPemilikJaminan;
|
||||
use Modules\Lpj\Models\HubunganPenghuniJaminan;
|
||||
use Modules\Lpj\Models\AnalisaUnit;
|
||||
use Modules\Lpj\Models\GolonganMasySekitar;
|
||||
use Modules\Lpj\Models\TingkatKeramaian;
|
||||
use Modules\Lpj\Models\TujuanPenilaian;
|
||||
use Modules\Lpj\Models\LaluLintasLokasi;
|
||||
use Modules\Lpj\Models\SpekBagunanAnalisaDetail;
|
||||
use Modules\Lpj\Http\Requests\SurveyorRequest;
|
||||
use Modules\Lpj\Http\Requests\FormSurveyorRequest;
|
||||
use Modules\Lpj\Jobs\SendJadwalKunjunganEmailJob;
|
||||
use App\Helpers\Lpj;
|
||||
use Modules\Lpj\Models\Penilai;
|
||||
use Barryvdh\DomPDF\Facade\Pdf;
|
||||
use Modules\Lpj\Http\Requests\FormSurveyorRequest;
|
||||
|
||||
class PreviewLaporanService
|
||||
{
|
||||
/**
|
||||
* Preview Laporan dan unduh foto terkait dengan logika fallback path.
|
||||
*
|
||||
* Menghasilkan PDF atau paket unduhan foto berdasarkan status laporan.
|
||||
* Jika file foto asli tidak ditemukan dan status LPJ adalah 1, maka
|
||||
* sistem akan mencoba menggunakan fallback path dengan pola
|
||||
* `surveyor/001/{lastTwoParts}` untuk meminimalisir gambar hilang.
|
||||
*
|
||||
* @param int $permohonan_id ID Permohonan
|
||||
* @param int $dokumen_id ID Dokumen
|
||||
* @param int $jaminan_id ID Jaminan
|
||||
* @param string $back URL atau rute kembali
|
||||
* @return \Symfony\Component\HttpFoundation\Response
|
||||
*/
|
||||
public function previewLaporan($permohonan_id, $dokumen_id, $jaminan_id, $back)
|
||||
{
|
||||
$permohonan = $this->getPermohonanJaminanId(
|
||||
@@ -90,14 +107,19 @@ class PreviewLaporanService
|
||||
$inspeksi = Inspeksi::where('permohonan_id', $permohonan_id)->where('dokument_id', $dokumen_id)->first();
|
||||
$lpj = Penilai::where('permohonan_id', $permohonan_id)->where('dokument_id', $dokumen_id)->first();
|
||||
|
||||
$mig_permohonan = json_decode($permohonan->mig_permohonan);
|
||||
|
||||
$nomorLaporan = getNomorLaporan($permohonan_id, $dokumen_id);
|
||||
$tanggalLaporan = $lpj->created_at ?? null;
|
||||
$tanggalLaporan = $permohonan->is_mig
|
||||
? ($mig_permohonan->mig_mst_jaminan_tgl_laporan ?? $mig_permohonan->mig_mst_jaminan_tgl_create ?? null)
|
||||
: ($lpj->created_at ?? null);
|
||||
$forminspeksi = null;
|
||||
$lpjData = null;
|
||||
$formFoto = null;
|
||||
|
||||
// if ($inspeksi) {
|
||||
$forminspeksi = json_decode($inspeksi?->data_form, true) ?? null;
|
||||
|
||||
$formFoto = json_decode($inspeksi?->foto_form, true) ?? null;
|
||||
// $denahForm = json_decode($data->denah_form, true);
|
||||
$dataPembanding = json_decode($inspeksi?->data_pembanding, true) ?? null;
|
||||
@@ -129,12 +151,13 @@ class PreviewLaporanService
|
||||
|
||||
public function printOutLaporan($permohonan_id, $document_id, $jaminan_id)
|
||||
{
|
||||
|
||||
$tipeLaporanResponse = $this->checkPrintOutLaporan($permohonan_id, $document_id);
|
||||
$tipeLaporan = $tipeLaporanResponse->getData();
|
||||
|
||||
//dd($permohonan_id, $document_id, $tipeLaporan);
|
||||
|
||||
if (!$tipeLaporan->status) {
|
||||
return redirect()->back()->with('error', 'Laporan tidak valid');
|
||||
//return redirect()->back()->with('error', 'Laporan tidak valid');
|
||||
}
|
||||
$permohonan = $this->getPermohonanJaminanId(
|
||||
$permohonan_id,
|
||||
@@ -145,15 +168,27 @@ class PreviewLaporanService
|
||||
$basicData = $this->getCommonData();
|
||||
|
||||
$inspeksi = Inspeksi::where('permohonan_id', $permohonan_id)->where('dokument_id', $document_id)->first();
|
||||
$lpj = Penilai::where('permohonan_id', $permohonan_id)->where('dokument_id', $document_id)->first();
|
||||
$lpj = Penilai::where('permohonan_id', $permohonan_id)->first(); //->where('dokument_id', $document_id)->first();
|
||||
|
||||
$mig_permohonan = json_decode($permohonan->mig_permohonan);
|
||||
$nomorLaporan = getNomorLaporan($permohonan_id, $document_id);
|
||||
$tanggalLaporan = $lpj->created_at ?? null;
|
||||
|
||||
//Carbon::createFromFormat('d/m/Y H:i:s', $mig_permohonan->mig_mst_jaminan_tgl_laporan)->format('Y-m-d H:i:s');
|
||||
|
||||
$tanggalLaporan = $permohonan->is_mig
|
||||
? ($mig_permohonan->mig_mst_jaminan_tgl_laporan
|
||||
? Carbon::createFromFormat('d/m/Y H:i:s', $mig_permohonan->mig_mst_jaminan_tgl_laporan)->format('Y-m-d H:i:s')
|
||||
: ($mig_permohonan->mig_mst_jaminan_tgl_oto
|
||||
? Carbon::createFromFormat('d/m/Y H:i:s', $mig_permohonan->mig_mst_jaminan_tgl_oto)->format('Y-m-d H:i:s')
|
||||
: null))
|
||||
: ($lpj->created_at ?? null);
|
||||
|
||||
|
||||
$forminspeksi = null;
|
||||
$lpjData = null;
|
||||
$formFoto = null;
|
||||
|
||||
$dataPembanding ='';
|
||||
if ($inspeksi) {
|
||||
$forminspeksi = json_decode($inspeksi->data_form, true);
|
||||
$formFoto = json_decode($inspeksi->foto_form, true);
|
||||
@@ -161,6 +196,7 @@ class PreviewLaporanService
|
||||
$dataPembanding = json_decode($inspeksi->data_pembanding, true);
|
||||
}
|
||||
|
||||
|
||||
if ($lpj) {
|
||||
$lpjData = json_decode($lpj->lpj, true);
|
||||
$memo = json_decode($lpj->memo, true);
|
||||
@@ -181,7 +217,96 @@ class PreviewLaporanService
|
||||
];
|
||||
|
||||
$viewLaporan = $this->getViewLaporan($tipeLaporan->status);
|
||||
|
||||
$statusLpj = 1;
|
||||
|
||||
$mig_permohonan = json_decode($permohonan->mig_permohonan);
|
||||
if(($tipeLaporan->status === 'memo' && $permohonan->mig_permohonan) || $mig_permohonan->mig_mst_lpj_tot_nilai_pasar < 1){
|
||||
$paths = $formFoto['upload_foto'] ?? null;
|
||||
|
||||
if (!is_array($paths) || empty($paths)) {
|
||||
return response()->json(['error' => 'No files to download'], 404);
|
||||
}
|
||||
|
||||
$files = [];
|
||||
foreach ($paths as $path) {
|
||||
if (!$path['path']) {
|
||||
Log::warning('PreviewLaporanService: Path kosong terdeteksi dalam daftar paths.');
|
||||
continue;
|
||||
}
|
||||
|
||||
// Logika fallback untuk path file
|
||||
$originalPath = $path['path'];
|
||||
$fallbackPath = null;
|
||||
|
||||
// Jika file asli tidak ditemukan, buat fallback path
|
||||
if ($statusLpj == 1) {
|
||||
$fullOriginalPath = storage_path('app/public/' . $originalPath);
|
||||
|
||||
if (!file_exists($fullOriginalPath)) {
|
||||
// Ekstrak bagian akhir path (contoh: 251051/251051_2_2.png)
|
||||
$pathParts = explode('/', $originalPath);
|
||||
if (count($pathParts) >= 2) {
|
||||
$lastTwoParts = array_slice($pathParts, -2);
|
||||
$fallbackPath = 'surveyor/001/' . implode('/', $lastTwoParts);
|
||||
Log::info('PreviewLaporanService: Menggunakan fallback path kandidat.', [
|
||||
'original' => $originalPath,
|
||||
'fallback' => $fallbackPath,
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Tentukan path yang akan digunakan
|
||||
$pathToUse = ($fallbackPath && $statusLpj == 1 && file_exists(storage_path('app/public/' . $fallbackPath)))
|
||||
? $fallbackPath
|
||||
: $originalPath;
|
||||
|
||||
$fullPath = storage_path('app/public/' . $pathToUse);
|
||||
if (!file_exists($fullPath)) {
|
||||
Log::warning('PreviewLaporanService: File tidak ditemukan untuk original maupun fallback.', [
|
||||
'original' => $originalPath,
|
||||
'fallback' => $fallbackPath,
|
||||
'resolved' => $pathToUse,
|
||||
]);
|
||||
continue;
|
||||
}
|
||||
|
||||
Log::info('PreviewLaporanService: Menambahkan file untuk diunduh.', [
|
||||
'resolved' => $pathToUse,
|
||||
'fullPath' => $fullPath,
|
||||
]);
|
||||
$files[] = $fullPath;
|
||||
}
|
||||
|
||||
if (empty($files)) {
|
||||
Log::warning('PreviewLaporanService: Tidak ada file valid ditemukan setelah resolusi path.');
|
||||
return response()->json(['error' => 'No valid files found'], 404);
|
||||
}
|
||||
|
||||
// For single file, download directly
|
||||
if (count($files) === 1) {
|
||||
Log::info('PreviewLaporanService: Mengunduh single file.', ['file' => $files[0]]);
|
||||
return response()->download($files[0]);
|
||||
}
|
||||
|
||||
// For multiple files, create zip and download
|
||||
$zipName = 'photos_' . time() . '.zip';
|
||||
$zipPath = storage_path('app/public/' . $zipName);
|
||||
|
||||
$zip = new \ZipArchive();
|
||||
if ($zip->open($zipPath, \ZipArchive::CREATE) === true) {
|
||||
foreach ($files as $file) {
|
||||
$zip->addFile($file, basename($file));
|
||||
}
|
||||
$zip->close();
|
||||
Log::info('PreviewLaporanService: Zip file berhasil dibuat.', ['zip' => $zipPath, 'count' => count($files)]);
|
||||
return response()->download($zipPath)->deleteFileAfterSend(true);
|
||||
}
|
||||
|
||||
Log::error('PreviewLaporanService: Gagal membuat zip file.');
|
||||
return response()->json(['error' => 'Failed to create zip file'], 500);
|
||||
}
|
||||
try {
|
||||
$pdf = $this->generatePDF($viewLaporan, compact(
|
||||
'permohonan',
|
||||
@@ -214,6 +339,8 @@ class PreviewLaporanService
|
||||
|
||||
private function generatePDF(string $viewLaporan, array $data)
|
||||
{
|
||||
//return view('lpj::' . $viewLaporan, $data);
|
||||
|
||||
$pdf = PDF::loadView('lpj::' . $viewLaporan, $data);
|
||||
$pdf->setPaper('A4', 'portrait');
|
||||
$pdf->set_option('isHtml5ParserEnabled', true);
|
||||
@@ -239,12 +366,14 @@ class PreviewLaporanService
|
||||
public function checkPrintOutLaporan($permohonan_id, $dokumen_id)
|
||||
{
|
||||
|
||||
|
||||
// Ambil data berdasarkan ID
|
||||
$statusLpj = Penilai::where('permohonan_id', $permohonan_id)
|
||||
->where('dokument_id', $dokumen_id)
|
||||
//->where('dokument_id', $dokumen_id)
|
||||
->first();
|
||||
|
||||
|
||||
$permohonan = Permohonan::where('id', $permohonan_id)->first();
|
||||
|
||||
// Jika data tidak ditemukan, kembalikan status null
|
||||
if (!$statusLpj) {
|
||||
return response()->json(['status' => null]);
|
||||
@@ -253,7 +382,7 @@ class PreviewLaporanService
|
||||
// Tentukan tipe berdasarkan kondisi
|
||||
$type = $statusLpj->type_penilai ?? null;
|
||||
|
||||
if ($type === 'memo') {
|
||||
if ($type === 'memo' && $permohonan->is_mig!=1) {
|
||||
return $this->checkDataMemo($type, $statusLpj);
|
||||
}
|
||||
|
||||
@@ -281,6 +410,7 @@ class PreviewLaporanService
|
||||
// Ambil data JSON dari statusLpj
|
||||
$data = json_decode($statusLpj->memo, true) ?? [];
|
||||
|
||||
|
||||
$validationRules = [
|
||||
'memo' => [
|
||||
'kepada',
|
||||
|
||||
@@ -1,10 +1,19 @@
|
||||
@if (is_array($details) && count($details) > 0)
|
||||
@php $currentKey = ''; @endphp
|
||||
@foreach ($details as $value)
|
||||
@foreach ($value as $key => $item)
|
||||
|
||||
@if (!empty($item))
|
||||
<tr>
|
||||
<td style="padding: 2px; width:25%;">
|
||||
@if ($currentKey !== $key)
|
||||
{{ formatLabel($key) }}
|
||||
@endif
|
||||
@php
|
||||
if ($currentKey !== $key) {
|
||||
$currentKey = $key;
|
||||
}
|
||||
@endphp
|
||||
</td>
|
||||
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px;">
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
user_id: {
|
||||
title: 'User Pemohon',
|
||||
render: (item, data) => {
|
||||
return `${data.user.name}`;
|
||||
return `${data.user?.name}`;
|
||||
},
|
||||
},
|
||||
tujuan_penilaian_id: {
|
||||
@@ -180,16 +180,16 @@
|
||||
jenis_fasilitas_kredit_id: {
|
||||
title: 'Fasilitas Kredit',
|
||||
render: (item, data) => {
|
||||
return `${data.jenis_fasilitas_kredit.name}`;
|
||||
return `${data.jenis_fasilitas_kredit?.name}`;
|
||||
}
|
||||
},
|
||||
tanggal_survei: {
|
||||
title: 'Tanggal Survei',
|
||||
render: (item, data) => {
|
||||
if (data.penilaian.waktu_penilaian) {
|
||||
return `${formatDate(new Date(data.penilaian.waktu_penilaian))}`;
|
||||
if (data.penilaian?.waktu_penilaian) {
|
||||
return `${formatDate(new Date(data.penilaian?.waktu_penilaian))}`;
|
||||
}
|
||||
return `${formatDate(new Date(data.penilaian.created_at))}`;
|
||||
return `${formatDate(new Date(data.penilaian?.created_at))}`;
|
||||
},
|
||||
},
|
||||
due_date_sla: {
|
||||
@@ -197,10 +197,10 @@
|
||||
render: (item, data) => {
|
||||
const tujuan_penilaian = data.tujuan_penilaian.name;
|
||||
const tipe_laporan = data.penilai?.type;
|
||||
const nilai_plafond = data.penilaian.nilaiPlafond?.name;
|
||||
let waktu_penilaian = new Date(data.penilaian.created_at);
|
||||
if (data.penilaian.waktu_penilaian) {
|
||||
waktu_penilaian = new Date(data.penilaian.waktu_penilaian);
|
||||
const nilai_plafond = data.penilaian?.nilaiPlafond?.name;
|
||||
let waktu_penilaian = new Date(data.penilaian?.created_at);
|
||||
if (data.penilaian?.waktu_penilaian) {
|
||||
waktu_penilaian = new Date(data.penilaian?.waktu_penilaian);
|
||||
}
|
||||
|
||||
if (tujuan_penilaian.name === "RAP") {
|
||||
@@ -249,23 +249,17 @@
|
||||
}
|
||||
}
|
||||
|
||||
if (data.penilai.resume) {
|
||||
if (data.penilai?.resume) {
|
||||
resumeButton = `
|
||||
<a href="penilai/print-out-laporan/${data.id}/${dokumenID}/${jenisJaminanID}" class="btn btn-sm btn-success">
|
||||
Resume
|
||||
</a>`;
|
||||
}
|
||||
|
||||
if (data.nilai_liquidasi == null) {
|
||||
laporanButton = `
|
||||
<a href="laporan/${data.id}" class="btn btn-sm btn-primary">
|
||||
Laporan
|
||||
</a>`;
|
||||
}
|
||||
|
||||
if ((data.status_bayar == "sudah_bayar" || data.status_bayar == "tidak_bayar") && data
|
||||
.nilai_liquidasi > 0) {
|
||||
if (data.penilai.type_penilai == 'resume' && !data.penilai.resume) {
|
||||
|
||||
if ((data.status_bayar == "sudah_bayar" || data.status_bayar == "tidak_bayar")) {
|
||||
if (data.penilai?.type_penilai == 'resume' && !data.penilai?.resume) {
|
||||
laporanButton = `
|
||||
<a href="penilai/print-out-laporan/${data.id}/${dokumenID}/${jenisJaminanID}" class="btn btn-sm btn-primary">
|
||||
Laporan
|
||||
|
||||
@@ -1,5 +1,56 @@
|
||||
<div class="no-break">
|
||||
<table style="width: 100%">
|
||||
@if($permohonan->is_mig)
|
||||
@if (!empty($forminspeksi['fakta']['keterangan']))
|
||||
@foreach ($forminspeksi['fakta']['keterangan'] as $key => $item)
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
{{ $key }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; text-align: left;">
|
||||
@if (is_array($item))
|
||||
@foreach ($item as $data_)
|
||||
{!! nl2br(e($data_)) !!}<br>
|
||||
@endforeach
|
||||
@else
|
||||
{!! nl2br(e($item)) !!}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@if (!empty($forminspeksi['fakta']['saran']))
|
||||
@foreach ($forminspeksi['fakta']['saran'] as $key => $item)
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
SARAN
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; text-align: left;">
|
||||
@if (is_array($item))
|
||||
@foreach ($item as $data_)
|
||||
{!! nl2br(e($data_)) !!}<br>
|
||||
@endforeach
|
||||
@else
|
||||
{!! nl2br(e($item)) !!}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endforeach
|
||||
@endif
|
||||
@else
|
||||
<tr>
|
||||
<td width="25%" style="vertical-align: top;">Informasi Dinas Tata Ruang
|
||||
</td>
|
||||
@@ -34,31 +85,6 @@
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@if (!empty($forminspeksi['fakta']['keterangan']))
|
||||
<tr>
|
||||
<td width="25%" style="vertical-align: top;">Catatan yang Perlu
|
||||
Diperhatikan</td>
|
||||
<td width="1%" style="vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top;">
|
||||
@php
|
||||
$keterangan = $forminspeksi['fakta']['keterangan'] ?? '';
|
||||
if (is_array($keterangan)) {
|
||||
$keterangan = implode(', ', array_filter($keterangan));
|
||||
}
|
||||
@endphp
|
||||
|
||||
@if (!empty($keterangan))
|
||||
<table style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td>{!! nl2br(e($keterangan)) !!}</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
'foto_argis_region' => 'Blad Tata Ruang ',
|
||||
'foto_tempat' => 'Peta Lokasi',
|
||||
];
|
||||
|
||||
// Memindahkan foto_tempat ke depan jika ada
|
||||
if (($key = array_search('upload_gs', $fotoTypes)) !== false) {
|
||||
unset($fotoTypes[$key]);
|
||||
@@ -68,7 +69,7 @@
|
||||
@endphp
|
||||
@if ($imagePath && file_exists(storage_path('app/public/' . $imagePath)))
|
||||
<tr>
|
||||
<td style="width: 100%; vertical-align: top; text-align: center" class="photo-item border">
|
||||
<td style="width: 100%; vertical-align: top; text-align: center" class="border photo-item">
|
||||
<p style="margin: 0; font-size: 10px; text-align: center;">
|
||||
{{ $customLabels[$type] ?? '' }}
|
||||
</p>
|
||||
|
||||
@@ -81,6 +81,32 @@
|
||||
$groupedPhotos = collect($photos)->groupBy('category');
|
||||
|
||||
$mainPhotos = $groupedPhotos->filter(fn($_, $key) => strtolower($key) !== 'lainnya');
|
||||
|
||||
// Definisikan urutan yang diinginkan
|
||||
$desiredOrder = [
|
||||
'PETA LOKASI',
|
||||
'GAMBAR SITUASI / SURAT UKUR',
|
||||
'BLAD TATA KOTA',
|
||||
'FOTO JAMINAN',
|
||||
'DOKUMEN PENDUKUNG'
|
||||
];
|
||||
|
||||
// Urutkan ulang $mainPhotos sesuai urutan yang diinginkan
|
||||
$orderedMainPhotos = collect();
|
||||
foreach ($desiredOrder as $category) {
|
||||
if ($mainPhotos->has($category)) {
|
||||
$orderedMainPhotos->put($category, $mainPhotos->get($category));
|
||||
}
|
||||
}
|
||||
|
||||
// Tambahkan kategori lain yang tidak ada dalam urutan yang diinginkan
|
||||
foreach ($mainPhotos as $category => $photos) {
|
||||
if (!in_array($category, $desiredOrder)) {
|
||||
$orderedMainPhotos->put($category, $photos);
|
||||
}
|
||||
}
|
||||
|
||||
$mainPhotos = $orderedMainPhotos;
|
||||
$otherPhotos = $groupedPhotos->get('lainnya', collect());
|
||||
@endphp
|
||||
|
||||
@@ -88,6 +114,9 @@
|
||||
<p class="text-gray-500">Tidak ada foto yang tersedia.</p>
|
||||
@else
|
||||
@foreach ($mainPhotos as $category => $photos)
|
||||
@if($category=='DOKUMEN PENDUKUNG')
|
||||
@php continue; @endphp
|
||||
@endif
|
||||
@php
|
||||
$groupedBySubcategory = $photos->groupBy('sub');
|
||||
@endphp
|
||||
@@ -95,16 +124,42 @@
|
||||
@foreach ($groupedBySubcategory as $subcategory => $subPhotos)
|
||||
@if (count($subPhotos) > 0)
|
||||
@foreach ($subPhotos->chunk(2) as $chunkedPhotos)
|
||||
@if(!$loop->first)
|
||||
<div class="page-break"></div>
|
||||
@endif
|
||||
<table width="100%" border="0"
|
||||
style="align-content: center; text-align: center; margin-bottom: 20px">
|
||||
@foreach ($chunkedPhotos as $item)
|
||||
@php
|
||||
// Logika fallback untuk path file
|
||||
$originalPath = $item['path'];
|
||||
$fallbackPath = null;
|
||||
|
||||
// Jika file asli tidak ditemukan, buat fallback path
|
||||
if ($statusLpj == 1) {
|
||||
$fullOriginalPath = storage_path('app/public/' . $originalPath);
|
||||
|
||||
if (!file_exists($fullOriginalPath)) {
|
||||
// Ekstrak bagian akhir path (contoh: 251051/251051_2_2.png)
|
||||
$pathParts = explode('/', $originalPath);
|
||||
if (count($pathParts) >= 2) {
|
||||
$lastTwoParts = array_slice($pathParts, -2);
|
||||
$fallbackPath = 'surveyor/001/' . implode('/', $lastTwoParts);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Tentukan path yang akan digunakan
|
||||
$pathToUse = ($fallbackPath && $statusLpj == 1 && file_exists(storage_path('app/public/' . $fallbackPath)))
|
||||
? $fallbackPath
|
||||
: $originalPath;
|
||||
|
||||
$filePath =
|
||||
$statusLpj == 1
|
||||
? storage_path('app/public/' . $item['path'])
|
||||
: asset('storage/' . $item['path']);
|
||||
? storage_path('app/public/' . $pathToUse)
|
||||
: asset('storage/' . $pathToUse);
|
||||
|
||||
$extension = strtolower(pathinfo($item['path'], PATHINFO_EXTENSION));
|
||||
$extension = strtolower(pathinfo($pathToUse, PATHINFO_EXTENSION));
|
||||
$isImage = in_array($extension, [
|
||||
'jpg',
|
||||
'jpeg',
|
||||
@@ -121,7 +176,7 @@
|
||||
@if ($isImage && $filePath)
|
||||
<tr>
|
||||
<td style="width: 100%; padding: 10px; align-content: center; text-align: center"
|
||||
class="photo-item border">
|
||||
class="border photo-item">
|
||||
<p style="font-weight: medium; font-size: 10px">{{ $category }} -
|
||||
@isset($subcategory)
|
||||
@if (trim($subcategory) !== '')
|
||||
@@ -130,7 +185,7 @@
|
||||
@endisset
|
||||
{{ $item['name'] ?? '' }}
|
||||
</p>
|
||||
<img src="{{ $filePath }}" alt="{{ $item['path'] }}" class="photo-image"
|
||||
<img src="{{ $filePath }}" alt="{{ $pathToUse }}" class="photo-image"
|
||||
style="align-content: center; text-align: center; max-width: 100%; height: auto;">
|
||||
</td>
|
||||
</tr>
|
||||
@@ -138,7 +193,7 @@
|
||||
@elseif ($statusLpj != 1)
|
||||
<tr>
|
||||
<td style="width: 100%; padding: 10px; align-content: center; text-align: center"
|
||||
class="photo-item border ">
|
||||
class="border photo-item">
|
||||
|
||||
<p style="font-weight: medium; font-size: 10px">{{ $category }} -
|
||||
@isset($subcategory)
|
||||
@@ -180,13 +235,13 @@
|
||||
<tr style="width: 100%;"></tr>
|
||||
@endif
|
||||
</table>
|
||||
<div class="page-break"></div>
|
||||
@endforeach
|
||||
@endif
|
||||
@endforeach
|
||||
@endforeach
|
||||
|
||||
@if (!$otherPhotos->isEmpty())
|
||||
@dd(!$otherPhotos->isEmpty())
|
||||
@foreach ($otherPhotos->groupBy('sub') as $subcategory => $subPhotos)
|
||||
@if (count($subPhotos) > 0)
|
||||
@foreach ($subPhotos->chunk(2) as $chunkedPhotos)
|
||||
@@ -216,7 +271,7 @@
|
||||
@if ($isImage && $filePath)
|
||||
<tr>
|
||||
<td style="width: 100%; padding: 10px; align-content: center; text-align: center"
|
||||
class="photo-item border">
|
||||
class="border photo-item">
|
||||
<p style="font-weight: medium; font-size: 10px">{{ $category }} -
|
||||
@isset($subcategory)
|
||||
@if (trim($subcategory) !== '')
|
||||
@@ -232,7 +287,7 @@
|
||||
@endif
|
||||
@elseif ($statusLpj != 1)
|
||||
<tr>
|
||||
<td style="width: 100%; padding: 10px;" class="photo-item border">
|
||||
<td style="width: 100%; padding: 10px;" class="border photo-item">
|
||||
<p style="font-weight: medium; font-size: 10px">Lainnya -
|
||||
@isset($subcategory)
|
||||
@if (trim($subcategory) !== '')
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<td style="width: 79%; padding: 2px;">{{ $rap['dari'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Tanggal Survey</td>
|
||||
<td style="width: 25%; padding: 2px;">Tanggal Penilaian</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="width: 79%; padding: 2px;">
|
||||
{{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) }}</td>
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
$jenisAset = $dokumen->jenisJaminan->name;
|
||||
}
|
||||
$data = rtrim($data, ', ');
|
||||
|
||||
$permohonan_migrasi = json_decode($permohonan->mig_permohonan);
|
||||
|
||||
@endphp
|
||||
|
||||
<main class="content">
|
||||
@@ -43,7 +46,7 @@
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Permintaan (AO)</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $permohonan->user->name ?? '-' }}</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $permohonan->user->name ?? $permohonan_migrasi->mig_mst_jaminan_nama_ao ?? '-' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">No Order</td>
|
||||
@@ -57,18 +60,11 @@
|
||||
{{ formatTanggalIndonesia($permohonan->tanggal_permohonan) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Tanggal Survey</td>
|
||||
<td style="padding: 2px; vertical-align: top;">Tanggal Penilaian</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">User</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $permohonan->user->name ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@php
|
||||
$senior_officer = null;
|
||||
if ($permohonan->debiture && $permohonan->documents) {
|
||||
@@ -97,7 +93,11 @@
|
||||
}
|
||||
|
||||
@endphp
|
||||
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">User</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $penilai->user->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Pemeriksa</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
@@ -108,17 +108,32 @@
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $permohonan->approveSo->name ?? '' }}</td>
|
||||
</tr>
|
||||
@if($permohonan->is_mig)
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">No Laporan</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ $permohonan_migrasi->mig_mst_lpj_nomor_lpj ?? '-' }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Tanggal Laporan</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ formatTanggalIndonesia($tanggalLaporan) ?? '' }}</td>
|
||||
{{ formatTanggalIndonesia($tanggalLaporan) ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Waktu Penyelesaian</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ hitungHariKerja($permohonan->penilaian->tanggal_kunjungan, $tanggalLaporan) }}</td>
|
||||
<td>
|
||||
@if($permohonan->is_mig)
|
||||
{{ hitungHariKerja($permohonan->penilaian->tanggal_kunjungan, \Carbon\Carbon::createFromFormat('d/m/Y H:i:s', $permohonan_migrasi->mig_mst_jaminan_tgl_oto)->format('Y-m-d H:i:s'))-1 }}
|
||||
@else
|
||||
{{ hitungHariKerja($permohonan->penilaian->tanggal_kunjungan, $tanggalLaporan) }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
@@ -142,8 +157,27 @@
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $permohonan->tujuanPenilaian->name ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
@if ($permohonan->is_mig == 1)
|
||||
{{-- <table style="width: 100%; "> --}}
|
||||
|
||||
@if ($permohonan->is_mig)
|
||||
@php
|
||||
$data = json_decode($inspeksi->mig_detail_data_jaminan, true);
|
||||
@endphp
|
||||
@foreach ($data as $key => $item)
|
||||
@if ($key == 'address')
|
||||
@php $key = 'Terletak di'; @endphp
|
||||
@endif
|
||||
@php
|
||||
// Remove suffix _2, _3, _4, _5 from key
|
||||
$key = preg_replace('/_([2-5])$/', '', $key);
|
||||
@endphp
|
||||
<tr>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $key }}</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $item }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
@else
|
||||
@if (@isset($dokumen))
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
@if (!empty($detail->name) && isset($detail->details) && !empty($detail->dokumen_jaminan))
|
||||
@@ -160,7 +194,7 @@
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
@else
|
||||
|
||||
<tr>
|
||||
<td style=" padding: 2px; vertical-align: top;">Terletak di</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">:</td>
|
||||
@@ -187,7 +221,7 @@
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $alamat['province_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
|
||||
@endif
|
||||
|
||||
@include('lpj::component.print-out-dokument')
|
||||
|
||||
@if (isset($forminspeksi['asset']['nomor_nib']))
|
||||
@@ -202,6 +236,7 @@
|
||||
<td style=" padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px;">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
</table>
|
||||
</td>
|
||||
@@ -209,7 +244,7 @@
|
||||
</table>
|
||||
|
||||
<div class="no-break">
|
||||
|
||||
@php $mig_detail_legalitas_jaminan = json_decode($inspeksi->mig_detail_legalitas_jaminan, true); @endphp
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td style="width: 50%; border: 1px solid #000;">
|
||||
@@ -217,27 +252,30 @@
|
||||
</td>
|
||||
|
||||
<td style="width: 50%; border: 1px solid #000;">
|
||||
SARANA PELENGKAP DAN LINGKUNGAN
|
||||
SARANA PELENGKAP DAN LINGKUNGAN --
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
<td style="vertical-align: top;">
|
||||
<table style="vertical-align: top;">
|
||||
<tr>
|
||||
@php
|
||||
$cekHubDebitur = isset($forminspeksi['asset']['hub_cadeb']) &&
|
||||
$cekHubDebitur =
|
||||
isset($forminspeksi['asset']['hub_cadeb']) &&
|
||||
$forminspeksi['asset']['hub_cadeb'] === 'sesuai'
|
||||
? 'sesuai'
|
||||
: 'tidak sesuai';
|
||||
|
||||
$hubCadebDebitur = isset($forminspeksi['asset']['hub_cadeb'][$cekHubDebitur])
|
||||
? $forminspeksi['asset']['hub_cadeb']['tidak sesuai']
|
||||
: $forminspeksi['asset']['hub_cadeb']['sesuai'];
|
||||
: (isset($forminspeksi['asset']['hub_cadeb']['sesuai']) ? $forminspeksi['asset']['hub_cadeb']['sesuai'] : '');
|
||||
|
||||
@endphp
|
||||
<td style=" width:49%; padding: 2px; vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitur</td>
|
||||
<td style=" width:49%; padding: 2px; vertical-align: top;">Hubungan Pemilik Jaminan dengan
|
||||
Debitur</td>
|
||||
<td style=" width:1%; padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" width:50%; padding: 2px; vertical-align: top;">{{ $hubCadebDebitur ?? '' }}</td>
|
||||
<td style=" width:50%; padding: 2px; vertical-align: top;">{{ $cekHubDebitur =='tidak sesuai' ? 'Lain-lain, ' : '' }} {{ $hubCadebDebitur ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@php
|
||||
@@ -250,9 +288,10 @@
|
||||
|
||||
$hubCadeb = isset($forminspeksi['asset']['hub_cadeb_penghuni'][$cekHub])
|
||||
? $forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai']
|
||||
: $forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'];
|
||||
: (isset($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai']) ? $forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'] : '');
|
||||
@endphp
|
||||
<td style=" padding: 2px; vertical-align: top;">Hubungan Penghuni Jaminan dengan Debitur</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">Hubungan Penghuni Jaminan dengan Debitur
|
||||
</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
|
||||
</tr>
|
||||
@@ -260,6 +299,20 @@
|
||||
</td>
|
||||
|
||||
<td style="width: 50%; vertical-align: top;">
|
||||
@if ($permohonan->is_mig)
|
||||
@if(isset($mig_detail_legalitas_jaminan['SARANA PELENGKAP DAN LINGKUNGAN']))
|
||||
<table>
|
||||
@foreach ($mig_detail_legalitas_jaminan['SARANA PELENGKAP DAN LINGKUNGAN'] as $item)
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $item['label'] }}</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ ltrim($item['value'], ',') }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
</table>
|
||||
@endif
|
||||
@else
|
||||
<table>
|
||||
@php
|
||||
$lingkungan = $forminspeksi['lingkungan'];
|
||||
@@ -270,19 +323,24 @@
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Jarak Jalan Utama</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jarak_jalan_utama'] ?? '-' }} m
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ $lingkungan['jarak_jalan_utama'] ?? '-' }} m
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Jalan Lingkungan</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jalan_linkungan'] ?? '-' }} m
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ $lingkungan['jalan_linkungan'] ?? '-' }}
|
||||
m
|
||||
</td>
|
||||
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Jarak CBD</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $lingkungan['jarak_cbd_point'] ?? '-' }} m
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ $lingkungan['jarak_cbd_point'] ?? '-' }}
|
||||
m
|
||||
({{ $lingkungan['nama_cbd_point'] ?? '-' }})</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -296,7 +354,7 @@
|
||||
<td style="padding: 2px; vertical-align: top;">:
|
||||
</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ implode(', ', $lingkungan['perkerasan_jalan']['perkerasan_jalan'] ?? $lingkungan['perkerasan_jalan'] ?? ['-']) }}
|
||||
{{ implode(', ', $lingkungan['perkerasan_jalan']['perkerasan_jalan'] ?? ($lingkungan['perkerasan_jalan'] ?? ['-'])) }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -304,33 +362,33 @@
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Lalu Lintas</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{
|
||||
$lingkungan['lalu_lintas']
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ $lingkungan['lalu_lintas']
|
||||
? (is_array($lingkungan['lalu_lintas'])
|
||||
? implode(', ', $lingkungan['lalu_lintas'])
|
||||
: $lingkungan['lalu_lintas'])
|
||||
: '-'
|
||||
}}
|
||||
: '-' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Golongan Masyarakat Sekitar</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ implode(', ', $lingkungan['gol_mas_sekitar'] ?? $lingkungan['gol_mas_sekitar'] ?? ['-']) }}
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ implode(', ', $lingkungan['gol_mas_sekitar'] ?? ($lingkungan['gol_mas_sekitar'] ?? ['-'])) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Tingkat Keramaian</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ implode(', ', $lingkungan['tingkat_keramaian']['tingkat_keramaian'] ?? $lingkungan['tingkat_keramaian'] ?? ['-']) }}
|
||||
{{ implode(', ', $lingkungan['tingkat_keramaian']['tingkat_keramaian'] ?? ($lingkungan['tingkat_keramaian'] ?? ['-'])) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">Terletak di Area</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ implode(', ', $lingkungan['terletak_diarea']['terletak_diarea'] ?? $lingkungan['terletak_diarea'] ?? ['-']) }}
|
||||
{{ implode(', ', $lingkungan['terletak_diarea']['terletak_diarea'] ?? ($lingkungan['terletak_diarea'] ?? ['-'])) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -394,11 +452,30 @@
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@if ($permohonan->is_mig)
|
||||
@if(isset($mig_detail_legalitas_jaminan['ANALISA TANAH DAN BANGUNAN']))
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td colspan="3" style="border: 1px solid #000;">
|
||||
ANALISA TANAH DAN BANGUNAN
|
||||
</td>
|
||||
</tr>
|
||||
@foreach ($mig_detail_legalitas_jaminan['ANALISA TANAH DAN BANGUNAN'] as $item)
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ $item['label'] }}</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ ltrim($item['value'], ',') }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endif
|
||||
@endif
|
||||
@foreach ($permohonan->documents as $dokumen)
|
||||
@if ($dokumen->jenisJaminan)
|
||||
@php
|
||||
@@ -410,17 +487,18 @@
|
||||
$kategoriUnik = array_unique($kategoriArray);
|
||||
@endphp
|
||||
|
||||
@if(!$permohonan->is_mig)
|
||||
@foreach ($kategoriUnik as $kategori)
|
||||
|
||||
@if ($kategori !== 'lingkungan')
|
||||
@include('lpj::penilai.components.analisa.' . str_replace('-', '-', $kategori), [
|
||||
@include(
|
||||
'lpj::penilai.components.analisa.' . str_replace('-', '-', $kategori),
|
||||
[
|
||||
'dokumen' => $dokumen,
|
||||
])
|
||||
@endif
|
||||
|
||||
]
|
||||
)
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
<div class="no-break">
|
||||
@@ -431,7 +509,9 @@
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@if(isset($dataPembanding))
|
||||
@include('lpj::penilai.components.print-pembanding')
|
||||
@endif
|
||||
</div>
|
||||
<div class="no-break">
|
||||
<table style="width: 100%">
|
||||
@@ -445,11 +525,12 @@
|
||||
<td style="padding: 8px; width: 100%;">
|
||||
<table style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<td colspan="3" style="padding: 8px; text-align: left;">
|
||||
<td colspan="6" style="padding: 8px; text-align: left;">
|
||||
<strong>a. Total Nilai Pasar Wajar</strong>
|
||||
</td>
|
||||
</tr>
|
||||
@php
|
||||
$totalNilaiPasarWajar = 0;
|
||||
$labelNilai = [
|
||||
'bangunan' => 'Luas Bangunan',
|
||||
'tanah' => 'Luas Tanah',
|
||||
@@ -465,77 +546,67 @@
|
||||
unset($labelNilai['tanah']);
|
||||
}
|
||||
@endphp
|
||||
@foreach ($labelNilai as $key => $label)
|
||||
@if (isset($lpjData['luas_' . $key]))
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right; width:30%; ">
|
||||
{{ $label }} {{ $lpjData['luas_' . $key] ?? '' }} m<sup>2</sup>
|
||||
</td>
|
||||
<td style="padding: 3px; width:30%;">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Rp
|
||||
{{ $lpjData['nilai_' . $key . '_1'] ?? '' }}
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:40%;">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $lpjData['nilai_' . $key . '_2'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@if (isset($lpjData['npw_tambahan']))
|
||||
@foreach ($lpjData['npw_tambahan'] as $npw)
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right;">
|
||||
{{ $npw['name'] }} {{ $npw['luas'] }} m<sup>2</sup>
|
||||
<td width="30%" style="padding: 3px; text-align: right;">
|
||||
{{ $npw['name'] }}</sup>
|
||||
</td>
|
||||
<td style="padding: 3px;">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Rp
|
||||
{{ $npw['nilai_1'] }}
|
||||
<td width="10%" style="padding: 3px; text-align: right;">
|
||||
{{ $npw['luas'] }} m<sup>2</sup>
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:40%">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $npw['nilai_2'] }}
|
||||
<td width="5%" style="padding: 3px; text-align: center;">X</td>
|
||||
<td width="25%" style="padding: 3px; text-align:right">
|
||||
{{ number_format($npw['nilai_1'], 0, ',', '.') ?? '' }}
|
||||
</td>
|
||||
<td width="5" style="padding: 3px; text-align: center;">
|
||||
=
|
||||
</td>
|
||||
<td width="25%" style="padding: 3px; text-align: left; text-align: right;">
|
||||
{{ number_format($npw['nilai_2'], 0, ',', '.') ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
@php $totalNilaiPasarWajar += $npw['nilai_2']; @endphp
|
||||
@endforeach
|
||||
@endif
|
||||
<tr>
|
||||
<td style="padding: 3px; font-weight: bold; width:30%;">Total Nilai Pasar Wajar</td>
|
||||
<td style="padding: 3px; text-align: right; font-weight: bold; width:30%"></td>
|
||||
<td style="padding: 3px; text-align: left; font-weight: bold; width: 40%;">
|
||||
<span style="padding-left: 20px; padding-right: 20px;">=</span>
|
||||
<td style="padding: 3px; text-align: right; font-weight: bold; width:10%;" colspan="4">Total Nilai Pasar Wajar</td>
|
||||
<td style="padding: 3px; text-align: center; width:5%;font-weight: bold;" >=</td>
|
||||
<td style="padding: 3px; text-align: right; font-weight: bold; width: 40%;">
|
||||
<div style="display: inline-block; border-top: 1px solid black; padding-top: 3px;">
|
||||
Rp {{ $lpjData['total_nilai_pasar_wajar'] ?? '' }}
|
||||
{{ $lpjData['total_nilai_pasar_wajar'] ? number_format($lpjData['total_nilai_pasar_wajar'], 0, ',', '.') : number_format($totalNilaiPasarWajar, 0, ',', '.') ?? '' }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@if (isset($lpjData['likuidasi']) && $lpjData['likuidasi_nilai_2'] > 0)
|
||||
|
||||
|
||||
<tr>
|
||||
<td colspan="3" style="padding: 8px; text-align: left; font-weight: bold;">
|
||||
<td colspan="6" style="padding: 8px; text-align: left; font-weight: bold;">
|
||||
b. Total Nilai Likuidasi
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right; width:20%">
|
||||
{{ $lpjData['likuidasi'] ?? '' }}%
|
||||
<td style="padding: 3px; text-align: right;" colspan="4">
|
||||
{{ $lpjData['likuidasi'] ?? '' }}% <span style="padding-left:20px; padding-right: 20px">X</span> Total Nilai Pasar
|
||||
Wajar
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; font-weight: bold; width:40%">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Total Nilai Pasar Wajar
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:40%;">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $lpjData['likuidasi_nilai_2'] ?? '' }}
|
||||
<td style="padding: 3px; text-align: center; font-weight: bold;">=</td>
|
||||
<td style="padding: 3px; text-align: right;font-weight: bold;">{{ number_format($permohonan_migrasi->mig_mst_lpj_tot_nilai_likuidasi, 0, ',', '.') ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@if($permohonan->is_mig)
|
||||
@include(
|
||||
'lpj::penilai.components.analisa.informasi',
|
||||
[
|
||||
'dokumen' => $dokumen,
|
||||
]
|
||||
)
|
||||
@endif
|
||||
<div class="no-break">
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
@@ -570,7 +641,7 @@
|
||||
maupun ekstern</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@include('lpj::penilai.components.signature-approval')
|
||||
@include('lpj::penilai.components.signature-approval',['laporan' => 'sederhana','npw' => $totalNilaiPasarWajar])
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
$dokument = $dokumen;
|
||||
}
|
||||
$data = rtrim($data, ', ');
|
||||
|
||||
$permohonan_migrasi = json_decode($permohonan->mig_permohonan);
|
||||
@endphp
|
||||
<main class="content">
|
||||
@php
|
||||
@@ -52,13 +54,19 @@
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Cabang/Pemohon</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top; vertical-align: top;">
|
||||
{{ $permohonan->debiture->branch->name ?? '' }}
|
||||
{{ $permohonan->branch->name ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Tujuan Penilai</td>
|
||||
<td style="width: 1%; padding: 2px;">:</td>
|
||||
<td style="vertical-align: top; padding: 2px;">
|
||||
{{ $permohonan->tujuanPenilaian->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style=" padding: 2px; vertical-align: top;">Fasilitas Kredit</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">
|
||||
{{ $permohonan->jenisFasilitasKredit->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -77,7 +85,7 @@
|
||||
{{ formatTanggalIndonesia($permohonan->tanggal_permohonan) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px;">Tanggal Survey</td>
|
||||
<td style="width: 25%; padding: 2px;">Tanggal Penilaian</td>
|
||||
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
|
||||
<td style="vertical-align: top; width: 79%;">
|
||||
{{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) }}
|
||||
@@ -103,6 +111,13 @@
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
<td style="vertical-align: top; ">{{ $permohonan->debiture->name ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Alamat dan Telpon</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
{{ $permohonan->debiture->address ?? '' }} {{ $permohonan->debiture->phone ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 25%; padding: 2px; vertical-align: top;">Debitur / Wakil Debitur</td>
|
||||
<td style="width: 1%; vertical-align: top;">:</td>
|
||||
@@ -137,14 +152,20 @@
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@if ($permohonan->is_mig == 1)
|
||||
<table style="width: 100%; ">
|
||||
@if (@isset($dokumen))
|
||||
@if (isset($dokumen))
|
||||
<tr>
|
||||
<td width="25%">Jenis Jaminan</td>
|
||||
<td width="1%">:</td>
|
||||
<td>{{ $dokumen->jenisJaminan?->name ?? '' }}</td>
|
||||
</tr>
|
||||
@foreach ($dokumen->detail as $detail)
|
||||
@if (!empty($detail->name) && isset($detail->details) && !empty($detail->dokumen_jaminan))
|
||||
<tr>
|
||||
<!--<tr>
|
||||
<td width="25%"><strong>{{ $detail->name ?? '' }}</strong></td>
|
||||
</tr>
|
||||
</tr>-->
|
||||
@endif
|
||||
|
||||
@if (isset($detail->details) && $detail->name == 'LOKASI JAMINAN')
|
||||
@@ -200,6 +221,7 @@
|
||||
</table>
|
||||
{{-- </div> --}}
|
||||
|
||||
@if (!$permohonan->is_mig)
|
||||
<div class="no-break">
|
||||
<table style="width: 100%; ">
|
||||
<tr>
|
||||
@@ -243,13 +265,45 @@
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
@if ($permohonan->is_mig)
|
||||
@php $mig_detail_legalitas_jaminan = json_decode($inspeksi->mig_detail_legalitas_jaminan, true); @endphp
|
||||
@if($mig_detail_legalitas_jaminan)
|
||||
@foreach($mig_detail_legalitas_jaminan as $key => $items)
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td colspan="3" style="border: 1px solid #000; text-align: center;">
|
||||
{{ $key }}
|
||||
</td>
|
||||
</tr>
|
||||
@php $currentLabel=''; @endphp
|
||||
@foreach ($items as $item)
|
||||
<tr>
|
||||
<td style="padding: 2px; vertical-align: top;">
|
||||
@if ($currentLabel !== $item['label'])
|
||||
{{ $item['label'] }}
|
||||
@endif
|
||||
@php
|
||||
if ($currentLabel !== $item['label']) {
|
||||
$currentLabel = $item['label'];
|
||||
}
|
||||
@endphp
|
||||
</td>
|
||||
<td style="padding: 2px; vertical-align: top;">:</td>
|
||||
<td style="padding: 2px; vertical-align: top;">{{ ltrim($item['value'], ',') }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@foreach ($permohonan->documents as $dokumen)
|
||||
@if ($dokumen->jenisJaminan)
|
||||
@php
|
||||
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
|
||||
@endphp
|
||||
@if(!$permohonan->is_mig)
|
||||
@if (isset($formKategori) && $formKategori)
|
||||
@php
|
||||
$kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori];
|
||||
@@ -263,6 +317,7 @@
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
<div class="no-break">
|
||||
@@ -273,7 +328,9 @@
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@if(isset($dataPembanding))
|
||||
@include('lpj::penilai.components.print-pembanding')
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="no-break">
|
||||
@@ -284,92 +341,80 @@
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table>
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td colspan="3" style=" padding: 8px; text-align: left;">1. Total Nilai Pasar Wajar
|
||||
<td colspan="6" style=" padding: 8px; text-align: left;width:100%">1. Total Nilai Pasar Wajar
|
||||
</td>
|
||||
</tr>
|
||||
@php
|
||||
$totalNilaiPasarWajar = 0;
|
||||
$labelNilai = [
|
||||
'bangunan' => 'Luas Bangunan',
|
||||
'tanah' => 'Luas Tanah',
|
||||
'apartemen-kantor' => 'Luas Unit',
|
||||
'apartemen' => 'Luas Unit',
|
||||
'alat-berat' => 'Luas Alat Berat',
|
||||
'mesin' => 'Luas Mesin',
|
||||
'kendaraan' => 'Luas Kendaraan',
|
||||
'pesawat' => 'Luas Pesawat',
|
||||
'kapal' => 'Luas Kapal',
|
||||
];
|
||||
|
||||
if (strcasecmp($jenisAset, 'RUKO/RUKAN') === 0) {
|
||||
$labelNilai['bangunan'] = 'Luas Unit';
|
||||
unset($labelNilai['tanah']);
|
||||
}
|
||||
|
||||
if (strcasecmp($jenisAset, 'Apartemen') === 0) {
|
||||
$labelNilai['tanah'] = 'Luas Unit';
|
||||
}
|
||||
|
||||
@endphp
|
||||
@foreach ($labelNilai as $key => $label)
|
||||
@if (isset($lpjData['luas_' . $key]))
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right; width:45%; ">
|
||||
{{ $label }} {{ $lpjData['luas_' . $key] ?? '' }} m<sup>2</sup>
|
||||
</td>
|
||||
<td style="padding: 3px; width:5%;">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Rp
|
||||
{{ $lpjData['nilai_' . $key . '_1'] ?? '' }}
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:60%;">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $lpjData['nilai_' . $key . '_2'] ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@if (isset($lpjData['npw_tambahan']))
|
||||
@foreach ($lpjData['npw_tambahan'] as $npw)
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right;">
|
||||
{{ $npw['name'] }} {{ $npw['luas'] }} m<sup>2</sup>
|
||||
<td width="30%" style="padding: 3px; text-align: right;">
|
||||
{{ $npw['name'] }}</sup>
|
||||
</td>
|
||||
<td style="padding: 3px;">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Rp
|
||||
{{ $npw['nilai_1'] }}
|
||||
<td width="10%" style="padding: 3px; text-align: right;">
|
||||
{{ $npw['luas'] }} m<sup>2</sup>
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:70%">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $npw['nilai_2'] }}
|
||||
<td width="5%" style="padding: 3px; text-align: center;">X</td>
|
||||
<td width="25%" style="padding: 3px; text-align:right">
|
||||
{{ number_format($npw['nilai_1'], 0, ',', '.') ?? '' }}
|
||||
</td>
|
||||
<td width="5" style="padding: 3px; text-align: center;">=</td>
|
||||
<td width="25%" style="padding: 3px; text-align: left; text-align: right;">
|
||||
{{ number_format($npw['nilai_2'], 0, ',', '.') ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
@php $totalNilaiPasarWajar += $npw['nilai_2']; @endphp
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
<tr>
|
||||
<td style="padding: 3px; font-weight: bold; width:10%;">Total Nilai Pasar Wajar</td>
|
||||
<td style="padding: 3px; text-align: right; font-weight: bold; width:10%"></td>
|
||||
<td style="padding: 3px; text-align: left; font-weight: bold; width: 70%;">
|
||||
<span style="padding-left: 20px; padding-right: 20px;">=</span>
|
||||
<td style="padding: 3px; text-align: right; font-weight: bold; width:10%;" colspan="4">Total Nilai Pasar Wajar</td>
|
||||
<td style="padding: 3px; text-align: center; width:5%;font-weight: bold;" >=</td>
|
||||
<td style="padding: 3px; text-align: right; font-weight: bold; width: 40%;">
|
||||
<div style="display: inline-block; border-top: 1px solid black; padding-top: 3px;">
|
||||
Rp {{ $lpjData['total_nilai_pasar_wajar'] ?? '' }}
|
||||
{{ $lpjData['total_nilai_pasar_wajar'] ? number_format($lpjData['total_nilai_pasar_wajar'], 0, ',', '.') : number_format($totalNilaiPasarWajar, 0, ',', '.') ?? '' }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- Total Nilai Likuidasi -->
|
||||
@if (isset($lpjData['likuidasi']) && $lpjData['likuidasi_nilai_2'] > 0)
|
||||
@if (isset($permohonan_migrasi->mig_mst_lpj_tot_nilai_likuidasi) || isset($lpjData['likuidasi']) && $lpjData['likuidasi_nilai_2'] > 0)
|
||||
<tr>
|
||||
<td colspan="3" style="padding: 8px; text-align: left">
|
||||
<td colspan="6" style="padding: 8px; text-align: left">
|
||||
2. Total Nilai Likuidasi
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right; width:10%">
|
||||
{{ $lpjData['likuidasi'] ?? '' }}%
|
||||
<td style="padding: 3px; text-align: right;" colspan="4">
|
||||
{{ $lpjData['likuidasi'] ?? '' }}% <span style="padding-left:20px; padding-right: 20px">X</span> Total Nilai Pasar Wajar
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; font-weight: bold; width:10%">
|
||||
<span style="padding-left:20px; padding-right: 20px">X</span> Total Nilai Pasar Wajar
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: left; width:70%;">
|
||||
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
|
||||
{{ $lpjData['likuidasi_nilai_2'] ?? '' }}
|
||||
<td style="padding: 3px; text-align: center; font-weight: bold;">=</td>
|
||||
<td style="padding: 3px; text-align: right;font-weight: bold;">{{ number_format($permohonan_migrasi->mig_mst_lpj_tot_nilai_likuidasi, 0, ',', '.') ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@@ -381,6 +426,136 @@
|
||||
$keterangan = implode(', ', array_filter($keterangan));
|
||||
}
|
||||
@endphp
|
||||
@if($permohonan->is_mig)
|
||||
@if (!empty($forminspeksi['fakta']['fakta_positif']))
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
FAKTOR POSITIF
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@foreach ($forminspeksi['fakta']['fakta_positif'] as $key => $item)
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; text-align: left;">
|
||||
@if (is_array($item))
|
||||
@foreach ($item as $data_)
|
||||
{!! nl2br(e($data_)) !!}<br>
|
||||
@endforeach
|
||||
@else
|
||||
{!! nl2br(e($item)) !!}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endforeach
|
||||
@endif
|
||||
@if (!empty($forminspeksi['fakta']['fakta_negatif']))
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
FAKTOR NEGATIF
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@foreach ($forminspeksi['fakta']['fakta_negatif'] as $key => $item)
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; text-align: left;">
|
||||
@if (is_array($item))
|
||||
@foreach ($item as $data_)
|
||||
{!! nl2br(e($data_)) !!}<br>
|
||||
@endforeach
|
||||
@else
|
||||
{!! nl2br(e($item)) !!}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endforeach
|
||||
@endif
|
||||
@if (!empty($forminspeksi['fakta']['informasi_dokument']))
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
LAIN - LAIN
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@foreach ($forminspeksi['fakta']['informasi_dokument'] as $key => $item)
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; text-align: left;">
|
||||
@if (is_array($item))
|
||||
@foreach ($item as $data_)
|
||||
{!! nl2br(e($data_)) !!}<br>
|
||||
@endforeach
|
||||
@else
|
||||
{!! nl2br(e($item)) !!}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endforeach
|
||||
|
||||
@endif
|
||||
|
||||
@if (!empty($forminspeksi['fakta']['keterangan']))
|
||||
@foreach ($forminspeksi['fakta']['keterangan'] as $key => $item)
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
{{ $key }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; text-align: left;">
|
||||
@if (is_array($item))
|
||||
@foreach ($item as $data_)
|
||||
{!! nl2br(e($data_)) !!}<br>
|
||||
@endforeach
|
||||
@else
|
||||
{!! nl2br(e($item)) !!}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@if (!empty($forminspeksi['fakta']['saran']))
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; border: 1px solid #000; text-align: center;">
|
||||
SARAN
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@foreach ($forminspeksi['fakta']['saran'] as $key => $item)
|
||||
<table class="judul" style="width: 100%; ">
|
||||
<tr>
|
||||
<td style="width: 100%; text-align: left;">
|
||||
<ul style="margin: 0px;padding-left: 10px;">
|
||||
<li>
|
||||
@if (is_array($item))
|
||||
@foreach ($item as $data_)
|
||||
{!! nl2br(e($data_)) !!}<br>
|
||||
@endforeach
|
||||
@else
|
||||
{!! nl2br(e($item)) !!}
|
||||
@endif
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
|
||||
@if (!empty($keterangan))
|
||||
<table style="width: 100% margin-top: 20px">
|
||||
<tr>
|
||||
@@ -395,7 +570,7 @@
|
||||
</tr>
|
||||
</table>
|
||||
@endif
|
||||
<div class="no-break">
|
||||
<div class="no-break" style="margin-top:20px;">
|
||||
<table style="width: 100%">
|
||||
<tr>
|
||||
<td>Demikian laporan penilai jaminan ini di buat secara objektif, tanpa adanya pengaruh baik intern
|
||||
@@ -403,7 +578,7 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@include('lpj::penilai.components.signature-approval')
|
||||
@include('lpj::penilai.components.signature-approval',['laporan' => 'standar','npw' => $totalNilaiPasarWajar])
|
||||
</div>
|
||||
<hr />
|
||||
<table style="width: 100%; ">
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<td style="width: 33%; vertical-align: top;">Keterangan</td>
|
||||
<td style="width: 5%; vertical-align: top;">:</td>
|
||||
<td style="width: 62%;">
|
||||
{{isset($data['keterangan']) ? parsePembandingMigration($data['keterangan']) : '' }}
|
||||
{!! isset($data['keterangan']) ? nl2br(e(parsePembandingMigration($data['keterangan']))) : '' !!}
|
||||
</td>
|
||||
</tr>
|
||||
@else
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
<td>{{ $alamat['province_code'] ?? '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tanggal Survey</td>
|
||||
<td>Tanggal Penilaian</td>
|
||||
<td>:</td>
|
||||
<td>{{ isset($permohonan->penilaian->tanggal_kunjungan) ? formatTanggalIndonesia($permohonan->penilaian->tanggal_kunjungan) : '' }}
|
||||
</td>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<table style="width: 100%; border-collapse: collapse; text-align: center;">
|
||||
<table style="width: 100%; border-collapse: collapse; text-align: center;" border="1">
|
||||
@php
|
||||
use Modules\Usermanagement\Models\User;
|
||||
|
||||
$laporan = $laporan ?? '';
|
||||
$penilaiUser = isset($penilai->userPenilaiTeam) ? $penilai->userPenilaiTeam : null;
|
||||
$imagePathPenilai = $penilaiUser && $penilaiUser->sign
|
||||
? storage_path('app/public/signatures/' . $penilaiUser->id . '/' . $penilaiUser->sign)
|
||||
@@ -17,7 +18,6 @@
|
||||
? storage_path('app/public/signatures/' . $eoUser->id . '/' . $eoUser->sign)
|
||||
: null;
|
||||
|
||||
|
||||
$ddUser = $permohonan->approval_dd ? User::find($permohonan->approval_dd) : null;
|
||||
$imagePathDD = $ddUser && $ddUser->sign
|
||||
? storage_path('app/public/signatures/' . $ddUser->id . '/' . $ddUser->sign)
|
||||
@@ -33,48 +33,112 @@
|
||||
);
|
||||
@endphp
|
||||
<tr>
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
<td style=" padding: 4px;height: 25px">
|
||||
<b>Penilaian Dibuat</b>
|
||||
</td>
|
||||
@if($soUser->name==$eoUser->name)
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 25px">
|
||||
<b>Diperiksa dan Menyetujui</b>
|
||||
</td>
|
||||
@endif
|
||||
@else
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 25px">
|
||||
<b>Diperiksa</b>
|
||||
</td>
|
||||
@endif
|
||||
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;height: 25px">
|
||||
<b>Menyetujui</b>
|
||||
</td>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
@if($permohonan->approval_dd!==$permohonan->approval_eo)
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;height: 25px">
|
||||
<b>Menyetujui</b>
|
||||
</td>
|
||||
@endif
|
||||
@endif
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style=" padding: 4px;height: 75px">
|
||||
@if (file_exists($imagePathPenilai))
|
||||
<img src="{{ $imagePathPenilai }}" alt="{{ $imagePathPenilai }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@if($soUser->name==$eoUser->name)
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
<td style=" padding: 4px;height: 75px">
|
||||
@if (file_exists($imagePathSo))
|
||||
<img src="{{ $imagePathSo }}" alt="{{ $imagePathSo }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@else
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;height: 75px">
|
||||
@if (file_exists($imagePathSo))
|
||||
<img src="{{ $imagePathSo }}" alt="{{ $imagePathSo }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
<td style=" padding: 4px;height: 75px">
|
||||
@if (file_exists($imagePathEO))
|
||||
<img src="{{ $imagePathEO }}" alt="{{ $imagePathEO }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@endif
|
||||
@if($permohonan->approval_dd!==$permohonan->approval_eo)
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;height: 50px">
|
||||
<td style=" padding: 4px;height: 75px">
|
||||
@if (file_exists($imagePathDD))
|
||||
<img src="{{ $imagePathDD }}" alt="{{ $imagePathDD }}" width="80px">
|
||||
@endif
|
||||
</td>
|
||||
@endif
|
||||
@endif
|
||||
</tr>
|
||||
<tr>
|
||||
<td style=" padding: 4px;">{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('PENILAI')) }}
|
||||
<b>{{ ucwords(strtolower('PENILAI')) }}</b>
|
||||
</span>
|
||||
</br>
|
||||
<span>
|
||||
{{ isset($penilai->updated_at) ? formatTanggalIndonesia($penilai->updated_at) : '' }}
|
||||
{{ $permohonan_migrasi->mig_mst_jaminan_tgl_laporan ? formatTanggalIndonesia(parseTimestamp($permohonan_migrasi->mig_mst_jaminan_tgl_laporan)) : ($permohonan_migrasi->mig_mst_lpj_tgl_laporan ? formatTanggalIndonesia(parseTimestamp($permohonan_migrasi->mig_mst_lpj_tgl_laporan)) : '') }}
|
||||
</span>
|
||||
</td>
|
||||
|
||||
@if($soUser->name==$eoUser->name)
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ $senior_officer->name ?? '' }}</br>
|
||||
{{ $soUser->name ?? $senior_officer->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('SENIOR OFFICER')) }}
|
||||
@if($npw > 1000000000 && $npw < 5000000000)
|
||||
<b>{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}</b>
|
||||
@else
|
||||
<b>{{ ucwords(strtolower('SENIOR OFFICER')) }}</b>
|
||||
@endif
|
||||
</span>
|
||||
</br>
|
||||
<span>
|
||||
{{ isset($permohonan->approval_so_at) ? formatTanggalIndonesia($permohonan->approval_so_at) : '' }}
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
@else
|
||||
@if ($permohonan->approval_so != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ $soUser->name ?? $senior_officer->name ?? '' }}</br>
|
||||
<span>
|
||||
<b>{{ ucwords(strtolower('SENIOR OFFICER')) }}</b>
|
||||
</span>
|
||||
</br>
|
||||
<span>
|
||||
@@ -85,9 +149,9 @@
|
||||
|
||||
@if ($permohonan->approval_eo != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('EO Appraisal')->first()->name ?? '' }}</br>
|
||||
{{ $eoUser->name ?? User::role('EO Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}
|
||||
<b>{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}</b>
|
||||
</span>
|
||||
</br>
|
||||
<span>
|
||||
@@ -95,11 +159,13 @@
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
@endif
|
||||
@if($permohonan->approval_dd!==$permohonan->approval_eo)
|
||||
@if ($permohonan->approval_dd != null)
|
||||
<td style=" padding: 4px;">
|
||||
{{ User::role('DD Appraisal')->first()->name ?? '' }}</br>
|
||||
{{ $ddUser->name ?? User::role('DD Appraisal')->first()->name ?? '' }}</br>
|
||||
<span>
|
||||
{{ ucwords(strtolower('DEPUTY DIRECTOR')) }}
|
||||
<b>{{ ucwords(strtolower('DEPUTY DIRECTOR')) }}</b>
|
||||
</span>
|
||||
</br>
|
||||
<span>
|
||||
@@ -109,5 +175,6 @@
|
||||
</span>
|
||||
</td>
|
||||
@endif
|
||||
@endif
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
<span class="sort-icon"> </span> </span>
|
||||
</th>
|
||||
<th class="min-w-[150px]" data-datatable-column="tanggal_survei">
|
||||
<span class="sort"> <span class="sort-label"> Tanggal Survei </span>
|
||||
<span class="sort"> <span class="sort-label"> Tanggal Penilaian </span>
|
||||
<span class="sort-icon"> </span> </span>
|
||||
</th>
|
||||
<th class="min-w-[150px]" data-datatable-column="due_date_sla">
|
||||
@@ -183,7 +183,7 @@
|
||||
},
|
||||
},
|
||||
tanggal_survei: {
|
||||
title: 'Tanggal Survei',
|
||||
title: 'Tanggal Penilaian',
|
||||
render: (item, data) => {
|
||||
if (data.penilaian.waktu_penilaian) {
|
||||
return `${formatDate(new Date(data.penilaian.waktu_penilaian))}`;
|
||||
|
||||
@@ -95,7 +95,6 @@
|
||||
{{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) ?? '' }}</p>
|
||||
</div>
|
||||
@if (!in_array(strtolower($permohonan->tujuanPenilaian->name), ['penilaian ulang', 'asuransi', 'lelang']))
|
||||
|
||||
<label class="form-label max-w-56 ">
|
||||
Status Bayar
|
||||
</label>
|
||||
@@ -105,7 +104,6 @@
|
||||
{{ str_replace('_', ' ', $permohonan->status_bayar) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@@ -164,7 +162,7 @@
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Tanggal Survei
|
||||
Tanggal Penilaian
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
@@ -321,7 +319,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- @if($permohonan->jenisPenilaian->name=="Eksternal")
|
||||
{{-- @if ($permohonan->jenisPenilaian->name == 'Eksternal')
|
||||
@if (isset($permohonan->laporanExternal->file_resume) || isset($permohonan->laporanExternal->file_laporan))
|
||||
<div class="dropdown" data-dropdown="true" data-dropdown-trigger="click">
|
||||
<button class="dropdown-toggle btn btn-primary">
|
||||
@@ -429,7 +427,6 @@
|
||||
|
||||
// Ambil ID inspeksi pertama (jika ada)
|
||||
|
||||
|
||||
// Ambil jenis jaminan jika ada
|
||||
if ($firstDocument->jenisjaminan) {
|
||||
$jenisJaminanId = $firstDocument->jenisjaminan->id;
|
||||
|
||||
Reference in New Issue
Block a user