create FMS service with test

This commit is contained in:
2024-04-22 11:28:19 +03:30
parent 5f839385f8
commit acd7c496b5
15 changed files with 701 additions and 67 deletions

View File

@@ -3,10 +3,12 @@
namespace App\Http\Controllers;
use App\Models\Coridor;
use App\Models\RoadPatrol;
use App\Models\RoutePath;
use App\Models\RoadItemsProject;
use App\Models\InfoItem;
use App\Services\NominatimService;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
@@ -484,7 +486,7 @@ class CoridorsController extends Controller
return 0;
}
public function axisReportByLatAndLng(Request $request)
public function axisReportByLatAndLng(Request $request, NominatimService $nominatimService)
{
if (! $request->type) {
return response()->json([
@@ -496,7 +498,7 @@ class CoridorsController extends Controller
$date_from = $request->date_from;
$info_id = $request->daily_activity;
$roadObservedTypes = $request->road_type;
$idArrays = self::getIDFromNominatim($request->slng, $request->slat, $request->dlng, $request->dlat);
$idArrays = $nominatimService->getIDFromNominatim($request->slng, $request->slat, $request->dlng, $request->dlat);
$typeArrays = $request->type;
$contractStatusArrays = $request->contract_status ?? [];
$projectTypeArrays = $request->project_type ?? [];
@@ -514,13 +516,13 @@ class CoridorsController extends Controller
}
if ( in_array(2, $typeArrays) ) {
$roadPatrolProject = RoadPatrolProject::where(function($query) use($idArrays){
$roadPatrolProject = RoadPatrol::where(function($query) use($idArrays){
$query->whereIn("start_way_id", $idArrays)
->orWhereIn("end_way_id", $idArrays);
})
->whereBetween('created_at', [$date_from . ' 00:00:00', $date_to . ' 23:59:59'])
->whereNotNull('start_lat')
->select('start_lat', 'start_lng', 'id')
->select('start_lat', 'start_lon', 'id')
->get();
}
@@ -686,7 +688,7 @@ class CoridorsController extends Controller
}
public function axisReportExcelRedirector(Request $request)
public function axisReportExcelRedirector(Request $request, NominatimService $nominatimService)
{
if (! $request->type) {
return response()->json([
@@ -698,7 +700,7 @@ class CoridorsController extends Controller
$date_from = $request->date_from;
$info_id = $request->daily_activity;
$roadObservedTypes = $request->road_type;
$idArrays = self::getIDFromNominatim($request->slng, $request->slat, $request->dlng, $request->dlat);
$idArrays = $nominatimService->getIDFromNominatim($request->slng, $request->slat, $request->dlng, $request->dlat);
$typeArrays = $request->type;
$contractStatusArrays = $request->contract_status ?? [];
$projectTypeArrays = $request->project_type ?? [];