|
@@ -3739,6 +3739,7 @@ class CameraApiController extends BaseController
|
|
|
$res[$i]['control_num'] = $control_num;
|
|
|
$res[$i]['people_num'] = count($people_list);
|
|
|
$res[$i]['people_avg_count'] = number_format($control_num/count($people_list), 2);
|
|
|
+ $res[$i]['sort'] = $coal_list[$i]->sort;
|
|
|
}else{
|
|
|
$res[$i]['area'] = $coal_list[$i]->area;
|
|
|
$res[$i]['unit'] = $coal_list[$i]->title;
|
|
@@ -3746,11 +3747,39 @@ class CameraApiController extends BaseController
|
|
|
$res[$i]['control_num'] = 0;
|
|
|
$res[$i]['people_num'] = 0;
|
|
|
$res[$i]['people_avg_count'] = 0;
|
|
|
+ $res[$i]['sort'] = $coal_list[$i]->sort;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
+ //按照people_avg_count排序
|
|
|
+ usort($res, function ($a, $b) {
|
|
|
+ return $b['people_avg_count'] <=> $a['people_avg_count'];
|
|
|
+ });
|
|
|
+
|
|
|
+ //添加排名rank
|
|
|
+ $rank = 1;
|
|
|
+ for ($i = 0; $i < count($res); $i++) {
|
|
|
+ // 对于同一个 control_num 赋予相同的排名
|
|
|
+ if ($i > 0 && $res[$i]['people_avg_count'] == $res[$i - 1]['people_avg_count']) {
|
|
|
+ $res[$i]['rank'] = $res[$i - 1]['rank']; // 保持相同排名
|
|
|
+ } else {
|
|
|
+ $res[$i]['rank'] = $rank++; // 否则递增排名
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //按照sort排序
|
|
|
+ usort($res, function ($a, $b) {
|
|
|
+ return $a['sort'] <=> $b['sort'];
|
|
|
+ });
|
|
|
+
|
|
|
+ //删除sort字段
|
|
|
+ $res = array_map(function ($item) {
|
|
|
+ unset($item['sort']);
|
|
|
+ return $item;
|
|
|
+ }, $res);
|
|
|
+
|
|
|
$result['control_list'] = $res;
|
|
|
return $result;
|
|
|
}
|