Sfoglia il codice sorgente

风险作业接口

任敬轩 5 mesi fa
parent
commit
5bb184f408

+ 29 - 0
Modules/Camera/Http/Controllers/Api/CameraApiController.php

@@ -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;
     }