Преглед на файлове

修改定档权重计算规则

ting.yin преди 6 години
родител
ревизия
92a3c60eba
променени са 1 файла, в които са добавени 3 реда и са изтрити 1 реда
  1. 3 1
      stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/service/DetermineLevelService.java

+ 3 - 1
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/service/DetermineLevelService.java

@@ -58,6 +58,7 @@ public class DetermineLevelService {
     	}
         //通过权重计算,平均值四舍五入
         double[] values = new double[tasks.length];
+        double[] weights = new double[tasks.length];
         Long workId = null;
         for (int i = 0; i < tasks.length; i++) {
             workId = tasks[i].getWorkId();
@@ -68,8 +69,9 @@ public class DetermineLevelService {
             MarkUser marker = markUserRepo.findOne(tasks[i].getMarkerId());
             double markerWeight = marker.getWeight();
             values[i] = level.getWeight()*markerWeight;
+            weights[i] = markerWeight;
         }
-        int avg = (int)Math.round(DoubleStream.of(values).average().orElse(0));
+        int avg = (int)Math.round(DoubleStream.of(values).sum()/DoubleStream.of(weights).sum());
         List<Level> levels = levelRepo.findByWorkId(workId);
         Optional<Level> levelOptional = levels.stream().filter(o -> o.getMaxScore() >= avg && o.getMinScore() <= avg).findFirst();
         Level level = levelOptional.orElse(null);