Merge branch 'feature/GeometryMission' into 'develop'

create area for mission and asaynd geometry

See merge request witelgroup/rms_v2!127
This commit is contained in:
2025-06-11 08:02:33 +00:00
7 changed files with 65 additions and 7 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,6 +28,7 @@ class RequestPortalController extends Controller
DB::transaction(function () use ($request) {
$user = auth()->user();
$state = MissionStates::REQUEST_CREATED->value;
$mission = Mission::query()->create([
'user_id' => $user->id,
'username' => $user->username,
@@ -43,6 +45,7 @@ class RequestPortalController extends Controller
'request_date' => now(),
'description' => $request->description,
'end_point' => $request->end_point,
'area' => json_encode($request->area),
]);
$mission->rahdaran()->attach($request->rahdaran);
@@ -70,6 +73,7 @@ class RequestPortalController extends Controller
'request_date' => $request->request_date,
'description' => $request->description,
'end_point' => $request->end_point,
'area' => json_encode($request->area),
]);
$mission->rahdaran()->sync($request->rahdaran);
@@ -77,7 +81,6 @@ class RequestPortalController extends Controller
return $this->successResponse();
}
public function destroy(Mission $mission): JsonResponse
{
DB::transaction(function () use ($mission) {

View File

@@ -25,12 +25,12 @@ 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,12 +26,12 @@ 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

@@ -18,7 +18,7 @@ class RequestPortalService
$fields = [
'id', 'user_id', 'username', 'state_name', 'province_name', 'edare_shahri_name',
'description', 'requested_machines', 'type', 'start_date',
'end_date', 'request_date', 'end_point',
'end_date', 'request_date', 'end_point', 'area'
];
$query = Mission::query();

View File

@@ -0,0 +1,29 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('missions', function (Blueprint $table) {
$table->json('area');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('missions', function (Blueprint $table) {
$table->dropColumn('area');
});
}
};