convert many to many to one to many
This commit is contained in:
@@ -13,6 +13,7 @@ use App\Services\Cartables\Mission\TransportationUnitService;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Throwable;
|
||||
|
||||
class TransportationUnitController extends Controller
|
||||
{
|
||||
@@ -23,10 +24,12 @@ class TransportationUnitController extends Controller
|
||||
return response()->json($transportationUnitService->dataTable($request));
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Throwable
|
||||
*/
|
||||
public function allocate(AllocateRequest $request, Mission $mission): JsonResponse
|
||||
{
|
||||
DB::transaction(function () use ($request, $mission) {
|
||||
$mission->machines()->attach($request->machines);
|
||||
$mission->rahdaran()->attach($request->driver, ['is_driver' => true]);
|
||||
|
||||
$mission->histories()->create([
|
||||
@@ -36,19 +39,27 @@ class TransportationUnitController extends Controller
|
||||
]);
|
||||
|
||||
$state = MissionStates::PENDING_CONFIRMATION->value;
|
||||
$machine = CMMSMachine::query()->find($request->machine_id);
|
||||
|
||||
$mission->update([
|
||||
'state_id' => $state,
|
||||
'state_name' => MissionStates::name($state),
|
||||
'km' => $request->km,
|
||||
'machine_id' => $machine->id,
|
||||
'machine_name' => $machine->car_name,
|
||||
]);
|
||||
});
|
||||
|
||||
return $this->successResponse();
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Throwable
|
||||
*/
|
||||
public function deallocate(DeallocateRequest $request, Mission $mission): JsonResponse
|
||||
{
|
||||
DB::transaction(function () use ($request, $mission) {
|
||||
$mission->rahdaran()->wherePivot('is_driver', '=', true)->delete();
|
||||
|
||||
$mission->histories()->create([
|
||||
'user_id' => auth()->user()->id,
|
||||
'previous_state_id' => $mission->state_id,
|
||||
@@ -62,6 +73,8 @@ class TransportationUnitController extends Controller
|
||||
'state_id' => $state,
|
||||
'state_name' => MissionStates::name($state),
|
||||
'description' => $request->description,
|
||||
'machine_id' => null,
|
||||
'machine_name' => null,
|
||||
]);
|
||||
});
|
||||
|
||||
@@ -73,6 +86,7 @@ class TransportationUnitController extends Controller
|
||||
return $this->successResponse(
|
||||
CMMSMachine::query()
|
||||
->where('car_type', '=', $mission->car_type)
|
||||
->where('status', '<>', 3)
|
||||
->get(['machine_code', 'id', 'plak_number', 'car_name'])
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user