perbaikan kertas kerja, dan form inspeksi

This commit is contained in:
majid76
2024-12-23 07:20:37 +07:00
parent b62b15839f
commit 5a0564acfb
13 changed files with 947 additions and 967 deletions

View File

@@ -2,21 +2,22 @@
namespace Modules\Lpj\Exports; namespace Modules\Lpj\Exports;
// use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\FromCollection;
// use Maatwebsite\Excel\Concerns\WithColumnFormatting; use Maatwebsite\Excel\Concerns\WithHeadings;
// use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet; use Maatwebsite\Excel\Concerns\WithStyles;
// use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Concerns\WithColumnWidths;
// use Maatwebsite\Excel\Concerns\WithStyles; use Maatwebsite\Excel\Concerns\WithEvents;
// use Maatwebsite\Excel\Concerns\WithColumnWidths; use Maatwebsite\Excel\Events\AfterSheet;
// use Maatwebsite\Excel\Concerns\WithEvents; use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
// use Maatwebsite\Excel\Events\AfterSheet; use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
class KertasKerjaExport implements FromView
{
// class KertasKerjaExport implements FromCollection, WithHeadings, WithStyles, WithColumnWidths, WithEvents class KertasKerjaExport implements FromCollection, WithHeadings, WithStyles, WithColumnWidths, WithEvents
{
// use Illuminate\Contracts\View\View;
// use Maatwebsite\Excel\Concerns\FromView;
// class KertasKerjaExport implements FromView
// { // {
protected $data; protected $data;
public function __construct($data) public function __construct($data)
@@ -24,257 +25,315 @@ class KertasKerjaExport implements FromView
$this->data = $data; $this->data = $data;
} }
public function view(): View // public function view(): View
{
return view('lpj::component.kertas-kerja', [
'data' => $this->data,
]);
}
// public function collection()
// { // {
// return view('lpj::component.kertas-kerja', [
// 'data' => $this->data,
// ]);
// }
public function collection()
{
// $rows = []; // $rows = [];
// $nomor = 1; // $nomor = 1;
// $fields = [ $fields = [
// 'jenis_aset' => 'Jenis Aset', 'jenis_aset' => 'Jenis Aset',
// 'luas_tanah' => 'Luas Tanah (M²)', 'luas_tanah' => 'Luas Tanah (M²)',
// 'luas_bangunan' => 'Luas Bangunan (M²)', 'luas_bangunan' => 'Luas Bangunan (M²)',
// 'harga' => 'Harga Transaksi/Penawaran', 'harga' => 'Harga Transaksi/Penawaran',
// 'tanggal_penawaran' => 'Tanggal Penawaran/Transaksi', 'tanggal_penawaran' => 'Tanggal Penawaran/Transaksi',
// 'diskon' => 'Diskon %', 'diskon' => 'Diskon %',
// 'esitmasi_harga' => 'Esitmasi Harga Transaksi (Rp)', 'esitmasi_harga' => 'Esitmasi Harga Transaksi (Rp)',
// 'no_telepon' => 'Telepon Contact Person', 'no_telepon' => 'Telepon Contact Person',
// 'nama_nara_sumbr' => 'Nama Nara Sumber', 'nama_nara_sumbr' => 'Nama Nara Sumber',
// 'status_nara_sumbr' => 'Status Nara Sumber', 'status_nara_sumbr' => 'Status Nara Sumber',
// 'waktu_transaksi' => 'Waktu Transaksi/Penawaran', 'waktu_transaksi' => 'Waktu Transaksi/Penawaran',
// 'alamat' => 'Alamat Titik Gps', 'alamat' => 'Alamat Titik Gps',
// 'jalan' => 'Jalan', 'jalan' => 'Jalan',
// 'desa' => 'Desa/Kelurahan', 'desa' => 'Desa/Kelurahan',
// 'kecamatan' => 'Kecamatan', 'kecamatan' => 'Kecamatan',
// 'kabupaten' => 'Kabupaten', 'kabupaten' => 'Kabupaten',
// 'provinsi' => 'Provinsi', 'provinsi' => 'Provinsi',
// 'jarak_pembanding' => 'Jarak Pembanding dengan Objek', 'jarak_pembanding' => 'Jarak Pembanding dengan Objek',
// 'elevasi' => 'Estimasi Ranking Tanah', 'elevasi' => 'Estimasi Ranking Tanah',
// 'peruntukan' => 'Estiamsi Rangkin Bangunan' 'peruntukan' => 'Estiamsi Rangkin Bangunan'
// ]; ];
// foreach ($fields as $key => $label) { $rows = [];
// $rows[] = [ $nomor = 1;
// $nomor++,
// $label,
// $this->data['objek'][$key] ?? '',
// $this->data['pembanding1'][$key] ?? '',
// $this->data['pembanding2'][$key] ?? '',
// $this->data['pembanding3'][$key] ?? ''
// ];
// }
// // B. Perhitungan Penyesuaian // Add general asset information
// $rows[] = ['']; $rows[] = ['No.', 'Uraian', 'Objek Penilaian', 'Data Pembanding 1', 'Data Pembanding 2', 'Data Pembanding 3'];
// $rows[] = [''];
// $rows[] = ['B. Estimasi Nilai Tanah Pembanding dengan Teknik Penyisaan Tanah untuk mendapatkan per meter persegi estimasi Nilai Tanah Pembanding'];
// $rows[] = ['No.','Uraian', 'Objek Penilaian', 'Data Pembanding 1', 'Data Pembanding 2', 'Data Pembanding 3'];
// $nostimasi = 1;
// $filedEstimasi = [
// 'estimasi' => 'Estimasi Biaya Pengganti Baru Bangunan (Rp)',
// 'estimasi_spl' => 'Estimasi Biaya Pengganti Baru SPL (Rp)',
// 'penyusutan' => 'Penyusutan Fisik Banguna',
// 'a' => 'a. rincian ttipe bangunan (MAPPI)', foreach ($this->data['objek'] as $key => $value) {
// 'b' => 'b. umur ekonomis (MAPPI)', $rows[] = [
// 'c' => 'c. estimasi Tahun tahun visual dengan mempertimbangkan renovasi', $nomor++,
// 'd' => 'd. Sehingga sisa umur efektif', $key,
// 'e' => 'e. kondisi bagunan', $value,
// 'f' => 'f.sehinggan penyusutan fisik', $this->data['pembanding1'][$key] ?? '',
// 'penyusutan_fungsi' => 'Penyusutan fungsi Bangunan (%)', $this->data['pembanding2'][$key] ?? '',
// 'penyusutan_ekonomi' => 'Penyusutan Ekonomi Bangunan (%)', $this->data['pembanding3'][$key] ?? ''
// 'total_penyusutan' => 'Total Penyusutan (%)', ];
// 'estimasi_nilai' => 'Estimasi Nilai Bangunan dan SPL (Rp)', }
// 'estimasi_tanah' => 'Estimasi Nilai Tanah Pembanding (Rp)',
// 'estimasi_nilai' => 'Estimasi Nilai Tanah Pembanding (Rp)',
// ];
// foreach ($filedEstimasi as $key => $label) {
// $rows[] = [
// $nostimasi++,
// $label,
// $this->data['estimasi'][$key] ?? '',
// $this->data['estimasi1'][$key] ?? '',
// $this->data['estimasi2'][$key] ?? '',
// $this->data['estimasi3'][$key] ?? ''
// ];
// }
// $row[] = ['']; // B. Perhitungan Penyesuaian
// $row[] = ['']; $rows[] = [''];
// $rows[] = ['INDIKASI NILAI TANAHATAS OBJEK PENILAIAN']; $rows[] = [''];
$rows[] = ['B. Estimasi Nilai Tanah Pembanding dengan Teknik Penyisaan Tanah untuk mendapatkan per meter persegi estimasi Nilai Tanah Pembanding'];
$rows[] = ['No.','Uraian', 'Objek Penilaian', 'Data Pembanding 1', 'Data Pembanding 2', 'Data Pembanding 3'];
$nostimasi = 1;
$filedEstimasi = [
'estimasi' => 'Estimasi Biaya Pengganti Baru Bangunan (Rp)',
'estimasi_spl' => 'Estimasi Biaya Pengganti Baru SPL (Rp)',
'penyusutan' => 'Penyusutan Fisik Banguna',
// $indikasi=[ 'a' => 'a. rincian ttipe bangunan (MAPPI)',
// 'luas_tanah' => 'Luas Tanah ', 'b' => 'b. umur ekonomis (MAPPI)',
// 'indikasi_per' => 'INDIKASI TANAH PER M2 (RP/M2)', 'c' => 'c. estimasi Tahun tahun visual dengan mempertimbangkan renovasi',
// 'indikasi_total' => 'INDIKASI TANAH TOTAL(RP)', 'd' => 'd. Sehingga sisa umur efektif',
// 'varian' => 'VARIANT(%)', 'e' => 'e. kondisi bagunan',
// ]; 'f' => 'f.sehinggan penyusutan fisik',
'penyusutan_fungsi' => 'Penyusutan fungsi Bangunan (%)',
'penyusutan_ekonomi' => 'Penyusutan Ekonomi Bangunan (%)',
'total_penyusutan' => 'Total Penyusutan (%)',
'estimasi_nilai' => 'Estimasi Nilai Bangunan dan SPL (Rp)',
'estimasi_tanah' => 'Estimasi Nilai Tanah Pembanding (Rp)',
'estimasi_nilai' => 'Estimasi Nilai Tanah Pembanding (Rp)',
];
// foreach ($indikasi as $key => $label) { foreach ($filedEstimasi as $key => $label) {
// $rows[] = [ $rows[] = [
// $label, $nostimasi++,
// $this->data['indikasi'][$key] ?? '', $label,
// ]; $this->data['estimasi'][$key] ?? '',
// } $this->data['estimasi1'][$key] ?? '',
$this->data['estimasi2'][$key] ?? '',
$this->data['estimasi3'][$key] ?? ''
];
}
// // C. Peta Lokasi $row[] = [''];
// $rows[] = ['']; $row[] = [''];
// $rows[] = ['']; $rows[] = ['INDIKASI NILAI TANAHATAS OBJEK PENILAIAN'];
// $rows[] = ['C. Peta Lokasi'];
// $rows[] = [$this->data['foto_objek']['foto_objek_peta'] ?? ''];
// // D. Foto Objek dan Data Pembanding $indikasi=[
// $rows[] = ['']; 'luas_tanah' => 'Luas Tanah ',
// $rows[] = ['D. Foto Objek dan Data Pembanding']; 'indikasi_per' => 'INDIKASI TANAH PER M2 (RP/M2)',
// $rows[] = [ 'indikasi_total' => 'INDIKASI TANAH TOTAL(RP)',
// $this->data['foto_objek1']['foto_objek'] ?? '', 'varian' => 'VARIANT(%)',
// $this->data['foto_objek2']['foto_objek'] ?? '', ];
// '', '', ''
// ];
// // E. Foto Objek foreach ($indikasi as $key => $label) {
// $rows[] = ['']; $rows[] = [
// $rows[] = ['E. Foto Objek']; $label,
// $rows[] = [ $this->data['indikasi'][$key] ?? '',
// $this->data['foto']['foto_objek'] ?? '', ];
// $this->data['foto']['foto_objek'] ?? '', }
// '', '', ''
// ];
// return collect($rows);
// }
// public function headings(): array
// {
// return [
// ['KERTAS KERJA PENILAIAN'],
// ['Pendekatan Pasar'],
// ['Metode Perbandingan Data Pasar'],
// ['Tanggal Penilaian: ' . ($this->headerInfo['tanggal_penilaian'] ?? '')],
// ['Nama Pemilik Aset: ' . ($this->headerInfo['nama_pemilik'] ?? '')],
// ['Nama Pemberi Tugas: ' . ($this->headerInfo['nama_pemberi_tugas'] ?? '')],
// ['Lokasi: ' . ($this->headerInfo['lokasi_lengkap'] ?? '')],
// ['Nama Debitur: ' . ($this->headerInfo['nama_debitur'] ?? '')],
// [''],
// ['A. INFORMASI UMUM'],
// ['No.','Uraian', 'Objek Penilaian', 'Data Pembanding 1', 'Data Pembanding 2', 'Data Pembanding 3']
// ]; // C. Peta Lokasi
// } $rows[] = [''];
// public function registerEvents(): array $rows[] = [''];
// { $rows[] = ['C. Peta Lokasi'];
// return [ $rows[] = [$this->data['foto_objek']['foto_objek_peta'] ?? ''];
// AfterSheet::class => function (AfterSheet $event) {
// // Styling untuk header utama // D. Foto Objek dan Data Pembanding
$rows[] = [''];
$rows[] = ['D. Foto Objek dan Data Pembanding'];
$rows[] = [
$this->data['foto_objek1']['foto_objek'] ?? '',
$this->data['foto_objek2']['foto_objek'] ?? '',
'', '', ''
];
// E. Foto Objek
$rows[] = [''];
$rows[] = ['E. Foto Objek'];
$rows[] = [
$this->data['foto']['foto_objek'] ?? '',
$this->data['foto']['foto_objek'] ?? '',
'', '', ''
];
return collect($rows);
}
public function headings(): array
{
return [
['KERTAS KERJA PENILAIAN'],
['Pendekatan Pasar'],
['Metode Perbandingan Data Pasar'],
['Tanggal Penilaian: ' . ($this->headerInfo['tanggal_penilaian'] ?? '')],
['Nama Pemilik Aset: ' . ($this->headerInfo['nama_pemilik'] ?? '')],
['Nama Pemberi Tugas: ' . ($this->headerInfo['nama_pemberi_tugas'] ?? '')],
['Lokasi: ' . ($this->headerInfo['lokasi_lengkap'] ?? '')],
];
}
public function registerEvents(): array
{
return [
AfterSheet::class => function (AfterSheet $event) {
// Styling untuk header utama
// // Styling untuk setiap section header // Styling untuk setiap section header
// $sectionRows = [10, 34, 56, 46, 52]; // Sesuaikan dengan posisi setiap section $sectionRows = [10, 34, 56, 46, 52]; // Sesuaikan dengan posisi setiap section
// foreach ($sectionRows as $row) { foreach ($sectionRows as $row) {
// $event->sheet->getStyle("A{$row}:F{$row}")->getFill() $event->sheet->getStyle("A{$row}:F{$row}")->getFill()
// ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID) ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
// ->getStartColor()->setRGB('E2EFDA'); ->getStartColor()->setRGB('E2EFDA');
// } }
// // Merge cells untuk headers // Merge cells untuk headers
// $event->sheet->mergeCells('A1:E1'); $event->sheet->mergeCells('A1:E1');
// $event->sheet->mergeCells('A2:E2'); $event->sheet->mergeCells('A2:E2');
// $event->sheet->mergeCells('A4:E4'); $event->sheet->mergeCells('A4:E4');
// $event->sheet->mergeCells('A5:E5'); $event->sheet->mergeCells('A5:E5');
// $event->sheet->mergeCells('A6:E6'); $event->sheet->mergeCells('A6:E6');
// $event->sheet->mergeCells('A7:E7'); $event->sheet->mergeCells('A7:E7');
// $event->sheet->mergeCells('A8:E8'); $event->sheet->mergeCells('A8:E8');
// // Alignment // Alignment
// $event->sheet->getStyle('A1:E8')->getAlignment() $event->sheet->getStyle('A1:E8')->getAlignment()
// ->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_LEFT); ->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_LEFT);
// } $this->insertImages($event->sheet);
// ]; }
// } ];
// public function columnWidths(): array }
// { public function columnWidths(): array
// return [ {
// 'A' => 5, return [
// 'B' => 30, 'A' => 5,
// 'C' => 30, 'B' => 30,
// 'D' => 30, 'C' => 30,
// 'E' => 30, 'D' => 30,
// 'F' => 30, 'E' => 30,
// ]; 'F' => 30,
// } ];
}
// public function styles(Worksheet $sheet) public function styles(Worksheet $sheet)
// { {
// return [ return [
// // Style for the main header // Style for the main header
// // Style for section headers // Style for section headers
// 10 => ['font' => ['bold' => true]], // A. Informasi Umum 10 => ['font' => ['bold' => true]], // A. Informasi Umum
// 34 => ['font' => ['bold' => true]], // B. Estimasi Nilai Tanah 34 => ['font' => ['bold' => true]], // B. Estimasi Nilai Tanah
// 35 => ['font' => ['bold' => true]], // C. Peta Lokasi 35 => ['font' => ['bold' => true]], // C. Peta Lokasi
// 57 => ['font' => ['bold' => true]], // D. Foto Objek dan Pembanding 57 => ['font' => ['bold' => true]], // D. Foto Objek dan Pembanding
// 60 => ['font' => ['bold' => true]], // E. Foto Objek 60 => ['font' => ['bold' => true]], // E. Foto Objek
// // Default styling for columns // Default styling for columns
// 'A:J' => [ 'A:J' => [
// 'alignment' => ['horizontal' => 'left', 'vertical' => 'center'], 'alignment' => ['horizontal' => 'left', 'vertical' => 'center'],
// 'wrapText' => true, 'wrapText' => true,
// ], ],
// // Style for other sections (like photo and map sections) // Style for other sections (like photo and map sections)
// // Style for the other headers // Style for the other headers
// 'A11:F11' => [ 'A11:F11' => [
// 'font' => ['bold' => true], 'font' => ['bold' => true],
// 'fill' => ['fillType' => 'solid', 'color' => ['rgb' => 'E2EFDA']], 'fill' => ['fillType' => 'solid', 'color' => ['rgb' => 'E2EFDA']],
// 'borders' => [ 'borders' => [
// 'allBorders' => [ 'allBorders' => [
// 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN
// ] ]
// ] ]
// ], ],
// 'A12:F31' => [ 'A12:F31' => [
// 'borders' => [ 'borders' => [
// 'allBorders' => [ 'allBorders' => [
// 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN
// ] ]
// ] ]
// ], ],
// 'A35:F35' => [ 'A35:F35' => [
// 'font' => ['bold' => true], 'font' => ['bold' => true],
// 'fill' => ['fillType' => 'solid', 'color' => ['rgb' => 'E2EFDA']], 'fill' => ['fillType' => 'solid', 'color' => ['rgb' => 'E2EFDA']],
// 'borders' => [ 'borders' => [
// 'allBorders' => [ 'allBorders' => [
// 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN
// ] ]
// ] ]
// ], ],
// 'A35:F49' => [ 'A35:F49' => [
// 'borders' => [ 'borders' => [
// 'allBorders' => [ 'allBorders' => [
// 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN
// ] ]
// ] ]
// ], ],
// end header
];
}
protected function insertImages($sheet)
{
ini_set('max_execution_time', '300');
$worksheet = $sheet->getDelegate();
// Insert images for pembanding1
if (!empty($this->data['pembanding1']['foto_objek'])) {
$drawing = new Drawing();
$drawing->setName('Pembanding 1');
$drawing->setDescription('Foto Objek Pembanding 1');
$drawing->setPath(storage_path('app/public/' . $this->data['pembanding1']['foto_objek'])); // Adjust path as needed
$drawing->setHeight(90);
$drawing->setCoordinates('C' . (count($this->collection()) + 2)); // Adjust coordinates as needed
$drawing->setWorksheet($worksheet);
}
// Repeat for pembanding2 and pembanding3
if (!empty($this->data['pembanding2']['foto_objek'])) {
$drawing = new Drawing();
$drawing->setName('Pembanding 2');
$drawing->setDescription('Foto Objek Pembanding 2');
$drawing->setPath(storage_path('app/public/' . $this->data['pembanding2']['foto_objek'])); // Adjust path as needed
$drawing->setHeight(90);
$drawing->setCoordinates('C' . (count($this->collection()) + 4)); // Adjust coordinates as needed
$drawing->setWorksheet($worksheet);
}
if (!empty($this->data['pembanding3']['foto_objek'])) {
$drawing = new Drawing();
$drawing->setName('Pembanding 3');
$drawing->setDescription('Foto Objek Pembanding 3');
$drawing->setPath(storage_path('app/public/' . $this->data['pembanding3']['foto_objek'])); // Adjust path as needed
$drawing->setHeight(90);
$drawing->setCoordinates('C' . (count($this->collection()) + 6)); // Adjust coordinates as needed
$drawing->setWorksheet($worksheet);
}
// Insert images for foto_objek
foreach ($this->data['foto_objek'] as $index => $foto) {
if (!empty($foto['foto_objek'])) {
$drawing = new Drawing();
$drawing->setName($foto['name_objek']);
$drawing->setDescription($foto['deskripsi_objek']);
$drawing->setPath(storage_path('app/public/' . $foto['foto_objek'])); // Adjust path as needed
$drawing->setHeight(90);
$drawing->setCoordinates('C' . (count($this->collection()) + (8 + $index * 2))); // Adjust coordinates as needed
$drawing->setWorksheet($worksheet);
}
}
}
// // end header
// ];
// }
} }

