debug road observed

This commit is contained in:
2025-04-20 11:21:03 +03:30
parent 79e6cc37aa
commit 1cb4c4f15d
3 changed files with 50 additions and 66 deletions

View File

@@ -24,6 +24,7 @@ use Hekmatinasser\Verta\Verta;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Services\Cartables\RoadObservationTableService; use App\Services\Cartables\RoadObservationTableService;
use Illuminate\Support\Facades\DB;
use Maatwebsite\Excel\Facades\Excel; use Maatwebsite\Excel\Facades\Excel;
use SoapFault; use SoapFault;
use Symfony\Component\HttpFoundation\BinaryFileResponse; use Symfony\Component\HttpFoundation\BinaryFileResponse;
@@ -117,8 +118,8 @@ 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}/"); $image_before = FileFacade::save($request->image_before, "road_observeds/{$roadObserved->id}");
$image_after = FileFacade::save($request->image_after, "road_observeds/{$roadObserved->id}/"); $image_after = FileFacade::save($request->image_after, "road_observeds/{$roadObserved->id}");
$files_path[0]['path'] = $image_before; $files_path[0]['path'] = $image_before;
$files_path[1]['path'] = $image_after; $files_path[1]['path'] = $image_after;
@@ -135,20 +136,15 @@ class RoadObservationController extends Controller
$roadObservedHistoryData['new_files'] = $files; $roadObservedHistoryData['new_files'] = $files;
} }
$roadObserved->problemHistories()->create($roadObservedHistoryData); DB::transaction(function () use ($roadObserved, $roadObservedHistoryData, $roadObservedData, $request, $nikarayanService) {
$roadObserved->update($roadObservedData); $roadObserved->problemHistories()->create($roadObservedHistoryData);
$roadObserved->update($roadObservedData);
auth()->user()->addActivityComplete(1142); auth()->user()->addActivityComplete(1142);
try {
$nikarayanService->updateRoadObservedInfoByNikarayan($request, $roadObserved, json_encode($roadObservedHistoryData['new_files'])); $nikarayanService->updateRoadObservedInfoByNikarayan($request, $roadObserved, json_encode($roadObservedHistoryData['new_files']));
}
catch (SoapFault $e) {
$msg = "error in send to nikarayan at" . date("Y-m-d H:i:s") . "\n"; });
$msg .= $e->getMessage();
Sms::sendSms(env('RMS_CTO_PHONE_NUMBER'), $msg);
}
return $this->successResponse(); return $this->successResponse();
} }
@@ -182,7 +178,7 @@ class RoadObservationController extends Controller
if ($roadObserved->image_before) { if ($roadObserved->image_before) {
FileFacade::delete($roadObserved->image_before, true); FileFacade::delete($roadObserved->image_before, true);
} }
$image_before = FileFacade::save($request->image_before, "road_observeds/{$roadObserved->id}/"); $image_before = FileFacade::save($request->image_before, "road_observeds/{$roadObserved->id}");
$roadObservedData['image_before'] = $image_before; $roadObservedData['image_before'] = $image_before;
$files_path[0]['path'] = $image_before; $files_path[0]['path'] = $image_before;
} }
@@ -191,7 +187,7 @@ class RoadObservationController extends Controller
if ($roadObserved->image_after) { if ($roadObserved->image_after) {
FileFacade::delete($roadObserved->image_after, true); FileFacade::delete($roadObserved->image_after, true);
} }
$image_after = FileFacade::save($request->image_after, "road_observeds/{$roadObserved->id}/"); $image_after = FileFacade::save($request->image_after, "road_observeds/{$roadObserved->id}");
$roadObservedData['image_after'] = $image_after; $roadObservedData['image_after'] = $image_after;
$files_path[1]['path'] = $image_after; $files_path[1]['path'] = $image_after;
} }
@@ -206,20 +202,14 @@ class RoadObservationController extends Controller
$roadObservedHistoryData['new_files'] = $files; $roadObservedHistoryData['new_files'] = $files;
} }
$roadObserved->problemHistories()->create($roadObservedHistoryData); DB::transaction(function () use ($roadObserved, $roadObservedHistoryData, $roadObservedData, $request, $nikarayanService) {
$roadObserved->update($roadObservedData); $roadObserved->problemHistories()->create($roadObservedHistoryData);
$roadObserved->update($roadObservedData);
auth()->user()->addActivityComplete(1142); auth()->user()->addActivityComplete(1142);
try {
$nikarayanService->updateRoadObservedInfoByNikarayan($request, $roadObserved, json_encode($roadObservedHistoryData['new_files'])); $nikarayanService->updateRoadObservedInfoByNikarayan($request, $roadObserved, json_encode($roadObservedHistoryData['new_files']));
} });
catch (SoapFault $e) {
$msg = "error in send to nikarayan at" . date("Y-m-d H:i:s") . "\n";
$msg .= $e->getMessage();
Sms::sendSms(env('RMS_CTO_PHONE_NUMBER'), $msg);
}
return $this->successResponse(); return $this->successResponse();
} }

