From 81ea9d2f7e88e54cac675f47e0ba5806b998dfe3 Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Wed, 11 Jun 2025 11:41:43 +0330 Subject: [PATCH 1/3] add zone to mission --- app/Enums/MissionZones.php | 21 +++++++++++++++++++ .../Mission/RequestPortalController.php | 7 +++++++ .../V3/Mission/RequestPortal/StoreRequest.php | 1 + .../Mission/RequestPortal/UpdateRequest.php | 1 + ...6_10_093806_add_area_to_missions_table.php | 6 ++++-- 5 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 app/Enums/MissionZones.php diff --git a/app/Enums/MissionZones.php b/app/Enums/MissionZones.php new file mode 100644 index 00000000..d5e7b87f --- /dev/null +++ b/app/Enums/MissionZones.php @@ -0,0 +1,21 @@ + 'داخل شهر', + 2 => 'بیرون شهر (داخل محدوده)', + 3 => 'بیرون شهر (بیرون محدوده)', + ]; + + return $mapArray[$state]; + } +} \ No newline at end of file diff --git a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php index 5eb3b136..9c01f36a 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers\V3\Dashboard\Mission; use App\Enums\MissionStates; use App\Enums\MissionTypes; +use App\Enums\MissionZones; use App\Http\Controllers\Controller; use App\Http\Requests\V3\Mission\RequestPortal\StoreRequest; use App\Http\Requests\V3\Mission\RequestPortal\UpdateRequest; @@ -40,6 +41,9 @@ class RequestPortalController extends Controller 'state_name' => MissionStates::name($state), 'requested_machines' => json_encode($request->requested_machines), 'type' => $request->type, + 'type_fa' => MissionTypes::name($request->type), + 'zone' => $request->zone, + 'zone_fa' => MissionZones::name($request->zone), 'start_date' => $request->start_date, 'end_date' => $request->end_date, 'request_date' => now(), @@ -68,6 +72,9 @@ class RequestPortalController extends Controller 'state_name' => MissionStates::name($state), 'requested_machines' => json_encode($request->requested_machines), 'type' => $request->type, + 'type_fa' => MissionTypes::name($request->type), + 'zone' => $request->zone, + 'zone_fa' => MissionZones::name($request->zone), 'start_date' => $request->start_date, 'end_date' => $request->end_date, 'request_date' => $request->request_date, diff --git a/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php index 98dcda6b..2e9f2b2f 100644 --- a/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php +++ b/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php @@ -26,6 +26,7 @@ class StoreRequest extends FormRequest 'rahdaran.*' => 'exists:rahdaran,id', 'requested_machines' => 'required|array', 'type' => 'required|in:1,2', + 'zone' => 'required|in:1,2,3', 'start_date' => 'required|date', 'end_date' => 'required|date', 'description' => 'string', diff --git a/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php index 4135ffa8..cfb7f81e 100644 --- a/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php +++ b/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php @@ -27,6 +27,7 @@ class UpdateRequest extends FormRequest 'rahdaran.*' => 'exists:rahdaran,id', 'requested_machines' => 'required|array', 'type' => 'required|in:1,2', + 'zone' => 'required|in:1,2,3', 'start_date' => 'required|date', 'end_date' => 'required|date', 'description' => 'string', diff --git a/database/migrations/2025_06_10_093806_add_area_to_missions_table.php b/database/migrations/2025_06_10_093806_add_area_to_missions_table.php index cf421da3..bee98cf6 100644 --- a/database/migrations/2025_06_10_093806_add_area_to_missions_table.php +++ b/database/migrations/2025_06_10_093806_add_area_to_missions_table.php @@ -13,7 +13,9 @@ return new class extends Migration { Schema::table('missions', function (Blueprint $table) { $table->json('area'); - + $table->integer('zone'); + $table->string('zone_fa'); + $table->string('type_fa'); }); } @@ -23,7 +25,7 @@ return new class extends Migration public function down(): void { Schema::table('missions', function (Blueprint $table) { - $table->dropColumn('area'); + $table->dropColumn(['area', 'zone', 'zone_fa', 'type_fa']); }); } }; From 547a831fe96a8db5555b4b39deb7fff39328fc1e Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Wed, 11 Jun 2025 11:42:44 +0330 Subject: [PATCH 2/3] add zone to cartable --- app/Services/Cartables/Mission/RequestPortalService.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Services/Cartables/Mission/RequestPortalService.php b/app/Services/Cartables/Mission/RequestPortalService.php index 33494ccc..4fe32dac 100644 --- a/app/Services/Cartables/Mission/RequestPortalService.php +++ b/app/Services/Cartables/Mission/RequestPortalService.php @@ -17,8 +17,8 @@ class RequestPortalService $user = auth()->user(); $fields = [ 'id', 'user_id', 'username', 'state_name', 'province_name', 'edare_shahri_name', - 'description', 'requested_machines', 'type', 'start_date', - 'end_date', 'request_date', 'end_point', 'area' + 'description', 'requested_machines', 'type', 'type_fa', 'start_date', + 'end_date', 'request_date', 'end_point', 'area', 'zone', 'zone_fa' ]; $query = Mission::query(); From a7b115a161b642314882b06332052c78d42cbf0b Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Wed, 11 Jun 2025 14:34:28 +0330 Subject: [PATCH 3/3] add index for cmms machines --- app/Http/Controllers/V3/CMMSMachinesController.php | 12 ++++++++++++ .../Cartables/Mission/TransportationUnitService.php | 4 ++-- routes/v3.php | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/V3/CMMSMachinesController.php b/app/Http/Controllers/V3/CMMSMachinesController.php index e575d179..b25ca2a7 100644 --- a/app/Http/Controllers/V3/CMMSMachinesController.php +++ b/app/Http/Controllers/V3/CMMSMachinesController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\V3; +use App\Facades\DataTable\DataTableFacade; use App\Http\Controllers\Controller; use App\Http\Traits\ApiResponse; use App\Models\CMMSMachine; @@ -12,6 +13,17 @@ class CMMSMachinesController extends Controller { use ApiResponse; + public function index(Request $request): JsonResponse + { + return response()->json(DataTableFacade::run( + CMMSMachine::query(), + $request, + allowedFilters: ['*'], + allowedSortings: ['*'], + allowedSelects: ['machine_code', 'id', 'plak_number', 'car_name'] + )); + } + public function list(): JsonResponse { $machinesList = CMMSMachine::query()->get(['machine_code', 'id', 'plak_number', 'car_name']); diff --git a/app/Services/Cartables/Mission/TransportationUnitService.php b/app/Services/Cartables/Mission/TransportationUnitService.php index 3462e2b2..d21b8424 100644 --- a/app/Services/Cartables/Mission/TransportationUnitService.php +++ b/app/Services/Cartables/Mission/TransportationUnitService.php @@ -14,8 +14,8 @@ class TransportationUnitService { $fields = [ 'id', 'user_id', 'username', 'state_name', 'province_name', 'edare_shahri_name', - 'description', 'requested_machines', 'type', 'start_date', - 'end_date', 'request_date', 'end_point', + 'description', 'requested_machines', 'type', 'type_fa', 'start_date', + 'end_date', 'request_date', 'end_point', 'area', 'zone', 'zone_fa' ]; $query = Mission::query() diff --git a/routes/v3.php b/routes/v3.php index 6567212e..0498504a 100644 --- a/routes/v3.php +++ b/routes/v3.php @@ -192,6 +192,7 @@ Route::prefix('cmms_machines') ->name('cmms_machines.') ->controller(CMMSMachinesController::class) ->group(function () { + Route::get('/', 'index')->name('index'); Route::get('/list', 'list')->name('list'); Route::get('/search', 'search')->name('search'); });