add area for rahdari points
This commit is contained in:
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\V3\Dashboard\Mission;
|
|||||||
use App\Enums\MissionStates;
|
use App\Enums\MissionStates;
|
||||||
use App\Events\V3\Dashboard\Mission\SendDataToFMSEvent;
|
use App\Events\V3\Dashboard\Mission\SendDataToFMSEvent;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Http\Controllers\V3\Dashboard\RoadPatrol\OperatorController;
|
||||||
use App\Http\Requests\V3\Mission\ControlUnit\FinishRequest;
|
use App\Http\Requests\V3\Mission\ControlUnit\FinishRequest;
|
||||||
use App\Http\Requests\V3\Mission\ControlUnit\StartRequest;
|
use App\Http\Requests\V3\Mission\ControlUnit\StartRequest;
|
||||||
use App\Http\Traits\ApiResponse;
|
use App\Http\Traits\ApiResponse;
|
||||||
@@ -60,6 +61,11 @@ class ControlUnitController extends Controller
|
|||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if ($mission->category_id == 2) {
|
||||||
|
$rpc = new OperatorController();
|
||||||
|
$rpc->store($mission);
|
||||||
|
}
|
||||||
|
|
||||||
SendDataToFMSEvent::dispatch($mission);
|
SendDataToFMSEvent::dispatch($mission);
|
||||||
|
|
||||||
return $this->successResponse();
|
return $this->successResponse();
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ class RequestPortalController extends Controller
|
|||||||
DB::transaction(function () use ($request) {
|
DB::transaction(function () use ($request) {
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
$state = MissionStates::REQUEST_CREATED->value;
|
$state = MissionStates::REQUEST_CREATED->value;
|
||||||
|
$category = $request->category_id;
|
||||||
|
|
||||||
$mission = Mission::query()->create([
|
$mission = Mission::query()->create([
|
||||||
'user_id' => $user->id,
|
'user_id' => $user->id,
|
||||||
@@ -55,20 +56,15 @@ class RequestPortalController extends Controller
|
|||||||
'description' => $request->description,
|
'description' => $request->description,
|
||||||
'end_point' => $request->end_point,
|
'end_point' => $request->end_point,
|
||||||
'area' => json_encode($request->area),
|
'area' => json_encode($request->area),
|
||||||
'category_id' => $request->category_id,
|
'category_id' => $category,
|
||||||
'category_name' => MissionCategory::name($request->category_id),
|
'category_name' => MissionCategory::name($category),
|
||||||
'explanation' => $request->explanation,
|
'explanation' => $request->explanation,
|
||||||
'code' => rand(100000, 999999),
|
'code' => rand(100000, 999999),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$mission->rahdaran()->sync($request->rahdaran);
|
$mission->rahdaran()->sync($request->rahdaran);
|
||||||
|
|
||||||
if ($request->category_id == 2) {
|
if ($category == 3){
|
||||||
$rpc = new OperatorController();
|
|
||||||
$rpc->store($mission);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($request->category_id == 3){
|
|
||||||
RoadObserved::query()
|
RoadObserved::query()
|
||||||
->find($request->road_observed_id)
|
->find($request->road_observed_id)
|
||||||
->missions()
|
->missions()
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ class RoadMaintenanceStationController extends Controller
|
|||||||
'lat' => $request->lat,
|
'lat' => $request->lat,
|
||||||
'lng' => $request->lng,
|
'lng' => $request->lng,
|
||||||
'updated_at_fa' => verta()->now()->format('Y/m/d H:i:s'),
|
'updated_at_fa' => verta()->now()->format('Y/m/d H:i:s'),
|
||||||
|
'area' => json_encode($request->area),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$uploadPaths = [
|
$uploadPaths = [
|
||||||
|
|||||||
@@ -48,8 +48,8 @@ class OperatorController extends Controller
|
|||||||
'province_fa' => $mission->province_name,
|
'province_fa' => $mission->province_name,
|
||||||
'edare_id' => $mission->edare_shahri_id,
|
'edare_id' => $mission->edare_shahri_id,
|
||||||
'edare_name' => $mission->edare_shahri_name,
|
'edare_name' => $mission->edare_shahri_name,
|
||||||
'start_time' => $mission->start_date,
|
'start_time' => $mission->start_time,
|
||||||
'end_time' => $mission->end_date,
|
'end_time' => $mission->finish_time,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$road_patrol->missions()->attach($mission->id);
|
$road_patrol->missions()->attach($mission->id);
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ use App\Http\Requests\V3\Rahdaran\StoreRequest;
|
|||||||
use App\Http\Requests\V3\Rahdaran\UpdateRequest;
|
use App\Http\Requests\V3\Rahdaran\UpdateRequest;
|
||||||
use App\Http\Traits\ApiResponse;
|
use App\Http\Traits\ApiResponse;
|
||||||
use App\Models\Rahdaran;
|
use App\Models\Rahdaran;
|
||||||
|
use Illuminate\Database\QueryException;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
@@ -52,8 +53,13 @@ class RahdaranController extends Controller
|
|||||||
|
|
||||||
public function destroy(Rahdaran $rahdaran): JsonResponse
|
public function destroy(Rahdaran $rahdaran): JsonResponse
|
||||||
{
|
{
|
||||||
$rahdaran->delete();
|
try {
|
||||||
return $this->successResponse();
|
$rahdaran->delete();
|
||||||
|
return $this->successResponse();
|
||||||
|
}
|
||||||
|
catch (QueryException $exception) {
|
||||||
|
return $this->errorResponse('امکان حذف وجود ندارد');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function list(): JsonResponse
|
public function list(): JsonResponse
|
||||||
|
|||||||
@@ -52,6 +52,9 @@ class StoreRequest extends FormRequest
|
|||||||
'overview_files_3' => 'file|mimes:jpg,jpeg,png,pdf|max:51200',
|
'overview_files_3' => 'file|mimes:jpg,jpeg,png,pdf|max:51200',
|
||||||
'overview_files_4' => 'file|mimes:jpg,jpeg,png,pdf|max:51200',
|
'overview_files_4' => 'file|mimes:jpg,jpeg,png,pdf|max:51200',
|
||||||
'overview_files_5' => 'file|mimes:jpg,jpeg,png,pdf|max:51200',
|
'overview_files_5' => 'file|mimes:jpg,jpeg,png,pdf|max:51200',
|
||||||
|
'area' => 'required|array',
|
||||||
|
'area.type' => 'required|string',
|
||||||
|
'area.coordinates' => 'required|array',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Casts\Attribute;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
use Illuminate\Database\Eloquent\Relations\MorphMany;
|
use Illuminate\Database\Eloquent\Relations\MorphMany;
|
||||||
@@ -80,4 +81,11 @@ class RahdariPoint extends Model
|
|||||||
{
|
{
|
||||||
return $this->hasMany('App\Models\RahdariPointHistory', 'point_id');
|
return $this->hasMany('App\Models\RahdariPointHistory', 'point_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function area(): Attribute
|
||||||
|
{
|
||||||
|
return Attribute::make(
|
||||||
|
get: fn($value) => json_decode($value)
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -14,7 +14,6 @@ return new class extends Migration
|
|||||||
Schema::table('accidents', function (Blueprint $table) {
|
Schema::table('accidents', function (Blueprint $table) {
|
||||||
$table->unsignedBigInteger('driver_share_amount')->nullable();
|
$table->unsignedBigInteger('driver_share_amount')->nullable();
|
||||||
$table->unsignedBigInteger('driver_rate')->nullable();
|
$table->unsignedBigInteger('driver_rate')->nullable();
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -24,7 +23,7 @@ return new class extends Migration
|
|||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
Schema::table('accidents', function (Blueprint $table) {
|
Schema::table('accidents', function (Blueprint $table) {
|
||||||
$table->dropColumn('driver_share_amount', 'driver_rate');
|
$table->dropColumn(['driver_share_amount', 'driver_rate']);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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('rahdari_points', function (Blueprint $table) {
|
||||||
|
$table->json('area')->nullable();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('rahdari_points', function (Blueprint $table) {
|
||||||
|
$table->dropColumn('area');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user