debug the operator cartable logic
This commit is contained in:
@@ -64,11 +64,19 @@ class RoadObservationController extends Controller
|
|||||||
|
|
||||||
public function operatorIndex(Request $request, RoadObservationTableService $roadObservationTableService): JsonResponse
|
public function operatorIndex(Request $request, RoadObservationTableService $roadObservationTableService): JsonResponse
|
||||||
{
|
{
|
||||||
|
if (is_null(auth()->user()->edarate_shahri_id)) {
|
||||||
|
return $this->errorResponse('ادارهای برای شما در سامانه ثبت نشده است!');
|
||||||
|
}
|
||||||
|
|
||||||
return response()->json($roadObservationTableService->operatorCartableIndex($request));
|
return response()->json($roadObservationTableService->operatorCartableIndex($request));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function operatorCartableReport(Request $request, RoadObservationTableService $roadObservationTableService): BinaryFileResponse
|
public function operatorCartableReport(Request $request, RoadObservationTableService $roadObservationTableService): BinaryFileResponse
|
||||||
{
|
{
|
||||||
|
if (is_null(auth()->user()->edarate_shahri_id)) {
|
||||||
|
return $this->errorResponse('ادارهای برای شما در سامانه ثبت نشده است!');
|
||||||
|
}
|
||||||
|
|
||||||
$name = 'گزارش از کارتابل عملیات واکنش سریع ' . verta()->now()->format('Y-m-d H:i') . '.xlsx';
|
$name = 'گزارش از کارتابل عملیات واکنش سریع ' . verta()->now()->format('Y-m-d H:i') . '.xlsx';
|
||||||
$data = $roadObservationTableService->operatorCartableIndex($request);
|
$data = $roadObservationTableService->operatorCartableIndex($request);
|
||||||
return Excel::download(new OperatorCartableReport($data['data']), $name);
|
return Excel::download(new OperatorCartableReport($data['data']), $name);
|
||||||
@@ -86,13 +94,18 @@ class RoadObservationController extends Controller
|
|||||||
return Excel::download(new ComplaintsReport($data['data']), $name);
|
return Excel::download(new ComplaintsReport($data['data']), $name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function show(RoadObserved $roadObserved): JsonResponse
|
||||||
|
{
|
||||||
|
return $this->successResponse($roadObserved);
|
||||||
|
}
|
||||||
|
|
||||||
public function register(RegisterRequest $request, RoadObserved $roadObserved, NikarayanService $nikarayanService): JsonResponse
|
public function register(RegisterRequest $request, RoadObserved $roadObserved, NikarayanService $nikarayanService): JsonResponse
|
||||||
{
|
{
|
||||||
$roadObservedData = [
|
$roadObservedData = [
|
||||||
'status' => 0,
|
'status' => 0,
|
||||||
'status_fa' => 'در حال بررسی',
|
'status_fa' => 'در حال بررسی',
|
||||||
'rms_status' => $request->rms_status ?? $roadObserved->rms_status,
|
'rms_status' => $request->rms_status ?? $roadObserved->rms_status,
|
||||||
'rms_description' => $request->description?? $roadObserved->rms_description,
|
'rms_description' => $request->rms_description ?? $roadObserved->rms_description,
|
||||||
];
|
];
|
||||||
|
|
||||||
$roadObservedHistoryData = [
|
$roadObservedHistoryData = [
|
||||||
@@ -101,7 +114,7 @@ class RoadObservationController extends Controller
|
|||||||
'previous_rms_start_latlng' => $roadObserved->rms_start_latlng,
|
'previous_rms_start_latlng' => $roadObserved->rms_start_latlng,
|
||||||
'previous_rms_end_latlng' => $roadObserved->rms_end_latlng,
|
'previous_rms_end_latlng' => $roadObserved->rms_end_latlng,
|
||||||
'previous_rms_description' => $roadObserved->rms_description,
|
'previous_rms_description' => $roadObserved->rms_description,
|
||||||
'new_files' => []
|
'new_files' => json_encode([])
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($request->rms_status == 1) {
|
if ($request->rms_status == 1) {
|
||||||
@@ -111,17 +124,21 @@ class RoadObservationController extends Controller
|
|||||||
$roadObserved->files()->where('path', 'like', '%_image_before%')->delete();
|
$roadObserved->files()->where('path', 'like', '%_image_before%')->delete();
|
||||||
$roadObserved->files()->where('path', 'like', '%_image_after%')->delete();
|
$roadObserved->files()->where('path', 'like', '%_image_after%')->delete();
|
||||||
|
|
||||||
$image_before = FileFacade::save($request->image_before, "road_observeds/{$roadObserved->id}/");
|
if ($request->has('image_before')) {
|
||||||
$image_after = FileFacade::save($request->image_after, "road_observeds/{$roadObserved->id}/");
|
$image_before = FileFacade::save($request->image_before, "road_observeds/{$roadObserved->id}/");
|
||||||
|
$roadObservedData['image_before'] = $image_before;
|
||||||
|
$files_path[0]['path'] = $image_before;
|
||||||
|
}
|
||||||
|
|
||||||
$files_path[0]['path'] = $image_before;
|
if ($request->has('image_after')) {
|
||||||
$files_path[1]['path'] = $image_after;
|
$image_after = FileFacade::save($request->image_after, "road_observeds/{$roadObserved->id}/");
|
||||||
|
$roadObservedData['image_after'] = $image_after;
|
||||||
|
$files_path[1]['path'] = $image_after;
|
||||||
|
}
|
||||||
|
|
||||||
$files = json_encode($files_path);
|
$files = json_encode($files_path);
|
||||||
$now_date_time = Carbon::now();
|
$now_date_time = Carbon::now();
|
||||||
|
|
||||||
$roadObservedData['image_before'] = $image_before;
|
|
||||||
$roadObservedData['image_after'] = $image_after;
|
|
||||||
$roadObservedData['rms_start_latlng'] = explode(',', $request->start_point);
|
$roadObservedData['rms_start_latlng'] = explode(',', $request->start_point);
|
||||||
$roadObservedData['updated_at_fa'] = Verta::instance($now_date_time);
|
$roadObservedData['updated_at_fa'] = Verta::instance($now_date_time);
|
||||||
$roadObservedData['rms_last_activity_fa'] = Verta::instance($now_date_time);
|
$roadObservedData['rms_last_activity_fa'] = Verta::instance($now_date_time);
|
||||||
@@ -149,6 +166,8 @@ class RoadObservationController extends Controller
|
|||||||
|
|
||||||
public function refer(ReferRequest $request, RoadObserved $roadObserved): JsonResponse
|
public function refer(ReferRequest $request, RoadObserved $roadObserved): JsonResponse
|
||||||
{
|
{
|
||||||
|
$province = Province::query()->find($request->province_id);
|
||||||
|
|
||||||
RoadObservationHistory::query()->create([
|
RoadObservationHistory::query()->create([
|
||||||
'id' => $roadObserved->id,
|
'id' => $roadObserved->id,
|
||||||
'user_id' => auth()->user()->id,
|
'user_id' => auth()->user()->id,
|
||||||
@@ -157,12 +176,13 @@ class RoadObservationController extends Controller
|
|||||||
'from_edareh' => $roadObserved->edarate_shahri_id,
|
'from_edareh' => $roadObserved->edarate_shahri_id,
|
||||||
'to_edareh' => $request->edarate_shahri_id,
|
'to_edareh' => $request->edarate_shahri_id,
|
||||||
'from_province' => $roadObserved->province_id,
|
'from_province' => $roadObserved->province_id,
|
||||||
'to_province' => $request->province_id
|
'to_province' => $province->id
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$roadObserved->update([
|
$roadObserved->update([
|
||||||
'edarate_shahri_id' => $request->edarate_shahri_id,
|
'edarate_shahri_id' => $request->edarate_shahri_id,
|
||||||
'province_id' => $request->province_id,
|
'province_id' => $province->id,
|
||||||
|
'province_fa' => $province->name_fa,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
auth()->user()->addActivityComplete(1037);
|
auth()->user()->addActivityComplete(1037);
|
||||||
@@ -173,17 +193,17 @@ class RoadObservationController extends Controller
|
|||||||
public function referList(RoadObserved $roadObserved): JsonResponse
|
public function referList(RoadObserved $roadObserved): JsonResponse
|
||||||
{
|
{
|
||||||
$data = RoadObservationHistory::query()
|
$data = RoadObservationHistory::query()
|
||||||
->where('road_observation_histories.id', $roadObserved->id)
|
->where('id', '=', $roadObserved->id)
|
||||||
->where('action', '=', 'refer')->get([
|
->where('action', '=', 'refer')->get([
|
||||||
'created_at', 'description', 'from_edareh', 'to_edareh',
|
'created_at', 'description', 'from_edareh', 'to_edareh',
|
||||||
'from_province', 'to_province', 'user_id'
|
'from_province', 'to_province', 'user_id'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
foreach ($data as $key => $value) {
|
foreach ($data as $key => $value) {
|
||||||
$data[$key]->from_edareh = EdarateShahri::query()->find($value->from_edareh)->name_fa;
|
$data[$key]->from_edareh = EdarateShahri::query()->find($value->from_edareh)->name_fa ?? null;
|
||||||
$data[$key]->to_edareh = EdarateShahri::query()->find($value->to_edareh)->name_fa;
|
$data[$key]->to_edareh = EdarateShahri::query()->find($value->to_edareh)->name_fa ?? null;
|
||||||
$data[$key]->from_province = EdarateShahri::query()->find($value->from_province)->name_fa;
|
$data[$key]->from_province = Province::query()->find($value->from_province)->name_fa ?? null;
|
||||||
$data[$key]->to_province = EdarateShahri::query()->find($value->to_province)->name_fa;
|
$data[$key]->to_province = Province::query()->find($value->to_province)->name_fa ?? null;
|
||||||
$user = User::query()->find($value->user_id);
|
$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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,9 +24,9 @@ class RegisterRequest extends FormRequest
|
|||||||
return [
|
return [
|
||||||
'rms_status' => 'required|in:1,2',
|
'rms_status' => 'required|in:1,2',
|
||||||
'rms_description' => 'required_if:rms_status,1|string',
|
'rms_description' => 'required_if:rms_status,1|string',
|
||||||
'image_before' => 'required_if:rms_status,1|file|mimes:jpg,jpeg,png',
|
'image_before' => 'file|mimes:jpg,jpeg,png',
|
||||||
'image_after' => 'required_if:rms_status,1|file|mimes:jpg,jpeg,png',
|
'image_after' => 'file|mimes:jpg,jpeg,png',
|
||||||
'start_point' => 'required_if:rms_status,1|string',
|
'start_point' => 'string',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ class RestoreRequest extends FormRequest
|
|||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'restore_description' => 'required|string',
|
'restore_description' => 'string',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,6 +62,9 @@ class RoadObserved extends Model
|
|||||||
'supervisor_description',
|
'supervisor_description',
|
||||||
'supervising_time',
|
'supervising_time',
|
||||||
'supervisor_name',
|
'supervisor_name',
|
||||||
|
'rms_start_latlng',
|
||||||
|
'rms_end_latlng',
|
||||||
|
'rms_description',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -17,13 +17,12 @@ class RoadObservationTableService
|
|||||||
|
|
||||||
$fields = [
|
$fields = [
|
||||||
'fk_RegisteredEventMessage', 'road_observeds.id', 'Title', 'road_observeds.created_at',
|
'fk_RegisteredEventMessage', 'road_observeds.id', 'Title', 'road_observeds.created_at',
|
||||||
'lat', 'lng', 'FeatureTypeTitle', 'Description', 'MobileForSendEventSms',
|
'lat', 'lng', 'FeatureTypeTitle', 'Description', 'MobileForSendEventSms', 'rms_start_latlng',
|
||||||
'rms_description', 'rms_status', 'rms_last_activity_fa', 'rms_last_activity',
|
'rms_description', 'rms_status', 'rms_last_activity_fa', 'rms_last_activity', 'edarate_shahri_id',
|
||||||
'road_observeds.province_id', 'province_fa', 'city_id', 'city_fa', 'edarate_shahri.name_fa',
|
'road_observeds.province_id', 'province_fa', 'city_id', 'city_fa', 'edarate_shahri.name_fa',
|
||||||
'status', 'status_fa', 'supervisor_description', 'supervising_time', 'image_after', 'image_before'
|
'status', 'status_fa', 'supervisor_description', 'supervising_time', 'image_after', 'image_before'
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
if ($user->hasPermissionTo('show-fast-react')) {
|
if ($user->hasPermissionTo('show-fast-react')) {
|
||||||
$query = RoadObserved::query()->leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
|
$query = RoadObserved::query()->leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
|
||||||
->whereNotNull('road_observeds.status')
|
->whereNotNull('road_observeds.status')
|
||||||
@@ -53,25 +52,57 @@ class RoadObservationTableService
|
|||||||
{
|
{
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
if (is_null($user->edarate_shahri_id)) {
|
|
||||||
return $this->errorResponse('ادارهای برای شما در سامانه ثبت نشده است!');
|
|
||||||
}
|
|
||||||
|
|
||||||
$fields = [
|
$fields = [
|
||||||
'fk_RegisteredEventMessage', 'road_observeds.id', 'Title', 'road_observeds.created_at',
|
'fk_RegisteredEventMessage', 'road_observeds.id', 'Title', 'road_observeds.created_at',
|
||||||
'lat', 'lng', 'FeatureTypeTitle', 'Description', 'MobileForSendEventSms',
|
'lat', 'lng', 'FeatureTypeTitle', 'Description', 'MobileForSendEventSms', 'edarate_shahri_id',
|
||||||
'rms_description', 'rms_status', 'rms_start_latlng', 'rms_last_activity_fa', 'image_after', 'image_before',
|
'rms_description', 'rms_status', 'rms_start_latlng', 'rms_last_activity_fa', 'image_after', 'image_before',
|
||||||
'rms_last_activity', 'road_observeds.province_id', 'province_fa', 'city_id', 'city_fa',
|
'rms_last_activity', 'road_observeds.province_id', 'province_fa', 'city_id', 'city_fa',
|
||||||
'edarate_shahri.name_fa', 'status', 'status_fa', 'supervisor_description', 'supervising_time'
|
'edarate_shahri.name_fa', 'status', 'status_fa', 'supervisor_description', 'supervising_time'
|
||||||
];
|
];
|
||||||
|
|
||||||
$query = RoadObserved::query()
|
if (auth()->user()->hasPermissionTo('show-fast-react')) {
|
||||||
->where('rms_status', '<>', 0)
|
$query = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
|
||||||
->whereNotNull('road_observeds.province_id')
|
->where('rms_status', '!=', 0)
|
||||||
->whereNotNull('status')
|
->whereNotNull('road_observeds.province_id')
|
||||||
->leftJoin('edarate_shahri', 'road_observeds.edarate_shahri_id', '=', 'edarate_shahri.id')
|
->whereNotNull('status')
|
||||||
->where('edarate_shahri_id', $user->edarate_shahri_id)
|
->select($fields);
|
||||||
->select($fields);
|
}
|
||||||
|
elseif (auth()->user()->hasPermissionTo('show-fast-react-province')) {
|
||||||
|
if (is_null(auth()->user()->province_id)) {
|
||||||
|
return response()->json([
|
||||||
|
'message' => 'استانی برای شما در سامانه ثبت نشده است!'
|
||||||
|
], 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
|
||||||
|
->where('rms_province_id', auth()->user()->province_id)
|
||||||
|
->where('rms_status', '!=', 0)
|
||||||
|
->whereNotNull('road_observeds.province_id')
|
||||||
|
->whereNotNull('status')
|
||||||
|
->select($fields);
|
||||||
|
}
|
||||||
|
elseif (auth()->user()->hasPermissionTo('show-fast-react-edarate-shahri')) {
|
||||||
|
if (is_null(auth()->user()->edarate_shahri_id)) {
|
||||||
|
return response()->json([
|
||||||
|
'message' => 'اداره ای برای شما در سامانه ثبت نشده است!'
|
||||||
|
], 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = RoadObserved::leftjoin('edarate_shahri', 'road_observeds.edarate_shahri_id', 'edarate_shahri.id')
|
||||||
|
->where('edarate_shahri_id', auth()->user()->edarate_shahri_id)
|
||||||
|
->where('rms_status', '!=', 0)
|
||||||
|
->whereNotNull('road_observeds.province_id')
|
||||||
|
->whereNotNull('status')
|
||||||
|
->select($fields);
|
||||||
|
}
|
||||||
|
|
||||||
|
// $query = RoadObserved::query()
|
||||||
|
// ->where('rms_status', '!=', 0)
|
||||||
|
// ->whereNotNull('road_observeds.province_id')
|
||||||
|
// ->whereNotNull('status')
|
||||||
|
// ->leftJoin('edarate_shahri', 'road_observeds.edarate_shahri_id', '=', 'edarate_shahri.id')
|
||||||
|
// ->where('edarate_shahri_id', $user->edarate_shahri_id)
|
||||||
|
// ->select($fields);
|
||||||
|
|
||||||
return DataTableFacade::run(
|
return DataTableFacade::run(
|
||||||
$query,
|
$query,
|
||||||
@@ -89,7 +120,7 @@ class RoadObservationTableService
|
|||||||
->where('rms_status', '=', 0)
|
->where('rms_status', '=', 0)
|
||||||
->whereNotNull('edarate_shahri_id')
|
->whereNotNull('edarate_shahri_id')
|
||||||
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
|
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
|
||||||
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status,
|
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status, edarate_shahri_id,
|
||||||
status_fa, supervisor_description, rms_description, province_fa, city_id, city_fa, Description, edarate_shahri.name_fa as edarate_shahri_name_fa, lat, lng'
|
status_fa, supervisor_description, rms_description, province_fa, city_id, city_fa, Description, edarate_shahri.name_fa as edarate_shahri_name_fa, lat, lng'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -104,7 +135,7 @@ class RoadObservationTableService
|
|||||||
->whereNotNull('road_observeds.province_id')
|
->whereNotNull('road_observeds.province_id')
|
||||||
->where('road_observeds.province_id', '=', $user->province_id)
|
->where('road_observeds.province_id', '=', $user->province_id)
|
||||||
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
|
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
|
||||||
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status,
|
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status, edarate_shahri_id,
|
||||||
status_fa, supervisor_description, rms_description, province_fa, city_id, city_fa, Description, edarate_shahri.name_fa as edarate_shahri_name_fa, lat, lng'
|
status_fa, supervisor_description, rms_description, province_fa, city_id, city_fa, Description, edarate_shahri.name_fa as edarate_shahri_name_fa, lat, lng'
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -120,7 +151,7 @@ class RoadObservationTableService
|
|||||||
->whereNotNull('edarate_shahri_id')
|
->whereNotNull('edarate_shahri_id')
|
||||||
->where('edarate_shahri_id', '=', $user->edarate_shahri_id)
|
->where('edarate_shahri_id', '=', $user->edarate_shahri_id)
|
||||||
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
|
->selectRaw('fk_RegisteredEventMessage, road_observeds.id, Title, FeatureTypeTitle, MobileForSendEventSms,
|
||||||
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status,
|
road_observeds.created_at, rms_last_activity, rms_last_activity_fa, status, edarate_shahri_id,
|
||||||
status_fa, supervisor_description, rms_description, province_fa, city_id, city_fa, Description, edarate_shahri.name_fa as edarate_shahri_name_fa, lat, lng'
|
status_fa, supervisor_description, rms_description, province_fa, city_id, city_fa, Description, edarate_shahri.name_fa as edarate_shahri_name_fa, lat, lng'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -293,6 +293,8 @@ Route::prefix('road_observations')
|
|||||||
Route::post('/register/{roadObserved}', 'register')
|
Route::post('/register/{roadObserved}', 'register')
|
||||||
->middleware('permission:show-fast-react-edarate-shahri')
|
->middleware('permission:show-fast-react-edarate-shahri')
|
||||||
->name('register');
|
->name('register');
|
||||||
|
|
||||||
|
Route::get('/{roadObserved}', 'show')->name('show');
|
||||||
Route::post('/refer/{roadObserved}', 'refer')
|
Route::post('/refer/{roadObserved}', 'refer')
|
||||||
->middleware('permission:show-fast-react-edarate-shahri|show-fast-react-province|show-fast-react')
|
->middleware('permission:show-fast-react-edarate-shahri|show-fast-react-province|show-fast-react')
|
||||||
->name('refer');
|
->name('refer');
|
||||||
|
|||||||
Reference in New Issue
Block a user