change functions name

This commit is contained in:
2025-01-08 13:30:48 +03:30
parent 6b310a099a
commit 72717a19fd
3 changed files with 25 additions and 14 deletions

View File

@@ -4,7 +4,9 @@ namespace App\Http\Controllers\V3\Reports;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Traits\ApiResponse; use App\Http\Traits\ApiResponse;
use App\Models\EdarateShahri;
use App\Models\InfoItem; use App\Models\InfoItem;
use App\Models\Province;
use App\Models\RoadItemsProject; use App\Models\RoadItemsProject;
use App\Models\RoadPatrol; use App\Models\RoadPatrol;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
@@ -24,7 +26,7 @@ class RoadItemsReportController extends Controller
]); ]);
} }
public function getRoadItemsPerSubItem(Request $request): JsonResponse public function provinceActivityPerSubItem(Request $request): JsonResponse
{ {
$fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); $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(); $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString();
@@ -67,7 +69,7 @@ class RoadItemsReportController extends Controller
]); ]);
} }
public function getCityRoadItemsPerSubItem(Request $request): JsonResponse public function cityActivityPerSubItem(Request $request): JsonResponse
{ {
$fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); $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(); $toDate = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString();
@@ -88,7 +90,7 @@ class RoadItemsReportController extends Controller
->groupBy('edarat_id', 'sub_item') ->groupBy('edarat_id', 'sub_item')
->get(); ->get();
$items = InfoItem::where('item', $item)->get()->keyBy('sub_item'); $items = InfoItem::query()->where('item', $item)->get()->keyBy('sub_item');
$cityRoadItemsPerSubItem->each(function ($value) use ($items) { $cityRoadItemsPerSubItem->each(function ($value) use ($items) {
if (isset($items[$value->t])) { if (isset($items[$value->t])) {
@@ -102,7 +104,7 @@ class RoadItemsReportController extends Controller
]); ]);
} }
public function activityStatisticsPerProvince(Request $request): JsonResponse public function provinceActivityPerItem(Request $request): JsonResponse
{ {
if (auth()->check()) { if (auth()->check()) {
auth()->user()->addActivityComplete(1033); auth()->user()->addActivityComplete(1033);
@@ -114,7 +116,6 @@ class RoadItemsReportController extends Controller
$isSpecialUser = in_array($user->username, ['witel', 'drdanesh']); $isSpecialUser = in_array($user->username, ['witel', 'drdanesh']);
$provinceId = $isSpecialUser ? null : $user->province_id; $provinceId = $isSpecialUser ? null : $user->province_id;
// Base queries
$roadItemsProjectsQuery = RoadItemsProject::query() $roadItemsProjectsQuery = RoadItemsProject::query()
->selectRaw('COUNT(*) AS s, province_id AS p, item AS i') ->selectRaw('COUNT(*) AS s, province_id AS p, item AS i')
->where('status', 1) ->where('status', 1)
@@ -137,10 +138,15 @@ class RoadItemsReportController extends Controller
->unionAll($roadItemsProjectsSummaryQuery) ->unionAll($roadItemsProjectsSummaryQuery)
->get(); ->get();
return $this->successResponse($data); $provinces = Province::all(['id', 'name']);
return $this->successResponse([
'activities' => $data,
'provinces' => $provinces,
]);
} }
public function activityStatisticsPerCity(Request $request): JsonResponse public function cityActivityPerItem(Request $request): JsonResponse
{ {
$provinceId = $request->province_id; $provinceId = $request->province_id;
$fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString();
@@ -170,7 +176,12 @@ class RoadItemsReportController extends Controller
->unionAll($roadItemsProjectsSummaryQuery) ->unionAll($roadItemsProjectsSummaryQuery)
->get(); ->get();
return $this->successResponse($data); $edarateShahri = EdarateShahri::all(['id', 'name'])->where('province_id', $provinceId);
return $this->successResponse([
'activities' => $data,
'edaratShahri' => $edarateShahri,
]);
} }
public function map(Request $request): JsonResponse public function map(Request $request): JsonResponse

View File

@@ -17,7 +17,7 @@ class RoadPatrolReportController extends Controller
public function provincePatrolData(Request $request): JsonResponse public function provincePatrolData(Request $request): JsonResponse
{ {
$fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString();
$dateTo = $request->date_to ? $request->date_to . ' 23:59:59' : now()->addDay()->startOfDay()->toDateTimeString(); $dateTo = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString();
$data = RoadPatrolProject::provincePatrolData($fromDate, $dateTo); $data = RoadPatrolProject::provincePatrolData($fromDate, $dateTo);
return $this->successResponse($data); return $this->successResponse($data);
@@ -27,7 +27,7 @@ class RoadPatrolReportController extends Controller
{ {
$request->validate(["province_id" => "required",]); $request->validate(["province_id" => "required",]);
$fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString(); $fromDate = $request->from_date ? $request->from_date . ' 00:00:00' : now()->startOfDay()->toDateTimeString();
$dateTo = $request->date_to ? $request->date_to . ' 23:59:59' : now()->addDay()->startOfDay()->toDateTimeString(); $dateTo = $request->date_to ? $request->date_to . ' 23:59:59' : now()->endOfDay()->toDateTimeString();
$data = RoadPatrolProject::edarehPatrolData($fromDate, $dateTo, $request->province_id); $data = RoadPatrolProject::edarehPatrolData($fromDate, $dateTo, $request->province_id);
return $this->successResponse($data); return $this->successResponse($data);

View File

@@ -195,10 +195,10 @@ Route::prefix('road_item_reports')
->controller(RoadItemsReportController::class) ->controller(RoadItemsReportController::class)
->group(function () { ->group(function () {
Route::get('/get_sub_items', 'getSubItems')->name('getSubItems'); Route::get('/get_sub_items', 'getSubItems')->name('getSubItems');
Route::get('/get_items', 'getRoadItemsPerSubItem')->name('getRoadItemsPerSubItem'); Route::get('/get_items', 'provinceActivityPerSubItem')->name('provinceActivityPerSubItem');
Route::get('/get_items_city', 'getCityRoadItemsPerSubItem')->name('getCityRoadItemsPerSubItem'); Route::get('/get_items_city', 'cityActivityPerSubItem')->name('cityActivityPerSubItem');
Route::get('/province_statistics', 'activityStatisticsPerProvince')->name('activityStatisticsPerProvince'); Route::get('/province_statistics', 'provinceActivityPerItem')->name('provinceActivityPerItem');
Route::get('/city_statistics', 'activityStatisticsPerCity')->name('activityStatisticsPerCity'); Route::get('/city_statistics', 'cityActivityPerItem')->name('cityActivityPerItem');
Route::get('/map', 'map')->name('map'); Route::get('/map', 'map')->name('map');
}); });