Merge branch 'feature/MissionAttribute' into 'develop'

Feature/mission attribute

See merge request witelgroup/rms_v2!128
This commit is contained in:
2025-06-11 11:27:31 +00:00
9 changed files with 51 additions and 6 deletions

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Enums;
enum MissionZones: int
{
case DAKHEL_SHAHR= 1;
case BIRON_SHAHR_DHAKHEL_MAHDODE = 2;
case BIRON_SHAHR_BIRON_MAHDODE = 3;
public static function name(int $state): string
{
$mapArray = [
1 => 'داخل شهر',
2 => 'بیرون شهر (داخل محدوده)',
3 => 'بیرون شهر (بیرون محدوده)',
];
return $mapArray[$state];
}
}

View File

@@ -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']);

View File

@@ -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,

View File

@@ -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',

View File

@@ -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',

View File

@@ -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();

View File

@@ -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()

View File

@@ -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']);
});
}
};

View File

@@ -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');
});