Merge remote-tracking branch 'composer/feature/senior-officer' into staging

This commit is contained in:
Daeng Deni Mardaeni
2024-12-23 10:37:52 +07:00
14 changed files with 1003 additions and 984 deletions

View File

@@ -2,21 +2,22 @@
namespace Modules\Lpj\Exports;
// use Maatwebsite\Excel\Concerns\FromCollection;
// use Maatwebsite\Excel\Concerns\WithColumnFormatting;
// use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
// use Maatwebsite\Excel\Concerns\WithHeadings;
// use Maatwebsite\Excel\Concerns\WithStyles;
// use Maatwebsite\Excel\Concerns\WithColumnWidths;
// use Maatwebsite\Excel\Concerns\WithEvents;
// use Maatwebsite\Excel\Events\AfterSheet;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
class KertasKerjaExport implements FromView
{
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\WithStyles;
use Maatwebsite\Excel\Concerns\WithColumnWidths;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Events\AfterSheet;
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
// 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;
public function __construct($data)
@@ -24,257 +25,315 @@ class KertasKerjaExport implements FromView
$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,
]);
// $rows = [];
// $nomor = 1;
$fields = [
'jenis_aset' => 'Jenis Aset',
'luas_tanah' => 'Luas Tanah (M²)',
'luas_bangunan' => 'Luas Bangunan (M²)',
'harga' => 'Harga Transaksi/Penawaran',
'tanggal_penawaran' => 'Tanggal Penawaran/Transaksi',
'diskon' => 'Diskon %',
'esitmasi_harga' => 'Esitmasi Harga Transaksi (Rp)',
'no_telepon' => 'Telepon Contact Person',
'nama_nara_sumbr' => 'Nama Nara Sumber',
'status_nara_sumbr' => 'Status Nara Sumber',
'waktu_transaksi' => 'Waktu Transaksi/Penawaran',
'alamat' => 'Alamat Titik Gps',
'jalan' => 'Jalan',
'desa' => 'Desa/Kelurahan',
'kecamatan' => 'Kecamatan',
'kabupaten' => 'Kabupaten',
'provinsi' => 'Provinsi',
'jarak_pembanding' => 'Jarak Pembanding dengan Objek',
'elevasi' => 'Estimasi Ranking Tanah',
'peruntukan' => 'Estiamsi Rangkin Bangunan'
];
$rows = [];
$nomor = 1;
// Add general asset information
$rows[] = ['No.', 'Uraian', 'Objek Penilaian', 'Data Pembanding 1', 'Data Pembanding 2', 'Data Pembanding 3'];
foreach ($this->data['objek'] as $key => $value) {
$rows[] = [
$nomor++,
$key,
$value,
$this->data['pembanding1'][$key] ?? '',
$this->data['pembanding2'][$key] ?? '',
$this->data['pembanding3'][$key] ?? ''
];
}
// B. Perhitungan Penyesuaian
$rows[] = [''];
$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)',
'b' => 'b. umur ekonomis (MAPPI)',
'c' => 'c. estimasi Tahun tahun visual dengan mempertimbangkan renovasi',
'd' => 'd. Sehingga sisa umur efektif',
'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 ($filedEstimasi as $key => $label) {
$rows[] = [
$nostimasi++,
$label,
$this->data['estimasi'][$key] ?? '',
$this->data['estimasi1'][$key] ?? '',
$this->data['estimasi2'][$key] ?? '',
$this->data['estimasi3'][$key] ?? ''
];
}
$row[] = [''];
$row[] = [''];
$rows[] = ['INDIKASI NILAI TANAHATAS OBJEK PENILAIAN'];
$indikasi=[
'luas_tanah' => 'Luas Tanah ',
'indikasi_per' => 'INDIKASI TANAH PER M2 (RP/M2)',
'indikasi_total' => 'INDIKASI TANAH TOTAL(RP)',
'varian' => 'VARIANT(%)',
];
foreach ($indikasi as $key => $label) {
$rows[] = [
$label,
$this->data['indikasi'][$key] ?? '',
];
}
// C. Peta Lokasi
$rows[] = [''];
$rows[] = [''];
$rows[] = ['C. Peta Lokasi'];
$rows[] = [$this->data['foto_objek']['foto_objek_peta'] ?? ''];
// 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 collection()
// {
// $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'] ?? '')],
// $nomor = 1;
// $fields = [
// 'jenis_aset' => 'Jenis Aset',
// 'luas_tanah' => 'Luas Tanah (M²)',
// 'luas_bangunan' => 'Luas Bangunan (M²)',
// 'harga' => 'Harga Transaksi/Penawaran',
// 'tanggal_penawaran' => 'Tanggal Penawaran/Transaksi',
// 'diskon' => 'Diskon %',
// 'esitmasi_harga' => 'Esitmasi Harga Transaksi (Rp)',
// 'no_telepon' => 'Telepon Contact Person',
// 'nama_nara_sumbr' => 'Nama Nara Sumber',
// 'status_nara_sumbr' => 'Status Nara Sumber',
// 'waktu_transaksi' => 'Waktu Transaksi/Penawaran',
// 'alamat' => 'Alamat Titik Gps',
];
}
public function registerEvents(): array
{
return [
AfterSheet::class => function (AfterSheet $event) {
// Styling untuk header utama
// 'jalan' => 'Jalan',
// 'desa' => 'Desa/Kelurahan',
// 'kecamatan' => 'Kecamatan',
// 'kabupaten' => 'Kabupaten',
// 'provinsi' => 'Provinsi',
// Styling untuk setiap section header
$sectionRows = [10, 34, 56, 46, 52]; // Sesuaikan dengan posisi setiap section
foreach ($sectionRows as $row) {
$event->sheet->getStyle("A{$row}:F{$row}")->getFill()
->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
->getStartColor()->setRGB('E2EFDA');
}
// 'jarak_pembanding' => 'Jarak Pembanding dengan Objek',
// 'elevasi' => 'Estimasi Ranking Tanah',
// 'peruntukan' => 'Estiamsi Rangkin Bangunan'
// Merge cells untuk headers
$event->sheet->mergeCells('A1:E1');
$event->sheet->mergeCells('A2:E2');
$event->sheet->mergeCells('A4:E4');
$event->sheet->mergeCells('A5:E5');
$event->sheet->mergeCells('A6:E6');
$event->sheet->mergeCells('A7:E7');
$event->sheet->mergeCells('A8:E8');
// ];
// Alignment
$event->sheet->getStyle('A1:E8')->getAlignment()
->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_LEFT);
$this->insertImages($event->sheet);
}
];
}
public function columnWidths(): array
{
return [
'A' => 5,
'B' => 30,
'C' => 30,
'D' => 30,
'E' => 30,
'F' => 30,
];
}
// foreach ($fields as $key => $label) {
// $rows[] = [
// $nomor++,
// $label,
// $this->data['objek'][$key] ?? '',
// $this->data['pembanding1'][$key] ?? '',
// $this->data['pembanding2'][$key] ?? '',
// $this->data['pembanding3'][$key] ?? ''
// ];
// }
public function styles(Worksheet $sheet)
{
return [
// Style for the main header
// // B. Perhitungan Penyesuaian
// $rows[] = [''];
// $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',
// Style for section headers
10 => ['font' => ['bold' => true]], // A. Informasi Umum
34 => ['font' => ['bold' => true]], // B. Estimasi Nilai Tanah
35 => ['font' => ['bold' => true]], // C. Peta Lokasi
57 => ['font' => ['bold' => true]], // D. Foto Objek dan Pembanding
60 => ['font' => ['bold' => true]], // E. Foto Objek
// 'a' => 'a. rincian ttipe bangunan (MAPPI)',
// 'b' => 'b. umur ekonomis (MAPPI)',
// 'c' => 'c. estimasi Tahun tahun visual dengan mempertimbangkan renovasi',
// 'd' => 'd. Sehingga sisa umur efektif',
// '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)',
// ];
// Default styling for columns
'A:J' => [
'alignment' => ['horizontal' => 'left', 'vertical' => 'center'],
'wrapText' => true,
],
// foreach ($filedEstimasi as $key => $label) {
// $rows[] = [
// $nostimasi++,
// $label,
// $this->data['estimasi'][$key] ?? '',
// $this->data['estimasi1'][$key] ?? '',
// $this->data['estimasi2'][$key] ?? '',
// $this->data['estimasi3'][$key] ?? ''
// Style for other sections (like photo and map sections)
// ];
// }
// Style for the other headers
'A11:F11' => [
'font' => ['bold' => true],
'fill' => ['fillType' => 'solid', 'color' => ['rgb' => 'E2EFDA']],
'borders' => [
'allBorders' => [
'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN
]
]
],
'A12:F31' => [
'borders' => [
'allBorders' => [
'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN
]
]
],
// $row[] = [''];
// $row[] = [''];
// $rows[] = ['INDIKASI NILAI TANAHATAS OBJEK PENILAIAN'];
'A35:F35' => [
'font' => ['bold' => true],
'fill' => ['fillType' => 'solid', 'color' => ['rgb' => 'E2EFDA']],
'borders' => [
'allBorders' => [
'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN
]
]
],
'A35:F49' => [
'borders' => [
'allBorders' => [
'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN
]
]
],
// $indikasi=[
// 'luas_tanah' => 'Luas Tanah ',
// 'indikasi_per' => 'INDIKASI TANAH PER M2 (RP/M2)',
// 'indikasi_total' => 'INDIKASI TANAH TOTAL(RP)',
// 'varian' => 'VARIANT(%)',
// ];
// end header
];
}
// foreach ($indikasi as $key => $label) {
// $rows[] = [
// $label,
// $this->data['indikasi'][$key] ?? '',
// ];
// }
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);
}
}
}
// // C. Peta Lokasi
// $rows[] = [''];
// $rows[] = [''];
// $rows[] = ['C. Peta Lokasi'];
// $rows[] = [$this->data['foto_objek']['foto_objek_peta'] ?? ''];
// // 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'] ?? '')],
// ['Nama Debitur: ' . ($this->headerInfo['nama_debitur'] ?? '')],
// [''],
// ['A. INFORMASI UMUM'],
// ['No.','Uraian', 'Objek Penilaian', 'Data Pembanding 1', 'Data Pembanding 2', 'Data Pembanding 3']
// ];
// }
// public function registerEvents(): array
// {
// return [
// AfterSheet::class => function (AfterSheet $event) {
// // Styling untuk header utama
// // Styling untuk setiap section header
// $sectionRows = [10, 34, 56, 46, 52]; // Sesuaikan dengan posisi setiap section
// foreach ($sectionRows as $row) {
// $event->sheet->getStyle("A{$row}:F{$row}")->getFill()
// ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
// ->getStartColor()->setRGB('E2EFDA');
// }
// // Merge cells untuk headers
// $event->sheet->mergeCells('A1:E1');
// $event->sheet->mergeCells('A2:E2');
// $event->sheet->mergeCells('A4:E4');
// $event->sheet->mergeCells('A5:E5');
// $event->sheet->mergeCells('A6:E6');
// $event->sheet->mergeCells('A7:E7');
// $event->sheet->mergeCells('A8:E8');
// // Alignment
// $event->sheet->getStyle('A1:E8')->getAlignment()
// ->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_LEFT);
// }
// ];
// }
// public function columnWidths(): array
// {
// return [
// 'A' => 5,
// 'B' => 30,
// 'C' => 30,
// 'D' => 30,
// 'E' => 30,
// 'F' => 30,
// ];
// }
// public function styles(Worksheet $sheet)
// {
// return [
// // Style for the main header
// // Style for section headers
// 10 => ['font' => ['bold' => true]], // A. Informasi Umum
// 34 => ['font' => ['bold' => true]], // B. Estimasi Nilai Tanah
// 35 => ['font' => ['bold' => true]], // C. Peta Lokasi
// 57 => ['font' => ['bold' => true]], // D. Foto Objek dan Pembanding
// 60 => ['font' => ['bold' => true]], // E. Foto Objek
// // Default styling for columns
// 'A:J' => [
// 'alignment' => ['horizontal' => 'left', 'vertical' => 'center'],
// 'wrapText' => true,
// ],
// // Style for other sections (like photo and map sections)
// // Style for the other headers
// 'A11:F11' => [
// 'font' => ['bold' => true],
// 'fill' => ['fillType' => 'solid', 'color' => ['rgb' => 'E2EFDA']],
// 'borders' => [
// 'allBorders' => [
// 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN
// ]
// ]
// ],
// 'A12:F31' => [
// 'borders' => [
// 'allBorders' => [
// 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN
// ]
// ]
// ],
// 'A35:F35' => [
// 'font' => ['bold' => true],
// 'fill' => ['fillType' => 'solid', 'color' => ['rgb' => 'E2EFDA']],
// 'borders' => [
// 'allBorders' => [
// 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN
// ]
// ]
// ],
// 'A35:F49' => [
// 'borders' => [
// 'allBorders' => [
// 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN
// ]
// ]
// ],
// // end header
// ];
// }
}