View File

@@ -299,19 +299,76 @@ class PenilaiController extends Controller
} }
public function export_kertas_kerja(Request $request) public function export_kertas_kerja(Request $request)
{ {
$permohonanId = $request->query('permohonanId'); $permohonanId = $request->query('permohonanId');
$documentId = $request->query('documentId'); $documentId = $request->query('documentId');
$inspeksiId = $request->query('inspeksiId');
$jaminanId = $request->query('jaminanId');
$data = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first(); // Fetch the data from the database
$data = Inspeksi::where('permohonan_id', $permohonanId)
->where('dokument_id', $documentId)
->first();
return view('lpj::component.kertas-kerja', compact('data')); // Check if data exists
// return Excel::download(new KertasKerjaExport($data), 'kertas-kerja.xlsx'); if (!$data) {
return response()->json(['message' => 'Data not found'], 404);
} }
// Decode the JSON fields
$dataForm = json_decode($data->data_form, true);
$fotoForm = json_decode($data->foto_form, true);
$denahForm = json_decode($data->denah_form, true);
$dataPembanding = json_decode($data->data_pembanding, true);
// Prepare the data for export
$exportData = [
'objek' => [
'jenis_aset' => $dataForm['asset']['jenis_asset']['sesuai'] ?? '',
'luas_tanah' => $dataForm['tanah']['luas_tanah']['tidak sesuai'] ?? '',
'harga' => $dataForm['asset']['harga'] ?? '',
'tanggal_penawaran' => $dataForm['tanggal_penawaran'] ?? '',
'diskon' => $dataForm['diskon'] ?? '',
'no_telepon' => $dataForm['no_telepon'] ?? '',
'nama_nara_sumber' => $dataForm['nama_nara_sumber'] ?? '',
'status_nara_sumber' => $dataForm['status_nara_sumber'] ?? '',
'alamat' => $dataForm['alamat'] ?? '',
// Add other fields as necessary
],
'pembanding1' => [],
'pembanding2' => [],
'pembanding3' => [],
'foto_peta' => [
'foto_tempat' => $dataForm['foto_tempat'] ?? [],
'foto_gistaru' => $dataForm['foto_gistaru'] ?? [],
'foto_bhumi' => $dataForm['foto_bhumi'] ?? [],
'foto_argis_region' => $dataForm['foto_argis_region'] ?? [],
],
'foto_objek' => $fotoForm['object_jaminan'] ?? [],
'foto_objek1' => [], // Populate with relevant data
'foto_objek2' => [], // Populate with relevant data
'tanggal_penilaian' => $data->tanggal_penilaian ?? '',
'nama_pemilik' => $data->nama_pemilik ?? '',
'lokasi_lengkap' => $data->lokasi_lengkap ?? '',
];
// Extract data pembanding
if (isset($dataPembanding['data_pembanding'])) {
foreach ($dataPembanding['data_pembanding'] as $index => $pembanding) {
if ($index == 0) {
$exportData['pembanding1'] = $pembanding;
} elseif ($index == 1) {
$exportData['pembanding2'] = $pembanding;
} elseif ($index == 2) {
$exportData['pembanding3'] = $pembanding;
}
}
}
// Now create the export
// return response()->json([ 'data' => $fotoForm]);
return Excel::download(new KertasKerjaExport($exportData), 'kertas-kerja.xlsx');
}
public function import_kertas_kerja(Request $request) public function import_kertas_kerja(Request $request)
{ {
@@ -520,4 +577,7 @@ class PenilaiController extends Controller
} }
} }

