@@ -2,24 +2,24 @@
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
enum FMSResultCode: int
|
||||
enum FMSResultCode: string
|
||||
{
|
||||
case SUCCESSFUL = 0;
|
||||
case INVALID_CREDENTIAL = 1;
|
||||
case NO_GPS_DEVICE_CONNECTED = 2;
|
||||
case UNAUTHORIZE = 3;
|
||||
case RATE_LIMIT = 4;
|
||||
case INVALID_PARAMETERS = 5;
|
||||
case SUCCESSFUL = "0";
|
||||
case INVALID_CREDENTIAL = "-1";
|
||||
case NO_GPS_DEVICE_CONNECTED = "-2";
|
||||
case UNAUTHORIZE = "-3";
|
||||
case RATE_LIMIT = "-4";
|
||||
case INVALID_PARAMETERS = "-5";
|
||||
|
||||
public static function name(int $state): string
|
||||
public static function name(string $state): string
|
||||
{
|
||||
$mapArray = [
|
||||
0 => "اﺟﺮاي ﺗﺎﺑﻊ ﻣﻮﻓﻘﯿﺖ آﻣﯿﺰ ﺑﻮد.",
|
||||
1 => "نام ﮐﺎرﺑﺮي ﯾﺎ ﮐﻠﻤﻪ ﻋﺒﻮر ﺻﺤﯿﺢ ﻧﯿﺴﺖ.",
|
||||
2 => "خودرو با کد مورد نظر وجود ندارد یا دستگاه ردیاب به آن متصل نیست.",
|
||||
3 => "کاربر به خودرو مورد نظر دسترسی ندارد.",
|
||||
4 => "ﺗﻌﺪاد دﻓﻌﺎت ﺟﺮاي ﺗﺎﺑﻊ ﺑﯿﺶ از ﺣﺪ ﻣﺠﺎز اﺳﺖ(اﯾﻦ ﺳﺮوﯾﺲ را در ﻫﺮ ثاﻧﯿﻪ ﻓﻘﻂ ﯾﮏ ﺑﺎر ﻣﯽﺗﻮان اﺟﺮاﮐﺮد)",
|
||||
5 => "پارامتر های داده شده صحیح نیستند",
|
||||
"0" => "اﺟﺮاي ﺗﺎﺑﻊ ﻣﻮﻓﻘﯿﺖ آﻣﯿﺰ ﺑﻮد.",
|
||||
"-1" => "نام ﮐﺎرﺑﺮي ﯾﺎ ﮐﻠﻤﻪ ﻋﺒﻮر ﺻﺤﯿﺢ ﻧﯿﺴﺖ.",
|
||||
"-2" => "خودرو با کد مورد نظر وجود ندارد یا دستگاه ردیاب به آن متصل نیست.",
|
||||
"-3" => "کاربر به خودرو مورد نظر دسترسی ندارد.",
|
||||
"-4" => "ﺗﻌﺪاد دﻓﻌﺎت ﺟﺮاي ﺗﺎﺑﻊ ﺑﯿﺶ از ﺣﺪ ﻣﺠﺎز اﺳﺖ(اﯾﻦ ﺳﺮوﯾﺲ را در ﻫﺮ ثاﻧﯿﻪ ﻓﻘﻂ ﯾﮏ ﺑﺎر ﻣﯽﺗﻮان اﺟﺮاﮐﺮد)",
|
||||
"-5" => "پارامتر های داده شده صحیح نیستند",
|
||||
];
|
||||
|
||||
return $mapArray[$state];
|
||||
|
||||
@@ -86,10 +86,14 @@ class RequestPortalController extends Controller
|
||||
{
|
||||
DB::transaction(function () use ($request, $mission) {
|
||||
$user = auth()->user();
|
||||
|
||||
$mission->update([
|
||||
'finish_time' => now(),
|
||||
'state_id' => MissionStates::END_MISSION->value,
|
||||
'state_name' => MissionStates::name(MissionStates::END_MISSION->value),
|
||||
]);
|
||||
|
||||
$mission->update(['finish_time' => now()]);
|
||||
|
||||
$state = MissionStates::REQUEST_CREATED->value;
|
||||
$state = MissionStates::START_MISSION->value;
|
||||
$category = $request->category_id;
|
||||
|
||||
$newMission = Mission::query()->create([
|
||||
|
||||
@@ -39,6 +39,7 @@ class TransportationUnitController extends Controller
|
||||
$mission->update([
|
||||
'state_id' => $state,
|
||||
'state_name' => MissionStates::name($state),
|
||||
'km' => $request->km
|
||||
]);
|
||||
});
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\V3\Rahdaran\StoreRequest;
|
||||
use App\Http\Requests\V3\Rahdaran\UpdateRequest;
|
||||
use App\Http\Traits\ApiResponse;
|
||||
use App\Models\Province;
|
||||
use App\Models\Rahdaran;
|
||||
use Illuminate\Database\QueryException;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
@@ -28,11 +29,17 @@ class RahdaranController extends Controller
|
||||
|
||||
public function store(StoreRequest $request): JsonResponse
|
||||
{
|
||||
$province = Province::query()->find($request->input('province_id'));
|
||||
|
||||
Rahdaran::query()->create([
|
||||
'name' =>$request->name,
|
||||
'code' =>$request->code,
|
||||
'mobile' =>$request->mobile,
|
||||
'name' => $request->name,
|
||||
'code' => $request->code,
|
||||
'mobile' => $request->mobile,
|
||||
'province_id' => $province->id,
|
||||
'province_name' => $province->name_fa,
|
||||
'edareh_shahri_id' => $request->edareh_shahri_id,
|
||||
]);
|
||||
|
||||
return $this->successResponse();
|
||||
}
|
||||
|
||||
@@ -43,11 +50,17 @@ class RahdaranController extends Controller
|
||||
|
||||
public function update(UpdateRequest $request, Rahdaran $rahdaran): JsonResponse
|
||||
{
|
||||
$province = Province::query()->find($request->input('province_id'));
|
||||
|
||||
$rahdaran->update([
|
||||
'name' =>$request->name,
|
||||
'code' =>$request->code,
|
||||
'mobile' =>$request->mobile,
|
||||
'province_id' => $province->id,
|
||||
'province_name' => $province->name_fa,
|
||||
'edareh_shahri_id' => $request->edareh_shahri_id,
|
||||
]);
|
||||
|
||||
return $this->successResponse();
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,8 @@ class StoreRequest extends FormRequest
|
||||
'name' => 'required|string|max:255',
|
||||
'code' => 'required|string|max:255|unique:rahdaran,code',
|
||||
'mobile' => 'required|digits:11|regex:/^09\d{9}$/',
|
||||
'province_id' => 'required|exists:provinces,id',
|
||||
'edareh_shahri_id' => 'required|exists:edarate_shahri,id',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,8 @@ class UpdateRequest extends FormRequest
|
||||
'name' => 'required|string|max:255',
|
||||
'code' => ['required', 'string', Rule::unique('rahdaran', 'code')->ignore($this->rahdaran->id)],
|
||||
'mobile' => 'required|digits:11|regex:/^09\d{9}$/',
|
||||
'province_id' => 'required|exists:provinces,id',
|
||||
'edareh_shahri_id' => 'required|exists:edarate_shahri,id',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ class SendDataToFMSListener implements ShouldQueue
|
||||
$mission = $event->mission;
|
||||
|
||||
$this->getErrorRateService->setInputParameters([
|
||||
'url' => config('fms_web_services.Error_Rate.url'),
|
||||
'username' => config('fms_web_services.Error_Rate.username'),
|
||||
'password' => config('fms_web_services.Error_Rate.password'),
|
||||
'missionArea' => $mission->area['coordinates'],
|
||||
'missionStartDT' => $mission->start_time->format('Y-m-d\TH:i:s'),
|
||||
|
||||
@@ -134,7 +134,7 @@ class Accident extends Model
|
||||
);
|
||||
}
|
||||
|
||||
protected function depositIdaghiImage(): Attribute
|
||||
protected function depositDaghiImage(): Attribute
|
||||
{
|
||||
return Attribute::make(
|
||||
get: fn($value) => $value == null ? null : Storage::disk('public')->url($value)
|
||||
|
||||
@@ -73,6 +73,12 @@ class RouteServiceProvider extends ServiceProvider
|
||||
->middleware(['web', 'auth', 'confirmUser'])
|
||||
->namespace($this->namespace)
|
||||
->group(base_path('routes/v3.php'));
|
||||
|
||||
Route::prefix('webservice')
|
||||
->name('webservice.')
|
||||
->namespace($this->namespace)
|
||||
->group(base_path('routes/webservices.php'));
|
||||
|
||||
Route::prefix('api')
|
||||
->middleware('api')
|
||||
->namespace($this->namespace)
|
||||
|
||||
@@ -10,13 +10,11 @@ class GetErrorRateService
|
||||
{
|
||||
protected string $url;
|
||||
protected string $channelName;
|
||||
protected string $password;
|
||||
protected string $username;
|
||||
protected array $inputParameters;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->username = config('fms_web_services.Error_Rate.username');
|
||||
$this->url = config('fms_web_services.Error_Rate.url');
|
||||
$this->channelName = 'fms_error_rate';
|
||||
}
|
||||
|
||||
@@ -48,9 +46,10 @@ class GetErrorRateService
|
||||
public function sendRequest(): array
|
||||
{
|
||||
return Http::withHeaders(['Content-Type' => 'application/json'])
|
||||
->withBody(json_encode($this->inputParameters))
|
||||
->throw()
|
||||
->withoutVerifying()
|
||||
->post($this->url, $this->inputParameters)
|
||||
->post($this->url)
|
||||
->json();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
<?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('rahdaran', function (Blueprint $table) {
|
||||
$table->unsignedTinyInteger('province_id');
|
||||
$table->foreign('province_id')->references('id')->on('provinces');
|
||||
$table->string('province_name');
|
||||
$table->unsignedBigInteger('edareh_shahri_id');
|
||||
$table->foreign('edareh_shahri_id')->references('id')->on('edarate_shahri');
|
||||
$table->boolean('is_driver')->default(false);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('rahdaran', function (Blueprint $table) {
|
||||
$table->dropForeign('province_id');
|
||||
$table->dropForeign('edareh_shahri_id');
|
||||
$table->dropColumn(['province_id', 'province_name']);
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -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('missions', function (Blueprint $table) {
|
||||
$table->string('km')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('missions', function (Blueprint $table) {
|
||||
$table->dropColumn('km');
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -10,7 +10,6 @@ use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshSampleController;
|
||||
use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshTypeController;
|
||||
use App\Http\Controllers\V3\Dashboard\Harim\GeneralManagerController;
|
||||
use App\Http\Controllers\V3\Dashboard\Harim\HarimOfficeController;
|
||||
use App\Http\Controllers\V3\Dashboard\Harim\PanjareVahedController;
|
||||
use App\Http\Controllers\V3\Dashboard\Harim\ProvinceOfficeController;
|
||||
use App\Http\Controllers\V3\Dashboard\Harim\TechnicalDeputyController;
|
||||
use App\Http\Controllers\V3\Dashboard\ItemsManagementController;
|
||||
@@ -488,7 +487,7 @@ Route::prefix('missions')
|
||||
Route::get('/', 'index')->name('index');
|
||||
Route::post('/', 'store')->name('store');
|
||||
Route::post('/no_process','noProcess')->name('noProcess');
|
||||
Route::post('/continue','continueMission')->name('continueMission');
|
||||
Route::post('/continue/{mission}','continueMission')->name('continueMission');
|
||||
Route::get('/{mission}', 'show')->name('show');
|
||||
Route::post('/{mission}', 'update')->name('update');
|
||||
Route::delete('/{mission}', 'destroy')->name('destroy');
|
||||
@@ -568,15 +567,6 @@ Route::prefix('harim')
|
||||
Route::post('/confirm_guarantee_letter_need/{harim}', 'confirmGuaranteeLetterNeed')->name('confirmGuaranteeLetterNeed');
|
||||
Route::get('/{harim}', 'show')->name('show');
|
||||
});
|
||||
Route::prefix('panjare_vahed')
|
||||
->name('panjarevahed.')
|
||||
->controller(PanjarevahedController::class)
|
||||
->group(function () {
|
||||
Route::post('/receive_new_request', 'receiveNewRequest')->name('receiveNewRequest');
|
||||
Route::post('/receive_access_road','getAccessRoad')->name('getAccessRoad');
|
||||
Route::post('/get_status_request','getRejectRequest')->name('getRejectRequest');
|
||||
Route::post('/get_final_polygons','getFinalPolygons')->name('getFinalPolygons');
|
||||
});
|
||||
});
|
||||
|
||||
Route::prefix('user_management')
|
||||
|
||||
18
routes/webservices.php
Normal file
18
routes/webservices.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Http\Controllers\V3\Dashboard\Harim\PanjareVahedController;
|
||||
|
||||
Route::prefix('harim')
|
||||
->name('harim.')
|
||||
->group(function () {
|
||||
Route::prefix('panjare_vahed')
|
||||
->name('panjarevahed.')
|
||||
->controller(PanjarevahedController::class)
|
||||
->group(function () {
|
||||
Route::post('/receive_new_request', 'receiveNewRequest')->name('receiveNewRequest');
|
||||
Route::post('/receive_access_road','getAccessRoad')->name('getAccessRoad');
|
||||
Route::post('/get_status_request','getRejectRequest')->name('getRejectRequest');
|
||||
Route::post('/get_final_polygons','getFinalPolygons')->name('getFinalPolygons');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user