Browse Source

Merge remote-tracking branch 'origin/master'

zouxuan 4 years ago
parent
commit
8592d40d33

+ 30 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -511,7 +511,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             return;
             return;
         }
         }
 
 
-        SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE_VIP);
+        SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE);
         double attendanceRange = 0;
         double attendanceRange = 0;
         if(Objects.nonNull(sysConfig)){
         if(Objects.nonNull(sysConfig)){
             attendanceRange = Double.valueOf(sysConfig.getParanValue());
             attendanceRange = Double.valueOf(sysConfig.getParanValue());
@@ -2018,13 +2018,20 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             idSchoolMap = schools.stream().collect(Collectors.toMap(School::getId, s->s, (s1, s2)->s1));
             idSchoolMap = schools.stream().collect(Collectors.toMap(School::getId, s->s, (s1, s2)->s1));
         }
         }
 
 
-        //签到时间范围
-        SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE_VIP);
+        //签到GPS范围
+        SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE);
         double attendanceRange = 0;
         double attendanceRange = 0;
         if(Objects.nonNull(sysConfig)){
         if(Objects.nonNull(sysConfig)){
             attendanceRange = Double.valueOf(sysConfig.getParanValue());
             attendanceRange = Double.valueOf(sysConfig.getParanValue());
         }
         }
 
 
+        //签到GPS范围VIP
+        SysConfig vipSysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE_VIP);
+        double vipAttendanceRange = 0;
+        if(Objects.nonNull(vipSysConfig)){
+            vipAttendanceRange = Double.valueOf(vipSysConfig.getParanValue());
+        }
+
         //教师签到记录
         //教师签到记录
         List<TeacherAttendance> allTeacherAttendances = teacherAttendanceDao.findByCourseSchedules(courseIds);
         List<TeacherAttendance> allTeacherAttendances = teacherAttendanceDao.findByCourseSchedules(courseIds);
         Map<Long, List<TeacherAttendance>> teacherCourseAttendanceMap = allTeacherAttendances.stream().filter(c->teacherId.equals(c.getTeacherId())).collect(Collectors.groupingBy(TeacherAttendance::getCourseScheduleId));
         Map<Long, List<TeacherAttendance>> teacherCourseAttendanceMap = allTeacherAttendances.stream().filter(c->teacherId.equals(c.getTeacherId())).collect(Collectors.groupingBy(TeacherAttendance::getCourseScheduleId));
@@ -2049,9 +2056,8 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                     calMusicCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, attendanceRange);
                     calMusicCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, attendanceRange);
                     break;
                     break;
                 case VIP:
                 case VIP:
-                    calVipCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, attendanceRange);
+                    calVipCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, vipAttendanceRange);
                     break;
                     break;
-
                 case PRACTICE:
                 case PRACTICE:
                     calPracticeTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher);
                     calPracticeTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher);
                     break;
                     break;
@@ -2108,13 +2114,20 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 idSchoolMap = schools.stream().collect(Collectors.toMap(School::getId, s->s, (s1, s2)->s1));
                 idSchoolMap = schools.stream().collect(Collectors.toMap(School::getId, s->s, (s1, s2)->s1));
             }
             }
 
 
-            //签到时间范围
-            SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE_VIP);
+            //签到GPS范围
+            SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE);
             double attendanceRange = 0;
             double attendanceRange = 0;
             if(Objects.nonNull(sysConfig)){
             if(Objects.nonNull(sysConfig)){
                 attendanceRange = Double.valueOf(sysConfig.getParanValue());
                 attendanceRange = Double.valueOf(sysConfig.getParanValue());
             }
             }
 
 