View File

@@ -644,7 +644,7 @@ class SurveyorController extends Controller
'address', 'village_code', 'district_code', 'city_code', 'province_code', 'address', 'village_code', 'district_code', 'city_code', 'province_code',
'tahun', 'luas_tanah', 'luas_bangunan', 'tahun_bangunan', 'tahun', 'luas_tanah', 'luas_bangunan', 'tahun_bangunan',
'status_nara_sumber', 'harga', 'harga_diskon', 'diskon', 'total', 'nama_nara_sumber', 'status_nara_sumber', 'harga', 'harga_diskon', 'diskon', 'total', 'nama_nara_sumber',
'peruntukan', 'penawaran_transaksi', 'nomor_tlp', 'peruntukan', 'penawaran', 'telepon','hak_properti',
'kordinat_lat', 'kordinat_lng', 'jenis_aset','foto_objek' 'kordinat_lat', 'kordinat_lng', 'jenis_aset','foto_objek'
]; ];
@@ -693,8 +693,8 @@ class SurveyorController extends Controller
$fields = [ $fields = [
'address', 'village_code', 'district_code', 'city_code', 'province_code', 'address', 'village_code', 'district_code', 'city_code', 'province_code',
'luas_tanah', 'luas_tanah_bagunan', 'total', 'diskon', 'harga_diskon', 'luas_tanah', 'luas_tanah_bagunan', 'total', 'diskon', 'harga_diskon',
'status_nara_sumber', 'harga', 'nama_nara_sumber', 'status_nara_sumber', 'harga', 'nama_nara_sumber','hak_properti','telepon',
'kordinat_lat', 'kordinat_lng', 'jenis_aset', 'kordinat_lat', 'kordinat_lng', 'jenis_aset','penawaran',
]; ];
$inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id')) $inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))

