create complaints blade

This commit is contained in:
2025-02-25 15:03:30 +03:30
parent 2adf091f7d
commit d0c9908e6c
6 changed files with 204 additions and 24 deletions

View File

@@ -1,6 +1,7 @@
<?php
namespace App\Http\Controllers\V3\Dashboard;
use App\Exports\V3\RoadObservation\ComplaintsReport;
use App\Exports\V3\RoadObservation\OperatorCartableReport;
use App\Exports\V3\RoadObservation\SupervisorCartableReport;
use App\Facades\File\FileFacade;
@@ -11,6 +12,7 @@ use App\Http\Requests\V3\RoadObservation\RestoreRequest;
use App\Http\Requests\V3\RoadObservation\VerifyBySupervisorRequest;
use App\Http\Traits\ApiResponse;
use App\Models\EdarateShahri;
use App\Models\Province;
use App\Models\RoadObservationHistory;
use App\Models\RoadObserved;
use App\Models\User;
@@ -74,9 +76,16 @@ class RoadObservationController extends Controller
return Excel::download(new OperatorCartableReport($data['data']), $name);
}
public function complaintsIndex(Request $request, RoadObservationTableService $roadObservationTableservice): JsonResponse
public function complaintsIndex(Request $request, RoadObservationTableService $roadObservationTableService): JsonResponse
{
return response()->json($roadObservationTableservice->complaintsIndex($request));
return response()->json($roadObservationTableService->complaintsIndex($request));
}
public function complaintsReport(Request $request, RoadObservationTableService $roadObservationTableService): BinaryFileResponse
{
$name = 'گزارش از رسیدگی به شکایات واکنش سریع ' . verta()->now()->format('Y-m-d H:i') . '.xlsx';
$data = $roadObservationTableService->complaintsIndex($request);
return Excel::download(new ComplaintsReport($data['data']), $name);
}
public function register(Request $request, RoadObserved $roadObserved, NikarayanService $nikarayanService): JsonResponse
@@ -142,8 +151,7 @@ class RoadObservationController extends Controller
public function refer(ReferRequest $request, RoadObserved $roadObserved): JsonResponse
{
RoadObservationHistory::query()->create([
'id' => $roadObserved->id,
$roadObserved->problemHistories()->create([
'user_id' => auth()->user()->id,
'action' => 'refer',
'description' => $request->refer_description,
@@ -165,17 +173,18 @@ class RoadObservationController extends Controller
public function referList(Request $request, RoadObserved $roadObserved): JsonResponse
{
$data = RoadObservationHistory::query()
->where('id', '=', $roadObserved->id)
->where('action', '=', 'refer')
->get();
$referList = [];
$data = $roadObserved->problemHistories()->where('action', '=', 'refer')->get();
foreach ($data as $key => $value) {
$data[$key]->from_edareh = EdarateShahri::find($value->from_edareh)->name_fa;
$data[$key]->to_edareh = EdarateShahri::find($value->to_edareh)->name_fa;
$user = User::find($value->user_id);
$data[$key]->user = $user->first_name . ' ' . $user->last_name;
$referList[$key]['from_edareh'] = EdarateShahri::query()->find($value->from_edareh)->name_fa;
$referList[$key]['to_edareh'] = EdarateShahri::query()->find($value->to_edareh)->name_fa;
$referList[$key]['from_province'] = Province::query()->find($value->from_province)->name_fa;
$referList[$key]['to_province'] = Province::query()->find($value->to_province)->name_fa;
$user = User::query()->find($value->user_id);
$referList[$key]['user'] = $user->first_name . ' ' . $user->last_name;
}
return $this->successResponse($data);
return $this->successResponse($referList);
}
public function restore(RestoreRequest $request, RoadObserved $roadObserved): JsonResponse
@@ -200,8 +209,7 @@ class RoadObservationController extends Controller
'status_fa' => null,
]);
RoadObservationHistory::query()->create([
'id' => $roadObserved->id,
$roadObserved->problemHistories()->create([
'user_id' => auth()->user()->id,
'action' => 'restore',
'description' => $request->restore_description,