fix exclude is_valid false and clickable dashboard simbg

This commit is contained in:
arifal
2025-08-19 14:06:07 +07:00
parent e9a70a827c
commit 3cddd271c8
6 changed files with 278 additions and 30 deletions

View File

@@ -47,22 +47,29 @@ class BigdataResume extends Model
public static function generateResumeData($import_datasource_id, $year, $resume_type){
// Get accurate counts without joins to avoid duplicates from multiple retributions
// Filter only valid data (is_valid = true)
$verified_count = PbgTask::whereIn('status', PbgTaskStatus::getVerified())
->where('is_valid', true)
->whereYear('task_created_at', $year)
->count();
$non_verified_count = PbgTask::whereIn('status', PbgTaskStatus::getNonVerified())
->where('is_valid', true)
->whereYear('task_created_at', $year)
->count();
$waiting_click_dpmptsp_count = PbgTask::whereIn('status', PbgTaskStatus::getWaitingClickDpmptsp())
->where('is_valid', true)
->whereYear('task_created_at', $year)
->count();
$issuance_realization_pbg_count = PbgTask::whereIn('status', PbgTaskStatus::getIssuanceRealizationPbg())
->where('is_valid', true)
->whereYear('task_created_at', $year)
->count();
$process_in_technical_office_count = PbgTask::whereIn('status', PbgTaskStatus::getProcessInTechnicalOffice())
->where('is_valid', true)
->whereYear('task_created_at', $year)
->count();
$potention_count = PbgTask::whereIn('status', PbgTaskStatus::getPotention())
->where('is_valid', true)
->whereYear('task_created_at', $year)
->count();
@@ -74,6 +81,7 @@ class BigdataResume extends Model
})
->whereIn("status", PbgTaskStatus::getNonVerified());
})
->where('is_valid', true)
->whereYear('task_created_at', $year)
->count();
@@ -88,6 +96,7 @@ class BigdataResume extends Model
})
->whereIn("status", PbgTaskStatus::getNonVerified());
})
->where('is_valid', true)
->whereYear('task_created_at', $year)
->count();
@@ -101,6 +110,7 @@ class BigdataResume extends Model
})
->whereIn("status", PbgTaskStatus::getNonVerified());
})
->where('is_valid', true)
->whereYear('task_created_at', $year)
->whereExists(function ($query) {
$query->select(DB::raw(1))
@@ -133,6 +143,7 @@ class BigdataResume extends Model
})
->whereIn("status", PbgTaskStatus::getNonVerified());
})
->where('is_valid', true)
->whereYear('task_created_at', $year)
->whereExists(function ($query) {
$query->select(DB::raw(1))
@@ -168,6 +179,7 @@ class BigdataResume extends Model
})
->whereIn("status", PbgTaskStatus::getNonVerified());
})
->where('is_valid', true)
->whereYear('task_created_at', $year)
->whereExists(function ($query) {
$query->select(DB::raw(1))
@@ -203,6 +215,7 @@ class BigdataResume extends Model
})
->whereIn("status", PbgTaskStatus::getNonVerified());
})
->where('is_valid', true)
->whereYear('task_created_at', $year)
->whereExists(function ($query) {
$query->select(DB::raw(1))
@@ -238,6 +251,7 @@ class BigdataResume extends Model
})
->whereIn("status", PbgTaskStatus::getNonVerified());
})
->where('is_valid', true)
->whereYear('task_created_at', $year)
->whereExists(function ($query) {
$query->select(DB::raw(1))
@@ -264,6 +278,7 @@ class BigdataResume extends Model
// Debug: Check if there are non-verified tasks and their retribution data
$debug_non_verified = PbgTask::whereIn('status', PbgTaskStatus::getNonVerified())
->where('is_valid', true)
->whereYear('task_created_at', $year)
->with('pbg_task_retributions')
->get();
@@ -283,6 +298,7 @@ class BigdataResume extends Model
// Get sum values using proper aggregation to handle multiple retributions
$stats = PbgTask::leftJoin('pbg_task_retributions as ptr', 'pbg_task.uuid', '=', 'ptr.pbg_task_uid')
->where('pbg_task.is_valid', true)
->whereYear('pbg_task.task_created_at', $year)
->selectRaw("
SUM(CASE WHEN pbg_task.status in (".implode(',', PbgTaskStatus::getVerified()).") THEN COALESCE(ptr.nilai_retribusi_bangunan, 0) ELSE 0 END) AS verified_total,