|
|
|
@ -32,48 +32,51 @@ class DashboardBoDController extends Controller
|
|
|
|
|
{ |
|
|
|
|
$totalExpenditure = $totalInvoice = $totalPaidInvoice = 0; |
|
|
|
|
|
|
|
|
|
$totalBudgets = []; |
|
|
|
|
$projects = []; |
|
|
|
|
$role = urldecode($role_name); |
|
|
|
|
|
|
|
|
|
if ($all_project) { |
|
|
|
|
$totalBudgets = Project::select( |
|
|
|
|
DB::raw('SUM(CAST(COALESCE(NULLIF(REPLACE(rencana_biaya, \'.\', \'\'), \'\'), \'0\') AS DOUBLE PRECISION)) AS total_rencana_biaya'), |
|
|
|
|
DB::raw('SUM(CAST(COALESCE(NULLIF(REPLACE(value_proyek, \'.\', \'\'), \'\'), \'0\') AS DOUBLE PRECISION)) AS total_value_proyek'), |
|
|
|
|
DB::raw('SUM(CAST(COALESCE(NULLIF(REPLACE(income_year, \'.\', \'\'), \'\'), \'0\') AS DOUBLE PRECISION)) AS total_income_year') |
|
|
|
|
)->first(); |
|
|
|
|
$projects = Project::get(); |
|
|
|
|
Log::info(['dataTotal' => $totalBudgets]); |
|
|
|
|
} else { |
|
|
|
|
$totalBudgets = Project::where('created_by_id', $hierarchy) |
|
|
|
|
->select( |
|
|
|
|
DB::raw('SUM(CAST(COALESCE(NULLIF(REPLACE(rencana_biaya, \'.\', \'\'), \'\'), \'0\') AS DOUBLE PRECISION)) AS total_rencana_biaya'), |
|
|
|
|
DB::raw('SUM(CAST(COALESCE(NULLIF(REPLACE(value_proyek, \'.\', \'\'), \'\'), \'0\') AS DOUBLE PRECISION)) AS total_value_proyek'), |
|
|
|
|
DB::raw('SUM(CAST(COALESCE(NULLIF(REPLACE(income_year, \'.\', \'\'), \'\'), \'0\') AS DOUBLE PRECISION)) AS total_income_year') |
|
|
|
|
)->first(); |
|
|
|
|
$projects = Project::where('created_by_id', $hierarchy)->get(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
foreach ($projects as $project) { |
|
|
|
|
$project->expenses = 0; |
|
|
|
|
if ($project->kode_sortname != "") { |
|
|
|
|
$cost = 0; |
|
|
|
|
$totalExpenditure = 0; |
|
|
|
|
$totalInvoice = 0; |
|
|
|
|
$totalPaidInvoice = 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return response()->json([ |
|
|
|
|
'data' => [ |
|
|
|
|
'total_budget' => (int) ($totalBudgets->total_rencana_biaya ?? 0), |
|
|
|
|
'total_expenditure' => $totalExpenditure, |
|
|
|
|
'total_invoice' => $totalInvoice, |
|
|
|
|
'total_paid_invoice' => $totalPaidInvoice, |
|
|
|
|
'total_value_proyek' => $totalBudgets->total_value_proyek ?? 0, |
|
|
|
|
'total_income_year' => $totalBudgets->total_income_year ?? 0 |
|
|
|
|
] |
|
|
|
|
], 200); |
|
|
|
|
$totalBudgets = null; |
|
|
|
|
$role = urldecode($role_name); |
|
|
|
|
if (!empty($all_project) || $role === "Super Admin") { |
|
|
|
|
$totalBudgets = Project::sum(DB::raw('CAST("rencana_biaya" AS DOUBLE PRECISION)')); |
|
|
|
|
} else { |
|
|
|
|
$totalBudgets = Project::where('created_by_id', $hierarchy) |
|
|
|
|
->sum(DB::raw('CAST("rencana_biaya" AS DOUBLE PRECISION)')); |
|
|
|
|
} |
|
|
|
|
$totalBudgets = Project::sum(DB::raw('CAST("rencana_biaya" AS DOUBLE PRECISION)')); |
|
|
|
|
$projects = null; |
|
|
|
|
|
|
|
|
|
if (!empty($all_project) || $role === "Super Admin") { |
|
|
|
|
$projects = Project::get(); |
|
|
|
|
} else { |
|
|
|
|
$projects = Project::where('created_by_id', $hierarchy) |
|
|
|
|
->get(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
foreach ($projects as $project) { |
|
|
|
|
$project->expenses = 0; |
|
|
|
|
$resp = null; |
|
|
|
|
if ($project->kode_sortname != "") { |
|
|
|
|
|
|
|
|
|
// $resp = $this->getInvoiceIntegration($project->kode_sortname); |
|
|
|
|
// $cost = $resp->data->total_cost ?? 0; |
|
|
|
|
// $cost = substr($cost, 0, strpos($cost, ".")); |
|
|
|
|
$cost = 0; |
|
|
|
|
$totalExpenditure = 0; |
|
|
|
|
$totalInvoice = 0; |
|
|
|
|
$totalPaidInvoice = 0; |
|
|
|
|
|
|
|
|
|
// $totalExpenditure += (int) $cost; |
|
|
|
|
// $totalInvoice += $resp->data->total_invoice_amount ?? 0; |
|
|
|
|
// $totalPaidInvoice += $resp->data->total_invoice_paid_amount ?? 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return response()->json([ |
|
|
|
|
'data' => [ |
|
|
|
|
'total_budget' => (int) $totalBudgets ?? 0, |
|
|
|
|
'total_expenditure' => $totalExpenditure, |
|
|
|
|
'total_invoice' => $totalInvoice, |
|
|
|
|
'total_paid_invoice' => $totalPaidInvoice, |
|
|
|
|
] |
|
|
|
|
], 200); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function getDetailExpenditureColor($role_name) |
|
|
|
@ -457,7 +460,8 @@ class DashboardBoDController extends Controller
|
|
|
|
|
|
|
|
|
|
public function getDetailExpenditure($all_project, $hierarchy, $role_name) |
|
|
|
|
{ |
|
|
|
|
$projects = []; |
|
|
|
|
// $year = $this->interpolateYear($year); |
|
|
|
|
$projects = null; |
|
|
|
|
if ($all_project) { |
|
|
|
|
$projects = Project::orderBy('id', 'desc') |
|
|
|
|
->get(); |
|
|
|
|