add column to road observation histories
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ class ReferRequest extends FormRequest
|
||||
{
|
||||
return [
|
||||
'edarate_shahri_id' => 'required|exists:edarate_shahri,id',
|
||||
'province_id' => 'required|exists:provinces,id',
|
||||
'refer_description' => 'required|string',
|
||||
];
|
||||
}
|
||||
|
||||
28
app/Http/Requests/V3/RoadObservation/RestoreRequest.php
Normal file
28
app/Http/Requests/V3/RoadObservation/RestoreRequest.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\V3\RoadObservation;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class RestoreRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'restore_description' => 'required|string',
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('road_observation_histories', function (Blueprint $table) {
|
||||
$table->string('from_province')->nullable();
|
||||
$table->string('to_province')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('road_observation_histories', function (Blueprint $table) {
|
||||
$table->dropColumn('from_province');
|
||||
$table->dropColumn('to_province');
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -283,12 +283,19 @@ Route::prefix('road_observations')
|
||||
->group(function () {
|
||||
Route::get('/supervisor_index', 'supervisorIndex')->name('supervisorIndex')->middleware('permission:supervise-fast-react-province|supervise-fast-react');
|
||||
Route::post('/verify/{road_observed}', 'verifyBySupervisor')->name('verifyBySupervisor');
|
||||
Route::get('/supervisor_report', 'supervisorCartableReport')->name('report');
|
||||
Route::get('/supervisor_report', 'supervisorCartableReport')->name('supervisorCartableReport');
|
||||
Route::get('/operator_index','operatorIndex')->name('operatorIndex')->middleware('permission:show-fast-react|show-fast-react-province');
|
||||
Route::get('/operator_report','operatorCartableReport')->name('operatorCartableReport');
|
||||
Route::get('/complaints_index', 'complaintsIndex')
|
||||
->middleware('permission:show-fast-react-edarate-shahri|show-fast-react-province|show-fast-react')
|
||||
->name('complaintsIndex');
|
||||
Route::post('/register/{roadObserved}', 'register')
|
||||
->middleware('permission:show-fast-react-edarate-shahri|show-fast-react-province|show-fast-react')
|
||||
->name('register');
|
||||
Route::post('/refer/{roadObserved}', 'refer')
|
||||
->middleware('permission:show-fast-react-edarate-shahri|show-fast-react-province|show-fast-react')
|
||||
->name('refer');
|
||||
Route::post('/restore/{roadObserved}', 'restore')
|
||||
->middleware('permission:restore-fast-react')
|
||||
->name('restore');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user