add column to road observation histories

This commit is contained in:
2025-02-25 13:24:14 +03:30
parent 320efee4c7
commit 2adf091f7d
5 changed files with 132 additions and 14 deletions

View File

@@ -7,17 +7,21 @@ use App\Facades\File\FileFacade;
use App\Facades\Sms\Sms;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\RoadObservation\ReferRequest;
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\RoadObservationHistory;
use App\Models\RoadObserved;
use App\Models\User;
use App\Services\NikarayanService;
use Carbon\Carbon;
use Hekmatinasser\Verta\Verta;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use App\Services\Cartables\RoadObservationTableservice;
use App\Services\Cartables\RoadObservationTableService;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
use Maatwebsite\Excel\Facades\Excel;
use SoapFault;
@@ -27,10 +31,9 @@ class RoadObservationController extends Controller
{
use ApiResponse;
public function supervisorIndex (Request $request,RoadObservationTableservice $roadObservationTableservice ): JsonResponse
public function supervisorIndex (Request $request,RoadObservationTableService $roadObservationTableService ): JsonResponse
{
$data = $roadObservationTableservice->supervisorCartableIndex($request);
return response()->json($data);
return response()->json($roadObservationTableService->supervisorCartableIndex($request));
}
public function verifyBySupervisor (VerifyBySupervisorRequest $request, RoadObserved $roadObserved): JsonResponse
@@ -49,11 +52,9 @@ class RoadObservationController extends Controller
auth()->user()->addActivityComplete(1138);
return $this->successResponse();
}
public function supervisorCartableReport (Request $request, RoadObservationTableService $roadObservationTableService): BinaryFileResponse
{
$name = 'گزارش از کارتابل ارزیابی واکنش سریع '. verta()->now()->format('Y-m-d H:i') . '.xlsx';
$data = $roadObservationTableService->supervisorCartableIndex($request, true);
@@ -63,8 +64,7 @@ class RoadObservationController extends Controller
public function operatorIndex(Request $request, RoadObservationTableService $roadObservationTableService): JsonResponse
{
$data = $roadObservationTableService->operatorCartableIndex($request);
return response()->json($data);
return response()->json($roadObservationTableService->operatorCartableIndex($request));
}
public function operatorCartableReport(Request $request, RoadObservationTableService $roadObservationTableService): BinaryFileResponse
@@ -74,7 +74,7 @@ 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));
}
@@ -128,7 +128,7 @@ class RoadObservationController extends Controller
auth()->user()->addActivityComplete(1142);
try {
$result = $nikarayanService->updateRoadObservedInfoByNikarayan($request, $roadObserved, json_encode($roadObservedHistoryData['new_files']));
$nikarayanService->updateRoadObservedInfoByNikarayan($request, $roadObserved, json_encode($roadObservedHistoryData['new_files']));
}
catch (SoapFault $e) {
@@ -142,21 +142,73 @@ class RoadObservationController extends Controller
public function refer(ReferRequest $request, RoadObserved $roadObserved): JsonResponse
{
$roadObserved->problemHistories()->create([
RoadObservationHistory::query()->create([
'id' => $roadObserved->id,
'user_id' => auth()->user()->id,
'action' => 'refer',
'description' => $request->refer_description,
'from_edareh' => $roadObserved->edarate_shahri_id,
'to_edareh' => $request->edarate_shahri_id
'to_edareh' => $request->edarate_shahri_id,
'from_province' => $roadObserved->province_id,
'to_province' => $request->province_id
]);
$roadObserved->update([
'edarate_shahri_id' => $request->edarate_shahri_id,
'province_id' => $request->province_id,
]);
auth()->user()->addActivityComplete(1037);
return $this->successResponse();
}
}
public function referList(Request $request, RoadObserved $roadObserved): JsonResponse
{
$data = RoadObservationHistory::query()
->where('id', '=', $roadObserved->id)
->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;
}
return $this->successResponse($data);
}
public function restore(RestoreRequest $request, RoadObserved $roadObserved): JsonResponse
{
if ($roadObserved->image_before) {
FileFacade::delete($roadObserved->image_before);
}
if ($roadObserved->image_after) {
FileFacade::delete($roadObserved->image_after);
}
$roadObserved->update([
'image_before' => null,
'image_after' => null,
'rms_last_activity' => null,
'rms_last_activity_fa' => null,
'updated_at_fa' => null,
'updated_at' => null,
'rms_status' => 0,
'status' => null,
'status_fa' => null,
]);
RoadObservationHistory::query()->create([
'id' => $roadObserved->id,
'user_id' => auth()->user()->id,
'action' => 'restore',
'description' => $request->restore_description,
]);
auth()->user()->addActivityComplete(1141);
return $this->successResponse();
}
}