|
@@ -871,23 +871,26 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
if(!insertList.isEmpty()){
|
|
if(!insertList.isEmpty()){
|
|
|
Double overWorkloadNumber = statistics.getOverWorkloadNumber() == null ? 0D : statistics.getOverWorkloadNumber();
|
|
Double overWorkloadNumber = statistics.getOverWorkloadNumber() == null ? 0D : statistics.getOverWorkloadNumber();
|
|
|
Double time14 = weightFieldMap.get("time14");//工作量得分
|
|
Double time14 = weightFieldMap.get("time14");//工作量得分
|
|
|
|
|
+ Double time13 = weightFieldMap.get("time13");//超工作量得分
|
|
|
if(statistics.getOverWorkloadNumberStatus() != 1){
|
|
if(statistics.getOverWorkloadNumberStatus() != 1){
|
|
|
//取出最大总平均课时
|
|
//取出最大总平均课时
|
|
|
Double maxClassTime4 = insertList.stream().mapToDouble(ClassTimeStatisticsRecord::getClassTime4).max().getAsDouble();
|
|
Double maxClassTime4 = insertList.stream().mapToDouble(ClassTimeStatisticsRecord::getClassTime4).max().getAsDouble();
|
|
|
//计算超工作量基数
|
|
//计算超工作量基数
|
|
|
if(!maxClassTime4.equals(time14)){
|
|
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();
|
|
overWorkloadNumber = BigDecimal.valueOf(time13).divide((BigDecimal.valueOf(maxClassTime4).subtract(BigDecimal.valueOf(time14))),2, RoundingMode.HALF_UP).doubleValue();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ double allClassTime = insertList.stream().filter(x -> x.getAllClassTime() != null).mapToDouble(ClassTimeStatisticsRecord::getAllClassTime).sum();
|
|
|
|
|
+ statistics.setAllClassTime(allClassTime);
|
|
|
statistics.setOverWorkloadNumber(overWorkloadNumber);
|
|
statistics.setOverWorkloadNumber(overWorkloadNumber);
|
|
|
//先删除
|
|
//先删除
|
|
|
String sql = "delete from class_time_statistics_record where class_time_statistics_id = " + statistics.getId();
|
|
String sql = "delete from class_time_statistics_record where class_time_statistics_id = " + statistics.getId();
|
|
|
SqlRunnerAdapter.db().delete(sql);
|
|
SqlRunnerAdapter.db().delete(sql);
|
|
|
for (ClassTimeStatisticsRecord record : insertList) {
|
|
for (ClassTimeStatisticsRecord record : insertList) {
|
|
|
- if(overWorkloadNumber != 0D){
|
|
|
|
|
|
|
+ if(overWorkloadNumber != 0D && time13 < record.getClassTime4()){
|
|
|
double classTime6 = BigDecimal.valueOf(record.getClassTime4())
|
|
double classTime6 = BigDecimal.valueOf(record.getClassTime4())
|
|
|
- .subtract(BigDecimal.valueOf(time14))
|
|
|
|
|
|
|
+ .subtract(BigDecimal.valueOf(time13))
|
|
|
.multiply(BigDecimal.valueOf(overWorkloadNumber)).doubleValue();
|
|
.multiply(BigDecimal.valueOf(overWorkloadNumber)).doubleValue();
|
|
|
if(classTime6 > 0d){
|
|
if(classTime6 > 0d){
|
|
|
record.setClassTime6(classTime6);
|
|
record.setClassTime6(classTime6);
|
|
@@ -957,6 +960,7 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
|
|
|
for (CourseClassTimeStatisticsRecordVo el : recordList) {
|
|
for (CourseClassTimeStatisticsRecordVo el : recordList) {
|
|
|
ClassTimeStatisticsAdministrationExcelVo excelVo = BeanUtil.toBean(el, ClassTimeStatisticsAdministrationExcelVo.class);
|
|
ClassTimeStatisticsAdministrationExcelVo excelVo = BeanUtil.toBean(el, ClassTimeStatisticsAdministrationExcelVo.class);
|
|
|
excelVo.setSortCode(sortCode);
|
|
excelVo.setSortCode(sortCode);
|
|
|
|
|
+ list.add(excelVo);
|
|
|
sortCode ++;
|
|
sortCode ++;
|
|
|
}
|
|
}
|
|
|
ByteArrayOutputStream bot = new ByteArrayOutputStream();
|
|
ByteArrayOutputStream bot = new ByteArrayOutputStream();
|