feat(bank-data): tambahkan logika untuk memasukkan data pembanding
- Mengambil data inspeksi dan memproses data pembanding. - Memvalidasi koordinat sebelum menyimpan ke dalam database. - Menggunakan metode updateOrCreate untuk menyimpan data bank. - Menambahkan logging untuk koordinat yang tidak valid.
This commit is contained in:
@@ -6,6 +6,7 @@ use Illuminate\Http\Request;
|
|||||||
use Illuminate\Routing\Controller;
|
use Illuminate\Routing\Controller;
|
||||||
use Modules\Lpj\Http\Requests\BankDataRequest;
|
use Modules\Lpj\Http\Requests\BankDataRequest;
|
||||||
use Modules\Lpj\Models\BankData;
|
use Modules\Lpj\Models\BankData;
|
||||||
|
use Modules\Lpj\Models\Inspeksi;
|
||||||
use Modules\Lpj\Models\JenisJaminan;
|
use Modules\Lpj\Models\JenisJaminan;
|
||||||
use Modules\Lpj\Services\BankDataService;
|
use Modules\Lpj\Services\BankDataService;
|
||||||
use Modules\Location\Models\Province;
|
use Modules\Location\Models\Province;
|
||||||
@@ -25,6 +26,67 @@ class BankDataController extends Controller
|
|||||||
$provinces = Province::all();
|
$provinces = Province::all();
|
||||||
$jenisJaminan = JenisJaminan::all();
|
$jenisJaminan = JenisJaminan::all();
|
||||||
|
|
||||||
|
//insert data pembanding
|
||||||
|
|
||||||
|
$inspeksi = Inspeksi::all();
|
||||||
|
|
||||||
|
foreach ($inspeksi as $item) {
|
||||||
|
if(isset($item->data_pembanding)){
|
||||||
|
$data_pembanding = json_decode($item->data_pembanding);
|
||||||
|
foreach ($data_pembanding->data_pembanding as $dataPembanding) {
|
||||||
|
$lat = trim($dataPembanding->kordinat_lat);
|
||||||
|
$lng = trim($dataPembanding->kordinat_lng);
|
||||||
|
|
||||||
|
if (!empty($lat) && !empty($lng)) {
|
||||||
|
$lat = floatval($lat);
|
||||||
|
$lng = floatval($lng);
|
||||||
|
|
||||||
|
if ($lat >= -90 && $lat <= 90 && $lng >= -180 && $lng <= 180) {
|
||||||
|
$data = [
|
||||||
|
'address' => $dataPembanding->address,
|
||||||
|
'village_code' => $dataPembanding->village_code,
|
||||||
|
'district_code' => $dataPembanding->district_code,
|
||||||
|
'city_code' => $dataPembanding->city_code,
|
||||||
|
'province_code' => $dataPembanding->province_code,
|
||||||
|
'tahun' => $dataPembanding->tahun,
|
||||||
|
'luas_tanah' => $dataPembanding->luas_tanah,
|
||||||
|
'luas_bangunan' => $dataPembanding->luas_bangunan,
|
||||||
|
'tahun_bangunan' => $dataPembanding->tahun_bangunan,
|
||||||
|
'status_nara_sumber' => $dataPembanding->status_nara_sumber,
|
||||||
|
'harga' => $dataPembanding->harga,
|
||||||
|
'harga_diskon' => $dataPembanding->harga_diskon,
|
||||||
|
'diskon' => str_replace(',','.',$dataPembanding->diskon),
|
||||||
|
'total' => $dataPembanding->total,
|
||||||
|
'nama_nara_sumber' => $dataPembanding->nama_nara_sumber,
|
||||||
|
'peruntukan' => $dataPembanding->peruntukan,
|
||||||
|
'penawaran' => $dataPembanding->penawaran,
|
||||||
|
'telepon' => $dataPembanding->telepon,
|
||||||
|
'hak_properti' => $dataPembanding->hak_properti,
|
||||||
|
'jenis_aset' => $dataPembanding->jenis_aset,
|
||||||
|
'foto_objek' => $dataPembanding->foto_objek,
|
||||||
|
'tanggal' => $dataPembanding->tanggal,
|
||||||
|
'harga_penawaran' => $dataPembanding->harga_penawaran,
|
||||||
|
];
|
||||||
|
|
||||||
|
$data['kordinat_lat'] = $lat;
|
||||||
|
$data['kordinat_lng'] = $lng;
|
||||||
|
|
||||||
|
BankData::updateOrCreate(
|
||||||
|
[
|
||||||
|
'kordinat_lat' => $data['kordinat_lat'],
|
||||||
|
'kordinat_lng' => $data['kordinat_lng']
|
||||||
|
],
|
||||||
|
$data
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
// Invalid coordinates
|
||||||
|
\Log::warning("Invalid coordinates: Lat: $lat, Lng: $lng");// Do something to handle this situation, such as logging an error or skipping the record
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return view('lpj::bank-data.index', compact('provinces', 'jenisJaminan' ));
|
return view('lpj::bank-data.index', compact('provinces', 'jenisJaminan' ));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,7 +203,7 @@ class BankDataController extends Controller
|
|||||||
return [
|
return [
|
||||||
'id' => $item->id,
|
'id' => $item->id,
|
||||||
'jenis_aset' => $item->jenis_aset,
|
'jenis_aset' => $item->jenis_aset,
|
||||||
'tanggal' => $item->tanggal->format('d-m-Y'),
|
'tanggal' => $item->tanggal ? $item->tanggal->format('d-m-Y') : '-',
|
||||||
'tahun' => $item->tahun,
|
'tahun' => $item->tahun,
|
||||||
'luas_tanah' => $item->luas_tanah,
|
'luas_tanah' => $item->luas_tanah,
|
||||||
'luas_bangunan' => $item->luas_bangunan,
|
'luas_bangunan' => $item->luas_bangunan,
|
||||||
|
|||||||
Reference in New Issue
Block a user