View File

@@ -144,56 +144,44 @@ class NotificationController extends Controller
'supervise_cnt' => 0 'supervise_cnt' => 0
]; ];
$conditions = [];
$complaintConditions = [
['rms_status', '=', 0],
['edarate_shahri_id', '!=', null]
];
if ($user->hasPermissionTo('show-fast-react')) { if ($user->hasPermissionTo('show-fast-react')) {
$conditions[] = ['status', '=', 2]; $road_observations['supervise_cnt'] = RoadObserved::query()->where([
['rms_status', '<>', 0],
['status', '=', 0]
])->count();
$road_observations['complaint_cnt'] = RoadObserved::query()->where('rms_status', '=', 0)->count();
} }
elseif ($user->hasPermissionTo('show-fast-react-province')) { elseif ($user->hasPermissionTo('show-fast-react-province')) {
throw_if(is_null($user->province_id), new ProhibitedAction('استانی برای شما در سامانه ثبت نشده است!')); throw_if(is_null($user->province_id), new ProhibitedAction('استانی برای شما در سامانه ثبت نشده است!'));
$conditions = [
['status', '=', 2], $road_observations['supervise_cnt'] = RoadObserved::query()->where([
['rms_province_id', '=', $user->province_id] ['rms_status', '<>', 0],
]; ['status', '=', 0],
$complaintConditions[] = ['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]
])->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('اداره ای برای شما در سامانه ثبت نشده است!')); throw_if(is_null($user->edarate_shahri_id), new ProhibitedAction('اداره ای برای شما در سامانه ثبت نشده است!'));
$conditions = [
$road_observations['operation_cnt'] = RoadObserved::query()->where([
['rms_status', '<>', 0],
['status', '=', 2], ['status', '=', 2],
['edarate_shahri_id', '=', $user->edarate_shahri_id] ['edarate_shahri_id', '=', $user->edarate_shahri_id]
]; ])->count();
$complaintConditions[] = ['edarate_shahri_id', '=', $user->edarate_shahri_id];
$road_observations['complaint_cnt'] = RoadObserved::query()->where([
['rms_status', '=', 0],
['edarate_shahri_id', '=', $user->edarate_shahri_id]
])->count();
} }
if (!empty($conditions)) { $road_observations['total'] += $road_observations['operation_cnt'] + $road_observations['complaint_cnt'] + $road_observations['supervise_cnt'];
$road_observations['operation_cnt'] = RoadObserved::query()->where($conditions)->count();
$road_observations['complaint_cnt'] = RoadObserved::query()->where($complaintConditions)->count();
$road_observations['total'] += $road_observations['operation_cnt'] + $road_observations['complaint_cnt'];
}
$superviseConditions = [
['status', '=', 0]
];
if ($user->hasPermissionTo('supervise-fast-react')) {
$road_observations['supervise_cnt'] = RoadObserved::query()->where($superviseConditions)->count();
$road_observations['complaint_cnt'] = RoadObserved::query()->where($complaintConditions)->count();
$road_observations['total'] += $road_observations['supervise_cnt'] + $road_observations['complaint_cnt'];
}
elseif ($user->hasPermissionTo('supervise-fast-react-province')) {
throw_if(is_null($user->province_id), new ProhibitedAction('استانی برای شما در سامانه ثبت نشده است!'));
$superviseConditions[] = ['province_id', '=', $user->province_id];
$complaintConditions[] = ['province_id', '=', $user->province_id];
$road_observations['supervise_cnt'] = RoadObserved::query()->where($superviseConditions)->count();
$road_observations['complaint_cnt'] = RoadObserved::query()->where($complaintConditions)->count();
$road_observations['total'] += $road_observations['supervise_cnt'] + $road_observations['complaint_cnt'];
}
return $road_observations; return $road_observations;
} }

View File

@@ -108,14 +108,20 @@ class RoadObserved extends Model
protected function imageAfter(): Attribute protected function imageAfter(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: fn($value) => $value == null ? null : Storage::disk('public')->url($value) get: fn($value) => $value == null ? null :
(filter_var($value, FILTER_VALIDATE_URL)
? $value
: Storage::disk('public')->url($value))
); );
} }
protected function imageBefore(): Attribute protected function imageBefore(): Attribute
{ {
return Attribute::make( return Attribute::make(
get: fn($value) => $value == null ? null : Storage::disk('public')->url($value) get: fn($value) => $value == null ? null :
(filter_var($value, FILTER_VALIDATE_URL)
? $value
: Storage::disk('public')->url($value))
); );
} }
} }