chenge and debug mission code

This commit is contained in:
2025-06-11 10:30:56 +03:30
parent b3f22d2fdf
commit a861343625
6 changed files with 33 additions and 16 deletions

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Enums;
enum MissionTypes: int
{
case SAATY= 1;
case ROZANE = 2;
public static function name(int $state): string
{
$mapArray = [
1 => 'ساعتی',
2 => 'روزانه',
];
return $mapArray[$state];
}
}

View File

@@ -3,6 +3,7 @@
namespace App\Http\Controllers\V3\Dashboard\Mission; namespace App\Http\Controllers\V3\Dashboard\Mission;
use App\Enums\MissionStates; use App\Enums\MissionStates;
use App\Enums\MissionTypes;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Requests\V3\Mission\RequestPortal\StoreRequest; use App\Http\Requests\V3\Mission\RequestPortal\StoreRequest;
use App\Http\Requests\V3\Mission\RequestPortal\UpdateRequest; use App\Http\Requests\V3\Mission\RequestPortal\UpdateRequest;
@@ -27,10 +28,6 @@ class RequestPortalController extends Controller
DB::transaction(function () use ($request) { DB::transaction(function () use ($request) {
$user = auth()->user(); $user = auth()->user();
$state = MissionStates::REQUEST_CREATED->value; $state = MissionStates::REQUEST_CREATED->value;
$geojson = [
'type' => 'Polygon',
'coordinates' => [$request->area]
];
$mission = Mission::query()->create([ $mission = Mission::query()->create([
'user_id' => $user->id, 'user_id' => $user->id,
@@ -48,7 +45,7 @@ class RequestPortalController extends Controller
'request_date' => now(), 'request_date' => now(),
'description' => $request->description, 'description' => $request->description,
'end_point' => $request->end_point, 'end_point' => $request->end_point,
'area' => json_encode($geojson) 'area' => json_encode($request->area),
]); ]);
$mission->rahdaran()->attach($request->rahdaran); $mission->rahdaran()->attach($request->rahdaran);
@@ -66,10 +63,6 @@ class RequestPortalController extends Controller
{ {
DB::transaction(function () use ($mission, $request) { DB::transaction(function () use ($mission, $request) {
$state = MissionStates::REQUEST_CREATED->value; $state = MissionStates::REQUEST_CREATED->value;
$geojson = [
'type' => 'Polygon',
'coordinates' => [$request->area]
];
$mission->update([ $mission->update([
'state_id' => $state, 'state_id' => $state,
'state_name' => MissionStates::name($state), 'state_name' => MissionStates::name($state),
@@ -80,7 +73,7 @@ class RequestPortalController extends Controller
'request_date' => $request->request_date, 'request_date' => $request->request_date,
'description' => $request->description, 'description' => $request->description,
'end_point' => $request->end_point, 'end_point' => $request->end_point,
'area' => json_encode($geojson) 'area' => json_encode($request->area),
]); ]);
$mission->rahdaran()->sync($request->rahdaran); $mission->rahdaran()->sync($request->rahdaran);

View File

@@ -25,10 +25,9 @@ class StoreRequest extends FormRequest
'rahdaran' => 'required|array', 'rahdaran' => 'required|array',
'rahdaran.*' => 'exists:rahdaran,id', 'rahdaran.*' => 'exists:rahdaran,id',
'requested_machines' => 'required|array', 'requested_machines' => 'required|array',
'type' => 'required|string|max:50', 'type' => 'required|in:1,2',
'start_date' => 'required|date', 'start_date' => 'required|date',
'end_date' => 'required|date', 'end_date' => 'required|date',
'request_date' => 'required|date',
'description' => 'string', 'description' => 'string',
'end_point' => 'required|string', 'end_point' => 'required|string',
'area' => 'required|array', 'area' => 'required|array',

View File

@@ -26,10 +26,9 @@ class UpdateRequest extends FormRequest
'rahdaran' => 'required|array', 'rahdaran' => 'required|array',
'rahdaran.*' => 'exists:rahdaran,id', 'rahdaran.*' => 'exists:rahdaran,id',
'requested_machines' => 'required|array', 'requested_machines' => 'required|array',
'type' => 'required|string|max:50', 'type' => 'required|in:1,2',
'start_date' => 'required|date', 'start_date' => 'required|date',
'end_date' => 'required|date', 'end_date' => 'required|date',
'request_date' => 'required|date',
'description' => 'string', 'description' => 'string',
'end_point' => 'required|string', 'end_point' => 'required|string',
'area' => 'required|array', 'area' => 'required|array',

View File

@@ -17,7 +17,14 @@ class Mission extends Model
protected function requestedMachines(): Attribute protected function requestedMachines(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: fn ($value) => json_decode($value) get: fn($value) => json_decode($value)
);
}
protected function area(): Attribute
{
return Attribute::make(
get: fn($value) => json_decode($value)
); );
} }

View File

@@ -12,7 +12,7 @@ return new class extends Migration
public function up(): void public function up(): void
{ {
Schema::table('missions', function (Blueprint $table) { Schema::table('missions', function (Blueprint $table) {
$table->geometry('area'); $table->json('area');
}); });
} }