improve code in controller and form request for V3 whit pint package

This commit is contained in:
2025-10-27 13:20:14 +03:30
parent 71f5001477
commit b155db758a
118 changed files with 604 additions and 559 deletions

View File

@@ -17,7 +17,7 @@ use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
class CountryCartableReport implements FromView, ShouldAutoSize, WithEvents, WithDrawings
{
public function __construct(private Collection $data){}
public function __construct(private array $data){}
public function view(): View
{

View File

@@ -17,7 +17,7 @@ use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
class ProvinceCartableReport implements FromView, ShouldAutoSize, WithEvents, WithDrawings
{
public function __construct(private Collection $data){}
public function __construct(private array $data){}
public function view(): View
{

View File

@@ -10,12 +10,13 @@ use Illuminate\Http\Request;
class LogoutController extends Controller
{
use AuthenticatesUsers;
/**
* Handle the incoming request.
*/
public function __invoke(Request $request): JsonResponse
{
if($request->session()->exists('last_login')){
if ($request->session()->exists('last_login')) {
$user = auth()->user();
$user->last_login = $request->session()->get('last_login');
$user->save();
@@ -29,7 +30,7 @@ class LogoutController extends Controller
$request->session()->regenerateToken();
return response()->json([
'message' => 'logged out'
'message' => 'logged out',
]);
}
}

View File

@@ -3,7 +3,6 @@
namespace App\Http\Controllers\V3;
use App\Exports\V3\Damage\DamageCartableReport;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\Damage\StoreRequest;
use App\Http\Requests\V3\Damage\UpdateRequest;
@@ -19,22 +18,24 @@ use Symfony\Component\HttpFoundation\BinaryFileResponse;
class DamageManagementController extends Controller
{
use ApiResponse;
/**
* Display a listing of the resource.
*/
public function index(Request $request ,DamageService $damageService): JsonResponse
public function index(Request $request, DamageService $damageService): JsonResponse
{
$data = $damageService->dataTable($request);
return response()->json($data);
}
public function list(): JsonResponse
{
$damages = Damage::query()->where('status', '=', 1)->get();
return $this->successResponse($damages);
}
/**
* Store a newly created resource in storage.
*/
@@ -45,7 +46,7 @@ class DamageManagementController extends Controller
'unit' => $request->unit,
'base_price' => $request->base_price,
'status' => 1,
'update_time' => now()
'update_time' => now(),
]);
return $this->successResponse();
@@ -55,7 +56,6 @@ class DamageManagementController extends Controller
* Display the specified resource.
*/
public function show(Damage $damage): JsonResponse
{
return $this->successResponse($damage);
}
@@ -63,14 +63,13 @@ class DamageManagementController extends Controller
/**
* Show the form for editing the specified resource.
*/
public function update(UpdateRequest $request, Damage $damage): JsonResponse
{
$damage->update([
'title' => $request->title,
'unit' => $request->unit,
'base_price' => $request->base_price,
'update_time' => now()
'update_time' => now(),
]);
return $this->successResponse();
@@ -92,8 +91,9 @@ class DamageManagementController extends Controller
*/
public function excel(Request $request, DamageService $damageService): BinaryFileResponse
{
$name = 'آیتم خسارات وارده بر ابنیه فنی' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'آیتم خسارات وارده بر ابنیه فنی'.verta()->now()->format('Y-m-d H-i').'.xlsx';
$data = $damageService->datatable($request);
return Excel::download(new DamageCartableReport($data['data']), $name);
}
}

View File

@@ -46,8 +46,9 @@ class AccidentReceiptController extends Controller
public function excelReport(Request $request, AccidentReceiptTableService $accidentReceiptTableService): BinaryFileResponse
{
auth()->user()->addActivityComplete(1126);
$name = 'گزارش از خسارات وارده به ابنیه فنی و تاسیسات راه ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش از خسارات وارده به ابنیه فنی و تاسیسات راه '.verta()->now()->format('Y-m-d H-i').'.xlsx';
$data = $accidentReceiptTableService->dataTable($request, true);
return Excel::download(new DataTableReport($data['data']), $name);
}
@@ -64,7 +65,7 @@ class AccidentReceiptController extends Controller
$city = City::query()->where('id', '=', $request->city_id)->first();
$accidentData = [
'is_foreign' => $request->is_foreign,
'is_foreign' => $request->is_foreign,
'province_id' => $province->id,
'province_fa' => $province->name_fa,
'city_id' => $city->id,
@@ -103,12 +104,12 @@ class AccidentReceiptController extends Controller
$sum += $item['amount'];
}
$ojrate_nasb = $sum/100*20;
$ojrate_nasb = $sum / 100 * 20;
$sum += $ojrate_nasb;
$accidentData['ojrate_nasb'] = $ojrate_nasb;
$accidentData['sum'] = $sum;
$accidentData['driver_share_amount'] = ($sum * $request->driver_rate)/100;
$accidentData['driver_share_amount'] = ($sum * $request->driver_rate) / 100;
$accident = Accident::query()->create($accidentData);
$accident->damage_picture1 = FileFacade::save($request->file('damage_picture1'), "receipts_files/{$accident->id}");
@@ -137,7 +138,7 @@ class AccidentReceiptController extends Controller
$city = City::query()->where('id', '=', $request->city_id)->first();
$accidentData = [
'is_foreign' => $request->is_foreign,
'is_foreign' => $request->is_foreign,
'province_id' => $province->id,
'province_fa' => $province->name_fa,
'city_id' => $city->id,
@@ -166,7 +167,9 @@ class AccidentReceiptController extends Controller
}
if ($request->has('police_file')) {
if ($accident->police_file) {FileFacade::delete($accident->police_file, true);}
if ($accident->police_file) {
FileFacade::delete($accident->police_file, true);
}
$accidentData['police_file'] = FileFacade::save($request->file('police_file'), "receipts_files/{$accident->id}/");
}
@@ -193,12 +196,12 @@ class AccidentReceiptController extends Controller
$sum += $item['amount'];
}
$ojrate_nasb = $sum/100*20;
$ojrate_nasb = $sum / 100 * 20;
$sum += $ojrate_nasb;
$accidentData['ojrate_nasb'] = $ojrate_nasb;
$accidentData['sum'] = $sum;
$accidentData['driver_share_amount'] = ($sum * $request->driver_rate)/100;
$accidentData['driver_share_amount'] = ($sum * $request->driver_rate) / 100;
$accident->update($accidentData);
@@ -246,7 +249,7 @@ class AccidentReceiptController extends Controller
return $this->successResponse([
$account_data,
$accident->load('damages')
$accident->load('damages'),
]);
}
@@ -254,7 +257,7 @@ class AccidentReceiptController extends Controller
{
DB::transaction(function () use ($request, $accident) {
$final_amount = $accident->driver_share_amount - ($request->deposit_insurance_amount + $request->deposit_daghi_amount);
$final_amount = $accident->driver_share_amount - ($request->deposit_insurance_amount + $request->deposit_daghi_amount);
throw_if($final_amount < 0, new ProhibitedAction('مبالغ داغی و بیمه از مبلغ کل بیشتر می باشد.'));
@@ -282,13 +285,13 @@ class AccidentReceiptController extends Controller
public function submitInvoice(Accident $accident, PaymentService $paymentService, SubmitInvoiceRequest $request): JsonResponse
{
$lock = Cache::lock("accidentPayment-{$accident->id}", 10);
throw_if(!$lock->get(), new ProhibitedAction('امکان درخواست مجدد تا 10 ثانیه دیگر وجود ندارد'));
throw_if(! $lock->get(), new ProhibitedAction('امکان درخواست مجدد تا 10 ثانیه دیگر وجود ندارد'));
$final_amount = $accident->final_amount;
$bill_code = $paymentService->invoiceBillApi($accident->driver_national_code, $final_amount);
DB::transaction(function () use ($bill_code, $final_amount, $accident) {
DB::transaction(function () use ($bill_code, $accident) {
$accident->update([
'bill_code' => $bill_code,
@@ -312,9 +315,9 @@ class AccidentReceiptController extends Controller
{
DB::transaction(function () use ($accident, $paymentService) {
$response = json_decode($paymentService->callPaymentStatusBillApi(explode("/", $accident->bill_code)[0]));
$response = json_decode($paymentService->callPaymentStatusBillApi(explode('/', $accident->bill_code)[0]));
throw_if(!$response->isPayed, new ProhibitedAction('پرداخت انجام نشده است'));
throw_if(! $response->isPayed, new ProhibitedAction('پرداخت انجام نشده است'));
$accident->update([
'status' => AccidentStates::PARDAKHT_FACTOR->value,
@@ -327,9 +330,9 @@ class AccidentReceiptController extends Controller
return $this->successResponse($accident);
}
public function generatePoliceDocument(Request $request, Accident $accident): JsonResponse
public function generatePoliceDocument(Accident $accident): JsonResponse
{
DB::transaction(function () use ($request, $accident) {
DB::transaction(function () use ($accident) {
$accident->update([
'status' => AccidentStates::SODOR_NAME_POLICE_RAH->value,

View File

@@ -22,6 +22,7 @@ class AccidentReceiptReportController extends Controller
public function countryReport(Request $request, AccidentReceiptTableService $accidentReceiptTableService): JsonResponse
{
$data = $accidentReceiptTableService->countryReport($request);
return $this->successResponse([
'activities' => $data['data'],
'provinces' => Province::all(['id', 'name_fa']),
@@ -31,6 +32,7 @@ class AccidentReceiptReportController extends Controller
public function provinceReport(Request $request, AccidentReceiptTableService $accidentReceiptTableService): JsonResponse
{
$data = $accidentReceiptTableService->provinceReport($request);
return $this->successResponse([
'activities' => $data['data'],
'cities' => City::query()->where('province_id', '=', $request->province_id)
@@ -46,7 +48,8 @@ class AccidentReceiptReportController extends Controller
public function countryExcelReport(Request $request, AccidentReceiptTableService $accidentReceiptTableService): BinaryFileResponse
{
$data = $accidentReceiptTableService->countryReport($request);
$name = 'گزارش از خسارات وارده به ابنیه فنی و تاسیسات راه ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش از خسارات وارده به ابنیه فنی و تاسیسات راه '.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new CountryReport($data), $name);
}
@@ -57,7 +60,8 @@ class AccidentReceiptReportController extends Controller
public function provinceExcelReport(Request $request, AccidentReceiptTableService $accidentReceiptTableService): BinaryFileResponse
{
$data = $accidentReceiptTableService->provinceReport($request);
$name = 'گزارش از خسارات وارده به ابنیه فنی و تاسیسات راه ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش از خسارات وارده به ابنیه فنی و تاسیسات راه '.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new ProvinceReport([
'report' => $data,
'cities' => City::query()->where('province_id', '=', $request->province_id)

View File

@@ -17,12 +17,13 @@ use Illuminate\Http\Request;
class AzmayeshController extends Controller
{
use ApiResponse;
/**
* Display a listing of the resource.
*/
public function index(Request $request): JsonResponse
{
$columns = array(
$columns = [
'id',
'request_date',
'report_date',
@@ -37,8 +38,8 @@ class AzmayeshController extends Controller
'updated_at',
'created_at',
'user_name',
'contract_subitem_id'
);
'contract_subitem_id',
];
$allowedFilters = $columns;
$allowedSortings = $columns;
@@ -81,7 +82,7 @@ class AzmayeshController extends Controller
'province_name' => $province->name_fa,
'user_id' => $user->id,
'user_name' => $user->name,
'contract_subitem_id' => $request->contract_subitem_id
'contract_subitem_id' => $request->contract_subitem_id,
]);
$user->addActivityComplete(1158);
@@ -121,7 +122,7 @@ class AzmayeshController extends Controller
'applicant' => $request->applicant ?? '-',
'province_id' => $province->id,
'province_name' => $province->name_fa,
'contract_subitem_id' => $request->contract_subitem_id
'contract_subitem_id' => $request->contract_subitem_id,
]);
auth()->user()->addActivityComplete(1159);
@@ -140,8 +141,7 @@ class AzmayeshController extends Controller
auth()->user()->addActivityComplete(1160);
return $this->successResponse();
}
catch (QueryException $exception) {
} catch (QueryException $exception) {
return $this->errorResponse('امکان حذف وجود ندارد');
}
}

View File

@@ -15,14 +15,15 @@ use Illuminate\Http\Request;
class AzmayeshSampleController extends Controller
{
use ApiResponse;
/**
* Display a listing of the resource.
*/
public function index(Request $request, string $azmayesh_id): JsonResponse
{
$columns = array(
'id', 'updated_at', 'created_at'
);
$columns = [
'id', 'updated_at', 'created_at',
];
$allowedFilters = $columns;
$allowedSortings = $columns;

View File

@@ -20,9 +20,9 @@ class AzmayeshTypeController extends Controller
public function index(Request $request): JsonResponse
{
$columns = array(
'id', 'name', 'updated_at', 'created_at'
);
$columns = [
'id', 'name', 'updated_at', 'created_at',
];
$allowedFilters = $columns;
$allowedSortings = $columns;
@@ -52,16 +52,14 @@ class AzmayeshTypeController extends Controller
public function store(StoreRequest $request): JsonResponse
{
DB::transaction(function () use ($request)
{
DB::transaction(function () use ($request) {
$azmayeshType = AzmayeshType::query()->create([
'name' => $request->name
'name' => $request->name,
]);
$fieldsID = [];
foreach ($request->fields as $field)
{
foreach ($request->fields as $field) {
$azmayeshField = AzmayeshField::query()->firstOrCreate($field, $field);
$fieldsID[] = $azmayeshField->id;
}
@@ -87,16 +85,14 @@ class AzmayeshTypeController extends Controller
*/
public function update(UpdateRequest $request, AzmayeshType $azmayeshType): JsonResponse
{
DB::transaction(function () use ($request, $azmayeshType)
{
DB::transaction(function () use ($request, $azmayeshType) {
$azmayeshType->update([
'name' => $request->name
'name' => $request->name,
]);
$fieldsID = [];
foreach ($request->fields as $field)
{
foreach ($request->fields as $field) {
$azmayeshField = AzmayeshField::query()->updateOrCreate($field, $field);
$fieldsID[] = $azmayeshField->id;
}
@@ -120,8 +116,7 @@ class AzmayeshTypeController extends Controller
auth()->user()->addActivityComplete(1164);
return $this->successResponse();
}
catch (QueryException $exception) {
} catch (QueryException $exception) {
return $this->errorResponse('امکان حذف وجود ندارد. ابتدا آزمایش های مرتبط با این نوع را حذف نمایید');
}
}

View File

@@ -2,7 +2,6 @@
namespace App\Http\Controllers\V3\Dashboard\Harim;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller;
use App\Http\Traits\ApiResponse;
use App\Models\HarimState;

View File

@@ -11,10 +11,10 @@ use App\Events\V3\Dashboard\Harim\ConfirmRoadAccessNeedEvent;
use App\Events\V3\Dashboard\Harim\RejectRequestEvent;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller;
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\ConfirmRoadAccessEditNeedRequest;
use App\Http\Requests\V3\Dashboard\Harim\GeneralManager\ConfirmRoadAccessNeedRequest;
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;
@@ -34,7 +34,7 @@ class GeneralManagerController extends Controller
$query = Harim::query()
->where('province_id', '=', auth()->user()->province_id);
$data = DataTableFacade::run(
$data = DataTableFacade::run(
$query,
$request,
allowedFilters: ['*'],
@@ -46,8 +46,7 @@ class GeneralManagerController extends Controller
public function rejectRequest(RejectRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim)
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::CONFIRM->value;
$harim->histories()->create([
@@ -74,12 +73,11 @@ class GeneralManagerController extends Controller
public function referRequest(ReferRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim)
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::REFER->value;
$harim->histories()->create([
'expert_id'=> auth()->user()->id,
'expert_id' => auth()->user()->id,
'previous-state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'export_description' => $request->export_description,
@@ -100,12 +98,11 @@ class GeneralManagerController extends Controller
public function referFile(ReferFileRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim)
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::REFER->value;
$harim->histories()->create([
'expert_id'=> auth()->user()->id,
'expert_id' => auth()->user()->id,
'previous-state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'export_description' => $request->export_description,
@@ -126,8 +123,7 @@ class GeneralManagerController extends Controller
public function confirmRoadAccessNeed(ConfirmRoadAccessNeedRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim)
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::CONFIRM->value;
$harim->histories()->create([
@@ -154,8 +150,7 @@ class GeneralManagerController extends Controller
public function confirmNoRoadAccessNeed(ConfirmNoRoadAccessNeedRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim)
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::CONFIRM->value;
$harim->histories()->create([
@@ -183,8 +178,7 @@ class GeneralManagerController extends Controller
public function confirmRoadAccessEditNeed(ConfirmRoadAccessEditNeedRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim)
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::CONFIRM->value;
$harim->histories()->create([
@@ -211,8 +205,7 @@ class GeneralManagerController extends Controller
public function confirmGuaranteeLetterNeed(ConfirmGuaranteeLetterNeedRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim)
{
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::CONFIRM->value;
$harim->histories()->create([

View File

@@ -6,12 +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\FileRejectedRequest;
use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\NeedRoadAccessRequest;
use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\ReferRequest;
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\NeedRoadAccessRequest;
use App\Http\Requests\V3\Dashboard\Harim\HarimOffice\WithoutRoadAccessRequest;
use App\Http\Traits\ApiResponse;
use App\Models\Harim;
@@ -22,7 +22,7 @@ use Illuminate\Support\Facades\DB;
class HarimOfficeController extends Controller
{
use ApiResponse ;
use ApiResponse;
public function index(Request $request): JsonResponse
{
@@ -39,7 +39,6 @@ class HarimOfficeController extends Controller
return response()->json($data);
}
public function rejectRequest(RejectRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim) {
@@ -67,7 +66,7 @@ class HarimOfficeController extends Controller
public function referRequest(ReferRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request,$harim) {
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::REFER->value;
$harim->histories()->create([
@@ -75,7 +74,7 @@ class HarimOfficeController extends Controller
'previous_state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'expert_description' => $request->expert_description,
'action_id' => $action,
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
@@ -92,7 +91,7 @@ class HarimOfficeController extends Controller
public function needRoadAccess(NeedRoadAccessRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request,$harim) {
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::YES->value;
$harim->histories()->create([
'expert_id' => auth()->user()->id,
@@ -105,12 +104,12 @@ class HarimOfficeController extends Controller
$state = HarimStates::BARESI_TAVASOT_MOAVEN->value;
$harim ->update([
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
'is_possible' => true,
'need_access_road' => true,
'need_payment' => $request->need_payment
'need_payment' => $request->need_payment,
]);
});
@@ -119,7 +118,7 @@ class HarimOfficeController extends Controller
public function withoutRoadAccess(WithoutRoadAccessRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request,$harim) {
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::YES->value;
$harim->histories()->create([
'expert_id' => auth()->user()->id,
@@ -132,20 +131,21 @@ class HarimOfficeController extends Controller
$state = HarimStates::BARESI_TAVASOT_MOAVEN->value;
$harim ->update([
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
'is_possible' => true,
'need_access_road' => false,
'need_payment' => $request->need_payment
'need_payment' => $request->need_payment,
]);
});
return $this->successResponse();
}
public function fileAccepted(FileAcceptedRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request,$harim) {
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::YES->value;
$harim->histories()->create([
'expert_id' => auth()->user()->id,
@@ -158,7 +158,7 @@ class HarimOfficeController extends Controller
$state = HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN->value;
$harim ->update([
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
'access_road_allowed' => true,
@@ -167,9 +167,10 @@ class HarimOfficeController extends Controller
return $this->successResponse();
}
public function fileRejected(FileRejectedRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request,$harim) {
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::NO->value;
$harim->histories()->create([
'expert_id' => auth()->user()->id,
@@ -182,7 +183,7 @@ class HarimOfficeController extends Controller
$state = HarimStates::BARESI_FILE_APLODE_SHODE_TAVASOTE_MOAVEN->value;
$harim ->update([
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
'access_road_allowed' => false,
@@ -191,6 +192,7 @@ class HarimOfficeController extends Controller
return $this->successResponse();
}
public function show(ShowRequest $request, Harim $harim): JsonResponse
{
return $this->successResponse($harim->load('histories'));

View File

@@ -21,8 +21,8 @@ class PanjareVahedController extends Controller
public function receiveNewRequest(ReceiveNewRequest $request): JsonResponse
{
$wkt = 'POLYGON((' . implode(',', array_map(fn($c) => "{$c[0]} {$c[1]}", $request->primary_area['coordinates'])) . '))';
$result = DB::selectOne("SELECT ST_AsText(ST_PointOnSurface(ST_GeomFromText(?, 4326))) AS point", [$wkt]);
$wkt = 'POLYGON(('.implode(',', array_map(fn ($c) => "{$c[0]} {$c[1]}", $request->primary_area['coordinates'])).'))';
$result = DB::selectOne('SELECT ST_AsText(ST_PointOnSurface(ST_GeomFromText(?, 4326))) AS point', [$wkt]);
preg_match('/POINT\(([^ ]+) ([^ ]+)\)/', $result->point, $matches);
try {
@@ -32,8 +32,7 @@ class PanjareVahedController extends Controller
ST_GeomFromText('POINT($matches[1] $matches[2])', 4326))"
)
->firstOrFail(['id', 'name_fa', 'province_id']);
}
catch (ModelNotFoundException $exception){
} catch (ModelNotFoundException $exception) {
$city = City::query()
->orderByRaw("ST_Distance(
geometry,
@@ -126,7 +125,6 @@ class PanjareVahedController extends Controller
$harim = Harim::query()->firstWhere('panjare_vahed_id', '=', $request->request_id);
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),

View File

@@ -30,12 +30,14 @@ class ProvinceOfficeController extends Controller
allowedFilters: ['*'],
allowedSortings: ['*'],
);
return response()->json($data);
}
public function feedback(FeedBackRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request,$harim) {
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::FEEDBACK->value;
$harim->histories()->create([
@@ -49,12 +51,13 @@ class ProvinceOfficeController extends Controller
$state = HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value;
$harim ->update([
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
'forbidden_area' => $request->input('forbidden_area'),
]);
});
return $this->successResponse();
}

View File

@@ -20,23 +20,25 @@ use Illuminate\Support\Facades\DB;
class TechnicalDeputyController extends Controller
{
use ApiResponse;
public function index(Request $request): JsonResponse
{
$query = Harim::query()
->where('province_id', '=', auth()->user()->province_id);
$data = DataTableFacade::run(
$query,
$request,
allowedFilters: ['*'],
allowedSortings: ['*'],
$query,
$request,
allowedFilters: ['*'],
allowedSortings: ['*'],
);
return response()->json($data);
}
public function confirmRequest(ConfirmRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request,$harim) {
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::CONFIRM->value;
$harim->histories()->create([
@@ -44,13 +46,13 @@ class TechnicalDeputyController extends Controller
'previous_state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'expert_description' => $request->expert_description,
'action_id' => $action,
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
$state = HarimStates::BARESI_TAVASOT_MODIR_KOL->value;
$harim ->update([
$harim->update([
'state_id' => $state,
'state_name' => HarimStates::name($state),
]);
@@ -58,9 +60,10 @@ class TechnicalDeputyController extends Controller
return $this->successResponse();
}
public function referRequest(ReferRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request,$harim) {
DB::transaction(function () use ($request, $harim) {
$action = HarimAction::REFER->value;
$harim->histories()->create([
@@ -68,7 +71,7 @@ class TechnicalDeputyController extends Controller
'previous_state_id' => $harim->state_id,
'previous_state_name' => $harim->state_name,
'expert_description' => $request->expert_description,
'action_id' => $action,
'action_id' => $action,
'action_name' => HarimAction::name($action),
]);
@@ -82,6 +85,7 @@ class TechnicalDeputyController extends Controller
return $this->successResponse();
}
public function confirmRoadAccess(ConfirmRoadAccessRequest $request, Harim $harim): JsonResponse
{
DB::transaction(function () use ($request, $harim) {
@@ -129,6 +133,7 @@ class TechnicalDeputyController extends Controller
return $this->successResponse();
}
public function show(ShowRequest $request, Harim $harim): JsonResponse
{
return $this->successResponse($harim->load('histories'));

View File

@@ -18,6 +18,7 @@ use Illuminate\Support\Facades\DB;
class ControlUnitController extends Controller
{
use ApiResponse;
public function index(Request $request, ControlUnitService $controlUnitService): JsonResponse
{
return response()->json($controlUnitService->datatable($request));
@@ -25,7 +26,7 @@ class ControlUnitController extends Controller
public function start(StartRequest $request, Mission $mission): JsonResponse
{
DB::transaction(function () use ($request, $mission) {
DB::transaction(function () use ($mission) {
$mission->histories()->create([
'user_id' => auth()->user()->id,
'previous_state_id' => $mission->state_id,
@@ -36,7 +37,7 @@ class ControlUnitController extends Controller
$mission->update([
'state_id' => $state,
'state_name' => MissionStates::name($state),
'start_time' => now()
'start_time' => now(),
]);
});
@@ -45,7 +46,7 @@ class ControlUnitController extends Controller
public function finish(FinishRequest $request, Mission $mission): JsonResponse
{
DB::transaction(function () use ($request, $mission) {
DB::transaction(function () use ($mission) {
$mission->histories()->create([
'user_id' => auth()->user()->id,
'previous_state_id' => $mission->state_id,
@@ -63,7 +64,7 @@ class ControlUnitController extends Controller
});
if ($mission->category_id == 2) {
$rpc = new OperatorController();
$rpc = new OperatorController;
$rpc->store($mission);
}

View File

@@ -6,7 +6,6 @@ use App\Http\Controllers\Controller;
use App\Http\Traits\ApiResponse;
use App\Models\Mission;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class DetailController extends Controller
{
@@ -28,7 +27,7 @@ class DetailController extends Controller
'code' => $rahdar->code,
'is_driver' => (bool) $rahdar->pivot->is_driver,
];
});
});
return $this->successResponse($rahdaran);
}

View File

@@ -8,8 +8,8 @@ use App\Enums\MissionTypes;
use App\Enums\MissionZones;
use App\Http\Controllers\Controller;
use App\Http\Controllers\V3\Dashboard\RoadPatrol\OperatorController;
use App\Http\Requests\V3\Mission\RequestPortal\NoProcessRequest;
use App\Http\Requests\V3\Mission\RequestPortal\ContinueMissionRequest;
use App\Http\Requests\V3\Mission\RequestPortal\NoProcessRequest;
use App\Http\Requests\V3\Mission\RequestPortal\StoreRequest;
use App\Http\Requests\V3\Mission\RequestPortal\UpdateRequest;
use App\Http\Traits\ApiResponse;
@@ -66,7 +66,7 @@ class RequestPortalController extends Controller
$mission->rahdaran()->sync($request->rahdaran);
if ($category == 3){
if ($category == 3) {
RoadObserved::query()
->find($request->road_observed_id)
->missions()
@@ -82,11 +82,11 @@ class RequestPortalController extends Controller
return $this->successResponse($mission);
}
public function continueMission(ContinueMissionRequest $request , Mission $mission): JsonResponse
public function continueMission(ContinueMissionRequest $request, Mission $mission): JsonResponse
{
DB::transaction(function () use ($request, $mission) {
$user = auth()->user();
$mission->update([
'finish_time' => now(),
'state_id' => MissionStates::END_MISSION->value,
@@ -118,18 +118,18 @@ class RequestPortalController extends Controller
'category_id' => $category,
'category_name' => MissionCategory::name($category),
'explanation' => $request->explanation,
'start_time' => now()
'start_time' => now(),
]);
$newMission->rahdaran()->sync($request->rahdaran);
$newMission->machines()->attach($request->machines);
$newMission->rahdaran()->attach($request->driver, ['is_driver' => true]);
$newMission->rahdaran()->sync($request->rahdaran);
$newMission->machines()->attach($request->machines);
$newMission->rahdaran()->attach($request->driver, ['is_driver' => true]);
if ($category == 3){
if ($category == 3) {
RoadObserved::query()
->find($request->road_observed_id)
->missions()
->attach( $newMission->id);
->attach($newMission->id);
}
});
@@ -159,7 +159,7 @@ class RequestPortalController extends Controller
]);
$mission->rahdaran()->sync($request->rahdaran);
if ($request->category_id == 3){
if ($request->category_id == 3) {
RoadObserved::query()
->find($request->road_observed_id)
->missions()
@@ -169,14 +169,17 @@ class RequestPortalController extends Controller
return $this->successResponse();
}
public function destroy(Mission $mission): JsonResponse
{
DB::transaction(function () use ($mission) {
$mission->rahdaran()->detach();
$mission->delete();
});
return $this->successResponse();
}
public function noProcess(NoProcessRequest $request): JsonResponse
{
DB::transaction(function () use ($request) {
@@ -185,7 +188,7 @@ class RequestPortalController extends Controller
$end = Carbon::parse($request->end_date);
$type = $start->diffInMinutes($end) > 480 ? MissionTypes::NO_PROCESS_ROZANE->value : MissionTypes::NO_PROCESS_SAATY->value;
$user = auth()->user();
$zone= $request->zone;
$zone = $request->zone;
$state = MissionStates::END_MISSION->value;
$mission = Mission::query()->create([
@@ -218,7 +221,7 @@ class RequestPortalController extends Controller
$mission->rahdaran()->attach($request->driver, ['is_driver' => true]);
if ($mission->category_id == 2) {
$rpc = new OperatorController();
$rpc = new OperatorController;
$rpc->store($mission);
}
});

View File

@@ -27,19 +27,19 @@ class TransportationUnitController extends Controller
{
DB::transaction(function () use ($request, $mission) {
$mission->machines()->attach($request->machines);
$mission->rahdaran()->attach($request->driver, ['is_driver'=>true]);
$mission->rahdaran()->attach($request->driver, ['is_driver' => true]);
$mission->histories()->create([
'user_id' => auth()->user()->id,
'previous_state_id' => $mission->state_id,
'previous_state_name' => $mission->state_name
'previous_state_name' => $mission->state_name,
]);
$state = MissionStates::PENDING_CONFIRMATION->value;
$mission->update([
'state_id' => $state,
'state_name' => MissionStates::name($state),
'km' => $request->km
'km' => $request->km,
]);
});
@@ -53,7 +53,7 @@ class TransportationUnitController extends Controller
'user_id' => auth()->user()->id,
'previous_state_id' => $mission->state_id,
'previous_state_name' => $mission->state_name,
'user_description' => $request->description
'user_description' => $request->description,
]);
$state = MissionStates::REJECT_BY_TRANSPORTATION->value;
@@ -61,7 +61,7 @@ class TransportationUnitController extends Controller
$mission->update([
'state_id' => $state,
'state_name' => MissionStates::name($state),
'description' => $request->description
'description' => $request->description,
]);
});

View File

@@ -16,6 +16,7 @@ use Illuminate\Validation\ValidationException;
class ObservedItemController extends Controller
{
use ApiResponse;
public function show(ObservedItem $observedItem): JsonResponse
{
return $this->successResponse($observedItem);
@@ -23,9 +24,9 @@ class ObservedItemController extends Controller
public function filter(Request $request): JsonResponse
{
$columns = array(
$columns = [
'id', 'item_id', 'road_patrol_id', 'roadPatrol.start_time', 'roadPatrol.end_time',
);
];
$allowedFilters = $columns;
$allowedSortings = $columns;
@@ -76,7 +77,7 @@ class ObservedItemController extends Controller
$item_end_coordinates = null;
if ($info_item->needs_end_point) {
if (!isset($item['end_point'])) {
if (! isset($item['end_point'])) {
throw ValidationException::withMessages([
"observed_items.$index.end_point" => __('validation.required', ['attribute' => 'end_point']),
]);

View File

@@ -7,7 +7,6 @@ use App\Http\Controllers\Controller;
use App\Http\Requests\V3\Otp\GetOtpTokenRequest;
use App\Http\Traits\ApiResponse;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class OtpManagementController extends Controller
{

View File

@@ -6,7 +6,6 @@ use App\Http\Controllers\Controller;
use App\Http\Traits\ApiResponse;
use App\Models\RoadItemsProject;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class DetailController extends Controller
{

View File

@@ -11,12 +11,10 @@ use App\Http\Requests\V3\RoadItem\Operator\UpdateRequest;
use App\Http\Traits\ApiResponse;
use App\Models\EdarateShahri;
use App\Models\InfoItem;
use App\Models\Mission;
use App\Models\ObservedItem;
use App\Models\RoadItemsProject;
use App\Services\Cartables\RoadItem\OperatorService;
use App\Services\NominatimService;
use Carbon\Carbon;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
@@ -29,24 +27,28 @@ use Throwable;
class OperatorController extends Controller
{
use ApiResponse;
/**
* Display a listing of the resource.
*/
public function index(Request $request, OperatorService $operatorService): JsonResponse
{
$data = $operatorService->dataTable($request);
return response()->json($data);
}
public function excel(Request $request, OperatorService $operatorService): BinaryFileResponse
{
$name = 'گزارش از کارتابل عملیات فعالیت روزانه ' . verta()->now()->format('Y-m-d H:i') . '.xlsx';
$name = 'گزارش از کارتابل عملیات فعالیت روزانه '.verta()->now()->format('Y-m-d H:i').'.xlsx';
$data = $operatorService->dataTable($request, true);
return Excel::download(new OperatorCartableReport($data['data']), $name);
}
/**
* Store a newly created resource in storage.
*
* @throws Throwable
*/
public function store(StoreRequest $request, NominatimService $nominatimService): JsonResponse
@@ -55,13 +57,13 @@ class OperatorController extends Controller
->where('sub_item', $request->sub_item_id)
->firstOrFail();
if ($info_item->needs_end_point && !$request->end_point) {
if ($info_item->needs_end_point && ! $request->end_point) {
throw ValidationException::withMessages([
'end_point' => __('validation.required', ['attribute' => 'end_point']),
]);
}
if ((!$request->before_image || !$request->after_image) && $info_item->needs_image) {
if ((! $request->before_image || ! $request->after_image) && $info_item->needs_image) {
throw ValidationException::withMessages([
'before_image' => __('validation.required', ['attribute' => 'before_image']),
'after_image' => __('validation.required', ['attribute' => 'after_image']),
@@ -72,8 +74,7 @@ class OperatorController extends Controller
$end_coordinates = $info_item->needs_end_point ? explode(',', $request->end_point) : null;
DB::transaction(function () use ($request, $nominatimService,
$start_coordinates, $end_coordinates, $info_item)
{
$start_coordinates, $end_coordinates, $info_item) {
$user = auth()->user();
$road_item = RoadItemsProject::query()->create([
'user_id' => $user->id,
@@ -103,7 +104,7 @@ class OperatorController extends Controller
'edarat_name' => $user->edarate_shahri_name,
'activity_date' => $request->activity_date,
'activity_time' => $request->activity_time,
'activity_date_time' => $request->activity_date." ".$request->activity_time,
'activity_date_time' => $request->activity_date.' '.$request->activity_time,
'is_new' => 1,
'mission_id' => $request->mission_id,
]);
@@ -111,13 +112,13 @@ class OperatorController extends Controller
if ($request->has('after_image')) {
$road_item->files()->create([
'path' => FileFacade::save($request->file('after_image'),
"/road_items_projects_new/{$road_item->id}/after")
"/road_items_projects_new/{$road_item->id}/after"),
]);
}
if ($request->has('before_image')) {
$road_item->files()->create([
'path' => FileFacade::save($request->file('before_image'),
"/road_items_projects_new/{$road_item->id}/before")
"/road_items_projects_new/{$road_item->id}/before"),
]);
}
@@ -152,7 +153,7 @@ class OperatorController extends Controller
$end_coordinates = null;
if ($info_item->needs_end_point) {
if (!$request->end_point) {
if (! $request->end_point) {
throw ValidationException::withMessages([
'end_point' => __('validation.required', ['attribute' => 'end_point']),
]);
@@ -166,14 +167,14 @@ class OperatorController extends Controller
FileFacade::delete($roadItemsProject->files[0]->path, true);
$roadItemsProject->files[0]->update([
'path' => FileFacade::save($request->file('after_image'),
"/road_items_projects_new/{$roadItemsProject->id}/after")
"/road_items_projects_new/{$roadItemsProject->id}/after"),
]);
}
if ($request->has('before_image')) {
FileFacade::delete($roadItemsProject->files[1]->path, true);
$roadItemsProject->files[1]->update([
'path' => FileFacade::save($request->file('before_image'),
"/road_items_projects_new/{$roadItemsProject->id}/before")
"/road_items_projects_new/{$roadItemsProject->id}/before"),
]);
}
}
@@ -193,7 +194,6 @@ class OperatorController extends Controller
$roadItemsProject->cmmsMachines()->sync($request->machines_id);
$roadItemsProject->missions()->sync($request->mission_id);
auth()->user()->addActivityComplete(1155);
});

View File

@@ -94,8 +94,9 @@ class ReportController extends Controller
public function countryActivityExcelPerItem(Request $request, ReportService $reportService): BinaryFileResponse
{
auth()->user()->addActivityComplete(1034);
$name = 'گزارش کشوری از فعالیت روزانه و جاری - جدول 1 ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش کشوری از فعالیت روزانه و جاری - جدول 1 '.verta()->now()->format('Y-m-d H-i').'.xlsx';
$activities = $reportService->countryActivityPerItem($request);
return Excel::download(new CountryActivityPerItemReport([
'activities' => $activities,
'provinces' => Province::all(['id', 'name_fa']),
@@ -106,8 +107,9 @@ class ReportController extends Controller
public function provinceActivityExcelPerItem(Request $request, ReportService $reportService): BinaryFileResponse
{
auth()->user()->addActivityComplete(1034);
$name = 'گزارش استانی از فعالیت روزانه و جاری - جدول 1 ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش استانی از فعالیت روزانه و جاری - جدول 1 '.verta()->now()->format('Y-m-d H-i').'.xlsx';
$activities = $reportService->provinceActivityPerItem($request);
return Excel::download(new ProvinceActivityPerItemReport([
'activities' => $activities,
'edarateShahri' => EdarateShahri::query()->where('province_id', '=', $request->province_id)->get(['id', 'name_fa']),
@@ -118,7 +120,7 @@ class ReportController extends Controller
public function countryActivityExcelPerSubItem(Request $request, ReportService $reportService): BinaryFileResponse
{
auth()->user()->addActivityComplete(1034);
$name = "گزارش کشوری از فعالیت روزانه و جاری - جدول 2 " . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش کشوری از فعالیت روزانه و جاری - جدول 2 '.verta()->now()->format('Y-m-d H-i').'.xlsx';
$activities = $reportService->countryActivityPerSubItem($request);
$subItems = InfoItem::query()
->where('item', $request->item)
@@ -127,7 +129,7 @@ class ReportController extends Controller
return Excel::download(new CountryActivityPerSubItemReport([
'activities' => $activities,
'provinces' => Province::all(['id', 'name_fa']),
'subItems' => $subItems
'subItems' => $subItems,
]), $name);
}
@@ -135,7 +137,7 @@ class ReportController extends Controller
{
auth()->user()->addActivityComplete(1034);
$activities = $reportService->provinceActivityPerSubItem($request);
$name = "گزارش استانی از فعالیت روزانه و جاری - جدول 2 " . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش استانی از فعالیت روزانه و جاری - جدول 2 '.verta()->now()->format('Y-m-d H-i').'.xlsx';
$subItems = InfoItem::query()
->where('item', $request->item)
->get(['id', 'item', 'item_str', 'sub_item_str', 'sub_item_unit', 'sub_item']);
@@ -154,16 +156,16 @@ class ReportController extends Controller
$subId = $request->sub_id;
$item = $request->item;
$status = $request->status;
$dateFrom = $request->date_from ? $request->date_from . ' 00:00:00' : now()->startOfDay()->toDateTimeString();
$dateTo = $request->date_to ? $request->date_to . ' 23:59:59' : now()->addDay()->startOfDay()->toDateTimeString();
$dateFrom = $request->date_from ? $request->date_from.' 00:00:00' : now()->startOfDay()->toDateTimeString();
$dateTo = $request->date_to ? $request->date_to.' 23:59:59' : now()->addDay()->startOfDay()->toDateTimeString();
$data = RoadItemsProject::query()
->where('is_new', '=', 1)
->when($provinceId, fn($query, $provinceId) => $query->where('road_items_projects.province_id', '=', $provinceId))
->when($cityId, fn($query, $cityId) => $query->where('road_items_projects.city_id', '=', $cityId))
->when($subId, fn($query, $subId) => $query->where('sub_items', 'like', '%' . $subId . '%'))
->when($item, fn($query, $item) => $query->where('item', '=', $item))
->when(!is_null($status), fn($query, $status) => $query->where('status', '=', $status))
->when($provinceId, fn ($query, $provinceId) => $query->where('road_items_projects.province_id', '=', $provinceId))
->when($cityId, fn ($query, $cityId) => $query->where('road_items_projects.city_id', '=', $cityId))
->when($subId, fn ($query, $subId) => $query->where('sub_items', 'like', '%'.$subId.'%'))
->when($item, fn ($query, $item) => $query->where('item', '=', $item))
->when(! is_null($status), fn ($query, $status) => $query->where('status', '=', $status))
->leftJoin('users', 'users.id', '=', 'road_items_projects.user_id')
->whereBetween('road_items_projects.activity_date', [$dateFrom, $dateTo])
->select('road_items_projects.id as i', 'start_lat as l', 'start_lng as g', 'status')

View File

@@ -7,11 +7,9 @@ use App\Exports\V3\RoadItemsProjects\SupervisorCartableReport;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\RoadItem\Supervisor\ConfirmRequest;
use App\Http\Requests\V3\RoadItem\Supervisor\RejectRequest;
use App\Http\Requests\V3\RoadItem\VerifyBySupervisorRequest;
use App\Http\Traits\ApiResponse;
use App\Models\RoadItemsProject;
use App\Services\Cartables\RoadItem\SupervisorService;
use App\Services\Cartables\RoadItemTableService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
@@ -47,8 +45,9 @@ class SupervisorController extends Controller
*/
public function excel(Request $request, SupervisorService $supervisorService): BinaryFileResponse
{
$name = 'گزارش از کارتابل ارزیابی فعالیت روزانه ' . verta()->now()->format('Y-m-d H:i') . '.xlsx';
$name = 'گزارش از کارتابل ارزیابی فعالیت روزانه '.verta()->now()->format('Y-m-d H:i').'.xlsx';
$data = $supervisorService->dataTable($request, true);
return Excel::download(new SupervisorCartableReport($data['data']), $name);
}
@@ -107,7 +106,7 @@ class SupervisorController extends Controller
'supervisor_id' => null,
'supervisor_description' => null,
'supervising_time' => null,
'supervisor_name' => null,
'supervisor_name' => null,
]);
auth()->user()->addActivityComplete(1150);
});

View File

@@ -13,9 +13,8 @@ use App\Models\City;
use App\Models\Province;
use App\Models\RahdariPoint;
use App\Models\RahdariPointHistory;
use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class RoadMaintenanceStationController extends Controller
{
@@ -27,7 +26,7 @@ class RoadMaintenanceStationController extends Controller
$user->addActivityComplete(1019);
$query = RahdariPoint::query()
->when($user->hasPermissionTo('show-tollhouse-province') && !$user->hasPermissionTo('show-tollhouse'),
->when($user->hasPermissionTo('show-tollhouse-province') && ! $user->hasPermissionTo('show-tollhouse'),
fn ($query) => $query->where('province_id', $user->province_id)
);
@@ -56,7 +55,7 @@ class RoadMaintenanceStationController extends Controller
'name' => $request->name,
'status' => $request->status,
'type' => $request->type,
'type_fa' =>RoadMaintenanceStationTypes::name($request->type),
'type_fa' => RoadMaintenanceStationTypes::name($request->type),
'team_num' => $request->team_num,
'staff_num' => $request->staff_num,
'phone' => $request->phone,
@@ -85,7 +84,7 @@ class RoadMaintenanceStationController extends Controller
foreach ($uploadPaths as $field => $path) {
if ($request->hasFile($field)) {
$station->files()->create([
'path' => FileFacade::save($request->$field, $path)
'path' => FileFacade::save($request->$field, $path),
]);
}
}
@@ -112,17 +111,17 @@ class RoadMaintenanceStationController extends Controller
RahdariPointHistory::query()->create([
'user_id' => $request->user()->id,
'point_id' => $rahdariPoint->id,
'point_id' => $rahdariPoint->id,
'previous_province_id' => $province->id,
'previous_province_name' => $province->name_fa,
'previous_city_id' => $city->id,
'previous_city_name' => $city->name_fa,
'previous_name' => $rahdariPoint->name,
'previous_status' => $rahdariPoint->status,
'previous_type' => $rahdariPoint->type,
'previous_name' => $rahdariPoint->name,
'previous_status' => $rahdariPoint->status,
'previous_type' => $rahdariPoint->type,
'previous_team_num' => $rahdariPoint->team_num,
'previous_staff_num' => $rahdariPoint->staff_num,
'previous_phone' => $rahdariPoint->phone,
'previous_phone' => $rahdariPoint->phone,
'previous_responsible_name' => $rahdariPoint->responsible_name,
'previous_responsible_mobile' => $rahdariPoint->responsible_mobile,
'previous_successor_name' => $rahdariPoint->successor_name,
@@ -130,21 +129,21 @@ class RoadMaintenanceStationController extends Controller
'previous_machines_light' => $rahdariPoint->machines_light,
'previous_machines_sheavy' => $rahdariPoint->machines_sheavy,
'previous_machines_heavy' => $rahdariPoint->machines_heavy,
'previous_lat' => $rahdariPoint->lat,
'previous_lng' => $rahdariPoint->lng,
'previous_lat' => $rahdariPoint->lat,
'previous_lng' => $rahdariPoint->lng,
'new_files' => json_encode($rahdariPoint->files),
'area' => json_encode($rahdariPoint->area),
]);
$rahdariPoint->update([
$rahdariPoint->update([
'province_id' => $province->id,
'province_name' => $province->name_fa,
'city_id' => $city->id,
'city_name' => $city->name_fa,
'name' => $request->input('name'),
'status' => $request->input('status'),
'type' => $request->input('type',),
'type_fa' => RoadMaintenanceStationTypes::name($request->type) ?? $rahdariPoint->type_fa,
'type' => $request->input('type'),
'type_fa' => RoadMaintenanceStationTypes::name($request->type) ?? $rahdariPoint->type_fa,
'team_num' => $request->input('team_num'),
'staff_num' => $request->input('staff_num'),
'phone' => $request->input('phone'),

View File

@@ -36,8 +36,9 @@ class OperatorController
public function cartableReport(Request $request, OperatorService $operatorService): BinaryFileResponse
{
$name = 'گزارش از کارتابل عملیات واکنش سریع ' . verta()->now()->format('Y-m-d H:i') . '.xlsx';
$name = 'گزارش از کارتابل عملیات واکنش سریع '.verta()->now()->format('Y-m-d H:i').'.xlsx';
$data = $operatorService->cartableIndex($request);
return Excel::download(new OperatorCartableReport($data['data']), $name);
}
@@ -54,8 +55,9 @@ class OperatorController
*/
public function complaintsReport(Request $request, OperatorService $operatorService): BinaryFileResponse
{
$name = 'گزارش از رسیدگی به شکایات واکنش سریع ' . verta()->now()->format('Y-m-d H:i') . '.xlsx';
$name = 'گزارش از رسیدگی به شکایات واکنش سریع '.verta()->now()->format('Y-m-d H:i').'.xlsx';
$data = $operatorService->complaintsIndex($request);
return Excel::download(new ComplaintsReport($data['data']), $name);
}
@@ -79,7 +81,7 @@ class OperatorController
'previous_rms_start_latlng' => $roadObserved->rms_start_latlng,
'previous_rms_end_latlng' => $roadObserved->rms_end_latlng,
'previous_rms_description' => $roadObserved->rms_description,
'new_files' => json_encode([])
'new_files' => json_encode([]),
];
$files_path = [];
@@ -132,7 +134,7 @@ class OperatorController
'previous_rms_start_latlng' => $roadObserved->rms_start_latlng,
'previous_rms_end_latlng' => $roadObserved->rms_end_latlng,
'previous_rms_description' => $roadObserved->rms_description,
'new_files' => json_encode([])
'new_files' => json_encode([]),
];
if ($request->rms_status == 1) {
@@ -195,7 +197,7 @@ class OperatorController
'from_edareh' => $roadObserved->edarate_shahri_id,
'to_edareh' => $request->edarate_shahri_id,
'from_province' => $roadObserved->province_id,
'to_province' => $province->id
'to_province' => $province->id,
]);
$roadObserved->update([
@@ -218,7 +220,7 @@ class OperatorController
->orderBy('created_at', 'desc')
->get([
'created_at', 'description', 'from_edareh', 'to_edareh',
'from_province', 'to_province', 'user_id'
'from_province', 'to_province', 'user_id',
]);
foreach ($data as $key => $value) {
@@ -227,8 +229,9 @@ class OperatorController
$data[$key]->from_province = Province::query()->find($value->from_province)->name_fa ?? null;
$data[$key]->to_province = Province::query()->find($value->to_province)->name_fa ?? null;
$user = User::query()->find($value->user_id);
$data[$key]->user = $user->first_name . ' ' . $user->last_name;
$data[$key]->user = $user->first_name.' '.$user->last_name;
}
return $this->successResponse($data);
}
}
}

View File

@@ -8,7 +8,6 @@ use App\Exports\V3\RoadObservation\ProvinceCartableReport;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Traits\ApiResponse;
use App\Models\EdarateShahri;
use App\Models\Province;
use App\Models\RoadObserved;
use App\Services\Cartables\RoadObservation\ReportService;
use App\Services\Cartables\SafetyAndPrivacy\OperatorService;
@@ -24,13 +23,15 @@ class ReportController
public function index(Request $request, ReportService $reportService): JsonResponse
{
$data = $reportService->index($request);
return response()->json($data['data']);
}
public function excel(Request $request, ReportService $reportService): BinaryFileResponse
{
$name = 'گزارش رسیدگی به شکایات واکنش سریع ' . verta()->now()->format('Y-m-d H:i') . '.xlsx';
$name = 'گزارش رسیدگی به شکایات واکنش سریع '.verta()->now()->format('Y-m-d H:i').'.xlsx';
$data = $reportService->index($request);
return Excel::download(new ReportComplaintsExport($data), $name);
}
@@ -48,6 +49,7 @@ class ReportController
public function countryActivity(Request $request, ReportService $reportService): JsonResponse
{
$data = $reportService->countryActivity($request);
return $this->successResponse($data);
}
@@ -59,22 +61,26 @@ class ReportController
return $this->successResponse([
'activities' => $data,
'edarateShahri' => EdarateShahri::where('province_id', $request->province_id)->get(['id', 'name_fa']),
'edarateShahri' => EdarateShahri::query()->where('province_id', $request->province_id)->get(['id', 'name_fa']),
]);
}
public function countryActivityExcel(Request $request, OperatorService $operatorService): BinaryFileResponse
public function countryActivityExcel(Request $request, ReportService $reportService): BinaryFileResponse
{
$data = $operatorService->countryActivity($request);
$name = 'گزارش رسیدگی به شکایات واکنش سریع' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$data = $reportService->countryActivity($request);
$name = 'گزارش رسیدگی به شکایات واکنش سریع'.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new CountryCartableReport($data), $name);
}
public function provinceActivityExcel(Request $request, OperatorService $operatorService): BinaryFileResponse
public function provinceActivityExcel(Request $request, ReportService $reportService): BinaryFileResponse
{
$data = $operatorService->provinceActivity(
$data = $reportService->provinceActivity(
province_id: $request->input('province_id')
);
$name = 'گزارش رسیدگی به شکایات واکنش سریع' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
return Excel::download(new ProvinceCartableReport($data, $request), $name);
$name = 'گزارش رسیدگی به شکایات واکنش سریع'.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new ProvinceCartableReport($data), $name);
}
}

View File

@@ -10,7 +10,6 @@ use App\Http\Traits\ApiResponse;
use App\Models\RoadObservationHistory;
use App\Models\RoadObserved;
use App\Services\Cartables\RoadObservation\SupervisorService;
use App\Services\Cartables\RoadObservationTableService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
@@ -48,7 +47,7 @@ class SupervisorController
public function report(Request $request, SupervisorService $supervisorService): BinaryFileResponse
{
$name = 'گزارش از کارتابل ارزیابی واکنش سریع '. verta()->now()->format('Y-m-d H:i') . '.xlsx';
$name = 'گزارش از کارتابل ارزیابی واکنش سریع '.verta()->now()->format('Y-m-d H:i').'.xlsx';
$data = $supervisorService->index($request);
return Excel::download(new SupervisorCartableReport($data['data']), $name);
@@ -89,4 +88,4 @@ class SupervisorController
return $this->successResponse();
}
}
}

View File

@@ -9,12 +9,11 @@ use App\Models\RoadPatrol;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class DetailController extends Controller
{
use ApiResponse;
public function map(Request $request): JsonResponse
public function map(Request $request): JsonResponse
{
$province = $request->province_id;
$edare_shahri = $request->edare_shahri_id;
@@ -25,12 +24,12 @@ class DetailController extends Controller
$date_from = $request->from_date.' 00:00:00';
$date_to = $request->date_to.' 23:59:59';
} else {
$date_from = Date('Y-m-d');
$date_from = date('Y-m-d');
$date_to = new \DateTime('tomorrow');
$date_to = $date_to->format('Y-m-d');
}
$projects = RoadObserved::query()->select(['id', 'lng', 'lat','status'])
$projects = RoadObserved::query()->select(['id', 'lng', 'lat', 'status'])
->whereBetween('created_at', [$date_from, $date_to])
->when($province, function ($query) use ($province) {
return $query->where('province_id', '=', $province);
@@ -49,6 +48,7 @@ class DetailController extends Controller
return $query->where('status', '=', $status);
})
->get();
return $this->successResponse($projects);
}

View File

@@ -2,9 +2,7 @@
namespace App\Http\Controllers\V3\Dashboard\RoadPatrol;
use App\Exports\V3\RoadPatrols\OperatorCartableReport;
use App\Facades\Sms\Sms;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\RoadPatrol\DeleteRequest;
use App\Http\Traits\ApiResponse;
@@ -18,7 +16,6 @@ use Illuminate\Support\Facades\Storage;
use Maatwebsite\Excel\Facades\Excel;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
class OperatorController extends Controller
{
use ApiResponse;
@@ -26,12 +23,15 @@ class OperatorController extends Controller
public function index(Request $request, OperatorService $operatorService): JsonResponse
{
$data = $operatorService->dataTable($request);
return response()->json($data);
}
public function excel(Request $request, OperatorService $operatorService): BinaryFileResponse
{
$name = 'گزارش از کارتابل عملیات گشت راهداری ' . verta()->now()->format('Y-m-d H:i') . '.xlsx';
$name = 'گزارش از کارتابل عملیات گشت راهداری '.verta()->now()->format('Y-m-d H:i').'.xlsx';
$data = $operatorService->dataTable($request, true);
return Excel::download(new OperatorCartableReport($data['data']), $name);
}
@@ -42,15 +42,15 @@ class OperatorController extends Controller
$road_patrol = RoadPatrol::query()->create([
'operator_id' => $user->id,
'status' => 0,
'status_fa' => 'در حال بررسی',
'status' => 0,
'status_fa' => 'در حال بررسی',
'province_id' => $mission->province_id,
'province_fa' => $mission->province_name,
'edare_id' => $mission->edare_shahri_id,
'edare_name' => $mission->edare_shahri_name,
'start_time' => $mission->start_time,
'end_time' => $mission->finish_time,
'mission_id' => $mission->id,
'edare_id' => $mission->edare_shahri_id,
'edare_name' => $mission->edare_shahri_name,
'start_time' => $mission->start_time,
'end_time' => $mission->finish_time,
'mission_id' => $mission->id,
]);
auth()->user()->addActivityComplete(1147);
@@ -74,8 +74,8 @@ class OperatorController extends Controller
$road_item = $observed_item->roadItemProject;
if ($road_item->files()->exists()) {
Storage::delete('public/' . $road_item->files[0]->path);
Storage::delete('public/' . $road_item->files[1]->path);
Storage::delete('public/'.$road_item->files[0]->path);
Storage::delete('public/'.$road_item->files[1]->path);
$road_item->files()->delete();
}

View File

@@ -18,16 +18,17 @@ use Symfony\Component\HttpFoundation\BinaryFileResponse;
class ReportController extends Controller
{
use ApiResponse;
public function activitiesOnMap(Request $request): JsonResponse
{
$date_from = $request->from_date ? $request->from_date .' 00:00:00' : now()->startOfDay()->toDateTimeString();
$date_from = $request->from_date ? $request->from_date.' 00:00:00' : now()->startOfDay()->toDateTimeString();
$date_to = $request->date_to ? $request->date_to.' 23:59:59' : now()->addDay()->startOfDay()->toDateTimeString();
$provinceId = $request->province_id;
$edareId = $request->edare_id;
$data = RoadPatrol::query()
->when($provinceId, fn($query, $provinceId) => $query->where('province_id', '=', $provinceId))
->when($edareId, fn($query, $edareId) => $query->where('edare_id', '=', $edareId))
->when($provinceId, fn ($query, $provinceId) => $query->where('province_id', '=', $provinceId))
->when($edareId, fn ($query, $edareId) => $query->where('edare_id', '=', $edareId))
->whereBetween('created_at', [$date_from, $date_to])
->select('id', 'start_lat', 'start_lon')
->get();
@@ -51,11 +52,11 @@ class ReportController extends Controller
'officer_name' => $roadPatrol->officer_name,
'officer_plaque' => $roadPatrol->officer_plaque,
'officer_phone_number' => $roadPatrol->officer_phone_number,
'created_at' => $roadPatrol->created_at
'created_at' => $roadPatrol->created_at,
];
$observed_items = array();
if($roadPatrol->observedItems) {
$observed_items = [];
if ($roadPatrol->observedItems) {
foreach ($roadPatrol->observedItems as $index => $observed_item) {
$observed_items[] = [
'item' => $observed_item->item_name,
@@ -68,8 +69,10 @@ class ReportController extends Controller
}
$data['observed_items'] = $observed_items;
return $this->successResponse($data);
}
public function countryPatrolActivity(Request $request, ReportService $reportService): JsonResponse
{
$activities = $reportService->countryActivity($request);
@@ -78,13 +81,13 @@ class ReportController extends Controller
return $this->successResponse([
'activities' => $activities['data'],
'provinces' => $provinces
'provinces' => $provinces,
]);
}
public function provincePatrolActivity(Request $request, ReportService $reportService): JsonResponse
{
$request->validate(["province_id" => "required",]);
$request->validate(['province_id' => 'required']);
$activities = $reportService->provinceActivity($request);
@@ -101,7 +104,7 @@ class ReportController extends Controller
$activities = $reportService->countryActivity($request);
$provinces = Province::all(['id', 'name_fa']);
$name = 'گزارش از گشت راهداری و ترابری ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش از گشت راهداری و ترابری '.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new CountryActivity([
'activities' => $activities,
@@ -114,7 +117,7 @@ class ReportController extends Controller
$activities = $reportService->provinceActivity($request);
$edarateShahri = EdarateShahri::query()->where('province_id', '=', $request->province_id)->get(['id', 'name_fa']);
$name = 'گزارش از گشت راهداری و ترابری ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش از گشت راهداری و ترابری '.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new ProvinceActivity([
'activities' => $activities,

View File

@@ -40,8 +40,9 @@ class SupervisorController extends Controller
*/
public function excel(Request $request, SupervisorService $supervisorService): BinaryFileResponse
{
$name = 'گزارش از کارتابل ارزیابی گشت راهداری ' . verta()->now()->format('Y-m-d H:i') . '.xlsx';
$name = 'گزارش از کارتابل ارزیابی گشت راهداری '.verta()->now()->format('Y-m-d H:i').'.xlsx';
$data = $supervisorService->dataTable($request, true);
return Excel::download(new SupervisorCartableReport($data['data']), $name);
}
}

View File

@@ -8,13 +8,11 @@ use App\Http\Requests\V3\Dashboard\RoleManageMent\StoreRequest;
use App\Http\Requests\V3\Dashboard\RoleManageMent\UpdateRequest;
use App\Http\Traits\ApiResponse;
use App\Models\Role;
use App\Services\Cartables\Role\RoleService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Throwable;
class RoleManagementController extends Controller
{
use ApiResponse;
@@ -27,7 +25,8 @@ class RoleManagementController extends Controller
allowedFilters: ['*'],
allowedSortings: ['*'],
allowedSelects: ['id', 'name', 'name_fa', 'description']
);
);
return response()->json($data);
}
@@ -38,8 +37,7 @@ class RoleManagementController extends Controller
{
auth()->user()->addActivityComplete(1043);
$role = DB::transaction(function () use ($request)
{
$role = DB::transaction(function () use ($request) {
$role = Role::create([
'name' => $request->name,
'name_fa' => $request->name_fa,
@@ -60,8 +58,7 @@ class RoleManagementController extends Controller
{
auth()->user()->addActivityComplete(1044);
DB::transaction(function () use ($request, $role)
{
DB::transaction(function () use ($request, $role) {
$role->update([
'name' => $request->name,
'name_fa' => $request->name_fa,

View File

@@ -44,8 +44,9 @@ class OperatorController extends Controller
*/
public function excelReport(Request $request, OperatorService $operatorService): BinaryFileResponse
{
$name = 'گزارش از نگهداری حریم راه ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش از نگهداری حریم راه '.verta()->now()->format('Y-m-d H-i').'.xlsx';
$data = $operatorService->datatable($request);
return Excel::download(new OperatorCartableReport($data['data']), $name);
}
@@ -59,8 +60,7 @@ class OperatorController extends Controller
->where('item', 17)
->firstOrFail();
DB::transaction(function () use ($request, $coordinates, $item, $nominatimService, $user)
{
DB::transaction(function () use ($request, $coordinates, $item, $nominatimService, $user) {
$step = SafetyAndPrivacySteps::SHENASAEI->value;
$safety_and_privacy = SafetyAndPrivacy::query()->create([
'lat' => $coordinates[0],
@@ -73,7 +73,7 @@ class OperatorController extends Controller
'info_fa' => $item->sub_item_str,
'city_id' => $user->city_id,
'city_fa' => $user->city_fa,
'activity_date_time' => $request->activity_date." ".$request->activity_time,
'activity_date_time' => $request->activity_date.' '.$request->activity_time,
'edare_shahri_id' => $user->edarate_shahri_id,
'edare_shahri_name' => $user->edarate_shahri_name,
'way_id' => $nominatimService->get_way_id_from_nominatim($coordinates[0], $coordinates[1]),
@@ -145,13 +145,13 @@ class OperatorController extends Controller
'step_fa' => SafetyAndPrivacySteps::name($step),
'status' => $status_id,
'status_fa' => SafetyAndPrivacyStatus::name($status_id),
'action_picture' => FileFacade::save($request->action_picture, "safety_and_privacy/{$safetyAndPrivacy->id}/action_picture"),
'finish_picture' => FileFacade::save($request->finish_picture, "safety_and_privacy/{$safetyAndPrivacy->id}/finish_picture"),
'action_picture' => FileFacade::save($request->action_picture, "safety_and_privacy/{$safetyAndPrivacy->id}/action_picture"),
'finish_picture' => FileFacade::save($request->finish_picture, "safety_and_privacy/{$safetyAndPrivacy->id}/finish_picture"),
'evidence_picture' => FileFacade::save($request->evidence_picture, "safety_and_privacy/{$safetyAndPrivacy->id}/evidence_picture"),
'action_picture_document_upload_date' => now(),
'action_date' => $request->action_date,
'is_finished' => true,
'final_description' => 'پیام سیستمی : این عملیات پس از طی تمامی گام ها خاتمه یافت'
'final_description' => 'پیام سیستمی : این عملیات پس از طی تمامی گام ها خاتمه یافت',
]);
$user->addActivityComplete(1136);
@@ -183,8 +183,7 @@ class OperatorController extends Controller
{
FileFacade::deleteDirectory("safety_and_privacy/{$safetyAndPrivacy->id}");
DB::transaction(function () use ($safetyAndPrivacy)
{
DB::transaction(function () use ($safetyAndPrivacy) {
auth()->user()->addActivityComplete(1155);
$safetyAndPrivacy->delete();
});

View File

@@ -41,10 +41,12 @@ class AccessRoadActivityController extends Controller
'edarateShahri' => EdarateShahri::where('province_id', $request->province_id)->get(['id', 'name_fa']),
]);
}
public function countryExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
{
$data = $operatorService->countryActivity(90, $request);
$name = 'گزارش نگهداری حریم راه برای راه دسترسی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش نگهداری حریم راه برای راه دسترسی غیر مجاز '.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new ExcelReport($data), $name);
}
@@ -54,8 +56,8 @@ class AccessRoadActivityController extends Controller
$request,
90,
);
$name = 'گزارش نگهداری حریم راه برای راه دسترسی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش نگهداری حریم راه برای راه دسترسی غیر مجاز '.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new AccessRoadReport($data, $request), $name);
}
}

View File

@@ -18,6 +18,7 @@ use Symfony\Component\HttpFoundation\BinaryFileResponse;
class ConstructionActivityController extends Controller
{
use ApiResponse;
public function countryActivity(Request $request, OperatorService $operatorService): JsonResponse
{
$data = $operatorService->countryActivity(89, $request);
@@ -27,7 +28,8 @@ class ConstructionActivityController extends Controller
'provinces' => Province::all(['id', 'name_fa']),
]);
}
public function provinceActivity(Request $request, OperatorService $operatorService,): JsonResponse
public function provinceActivity(Request $request, OperatorService $operatorService): JsonResponse
{
$data = $operatorService->provinceActivity(
$request,
@@ -47,7 +49,7 @@ class ConstructionActivityController extends Controller
public function countryExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
{
$data = $operatorService->countryActivity(89, $request);
$name = ' گزارش نگهداری حریم راه برای ساخت و ساز غیر مجاز' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = ' گزارش نگهداری حریم راه برای ساخت و ساز غیر مجاز'.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new ExcelReport($data), $name);
}
@@ -62,7 +64,7 @@ class ConstructionActivityController extends Controller
$request,
89,
);
$name = ' گزارش نگهداری حریم راه برای ساخت و ساز غیر مجاز' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = ' گزارش نگهداری حریم راه برای ساخت و ساز غیر مجاز'.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new ConstructionReport($data, $request), $name);
}

View File

@@ -27,6 +27,7 @@ class UtilityPassingActivityController extends Controller
'provinces' => Province::all(['id', 'name_fa']),
]);
}
public function provinceActivity(Request $request, OperatorService $operatorService): JsonResponse
{
$data = $operatorService->provinceActivity(
@@ -39,11 +40,13 @@ class UtilityPassingActivityController extends Controller
'edarateShahri' => EdarateShahri::where('province_id', $request->province_id)->get(['id', 'name_fa']),
]);
}
public function countryExcelActivity(Request $request, OperatorService $operatorService): BinaryFileResponse
{
$data = $operatorService->countryActivity(91, $request);
$name = 'گزارش نگهداری حریم راه برای عبور تاسیسات زیربنایی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش نگهداری حریم راه برای عبور تاسیسات زیربنایی غیر مجاز '.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new ExcelReport($data), $name);
}
@@ -53,7 +56,7 @@ class UtilityPassingActivityController extends Controller
$request,
91,
);
$name = 'گزارش نگهداری حریم راه برای عبور تاسیسات زیربنایی غیر مجاز ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش نگهداری حریم راه برای عبور تاسیسات زیربنایی غیر مجاز '.verta()->now()->format('Y-m-d H-i').'.xlsx';
return Excel::download(new UtilityPassingReport($data, $request), $name);
}

View File

@@ -9,7 +9,6 @@ use App\Http\Requests\V3\SafetyAndPrivacy\RejectRequest;
use App\Http\Traits\ApiResponse;
use App\Models\SafetyAndPrivacy;
use App\Services\Cartables\SafetyAndPrivacy\SupervisorService;
use App\Services\Cartables\SafetyAndPrivacyTableService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
@@ -33,8 +32,9 @@ class SupervisorController extends Controller
*/
public function excelReport(Request $request, SupervisorService $supervisorService): BinaryFileResponse
{
$name = 'گزارش از نگهداری حریم راه ' . verta()->now()->format('Y-m-d H-i') . '.xlsx';
$name = 'گزارش از نگهداری حریم راه '.verta()->now()->format('Y-m-d H-i').'.xlsx';
$data = $supervisorService->dataTable($request);
return Excel::download(new SupervisorCartableReport($data['data']), $name);
}

View File

@@ -2,21 +2,8 @@
namespace App\Http\Controllers\V3\Dashboard\SafetyAndPrivacy;
use App\Enums\SafetyAndPrivacyStatus;
use App\Exports\V3\SafetyAndPrivacy\CountryActivityReport;
use App\Exports\V3\SafetyAndPrivacy\ProvinceActivityReport;
use App\Exports\V3\SafetyAndPrivacy\SupervisorCartableReport;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\SafetyAndPrivacy\RejectRequest;
use App\Http\Traits\ApiResponse;
use App\Models\EdarateShahri;
use App\Models\Province;
use App\Models\SafetyAndPrivacy;
use App\Services\Cartables\SafetyAndPrivacyTableService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
class SupervisorReportController extends Controller
{

View File

@@ -5,14 +5,12 @@ namespace App\Http\Controllers\V3\Dashboard;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\Dashboard\UserManagement\GivePermissionRequest;
use App\Http\Requests\V3\Dashboard\UserManagement\GiveRoleRequest;
use App\Http\Requests\V3\Dashboard\UserManagement\PermissionUpdateRequest;
use App\Http\Requests\V3\Dashboard\UserManagement\StoreRequest;
use App\Http\Requests\V3\Dashboard\UserManagement\UpdateRequest;
use App\Http\Traits\ApiResponse;
use App\Models\City;
use App\Models\EdarateOstani;
use App\Models\EdarateShahri;
use App\Models\Permission;
use App\Models\Province;
use App\Models\Role;
use App\Models\User;
@@ -22,7 +20,6 @@ use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Storage;
class UserManagementController extends Controller
{
@@ -75,9 +72,10 @@ class UserManagementController extends Controller
->get();
} else {
return response()->json([
'message' => 'Forbidden'
'message' => 'Forbidden',
], 403);
}
return $this->successResponse($users);
}
@@ -85,36 +83,36 @@ class UserManagementController extends Controller
{
$user = auth()->user();
$user ->addActivityComplete(1039);
$user->addActivityComplete(1039);
User::query()->create([
'username' => $request->username,
'national_code' => $request->national_code,
'password' => Hash::make($request->password),
'province_id' => $request->province_id ?: null,
'city_id' => $request->city_id ?: null,
'edarate_ostani_id' => $request->edarate_ostani_id,
'edarate_shahri_id' => $request->edarate_shahri_id,
'first_name' => $request->first_name,
'last_name' => $request->last_name,
'position' => $request->position,
'mobile' => $request->mobile,
'degree' => $request->degree,
'major' => $request->major,
'username' => $request->username,
'national_code' => $request->national_code,
'password' => Hash::make($request->password),
'province_id' => $request->province_id ?: null,
'city_id' => $request->city_id ?: null,
'edarate_ostani_id' => $request->edarate_ostani_id,
'edarate_shahri_id' => $request->edarate_shahri_id,
'first_name' => $request->first_name,
'last_name' => $request->last_name,
'position' => $request->position,
'mobile' => $request->mobile,
'degree' => $request->degree,
'major' => $request->major,
]);
$user->province_fa = ($request->province_id == 0) ? 'ستاد' : Province::find($request->province_id)->name_fa;
$user->city_fa = ($request->city_id == 0) ? null : City::find($request->city_id)->name_fa ;
$user->city_fa = ($request->city_id == 0) ? null : City::find($request->city_id)->name_fa;
if ($request->edarate_ostani_id != 'null') {
$temp = EdarateOstani::find($request->edarate_ostani_id)->name_fa;
$user->edarate_ostani_id = $request->edarate_ostani_id;
$user->edarate_ostani_name = $temp;
if ($request->province_id == 0) {
$user->name = $temp .' '. $user->province_fa;
$user->name = $temp.' '.$user->province_fa;
} else {
$user->name = $temp .' استان '. $user->province_fa;
$user->name = $temp.' استان '.$user->province_fa;
}
} else {
$temp = EdarateShahri::find($request->edarate_shahri_id)->name_fa;
@@ -122,9 +120,9 @@ class UserManagementController extends Controller
$user->edarate_shahri_name = $temp;
if ($request->province_id == 0) {
$user->name = $temp .' '. $user->province_fa;
$user->name = $temp.' '.$user->province_fa;
} else {
$user->name = $temp .' استان '. $user->province_fa;
$user->name = $temp.' استان '.$user->province_fa;
}
}
@@ -137,6 +135,7 @@ class UserManagementController extends Controller
public function show(User $user)
{
$user = User::where('id', $user->id)->with(['roles', 'permissions'])->get();
return $this->successResponse($user);
}
@@ -145,33 +144,33 @@ class UserManagementController extends Controller
auth()->user()->addActivityComplete(1040);
$user->update([
'username' => $request->username,
'national_code' => $request->national_code,
'password' => Hash::make($request->password),
'province_id' => $request->province_id ?: null,
'city_id' => $request->city_id ?: null,
'edarate_ostani_id' => $request->edarate_ostani_id,
'edarate_shahri_id' => $request->edarate_shahri_id,
'first_name' => $request->first_name,
'last_name' => $request->last_name,
'position' => $request->position,
'mobile' => $request->mobile,
'degree' => $request->degree,
'major' => $request->major,
'username' => $request->username,
'national_code' => $request->national_code,
'password' => Hash::make($request->password),
'province_id' => $request->province_id ?: null,
'city_id' => $request->city_id ?: null,
'edarate_ostani_id' => $request->edarate_ostani_id,
'edarate_shahri_id' => $request->edarate_shahri_id,
'first_name' => $request->first_name,
'last_name' => $request->last_name,
'position' => $request->position,
'mobile' => $request->mobile,
'degree' => $request->degree,
'major' => $request->major,
]);
$user->province_fa = ($request->province_id == 0) ? 'ستاد' : Province::find($request->province_id)->name_fa;
$user->city_fa = ($request->city_id == 0) ? null : City::find($request->city_id)->name_fa ;
$user->city_fa = ($request->city_id == 0) ? null : City::find($request->city_id)->name_fa;
if ($request->edarate_ostani_id != 'null') {
$temp = EdarateOstani::find($request->edarate_ostani_id)->name_fa;
$user->edarate_ostani_id = $request->edarate_ostani_id;
$user->edarate_ostani_name = $temp;
if ($request->province_id == 0) {
$user->name = $temp .' '. $user->province_fa;
$user->name = $temp.' '.$user->province_fa;
} else {
$user->name = $temp .' استان '. $user->province_fa;
$user->name = $temp.' استان '.$user->province_fa;
}
} else {
$temp = EdarateShahri::find($request->edarate_shahri_id)->name_fa;
@@ -179,18 +178,18 @@ class UserManagementController extends Controller
$user->edarate_shahri_name = $temp;
if ($request->province_id == 0) {
$user->name = $temp .' '. $user->province_fa;
$user->name = $temp.' '.$user->province_fa;
} else {
$user->name = $temp .' استان '. $user->province_fa;
$user->name = $temp.' استان '.$user->province_fa;
}
}
if (!is_null($request->password)) {
if (! is_null($request->password)) {
$user->password = Hash::make($request->password);
}
if (!is_null($request->permissions)) {
$user->syncPermissions(explode(",", $request->permissions));
if (! is_null($request->permissions)) {
$user->syncPermissions(explode(',', $request->permissions));
}
if ($request->filled('roles')) {
@@ -205,10 +204,11 @@ class UserManagementController extends Controller
public function destroy(User $user)
{
$user->delete();
return $this->successResponse();
}
public function givePermissionsTo(GivePermissionRequest $request,User $user): JsonResponse
public function givePermissionsTo(GivePermissionRequest $request, User $user): JsonResponse
{
$user->givePermissionTo($request->permissions);
@@ -223,6 +223,7 @@ class UserManagementController extends Controller
return $this->successResponse($role->load('permissions'));
}
public function giveRolesToUser(GiveRoleRequest $request, User $user): JsonResponse
{
$roles = $request->roles;
@@ -257,14 +258,15 @@ class UserManagementController extends Controller
{
$request->validate([
'user_ids' => 'required|regex:/^(\d+)(,\d+)*$/',
'confirm' => 'required|in:0,1'
'confirm' => 'required|in:0,1',
]);
$user_ids = explode(",", $request->user_ids);
$user_ids = explode(',', $request->user_ids);
User::whereIn('id', $user_ids)->update([
'confirmed' => $request->confirm
'confirmed' => $request->confirm,
]);
return $this->successResponse();
}
@@ -276,14 +278,14 @@ class UserManagementController extends Controller
]);
$user->password = Hash::make($request->password);
$user->save();
return $this->successResponse();
}
public function getUserSummaryReport(Request $request, User $user)
{
$request->fromDate = $request->fromDate ? $request->fromDate . " 00:00:00" : Carbon::now()->subDays(30)->format('Y-m-d 00:00:00');
$request->toDate = $request->toDate ? $request->toDate . " 23:59:59" : Carbon::now()->format('Y-m-d 23:59:59');
$request->fromDate = $request->fromDate ? $request->fromDate.' 00:00:00' : Carbon::now()->subDays(30)->format('Y-m-d 00:00:00');
$request->toDate = $request->toDate ? $request->toDate.' 23:59:59' : Carbon::now()->format('Y-m-d 23:59:59');
$data = [];
$ids_list = '';
@@ -300,7 +302,7 @@ class UserManagementController extends Controller
HOUR (created_at) AS hh,
user_id
FROM user_activity_logs
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$user->id.")
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$user->id.')
) user_activity_distinct
GROUP BY yy,
mm,
@@ -308,7 +310,7 @@ class UserManagementController extends Controller
hh,
user_id
) user_activity_by_hour_and_
GROUP BY user_id) AS calculated_table;";
GROUP BY user_id) AS calculated_table;';
$temp_sql_for_activity_list = "
SELECT *,
@@ -318,29 +320,28 @@ class UserManagementController extends Controller
description,
log_unique_code
FROM user_activity_logs
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$user->id.")
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$user->id.')
) user_activity_distinct
GROUP BY
log_unique_code
ORDER BY cnt desc";
ORDER BY cnt desc';
$number_of_active_days = "
SELECT COUNT(*) AS cnt
FROM (
SELECT mm,dd
FROM user_activity_logs
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$user->id.")
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$user->id.')
GROUP BY
mm,dd
) active_days
ORDER BY cnt desc";
ORDER BY cnt desc';
$number_of_activities = "
SELECT COUNT(*) AS cnt
FROM user_activity_logs
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$user->id.")
ORDER BY cnt desc";
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$user->id.')
ORDER BY cnt desc';
$number_of_active_days = (DB::select($number_of_active_days)[0]->cnt ? DB::select($number_of_active_days)[0]->cnt : -1);
$activity_time = DB::select($temp_sql_for_activity_time)[0]->activity;
@@ -349,20 +350,21 @@ class UserManagementController extends Controller
'number_of_active_days' => $number_of_active_days,
'activity_time' => $user->id ? $activity_time : null,
'average_activity_time' => round(($user->id ? $activity_time : 0) / $number_of_active_days, 2) ,
'number_of_activities' => $number_of_activities ,
'average_activity_number' => round(($user->id ? $number_of_activities : 0) / $number_of_active_days, 2) ,
'average_activity_time' => round(($user->id ? $activity_time : 0) / $number_of_active_days, 2),
'number_of_activities' => $number_of_activities,
'average_activity_number' => round(($user->id ? $number_of_activities : 0) / $number_of_active_days, 2),
'activity_list' => $user->id ? DB::select($temp_sql_for_activity_list) : null,
'last_login' => $user->last_login,
];
return $data;
}
public function printGroup(User $user, Request $request)
{
$request->fromDate = $request->fromDate ? $request->fromDate . " 00:00:00" : Carbon::now()->format('Y-m-d 00:00:00') ;
$request->toDate = $request->toDate ? $request->toDate . " 23:59:59" : Carbon::now()->format('Y-m-d 23:59:59');
$request->fromDate = $request->fromDate ? $request->fromDate.' 00:00:00' : Carbon::now()->format('Y-m-d 00:00:00');
$request->toDate = $request->toDate ? $request->toDate.' 23:59:59' : Carbon::now()->format('Y-m-d 23:59:59');
$data = [];
@@ -370,21 +372,20 @@ class UserManagementController extends Controller
// $users = $role->users()->select("*")->get()->toArray();
// foreach ($user as $index => $item) {
$user_activity_quantity_temp[$user->id] = [
"majmoe" => 0,
"name" => $user->first_name ? $user->first_name." ".$user->last_name." (".$user->username.")" : $user->name." (".$user->username.")",
'majmoe' => 0,
'name' => $user->first_name ? $user->first_name.' '.$user->last_name.' ('.$user->username.')' : $user->name.' ('.$user->username.')',
];
$user_activity_time_temp[$user->id] = [
"majmoe" => 0,
"name" => $user->first_name ? $user->first_name." ".$user->last_name." (".$user->username.")" : $user->name."(".$user->username.")",
'majmoe' => 0,
'name' => $user->first_name ? $user->first_name.' '.$user->last_name.' ('.$user->username.')' : $user->name.'('.$user->username.')',
];
$user_activity_top_5_temp[$user->id] = [
"activity_list" => [],
"name" => $user->first_name ? $user->first_name." ".$user->last_name." (".$user->username.")" : $user->name."(".$user->username.")",
'activity_list' => [],
'name' => $user->first_name ? $user->first_name.' '.$user->last_name.' ('.$user->username.')' : $user->name.'('.$user->username.')',
];
// if (!$index) {
$ids_list = $user->id;
// } else {
@@ -399,7 +400,7 @@ class UserManagementController extends Controller
COUNT(*) AS quantity
FROM user_activity_logs
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.")
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.')
GROUP BY yy,
mm,
@@ -407,18 +408,18 @@ class UserManagementController extends Controller
hh,
user_id
) user_activity_by_hour_and_
GROUP BY user_id) AS calculated_table;";
GROUP BY user_id) AS calculated_table;';
$quantitative_activity_chart_sql = "
SELECT created_at,
COUNT(*) AS quantity
FROM user_activity_logs
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.")
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.')
GROUP BY
yy,
mm,
dd ;";
dd ;';
$hourly_activity_chart_sql = "
SELECT
@@ -430,7 +431,7 @@ class UserManagementController extends Controller
hh,
COUNT(*) AS quantity
FROM user_activity_logs
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.")
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.')
GROUP BY yy,
mm,
dd,
@@ -440,14 +441,13 @@ class UserManagementController extends Controller
GROUP BY
yy,
mm,
dd;";
dd;';
$total_activity_quantity_sql = "
SELECT COUNT(*) AS total_activity_quantity
FROM user_activity_logs
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.")
";
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.')
';
$top_10_activity_list_sql = "
SELECT *,
@@ -457,13 +457,12 @@ class UserManagementController extends Controller
description,
log_unique_code
FROM user_activity_logs
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.")
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.')
) user_activity_distinct
GROUP BY
log_unique_code
ORDER BY quantity desc
LIMIT 10";
LIMIT 10';
$user_activity_quantity_sql = "
SELECT *,
@@ -476,10 +475,10 @@ class UserManagementController extends Controller
user_name,
username
FROM user_activity_logs
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.")
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.')
) user_activity_distinct
GROUP BY user_id
ORDER BY quantity desc";
ORDER BY quantity desc';
$active_user_count_sql = "
SELECT COUNT(*) AS active_user_count
@@ -487,9 +486,9 @@ class UserManagementController extends Controller
SELECT
user_id
FROM user_activity_logs
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.")
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.')
GROUP BY user_id
) grpuped_by_user_id";
) grpuped_by_user_id';
$user_activity_time_sql = "
select
@@ -504,7 +503,7 @@ class UserManagementController extends Controller
user_id,
COUNT(*) AS quantity
FROM user_activity_logs
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.")
WHERE created_at between '{$request->fromDate}' and '{$request->toDate}' and user_id IN(".$ids_list.')
GROUP BY yy,
mm,
dd,
@@ -512,19 +511,19 @@ class UserManagementController extends Controller
user_id
) user_activity_by_hour_and_
GROUP BY user_id
ORDER BY majmoe desc;";
ORDER BY majmoe desc;';
foreach (DB::select($user_activity_quantity_sql) as $key => $value) {
$user_activity_quantity_temp[$value->user_id] = [
"majmoe" => $value->quantity ?? 0,
"name" => $value->user_first_name ? $value->user_first_name." ".$value->user_last_name." (".$value->username.")" : $value->user_name." (".$value->username.")",
'majmoe' => $value->quantity ?? 0,
'name' => $value->user_first_name ? $value->user_first_name.' '.$value->user_last_name.' ('.$value->username.')' : $value->user_name.' ('.$value->username.')',
];
}
foreach (DB::select($user_activity_time_sql) as $key => $value) {
$user_activity_time_temp[$value->user_id] = [
"majmoe" => $value->majmoe ?? 0,
"name" => $value->user_first_name ? $value->user_first_name." ".$value->user_last_name." (".$value->username.")" : $value->user_name." (".$value->username.")",
'majmoe' => $value->majmoe ?? 0,
'name' => $value->user_first_name ? $value->user_first_name.' '.$value->user_last_name.' ('.$value->username.')' : $value->user_name.' ('.$value->username.')',
];
}
@@ -546,9 +545,9 @@ class UserManagementController extends Controller
$sum += (int) $item->quantity;
}
$user_activity_top_5_temp[$key] = [
"sum" => $sum,
"name" => $value['name'],
"activity_list" => $activity_list,
'sum' => $sum,
'name' => $value['name'],
'activity_list' => $activity_list,
];
}
arsort($user_activity_top_5_temp);
@@ -564,19 +563,21 @@ class UserManagementController extends Controller
'total_activity_time' => $ids_list ? DB::select($total_activity_time_sql)[0]->activity : null,
'top_10_activity_list' => $ids_list ? DB::select($top_10_activity_list_sql) : null,
'user_activity_quantity' => $ids_list ? $user_activity_quantity_temp : null,
'group_name' => $user->first_name." ".$user->last_name,
'average' => round(($ids_list ? DB::select($total_activity_time_sql)[0]->activity : 0) / 1, 2) ,
'group_name' => $user->first_name.' '.$user->last_name,
'average' => round(($ids_list ? DB::select($total_activity_time_sql)[0]->activity : 0) / 1, 2),
'user_activity_top_5_temp' => $user_activity_top_5_temp,
'total_user_count' => 1,
'active_user_count' => $ids_list ? DB::select($active_user_count_sql)[0]->active_user_count : null,
'group_id' => $user->id
'group_id' => $user->id,
];
return View('word.user-activity-individual', compact('data'));
}
public function userPermission($id)
{
$user = User::find($id);
return response()->json([
'message' => 'success',
'data' => $user->permissions,
@@ -588,29 +589,30 @@ class UserManagementController extends Controller
if (auth()->user()) {
auth()->user()->addActivityComplete(1042);
}
$permissions = explode(",", $request->permissions);
$permissions = explode(',', $request->permissions);
if (! $permissions == null) {
$user->syncPermissions($permissions);
}
return response()->json([
'message' => 'status',
'data' => User::where('id', $user->id)->with(['permissions'])->get()
'data' => User::where('id', $user->id)->with(['permissions'])->get(),
]);
}
public function changeUserEnabeld(User $user)
{
if (Auth::user()->checkUserHasPermission('full-user-management')) {
$user->enabled = !$user->enabled;
$user->enabled = ! $user->enabled;
return $this->successResponse($user);
} elseif (Auth::user()->checkUserHasPermission('limited-user-management') && Auth::user()->province_id == $user->province_id) {
$user->enabled = !$user->enabled;
$user->enabled = ! $user->enabled;
return $this->successResponse();
} else {
return response()->json([
'message' => 'Forbidden'
'message' => 'Forbidden',
], 403);
}
}

View File

@@ -19,12 +19,13 @@ class FMSVehicleManagementController extends Controller
public function getActivity(Request $request, GetVehicleActivityService $getVehicleActivityService): JsonResponse
{
$getVehicleActivityService->setInputParameters([
"machineCode" => $request->machineCode,
"startDT" => $request->startDT,
"endDT" => $request->endDT,
'machineCode' => $request->machineCode,
'startDT' => $request->startDT,
'endDT' => $request->endDT,
]);
$data = $getVehicleActivityService->run();
return $this->successResponse($data);
}
}

View File

@@ -2,14 +2,13 @@
namespace App\Http\Controllers\V3\Harim;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Harim\Divarkeshi;
use App\Http\Requests\V3\Harim\Divarkeshi\StoreRequest;
use App\Http\Traits\ApiResponse;
use App\Models\Harim\Divarkeshi;
use Illuminate\Http\JsonResponse;
use App\Facades\DataTable\DataTableFacade;
use Illuminate\Http\Request;
class DivarkeshiController extends Controller
{
@@ -17,7 +16,7 @@ class DivarkeshiController extends Controller
public function index(Request $request): JsonResponse
{
$columns = array(
$columns = [
'dabirkhaneh_number',
'nameh_date',
'nameh_date_fa',
@@ -72,7 +71,7 @@ class DivarkeshiController extends Controller
'shomare_daftarkhaneh',
'description',
'ronevesht',
);
];
$allowedFilters = $columns;
$allowedSortings = $columns;
@@ -160,5 +159,4 @@ class DivarkeshiController extends Controller
{
return $this->successResponse($divarkeshi);
}
}

View File

@@ -8,8 +8,8 @@ use App\Http\Requests\V3\LogList\StoreRequest;
use App\Http\Requests\V3\LogList\UpdateRequest;
use App\Http\Traits\ApiResponse;
use App\Models\LogList;
use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class LogListManagementController extends Controller
{
@@ -52,12 +52,14 @@ class LogListManagementController extends Controller
'log_unique_code' => $request->log_unique_code,
'action_type' => $request->action_type,
]);
return $this->successResponse();
}
public function destroy(LogList $logList): JsonResponse
{
$logList->delete();
return $this->successResponse();
}
}

View File

@@ -11,7 +11,6 @@ use App\Models\Mission;
use App\Models\RoadItemsProject;
use App\Models\RoadObserved;
use App\Models\SafetyAndPrivacy;
use App\Models\User;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Throwable;
@@ -22,6 +21,7 @@ class NotificationController extends Controller
/**
* Handle the incoming request.
*
* @throws Throwable
*/
public function __invoke(Request $request): JsonResponse
@@ -41,7 +41,7 @@ class NotificationController extends Controller
{
$user = auth()->user();
$road_items = [
'total' => 0
'total' => 0,
];
if ($user->hasPermissionTo('create-road-item')) {
@@ -60,9 +60,8 @@ class NotificationController extends Controller
->count();
$road_items['total'] += $road_items['supervise_cnt'];
}
elseif ($user->hasPermissionTo('supervise-road-item-province')) {
throw_if(is_null($user->province_id) || !$user->province_id, new ProhibitedAction('استانی برای شما در سامانه ثبت نشده است!'));
} elseif ($user->hasPermissionTo('supervise-road-item-province')) {
throw_if(is_null($user->province_id) || ! $user->province_id, new ProhibitedAction('استانی برای شما در سامانه ثبت نشده است!'));
$road_items['supervise_cnt'] = RoadItemsProject::query()
->where('is_new', '=', 1)
@@ -71,20 +70,20 @@ class NotificationController extends Controller
->count();
$road_items['total'] += $road_items['supervise_cnt'];
}
elseif ($user->hasPermissionTo('supervise-road-item-by-edareostani')) {
throw_if(is_null($user->edarate_ostani_id) || !$user->edarate_ostani_id, new ProhibitedAction('اداره ای برای شما در سامانه ثبت نشده است!'));
} elseif ($user->hasPermissionTo('supervise-road-item-by-edareostani')) {
throw_if(is_null($user->edarate_ostani_id) || ! $user->edarate_ostani_id, new ProhibitedAction('اداره ای برای شما در سامانه ثبت نشده است!'));
$confirmableItems = EdarateOstani::query()->where('id', '=', $user->edarate_ostani_id)->value('items_for_confirm');
$road_items['supervise_cnt'] = RoadItemsProject::query()
->where('is_new', '=', 1)
->where('province_id', '=', $user->province_id)
->whereIn('item', explode(",", $confirmableItems))
->whereIn('item', explode(',', $confirmableItems))
->where('status', '=', 0)
->count();
$road_items['total'] += $road_items['supervise_cnt'];
}
return $road_items;
}
@@ -94,15 +93,14 @@ class NotificationController extends Controller
private function safetyAndPrivacyNotifications(): JsonResponse|array
{
$user = auth()->user();
$safety_and_privacy = array();
$safety_and_privacy = [];
if ($user->hasPermissionTo('show-safety-and-privacy-operator-cartable')) {
$safety_and_privacy['supervise_cnt'] = SafetyAndPrivacy::query()
->where('is_finished', '=', 1)
->where('status', '=', 0)
->count();
}
elseif ($user->hasPermissionTo('show-safety-and-privacy-operator-cartable-province')) {
} elseif ($user->hasPermissionTo('show-safety-and-privacy-operator-cartable-province')) {
throw_if(is_null($user->province_id), new ProhibitedAction('استانی برای شما در سامانه ثبت نشده است!'));
$safety_and_privacy['supervise_cnt'] = SafetyAndPrivacy::query()
@@ -110,8 +108,7 @@ class NotificationController extends Controller
->where('is_finished', '=', 1)
->where('status', '=', 0)
->count();
}
elseif ($user->hasPermissionTo('show-safety-and-privacy-operator-cartable-edarate-shahri')) {
} elseif ($user->hasPermissionTo('show-safety-and-privacy-operator-cartable-edarate-shahri')) {
throw_if(is_null($user->edarate_shahri_id), new ProhibitedAction('اداره ای برای شما در سامانه ثبت نشده است!'));
$activity = SafetyAndPrivacy::query()
@@ -142,45 +139,43 @@ class NotificationController extends Controller
'total' => 0,
'operation_cnt' => 0,
'complaint_cnt' => 0,
'supervise_cnt' => 0
'supervise_cnt' => 0,
];
if ($user->hasPermissionTo('show-fast-react')) {
$road_observations['supervise_cnt'] = RoadObserved::query()->where([
['rms_status', '<>', 0],
['status', '=', 0]
['status', '=', 0],
])->count();
$road_observations['complaint_cnt'] = RoadObserved::query()->where('rms_status', '=', 0)
->whereNotNull('edarate_shahri_id')
->count();
}
elseif ($user->hasPermissionTo('show-fast-react-province')) {
} elseif ($user->hasPermissionTo('show-fast-react-province')) {
throw_if(is_null($user->province_id), new ProhibitedAction('استانی برای شما در سامانه ثبت نشده است!'));
$road_observations['supervise_cnt'] = RoadObserved::query()->where([
['rms_status', '<>', 0],
['status', '=', 0],
['province_id', '=', $user->province_id]
['province_id', '=', $user->province_id],
])->count();
$road_observations['complaint_cnt'] = RoadObserved::query()->where([
['rms_status', '=', 0],
['province_id', '=', $user->province_id]
['province_id', '=', $user->province_id],
])->count();
}
elseif ($user->hasPermissionTo('show-fast-react-edarate-shahri')) {
} elseif ($user->hasPermissionTo('show-fast-react-edarate-shahri')) {
throw_if(is_null($user->edarate_shahri_id), new ProhibitedAction('اداره ای برای شما در سامانه ثبت نشده است!'));
$road_observations['operation_cnt'] = RoadObserved::query()->where([
['rms_status', '<>', 0],
['status', '=', 2],
['edarate_shahri_id', '=', $user->edarate_shahri_id]
['edarate_shahri_id', '=', $user->edarate_shahri_id],
])->count();
$road_observations['complaint_cnt'] = RoadObserved::query()->where([
['rms_status', '=', 0],
['edarate_shahri_id', '=', $user->edarate_shahri_id]
['edarate_shahri_id', '=', $user->edarate_shahri_id],
])->count();
}
@@ -196,7 +191,7 @@ class NotificationController extends Controller
'request_portal' => Mission::query()
->where([
['state_id', '=', MissionStates::REJECT_BY_TRANSPORTATION->value],
['user_id', '=', $user->id]
['user_id', '=', $user->id],
])->count(),
'transportation' => 0,
'control' => 0,
@@ -205,13 +200,13 @@ class NotificationController extends Controller
if ($user->hasPermissionTo('manage-transportation-unit')) {
$missions['transportation'] = Mission::query()->where([
['state_id', '=', MissionStates::REQUEST_CREATED->value],
['edare_shahri_id', '=', $user->edarate_shahri_id]
['edare_shahri_id', '=', $user->edarate_shahri_id],
])->count();
}
if ($user->hasPermissionTo('manage-control-unit')) {
$missions['control'] = Mission::query()->where([
['state_id', '=', MissionStates::PENDING_CONFIRMATION->value],
['edare_shahri_id', '=', $user->edarate_shahri_id]
['edare_shahri_id', '=', $user->edarate_shahri_id],
])->count();
}

View File

@@ -14,6 +14,7 @@ use Illuminate\Http\Request;
class PermissionManagementController extends Controller
{
use ApiResponse;
/**
* Display a listing of the resource.
*/
@@ -78,6 +79,7 @@ class PermissionManagementController extends Controller
public function destroy(Permission $permission): JsonResponse
{
$permission->delete();
return $this->successResponse();
}
}

View File

@@ -2,21 +2,20 @@
namespace App\Http\Controllers\V3;
use App\Facades\File\FileFacade;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\Profile\ChangePasswordRequest;
use App\Http\Requests\V3\Profile\EditRequest;
use App\Http\Traits\ApiResponse;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Storage;
class ProfileController extends Controller
{
use ApiResponse;
public function info(): JsonResponse
{
$user = Auth::user();
@@ -32,7 +31,7 @@ class ProfileController extends Controller
'degree' => $user->degree,
'mobile' => $user->mobile,
'province_id' => $user->province_id,
'avatar' => $user->avatarUrl()
'avatar' => $user->avatarUrl(),
]);
}
@@ -40,16 +39,15 @@ class ProfileController extends Controller
{
$user = Auth::user();
if ($request->has('avatar'))
{
if ($request->has('avatar')) {
if ($user->avatar) {
File::delete($user->avatar);
}
$destinationPath = 'avatar/' . $user->username;
$filename = time() .".". $request->file('avatar')->getClientOriginalExtension();
$destinationPath = 'avatar/'.$user->username;
$filename = time().'.'.$request->file('avatar')->getClientOriginalExtension();
$request->file('avatar')->storeAs($destinationPath, $filename, 'public');
$avatar = 'storage/'.$destinationPath ."/". $filename;
$avatar = 'storage/'.$destinationPath.'/'.$filename;
}
$user->update([
@@ -58,7 +56,7 @@ class ProfileController extends Controller
'major' => $request->major,
'degree' => $request->degree,
'mobile' => $request->mobile,
'avatar' => $avatar ?? $user->avatar
'avatar' => $avatar ?? $user->avatar,
]);
return $this->successResponse();
@@ -68,13 +66,12 @@ class ProfileController extends Controller
{
$user = Auth::user();
if (! Hash::check($request->current_password, $user->password))
{
if (! Hash::check($request->current_password, $user->password)) {
return $this->errorResponse(__('messages.incorrect_current_password'));
}
$user->update([
'password' => Hash::make($request->new_password)
'password' => Hash::make($request->new_password),
]);
return $this->successResponse();
@@ -84,6 +81,7 @@ class ProfileController extends Controller
public function addActivity(Request $request): JsonResponse
{
auth()->user()->addActivityComplete($request->activityCode);
return $this->successResponse();
}
}

View File

@@ -67,9 +67,9 @@ class RahdaranController extends Controller
$edareh = EdarateShahri::query()->find($request->input('edareh_shahri_id'));
$rahdaran->update([
'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,
@@ -84,9 +84,9 @@ class RahdaranController extends Controller
{
try {
$rahdaran->delete();
return $this->successResponse();
}
catch (QueryException $exception) {
} catch (QueryException $exception) {
return $this->errorResponse('امکان حذف وجود ندارد');
}
}

View File

@@ -11,6 +11,7 @@ use Illuminate\Http\JsonResponse;
class RoadItemController extends Controller
{
use ApiResponse;
public function index(IndexRequest $request): JsonResponse
{
$fromDate = $request->from_date;

View File

@@ -7,7 +7,6 @@ use App\Http\Requests\V3\WebServices\RoadMaintenanceStation\IndexRequest;
use App\Http\Traits\ApiResponse;
use App\Models\RahdariPoint;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class RoadMaintenanceStationController extends Controller
{
@@ -22,11 +21,11 @@ class RoadMaintenanceStationController extends Controller
$data = RahdariPoint::query()
->when($status, fn ($query, $status) => $query->where('status', $status))
->when($type, fn ($query, $type) => $query->where('type', $type))
->when($province, fn($query, $province) => $query->where('province_id', $province))
->when($province, fn ($query, $province) => $query->where('province_id', $province))
->get([
'id', 'province_name', 'city_name', 'name', 'status', 'type_fa', 'phone',
'code', 'lat', 'lng',
]);
'id', 'province_name', 'city_name', 'name', 'status', 'type_fa', 'phone',
'code', 'lat', 'lng',
]);
return $this->successResponse($data);
}

View File

@@ -2,11 +2,9 @@
namespace App\Http\Requests\V3\AccidentReceipt;
use App\Enums\AccidentStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
use Illuminate\Validation\Rule;
class ChangeStatusRequest extends FormRequest
{
@@ -15,7 +13,7 @@ class ChangeStatusRequest extends FormRequest
*/
public function authorize(): bool
{
return Auth::user()->hasPermissionTo('change-accident-status');
return Auth::user()->hasPermissionTo('change-accident-status');
}
/**

View File

@@ -3,7 +3,7 @@
namespace App\Http\Requests\V3\AccidentReceipt;
use App\Enums\AccidentStates;
use App\Models\Accident;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ConfirmPaymentInfoRequest extends FormRequest
@@ -14,14 +14,16 @@ class ConfirmPaymentInfoRequest extends FormRequest
public function authorize(): bool
{
return in_array($this->accident->status,
[AccidentStates::SODOR_NAME_BIME_VA_DAGHI->value, AccidentStates::SABT_FISH->value]
);
[
AccidentStates::SODOR_NAME_BIME_VA_DAGHI->value,
AccidentStates::SABT_FISH->value
]);
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,8 +2,7 @@
namespace App\Http\Requests\V3\AccidentReceipt;
use App\Enums\AccidentStates;
use App\Models\DailyAccidentSettings;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class StoreRequest extends FormRequest
@@ -19,7 +18,7 @@ class StoreRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\AccidentReceipt;
use App\Enums\AccidentStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class SubmitInvoiceRequest extends FormRequest
@@ -18,7 +19,7 @@ class SubmitInvoiceRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\AccidentReceipt;
use App\Enums\AccidentStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class UpdateRequest extends FormRequest
@@ -18,7 +19,7 @@ class UpdateRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\Azmayesh;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class StoreRequest extends FormRequest
@@ -17,7 +18,7 @@ class StoreRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\Azmayesh;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class UpdateRequest extends FormRequest
@@ -17,7 +18,7 @@ class UpdateRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\AzmayeshSample;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class StoreRequest extends FormRequest
@@ -17,7 +18,7 @@ class StoreRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\AzmayeshSample;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class UpdateRequest extends FormRequest
@@ -17,7 +18,7 @@ class UpdateRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\AzmayeshType;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class StoreRequest extends FormRequest
@@ -17,7 +18,7 @@ class StoreRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\AzmayeshType;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class UpdateRequest extends FormRequest
@@ -17,7 +18,7 @@ class UpdateRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\Damage;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class StoreRequest extends FormRequest
@@ -17,14 +18,14 @@ class StoreRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
'title' =>'required|string|max:255|unique:damages,title',
'unit' =>'required|string|max:255',
'base_price' =>'required|integer',
'title' => 'required|string|max:255|unique:damages,title',
'unit' => 'required|string|max:255',
'base_price' => 'required|integer',
];
}
}

View File

@@ -23,9 +23,9 @@ class UpdateRequest extends FormRequest
public function rules(): array
{
return [
'title' =>['required', 'string', 'max:255',Rule::unique('damages','title')->ignore($this->damage->id)],
'unit' =>'required|string',
'base_price' =>'required|integer',
'title' => ['required', 'string', 'max:255', Rule::unique('damages', 'title')->ignore($this->damage->id)],
'unit' => 'required|string',
'base_price' => 'required|integer',
];
}
}

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\Deputy;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ConfirmRequest extends FormRequest
@@ -19,7 +20,7 @@ class ConfirmRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\Deputy;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ReferRequest extends FormRequest
@@ -19,7 +20,7 @@ class ReferRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\Deputy;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ReferRoadAccessRequest extends FormRequest
@@ -19,7 +20,7 @@ class ReferRoadAccessRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,7 +2,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\Deputy;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ShowRequest extends FormRequest
@@ -18,7 +18,7 @@ class ShowRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\GeneralManager;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ConfirmGuaranteeLetterNeedRequest extends FormRequest
@@ -19,7 +20,7 @@ class ConfirmGuaranteeLetterNeedRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\GeneralManager;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ConfirmNoRoadAccessNeedRequest extends FormRequest
@@ -19,7 +20,7 @@ class ConfirmNoRoadAccessNeedRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\GeneralManager;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ConfirmRoadAccessEditNeedRequest extends FormRequest
@@ -19,7 +20,7 @@ class ConfirmRoadAccessEditNeedRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\GeneralManager;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ConfirmRoadAccessNeedRequest extends FormRequest
@@ -19,7 +20,7 @@ class ConfirmRoadAccessNeedRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,7 +2,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\GeneralManager;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ShowRequest extends FormRequest
@@ -18,7 +18,7 @@ class ShowRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\HarimOffice;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class FileAcceptedRequest extends FormRequest
@@ -19,7 +20,7 @@ class FileAcceptedRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\HarimOffice;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class FileRejectedRequest extends FormRequest
@@ -19,7 +20,7 @@ class FileRejectedRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\HarimOffice;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class NeedRoadAccessRequest extends FormRequest
@@ -19,7 +20,7 @@ class NeedRoadAccessRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\HarimOffice;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class RejectRequest extends FormRequest
@@ -16,11 +17,10 @@ class RejectRequest extends FormRequest
$this->harim->state_id == HarimStates::BARESI_TAVASOT_DAFTAR_HARIM->value;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,7 +2,6 @@
namespace App\Http\Requests\V3\Dashboard\Harim\HarimOffice;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
@@ -16,7 +15,6 @@ class ShowRequest extends FormRequest
return $this->harim->province_id == auth()->user()->province_id;
}
/**
* Get the validation rules that apply to the request.
*

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\HarimOffice;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class WithoutRoadAccessRequest extends FormRequest
@@ -19,7 +20,7 @@ class WithoutRoadAccessRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\ProvinceOffice;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class FeedBackRequest extends FormRequest
@@ -19,7 +20,7 @@ class FeedBackRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,7 +2,7 @@
namespace App\Http\Requests\V3\Dashboard\Harim\ProvinceOffice;
use App\Enums\HarimStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ShowRequest extends FormRequest
@@ -15,11 +15,10 @@ class ShowRequest extends FormRequest
return $this->harim->edareh_shahri_id == auth()->user()->edarate_shahri_id;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -25,9 +25,9 @@ class StoreRequest extends FormRequest
return [
'name' => 'required|string|unique:roles,name',
'name_fa' => 'required|string',
'description' =>'string',
'description' => 'string',
'permissions' => 'array',
'permissions.*' => 'integer|exists:permissions,id'
'permissions.*' => 'integer|exists:permissions,id',
];
}
}

View File

@@ -24,11 +24,11 @@ class UpdateRequest extends FormRequest
public function rules(): array
{
return [
'name' => ['required', 'string', 'max:255',Rule::unique('roles','name')->ignore($this->role->id)],
'name' => ['required', 'string', 'max:255', Rule::unique('roles', 'name')->ignore($this->role->id)],
'name_fa' => 'required|string',
'description' =>'string',
'description' => 'string',
'permissions' => 'array',
'permissions.*' => 'integer|exists:permissions,id'
'permissions.*' => 'integer|exists:permissions,id',
];
}
}

View File

@@ -24,7 +24,7 @@ class GivePermissionRequest extends FormRequest
{
return [
'permissions' => 'array',
'permissions.*' => 'integer|exists:permissions,id'
'permissions.*' => 'integer|exists:permissions,id',
];
}
}

View File

@@ -24,7 +24,7 @@ class GiveRoleRequest extends FormRequest
{
return [
'roles' => 'array',
'roles.*' => 'integer|exists:permissions,id'
'roles.*' => 'integer|exists:permissions,id',
];
}
}

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\Dashboard\UserManagement;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class StoreRequest extends FormRequest
@@ -17,7 +18,7 @@ class StoreRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -28,8 +28,8 @@ class UpdateRequest extends FormRequest
'edarate_ostani_id' => 'exists:edarate_ostanis,id',
'city_id' => 'exists:cities,id',
'edarate_shahri_id' => 'exists:edarate_shahris,id',
'username' => ['required',Rule::unique('users','username')->ignore($this->user->id)],
'national_code' =>['required',Rule::unique('users','national_code')->ignore($this->user->id)],
'username' => ['required', Rule::unique('users', 'username')->ignore($this->user->id)],
'national_code' => ['required', Rule::unique('users', 'national_code')->ignore($this->user->id)],
'password' => 'required|min:8',
];
}

View File

@@ -2,8 +2,8 @@
namespace App\Http\Requests\V3\Harim\Divarkeshi;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class StoreRequest extends FormRequest
{
@@ -18,7 +18,7 @@ class StoreRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
@@ -34,10 +34,10 @@ class StoreRequest extends FormRequest
'motaghazi_firstname' => 'required',
'motaghazi_lastname' => 'required',
/// conditional rule
// / conditional rule
'national_id' => 'numeric',
'shenase_melli' => 'numeric',
///
// /
'tel_number' => 'numeric',
'mobile_number' => 'numeric',

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\LogList;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class StoreRequest extends FormRequest
@@ -17,14 +18,14 @@ class StoreRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
'description' =>'required|string',
'log_unique_code' =>'required|numeric|unique:log_lists,log_unique_code',
'action_type' =>'required|string',
'description' => 'required|string',
'log_unique_code' => 'required|numeric|unique:log_lists,log_unique_code',
'action_type' => 'required|string',
];
}
}

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\LogList;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
@@ -18,7 +19,7 @@ class UpdateRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -33,13 +33,13 @@ class StartRequest extends FormRequest
{
return [
function (Validator $validator) {
if ($this->mission->code != $this->code){
if ($this->mission->code != $this->code) {
$validator->errors()->add(
'code',
'کد وارد شده صحیح نمی باشد'
);
}
}
},
];
}
}

View File

@@ -39,27 +39,28 @@ class ContinueMissionRequest extends FormRequest
'area' => 'required|array',
'area.type' => 'required|string',
'area.coordinates' => 'required|array',
'explanation' => 'required|string',
'explanation' => 'required|string',
'category_id' => 'required|in:1,2,3',
'road_observed_id' => 'required_if:category_id,3|exists:road_observeds,id',
];
}
public function after(): array
{
return [
function (Validator $validator) {
if ($this->type == 1){
if ($this->type == 1) {
$start = Carbon::parse($this->start_date);
$end = Carbon::parse($this->end_date);
if ($start->diffInMinutes($end) > 480){
if ($start->diffInMinutes($end) > 480) {
$validator->errors()->add(
'end_date',
'مدت زمان مأموریت ساعتی نباید بیشتر از ۸ ساعت باشد.'
);
}
}
}
},
];
}
}

View File

@@ -36,7 +36,7 @@ class NoProcessRequest extends FormRequest
'area.type' => 'required|string',
'area.coordinates' => 'required|array',
'category_id' => 'required|in:1,2,3',
'explanation' => 'required|string',
'explanation' => 'required|string',
];
}

View File

@@ -37,7 +37,7 @@ class StoreRequest extends FormRequest
'area' => 'required|array',
'area.type' => 'required|string',
'area.coordinates' => 'required|array',
'explanation' => 'required|string',
'explanation' => 'required|string',
'category_id' => 'required|in:1,2,3',
'road_observed_id' => 'required_if:category_id,3|exists:road_observeds,id',
];
@@ -47,18 +47,18 @@ class StoreRequest extends FormRequest
{
return [
function (Validator $validator) {
if ($this->type == 1){
if ($this->type == 1) {
$start = Carbon::parse($this->start_date);
$end = Carbon::parse($this->end_date);
if ($start->diffInMinutes($end) > 480){
if ($start->diffInMinutes($end) > 480) {
$validator->errors()->add(
'end_date',
'مدت زمان مأموریت ساعتی نباید بیشتر از ۸ ساعت باشد.'
'مدت زمان مأموریت ساعتی نباید بیشتر از ۸ ساعت باشد.'
);
}
}
}
},
];
}
}

View File

@@ -38,7 +38,7 @@ class UpdateRequest extends FormRequest
'area' => 'required|array',
'area.type' => 'required|string',
'area.coordinates' => 'required|array',
'explanation' => 'required|string',
'explanation' => 'required|string',
'category_id' => 'required|in:1,2,3',
'road_observed_id' => 'required_if:category_id,3|exists:road_observeds,id',
];
@@ -48,18 +48,18 @@ class UpdateRequest extends FormRequest
{
return [
function (Validator $validator) {
if ($this->type === 1){
if ($this->type === 1) {
$start = Carbon::parse($this->start_date);
$end = Carbon::parse($this->end_date);
if ($start->diffInMinutes($end) > 480){
if ($start->diffInMinutes($end) > 480) {
$validator->errors()->add(
'end_date',
'مدت زمان مأموریت ساعتی نباید بیشتر از ۸ ساعت باشد.'
);
}
}
}
},
];
}
}

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Mission\TransportaionUnit;
use App\Enums\MissionStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class AllocateRequest extends FormRequest
@@ -18,7 +19,7 @@ class AllocateRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -3,6 +3,7 @@
namespace App\Http\Requests\V3\Mission\TransportaionUnit;
use App\Enums\MissionStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class DeallocateRequest extends FormRequest
@@ -18,7 +19,7 @@ class DeallocateRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\ObservedItem;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class StoreRequest extends FormRequest
@@ -17,7 +18,7 @@ class StoreRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\Otp;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class GetOtpTokenRequest extends FormRequest
@@ -17,7 +18,7 @@ class GetOtpTokenRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
@@ -29,7 +30,7 @@ class GetOtpTokenRequest extends FormRequest
public function messages(): array
{
return [
'starts_with' => ':attribute باید با :values شروع شود.'
'starts_with' => ':attribute باید با :values شروع شود.',
];
}
}

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\Permission;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class StoreRequest extends FormRequest
@@ -17,7 +18,7 @@ class StoreRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

View File

@@ -2,6 +2,7 @@
namespace App\Http\Requests\V3\Permission;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class UpdateRequest extends FormRequest
@@ -17,7 +18,7 @@ class UpdateRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{

Some files were not shown because too many files have changed in this diff Show More