Przeglądaj źródła

fix:(ApiController):learningEffectCheck

Xu·LinPeng 3 miesięcy temu
rodzic
commit
a60459448c

+ 19 - 6
Modules/Admin/Http/Controllers/Api/ApiController.php

@@ -640,6 +640,19 @@ class ApiController extends BaseController
         }
 
         // 最后结果需要有个排名
+        usort($result, function ($a, $b) {
+            return $b['pjf'] <=> $a['pjf'];
+        });
+
+        $rank = 1;
+        for ($i = 0; $i < count($result); $i++) {
+            // 对于同一个 control_num 赋予相同的排名
+            if ($i > 0 && $result[$i]['pjf'] == $result[$i - 1]['pjf']) {
+                $result[$i]['rank'] = $result[$i - 1]['rank'];  // 保持相同排名
+            } else {
+                $result[$i]['rank'] = $rank++;  // 否则递增排名
+            }
+        }
 
         return self::successResponse($result);
 
@@ -663,7 +676,7 @@ class ApiController extends BaseController
         // 最高分
         $theHighestScore = 0;
         // 最低分
-        $theLowestScore = 0;
+        $theLowestScore = 100;
         // 平均分
         $averageScore = 0;
 
@@ -681,11 +694,11 @@ class ApiController extends BaseController
             $averageScore += $item['df'];
         }
         $unitName = reset($data)['dwmc'];
-        $accidentCause = $accidentCause / $checkPeopleNum;
-        $accidentConsequence = $accidentConsequence / $checkPeopleNum;
-        $resultOfAccidentTreatment = $resultOfAccidentTreatment / $checkPeopleNum;
-        $preventiveMeasures = $preventiveMeasures / $checkPeopleNum;
-        $averageScore = $averageScore / $checkPeopleNum;
+        $accidentCause = round($accidentCause / $checkPeopleNum,2);
+        $accidentConsequence = round($accidentConsequence / $checkPeopleNum,2);
+        $resultOfAccidentTreatment = round($resultOfAccidentTreatment / $checkPeopleNum,2);
+        $preventiveMeasures = round($preventiveMeasures / $checkPeopleNum,2);
+        $averageScore = round($averageScore / $checkPeopleNum,2);
         $res = [
             'dwmc' => $unitName,
             'jcrc' => $checkPeopleNum,