Merge branch 'feature/DesionEdare' into 'develop'

Feature/desion edare

See merge request witelgroup/rms_v2!151
This commit is contained in:
2025-08-05 12:00:01 +00:00
29 changed files with 633 additions and 61 deletions

View File

@@ -8,7 +8,7 @@ enum HarimAction: int
case YES = 2;
case NO = 3;
case CONFIRM = 4;
case REJECT = 5;
case REFER = 5;
public static function name(int $state): string
{
@@ -17,7 +17,7 @@ enum HarimAction: int
2 => "بله",
3 => "خیر",
4 => "تائید کردن",
5 => "رد درخواست",
5 => "ارجاع",
];
return $mapArray[$state];

View File

@@ -24,9 +24,9 @@ enum HarimStates: int
{
$mapArray = [
1 => "بررسی ادارات شهرستان",
2 => "بررسی راه توسط ادارات حریم",
3 => "بررسی راه توسط معاون ",
4 => "بررسی راه توسط مدیر کل",
2 => "بررسی توسط ادارات حریم",
3 => "بررسی توسط معاون ",
4 => "بررسی توسط مدیر کل",
5 => "بررسی فایل آپلود شده توسط اداره حریم",
6 => "بررسی فایل آپلود شده توسط معاون",
7 => "بررسی فایل آپلود شده توسط مدیر",

View File

@@ -6,7 +6,12 @@ use App\Enums\HarimAction;
use App\Enums\HarimStates;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\Dashboard\Harim\GeneralManager\ConfirmRequest;
use App\Http\Requests\V3\Dashboard\Harim\GeneralManager\ConfirmRoadAccessEditNeedRequest;
use App\Http\Requests\V3\Dashboard\Harim\GeneralManager\ConfirmRoadAccessNeedRequest;
use App\Http\Requests\V3\Dashboard\Harim\GeneralManager\ConfirmGuaranteeLetterNeedRequest;
use App\Http\Requests\V3\Dashboard\Harim\GeneralManager\ConfirmNoRoadAccessNeedRequest;
use App\Http\Requests\V3\Dashboard\Harim\GeneralManager\ReferFileRequest;
use App\Http\Requests\V3\Dashboard\Harim\GeneralManager\ReferRequest;
use App\Http\Requests\V3\Dashboard\Harim\GeneralManager\RejectRequest;
use App\Http\Requests\V3\Dashboard\Harim\GeneralManager\ShowRequest;
use App\Http\Traits\ApiResponse;
@@ -22,7 +27,7 @@ class GeneralManagerController extends Controller
{
$user = auth()->user();
$query = Harim::query()
->where('state_id','=',HarimStates::Baresi_Imeni_Rah_Tavasot_Modir_Kol->value)
->where('state_id', '=', HarimStates::BARESI_TAVASOT_MODIR_KOL->value)
->where('edareh_shahri_id', '=', $user->edarate_shahri_id);
$data = DataTableFacade::run(
@@ -33,7 +38,8 @@ class GeneralManagerController extends Controller
);
return response()->json($data);
}
public function conform(ConfirmRequest $request, Harim $harim): JsonResponse
public function rejectRequest(RejectRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::CONFIRM->value;
@@ -46,7 +52,8 @@ class GeneralManagerController extends Controller
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::ERSAL_BE_PANJAREVAHED->value;
$state = HarimStates::EMKAN_PAZIR_NEMEBASHAD->value;
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
@@ -55,10 +62,10 @@ class GeneralManagerController extends Controller
return $this->successResponse();
}
public function reject(RejectRequest $request, Harim $harim): JsonResponse
public function referRequest(ReferRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::REJECT->value;
$action = HarimAction::REFER->value;
$harim->histories()->create([
'expert_id'=> auth()->user()->id,
'previous-state_id' => $harim->state_id,
@@ -67,7 +74,120 @@ class GeneralManagerController extends Controller
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::Baresi_Imeni_Rah_Tavasot_Moaven->value;
$state = HarimStates::BARESI_TAVASOT_MOAVEN->value;
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
]);
});
return $this->successResponse();
}
public function referFile(ReferFileRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::REFER->value;
$harim->histories()->create([
'expert_id'=> auth()->user()->id,
'previous-state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'export_description' => $request->export_description,
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN->value;
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
]);
});
return $this->successResponse();
}
public function confirmRoadAccessNeed(ConfirmRoadAccessNeedRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::CONFIRM->value;
$harim->histories()->create([
'expert_id' => auth()->user()->id,
'previous_state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'expert_description' => $request->expert_description,
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::ERSAL_BE_PANJAREH_VAHED_NIAZ_BE_RAH_DASTRASI->value;
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
]);
});
return $this->successResponse();
}
public function confirmNoRoadAccessNeed(ConfirmNoRoadAccessNeedRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::CONFIRM->value;
$harim->histories()->create([
'expert_id' => auth()->user()->id,
'previous_state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'expert_description' => $request->expert_description,
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::ERSAL_BE_PANJAREH_VAHED_BEDONEH_NIAZ_BE_RAH_DASTRASI->value;
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
]);
});
return $this->successResponse();
}
public function confirmRoadAccessEditNeed(ConfirmRoadAccessEditNeedRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::CONFIRM->value;
$harim->histories()->create([
'expert_id' => auth()->user()->id,
'previous_state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'expert_description' => $request->expert_description,
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::UPDATE_FILE_BARGOZARE_SHODE->value;
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
]);
});
return $this->successResponse();
}
public function confirmGuaranteeLetterNeed(ConfirmGuaranteeLetterNeedRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::CONFIRM->value;
$harim->histories()->create([
'expert_id' => auth()->user()->id,
'previous_state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'expert_description' => $request->expert_description,
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::ERSAL_ZEMANAT_NAME_TAVASOTE_KARBAR->value;
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),

View File

@@ -6,9 +6,12 @@ use App\Enums\HarimAction;
use App\Enums\HarimStates;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\FileRejectedRequest;
use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\FileAcceptedRequest;
use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\RejectRequest;
use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\ShowRequest;
use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\YesRequest;
use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\NoRequest;
use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\NeedRoadAccessRequest;
use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\WithoutRoadAccessRequest;
use App\Http\Traits\ApiResponse;
use App\Models\Harim;
use Illuminate\Http\JsonResponse;
@@ -21,19 +24,50 @@ class HarimOfficeController extends Controller
public function index(Request $request): JsonResponse
{
$user = auth()->user();
$query = Harim::query()
->where('state_id','=',HarimStates::Baresi_Imeni_Rah_Tavasot_Daftar_Harim->value)
->where('edareh_shahri_id', '=', $user->edarate_shahri_id);
->whereIn('state_id', [
HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value,
HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_DAFTAR_HARIM->value,
])
->where('edareh_shahri_id', '=', auth()->user()->edarate_shahri_id);
$data = DataTableFacade::run(
$query,
$request,
allowedFilters: ['*'],
allowedSortings: ['*'],
);
return response()->json($data);
}
public function yes(YesRequest $request, Harim $harim ): JsonResponse
public function rejectRequest(RejectRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::NO->value;
$harim->histories()->create([
'expert_id' => auth()->user()->id,
'previous_state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'expert_description' => $request->expert_description,
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::BARESI_TAVASOT_MOAVEN->value;
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
'is_possible' => false,
]);
});
return $this->successResponse();
}
public function needRoadAccess(NeedRoadAccessRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request,$harim) {
$action = HarimAction::YES->value;
@@ -46,17 +80,67 @@ class HarimOfficeController extends Controller
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::Baresi_Imeni_Rah_Tavasot_Moaven->value;
$state = HarimStates::BARESI_TAVASOT_MOAVEN->value;
$harim ->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
'final_description' => 'yes'
'is_possible' => true,
'need_road_access' => true,
]);
});
return $this->successResponse();
}
public function no(NoRequest $request, Harim $harim ): JsonResponse
public function withoutRoadAccess(WithoutRoadAccessRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request,$harim) {
$action = HarimAction::YES->value;
$harim->histories()->create([
'expert_id' => auth()->user()->id,
'previous_state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'expert_description' => $request->expert_description,
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::BARESI_TAVASOT_MOAVEN->value;
$harim ->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
'is_possible' => true,
'need_road_access' => false,
]);
});
return $this->successResponse();
}
public function fileAccepted(FileAcceptedRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request,$harim) {
$action = HarimAction::YES->value;
$harim->histories()->create([
'expert_id' => auth()->user()->id,
'previous_state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'expert_description' => $request->expert_description,
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN->value;
$harim ->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
'is_file_good' => true,
]);
});
return $this->successResponse();
}
public function fileRejected(FileRejectedRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request,$harim) {
$action = HarimAction::NO->value;
@@ -69,12 +153,12 @@ class HarimOfficeController extends Controller
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::Baresi_Imeni_Rah_Tavasot_Moaven->value;
$state = HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN->value;
$harim ->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
'final_description' => 'no'
'is_file_good' => false,
]);
});
return $this->successResponse();

