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

View File

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

View File

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

View File

@@ -17,7 +17,14 @@ class Mission extends Model
protected function requestedMachines(): Attribute
{
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
{
Schema::table('missions', function (Blueprint $table) {
$table->geometry('area');
$table->json('area');
});
}