From 51969cbd2ad8a472d3d7897e9c53ab7b64656d25 Mon Sep 17 00:00:00 2001 From: joddyabott Date: Mon, 28 Jul 2025 10:12:50 +0330 Subject: [PATCH] i donot know --- .../V3/Dashboard/Mission/DetailController.php | 11 +- .../Mission/RequestPortalController.php | 2 +- .../V3/Dashboard/ObservedItemController.php | 1 - .../Dashboard/RoadItem/OperatorController.php | 13 ++ .../RoadPatrol/OperatorController.php | 2 +- .../AccessRoadActivityController.php | 57 ++++++++ .../ConstructionActivityController.php | 57 ++++++++ .../UtilityPassingActivityController.php | 54 +++++++ .../V3/Mission/RequestPortal/StoreRequest.php | 2 +- .../Requests/V3/ObservedItem/StoreRequest.php | 4 - app/Models/Mission.php | 2 +- .../SafetyAndPrivacy/OperatorService.php | 53 ++++--- composer.json | 2 +- composer.lock | 128 +++-------------- .../AccessRoadActivityReport.blade.php | 132 ++++++++++++++++++ .../ConstructionActivityReport.blade.php | 132 ++++++++++++++++++ .../UtilityPassingActivityReport.blade.php | 132 ++++++++++++++++++ .../AccessRoadActivityReport.blade.php | 131 +++++++++++++++++ .../ConstructionActivityReport.blade.php | 131 +++++++++++++++++ .../UtilityPassingActivityReport.blade.php | 131 +++++++++++++++++ 20 files changed, 1034 insertions(+), 143 deletions(-) create mode 100644 app/Http/Controllers/V3/Dashboard/SafetyAndPrivacy/AccessRoadActivityController.php create mode 100644 app/Http/Controllers/V3/Dashboard/SafetyAndPrivacy/ConstructionActivityController.php create mode 100644 app/Http/Controllers/V3/Dashboard/SafetyAndPrivacy/UtilityPassingActivityController.php create mode 100644 resources/views/v3/Reports/SafetyAndPrivacy/Country/AccessRoadActivityReport.blade.php create mode 100644 resources/views/v3/Reports/SafetyAndPrivacy/Country/ConstructionActivityReport.blade.php create mode 100644 resources/views/v3/Reports/SafetyAndPrivacy/Country/UtilityPassingActivityReport.blade.php create mode 100644 resources/views/v3/Reports/SafetyAndPrivacy/Province/AccessRoadActivityReport.blade.php create mode 100644 resources/views/v3/Reports/SafetyAndPrivacy/Province/ConstructionActivityReport.blade.php create mode 100644 resources/views/v3/Reports/SafetyAndPrivacy/Province/UtilityPassingActivityReport.blade.php diff --git a/app/Http/Controllers/V3/Dashboard/Mission/DetailController.php b/app/Http/Controllers/V3/Dashboard/Mission/DetailController.php index 55ba3c14..d64d2423 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/DetailController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/DetailController.php @@ -19,6 +19,15 @@ class DetailController extends Controller public function rahdaran(Mission $mission): JsonResponse { - return $this->successResponse($mission->rahdaran()->get(['rahdaran.id', 'rahdaran.name', 'rahdaran.code'])); + $rahdars = $mission->rahdaran->map(function ($request) { + return [ + 'id' => $request->id, + 'name' => $request->name, + 'code' => $request->code, + 'is_driver' => (bool) $request->pivot->is_driver, + ]; + }); + + return $this->successResponse($rahdars); } } diff --git a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php index 9f6cb7ef..8e5385da 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php @@ -59,7 +59,7 @@ class RequestPortalController extends Controller 'code' => rand(100000, 999999), ]); - $mission->rahdaran()->attach($request->rahdaran); + $mission->rahdaran()->sync($request->rahdaran); if ($request->category_id == 2) { $rpc = new OperatorController(); diff --git a/app/Http/Controllers/V3/Dashboard/ObservedItemController.php b/app/Http/Controllers/V3/Dashboard/ObservedItemController.php index 78c099b1..b261a049 100644 --- a/app/Http/Controllers/V3/Dashboard/ObservedItemController.php +++ b/app/Http/Controllers/V3/Dashboard/ObservedItemController.php @@ -65,7 +65,6 @@ class ObservedItemController extends Controller 'item_name' => $info_item->item_str, 'sub_item_id' => $info_item->sub_item, 'sub_item_name' => $info_item->sub_item_str, - 'local_name' => $item['local_name'], 'description' => $item['description'] ?? null, 'start_lat' => $start[0], 'start_lon' => $start[1], diff --git a/app/Http/Controllers/V3/Dashboard/RoadItem/OperatorController.php b/app/Http/Controllers/V3/Dashboard/RoadItem/OperatorController.php index bafd0f88..d6c5c177 100644 --- a/app/Http/Controllers/V3/Dashboard/RoadItem/OperatorController.php +++ b/app/Http/Controllers/V3/Dashboard/RoadItem/OperatorController.php @@ -11,10 +11,12 @@ use App\Http\Requests\V3\RoadItem\Operator\UpdateRequest; use App\Http\Traits\ApiResponse; use App\Models\EdarateShahri; use App\Models\InfoItem; +use App\Models\Mission; use App\Models\ObservedItem; use App\Models\RoadItemsProject; use App\Services\Cartables\RoadItem\OperatorService; use App\Services\NominatimService; +use Carbon\Carbon; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -49,6 +51,17 @@ class OperatorController extends Controller */ public function store(StoreRequest $request, NominatimService $nominatimService): JsonResponse { + $activityDateTime = Carbon::parse($request->activity_date . ' ' . $request->activity_time); + $mission = Mission::findOrFail($request->mission_id); + if ($activityDateTime->lt($mission->start_date) || $activityDateTime->gt($mission->end_date)) { + throw ValidationException::withMessages([ + 'activity_date_time' => __('زمان گزارش باید بین :start تا :end (بازه مأموریت) باشد.', [ + 'start' => verta($mission->start_date)->format('Y/m/d H:i'), + 'end' => verta($mission->end_date)->format('Y/m/d H:i'), + ]), + ]); + } + $info_item = InfoItem::query()->where('item', $request->item_id) ->where('sub_item', $request->sub_item_id) ->firstOrFail(); diff --git a/app/Http/Controllers/V3/Dashboard/RoadPatrol/OperatorController.php b/app/Http/Controllers/V3/Dashboard/RoadPatrol/OperatorController.php index e57e4c0d..4b6e3ee2 100644 --- a/app/Http/Controllers/V3/Dashboard/RoadPatrol/OperatorController.php +++ b/app/Http/Controllers/V3/Dashboard/RoadPatrol/OperatorController.php @@ -42,7 +42,7 @@ class OperatorController extends Controller 'status_fa' => 'در حال بررسی', ]); - $road_patrol->mission()->attach($mission->id); + $road_patrol->missions()->attach($mission->id); auth()->user()->addActivityComplete(1147); diff --git a/app/Http/Controllers/V3/Dashboard/SafetyAndPrivacy/AccessRoadActivityController.php b/app/Http/Controllers/V3/Dashboard/SafetyAndPrivacy/AccessRoadActivityController.php new file mode 100644 index 00000000..7bd4fb25 --- /dev/null +++ b/app/Http/Controllers/V3/Dashboard/SafetyAndPrivacy/AccessRoadActivityController.php @@ -0,0 +1,57 @@ +merge(['info_id' => 90]); + + $data = $operatorService->countryActivity($request); + + return $this->successResponse([ + 'activities' => $data, + 'provinces' => Province::all(['id', 'name_fa']), + ]); + } + + public function provinceActivity(Request $request, OperatorService $operatorService): JsonResponse + { + $request->merge(['info_id' => 90]); + + $data = $operatorService->provinceActivity($request); + + return $this->successResponse([ + 'activities' => $data, + 'edarateShahri' => EdarateShahri::where('province_id', $request->province_id)->get(['id', 'name_fa']), + ]); + } + public function countryExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse + { + $data = $operatorService->countryActivity($request); + $name = 'گزارش نگهداری حریم راه برای راه دسترسی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx'; + return Excel::download(new CountryActivityReport($data), $name); + } + + public function provinceExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse + { + $data = $operatorService->provinceActivity($request); + $name = 'گزارش نگهداری حریم راه برای راه دسترسی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx'; + return Excel::download(new ProvinceActivityReport($data, $request), $name); + } + +} diff --git a/app/Http/Controllers/V3/Dashboard/SafetyAndPrivacy/ConstructionActivityController.php b/app/Http/Controllers/V3/Dashboard/SafetyAndPrivacy/ConstructionActivityController.php new file mode 100644 index 00000000..fb5493d1 --- /dev/null +++ b/app/Http/Controllers/V3/Dashboard/SafetyAndPrivacy/ConstructionActivityController.php @@ -0,0 +1,57 @@ +merge(['info_id' => 89]); + + $data = $operatorService->countryActivity($request); + + return $this->successResponse([ + 'activities' => $data, + 'provinces' => Province::all(['id', 'name_fa']), + ]); + } + public function provinceActivity(Request $request, OperatorService $operatorService): JsonResponse + { + $request->merge(['info_id' => 89]); + + $data = $operatorService->provinceActivity($request); + + return $this->successResponse([ + 'activities' => $data, + 'edarateShahri' => EdarateShahri::where('province_id', $request->province_id)->get(['id', 'name_fa']), + ]); + } + public function countryExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse + { + $data = $operatorService->countryActivity($request); + $name = ' گزارش نگهداری حریم راه برای ساخت و ساز غیر مجاز' . verta()->now()->format('Y-m-d H-i') . '.xlsx'; + return Excel::download(new CountryActivityReport($data), $name); + } + + public function provinceExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse + { + $data = $operatorService->provinceActivity($request); + $name = ' گزارش نگهداری حریم راه برای ساخت و ساز غیر مجاز' . verta()->now()->format('Y-m-d H-i') . '.xlsx'; + return Excel::download(new ProvinceActivityReport($data, $request), $name); + } + + +} diff --git a/app/Http/Controllers/V3/Dashboard/SafetyAndPrivacy/UtilityPassingActivityController.php b/app/Http/Controllers/V3/Dashboard/SafetyAndPrivacy/UtilityPassingActivityController.php new file mode 100644 index 00000000..e77f3d52 --- /dev/null +++ b/app/Http/Controllers/V3/Dashboard/SafetyAndPrivacy/UtilityPassingActivityController.php @@ -0,0 +1,54 @@ +merge(['info_id' => 91]); + + $data = $operatorService->countryActivity($request); + + return $this->successResponse([ + 'activities' => $data, + 'provinces' => Province::all(['id', 'name_fa']), + ]); + } + public function provinceActivity(Request $request, OperatorService $operatorService): JsonResponse + { + $request->merge(['info_id' => 91]); + + $data = $operatorService->provinceActivity($request); + + return $this->successResponse([ + 'activities' => $data, + 'edarateShahri' => EdarateShahri::where('province_id', $request->province_id)->get(['id', 'name_fa']), + ]); + } + public function countryExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse + { + $data = $operatorService->countryActivity($request); + $name = 'گزارش نگهداری حریم راه برای عبور تاسیسات زیربنایی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx'; + return Excel::download(new CountryActivityReport($data), $name); + } + + public function provinceExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse + { + $data = $operatorService->provinceActivity($request); + $name = 'گزارش نگهداری حریم راه برای عبور تاسیسات زیربنایی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx'; + return Excel::download(new ProvinceActivityReport($data, $request), $name); + } + +} diff --git a/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php index 430e18b1..740cd2e9 100644 --- a/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php +++ b/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php @@ -25,7 +25,7 @@ class StoreRequest extends FormRequest public function rules(): array { return [ - 'rahdaran' => 'required|array', + 'rahdaran' => 'array', 'rahdaran.*' => 'exists:rahdaran,id', 'requested_machines' => 'required|array', 'type' => 'required|in:1,2', diff --git a/app/Http/Requests/V3/ObservedItem/StoreRequest.php b/app/Http/Requests/V3/ObservedItem/StoreRequest.php index 9d5e2593..081d4b40 100644 --- a/app/Http/Requests/V3/ObservedItem/StoreRequest.php +++ b/app/Http/Requests/V3/ObservedItem/StoreRequest.php @@ -24,14 +24,10 @@ class StoreRequest extends FormRequest return [ 'road_patrol_id' => 'required|integer|exists:road_patrols,id', 'observed_items' => 'required|array|min:1', - 'observed_items.*.item_id' => 'required|integer|exists:info_items,item', 'observed_items.*.sub_item_id' => 'required|integer', 'observed_items.*.start_point' => 'required|string', - - 'observed_items.*.local_name' => 'nullable|string', 'observed_items.*.description' => 'nullable|string', - 'observed_items.*.instant_action' => 'required|in:0,1', 'observed_items.*.priority' => 'required_if:observed_items.*.instant_action,0|in:1,2,3', 'observed_items.*.end_point' => 'required_if:observed_items.*.instant_action,1|string', diff --git a/app/Models/Mission.php b/app/Models/Mission.php index 95d92d4c..aaa7ca40 100644 --- a/app/Models/Mission.php +++ b/app/Models/Mission.php @@ -66,7 +66,7 @@ class Mission extends Model 'rahdarables', 'rahdarable_id', 'rahdar_id', - ); + )->withPivot('is_driver'); } public function roadObserved(): MorphToMany diff --git a/app/Services/Cartables/SafetyAndPrivacy/OperatorService.php b/app/Services/Cartables/SafetyAndPrivacy/OperatorService.php index f41270fd..1ef3b4c5 100644 --- a/app/Services/Cartables/SafetyAndPrivacy/OperatorService.php +++ b/app/Services/Cartables/SafetyAndPrivacy/OperatorService.php @@ -4,6 +4,7 @@ namespace App\Services\Cartables\SafetyAndPrivacy; use App\Exceptions\ProhibitedAction; use App\Facades\DataTable\DataTableFacade; +use App\Models\EdarateShahri; use App\Models\SafetyAndPrivacy; use Illuminate\Http\Request; @@ -35,14 +36,14 @@ class OperatorService public function countryActivity(Request $request): array { $activities = []; - $countryQuery = SafetyAndPrivacy::query()->selectRaw('COUNT(*) as qty,info_id, step'); + $countryQuery = SafetyAndPrivacy::query()->selectRaw('COUNT(*) as qty,axis_type_id, step'); $country = DataTableFacade::run( $countryQuery, $request, allowedFilters: ['*'], allowedSortings: ['*'], - allowedGroupBy: ['info_id', 'step'] + allowedGroupBy: ['axis_type_id', 'step'] ); $countryTotalSum = 0; @@ -50,9 +51,11 @@ class OperatorService 'name_fa' => 'کشوری', 'province_id' => -1, 'sum' => 0, - '89' => ['1' => 0, '2' => 0, '3' => 0,], - '90' => ['1' => 0, '2' => 0, '3' => 0,], - '91' => ['1' => 0, '2' => 0, '3' => 0,], + '1' => ['1' => 0, '2' => 0, '3' => 0,], + '2' => ['1' => 0, '2' => 0, '3' => 0,], + '3' => ['1' => 0, '2' => 0, '3' => 0,], + '4' => ['1' => 0, '2' => 0, '3' => 0,], + '5' => ['1' => 0, '2' => 0, '3' => 0,], ]; foreach ($country['data'] as $key => $value) { $countryTotalSum += $value->qty; @@ -61,13 +64,13 @@ class OperatorService } $activities[] = (object) $countryData; - $provinceQuery = SafetyAndPrivacy::query()->selectRaw('province_id, province_fa, COUNT(*) as qty,info_id, step'); + $provinceQuery = SafetyAndPrivacy::query()->selectRaw('province_id, province_fa, COUNT(*) as qty,axis_type_id, step'); $provinces = DataTableFacade::run( $provinceQuery, $request, allowedFilters: ['*'], allowedSortings: ['*'], - allowedGroupBy: ['info_id', 'step', 'province_id', 'province_fa'] + allowedGroupBy: ['axis_type_id', 'step', 'province_id', 'province_fa'] ); foreach ($provinces['data'] as $value) @@ -78,9 +81,11 @@ class OperatorService 'province_id' => $provinceId, 'name_fa' => $value->province_fa, 'sum' => 0, - '89' => ['1' => 0, '2' => 0, '3' => 0], - '90' => ['1' => 0, '2' => 0, '3' => 0], - '91' => ['1' => 0, '2' => 0, '3' => 0], + '1' => ['1' => 0, '2' => 0, '3' => 0,], + '2' => ['1' => 0, '2' => 0, '3' => 0,], + '3' => ['1' => 0, '2' => 0, '3' => 0,], + '4' => ['1' => 0, '2' => 0, '3' => 0,], + '5' => ['1' => 0, '2' => 0, '3' => 0,], ]; } $activities[$provinceId]->{$value->info_id}[$value->step] = $value->qty; @@ -93,13 +98,13 @@ class OperatorService public function provinceActivity(Request $request): array { $activities = []; - $provinceQuery = SafetyAndPrivacy::query()->selectRaw('COUNT(*) as qty,info_id, step'); + $provinceQuery = SafetyAndPrivacy::query()->selectRaw('COUNT(*) as qty,axis_type_id, step'); $province = DataTableFacade::run( $provinceQuery, $request, allowedFilters: ['*'], allowedSortings: ['*'], - allowedGroupBy: ['info_id', 'step'] + allowedGroupBy: ['axis_type_id', 'step'] ); $provinceTotalSum = 0; @@ -107,9 +112,11 @@ class OperatorService 'name_fa' => 'استانی', 'edare_shahri_id' => -1, 'sum' => 0, - '89' => ['1' => 0, '2' => 0, '3' => 0,], - '90' => ['1' => 0, '2' => 0, '3' => 0,], - '91' => ['1' => 0, '2' => 0, '3' => 0,], + '1' => ['1' => 0, '2' => 0, '3' => 0,], + '2' => ['1' => 0, '2' => 0, '3' => 0,], + '3' => ['1' => 0, '2' => 0, '3' => 0,], + '4' => ['1' => 0, '2' => 0, '3' => 0,], + '5' => ['1' => 0, '2' => 0, '3' => 0,], ]; foreach ($province['data'] as $key => $value) { $provinceTotalSum += $value->qty; @@ -118,13 +125,13 @@ class OperatorService } $activities[] = (object) $provinceData; - $citiesQuery = SafetyAndPrivacy::query()->selectRaw('edare_shahri_id, COUNT(*) as qty,info_id, step'); + $citiesQuery = SafetyAndPrivacy::query()->selectRaw('edare_shahri_id, COUNT(*) as qty,axis_type_id, step'); $cities = DataTableFacade::run( $citiesQuery, $request, allowedFilters: ['*'], allowedSortings: ['*'], - allowedGroupBy: ['info_id', 'step', 'edare_shahri_id'] + allowedGroupBy: ['axis_type_id', 'step', 'edare_shahri_id'] ); foreach ($cities['data'] as $value) @@ -133,12 +140,14 @@ class OperatorService if (!isset($activities[$cityId])) { $activities[$cityId] = (object) [ 'edare_shahri_id' => $cityId, - 'name_fa' => \App\Models\EdarateShahri::query()->find($cityId)->name_fa, + 'name_fa' => EdarateShahri::query()->find($cityId)->name_fa, 'sum' => 0, - '89' => ['1' => 0, '2' => 0, '3' => 0], - '90' => ['1' => 0, '2' => 0, '3' => 0], - '91' => ['1' => 0, '2' => 0, '3' => 0], - ]; + '1' => ['1' => 0, '2' => 0, '3' => 0,], + '2' => ['1' => 0, '2' => 0, '3' => 0,], + '3' => ['1' => 0, '2' => 0, '3' => 0,], + '4' => ['1' => 0, '2' => 0, '3' => 0,], + '5' => ['1' => 0, '2' => 0, '3' => 0,], + ]; } $activities[$cityId]->{$value->info_id}[$value->step] = $value->qty; $activities[$cityId]->sum += $value->qty; diff --git a/composer.json b/composer.json index 825d349e..8d9ff456 100644 --- a/composer.json +++ b/composer.json @@ -7,7 +7,7 @@ "require": { "php": "^8.1", "ext-zip": "*", - "doctrine/dbal": "^3.7", + "doctrine/dbal": "^3.10", "guzzlehttp/guzzle": "^7.2", "hekmatinasser/verta": "^8.3", "laravel/framework": "^10.10", diff --git a/composer.lock b/composer.lock index 406835fc..0388dc70 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "fb6adbe1f5e02aaf3de31c514710f0b6", + "content-hash": "bf9b86b55591e7c7df84cb1be8ea9db3", "packages": [ { "name": "beberlei/assert", @@ -353,135 +353,43 @@ }, "time": "2022-10-27T11:44:00+00:00" }, - { - "name": "doctrine/cache", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "1ca8f21980e770095a31456042471a57bc4c68fb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb", - "reference": "1ca8f21980e770095a31456042471a57bc4c68fb", - "shasum": "" - }, - "require": { - "php": "~7.1 || ^8.0" - }, - "conflict": { - "doctrine/common": ">2.2,<2.4" - }, - "require-dev": { - "cache/integration-tests": "dev-master", - "doctrine/coding-standard": "^9", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psr/cache": "^1.0 || ^2.0 || ^3.0", - "symfony/cache": "^4.4 || ^5.4 || ^6", - "symfony/var-exporter": "^4.4 || ^5.4 || ^6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", - "homepage": "https://www.doctrine-project.org/projects/cache.html", - "keywords": [ - "abstraction", - "apcu", - "cache", - "caching", - "couchdb", - "memcached", - "php", - "redis", - "xcache" - ], - "support": { - "issues": "https://github.com/doctrine/cache/issues", - "source": "https://github.com/doctrine/cache/tree/2.2.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", - "type": "tidelift" - } - ], - "time": "2022-05-20T20:07:39+00:00" - }, { "name": "doctrine/dbal", - "version": "3.8.0", + "version": "3.10.0", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "d244f2e6e6bf32bff5174e6729b57214923ecec9" + "reference": "1cf840d696373ea0d58ad0a8875c0fadcfc67214" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/d244f2e6e6bf32bff5174e6729b57214923ecec9", - "reference": "d244f2e6e6bf32bff5174e6729b57214923ecec9", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/1cf840d696373ea0d58ad0a8875c0fadcfc67214", + "reference": "1cf840d696373ea0d58ad0a8875c0fadcfc67214", "shasum": "" }, "require": { "composer-runtime-api": "^2", - "doctrine/cache": "^1.11|^2.0", "doctrine/deprecations": "^0.5.3|^1", "doctrine/event-manager": "^1|^2", "php": "^7.4 || ^8.0", "psr/cache": "^1|^2|^3", "psr/log": "^1|^2|^3" }, + "conflict": { + "doctrine/cache": "< 1.11" + }, "require-dev": { - "doctrine/coding-standard": "12.0.0", + "doctrine/cache": "^1.11|^2.0", + "doctrine/coding-standard": "13.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.10.56", - "phpstan/phpstan-strict-rules": "^1.5", - "phpunit/phpunit": "9.6.15", - "psalm/plugin-phpunit": "0.18.4", - "slevomat/coding-standard": "8.13.1", - "squizlabs/php_codesniffer": "3.8.1", + "phpstan/phpstan": "2.1.17", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "9.6.23", + "slevomat/coding-standard": "8.16.2", + "squizlabs/php_codesniffer": "3.13.1", "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/console": "^4.4|^5.4|^6.0|^7.0", - "vimeo/psalm": "4.30.0" + "symfony/console": "^4.4|^5.4|^6.0|^7.0" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -541,7 +449,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.8.0" + "source": "https://github.com/doctrine/dbal/tree/3.10.0" }, "funding": [ { @@ -557,7 +465,7 @@ "type": "tidelift" } ], - "time": "2024-01-25T21:44:02+00:00" + "time": "2025-07-10T21:11:04+00:00" }, { "name": "doctrine/deprecations", diff --git a/resources/views/v3/Reports/SafetyAndPrivacy/Country/AccessRoadActivityReport.blade.php b/resources/views/v3/Reports/SafetyAndPrivacy/Country/AccessRoadActivityReport.blade.php new file mode 100644 index 00000000..673063c3 --- /dev/null +++ b/resources/views/v3/Reports/SafetyAndPrivacy/Country/AccessRoadActivityReport.blade.php @@ -0,0 +1,132 @@ + + + + + + + + کشوری + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @foreach ($data as $item) + + + + + + + + + + + + + + + + + + + + @endforeach + +
+ تاریخ دریافت گزارش: {{ verta()->now()->format('Y/m/d H:i') }} +
+
+ گزارش نگهداری حریم راه برای راه دسترسی غیر مجاز +
+ اداره کل + + تعداد کل + + آزاد راه + +بزرگ راه + + اصلی + + فرعی + + روستایی +
+ گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) +
{{ $item->name_fa }}{{ $item->sum }}{{ $item->axis_data['آزادراه'][1] }}{{$item->axis_data['آزادراه'][2] }}{{ $item->axis_data['آزادراه'][3] }}{{ $item->axis_data['بزرگراه'][1] }}{{ $item->axis_data['بزرگراه'][2] }}{{ $item->axis_data['بزرگراه'][3] }}{{ $item->axis_data['اصلی'][1] }}{{ $item->axis_data['اصلی'][2] }}{{ $item->axis_data['اصلی'][3] }}{{ $item->axis_data['فرعی'][1] }}{{ $item->axis_data['فرعی'][2] }}{{ $item->axis_data['فرعی'][3] }}{{ $item->axis_data['روستایی'][1] }}{{ $item->axis_data['روستایی'][2] }}{{ $item->axis_data['روستایی'][3] }}
+ + diff --git a/resources/views/v3/Reports/SafetyAndPrivacy/Country/ConstructionActivityReport.blade.php b/resources/views/v3/Reports/SafetyAndPrivacy/Country/ConstructionActivityReport.blade.php new file mode 100644 index 00000000..1854ba63 --- /dev/null +++ b/resources/views/v3/Reports/SafetyAndPrivacy/Country/ConstructionActivityReport.blade.php @@ -0,0 +1,132 @@ + + + + + + + + کشوری + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @foreach ($data as $item) + + + + + + + + + + + + + + + + + + + + @endforeach + +
+ تاریخ دریافت گزارش: {{ verta()->now()->format('Y/m/d H:i') }} +
+
+ گزارش نگهداری حریم راه برای ساخت و ساز غیر مجاز +
+ اداره کل + + تعداد کل + + آزاد راه + + بزرگ راه + + اصلی + + فرعی + + روستایی +
+ گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) +
{{ $item->name_fa }}{{ $item->sum }}{{ $item->axis_data['آزادراه'][1] }}{{$item->axis_data['آزادراه'][2] }}{{ $item->axis_data['آزادراه'][3] }}{{ $item->axis_data['بزرگراه'][1] }}{{ $item->axis_data['بزرگراه'][2] }}{{ $item->axis_data['بزرگراه'][3] }}{{ $item->axis_data['اصلی'][1] }}{{ $item->axis_data['اصلی'][2] }}{{ $item->axis_data['اصلی'][3] }}{{ $item->axis_data['فرعی'][1] }}{{ $item->axis_data['فرعی'][2] }}{{ $item->axis_data['فرعی'][3] }}{{ $item->axis_data['روستایی'][1] }}{{ $item->axis_data['روستایی'][2] }}{{ $item->axis_data['روستایی'][3] }}
+ + diff --git a/resources/views/v3/Reports/SafetyAndPrivacy/Country/UtilityPassingActivityReport.blade.php b/resources/views/v3/Reports/SafetyAndPrivacy/Country/UtilityPassingActivityReport.blade.php new file mode 100644 index 00000000..092683d7 --- /dev/null +++ b/resources/views/v3/Reports/SafetyAndPrivacy/Country/UtilityPassingActivityReport.blade.php @@ -0,0 +1,132 @@ + + + + + + + + کشوری + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @foreach ($data as $item) + + + + + + + + + + + + + + + + + + + + @endforeach + +
+ تاریخ دریافت گزارش: {{ verta()->now()->format('Y/m/d H:i') }} +
+
+ گزارش نگهداری حریم راه برای عبور تاسیسات زیربنایی غیر مجاز +
+ اداره کل + + تعداد کل + + آزاد راه + + بزرگ راه + + اصلی + + فرعی + + روستایی +
+ گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) +
{{ $item->name_fa }}{{ $item->sum }}{{ $item->axis_data['آزادراه'][1] }}{{$item->axis_data['آزادراه'][2] }}{{ $item->axis_data['آزادراه'][3] }}{{ $item->axis_data['بزرگراه'][1] }}{{ $item->axis_data['بزرگراه'][2] }}{{ $item->axis_data['بزرگراه'][3] }}{{ $item->axis_data['اصلی'][1] }}{{ $item->axis_data['اصلی'][2] }}{{ $item->axis_data['اصلی'][3] }}{{ $item->axis_data['فرعی'][1] }}{{ $item->axis_data['فرعی'][2] }}{{ $item->axis_data['فرعی'][3] }}{{ $item->axis_data['روستایی'][1] }}{{ $item->axis_data['روستایی'][2] }}{{ $item->axis_data['روستایی'][3] }}
+ + diff --git a/resources/views/v3/Reports/SafetyAndPrivacy/Province/AccessRoadActivityReport.blade.php b/resources/views/v3/Reports/SafetyAndPrivacy/Province/AccessRoadActivityReport.blade.php new file mode 100644 index 00000000..e54e7ddc --- /dev/null +++ b/resources/views/v3/Reports/SafetyAndPrivacy/Province/AccessRoadActivityReport.blade.php @@ -0,0 +1,131 @@ + + + + + + + + استانی + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @foreach ($data as $item) + + + + + + + + + + + + + + + + + + + + @endforeach + +
+ تاریخ دریافت گزارش: {{ verta()->now()->format('Y/m/d H:i') }} +
+
+ گزارش نگهداری حریم راه برای راه دسترسی غیر مجاز +
+ اداره کل + + تعداد کل + + آزاد راه + + بزرگ راه + + اصلی + + فرعی + + روستایی +
+ گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) +
{{ $item->name_fa }}{{ $item->sum }}{{ $item->axis_data['آزادراه'][1] }}{{$item->axis_data['آزادراه'][2] }}{{ $item->axis_data['آزادراه'][3] }}{{ $item->axis_data['بزرگراه'][1] }}{{ $item->axis_data['بزرگراه'][2] }}{{ $item->axis_data['بزرگراه'][3] }}{{ $item->axis_data['اصلی'][1] }}{{ $item->axis_data['اصلی'][2] }}{{ $item->axis_data['اصلی'][3] }}{{ $item->axis_data['فرعی'][1] }}{{ $item->axis_data['فرعی'][2] }}{{ $item->axis_data['فرعی'][3] }}{{ $item->axis_data['روستایی'][1] }}{{ $item->axis_data['روستایی'][2] }}{{ $item->axis_data['روستایی'][3] }}
+ + diff --git a/resources/views/v3/Reports/SafetyAndPrivacy/Province/ConstructionActivityReport.blade.php b/resources/views/v3/Reports/SafetyAndPrivacy/Province/ConstructionActivityReport.blade.php new file mode 100644 index 00000000..509e3b0c --- /dev/null +++ b/resources/views/v3/Reports/SafetyAndPrivacy/Province/ConstructionActivityReport.blade.php @@ -0,0 +1,131 @@ + + + + + + + + استانی + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @foreach ($data as $item) + + + + + + + + + + + + + + + + + + + + @endforeach + +
+ تاریخ دریافت گزارش: {{ verta()->now()->format('Y/m/d H:i') }} +
+
+ گزارش نگهداری حریم راه برای ساخت و ساز غیر مجاز +
+ اداره کل + + تعداد کل + + آزاد راه + + بزرگ راه + + اصلی + + فرعی + + روستایی +
+ گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) +
{{ $item->name_fa }}{{ $item->sum }}{{ $item->axis_data['آزادراه'][1] }}{{$item->axis_data['آزادراه'][2] }}{{ $item->axis_data['آزادراه'][3] }}{{ $item->axis_data['بزرگراه'][1] }}{{ $item->axis_data['بزرگراه'][2] }}{{ $item->axis_data['بزرگراه'][3] }}{{ $item->axis_data['اصلی'][1] }}{{ $item->axis_data['اصلی'][2] }}{{ $item->axis_data['اصلی'][3] }}{{ $item->axis_data['فرعی'][1] }}{{ $item->axis_data['فرعی'][2] }}{{ $item->axis_data['فرعی'][3] }}{{ $item->axis_data['روستایی'][1] }}{{ $item->axis_data['روستایی'][2] }}{{ $item->axis_data['روستایی'][3] }}
+ + diff --git a/resources/views/v3/Reports/SafetyAndPrivacy/Province/UtilityPassingActivityReport.blade.php b/resources/views/v3/Reports/SafetyAndPrivacy/Province/UtilityPassingActivityReport.blade.php new file mode 100644 index 00000000..407ca02a --- /dev/null +++ b/resources/views/v3/Reports/SafetyAndPrivacy/Province/UtilityPassingActivityReport.blade.php @@ -0,0 +1,131 @@ + + + + + + + + استانی + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @foreach ($data as $item) + + + + + + + + + + + + + + + + + + + + @endforeach + +
+ تاریخ دریافت گزارش: {{ verta()->now()->format('Y/m/d H:i') }} +
+
+ گزارش نگهداری حریم راه برای عبور تاسیسات زیربنایی غیر مجاز +
+ اداره کل + + تعداد کل + + آزاد راه + + بزرگ راه + + اصلی + + فرعی + + روستایی +
+ گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) + + گام اول (شناسایی) + + گام دوم (مستندات قضایی) + + گام سوم (برخورد) +
{{ $item->name_fa }}{{ $item->sum }}{{ $item->axis_data['آزادراه'][1] }}{{$item->axis_data['آزادراه'][2] }}{{ $item->axis_data['آزادراه'][3] }}{{ $item->axis_data['بزرگراه'][1] }}{{ $item->axis_data['بزرگراه'][2] }}{{ $item->axis_data['بزرگراه'][3] }}{{ $item->axis_data['اصلی'][1] }}{{ $item->axis_data['اصلی'][2] }}{{ $item->axis_data['اصلی'][3] }}{{ $item->axis_data['فرعی'][1] }}{{ $item->axis_data['فرعی'][2] }}{{ $item->axis_data['فرعی'][3] }}{{ $item->axis_data['روستایی'][1] }}{{ $item->axis_data['روستایی'][2] }}{{ $item->axis_data['روستایی'][3] }}
+ +