create excel for report

This commit is contained in:
faezeh
2026-06-27 17:07:13 +03:30
parent aa468b592b
commit da82c7841b
11 changed files with 635 additions and 130 deletions

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Mission\ControlUnit;
use App\Enums\MissionStates;
use App\Models\CMMSMachine;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Validator;
@@ -34,6 +35,7 @@ class FinishRequest extends FormRequest
{
return [
function (Validator $validator) {
$mission = $this->mission;
if (strtotime($this->time) < strtotime($mission->start_time)) {
$validator->errors()->add(
@@ -41,17 +43,35 @@ class FinishRequest extends FormRequest
'زمان پایان ماموریت باید بعد از زمان شروع ماموریت باشد.'
);
}
if ($this->end_km <= $mission->km) {
$validator->errors()->add(
'end_km',
'کیلومتر پایان باید بزرگتر از کیلومتر شروع باشد.'
);
}
if (($this->end_km - $mission->km ) < 100) {
$validator->errors()->add(
'end_km',
'اختلاف کلیلومتر شروع و پایان نباید بیشتر از 100 کیلومتر باشد'
);
$machine = CMMSMachine::find($mission->machine_id);
$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 باشد.'
);
}
}
}
];

View File

@@ -15,7 +15,7 @@ class AllocateRequest extends FormRequest
*/
public function authorize(): bool
{
return $this->mission->station_id == auth()->user()->station_id && $this->mission->state_id == MissionStates::REQUEST_CREATED->value
return ($this->mission->station_id == auth()->user()->station_id && $this->mission->state_id == MissionStates::REQUEST_CREATED->value)
|| auth()->user()->username === 'witel';
}