From 05e34cb66d49da293cdd722f4e2845bd1382267b Mon Sep 17 00:00:00 2001 From: Wahyu Ramadhan Date: Mon, 22 May 2023 08:44:40 +0700 Subject: [PATCH] Gantt ftth parents --- .../Controllers/HierarchyFtthController.php | 24 +++++++++++++++++++ routes/web.php | 1 + 2 files changed, 25 insertions(+) diff --git a/app/Http/Controllers/HierarchyFtthController.php b/app/Http/Controllers/HierarchyFtthController.php index 388bb2a..6df56a9 100644 --- a/app/Http/Controllers/HierarchyFtthController.php +++ b/app/Http/Controllers/HierarchyFtthController.php @@ -149,6 +149,30 @@ class HierarchyFtthController extends Controller } } } + + public function getTreeByGantt($gantt_id) + { + $finalData = []; + $gantt = VersionGantt::find($gantt_id); + if ($gantt->hierarchy_ftth_id) { + $ftth = HierarchyFtth::find($gantt->hierarchy_ftth_id); + array_push($finalData, $ftth); + if($ftth->parent_id){ + $this->getParents($finalData, $ftth->parent_id); + } + } else { + return response()->json(['status'=>'success','data'=>$finalData,'code'=>200], 200); + } + return response()->json(['status'=>'success','data'=>$finalData,'code'=>200], 200); + } + + public function getParents(&$data, $id){ + $ftth = HierarchyFtth::find($id); + array_push($data, $ftth); + if ($ftth->parent_id) { + $this->getParents($data, $ftth->parent_id); + } + } public function getTreeByProject($project_id) { diff --git a/routes/web.php b/routes/web.php index eb8fe09..d2861e8 100644 --- a/routes/web.php +++ b/routes/web.php @@ -448,6 +448,7 @@ $router->group(['prefix'=>'api', 'middleware' => 'cors'], function () use ($rout $router->put('/hierarchy-ftths/{id}', 'HierarchyFtthController@update'); $router->delete('/hierarchy-ftths/{id}', 'HierarchyFtthController@destroy'); $router->get('/hierarchy-ftths/tree/{project_id}', 'HierarchyFtthController@getTreeByProject'); + $router->get('/hierarchy-ftths/tree-gantt/{gantt_id}', 'HierarchyFtthController@getTreeByGantt'); $router->post('/map-monitoring/search', 'MapMonitoringController@search'); });