fix same column for quick-search table with pbg
This commit is contained in:
@@ -56,7 +56,8 @@ class RequestAssignmentController extends Controller
|
||||
'attachments' => function ($q) {
|
||||
$q->whereIn('pbg_type', ['berita_acara', 'bukti_bayar']);
|
||||
},
|
||||
'pbg_task_retributions'
|
||||
'pbg_task_retributions',
|
||||
'pbg_task_detail'
|
||||
])->orderBy('id', 'desc');
|
||||
|
||||
// Log final query count for debugging
|
||||
|
||||
@@ -9,6 +9,7 @@ use App\Models\PbgTask;
|
||||
use App\Models\TaskAssignment;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class QuickSearchController extends Controller
|
||||
{
|
||||
@@ -25,9 +26,13 @@ class QuickSearchController extends Controller
|
||||
public function quick_search_datatable(Request $request)
|
||||
{
|
||||
try {
|
||||
$query = PbgTask::leftJoin('pbg_task_details', 'pbg_task.uuid', '=', 'pbg_task_details.pbg_task_uid')
|
||||
->select('pbg_task.*')
|
||||
->orderBy('pbg_task.id', 'desc');
|
||||
// Gunakan subquery untuk performa yang lebih baik dan menghindari duplikasi
|
||||
$query = PbgTask::select([
|
||||
'pbg_task.*',
|
||||
DB::raw('(SELECT name_building FROM pbg_task_details WHERE pbg_task_details.pbg_task_uid = pbg_task.uuid LIMIT 1) as name_building'),
|
||||
DB::raw('(SELECT nilai_retribusi_bangunan FROM pbg_task_retributions WHERE pbg_task_retributions.pbg_task_uid = pbg_task.uuid LIMIT 1) as nilai_retribusi_bangunan')
|
||||
])
|
||||
->orderBy('pbg_task.id', 'desc');
|
||||
|
||||
if ($request->filled('search')) {
|
||||
$search = trim($request->get('search'));
|
||||
@@ -36,7 +41,12 @@ class QuickSearchController extends Controller
|
||||
->orWhere('pbg_task.name', 'LIKE', "%$search%")
|
||||
->orWhere('pbg_task.owner_name', 'LIKE', "%$search%")
|
||||
->orWhere('pbg_task.address', 'LIKE', "%$search%")
|
||||
->orWhere('pbg_task_details.name_building', 'LIKE', "%$search%");
|
||||
->orWhereExists(function ($subQuery) use ($search) {
|
||||
$subQuery->select(DB::raw(1))
|
||||
->from('pbg_task_details')
|
||||
->whereColumn('pbg_task_details.pbg_task_uid', 'pbg_task.uuid')
|
||||
->where('pbg_task_details.name_building', 'LIKE', "%$search%");
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@ class RequestAssignmentResouce extends JsonResource
|
||||
->sortByDesc('created_at')
|
||||
->first(),
|
||||
'pbg_task_retributions' => $this->pbg_task_retributions,
|
||||
'pbg_task_detail' => $this->pbg_task_detail,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,6 +113,7 @@ class PbgTasks {
|
||||
{ name: "Alamat" },
|
||||
"Status",
|
||||
"Jenis Fungsi",
|
||||
{ name: "Nama Bangunan" },
|
||||
"Jenis Konsultasi",
|
||||
{ name: "Tanggal Jatuh Tempo" },
|
||||
{
|
||||
@@ -221,6 +222,9 @@ class PbgTasks {
|
||||
item.address,
|
||||
item.status_name,
|
||||
item.function_type,
|
||||
item.pbg_task_detail
|
||||
? item.pbg_task_detail.name_building
|
||||
: "-",
|
||||
item.consultation_type,
|
||||
item.due_date,
|
||||
item.pbg_task_retributions
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { Grid, html } from "gridjs";
|
||||
import { addThousandSeparators } from "../global-config";
|
||||
|
||||
class QuickSearchResult {
|
||||
constructor() {
|
||||
@@ -62,15 +63,18 @@ class QuickSearchResult {
|
||||
const config = {
|
||||
columns: [
|
||||
"ID",
|
||||
{ name: "Name" },
|
||||
{ name: "Condition" },
|
||||
"Registration Number",
|
||||
"Document Number",
|
||||
{ name: "Address" },
|
||||
{ name: "Nama Pemohon" },
|
||||
{ name: "Nama Pemilik" },
|
||||
{ name: "Kondisi" },
|
||||
"Nomor Registrasi",
|
||||
"Nomor Dokumen",
|
||||
{ name: "Alamat" },
|
||||
"Status",
|
||||
"Function Type",
|
||||
"Consultation Type",
|
||||
{ name: "Due Date" },
|
||||
"Jenis Fungsi",
|
||||
{ name: "Nama Bangunan" },
|
||||
"Jenis Konsultasi",
|
||||
{ name: "Tanggal Jatuh Tempo" },
|
||||
{ name: "Retribusi" },
|
||||
{
|
||||
name: "Action",
|
||||
formatter: (cell) => {
|
||||
@@ -101,14 +105,17 @@ class QuickSearchResult {
|
||||
data.data.map((item) => [
|
||||
item.id,
|
||||
item.name,
|
||||
item.owner_name,
|
||||
item.condition,
|
||||
item.registration_number,
|
||||
item.document_number,
|
||||
item.address,
|
||||
item.status_name,
|
||||
item.function_type,
|
||||
item.name_building,
|
||||
item.consultation_type,
|
||||
item.due_date,
|
||||
addThousandSeparators(item.nilai_retribusi_bangunan),
|
||||
item,
|
||||
]),
|
||||
total: (data) => data.total,
|
||||
|
||||
@@ -124,7 +124,8 @@
|
||||
<div class="col-md-6">
|
||||
<dl class="row mb-0">
|
||||
<dt class="col-sm-4">Nilai Retribusi Bangunan</dt>
|
||||
<dd class="col-sm-8">{{$data->pbg_task_retributions->nilai_retribusi_bangunan ?? '-'}}</dd>
|
||||
<dd class="col-sm-8">{{ number_format($data->pbg_task_retributions->nilai_retribusi_bangunan, 2, ',', '.') }}</dd>
|
||||
|
||||
|
||||
<dt class="col-sm-4">Nilai Prasarana</dt>
|
||||
<dd class="col-sm-8">{{$data->pbg_task_retributions->nilai_prasarana ?? '-'}}</dd>
|
||||
@@ -136,7 +137,7 @@
|
||||
<dd class="col-sm-8">{{$data->pbg_task_retributions->underpayment ?? '-'}}</dd>
|
||||
|
||||
<dt class="col-sm-4">SKRD Amount</dt>
|
||||
<dd class="col-sm-8">{{$data->pbg_task_retributions->skrd_amount ?? '-'}}</dd>
|
||||
<dd class="col-sm-8">{{ number_format($data->pbg_task_retributions->skrd_amount, 2, ',', '.') }}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user