|
|
@ -2,6 +2,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Controllers; |
|
|
|
namespace App\Http\Controllers; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use Illuminate\Http\Request; |
|
|
|
use App\Models\{ |
|
|
|
use App\Models\{ |
|
|
|
User, |
|
|
|
User, |
|
|
|
Project, |
|
|
|
Project, |
|
|
@ -9,33 +10,46 @@ use App\Models\{ |
|
|
|
ProjectIssues, |
|
|
|
ProjectIssues, |
|
|
|
ProjectRisks |
|
|
|
ProjectRisks |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
class ProjectCarausellController extends Controller |
|
|
|
class ProjectCarausellController extends Controller |
|
|
|
{ |
|
|
|
{ |
|
|
|
public function invoke() { |
|
|
|
public function invoke(Request $request) |
|
|
|
|
|
|
|
{ |
|
|
|
// Master Data |
|
|
|
// Master Data |
|
|
|
$projectData = Project::query() |
|
|
|
$company_id = $request->route('company_id'); |
|
|
|
->select("id","nama","kode_sortname","pm_id","budget_health","calculation_status","mulai_proyek","akhir_proyek","rencana_biaya","company","scurve") |
|
|
|
$all_project = $request->route('all_project'); |
|
|
|
->get(); |
|
|
|
$hierarchy = $request->route('hierarchy'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$query = Project::query() |
|
|
|
|
|
|
|
->select("id", "nama", "kode_sortname", "pm_id", "budget_health", "calculation_status", "mulai_proyek", "akhir_proyek", "rencana_biaya", "company", "scurve"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($all_project) { |
|
|
|
|
|
|
|
$query->where('company_id', $company_id); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
$query->where('created_by_id', $hierarchy); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$projectData = $query->get(); |
|
|
|
|
|
|
|
|
|
|
|
$arr = []; |
|
|
|
$arr = []; |
|
|
|
foreach($projectData as $project) { |
|
|
|
foreach ($projectData as $project) { |
|
|
|
$projectRisk = ProjectRisks::query() |
|
|
|
$projectRisk = ProjectRisks::query() |
|
|
|
->select('proyek_id','description','level_risk','preventive_risk') |
|
|
|
->select('proyek_id', 'description', 'level_risk', 'preventive_risk') |
|
|
|
->where('proyek_id', $project['id']) |
|
|
|
->where('proyek_id', $project['id']) |
|
|
|
->get() |
|
|
|
->get() |
|
|
|
->toArray(); |
|
|
|
->toArray(); |
|
|
|
$projectIssue = ProjectIssues::query() |
|
|
|
$projectIssue = ProjectIssues::query() |
|
|
|
->select('proyek_id','description','level_issue') |
|
|
|
->select('proyek_id', 'description', 'level_issue') |
|
|
|
->where('proyek_id',$project['id']) |
|
|
|
->where('proyek_id', $project['id']) |
|
|
|
->get() |
|
|
|
->get() |
|
|
|
->toArray(); |
|
|
|
->toArray(); |
|
|
|
$ganttData = VersionGantt::query() |
|
|
|
$ganttData = VersionGantt::query() |
|
|
|
->select('id', 'name_version','hierarchy_ftth_id','cost_to_complete','proyek_id','calculation_type') |
|
|
|
->select('id', 'name_version', 'hierarchy_ftth_id', 'cost_to_complete', 'proyek_id', 'calculation_type') |
|
|
|
->where('proyek_id',$project['id']) |
|
|
|
->where('proyek_id', $project['id']) |
|
|
|
->orderByDesc('id') |
|
|
|
->orderByDesc('id') |
|
|
|
->first(); |
|
|
|
->first(); |
|
|
|
$projectManager = User::where('id', $project['pm_id'])->value('name'); |
|
|
|
$projectManager = User::where('id', $project['pm_id'])->value('name'); |
|
|
|
$arr[]= [ |
|
|
|
$arr[] = [ |
|
|
|
"project" => [ |
|
|
|
"project" => [ |
|
|
|
"id" => $project['id'], |
|
|
|
"id" => $project['id'], |
|
|
|
"pm_id" => $project['pm_id'], |
|
|
|
"pm_id" => $project['pm_id'], |
|
|
@ -52,9 +66,9 @@ class ProjectCarausellController extends Controller |
|
|
|
"project_manager" => $projectManager, |
|
|
|
"project_manager" => $projectManager, |
|
|
|
"project_risk" => $projectRisk, |
|
|
|
"project_risk" => $projectRisk, |
|
|
|
"project_issue" => $projectIssue, |
|
|
|
"project_issue" => $projectIssue, |
|
|
|
"gantt"=> $ganttData |
|
|
|
"gantt" => $ganttData |
|
|
|
]; |
|
|
|
]; |
|
|
|
} |
|
|
|
} |
|
|
|
return response()->json(['status'=>'success','code'=> 200,'data'=> $arr, "total_project"=>count($arr)], 200); |
|
|
|
return response()->json(['status' => 'success', 'code' => 200, 'data' => $arr, "total_project" => count($arr)], 200); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|