Merge branch 'feature/ManageTime' into 'develop'
fix time for hour's mission See merge request witelgroup/rms_v2!140
This commit is contained in:
@@ -4,17 +4,17 @@ namespace App\Enums;
|
|||||||
|
|
||||||
enum MissionCategory: int
|
enum MissionCategory: int
|
||||||
{
|
{
|
||||||
case ROAD_ITEM= 0;
|
case ROAD_ITEM= 1;
|
||||||
case ROAD_PATROL = 1;
|
case ROAD_PATROL = 2;
|
||||||
case ROAD_OBSERVATION = 2;
|
case ROAD_OBSERVATION = 3;
|
||||||
|
|
||||||
|
|
||||||
public static function name(int $state): string
|
public static function name(int $state): string
|
||||||
{
|
{
|
||||||
$mapArray = [
|
$mapArray = [
|
||||||
0 => "فعالیت روزانه",
|
1 => "فعالیت روزانه",
|
||||||
1 => "گشت راهداری",
|
2 => "گشت راهداری",
|
||||||
2 => "واکنش سریع",
|
3 => "واکنش سریع",
|
||||||
];
|
];
|
||||||
|
|
||||||
return $mapArray[$state];
|
return $mapArray[$state];
|
||||||
|
|||||||
@@ -58,6 +58,9 @@ class RequestPortalController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
$mission->rahdaran()->attach($request->rahdaran);
|
$mission->rahdaran()->attach($request->rahdaran);
|
||||||
|
if ($request->category_id == 3){
|
||||||
|
$mission->roadObserved()->attach($request->road_observed_id);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return $this->successResponse();
|
return $this->successResponse();
|
||||||
@@ -92,6 +95,9 @@ class RequestPortalController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
$mission->rahdaran()->sync($request->rahdaran);
|
$mission->rahdaran()->sync($request->rahdaran);
|
||||||
|
if ($request->category_id == 3){
|
||||||
|
$mission->roadObserved()->attach($request->road_observed_id);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return $this->successResponse();
|
return $this->successResponse();
|
||||||
|
|||||||
@@ -2,8 +2,10 @@
|
|||||||
|
|
||||||
namespace App\Http\Requests\V3\Mission\RequestPortal;
|
namespace App\Http\Requests\V3\Mission\RequestPortal;
|
||||||
|
|
||||||
|
use Carbon\Carbon;
|
||||||
use Illuminate\Contracts\Validation\ValidationRule;
|
use Illuminate\Contracts\Validation\ValidationRule;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Validation\Validator;
|
||||||
|
|
||||||
class StoreRequest extends FormRequest
|
class StoreRequest extends FormRequest
|
||||||
{
|
{
|
||||||
@@ -33,8 +35,32 @@ class StoreRequest extends FormRequest
|
|||||||
'description' => 'string',
|
'description' => 'string',
|
||||||
'end_point' => 'required|string',
|
'end_point' => 'required|string',
|
||||||
'area' => 'required|array',
|
'area' => 'required|array',
|
||||||
|
'area.type' => 'required|string',
|
||||||
|
'area.coordinates' => 'required|array',
|
||||||
'explanation' => 'required|string',
|
'explanation' => 'required|string',
|
||||||
'category_id' => 'required|in:1,2,3',
|
'category_id' => 'required|in:1,2,3',
|
||||||
|
'road_observed_id' => 'required_if:category_id,3|exists:road_observed,id',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function after(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
function (Validator $validator) {
|
||||||
|
if ($this->type === 1){
|
||||||
|
|
||||||
|
$start = Carbon::parse($this->start_date);
|
||||||
|
$end = Carbon::parse($this->end_date);
|
||||||
|
|
||||||
|
if ($start->diffInMinutes($end) > 480 ){
|
||||||
|
$validator->errors()->add(
|
||||||
|
'end_date',
|
||||||
|
'مدت مأموریت روزانه نباید بیشتر از ۸ ساعت باشد.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,8 +3,10 @@
|
|||||||
namespace App\Http\Requests\V3\Mission\RequestPortal;
|
namespace App\Http\Requests\V3\Mission\RequestPortal;
|
||||||
|
|
||||||
use App\Enums\MissionStates;
|
use App\Enums\MissionStates;
|
||||||
|
use Carbon\Carbon;
|
||||||
use Illuminate\Contracts\Validation\ValidationRule;
|
use Illuminate\Contracts\Validation\ValidationRule;
|
||||||
use Illuminate\Foundation\Http\FormRequest;
|
use Illuminate\Foundation\Http\FormRequest;
|
||||||
|
use Illuminate\Validation\Validator;
|
||||||
|
|
||||||
class UpdateRequest extends FormRequest
|
class UpdateRequest extends FormRequest
|
||||||
{
|
{
|
||||||
@@ -34,8 +36,33 @@ class UpdateRequest extends FormRequest
|
|||||||
'description' => 'string',
|
'description' => 'string',
|
||||||
'end_point' => 'required|string',
|
'end_point' => 'required|string',
|
||||||
'area' => 'required|array',
|
'area' => 'required|array',
|
||||||
|
'area.type' => 'required|string',
|
||||||
|
'area.coordinates' => 'required|array',
|
||||||
'explanation' => 'required|string',
|
'explanation' => 'required|string',
|
||||||
'category_id' => 'required|in:1,2,3',
|
'category_id' => 'required|in:1,2,3',
|
||||||
|
'road_observed_id' => 'required_if:category_id,3|exists:road_observed,id',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function after(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
function (Validator $validator) {
|
||||||
|
if ($this->type === 1){
|
||||||
|
|
||||||
|
$start = Carbon::parse($this->start_date);
|
||||||
|
$end = Carbon::parse($this->end_date);
|
||||||
|
|
||||||
|
if ($start->diffInMinutes($end) > 480 ){
|
||||||
|
$validator->errors()->add(
|
||||||
|
'end_date',
|
||||||
|
'مدت مأموریت روزانه نباید بیشتر از ۸ ساعت باشد.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,8 +67,9 @@ class Mission extends Model
|
|||||||
'rahdar_id',
|
'rahdar_id',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
public function road_patrol():HasMany
|
|
||||||
|
public function roadObserved(): MorphToMany
|
||||||
{
|
{
|
||||||
return $this->hasMany(RoadPatrol::class);
|
return $this->morphToMany(RoadObserved::class, 'missionable');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user