diff --git a/app/Console/Commands/DailyMovingMachineCommand.php b/app/Console/Commands/DailyMovingMachineCommand.php index 8790c357..5155f57d 100644 --- a/app/Console/Commands/DailyMovingMachineCommand.php +++ b/app/Console/Commands/DailyMovingMachineCommand.php @@ -58,14 +58,20 @@ class DailyMovingMachineCommand extends Command break; } + $machine = CMMSMachine::query()->firstWhere('machine_code', '=', $code); + MissionViolation::query()->create([ 'machine_code' => $code, - 'machine_id' => CMMSMachine::query()->firstWhere('machine_code', '=', $code)->id, + 'machine_id' => $machine->id, 'type' => MissionViolationType::KHOROJ_BEDONE_MOGAVEZ->value, 'request_date' => $date, 'mileage' => $cmm['mileageKM'], // 'exit_time' => $cmm['exit_time'], // 'enter_time' => $cmm['enter_time'], + 'province_id' => $machine->province_id, +// 'province_name' => $machine->province_fa, + 'city_id' => $machine->city_id, +// 'city_name' => $machine->city_fa, ]); } diff --git a/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php b/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php index 06a07c13..33e732b0 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/ControlUnitController.php @@ -43,7 +43,7 @@ class ControlUnitController extends Controller $mission->update([ 'state_id' => $state, 'state_name' => MissionStates::name($state), - 'start_time' => now(), + 'start_time' => $request->time, 'km' => $request->km, ]); }); @@ -56,7 +56,7 @@ class ControlUnitController extends Controller */ public function finish(FinishRequest $request, Mission $mission, GetErrorRateService $getErrorRateService): JsonResponse { - DB::transaction(function () use ($mission, $getErrorRateService) { + DB::transaction(function () use ($mission, $getErrorRateService, $request) { $mission->histories()->create([ 'user_id' => auth()->user()->id, 'previous_state_id' => $mission->state_id, @@ -68,8 +68,8 @@ class ControlUnitController extends Controller $mission->update([ 'state_id' => $state, 'state_name' => MissionStates::name($state), - 'finish_time' => now(), - 'mission_duration' => strtotime(now()) - strtotime($mission->start_time), + 'finish_time' => $request->time, + 'mission_duration' => strtotime($request->time) - strtotime($mission->start_time), ]); $getErrorRateService->setInputParameters($mission); diff --git a/app/Http/Controllers/V3/Dashboard/Mission/ViolationManagementController.php b/app/Http/Controllers/V3/Dashboard/Mission/ViolationManagementController.php index 400e8428..bb8b8365 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/ViolationManagementController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/ViolationManagementController.php @@ -96,6 +96,8 @@ class ViolationManagementController extends Controller } public function store(StoreRequest $request): JsonResponse { + $user = auth()->user(); + MissionViolation::query()->create([ 'machine_id'=> CMMSMachine::query()->where('machine_code', '=', $request->machine_code)->value('id'), 'machine_code'=> $request->machine_code, @@ -104,6 +106,10 @@ class ViolationManagementController extends Controller 'request_date' => now(), 'km' => $request->km, 'gps' => 0, + 'province_id' => $user->province_id, + 'province_name' => $user->province_fa, + 'city_id' => $user->city_id, + 'city_name' => $user->city_fa, ]); return $this->successResponse(); diff --git a/app/Http/Requests/V3/Mission/ControlUnit/FinishRequest.php b/app/Http/Requests/V3/Mission/ControlUnit/FinishRequest.php index c6b48b09..899b1bb0 100644 --- a/app/Http/Requests/V3/Mission/ControlUnit/FinishRequest.php +++ b/app/Http/Requests/V3/Mission/ControlUnit/FinishRequest.php @@ -24,7 +24,7 @@ class FinishRequest extends FormRequest public function rules(): array { return [ - // + 'time' => 'required|date', ]; } } diff --git a/app/Http/Requests/V3/Mission/ControlUnit/StartRequest.php b/app/Http/Requests/V3/Mission/ControlUnit/StartRequest.php index e5d24b77..63c98e04 100644 --- a/app/Http/Requests/V3/Mission/ControlUnit/StartRequest.php +++ b/app/Http/Requests/V3/Mission/ControlUnit/StartRequest.php @@ -27,6 +27,7 @@ class StartRequest extends FormRequest return [ 'code' => 'required|string', 'km' => 'required', + 'time' => 'required|date', ]; } diff --git a/database/migrations/2026_01_25_153836_add_column_to_mission_violations_table.php b/database/migrations/2026_01_25_153836_add_column_to_mission_violations_table.php new file mode 100644 index 00000000..4a39c901 --- /dev/null +++ b/database/migrations/2026_01_25_153836_add_column_to_mission_violations_table.php @@ -0,0 +1,31 @@ +unsignedTinyInteger('province_id')->nullable(); + $table->string('province_name')->nullable(); + $table->unsignedSmallInteger('city_id')->nullable(); + $table->string('city_name')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('mission_violations', function (Blueprint $table) { + $table->dropColumn(['province_id', 'province_name', 'city_id', 'city_name']); + }); + } +};