create new stracture for Report in mission and fix form request #31

Merged
amirghasempoor merged 8 commits from feature/FormRequestMission into develop 2026-07-14 11:14:39 +00:00
4 changed files with 91 additions and 25 deletions
Showing only changes of commit 7a981ee421 - Show all commits

View File

@@ -197,18 +197,67 @@ class NotificationController extends Controller
'control' => 0,
];
if ($user->hasPermissionTo('manage-transportation-unit')) {
if ($user->hasPermissionTo('manage-transportation-unit-station')) {
$missions['transportation'] = Mission::query()->where([
['state_id', '=', MissionStates::REQUEST_CREATED->value],
['edare_shahri_id', '=', $user->edarate_shahri_id],
['station_id', '=', $user->station_id],
])->count();
}
if ($user->hasPermissionTo('manage-control-unit')) {
$missions['control'] = Mission::query()->where([
['state_id', '=', MissionStates::PENDING_CONFIRMATION->value],
['edare_shahri_id', '=', $user->edarate_shahri_id],
if ($user->hasPermissionTo('manage-transportation-unit-country')) {
$missions['transportation'] = Mission::query()->where([
['state_id', '=', MissionStates::REQUEST_CREATED->value],
])->count();
}
if ($user->hasPermissionTo('manage-transportation-unit-province')) {
$missions['transportation'] = Mission::query()->where([
['state_id', '=', MissionStates::REQUEST_CREATED->value],
['province_id', '=', $user->province_id],
])->count();
}
if ($user->hasPermissionTo('manage-transportation-unit-city')) {
$missions['transportation'] = Mission::query()->where([
['state_id', '=', MissionStates::REQUEST_CREATED->value],
['city_id', '=', $user->city_id],
])->count();
}
if ($user->hasPermissionTo('manage-control-unit-station')) {
$missions['control'] = Mission::query()
->whereIn('state_id', [
MissionStates::PENDING_CONFIRMATION->value,
MissionStates::START_MISSION->value,
])
->where('station_id', $user->station_id)
->count();
}
if ($user->hasPermissionTo('manage-control-unit-country')) {
$missions['control'] = Mission::query()
->whereIn('state_id', [
MissionStates::PENDING_CONFIRMATION->value,
MissionStates::START_MISSION->value,
])->count();
}
if ($user->hasPermissionTo('manage-control-unit-province')) {
$missions['control'] = Mission::query()
->whereIn('state_id', [
MissionStates::PENDING_CONFIRMATION->value,
MissionStates::START_MISSION->value,
])
->where('province_id', '=', $user->province_id)
->count();
}
if ($user->hasPermissionTo('manage-control-unit-city')) {
$missions['control'] = Mission::query()
->whereIn('state_id', [
MissionStates::PENDING_CONFIRMATION->value,
MissionStates::START_MISSION->value,
])
->where('city_id', '=', $user->city_id
)->count();
}
$missions['total'] = $missions['request_portal'] + $missions['transportation'] + $missions['control'];

View File

@@ -15,7 +15,7 @@ class FinishRequest extends FormRequest
*/
public function authorize(): bool
{
return $this->mission->state_id == MissionStates::START_MISSION->value;
return $this->mission->state_id === MissionStates::START_MISSION->value;
}
/**
@@ -55,23 +55,12 @@ class FinishRequest extends FormRequest
$distance = $this->end_km - $mission->km;
if ($machine->car_group === 'سنگین') {
if ($distance > 15) {
$validator->errors()->add(
'end_km',
'اختلاف کیلومتر برای خودروهای سنگین باید کمتر از 15 باشد.'
);
}
} else {
if ($distance > 1000) {
$validator->errors()->add(
'end_km',
'اختلاف کیلومتر برای خودروهای سبک و نیمه سنگین باید کمتر از 1000 باشد.'
);
}
if ($distance > $machine->distance_mission)
{
$validator->errors()->add(
'end_km',
'کیلومتر /ساعت کار از حد نصاب بیشتر هست.'
);
}
}
];

View File

@@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('cmms_machines', function (Blueprint $table) {
$table->integer('distance_mission')->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('cmms_machines', function (Blueprint $table) {
$table->dropColumn('distance_mission');
});
}
};

View File

@@ -576,7 +576,7 @@ Route::prefix('missions')
Route::get('/machine_details_report/{machine_id}', 'machineDetailsReport')->name('machineDetailsReport');
Route::get('/machine_details_report_excel/{machine_id}', 'machineDetailsReportExcel')->name('machineDetailsReportExcel');
Route::get('/machine_type_details_report/{car_type}', 'machineTypeDetailsReport')->name('machineTypeDetailsReport');
Route::get('/machine_type_details_report_excel/{car_type}', 'Excel')->name('machineTypeDetailsReportExcel');
Route::get('/machine_type_details_report_excel/{car_type}', 'machineTypeDetailsReportExcel')->name('machineTypeDetailsReportExcel');
Route::get('/machine_driver_details_report/{driver_id}', 'machineDriverDetailsReport')->name('machineDriverDetailsReport');
Route::get('/machine_driver_details_report_excel/{driver_id}', 'machineDriverDetailsReportExcel')->name('machineDriverDetailsReportExcel');
});