improve road patrole controller and conect whit mission

This commit is contained in:
2025-06-15 14:43:36 +03:30
parent 924dd3b2b6
commit 8ee7379bac
7 changed files with 435 additions and 0 deletions

View File

@@ -2,6 +2,7 @@
namespace App\Http\Controllers\V3\Dashboard;
use App\Enums\MissionStates;
use App\Exports\V3\RoadPatrols\OperatorCartableReport;
use App\Exports\V3\RoadPatrols\SupervisorCartableReport;
use App\Facades\Sms\Sms;
@@ -11,6 +12,7 @@ use App\Http\Requests\V3\RoadPatrolProject\StoreRequest;
use App\Http\Traits\ApiResponse;
use App\Models\EdarateShahri;
use App\Models\InfoItem;
use App\Models\Mission;
use App\Models\RoadItemsProject;
use App\Models\RoadObserved;
use App\Models\RoadPatrol;
@@ -110,6 +112,13 @@ class RoadPatrolProjectController extends Controller
$road_patrol = DB::transaction(function () use ($request, $edare_id,
$edare_name, $nominatimService, $user) {
$mission = Mission::findOrFail($request->mission_id);
if ($mission->status !== MissionStates::START_MISSION->value) {
throw ValidationException::withMessages([
'mission_id' => 'ماموریت انتخاب شده هنوز شروع نشده است.',
]);
}
$road_patrol = RoadPatrol::query()->create([
'operator_id' => $user->id,