View File

@@ -1,11 +1,22 @@
<div class="card {{ isset($hidePermohonan) ? 'hidden' : '' }}"> <div class="card {{ isset($hidePermohonan) ? 'hidden' : '' }}">
<div class="card-header" id="advanced_settings_appearance"> <div class="card-header" id="advanced_settings_appearance">
@php
$title = $title ?? 'Data Permohonan';
@endphp
<h3 class="card-title"> <h3 class="card-title">
Data Permohonan {{ $title }}
</h3> </h3>
<div class="flex items-center gap-2"> <div class="flex items-center gap-2">
<a href="{{ route($backLink) }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i> Back</a> @if (isset($id))
<a href="{{ route($backLink, ['id' => $id]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@else
<a href="{{ route($backLink) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
@endif
</div> </div>
</div> </div>
<div class="card-body lg:py-7.5 grid grid-cols-3"> <div class="card-body lg:py-7.5 grid grid-cols-3">
@@ -49,8 +60,9 @@
<h3 class="text-md font-medium text-gray-900"> <h3 class="text-md font-medium text-gray-900">
Status Bayar: Status Bayar:
</h3> </h3>
<span class="text-md font-bold {{ $permohonan->status_bayar === 'belum_bayar' ? 'text-red-600' : 'text-green-600' }} uppercase"> <span
{{ str_replace('_',' ',$permohonan->status_bayar) }} class="text-md font-bold {{ $permohonan->status_bayar === 'belum_bayar' ? 'text-red-600' : 'text-green-600' }} uppercase">
{{ str_replace('_', ' ', $permohonan->status_bayar) }}
</span> </span>
</div> </div>
@@ -81,7 +93,7 @@
Name Name
</td> </td>
<td class="py-2 text-gray-800 font-normaltext-sm"> <td class="py-2 text-gray-800 font-normaltext-sm">
{{ $permohonan->debiture->name ?? "" }} {{ $permohonan->debiture->name ?? '' }}
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -89,7 +101,7 @@
Email Email
</td> </td>
<td class="py-3 text-gray-700 text-2sm font-normal"> <td class="py-3 text-gray-700 text-2sm font-normal">
{{ $permohonan->debiture->email ?? "" }} {{ $permohonan->debiture->email ?? '' }}
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -97,7 +109,7 @@
Phone Phone
</td> </td>
<td class="py-3 text-gray-700 text-2sm font-normal"> <td class="py-3 text-gray-700 text-2sm font-normal">
{{ $permohonan->debiture->phone ?? "" }} {{ $permohonan->debiture->phone ?? '' }}
</td> </td>
</tr> </tr>
@@ -106,7 +118,7 @@
Address Address
</td> </td>
<td class="py-3 text-gray-700 text-sm font-normal"> <td class="py-3 text-gray-700 text-sm font-normal">
{{ $permohonan->debiture->address ?? "" }} {{ $permohonan->debiture->address ?? '' }}
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -114,7 +126,11 @@
&nbsp; &nbsp;
</td> </td>
<td class="py-3 text-gray-700 text-sm font-normal"> <td class="py-3 text-gray-700 text-sm font-normal">
{{ $permohonan->debiture->village->name ?? "" }}, {{ $permohonan->debiture->district->name ?? "" }}, {{ $permohonan->debiture->city->name ?? "" }}, {{ $permohonan->debiture->province->name ?? "" }} - {{ $permohonan->debiture->village->postal_code ?? "" }} {{ $permohonan->debiture->village->name ?? '' }},
{{ $permohonan->debiture->district->name ?? '' }},
{{ $permohonan->debiture->city->name ?? '' }},
{{ $permohonan->debiture->province->name ?? '' }} -
{{ $permohonan->debiture->village->postal_code ?? '' }}
</td> </td>
</tr> </tr>
</table> </table>
@@ -126,7 +142,7 @@
Cabang Cabang
</td> </td>
<td class="py-2 text-gray-800 font-normaltext-sm"> <td class="py-2 text-gray-800 font-normaltext-sm">
{{ $permohonan->debiture->branch->name ?? "" }} {{ $permohonan->debiture->branch->name ?? '' }}
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -134,7 +150,7 @@
CIF CIF
</td> </td>
<td class="py-2 text-gray-800 font-normaltext-sm"> <td class="py-2 text-gray-800 font-normaltext-sm">
{{ $permohonan->debiture->cif ?? "" }} {{ $permohonan->debiture->cif ?? '' }}
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -142,7 +158,7 @@
Nomor Rekening Nomor Rekening
</td> </td>
<td class="py-3 text-gray-700 text-sm font-normal"> <td class="py-3 text-gray-700 text-sm font-normal">
{{ $permohonan->debiture->nomor_rekening ?? "" }} {{ $permohonan->debiture->nomor_rekening ?? '' }}
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -150,7 +166,7 @@
NPWP NPWP
</td> </td>
<td class="py-3 text-gray-700 text-2sm font-normal"> <td class="py-3 text-gray-700 text-2sm font-normal">
{{ $permohonan->debiture->npwp ?? "" }} {{ $permohonan->debiture->npwp ?? '' }}
</td> </td>
</tr> </tr>
</table> </table>
@@ -166,11 +182,13 @@
</h3> </h3>
</div> </div>
<div data-accordion="true"> <div data-accordion="true">
@foreach($permohonan->debiture->documents as $dokumen) @foreach ($permohonan->debiture->documents as $dokumen)
<div class="accordion-item {{ count($permohonan->debiture->documents) == 1 ? 'active' : '' }} [&:not(:last-child)]:border-b border-b-gray-200" data-accordion-item="true" id="accordion_detail_jaminan"> <div class="accordion-item {{ count($permohonan->debiture->documents) == 1 ? 'active' : '' }} [&:not(:last-child)]:border-b border-b-gray-200"
<button class="accordion-toggle py-4 group mx-8" data-accordion-toggle="#accordion_detail_jaminan_{{ $loop->index }}"> data-accordion-item="true" id="accordion_detail_jaminan">
<button class="accordion-toggle py-4 group mx-8"
data-accordion-toggle="#accordion_detail_jaminan_{{ $loop->index }}">
<span class="text-base text-gray-900 font-medium"> <span class="text-base text-gray-900 font-medium">
@if(count($permohonan->debiture->documents) > 1) @if (count($permohonan->debiture->documents) > 1)
Jaminan {{ $loop->index + 1 }} Jaminan {{ $loop->index + 1 }}
@else @else
Jaminan Jaminan
@@ -182,7 +200,8 @@
</i> </i>
</button> </button>
<div class="accordion-content {{ count($permohonan->debiture->documents) > 1 ? 'hidden' : '' }}" id="accordion_detail_jaminan_{{ $loop->index }}"> <div class="accordion-content {{ count($permohonan->debiture->documents) > 1 ? 'hidden' : '' }}"
id="accordion_detail_jaminan_{{ $loop->index }}">
<div class="card-body lg:py-7.5 grid grid-cols-2"> <div class="card-body lg:py-7.5 grid grid-cols-2">
<div class="mb-5"> <div class="mb-5">
@@ -190,7 +209,7 @@
Pemilik Jaminan: Pemilik Jaminan:
</h3> </h3>
<span class="text-2sm text-gray-700"> <span class="text-2sm text-gray-700">
{{ $dokumen->pemilik->name?? "" }} {{ $dokumen->pemilik->name ?? '' }}
</span> </span>
</div> </div>
<div class="mb-5"> <div class="mb-5">
@@ -198,7 +217,7 @@
Jenis Jaminan: Jenis Jaminan:
</h3> </h3>
<span class="text-2sm text-gray-700"> <span class="text-2sm text-gray-700">
{{ $dokumen->jenisJaminan->name?? "" }} {{ $dokumen->jenisJaminan->name ?? '' }}
</span> </span>
</div> </div>
<div class="mb-5"> <div class="mb-5">
@@ -206,7 +225,7 @@
Hubungan Pemilik Jaminan: Hubungan Pemilik Jaminan:
</h3> </h3>
<span class="text-2sm text-gray-700"> <span class="text-2sm text-gray-700">
{{ $dokumen->pemilik->hubungan_pemilik->name?? "" }} {{ $dokumen->pemilik->hubungan_pemilik->name ?? '' }}
</span> </span>
</div> </div>
<div class="mb-5"> <div class="mb-5">
@@ -214,23 +233,28 @@
Alamat Pemilik Jaminan: Alamat Pemilik Jaminan:
</h3> </h3>
<span class="text-2sm text-gray-700"> <span class="text-2sm text-gray-700">
{{ $dokumen->pemilik->address ?? ""}}, {{ $dokumen->pemilik->address ?? '' }},
<br> {{ $dokumen->pemilik->village->name ?? "" }}, {{ $dokumen->pemilik->district->name ?? "" }}, {{ $dokumen->pemilik->city->name ?? "" }}, {{ $dokumen->pemilik->province->name ?? "" }} - {{ $dokumen->pemilik->village->postal_code ?? "" }} <br> {{ $dokumen->pemilik->village->name ?? '' }},
{{ $dokumen->pemilik->district->name ?? '' }},
{{ $dokumen->pemilik->city->name ?? '' }},
{{ $dokumen->pemilik->province->name ?? '' }} -
{{ $dokumen->pemilik->village->postal_code ?? '' }}
</span> </span>
</div> </div>
</div> </div>
<div class="card-table scrollable-x-auto pb-3"> <div class="card-table scrollable-x-auto pb-3">
<a href="{{ route('debitur.jaminan.bulk.download',['id' => $permohonan->debiture->id,'jaminan' => $dokumen->id]) }}" class="ml-6 btn btn-dark dark:btn-light"> <a href="{{ route('debitur.jaminan.bulk.download', ['id' => $permohonan->debiture->id, 'jaminan' => $dokumen->id]) }}"
class="ml-6 btn btn-dark dark:btn-light">
<i class="ki-outline ki-cloud-download"></i> Download Semua Dokumen <i class="ki-outline ki-cloud-download"></i> Download Semua Dokumen
</a> </a>
<table class="table align-middle text-sm text-gray-500"> <table class="table align-middle text-sm text-gray-500">
@foreach($dokumen->detail as $detail) @foreach ($dokumen->detail as $detail)
<tr> <tr>
<td class="py-2 text-gray-600 font-normal max-w-[100px]"> <td class="py-2 text-gray-600 font-normal max-w-[100px]">
{{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }} {{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }}
</td> </td>
<td class="py-2 text-gray-800 font-normaltext-sm"> <td class="py-2 text-gray-800 font-normaltext-sm">
{{ $detail->name ?? "" }} {{ $detail->name ?? '' }}
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -239,16 +263,23 @@
</td> </td>
<td class="py-3 text-gray-700 text-2sm font-normal"> <td class="py-3 text-gray-700 text-2sm font-normal">
@if(isset($detail->dokumen_jaminan)) @if (isset($detail->dokumen_jaminan))
@php @php
$dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan)) ? json_decode($detail->dokumen_jaminan) : [$detail->dokumen_jaminan]; $dokumen_jaminan = is_array(json_decode($detail->dokumen_jaminan))
$dokumen_nomor = is_array(json_decode($detail->dokumen_nomor)) ? json_decode($detail->dokumen_nomor) : ($detail->dokumen_nomor ? [$detail->dokumen_nomor] : []); ? json_decode($detail->dokumen_jaminan)
: [$detail->dokumen_jaminan];
$dokumen_nomor = is_array(json_decode($detail->dokumen_nomor))
? json_decode($detail->dokumen_nomor)
: ($detail->dokumen_nomor
? [$detail->dokumen_nomor]
: []);
@endphp @endphp
@foreach($dokumen_jaminan as $index => $dokumen) @foreach ($dokumen_jaminan as $index => $dokumen)
<div class="flex w-full lg:w-[30%]"> <div class="flex w-full lg:w-[30%]">
@if(in_array(Auth::user()->roles[0]->name,['administrator','pemohon-eo'])) @if (in_array(Auth::user()->roles[0]->name, ['administrator', 'pemohon-eo']))
@if(!empty($dokumen_nomor)) @if (!empty($dokumen_nomor))
<span class="flex-1 mt-2 text-info">Nomor Dokumen : {{ $dokumen_nomor[$index] }}</span> <span class="flex-1 mt-2 text-info">Nomor Dokumen :
{{ $dokumen_nomor[$index] }}</span>
@endif @endif
<a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id, 'index' => $index]) }}" <a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id, 'index' => $index]) }}"
class="flex-none badge badge-sm badge-outline mt-2 mr-2"> class="flex-none badge badge-sm badge-outline mt-2 mr-2">
@@ -256,7 +287,10 @@
<i class="ki-filled ki-cloud-download"></i> <i class="ki-filled ki-cloud-download"></i>
</a> </a>
@endif @endif
<span class="flex-none badge badge-sm badge-outline badge-warning mt-2" onclick="viewPDF('{{ Storage::url($dokumen_jaminan[$index]) }}')"><i class="ki-filled ki-eye mr-2"></i>Preview</span> <span
class="flex-none badge badge-sm badge-outline badge-warning mt-2"
onclick="viewPDF('{{ Storage::url($dokumen_jaminan[$index]) }}')"><i
class="ki-filled ki-eye mr-2"></i>Preview</span>
</div> </div>
<br> <br>
@endforeach @endforeach
@@ -269,7 +303,7 @@
Keterangan Keterangan
</td> </td>
<td class="py-3 text-gray-700 text-2sm font-normal"> <td class="py-3 text-gray-700 text-2sm font-normal">
{{ $detail->keterangan ?? "" }} {{ $detail->keterangan ?? '' }}
</td> </td>
</tr> </tr>
@endforeach @endforeach

