just for go enother work i donot no work or not

This commit is contained in:
2025-07-30 14:23:52 +03:30
parent ab059cfe52
commit a9067950d7
16 changed files with 652 additions and 412 deletions

View File

@@ -51,16 +51,6 @@ 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)

View File

@@ -1,9 +1,9 @@
<?php
namespace App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy;
namespace App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy\OperatorReport;
use App\Exports\V3\SafetyAndPrivacy\CountryActivityReport;
use App\Exports\V3\SafetyAndPrivacy\ProvinceActivityReport;
use App\Exports\V3\SafetyAndPrivacy\Country\AccessRoadReport as ExcelReport;
use App\Exports\V3\SafetyAndPrivacy\Province\AccessRoadReport;
use App\Http\Controllers\Controller;
use App\Http\Traits\ApiResponse;
use App\Models\EdarateShahri;
@@ -44,14 +44,14 @@ class AccessRoadActivityController extends Controller
{
$data = $operatorService->countryActivity($request);
$name = 'گزارش نگهداری حریم راه برای راه دسترسی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
return Excel::download(new CountryActivityReport($data), $name);
return Excel::download(new ExcelReport($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);
return Excel::download(new AccessRoadReport($data, $request), $name);
}
}

View File

@@ -1,9 +1,9 @@
<?php
namespace App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy;
namespace App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy\OperatorReport;
use App\Exports\V3\SafetyAndPrivacy\CountryActivityReport;
use App\Exports\V3\SafetyAndPrivacy\ProvinceActivityReport;
use App\Exports\V3\SafetyAndPrivacy\Country\ConstructionReport as ExcelReport;
use App\Exports\V3\SafetyAndPrivacy\Province\ConstructionReport;
use App\Http\Controllers\Controller;
use App\Http\Traits\ApiResponse;
use App\Models\EdarateShahri;
@@ -43,14 +43,14 @@ class ConstructionActivityController extends Controller
{
$data = $operatorService->countryActivity($request);
$name = ' گزارش نگهداری حریم راه برای ساخت و ساز غیر مجاز' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
return Excel::download(new CountryActivityReport($data), $name);
return Excel::download(new ExcelReport($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);
return Excel::download(new ConstructionReport($data, $request), $name);
}

View File

@@ -1,9 +1,9 @@
<?php
namespace App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy;
namespace App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy\OperatorReport;
use App\Exports\V3\SafetyAndPrivacy\CountryActivityReport;
use App\Exports\V3\SafetyAndPrivacy\ProvinceActivityReport;
use App\Exports\V3\SafetyAndPrivacy\Country\UtilityPassingReport as ExcelReport;
use App\Exports\V3\SafetyAndPrivacy\Province\UtilityPassingReport;
use App\Http\Controllers\Controller;
use App\Models\EdarateShahri;
use App\Models\Province;
@@ -41,14 +41,14 @@ class UtilityPassingActivityController extends Controller
{
$data = $operatorService->countryActivity($request);
$name = 'گزارش نگهداری حریم راه برای عبور تاسیسات زیربنایی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
return Excel::download(new CountryActivityReport($data), $name);
return Excel::download(new ExcelReport($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);
return Excel::download(new UtilityPassingReport($data, $request), $name);
}
}

View File

@@ -1,53 +0,0 @@
<?php
namespace App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy;
use App\Exports\V3\SafetyAndPrivacy\CountryActivityReport;
use App\Exports\V3\SafetyAndPrivacy\ProvinceActivityReport;
use App\Http\Controllers\Controller;
use App\Http\Traits\ApiResponse;
use App\Models\EdarateShahri;
use App\Models\Province;
use App\Services\Cartables\SafetyAndPrivacy\OperatorService;
use App\Services\Cartables\SafetyAndPrivacyTableService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
class OperatorReportController extends Controller
{
use ApiResponse;
public function countryActivity(Request $request, OperatorService $operatorService): JsonResponse
{
$data = $operatorService->countryActivity($request);
return $this->successResponse([
'activities' => $data,
'provinces' => Province::all(['id', 'name_fa'])
]);
}
public function provinceActivity(Request $request, OperatorService $operatorService): JsonResponse
{
$data = $operatorService->provinceActivity($request);
return $this->successResponse([
'activities' => $data,
'edarateShahri' => EdarateShahri::query()->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);
}
}

View File

@@ -2,9 +2,13 @@
namespace App\Http\Requests\V3\RoadItem\Operator;
use App\Models\Mission;
use Carbon\Carbon;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use Illuminate\Validation\ValidationException;
use Illuminate\Validation\Validator;
class StoreRequest extends FormRequest
{
@@ -48,4 +52,18 @@ class StoreRequest extends FormRequest
'activity_time' => 'ساعت فعالیت',
];
}
public function after(): array
{
return [
function (Validator $validator) {
$activityTime = Carbon::parse("{$this->activity_date} {$this->activity_time}");
if ($activityTime->lt($this->mission->start_date) || $activityTime->gt($this->mission->end_date)) {
$validator->errors()->add('activity_time', 'زمان گزارش باید بین بازه مأموریت باشد.');
}
}
];
}
}