change the report/map routes into v2

This commit is contained in:
2024-02-18 08:33:19 +00:00
parent 25c33eb478
commit 8176faf117
123 changed files with 217538 additions and 216 deletions

View File

@@ -74,49 +74,50 @@ class HomeProjectController extends Controller
'data' => $projectsArray
], 200);
}
// sharareh begin
// public function getFastReactionProjectPoints(Request $request)
// {
// $province = $request->province_id;
// $edare_shahri = $request->edare_shahri_id;
// $status = $request->status;
// $rms_status = $request->rms_status;
public function getFastReactionProjectPoints(Request $request)
{
$province = $request->province_id;
$edare_shahri = $request->edare_shahri_id;
$status = $request->status;
$rms_status = $request->rms_status;
// if ($request->date_from && $request->date_to) {
// $date_from = $request->date_from.' 00:00:00';
// $date_to = $request->date_to.' 23:59:59';
// } else {
// $date_from = Date('Y-m-d');
// $date_to = new \DateTime('tomorrow');
// $date_to = $date_to->format('Y-m-d');
// }
if ($request->date_from && $request->date_to) {
$date_from = $request->date_from.' 00:00:00';
$date_to = $request->date_to.' 23:59:59';
} else {
$date_from = Date('Y-m-d');
$date_to = new \DateTime('tomorrow');
$date_to = $date_to->format('Y-m-d');
}
$projects = RoadObserved::select('id', 'lng', 'lat','status')
->whereBetween('created_at', [$date_from, $date_to])
->when($province, function ($query) use ($province) {
return $query->where('province_id', $province);
})
->when($rms_status, function ($query) use ($rms_status) {
if ($rms_status == 2) {
return $query->where('rms_status', '<>',0);
} else {
return $query->where('rms_status', 0);
}
})
->when($edare_shahri, function ($query) use ($edare_shahri) {
return $query->where('edarate_shahri_id', $edare_shahri);
})
->when($status, function ($query) use ($status) {
return $query->where('status', $status);
})
// ->toSql();
->get();
return response()->json([
'status' => 'succeed',
'message' => '',
'data' => $projects
], 200);
}
// $projects = RoadObserved::select('id', 'lng', 'lat','status')
// ->whereBetween('created_at', [$date_from, $date_to])
// ->when($province, function ($query) use ($province) {
// return $query->where('province_id', $province);
// })
// ->when($rms_status, function ($query) use ($rms_status) {
// if ($rms_status == 2) {
// return $query->where('rms_status', '<>',0);
// } else {
// return $query->where('rms_status', 0);
// }
// })
// ->when($edare_shahri, function ($query) use ($edare_shahri) {
// return $query->where('edarate_shahri_id', $edare_shahri);
// })
// ->when($status, function ($query) use ($status) {
// return $query->where('status', $status);
// })
// // ->toSql();
// ->get();
// return response()->json([
// 'status' => 'succeed',
// 'message' => '',
// 'data' => $projects
// ], 200);
// }
// sharareh begin
public function getFastReactionProjectPointsFor141(Request $request)
{

View File

@@ -430,56 +430,58 @@ class RoadItemsProjectController extends Controller
]);
}
////// function show items on map
public function show_item(Request $request)
{
$province = $request->province_id;
$city = $request->city_id;
$sub = $request->sub_id;
// sharareh begin
// public function show_item(Request $request)
// {
// $province = $request->province_id;
// $city = $request->city_id;
// $sub = $request->sub_id;
if ($request->date_from && $request->date_to) {
$date_from = $request->date_from.' 00:00:00';
$date_to = $request->date_to.' 23:59:59';
} else {
$date_from = Date('Y-m-d');
$date_to = new \DateTime('tomorrow');
$date_to = $date_to->format('Y-m-d');
}
// if ($request->date_from && $request->date_to) {
// $date_from = $request->date_from.' 00:00:00';
// $date_to = $request->date_to.' 23:59:59';
// } else {
// $date_from = Date('Y-m-d');
// $date_to = new \DateTime('tomorrow');
// $date_to = $date_to->format('Y-m-d');
// }
// $datass = DB::table('road_items_projects')
// ->where('is_new', 1)
// ->when($province, function ($query, $province) {
// return $query->where('road_items_projects.province_id', $province);
// })
// ->when($city, function ($query, $city) {
// return $query->where('road_items_projects.city_id', $city);
// })
// ->when($sub, function ($query, $sub) {
// return $query->where('sub_items', 'like', '%"'.$sub.'"%');
// })
// ->when($request->item, function ($query) use ($request) {
// if ($request->item > 0) {
// return $query->where('item', $request->item);
// }
// return $query;
// })
// ->when(!is_null($request->status), function ($query) use ($request) {
// return $query->where('status', $request->status);
// })
// ->leftJoin('users', 'users.id', '=', 'road_items_projects.user_id')
// ->whereBetween('road_items_projects.activity_date', [
// $date_from,
// $date_to,
// ])
// ->select('road_items_projects.id as i', 'start_lat as l', 'start_lng as g', 'status')
// ->get();
// // dd($datass);
$datass = DB::table('road_items_projects')
->where('is_new', 1)
->when($province, function ($query, $province) {
return $query->where('road_items_projects.province_id', $province);
})
->when($city, function ($query, $city) {
return $query->where('road_items_projects.city_id', $city);
})
->when($sub, function ($query, $sub) {
return $query->where('sub_items', 'like', '%"'.$sub.'"%');
})
->when($request->item, function ($query) use ($request) {
if ($request->item > 0) {
return $query->where('item', $request->item);
}
return $query;
})
->when(!is_null($request->status), function ($query) use ($request) {
return $query->where('status', $request->status);
})
->leftJoin('users', 'users.id', '=', 'road_items_projects.user_id')
->whereBetween('road_items_projects.activity_date', [
$date_from,
$date_to,
])
->select('road_items_projects.id as i', 'start_lat as l', 'start_lng as g', 'status')
->get();
return response()->json([
'status' => 'succeed',
'count' => count($datass),
'message' => '',
'data' => $datass
], 200);
}
// return response()->json([
// 'status' => 'succeed',
// 'count' => count($datass),
// 'message' => '',
// 'data' => $datass
// ], 200);
// }
// sharareh end
public function table3InRoadItemProject(Request $request)