View File

@@ -121,7 +121,6 @@
</h3> </h3>
</div> </div>
<div class="card-body grid gap-2.5 w-full"> <div class="card-body grid gap-2.5 w-full">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Jenis Asset</label> <label class="form-label max-w-56">Jenis Asset</label>
@php @php
@@ -176,6 +175,7 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="card"> <div class="card">
<div class="card-header"> <div class="card-header">
@@ -387,6 +387,8 @@
</div> </div>
</div> </div>
@foreach ($permohonan->debiture->documents as $dokumen) @foreach ($permohonan->debiture->documents as $dokumen)
@if ($dokumen->jenisJaminan) @if ($dokumen->jenisJaminan)
@php @php
@@ -437,8 +439,7 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="province" class="form-label max-w-56">Luas Tanah</label> <label for="province" class="form-label max-w-56">Luas Tanah</label>
<input type="text" id="luas_tanah" class="input w-full currency-format" <input type="text" id="luas_tanah" class="input w-full currency-format"
name="luas_tanah" name="luas_tanah" value="{{ old('luas_tanah', $lpjData['luas_tanah'] ?? null) }}"
value="{{ old('luas_tanah', $lpjData['luas_tanah'] ?? null) }}"
oninput="calculateTotal()"> oninput="calculateTotal()">
</div> </div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
@@ -466,7 +467,8 @@
<div class="flex grid-col-3 gap-2.5 w-full"> <div class="flex grid-col-3 gap-2.5 w-full">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="province" class="form-label max-w-56">Luas Bangunan</label> <label for="province" class="form-label max-w-56">Luas Bangunan</label>
<input type="text" class="input w-full currency-format" id="luas_bangunan" name="luas_bangunan" <input type="text" class="input w-full currency-format" id="luas_bangunan"
name="luas_bangunan"
value="{{ old('luas_bangunan', $lpjData['luas_bangunan'] ?? null) }}" value="{{ old('luas_bangunan', $lpjData['luas_bangunan'] ?? null) }}"
oninput="calculateTotal()"> oninput="calculateTotal()">
</div> </div>
@@ -475,8 +477,7 @@
<label class="input"> <label class="input">
<i class="">Rp <i class="">Rp
</i> </i>
<input type="text" class=" w-full currency-format" <input type="text" class=" w-full currency-format" id="nilai_bangunan_1"
id="nilai_bangunan_1"
name="nilai_bangunan_1" name="nilai_bangunan_1"
value="{{ old('nilai_bangunan_1', $lpjData['nilai_bangunan_1'] ?? null) }}" value="{{ old('nilai_bangunan_1', $lpjData['nilai_bangunan_1'] ?? null) }}"
oninput="calculateTotal()"> oninput="calculateTotal()">
@@ -486,8 +487,7 @@
<label class="input"> <label class="input">
<i class="">Rp <i class="">Rp
</i> </i>
<input type="text" class=" w-full currency-format" <input type="text" class=" w-full currency-format" id="nilai_bangunan_2"
id="nilai_bangunan_2"
name="nilai_bangunan_2" name="nilai_bangunan_2"
value="{{ old('nilai_bangunan_2', $lpjData['nilai_bangunan_2'] ?? null) }}"> value="{{ old('nilai_bangunan_2', $lpjData['nilai_bangunan_2'] ?? null) }}">
</label> </label>
@@ -497,8 +497,7 @@
<div class="flex grid-col-3 gap-2.5 w-full"> <div class="flex grid-col-3 gap-2.5 w-full">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="province" class="form-label max-w-56">Sarana Pelengkap</label> <label for="province" class="form-label max-w-56">Sarana Pelengkap</label>
<input type="text" class="input w-full currency-format" <input type="text" class="input w-full currency-format" id="sarana_pelengkap"
id="sarana_pelengkap"
name="sarana_pelengkap" name="sarana_pelengkap"
value="{{ old('sarana_pelengkap', $lpjData['sarana_pelengkap'] ?? null) }}" value="{{ old('sarana_pelengkap', $lpjData['sarana_pelengkap'] ?? null) }}"
oninput="calculateTotal()"> oninput="calculateTotal()">
@@ -510,11 +509,10 @@
<i class="">Rp <i class="">Rp
</i> </i>
<input type="text" class=" w-full currency-format" <input type="text" class=" w-full currency-format"
id="nilai_sarana_pelengkap_1" id="nilai_sarana_pelengkap_1" name="nilai_sarana_pelengkap_1"
name="nilai_sarana_pelengkap_1"
value="{{ old('nilai_sarana_pelengkap_1', $lpjData['nilai_sarana_pelengkap_1'] ?? null) }}" value="{{ old('nilai_sarana_pelengkap_1', $lpjData['nilai_sarana_pelengkap_1'] ?? null) }}"
oninput="calculateTotal()"> oninput="calculateTotal()">
>
</label> </label>
</div> </div>
@@ -527,8 +525,7 @@
<i class="">Rp <i class="">Rp
</i> </i>
<input type="text" class="w-full currency-format" <input type="text" class="w-full currency-format"
id="nilai_sarana_pelengkap_2" id="nilai_sarana_pelengkap_2" name="nilai_sarana_pelengkap_2"
name="nilai_sarana_pelengkap_2"
value="{{ old('nilai_sarana_pelengkap_2', $lpjData['nilai_sarana_pelengkap_2'] ?? null) }}"> value="{{ old('nilai_sarana_pelengkap_2', $lpjData['nilai_sarana_pelengkap_2'] ?? null) }}">
</label> </label>
@@ -540,8 +537,7 @@
<i class="">Rp <i class="">Rp
</i> </i>
<input type="text" class=" w-full currency-format" <input type="text" class=" w-full currency-format"
id="total_nilai_pasar_wajar" id="total_nilai_pasar_wajar" name="total_nilai_pasar_wajar"
name="total_nilai_pasar_wajar"
value="{{ old('total_nilai_pasar_wajar', $lpjData['total_nilai_pasar_wajar'] ?? null) }}"> value="{{ old('total_nilai_pasar_wajar', $lpjData['total_nilai_pasar_wajar'] ?? null) }}">
</label> </label>
</div> </div>
@@ -556,9 +552,8 @@
<div class="card-body grid gap-2.5 w-full"> <div class="card-body grid gap-2.5 w-full">
<div class="flex grid-col-3 gap-2.5 w-full"> <div class="flex grid-col-3 gap-2.5 w-full">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<input type="text" <input type="text" id="likuidasi" name="likuidasi"
id="likuidasi" class="input w-full currency-format"
name="likuidasi" class="input w-full currency-format"
value="{{ old('likuidasi', $lpjData['likuidasi'] ?? null) }}" value="{{ old('likuidasi', $lpjData['likuidasi'] ?? null) }}"
oninput="calculateTotal()"> oninput="calculateTotal()">
</div> </div>
@@ -567,8 +562,7 @@
<label class="input"> <label class="input">
<i class="">Rp <i class="">Rp
</i> </i>
<input type="text" class=" w-full currency-format" <input type="text" class=" w-full currency-format" id="likuidasi_nilai_1"
id="likuidasi_nilai_1"
name="likuidasi_nilai_1" name="likuidasi_nilai_1"
value="{{ old('likuidasi_nilai_1', $lpjData['likuidasi_nilai_1'] ?? null) }}" value="{{ old('likuidasi_nilai_1', $lpjData['likuidasi_nilai_1'] ?? null) }}"
oninput="calculateTotal()"> oninput="calculateTotal()">
@@ -607,8 +601,7 @@
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full"> <div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
<label for="province" class="form-label">Luas Bangunan</label> <label for="province" class="form-label">Luas Bangunan</label>
<input type="text" class="input w-full currency-format" <input type="text" class="input w-full currency-format"
id="asuransi_luas_bangunan" id="asuransi_luas_bangunan" name="asuransi_luas_bangunan"
name="asuransi_luas_bangunan"
value="{{ old('asuransi_luas_bangunan', $lpjData['asuransi_luas_bangunan'] ?? null) }}" value="{{ old('asuransi_luas_bangunan', $lpjData['asuransi_luas_bangunan'] ?? null) }}"
oninput="calculateTotal()"> oninput="calculateTotal()">
</div> </div>
@@ -617,8 +610,7 @@
<label class="input"> <label class="input">
<i class="">Rp <i class="">Rp
</i> </i>
<input type="text" class="input w-full currency-format" <input type="text" class="input w-full currency-format" id="asuransi_nilai_1"
id="asuransi_nilai_1"
name="asuransi_nilai_1" name="asuransi_nilai_1"
value="{{ old('asuransi_nilai_1', $lpjData['asuransi_nilai_1'] ?? null) }}" value="{{ old('asuransi_nilai_1', $lpjData['asuransi_nilai_1'] ?? null) }}"
oninput="calculateTotal()"> oninput="calculateTotal()">
@@ -642,13 +634,12 @@
</div> </div>
</div> </div>
<div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px"> <div class="flex justify-end gap-2" style="margin-right: 20px; margin-top: 20px">
<button type="button" class="btn btn-success" id="saveButton" <button type="button" class="btn btn-success" id="saveButton" onclick="saveLpjSederhanadanStandard()">
onclick="saveLpjSederhanadanStandard()">
<span id="saveButtonText">Save</span> <span id="saveButtonText">Save</span>
</button> </button>
</div> </div>
</form> </form>
</div>
</div> </div>
@endsection @endsection
@@ -723,7 +714,7 @@
// Total likuidasi (total nilai pasar wajar + nilai likuidasi) // Total likuidasi (total nilai pasar wajar + nilai likuidasi)
// const totalPasarWajarDenganLikuidasi = totalNilaiPasarWajar + hasilLikuidasi; // const totalPasarWajarDenganLikuidasi = totalNilaiPasarWajar + hasilLikuidasi;
totalLikuidasi.value = formatCurrency(hasilLikuidasi.toString()); totalLikuidasi.value = formatCurrency(hasilLikuidasi.toString());
} }