View File

@@ -69,19 +69,16 @@ class PenilaiController extends Controller
public function sederhana(Request $request, $id)
{
$basicData = $this->surveyorController->getCommonData();
$documentId = $request->query('documentId');
$inspeksiId = $request->query('inspeksiId');
$jaminanId = $request->query('jaminanId');
$permohonan = $this->surveyorController->getPermohonanJaminanId($id, $documentId, $jaminanId);
$basicData = $this->surveyorController->getCommonData();
$inspeksi = Inspeksi::where('permohonan_id', $id)->where('dokument_id', $documentId)->first();
$lpj = Penilai::where('permohonan_id', $id)->where('dokument_id', $documentId)->first();
$forminspeksi = null;
$lpjData = null;
if ($inspeksi) {
$forminspeksi = json_decode($inspeksi->data_form, true);
@@ -91,7 +88,7 @@ class PenilaiController extends Controller
$lpjData = json_decode($lpj->lpj, true);
}
return view('lpj::penilai.components.lpj-sederhana-standard', compact('permohonan', 'basicData', 'forminspeksi', 'inspeksi', 'lpjData'));
return view('lpj::penilai.components.lpj-sederhana-standard', compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData'));
}
public function standard(Request $request, $id)
@@ -302,19 +299,76 @@ class PenilaiController extends Controller
}
public function export_kertas_kerja(Request $request)
{
{
$permohonanId = $request->query('permohonanId');
$documentId = $request->query('documentId');
$permohonanId = $request->query('permohonanId');
$documentId = $request->query('documentId');
$inspeksiId = $request->query('inspeksiId');
$jaminanId = $request->query('jaminanId');
// Fetch the data from the database
$data = Inspeksi::where('permohonan_id', $permohonanId)
->where('dokument_id', $documentId)
->first();
$data = Inspeksi::where('permohonan_id', $permohonanId)->where('dokument_id', $documentId)->first();
return view('lpj::component.kertas-kerja', compact('data'));
// return Excel::download(new KertasKerjaExport($data), 'kertas-kerja.xlsx');
// Check if data exists
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)
{
@@ -523,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',
'tahun', 'luas_tanah', 'luas_bangunan', 'tahun_bangunan',
'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'
];
@@ -693,8 +693,8 @@ class SurveyorController extends Controller
$fields = [
'address', 'village_code', 'district_code', 'city_code', 'province_code',
'luas_tanah', 'luas_tanah_bagunan', 'total', 'diskon', 'harga_diskon',
'status_nara_sumber', 'harga', 'nama_nara_sumber',
'kordinat_lat', 'kordinat_lng', 'jenis_aset',
'status_nara_sumber', 'harga', 'nama_nara_sumber','hak_properti','telepon',
'kordinat_lat', 'kordinat_lng', 'jenis_aset','penawaran',
];
$inspeksi = Inspeksi::where('permohonan_id', $request->input('permohonan_id'))