View File

@@ -21,7 +21,7 @@ class ProvinceOfficeController extends Controller
{
$user = auth()->user();
$query = Harim::query()
->where('state_id','=',HarimStates::Baresi_Edare_Shahrestan->value)
->where('state_id', '=', HarimStates::BARESI_EDARE_SHAHRESTAN->value)
->where('edareh_shahri_id', '=', $user->edarate_shahri_id);
$data = DataTableFacade::run(
@@ -47,7 +47,7 @@ class ProvinceOfficeController extends Controller
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::Baresi_Imeni_Rah_Tavasot_Daftar_Harim->value;
$state = HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value;
$harim ->update([
'state_id' => $state,

View File

@@ -7,12 +7,14 @@ use App\Enums\HarimStates;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\Dashboard\Harim\Deputy\ConfirmRequest;
use App\Http\Requests\V3\Dashboard\Harim\Deputy\ConfirmRoadAccessRequest;
use App\Http\Requests\V3\Dashboard\Harim\Deputy\ReferRequest;
use App\Http\Requests\V3\Dashboard\Harim\Deputy\ReferRoadAccessRequest;
use App\Http\Requests\V3\Dashboard\Harim\Deputy\ShowRequest;
use App\Http\Traits\ApiResponse;
use App\Models\Harim;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class TechnicalDeputyController extends Controller
@@ -20,11 +22,12 @@ class TechnicalDeputyController extends Controller
use ApiResponse;
public function index(Request $request): JsonResponse
{
$user = auth()->user();
$query = Harim::query()
->where('state_id', '=', HarimStates::Baresi_Imeni_Rah_Tavasot_Moaven->value)
->where('edare_shahri_id', '=', $user->edarate_shahri_id)
->with('histories:expert_description');
->whereIn('state_id', [
HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN->value,
HarimStates::BARESI_TAVASOT_MOAVEN->value,
])
->where('edare_shahri_id', '=', auth()->user()->edarate_shahri_id);
$data = DataTableFacade::run(
$query,
@@ -32,9 +35,10 @@ class TechnicalDeputyController extends Controller
allowedFilters: ['*'],
allowedSortings: ['*'],
);
return response()->json($data);
}
public function conform(ConfirmRequest $request, Harim $harim): JsonResponse
public function confirmRequest(ConfirmRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request,$harim) {
$action = HarimAction::CONFIRM->value;
@@ -47,20 +51,21 @@ class TechnicalDeputyController extends Controller
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::Baresi_Imeni_Rah_Tavasot_Modir_Kol->value;
$state = HarimStates::BARESI_TAVASOT_MODIR_KOL->value;
$harim ->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
]);
]);
});
return $this->successResponse();
}
public function reject(ConfirmRequest $request, Harim $harim): JsonResponse
public function referRequest(ReferRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request,$harim) {
$action = HarimAction::REJECT->value;
$action = HarimAction::REFER->value;
$harim->histories()->create([
'expert_id' => auth()->user()->id,
@@ -70,7 +75,54 @@ class TechnicalDeputyController extends Controller
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::Baresi_Imeni_Rah_Tavasot_Daftar_Harim->value;
$state = HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value;
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
]);
});
return $this->successResponse();
}
public function confirmRoadAccess(ConfirmRoadAccessRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::CONFIRM->value;
$harim->histories()->create([
'expert_id' => auth()->user()->id,
'previous_state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'expert_description' => $request->expert_description,
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MODIR_KOL->value;
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
]);
});
return $this->successResponse();
}
public function referRoadAccess(ReferRoadAccessRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::REFER->value;
$harim->histories()->create([
'expert_id' => auth()->user()->id,
'previous_state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'expert_description' => $request->expert_description,
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_DAFTAR_HARIM->value;
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),

View File

@@ -13,7 +13,7 @@ class ConfirmRequest extends FormRequest
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::Baresi_Imeni_Rah_Tavasot_Moaven->value;
$this->harim->state_id == HarimStates::BARESI_TAVASOT_MOAVEN->value;
}
/**

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Dashboard\Harim\Deputy;
use App\Enums\HarimStates;
use Illuminate\Foundation\Http\FormRequest;
class ConfirmRoadAccessRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN->value;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'expert_description' => 'required|string',
];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Dashboard\Harim\Deputy;
use App\Enums\HarimStates;
use Illuminate\Foundation\Http\FormRequest;
class ReferRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::BARESI_TAVASOT_MOAVEN->value;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'expert_description' => 'required|string',
];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Dashboard\Harim\Deputy;
use App\Enums\HarimStates;
use Illuminate\Foundation\Http\FormRequest;
class ReferRoadAccessRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN->value;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'expert_description' => 'required|string',
];
}
}

View File

@@ -13,7 +13,10 @@ class ShowRequest extends FormRequest
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::Baresi_Imeni_Rah_Tavasot_Moaven->value;
in_array($this->harim->state_id, [
HarimStates::BARESI_TAVASOT_MOAVEN->value,
HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN->value,
]);
}
/**

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Dashboard\Harim\GeneralManager;
use App\Enums\HarimStates;
use Illuminate\Foundation\Http\FormRequest;
class ConfirmGuaranteeLetterNeedRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::BARESI_TAVASOT_MODIR_KOL->value;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'expert_description' => 'required|string',
];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Dashboard\Harim\GeneralManager;
use App\Enums\HarimStates;
use Illuminate\Foundation\Http\FormRequest;
class ConfirmNoRoadAccessNeedRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::BARESI_TAVASOT_MODIR_KOL->value;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'expert_description' => 'required|string',
];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Dashboard\Harim\GeneralManager;
use App\Enums\HarimStates;
use Illuminate\Foundation\Http\FormRequest;
class ConfirmRoadAccessEditNeedRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MODIR_KOL->value;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'expert_description' => 'required|string',
];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Dashboard\Harim\GeneralManager;
use App\Enums\HarimStates;
use Illuminate\Foundation\Http\FormRequest;
class ConfirmRoadAccessNeedRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::BARESI_TAVASOT_MODIR_KOL->value;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'expert_description' => 'required|string',
];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Dashboard\Harim\GeneralManager;
use App\Enums\HarimStates;
use Illuminate\Foundation\Http\FormRequest;
class ReferFileRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MODIR_KOL->value;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'expert_description' => 'required|string',
];
}
}

View File

@@ -5,7 +5,7 @@ namespace App\Http\Requests\V3\Dashboard\Harim\GeneralManager;
use App\Enums\HarimStates;
use Illuminate\Foundation\Http\FormRequest;
class ConfirmRequest extends FormRequest
class ReferRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
@@ -13,7 +13,7 @@ class ConfirmRequest extends FormRequest
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::Baresi_Imeni_Rah_Tavasot_Modir_Kol->value;
$this->harim->state_id == HarimStates::BARESI_TAVASOT_MODIR_KOL->value;
}
/**

View File

@@ -13,7 +13,7 @@ class RejectRequest extends FormRequest
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::Baresi_Imeni_Rah_Tavasot_Modir_Kol->value;
$this->harim->state_id == HarimStates::BARESI_TAVASOT_MODIR_KOL->value;
}
/**

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Dashboard\Harim\HarimOffice;
use App\Enums\HarimStates;
use Illuminate\Foundation\Http\FormRequest;
class FileAcceptedRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_DAFTAR_HARIM->value;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'expert_description' => 'required|string',
];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Dashboard\Harim\HarimOffice;
use App\Enums\HarimStates;
use Illuminate\Foundation\Http\FormRequest;
class FileRejectedRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_DAFTAR_HARIM->value;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'expert_description' => 'required|string',
];
}
}

View File

@@ -5,7 +5,7 @@ namespace App\Http\Requests\V3\Dashboard\Harim\HarimOffice;
use App\Enums\HarimStates;
use Illuminate\Foundation\Http\FormRequest;
class NoRequest extends FormRequest
class NeedRoadAccessRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
@@ -13,7 +13,7 @@ class NoRequest extends FormRequest
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::Baresi_Imeni_Rah_Tavasot_Daftar_Harim->value;
$this->harim->state_id == HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value;
}
/**

View File

@@ -1,6 +1,6 @@
<?php
namespace App\Http\Requests\V3\Dashboard\Harim\Deputy;
namespace App\Http\Requests\V3\Dashboard\Harim\HarimOffice;
use App\Enums\HarimStates;
use Illuminate\Foundation\Http\FormRequest;
@@ -13,9 +13,10 @@ class RejectRequest extends FormRequest
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::Baresi_Imeni_Rah_Tavasot_Moaven->value;
$this->harim->state_id == HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value;
}
/**
* Get the validation rules that apply to the request.
*

View File

@@ -13,9 +13,13 @@ class ShowRequest extends FormRequest
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::Baresi_Imeni_Rah_Tavasot_Daftar_Harim->value;
in_array($this->harim->state_id, [
HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value,
HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_DAFTAR_HARIM,
]);
}
/**
* Get the validation rules that apply to the request.
*

View File

@@ -5,7 +5,7 @@ namespace App\Http\Requests\V3\Dashboard\Harim\HarimOffice;
use App\Enums\HarimStates;
use Illuminate\Foundation\Http\FormRequest;
class YesRequest extends FormRequest
class WithoutRoadAccessRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
@@ -13,7 +13,7 @@ class YesRequest extends FormRequest
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::Baresi_Imeni_Rah_Tavasot_Daftar_Harim->value;
$this->harim->state_id == HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value;
}
/**

View File

@@ -13,7 +13,7 @@ class FeedBackRequest extends FormRequest
public function authorize(): bool
{
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id &&
$this->harim->state_id == HarimStates::Baresi_Edare_Shahrestan->value;
$this->harim->state_id == HarimStates::BARESI_EDARE_SHAHRESTAN->value;
}
/**

View File

@@ -42,7 +42,6 @@ return new class extends Migration
$table->boolean('need_road_access')->nullable();
$table->boolean('is_file_good')->nullable();
$table->boolean('is_possible')->nullable();
$table->string('final_description')->nullable();
$table->timestamps();
});
}

View File

@@ -18,7 +18,7 @@ class HarimActionSeeder extends Seeder
['id' => 2, 'name' => 'yes', 'created_at' => now(), 'updated_at' => now(),],
['id' => 3, 'name' => 'no', 'created_at' => now(), 'updated_at' => now(),],
['id' => 4, 'name' => 'confirm', 'created_at' => now(), 'updated_at' => now(),],
['id' => 5, 'name' => 'reject', 'created_at' => now(), 'updated_at' => now(),],
['id' => 5, 'name' => 'refer', 'created_at' => now(), 'updated_at' => now(),],
]);
}
}

View File

@@ -15,9 +15,9 @@ class HarimStateSeeder extends Seeder
{
DB::table('harim_states')->insert([
['id' => 1, 'name' => 'بررسی ادارات شهرستان', 'created_at' => now(), 'updated_at' => now(),],
['id' => 2, 'name' => 'بررسی توسط ادارات حریم', 'created_at' => now(), 'updated_at' => now(),],
['id' => 3, 'name' => 'بررسی توسط معاون', 'created_at' => now(), 'updated_at' => now(),],
['id' => 4, 'name' => 'بررسی توسط مدیر کل', 'created_at' => now(), 'updated_at' => now(),],
['id' => 2, 'name' => 'بررسی توسط ادارات حریم', 'created_at' => now(), 'updated_at' => now(),],
['id' => 3, 'name' => 'بررسی توسط معاون', 'created_at' => now(), 'updated_at' => now(),],
['id' => 4, 'name' => 'بررسی توسط مدیر کل', 'created_at' => now(), 'updated_at' => now(),],
['id' => 5, 'name' => 'بررسی فایل آپلود شده توسط اداره حریم', 'created_at' => now(), 'updated_at' => now(),],
['id' => 6, 'name' => 'بررسی فایل آپلود شده توسط معاون', 'created_at' => now(), 'updated_at' => now(),],
['id' => 7, 'name' => 'بررسی فایل آپلود شده توسط مدیر', 'created_at' => now(), 'updated_at' => now(),],

View File

@@ -25,7 +25,6 @@ use App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy\OperatorController;
use App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy\OperatorReport\AccessRoadActivityController;
use App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy\OperatorReport\ConstructionActivityController;
use App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy\OperatorReport\UtilityPassingActivityController;
use App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy\OperatorReportController;
use App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy\SupervisorController;
use App\Http\Controllers\V3\FMSVehicleManagementController;
use App\Http\Controllers\V3\Harim\DivarkeshiController;
@@ -525,8 +524,11 @@ Route::prefix('harim')
->controller(HarimOfficeController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::post('/yes/{harim}', 'yes')->name('yes');
Route::post('/no/{harim}', 'no')->name('no');
Route::post('/reject_request/{harim}', 'rejectRequest')->name('rejectRequest');
Route::post('/need_road_access/{harim}', 'needRoadAccess')->name('needRoadAccess');
Route::post('/without_road_access/{harim}', 'withoutRoadAccess')->name('withoutRoadAccess');
Route::post('/file_accepted/{harim}', 'fileAccepted')->name('fileAccepted');
Route::post('/file_rejected/{harim}', 'fileRejected')->name('fileRejected');
Route::get('/{harim}', 'show')->name('show');
});
Route::prefix('technical_deputy')
@@ -534,8 +536,10 @@ Route::prefix('harim')
->controller(TechnicalDeputyController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::post('/conform/{harim}', 'conform')->name('conform');
Route::post('/reject/{harim}', 'reject')->name('reject');
Route::post('/confirm_request/{harim}', 'confirmRequest')->name('confirmRequest');
Route::post('/refer_request/{harim}', 'referRequest')->name('referRequest');
Route::post('/confirm_road_access/{harim}', 'confirmRoadAccess')->name('confirmRoadAccess');
Route::post('/refer_road_access/{harim}', 'referRoadAccess')->name('referRoadAccess');
Route::get('/{harim}', 'show')->name('show');
});
Route::prefix('general_manager')
@@ -543,8 +547,13 @@ Route::prefix('harim')
->controller(GeneralManagerController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::post('/conform/{harim}', 'conform')->name('conform');
Route::post('/reject/{harim}', 'reject')->name('reject');
Route::post('/reject_request/{harim}', 'rejectRequest')->name('rejectRequest');
Route::post('/refer_request/{harim}', 'referRequest')->name('referRequest');
Route::post('/refer_file/{harim}', 'referFile')->name('referFile');
Route::post('/confirm_road_access_need/{harim}', 'confirmRoadAccessNeed')->name('confirmRoadAccessNeed');
Route::post('/confirm_no_road_access_need/{harim}', 'confirmNoRoadAccessNeed')->name('confirmNoRoadAccessNeed');
Route::post('/confirm_road_access_edit_need/{harim}', 'confirmRoadAccessEditNeed')->name('confirmRoadAccessEditNeed');
Route::post('/confirm_guarantee_letter_need/{harim}', 'confirmGuaranteeLetterNeed')->name('confirmGuaranteeLetterNeed');
Route::get('/{harim}', 'show')->name('show');
});
});