View File

@@ -8,70 +8,11 @@
@section('content') @section('content')
@include('lpj::assetsku.includenya') @include('lpj::assetsku.includenya')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto"> <div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="card"> @include('lpj::component.detail-jaminan', [
<div class="card-header"> 'backLink' => 'penilai.show',
<h3 class="card-title uppercase"> 'id' => $permohonan->id,
Data Jaminan 'title' => 'Paparan dokument',
</h3> ])
<div class="flex items-center gap-2">
<a href="{{ route('penilai.show', ['id' => $permohonan->id]) }}" class="btn btn-xs btn-info">
<i class="ki-filled ki-exit-left"></i> Back
</a>
</div>
</div>
<div class="card-body grid gap-5 grid-cols-2">
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Nama Debitur</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->debiture))
<p class="text-2sm text-gray-700">{{ $permohonan->debiture->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Alamat Object</label>
<div class="flex flex-wrap items-baseline w-full">
@foreach ($permohonan->debiture->documents as $dokumen)
<span class="text-2sm text-gray-700">
{{ formatAlamat($dokumen->pemilik) }}
</span>
@endforeach
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Nomor Registrasi</label>
<div class="flex flex-wrap items-base line w-full">
<p class="text-2sm text-gray-700">{{ $permohonan->nomor_registrasi }}</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Cab/Direktorat</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->branch))
<p class="text-2sm text-gray-700">{{ $permohonan->branch->name }}</p>
@endif
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Nomor Laporan</label>
<div class="flex flex-wrap items-base line w-full">
<p class="text-2sm text-gray-700">{{ $permohonan->nomor_registrasi }}</p>
</div>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">AO</label>
<div class="flex flex-wrap items-baseline w-full">
@if (isset($permohonan->user))
<p class="text-2sm text-gray-700">{{ $permohonan->user->name }}</p>
@endif
</div>
</div>
</div>
</div>
@include('lpj::penilai.components.foto-lampiran') @include('lpj::penilai.components.foto-lampiran')
@@ -79,16 +20,18 @@
<div class="card-header uppercase"> <div class="card-header uppercase">
Kertas Kerja Kertas Kerja
</div> </div>
<div class="card-body"> <div class="card-body flex items-center justify-between">
@php @php
$url = asset('storage/' . $penilai->kertas_kerja); $url = asset('storage/' . $penilai->kertas_kerja);
$fileName = basename($penilai->kertas_kerja);
@endphp @endphp
<button type="button" class="btn btn-primary" onclick="window.open('{{ $url }}', '_blank')">
<i class="ki-outline ki-cloud-download"></i>
Lihat Kertas Kerja</button>
<iframe src="https://docs.google.com/gview?url={{$url}}&embedded=true" style="width:100%; height:500px;" frameborder="0"></iframe> <p class="text-2sm text-gray-700">{{ $fileName }}</p>
</div> </div>
</div> </div>
</div> </div>
@endsection @endsection

