develop #28

Merged
amirghasempoor merged 51 commits from develop into main 2026-06-15 11:32:19 +00:00
9 changed files with 117 additions and 28 deletions
Showing only changes of commit a8b99706d0 - Show all commits

View File

@@ -4,6 +4,7 @@ namespace App\Http\Controllers\V3;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\CMMSMachine\UpdateRequest;
use App\Http\Traits\ApiResponse;
use App\Models\CMMSMachine;
use Illuminate\Http\JsonResponse;
@@ -48,4 +49,16 @@ class CMMSMachinesController extends Controller
->distinct()
->pluck('car_type');
}
public function update(UpdateRequest $request , CMMSMachine $machine): JsonResponse
{
$machine->update([
'status' => $request->status,
'province_id' => $request->province_id,
'city_id' => $request->city_id,
'station_id' => $request->station_id,
]);
return $this->successResponse();
}
}

View File

@@ -33,11 +33,11 @@ class ControlUnitController extends Controller
public function start(StartRequest $request, Mission $mission): JsonResponse
{
DB::transaction(function () use ($mission, $request) {
$mission->histories()->create([
'user_id' => auth()->user()->id,
'previous_state_id' => $mission->state_id,
'previous_state_name' => $mission->state_name,
]);
// $mission->histories()->create([
// 'user_id' => auth()->user()->id,
// 'previous_state_id' => $mission->state_id,
// 'previous_state_name' => $mission->state_name,
// ]);
$state = MissionStates::START_MISSION->value;
$mission->update([
@@ -57,11 +57,11 @@ class ControlUnitController extends Controller
public function finish(FinishRequest $request, Mission $mission, GetErrorRateService $getErrorRateService): JsonResponse
{
DB::transaction(function () use ($mission, $getErrorRateService, $request) {
$mission->histories()->create([
'user_id' => auth()->user()->id,
'previous_state_id' => $mission->state_id,
'previous_state_name' => $mission->state_name,
]);
// $mission->histories()->create([
// 'user_id' => auth()->user()->id,
// 'previous_state_id' => $mission->state_id,
// 'previous_state_name' => $mission->state_name,
// ]);
$state = MissionStates::END_MISSION->value;

View File

@@ -9,6 +9,7 @@ use App\Enums\MissionTypes;
use App\Enums\MissionZones;
use App\Http\Controllers\Controller;
use App\Http\Controllers\V3\Dashboard\RoadPatrol\OperatorController;
use App\Http\Requests\V3\Mission\RequestPortal\ChangeStateRequest;
use App\Http\Requests\V3\Mission\RequestPortal\ContinueMissionRequest;
use App\Http\Requests\V3\Mission\RequestPortal\NoProcessRequest;
use App\Http\Requests\V3\Mission\RequestPortal\StoreRequest;
@@ -273,4 +274,14 @@ class RequestPortalController extends Controller
return $this->successResponse();
}
public function changeState(ChangeStateRequest $request, Mission $mission): JsonResponse
{
$mission->update([
'state' => $request->state_id,
'state_name' => MissionStates::name($request->status_id),
]);
return $this->successResponse($mission);
}
}

View File

@@ -33,11 +33,11 @@ class TransportationUnitController extends Controller
DB::transaction(function () use ($request, $mission) {
$mission->rahdaran()->attach($request->driver, ['is_driver' => true]);
$mission->histories()->create([
'user_id' => auth()->user()->id,
'previous_state_id' => $mission->state_id,
'previous_state_name' => $mission->state_name,
]);
// $mission->histories()->create([
// 'user_id' => auth()->user()->id,
// 'previous_state_id' => $mission->state_id,
// 'previous_state_name' => $mission->state_name,
// ]);
$state = MissionStates::PENDING_CONFIRMATION->value;
$machine = CMMSMachine::query()->find($request->machine_id);
@@ -61,12 +61,12 @@ class TransportationUnitController extends Controller
DB::transaction(function () use ($request, $mission) {
$mission->rahdaran()->wherePivot('is_driver', '=', true)->detach();
$mission->histories()->create([
'user_id' => auth()->user()->id,
'previous_state_id' => $mission->state_id,
'previous_state_name' => $mission->state_name,
'user_description' => $request->description,
]);
// $mission->histories()->create([
// 'user_id' => auth()->user()->id,
// 'previous_state_id' => $mission->state_id,
// 'previous_state_name' => $mission->state_name,
// 'user_description' => $request->description,
// ]);
$state = MissionStates::REJECT_BY_TRANSPORTATION->value;

View File

@@ -63,19 +63,19 @@ class ViolationManagementController extends Controller
'zone_fa' => MissionZones::name($zone),
'type' => $type,
'type_fa' => MissionTypes::name($type),
'start_date' => $request->start_date,//
'end_date' => $request->end_date,//
'start_date' => $request->start_date,
'end_date' => $request->end_date,
'end_point' => $request->end_point,
'category_id' => $request->category_id,
'category_name' => MissionCategory::name($request->category_id),
'start_time' => $request->start_date,//
'finish_time' => $request->end_date,//
'start_time' => $request->start_date,
'finish_time' => $request->end_date,
'state_id' => $state,
'state_name' => MissionStates::name($state),
'explanation' => $request->explanation,
'request_date' => now(),
'machine_id' => $machine->id,//
'machine_code' => $machine->machine_code,//
'machine_id' => $machine->id,
'machine_code' => $machine->machine_code,
'station_id' => $user->station_id,
'station_name' => RahdariPoint::query()->find( $user->station_id)->name,
'km' => $violation->km ?? null,

View File

@@ -42,7 +42,7 @@ class RoadMaintenanceStationController extends Controller
{
$stations = RahdariPoint::query()
->where('city_id', $request->query('city_id'))
->get();
->get(['id', 'name']);
return $this->successResponse($stations);
}

View File

@@ -0,0 +1,33 @@
<?php
namespace App\Http\Requests\V3\CMMSMachine;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class UpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
'status' => 'integer',
'province_id' => 'integer|exists:provinces,id',
'city_id' => 'integer|exists:cities,id',
'station_id' => 'integer|exists:rahdari_points,id',
];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Mission\RequestPortal;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
class ChangeStateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
'state_id' => 'required',
];
}
}

View File

@@ -186,6 +186,7 @@ Route::prefix('cmms_machines')
Route::get('/list', 'list')->name('list');
Route::get('/search', 'search')->name('search');
Route::get('/car_types', 'carTypes')->name('carTypes');
Route::post('/{machine}', 'update')->name('update')->middleware('permission:update-machine');
});
Route::prefix('rahdaran')
@@ -498,6 +499,7 @@ Route::prefix('missions')
Route::get('/{mission}', 'show')->name('show');
Route::post('/{mission}', 'update')->name('update');
Route::delete('/{mission}', 'destroy')->name('destroy');
Route::post('/change_state/{mission}', 'changeState')->name('changeState');
});
Route::name('transportationUnit.')
->prefix('transportation_unit')