Merge branch 'feature/ControlUnit' into 'develop'
create control unit cartable See merge request witelgroup/rms_v2!119
This commit is contained in:
@@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\V3\Dashboard\Mission;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Services\Cartables\Mission\ControlUnitService;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class ControlUnitController extends Controller
|
||||||
|
{
|
||||||
|
public function index(Request $request, ControlUnitService $controlUnitService): JsonResponse
|
||||||
|
{
|
||||||
|
return response()->json($controlUnitService->datatable($request));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\V3\Dashboard\Mission;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Http\Traits\ApiResponse;
|
||||||
|
use App\Models\Mission;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class DetailController extends Controller
|
||||||
|
{
|
||||||
|
use ApiResponse;
|
||||||
|
|
||||||
|
public function machines(Mission $mission): JsonResponse
|
||||||
|
{
|
||||||
|
return $this->successResponse($mission->machines()->get(['cmms_machines.id', 'cmms_machines.machine_code', 'cmms_machines.car_name', 'cmms_machines.plak_number']));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function rahdaran(Mission $mission): JsonResponse
|
||||||
|
{
|
||||||
|
return $this->successResponse($mission->rahdaran()->get(['rahdaran.id', 'rahdaran.name', 'rahdaran.code']));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -28,13 +28,13 @@ class RequestPortalController extends Controller
|
|||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
$state = MissionStates::REQUEST_CREATED->value;
|
$state = MissionStates::REQUEST_CREATED->value;
|
||||||
$mission = Mission::query()->create([
|
$mission = Mission::query()->create([
|
||||||
'user_id'=> $user->id,
|
'user_id' => $user->id,
|
||||||
'username'=> $user->username,
|
'username' => $user->username,
|
||||||
'province_id'=> $user->province_id,
|
'province_id' => $user->province_id,
|
||||||
'province_name'=> $user->province_fa,
|
'province_name' => $user->province_fa,
|
||||||
'edare_shahri_id'=> $user->edare_shahri_id ?? null,
|
'edare_shahri_id' => $user->edare_shahri_id ?? null,
|
||||||
'edare_shahri_name'=> $user->edare_shahri_name ?? null,
|
'edare_shahri_name' => $user->edare_shahri_name ?? null,
|
||||||
'state_id' =>$state,
|
'state_id' => $state,
|
||||||
'state_name' => MissionStates::name($state),
|
'state_name' => MissionStates::name($state),
|
||||||
'requested_machines' => json_encode($request->requested_machines),
|
'requested_machines' => json_encode($request->requested_machines),
|
||||||
'type' => $request->type,
|
'type' => $request->type,
|
||||||
@@ -86,13 +86,4 @@ class RequestPortalController extends Controller
|
|||||||
});
|
});
|
||||||
return $this->successResponse();
|
return $this->successResponse();
|
||||||
}
|
}
|
||||||
public function machines(Mission $mission): JsonResponse
|
|
||||||
{
|
|
||||||
return $this->successResponse($mission->machines()->get(['cmms_machines.id', 'cmms_machines.machine_code', 'cmms_machines.car_name', 'cmms_machines.plak_number']));
|
|
||||||
}
|
|
||||||
|
|
||||||
public function rahdaran(Mission $mission): JsonResponse
|
|
||||||
{
|
|
||||||
return $this->successResponse($mission->rahdaran()->get(['rahdaran.id', 'rahdaran.name', 'rahdaran.code']));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
37
app/Services/Cartables/Mission/ControlUnitService.php
Normal file
37
app/Services/Cartables/Mission/ControlUnitService.php
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Services\Cartables\Mission;
|
||||||
|
|
||||||
|
|
||||||
|
use App\Enums\MissionStates;
|
||||||
|
use App\Facades\DataTable\DataTableFacade;
|
||||||
|
use App\Http\Traits\ApiResponse;
|
||||||
|
use App\Models\Mission;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class ControlUnitService
|
||||||
|
{
|
||||||
|
use ApiResponse;
|
||||||
|
|
||||||
|
public function dataTable(Request $request)
|
||||||
|
{
|
||||||
|
$fields = [
|
||||||
|
'id', 'user_id', 'username', 'state_name', 'province_name', 'edare_shahri_name',
|
||||||
|
'description', 'requested_machines', 'type', 'start_date',
|
||||||
|
'end_date', 'request_date', 'end_point',
|
||||||
|
];
|
||||||
|
|
||||||
|
$query = Mission::query()
|
||||||
|
->where('state_id', '=', MissionStates::PENDING_CONFIRMATION->value)
|
||||||
|
->where('edare_shahri_name', '=', Auth::user()->edarate_shahri_id);
|
||||||
|
|
||||||
|
return DataTableFacade::run(
|
||||||
|
$query,
|
||||||
|
$request,
|
||||||
|
allowedFilters: ['*'],
|
||||||
|
allowedSortings: ['*'],
|
||||||
|
allowedSelects: $fields
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,6 +7,8 @@ use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshController;
|
|||||||
use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshSampleController;
|
use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshSampleController;
|
||||||
use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshTypeController;
|
use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshTypeController;
|
||||||
use App\Http\Controllers\V3\Dashboard\ItemsManagementController;
|
use App\Http\Controllers\V3\Dashboard\ItemsManagementController;
|
||||||
|
use App\Http\Controllers\V3\Dashboard\Mission\ControlUnitController;
|
||||||
|
use App\Http\Controllers\V3\Dashboard\Mission\DetailController;
|
||||||
use App\Http\Controllers\V3\Dashboard\Mission\RequestPortalController;
|
use App\Http\Controllers\V3\Dashboard\Mission\RequestPortalController;
|
||||||
use App\Http\Controllers\V3\Dashboard\Mission\TransportationUnitController;
|
use App\Http\Controllers\V3\Dashboard\Mission\TransportationUnitController;
|
||||||
use App\Http\Controllers\V3\Dashboard\ObservedItemController;
|
use App\Http\Controllers\V3\Dashboard\ObservedItemController;
|
||||||
@@ -440,8 +442,6 @@ Route::prefix('missions')
|
|||||||
Route::get('/{mission}', 'show')->name('show');
|
Route::get('/{mission}', 'show')->name('show');
|
||||||
Route::post('/{mission}', 'update')->name('update');
|
Route::post('/{mission}', 'update')->name('update');
|
||||||
Route::delete('/{mission}', 'destroy')->name('destroy');
|
Route::delete('/{mission}', 'destroy')->name('destroy');
|
||||||
Route::get('/machine/{mission}','machines')->name('machines');
|
|
||||||
Route::get('/rahdar/{mission}','rahdaran')->name('rahdaran');
|
|
||||||
});
|
});
|
||||||
Route::name('transportationUnit.')
|
Route::name('transportationUnit.')
|
||||||
->prefix('transportation_unit')
|
->prefix('transportation_unit')
|
||||||
@@ -451,4 +451,17 @@ Route::prefix('missions')
|
|||||||
Route::post('/allocate/{mission}', 'allocate')->name('allocate');
|
Route::post('/allocate/{mission}', 'allocate')->name('allocate');
|
||||||
Route::post('/deallocate/{mission}', 'deallocate')->name('deallocate');
|
Route::post('/deallocate/{mission}', 'deallocate')->name('deallocate');
|
||||||
});
|
});
|
||||||
|
Route::name('controlUnit.')
|
||||||
|
->prefix('control_unit')
|
||||||
|
->controller(ControlUnitController::class)
|
||||||
|
->group(function () {
|
||||||
|
Route::get('/', 'index')->name('index');
|
||||||
|
});
|
||||||
|
Route::prefix('details')
|
||||||
|
->name('details.')
|
||||||
|
->controller(DetailController::class)
|
||||||
|
->group(function () {
|
||||||
|
Route::get('/machines/{mission}', 'machines')->name('machines');
|
||||||
|
Route::get('/rahdaran/{mission}', 'rahdaran')->name('rahdaran');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user