create control unit cartable
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();
|
||||
$state = MissionStates::REQUEST_CREATED->value;
|
||||
$mission = Mission::query()->create([
|
||||
'user_id'=> $user->id,
|
||||
'username'=> $user->username,
|
||||
'province_id'=> $user->province_id,
|
||||
'province_name'=> $user->province_fa,
|
||||
'edare_shahri_id'=> $user->edare_shahri_id ?? null,
|
||||
'edare_shahri_name'=> $user->edare_shahri_name ?? null,
|
||||
'state_id' =>$state,
|
||||
'user_id' => $user->id,
|
||||
'username' => $user->username,
|
||||
'province_id' => $user->province_id,
|
||||
'province_name' => $user->province_fa,
|
||||
'edare_shahri_id' => $user->edare_shahri_id ?? null,
|
||||
'edare_shahri_name' => $user->edare_shahri_name ?? null,
|
||||
'state_id' => $state,
|
||||
'state_name' => MissionStates::name($state),
|
||||
'requested_machines' => json_encode($request->requested_machines),
|
||||
'type' => $request->type,
|
||||
@@ -86,13 +86,4 @@ class RequestPortalController extends Controller
|
||||
});
|
||||
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\AzmayeshTypeController;
|
||||
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\TransportationUnitController;
|
||||
use App\Http\Controllers\V3\Dashboard\ObservedItemController;
|
||||
@@ -440,8 +442,6 @@ Route::prefix('missions')
|
||||
Route::get('/{mission}', 'show')->name('show');
|
||||
Route::post('/{mission}', 'update')->name('update');
|
||||
Route::delete('/{mission}', 'destroy')->name('destroy');
|
||||
Route::get('/machine/{mission}','machines')->name('machines');
|
||||
Route::get('/rahdar/{mission}','rahdaran')->name('rahdaran');
|
||||
});
|
||||
Route::name('transportationUnit.')
|
||||
->prefix('transportation_unit')
|
||||
@@ -451,4 +451,17 @@ Route::prefix('missions')
|
||||
Route::post('/allocate/{mission}', 'allocate')->name('allocate');
|
||||
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