View File

@@ -36,20 +36,25 @@ class RoadItemsReportController extends Controller
if ($request->from_date && $request->date_to) {
$from_date = $request->from_date;
$date_to = $request->date_to;
$from_date = $from_date.' 00:00:00';
$date_to = $date_to.' 23:59:59';
$from_date = $from_date . ' 00:00:00';
$date_to = $date_to . ' 23:59:59';
} else {
$from_date = Date('Y-m-d');
$from_date = $from_date.' 00:00:00';
$from_date = $from_date . ' 00:00:00';
$date_to = Date('Y-m-d');
$date_to = $date_to.' 23:59:59';
$date_to = $date_to . ' 23:59:59';
}
$item = $request->item;
$all = array();
$all = DB::select(DB::raw(
'SELECT sub_item AS t,COUNT(*) AS c,CAST(SUM(CASE WHEN sub_item_data>0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s,province_id AS p FROM road_items_projects WHERE item = '.$item.' AND activity_date_time BETWEEN "'.$from_date.'" AND "'.$date_to.'" and status = 1 GROUP BY p, sub_item'));
$country =DB::select(DB::raw(
'SELECT sub_item AS t,COUNT(*) AS c,CAST(SUM(CASE WHEN sub_item_data>0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s, -1 AS p FROM road_items_projects WHERE item = '.$item.' AND activity_date_time BETWEEN "'.$from_date.'" AND "'.$date_to.'" and status = 1 GROUP BY sub_item'));
$all = DB::select(
'SELECT sub_item AS t,COUNT(*) AS c,CAST(SUM(CASE WHEN sub_item_data>0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s,province_id AS p FROM road_items_projects WHERE item = ' . $item . ' AND activity_date_time BETWEEN "' . $from_date . '" AND "' . $date_to . '" and status = 1 GROUP BY p, sub_item'
);
$country = DB::select(
'SELECT sub_item AS t,COUNT(*) AS c,CAST(SUM(CASE WHEN sub_item_data>0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s, -1 AS p FROM road_items_projects WHERE item = ' . $item . ' AND activity_date_time BETWEEN "' . $from_date . '" AND "' . $date_to . '" and status = 1 GROUP BY sub_item'
);
$items_fa = InfoItem::where('item', $item)->get();
foreach ($all as $value) {
foreach ($items_fa as $val) {
@@ -58,31 +63,37 @@ class RoadItemsReportController extends Controller
}
}
}
return response()->json([
'status' => 'succeed',
'message' => '',
'data' => $all,
'country' =>$country,
'items_fa' => $items_fa
], 200);
return response()->json(
[
'status' => 'succeed',
'message' => '',
'data' => $all,
'country' => $country,
'items_fa' => $items_fa
],
200
);
}
public function get_items_city(Request $request)
{
$item = $request->item;
if ($request->from_date && $request->date_to) {
$from_date = $request->from_date.' 00:00:00';
$date_to = $request->date_to.' 23:59:59';
$from_date = $request->from_date . ' 00:00:00';
$date_to = $request->date_to . ' 23:59:59';
} else {
$from_date = Date('Y-m-d');
$from_date = $from_date.' 00:00:00';
$from_date = $from_date . ' 00:00:00';
$date_to = Date('Y-m-d');
$date_to = $date_to.' 23:59:59';
$date_to = $date_to . ' 23:59:59';
}
$item = $request->item;
$province = $request->province_id;
$all = array();
$all = DB::select(DB::raw(
'SELECT sub_item AS t,COUNT(*) AS c,CAST(SUM(CASE WHEN sub_item_data>0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s,province_id AS p, edarat_id AS ci FROM road_items_projects WHERE item = '.$item.' AND province_id = '.$province.' AND activity_date_time BETWEEN "'.$from_date.'" AND "'.$date_to.'" and status = 1 GROUP BY ci, sub_item'));
$all = DB::select(
DB::raw(
'SELECT sub_item AS t,COUNT(*) AS c,CAST(SUM(CASE WHEN sub_item_data>0 THEN sub_item_data ELSE ABS(sub_item_data) END) AS UNSIGNED) AS s,province_id AS p, edarat_id AS ci FROM road_items_projects WHERE item = ' . $item . ' AND province_id = ' . $province . ' AND activity_date_time BETWEEN "' . $from_date . '" AND "' . $date_to . '" and status = 1 GROUP BY ci, sub_item'
)
);
$items_fa = InfoItem::where('item', $item)->get();
foreach ($all as $value) {
foreach ($items_fa as $val) {
@@ -114,37 +125,38 @@ class RoadItemsReportController extends Controller
if (Auth::user()->username == 'witel' || Auth::user()->username == 'drdanesh') {
$sql = "SELECT COUNT(*) AS s,province_id AS p,item AS i
FROM road_items_projects WHERE
road_items_projects.status = 1 and road_items_projects.activity_date_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59' GROUP BY province_id,item
road_items_projects.status = 1 and road_items_projects.activity_date_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59' GROUP BY province_id,item
UNION
SELECT COUNT(*) AS s,province_id AS p,77 AS i FROM road_patrols
WHERE
start_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59' GROUP BY province_id
start_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59' GROUP BY province_id
UNION
SELECT COUNT(*) AS s,-1 AS p,item AS i FROM road_items_projects
WHERE road_items_projects.status = 1 and road_items_projects.activity_date_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59'
WHERE road_items_projects.status = 1 and road_items_projects.activity_date_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59'
GROUP BY item
UNION
SELECT COUNT(*) AS s,-1 AS p,77 AS i FROM road_patrols
WHERE start_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59'";
WHERE start_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59'";
} else {
$province_id = Auth::user()->province_id;
$sql = "SELECT COUNT(*) AS s,province_id AS p,item AS i
FROM road_items_projects WHERE road_items_projects.status = 1 and road_items_projects.province_id = ".$province_id." and
road_items_projects.activity_date_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59' GROUP BY province_id,item
FROM road_items_projects WHERE road_items_projects.status = 1 and road_items_projects.province_id = " . $province_id . " and
road_items_projects.activity_date_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59' GROUP BY province_id,item
UNION
SELECT COUNT(*) AS s,province_id AS p,77 AS i FROM road_patrols
WHERE road_patrols.province_id = ".$province_id." and
road_patrols.start_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59' GROUP BY province_id
WHERE road_patrols.province_id = " . $province_id . " and
road_patrols.start_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59' GROUP BY province_id
UNION
SELECT COUNT(*) AS s,-1 AS p,item AS i FROM road_items_projects
WHERE road_items_projects.status = 1 and road_items_projects.province_id = ".$province_id." and road_items_projects.activity_date_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59'
WHERE road_items_projects.status = 1 and road_items_projects.province_id = " . $province_id . " and road_items_projects.activity_date_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59'
GROUP BY item
UNION
SELECT COUNT(*) AS s,-1 AS p,77 AS i FROM road_patrols
WHERE road_patrols.province_id = ".$province_id." and road_patrols.start_time BETWEEN '".$from_date." 00:00:00' and '".$date_to." 23:59:59'";
WHERE road_patrols.province_id = " . $province_id . " and road_patrols.start_time BETWEEN '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59'";
}
$data = DB::select(DB::raw($sql));
$data = DB::select($sql);
return response()->json([
'status' => 'succeed',
@@ -165,19 +177,70 @@ class RoadItemsReportController extends Controller
$sql = "SELECT COUNT(*) AS s,edarat_id AS c,item AS i
FROM road_items_projects where
status = 1 and road_items_projects.activity_date_time between '".$from_date." 00:00:00' and '".$date_to." 23:59:59'
and province_id= '".$p."' GROUP BY item,c
status = 1 and road_items_projects.activity_date_time between '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59'
and province_id= '" . $p . "' GROUP BY item,c
UNION
SELECT COUNT(*) AS s,edare_id AS c,77 AS i FROM road_patrols
where
road_patrols.start_time between '".$from_date." 00:00:00' and '".$date_to." 23:59:59'
and province_id= '".$p."' GROUP BY c";
road_patrols.start_time between '" . $from_date . " 00:00:00' and '" . $date_to . " 23:59:59'
and province_id= '" . $p . "' GROUP BY c";
$data = DB::select(DB::raw($sql));
$data = DB::select($sql);
return response()->json([
'status' => 'succeed',
'message' => '',
'data' => $data,
], 200);
}
public function map(Request $request)
{
$province = $request->province_id;
$city = $request->city_id;
$sub = $request->sub_id;
if ($request->date_from && $request->date_to) {
$date_from = $request->date_from.' 00:00:00';
$date_to = $request->date_to.' 23:59:59';
} else {
$date_from = Date('Y-m-d');
$date_to = new \DateTime('tomorrow');
$date_to = $date_to->format('Y-m-d');
}
$datass = DB::table('road_items_projects')
->where('is_new', 1)
->when($province, function ($query, $province) {
return $query->where('road_items_projects.province_id', $province);
})
->when($city, function ($query, $city) {
return $query->where('road_items_projects.city_id', $city);
})
->when($sub, function ($query, $sub) {
return $query->where('sub_items', 'like', '%"'.$sub.'"%');
})
->when($request->item, function ($query) use ($request) {
if ($request->item > 0) {
return $query->where('item', $request->item);
}
return $query;
})
->when(!is_null($request->status), function ($query) use ($request) {
return $query->where('status', $request->status);
})
->leftJoin('users', 'users.id', '=', 'road_items_projects.user_id')
->whereBetween('road_items_projects.activity_date', [
$date_from,
$date_to,
])
->select('road_items_projects.id as i', 'start_lat as l', 'start_lng as g', 'status')
->get();
// dd($datass);
return response()->json([
'status' => 'succeed',
'count' => count($datass),
'message' => '',
'data' => $datass
], 200);
}
}

View File

@@ -13,7 +13,7 @@ use App\Facades\Sms\Sms;
use Illuminate\Support\Facades\Gate;
use App\Facades\Otp\Otp;
use Carbon\Carbon;
use App\Models\RoadObserved;
use App\Models\RoadPatrol;
use App\Models\RoadItemsProject;
use App\Models\EdarateShahri;
@@ -501,6 +501,49 @@ class RoadPatrolProjectController extends Controller
], 200);
}
public function map(Request $request)
{
$province = $request->province_id;
$edare_shahri = $request->edare_shahri_id;
$status = $request->status;
$rms_status = $request->rms_status;
if ($request->date_from && $request->date_to) {
$date_from = $request->date_from.' 00:00:00';
$date_to = $request->date_to.' 23:59:59';
} else {
$date_from = Date('Y-m-d');
$date_to = new \DateTime('tomorrow');
$date_to = $date_to->format('Y-m-d');
}
$projects = RoadObserved::select('id', 'lng', 'lat','status')
->whereBetween('created_at', [$date_from, $date_to])
->when($province, function ($query) use ($province) {
return $query->where('province_id', $province);
})
->when($rms_status, function ($query) use ($rms_status) {
if ($rms_status == 2) {
return $query->where('rms_status', '<>',0);
} else {
return $query->where('rms_status', 0);
}
})
->when($edare_shahri, function ($query) use ($edare_shahri) {
return $query->where('edarate_shahri_id', $edare_shahri);
})
->when($status, function ($query) use ($status) {
return $query->where('status', $status);
})
// ->toSql();
->get();
return response()->json([
'status' => 'succeed',
'message' => '',
'data' => $projects
], 200);
}
public function detail(RoadPatrol $road_patrol)
{
return response()->json($road_patrol, 200);