View File

@@ -6,114 +6,7 @@
@section('content') @section('content')
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto"> <div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
<div class="card pb-2.5"> @include('lpj::component.detail-jaminan', ['backLink' => 'penilai.show', 'id' => $permohonan->id, 'title' => 'Lampiran foto dan dokument'])
<div class="card-header" id="basic_settings">
<h3 class="card-title">
Lampiran foto dan dokument
</h3>
<div class="flex items-center gap-2">
<a href="{{ route('penilai.show', $permohonan->id) }}" class="btn btn-xs btn-info"><i
class="ki-filled ki-exit-left"></i>
Back</a>
</div>
</div>
<div class="card-body grid gap-5">
@if (isset($permohonan))
<div data-accordion="true">
@foreach ($permohonan->debiture->documents as $dokumen)
<div class="accordion-item [&:not(:last-child)]:border-b border-b-gray-200"
data-accordion-item="true" id="accordion_detail_jaminan">
<button class="accordion-toggle py-4 group "
data-accordion-toggle="#accordion_detail_jaminan_{{ $loop->index }}">
<span class="text-base text-gray-900 font-medium">
Dokument
</span>
<i class="ki-outline ki-plus text-gray-600 text-2sm accordion-active:hidden block">
</i>
<i class="ki-outline ki-minus text-gray-600 text-2sm accordion-active:block hidden">
</i>
</button>
<div class="accordion-content hidden" id="accordion_detail_jaminan_{{ $loop->index }}">
<div class="card-table scrollable-x-auto pb-3">
<a href="{{ route('debitur.jaminan.bulk.download', ['id' => $permohonan->debiture->id, 'jaminan' => $dokumen->id]) }}"
class="ml-6 btn btn-dark dark:btn-light">
<i class="ki-outline ki-cloud-download"></i> Download Semua Dokumen
</a>
<table class="table align-middle text-sm text-gray-500">
@foreach ($dokumen->detail as $detail)
<tr>
<td class="py-2 text-gray-600 font-normal max-w-[100px]">
{{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }}
</td>
<td class="py-2 text-gray-800 font-normaltext-sm">
{{ $detail->name ?? '' }}
</td>
</tr>
<tr>
<td class="py-3 max-w-[100px] align-top">
Dokumen Jaminan
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
@if (isset($detail->dokumen_jaminan))
@php
$dokumen_jaminan = is_array(
json_decode($detail->dokumen_jaminan),
)
? json_decode($detail->dokumen_jaminan)
: [$detail->dokumen_jaminan];
$dokumen_nomor = is_array(
json_decode($detail->dokumen_nomor),
)
? json_decode($detail->dokumen_nomor)
: ($detail->dokumen_nomor
? [$detail->dokumen_nomor]
: []);
@endphp
@foreach ($dokumen_jaminan as $index => $dokumen)
<div class="flex w-full lg:w-[30%]">
@if (in_array(Auth::user()->roles[0]->name, ['administrator', 'pemohon-eo']))
@if (!empty($dokumen_nomor))
<span class="flex-1 mt-2 text-info">Nomor
Dokumen :
{{ $dokumen_nomor[$index] }}</span>
@endif
<a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id, 'index' => $index]) }}"
class="flex-none badge badge-sm badge-outline mt-2 mr-2">
{{ basename($dokumen) }}
<i class="ki-filled ki-cloud-download"></i>
</a>
@endif
<span
class="flex-none badge badge-sm badge-outline badge-warning mt-2"
onclick="viewPDF('{{ Storage::url($dokumen_jaminan[$index]) }}')"><i
class="ki-filled ki-eye mr-2"></i>Preview</span>
</div>
<br>
@endforeach
@endif
</td>
</tr>
<tr>
<td class="py-3 max-w-[100px]">
Keterangan
</td>
<td class="py-3 text-gray-700 text-2sm font-normal">
{{ $detail->keterangan ?? '' }}
</td>
</tr>
@endforeach
</table>
</div>
</div>
</div>
@endforeach
</div>
@endif
</div>
</div>
@include('lpj::penilai.components.foto-lampiran') @include('lpj::penilai.components.foto-lampiran')
</div> </div>
@endsection @endsection

