|
|
@@ -62,12 +62,9 @@ import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
-import java.util.HashSet;
|
|
|
import java.util.LinkedHashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
-import java.util.OptionalDouble;
|
|
|
-import java.util.Set;
|
|
|
import java.util.concurrent.CompletableFuture;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -812,8 +809,6 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
record.setEmployType(teacher.getEmployType());
|
|
|
record.setClassTime1(statistics.getWeeks());
|
|
|
|
|
|
- Double allClassTime = 0D;
|
|
|
-
|
|
|
//早自习、正课、晚辅、顶课、调课
|
|
|
Double classTime7 = 0D,classTime8 = 0D,classTime9 = 0D;
|
|
|
|
|
|
@@ -861,17 +856,28 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
}
|
|
|
|
|
|
if(!insertList.isEmpty()){
|
|
|
+ Double overWorkloadNumber = statistics.getOverWorkloadNumber() == null ? 0D : statistics.getOverWorkloadNumber();
|
|
|
+ Double time14 = weightFieldMap.get("time14");//工作量得分
|
|
|
if(statistics.getOverWorkloadNumberStatus() != 1){
|
|
|
//取出最大总平均课时
|
|
|
Double maxClassTime4 = insertList.stream().mapToDouble(ClassTimeStatisticsRecord::getClassTime4).max().getAsDouble();
|
|
|
//计算超工作量基数
|
|
|
- Double time14 = weightFieldMap.get("time14");//工作量得分
|
|
|
- Double time13 = weightFieldMap.get("time13");//超工作量得分
|
|
|
+ if(!maxClassTime4.equals(time14)){
|
|
|
+ Double time13 = weightFieldMap.get("time13");//超工作量得分
|
|
|
+ overWorkloadNumber = BigDecimal.valueOf(time13).divide((BigDecimal.valueOf(maxClassTime4).subtract(BigDecimal.valueOf(time14))),2, RoundingMode.HALF_UP).doubleValue();
|
|
|
+ }
|
|
|
}
|
|
|
+ statistics.setOverWorkloadNumber(overWorkloadNumber);
|
|
|
//先删除
|
|
|
String sql = "delete from class_time_statistics_record where class_time_statistics_id = " + statistics.getId();
|
|
|
SqlRunnerAdapter.db().delete(sql);
|
|
|
for (ClassTimeStatisticsRecord record : insertList) {
|
|
|
+ if(overWorkloadNumber != 0D){
|
|
|
+ double classTime6 = BigDecimal.valueOf(record.getClassTime4())
|
|
|
+ .subtract(BigDecimal.valueOf(time14))
|
|
|
+ .multiply(BigDecimal.valueOf(overWorkloadNumber)).doubleValue();
|
|
|
+ record.setClassTime6(classTime6);
|
|
|
+ }
|
|
|
recordMapper.insert(record);
|
|
|
}
|
|
|
}
|