Browse Source

课时统计

dzx 1 year ago
parent
commit
514dd6d1f3

+ 4 - 3
src/main/java/com/xjrsoft/module/classtime/service/impl/ClassTimeStatisticsServiceImpl.java

@@ -315,7 +315,7 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
                 Double reduceTime = 0d;
                 Double reduceTime = 0d;
                 for (CourseListVo courseListVo : substituteList) {
                 for (CourseListVo courseListVo : substituteList) {
                     Set<LocalDate> deleteDates = deleteMap.get(courseListVo.getClassId());
                     Set<LocalDate> deleteDates = deleteMap.get(courseListVo.getClassId());
-                    if(deleteDates.contains(courseListVo.getScheduleDate())){
+                    if(deleteDates !=null && deleteDates.contains(courseListVo.getScheduleDate())){
                         continue;
                         continue;
                     }
                     }
                     reduceTime += weightSetMap.get(courseListVo.getShortName());
                     reduceTime += weightSetMap.get(courseListVo.getShortName());
@@ -393,8 +393,9 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
                 }
                 }
                 //计算出总的超出课时并计算超课时费
                 //计算出总的超出课时并计算超课时费
                 BigDecimal allCcksTime = BigDecimal.ZERO;
                 BigDecimal allCcksTime = BigDecimal.ZERO;
-                if(allClassTime > ccksTime.multiply(BigDecimal.valueOf(weekTimeRangeVos.size())).doubleValue()){//如果总的课时超出规定课时
-                    allCcksTime = BigDecimal.valueOf(allClassTime).subtract(ccksTime.multiply(BigDecimal.valueOf(weekTimeRangeVos.size())));
+                BigDecimal ccksTime2 = ccksTime.multiply(BigDecimal.valueOf(weekTimeRangeVos.size()));
+                if(allClassTime > ccksTime2.doubleValue()){//如果总的课时超出规定课时
+                    allCcksTime = BigDecimal.valueOf(allClassTime).subtract(ccksTime2);
                 }
                 }
                 beyondClassTimeAmount = allCcksTime.multiply(ccksCost).doubleValue();
                 beyondClassTimeAmount = allCcksTime.multiply(ccksCost).doubleValue();
                 if(!"FB1601".equals(teacher.getEmployType())){
                 if(!"FB1601".equals(teacher.getEmployType())){