From a246108acab8dcb5d41e8e63d9bf4c39acc0256c Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Thu, 9 Jan 2025 11:25:51 +0330 Subject: [PATCH] merge the response data to one array --- .../Reports/RoadItemsReportController.php | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/V3/Dashboard/Reports/RoadItemsReportController.php b/app/Http/Controllers/V3/Dashboard/Reports/RoadItemsReportController.php index 6e9374af..0f8df544 100644 --- a/app/Http/Controllers/V3/Dashboard/Reports/RoadItemsReportController.php +++ b/app/Http/Controllers/V3/Dashboard/Reports/RoadItemsReportController.php @@ -62,8 +62,7 @@ class RoadItemsReportController extends Controller }); return $this->successResponse([ - 'provincesData' => $provinceRoadItemsPerSubItem, - 'countryData' => $countryRoadItemsPerSubItem, + 'activities' => [$provinceRoadItemsPerSubItem, $countryRoadItemsPerSubItem], 'items' => $infoItems ]); } @@ -89,6 +88,20 @@ class RoadItemsReportController extends Controller ->groupBy('edarat_id', 'sub_item') ->get(); + $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, + province_id AS p, + -1 AS ci + ') + ->where('item', '=', $item) + ->where('province_id', '=', $province) + ->whereBetween('activity_date_time', [$fromDate, $toDate]) + ->where('status', '=', 1) + ->groupBy('sub_item') + ->get(); + $items = InfoItem::query()->where('item', $item)->get()->keyBy('sub_item'); $cityRoadItemsPerSubItem->each(function ($value) use ($items) { @@ -98,7 +111,7 @@ class RoadItemsReportController extends Controller }); return $this->successResponse([ - 'citiesData' => $cityRoadItemsPerSubItem, + 'activities' => [$cityRoadItemsPerSubItem, $provinceRoadItemsPerSubItem], 'items' => $items ]); }