diff --git a/app/Http/Controllers/V3/Reports/RoadItemsReportController.php b/app/Http/Controllers/V3/Reports/RoadItemsReportController.php index 8a18b684..c5be196a 100644 --- a/app/Http/Controllers/V3/Reports/RoadItemsReportController.php +++ b/app/Http/Controllers/V3/Reports/RoadItemsReportController.php @@ -24,13 +24,13 @@ class RoadItemsReportController extends Controller ]); } - public function getItems(Request $request): JsonResponse + public function getRoadItemsPerSubItem(Request $request): JsonResponse { $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); $item = $request->item; - $all = RoadItemsProject::query()->selectRaw(' + $provinceRoadItemsPerSubItem = RoadItemsProject::query()->selectRaw(' sub_item AS t, COUNT(*) AS c, CAST(SUM(CASE WHEN sub_item_data > 0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s, @@ -41,7 +41,7 @@ class RoadItemsReportController extends Controller ->groupBy('province_id', 'sub_item') ->get(); - $country = RoadItemsProject::query()->selectRaw(' + $countryRoadItemsPerSubItem = RoadItemsProject::query()->selectRaw(' sub_item AS t, COUNT(*) AS c, CAST(SUM(CASE WHEN sub_item_data > 0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s, @@ -52,29 +52,29 @@ class RoadItemsReportController extends Controller ->groupBy('sub_item') ->get(); - $itemsFa = InfoItem::query()->where('item', '=', $item)->get()->keyBy('sub_item'); + $infoItems = InfoItem::query()->where('item', '=', $item)->get()->keyBy('sub_item'); - $all->each(function ($value) use ($itemsFa) { - if (isset($itemsFa[$value->t])) { - $value->u = $itemsFa[$value->t]->sub_item_unit; + $provinceRoadItemsPerSubItem->each(function ($value) use ($infoItems) { + if (isset($infoItems[$value->t])) { + $value->u = $infoItems[$value->t]->sub_item_unit; } }); return $this->successResponse([ - 'data' => $all, - 'country' => $country, - 'items_fa' => $itemsFa + 'provincesData' => $provinceRoadItemsPerSubItem, + 'countryData' => $countryRoadItemsPerSubItem, + 'items' => $infoItems ]); } - public function getItemsCity(Request $request): JsonResponse + public function getCityRoadItemsPerSubItem(Request $request): JsonResponse { $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString(); $item = $request->item; $province = $request->province_id; - $all = RoadItemsProject::query()->selectRaw(' + $cityRoadItemsPerSubItem = RoadItemsProject::query()->selectRaw(' sub_item AS t, COUNT(*) AS c, CAST(SUM(CASE WHEN sub_item_data > 0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s, @@ -88,17 +88,17 @@ class RoadItemsReportController extends Controller ->groupBy('edarat_id', 'sub_item') ->get(); - $itemsFa = InfoItem::where('item', $item)->get()->keyBy('sub_item'); + $items = InfoItem::where('item', $item)->get()->keyBy('sub_item'); - $all->each(function ($value) use ($itemsFa) { - if (isset($itemsFa[$value->t])) { - $value->u = $itemsFa[$value->t]->sub_item_unit; + $cityRoadItemsPerSubItem->each(function ($value) use ($items) { + if (isset($items[$value->t])) { + $value->u = $items[$value->t]->sub_item_unit; } }); return $this->successResponse([ - 'data' => $all, - 'items_fa' => $itemsFa + 'citiesData' => $cityRoadItemsPerSubItem, + 'items' => $items ]); } diff --git a/routes/v3.php b/routes/v3.php index 079d83c2..c8a023a6 100644 --- a/routes/v3.php +++ b/routes/v3.php @@ -195,8 +195,8 @@ Route::prefix('road_item_reports') ->controller(RoadItemsReportController::class) ->group(function () { Route::get('/get_sub_items', 'getSubItems')->name('getSubItems'); - Route::get('/get_items', 'getItems')->name('getItems'); - Route::get('/get_items_city', 'getItemsCity')->name('getItemsCity'); + Route::get('/get_items', 'getRoadItemsPerSubItem')->name('getRoadItemsPerSubItem'); + Route::get('/get_items_city', 'getCityRoadItemsPerSubItem')->name('getCityRoadItemsPerSubItem'); Route::get('/province_statistics', 'activityStatisticsPerProvince')->name('activityStatisticsPerProvince'); Route::get('/city_statistics', 'activityStatisticsPerCity')->name('activityStatisticsPerCity'); Route::get('/map', 'map')->name('map');