View File

@@ -1,4 +1,4 @@
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden"> <div class="card w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header"> <div class="card-header">
<h3 class="card-title uppercase"> <h3 class="card-title uppercase">
Analisa Bangunan Analisa Bangunan

View File

@@ -157,7 +157,7 @@
value="{{ $inspectionData['hak_properti'] ?? '' }}"> value="{{ $inspectionData['hak_properti'] ?? '' }}">
</td> </td>
<td class="px-4 py-2"> <td class="px-4 py-2">
<input type="text" name="status_nara_sumber_pembanding[]" <input type="text" name="hak_properti_pembanding[]"
class="input"> class="input">
</td> </td>
</tr> </tr>

View File

@@ -1,5 +1,5 @@
{{-- analisa fakta --}} {{-- analisa fakta --}}
<div class="card bg-white rounded-lg overflow-hidden"> <div class="card rounded-lg overflow-hidden">
<div class="card-header"> <div class="card-header">
<h3 class="card-title uppercase"> <h3 class="card-title uppercase">
Analisis Fakta Analisis Fakta

View File

@@ -1,5 +1,5 @@
<!-- Informasi Tata Ruang --> <!-- Informasi Tata Ruang -->
<div class="card w-full bg-white"> <div class="card w-full ">
<div class="card-header"> <div class="card-header">
<h3 class="card-title uppercase"> <h3 class="card-title uppercase">
Informasi Dinas Tata Ruang Informasi Dinas Tata Ruang

View File

@@ -1,4 +1,4 @@
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden"> <div class="card w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header"> <div class="card-header">
<h3 class="card-title uppercase"> <h3 class="card-title uppercase">
Analisa Lingkungan Analisa Lingkungan

View File

@@ -1,6 +1,6 @@
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden"> <div class="card w-full rounded-lg shadow-md overflow-hidden">
<div class="card-header"> <div class="card-header">
<h3 class="card-title uppercase"> <h3 class="card-title uppercase">
Analisa Tanah Analisa Tanah