fix(bank-data): perbaiki logika penyimpanan data pembanding
- Menambahkan kategori 'data_pembanding' saat menyimpan data ke BankData. - Memperbaiki penanganan koordinat yang tidak valid dengan logging. - Memastikan data yang diambil dari request diolah dengan benar sebelum disimpan.
This commit is contained in:
@@ -1,18 +1,19 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Modules\Lpj\Http\Controllers;
|
namespace Modules\Lpj\Http\Controllers;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Routing\Controller;
|
use Illuminate\Routing\Controller;
|
||||||
use Modules\Lpj\Http\Requests\BankDataRequest;
|
use Log;
|
||||||
use Modules\Lpj\Models\BankData;
|
use Modules\Location\Models\Province;
|
||||||
use Modules\Lpj\Models\Inspeksi;
|
use Modules\Lpj\Http\Requests\BankDataRequest;
|
||||||
use Modules\Lpj\Models\JenisJaminan;
|
use Modules\Lpj\Models\BankData;
|
||||||
use Modules\Lpj\Services\BankDataService;
|
use Modules\Lpj\Models\Inspeksi;
|
||||||
use Modules\Location\Models\Province;
|
use Modules\Lpj\Models\JenisJaminan;
|
||||||
|
use Modules\Lpj\Services\BankDataService;
|
||||||
|
|
||||||
class BankDataController extends Controller
|
class BankDataController extends Controller
|
||||||
{
|
{
|
||||||
protected $bankDataService;
|
protected $bankDataService;
|
||||||
protected $user;
|
protected $user;
|
||||||
|
|
||||||
@@ -31,7 +32,7 @@ class BankDataController extends Controller
|
|||||||
$inspeksi = Inspeksi::all();
|
$inspeksi = Inspeksi::all();
|
||||||
|
|
||||||
foreach ($inspeksi as $item) {
|
foreach ($inspeksi as $item) {
|
||||||
if(isset($item->data_pembanding)){
|
if (isset($item->data_pembanding)) {
|
||||||
$data_pembanding = json_decode($item->data_pembanding);
|
$data_pembanding = json_decode($item->data_pembanding);
|
||||||
foreach ($data_pembanding->data_pembanding as $dataPembanding) {
|
foreach ($data_pembanding->data_pembanding as $dataPembanding) {
|
||||||
$lat = $dataPembanding->kordinat_lat;
|
$lat = $dataPembanding->kordinat_lat;
|
||||||
@@ -65,6 +66,7 @@ class BankDataController extends Controller
|
|||||||
'jenis_aset' => $dataPembanding->jenis_aset,
|
'jenis_aset' => $dataPembanding->jenis_aset,
|
||||||
'foto_objek' => $dataPembanding->foto_objek,
|
'foto_objek' => $dataPembanding->foto_objek,
|
||||||
'tanggal' => $dataPembanding->tanggal,
|
'tanggal' => $dataPembanding->tanggal,
|
||||||
|
'kategori' => 'data_pembanding',
|
||||||
];
|
];
|
||||||
|
|
||||||
BankData::updateOrCreate(
|
BankData::updateOrCreate(
|
||||||
@@ -75,15 +77,15 @@ class BankDataController extends Controller
|
|||||||
$data
|
$data
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
// Invalid coordinates
|
// 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
|
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'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create()
|
public function create()
|
||||||
@@ -95,7 +97,9 @@ class BankDataController extends Controller
|
|||||||
{
|
{
|
||||||
$data = $request->validated();
|
$data = $request->validated();
|
||||||
$bankData = $this->bankDataService->createBankData($data);
|
$bankData = $this->bankDataService->createBankData($data);
|
||||||
return redirect()->route('lpj.bank-data.show', $bankData->id)->with('success', 'Bank data created successfully.');
|
return redirect()
|
||||||
|
->route('lpj.bank-data.show', $bankData->id)
|
||||||
|
->with('success', 'Bank data created successfully.');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show($id)
|
public function show($id)
|
||||||
@@ -114,7 +118,9 @@ class BankDataController extends Controller
|
|||||||
{
|
{
|
||||||
$data = $request->validated();
|
$data = $request->validated();
|
||||||
$bankData = $this->bankDataService->updateBankData($id, $data);
|
$bankData = $this->bankDataService->updateBankData($id, $data);
|
||||||
return redirect()->route('lpj.bank-data.show', $bankData->id)->with('success', 'Bank data updated successfully.');
|
return redirect()
|
||||||
|
->route('lpj.bank-data.show', $bankData->id)
|
||||||
|
->with('success', 'Bank data updated successfully.');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy($id)
|
public function destroy($id)
|
||||||
@@ -142,6 +148,10 @@ class BankDataController extends Controller
|
|||||||
$query->ofProvince($search['province_code']);
|
$query->ofProvince($search['province_code']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($search['kategori']) {
|
||||||
|
$query->where('kategori',$search['kategori']);
|
||||||
|
}
|
||||||
|
|
||||||
if ($search['city_code']) {
|
if ($search['city_code']) {
|
||||||
$query->ofCity($search['city_code']);
|
$query->ofCity($search['city_code']);
|
||||||
}
|
}
|
||||||
@@ -161,7 +171,7 @@ class BankDataController extends Controller
|
|||||||
if ($search['start_date'] && $search['end_date']) {
|
if ($search['start_date'] && $search['end_date']) {
|
||||||
$query->betweenDates($search['start_date'], $search['end_date']);
|
$query->betweenDates($search['start_date'], $search['end_date']);
|
||||||
}
|
}
|
||||||
} else{
|
} else {
|
||||||
$search = $request->get('search');
|
$search = $request->get('search');
|
||||||
$query->where(function ($q) use ($search) {
|
$query->where(function ($q) use ($search) {
|
||||||
$q->where('jenis_aset', 'LIKE', '%' . $search . '%');
|
$q->where('jenis_aset', 'LIKE', '%' . $search . '%');
|
||||||
@@ -204,6 +214,7 @@ class BankDataController extends Controller
|
|||||||
'luas_tanah' => $item->luas_tanah,
|
'luas_tanah' => $item->luas_tanah,
|
||||||
'luas_bangunan' => $item->luas_bangunan,
|
'luas_bangunan' => $item->luas_bangunan,
|
||||||
'harga' => $item->harga,
|
'harga' => $item->harga,
|
||||||
|
'sumber' => $item->kategori ? ucwords(str_replace('_',' ',$item->kategori)) : '-',
|
||||||
'nilai_pasar' => $item->nilai_pasar,
|
'nilai_pasar' => $item->nilai_pasar,
|
||||||
'location' => $item->kordinat_lat . ', ' . $item->kordinat_lng,
|
'location' => $item->kordinat_lat . ', ' . $item->kordinat_lng,
|
||||||
'address' => formatAlamat($item),
|
'address' => formatAlamat($item),
|
||||||
@@ -233,4 +244,4 @@ class BankDataController extends Controller
|
|||||||
'data' => $formattedData,
|
'data' => $formattedData,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user