+            //签到GPS范围VIP
+            SysConfig vipSysConfig = sysConfigService.findByParamName(SysConfigService.ATTENDANCE_RANGE_VIP);
+            double vipAttendanceRange = 0;
+            if(Objects.nonNull(vipSysConfig)){
+                vipAttendanceRange = Double.valueOf(vipSysConfig.getParanValue());
+            }
+
             //教师签到记录
             //教师签到记录
             List<TeacherAttendance> allTeacherAttendances = teacherAttendanceDao.findByCourseSchedules(courseIds);
             List<TeacherAttendance> allTeacherAttendances = teacherAttendanceDao.findByCourseSchedules(courseIds);
             Map<Long, List<TeacherAttendance>> teacherCourseAttendanceMap = allTeacherAttendances.stream().filter(c->queryInfo.getTeacherId().equals(c.getTeacherId())).collect(Collectors.groupingBy(TeacherAttendance::getCourseScheduleId));
             Map<Long, List<TeacherAttendance>> teacherCourseAttendanceMap = allTeacherAttendances.stream().filter(c->queryInfo.getTeacherId().equals(c.getTeacherId())).collect(Collectors.groupingBy(TeacherAttendance::getCourseScheduleId));
@@ -2146,7 +2159,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                         calMusicCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, attendanceRange);
                         calMusicCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, attendanceRange);
                         break;
                         break;
                     case VIP:
                     case VIP:
-                        calVipCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, attendanceRange);
+                        calVipCourseTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher, vipAttendanceRange);
                         break;
                         break;
                     case PRACTICE:
                     case PRACTICE:
                         calPracticeTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher);
                         calPracticeTeacherActualSalary(courseSchedule, teacherSalary, teacherAttendances, school, teacher);
@@ -2208,19 +2221,25 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             startDate = startDate.withMonth(3);
             startDate = startDate.withMonth(3);
         }
         }
 
 
+        result.put("total", BigDecimal.ZERO);
+        result.put("salary", BigDecimal.ZERO);
+        result.put("data", Collections.emptyList());
+
         if(startDate.compareTo(minDate)<0){
         if(startDate.compareTo(minDate)<0){
-            result.put("total", BigDecimal.ZERO);
-            result.put("salary", BigDecimal.ZERO);
-            result.put("data", Collections.emptyList());
             return result;
             return result;
         }
         }
 
 
         List<LocalDateBigDecimalMapDto> monthIncomeMapList = courseScheduleTeacherSalaryDao.teacherIncomeStat(teacherId, year, month);
         List<LocalDateBigDecimalMapDto> monthIncomeMapList = courseScheduleTeacherSalaryDao.teacherIncomeStat(teacherId, year, month);
 
 
+        if(CollectionUtils.isEmpty(monthIncomeMapList)){
+            return result;
+        }
+
         if(Objects.isNull(month)){
         if(Objects.isNull(month)){
             Set<String> months = monthIncomeMapList.stream().map(e -> DateUtil.dateToString(e.getDate(), "yyyy-MM")).collect(Collectors.toSet());
             Set<String> months = monthIncomeMapList.stream().map(e -> DateUtil.dateToString(e.getDate(), "yyyy-MM")).collect(Collectors.toSet());
 
 
             LocalDate now = LocalDate.now();
             LocalDate now = LocalDate.now();
+            now = now.plusMonths(-1);
             DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM");
             DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM");
             while (startDate.compareTo(now)<=0&&year.equals(startDate.get(ChronoField.YEAR))){
             while (startDate.compareTo(now)<=0&&year.equals(startDate.get(ChronoField.YEAR))){
                 String dateStr = dateFormatter.format(startDate);
                 String dateStr = dateFormatter.format(startDate);

+ 1 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -1128,6 +1128,7 @@
 			<if test="year!=null">
 			<if test="year!=null">
 				AND YEAR ( cs.class_date_ ) = #{year}
 				AND YEAR ( cs.class_date_ ) = #{year}
 			</if>
 			</if>
+		  	AND csts.actual_salary_ &gt; 0
 			<if test="month!=null">
 			<if test="month!=null">
 				AND MONTH(cs.class_date_) = #{month}
 				AND MONTH(cs.class_date_) = #{month}
 			</if>
 			</if>