diff --git a/app/Http/Controllers/HierarchyFtthController.php b/app/Http/Controllers/HierarchyFtthController.php index 5790514..70c56fb 100644 --- a/app/Http/Controllers/HierarchyFtthController.php +++ b/app/Http/Controllers/HierarchyFtthController.php @@ -123,8 +123,14 @@ class HierarchyFtthController extends Controller $objRow->key = rand(1, 1000); if (VersionGantt::where('hierarchy_ftth_id', $objRow->id)->exists()) { $dataGantt = VersionGantt::where('hierarchy_ftth_id', $objRow->id)->get(); + $progress = $this->ganttProgress('hierarchy_ftth_id', $objRow->id); foreach ($dataGantt as $gantt) { $gantt->key = $objRow->key; + foreach ($progress as $p) { + if ($p->id == $gantt->id) { + $gantt->progress = $p->persentase_progress; + } + } } $objRow->dataGantt = $dataGantt; } @@ -132,5 +138,16 @@ class HierarchyFtthController extends Controller $finalData[] = $objRow; } return $finalData; + } + + public function ganttProgress($column, $value){ + $progress = VersionGantt::select('m_version_gantt.id','m_activity.persentase_progress') + ->join('m_activity', 'm_version_gantt.id', '=', 'm_activity.version_gantt_id') + ->where("m_version_gantt.".$column, $value) + ->where('m_activity.type_activity', "project") + ->where('m_activity.parent_id', null) + ->get(); + + return $progress; } } diff --git a/app/Http/Controllers/VersionGanttController.php b/app/Http/Controllers/VersionGanttController.php index dbd7a6a..c7b9f65 100644 --- a/app/Http/Controllers/VersionGanttController.php +++ b/app/Http/Controllers/VersionGanttController.php @@ -82,10 +82,34 @@ class VersionGanttController extends Controller $payload = $request->all(); $dataBuilder = $this->setUpPayload($payload, 'm_version_gantt'); $builder = $dataBuilder['builder']; - $countBuilder = $dataBuilder['count']; + // $countBuilder = $dataBuilder['count']; + $progress = $this->ganttProgress($request->columns[0]["name"], $request->columns[0]["value"]); $dataGet = $builder->get(); - $totalRecord = $countBuilder->count(); - return response()->json(['status'=>'success','code'=>200,'data'=>$dataGet, 'totalRecord'=>$totalRecord], 200); + // Loop through $dataGet collection + foreach ($dataGet as $item) { + // Loop through $progress collection + foreach ($progress as $progressItem) { + // Check if both have the same id + if ($item->id == $progressItem->id) { + // Set the progress of $item to the corresponding progress of $progressItem + $item->progress = $progressItem->persentase_progress; + break; + } + } + } + // $totalRecord = $countBuilder->count(); + return response()->json(['status'=>'success','code'=>200,'data'=>$dataGet], 200); + } + + public function ganttProgress($column, $value){ + $progress = VersionGantt::select('m_version_gantt.id','m_activity.persentase_progress') + ->join('m_activity', 'm_version_gantt.id', '=', 'm_activity.version_gantt_id') + ->where("m_version_gantt.".$column, $value) + ->where('m_activity.type_activity', "project") + ->where('m_activity.parent_id', null) + ->get(); + + return $progress; } public function list()