瀏覽代碼

feat:教师端课酬

Joburgess 4 年之前
父節點
當前提交
1d2a53209f

+ 0 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -547,11 +547,6 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 													@Param("courseStatus") CourseStatusEnum courseStatus,
 													@Param("teachIncomeType") String teachIncomeType);
 
-
-	List<LocalDateBigDecimalMapDto> teacherIncomeStatOld(@Param("teacherId") Integer teacherId,
-													  @Param("year") Integer year,
-													  @Param("month") Integer month);
-
 	/**
 	 * @describe 教师年度收入统计
 	 * @author Joburgess

+ 9 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -1421,8 +1421,11 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         List<TeacherAttendance> teacherAttendances = teacherAttendanceDao.findByCourseSchedules(Arrays.asList(courseScheduleId));
         Map<Integer, TeacherAttendance> idTeacherAttendanceMap = teacherAttendances.stream().collect(Collectors.toMap(TeacherAttendance::getTeacherId, t -> t, (t1, t2) -> t1));
         List<SimpleUserDto> usersSimpleInfo = new ArrayList<>();
+        Map<Integer, Teacher> idTeacherMap = new HashMap<>();
         if(!CollectionUtils.isEmpty(teacherIds)){
             usersSimpleInfo = teacherDao.getUsersSimpleInfo(new ArrayList<>(teacherIds));
+            List<Teacher> teachers = teacherDao.findByTeacherIds(new ArrayList<>(teacherIds));
+            idTeacherMap = teachers.stream().collect(Collectors.toMap(Teacher::getId, t->t, (t1, t2)->t1));
         }
         Map<Integer, SimpleUserDto> idUserMap = usersSimpleInfo.stream().collect(Collectors.toMap(SimpleUserDto::getUserId, s -> s));
 
@@ -1444,10 +1447,15 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 t.setSignOutStatus(Objects.nonNull(teacherAttendance.getSignOutStatus())?(YesOrNoEnum.NO.equals(teacherAttendance.getSignOutStatus())?SignOutStatusEnum.UNUSUAL:SignOutStatusEnum.NORMAL):SignOutStatusEnum.NO);
                 t.setSignInLongitudeLatitude(teacherAttendance.getSignInLongitudeLatitude());
                 t.setSignOutLongitudeLatitude(teacherAttendance.getSignOutLongitudeLatitude());
+                t.setComplaintsStatus(teacherAttendance.getComplaintsStatus());
             }
             if(Objects.nonNull(school)){
                 t.setSchoolLongitudeLatitude(school.getLongitudeLatitude());
             }
+            if(idTeacherMap.containsKey(courseScheduleTeacherSalary.getUserId())){
+                Teacher teacher = idTeacherMap.get(courseScheduleTeacherSalary.getUserId());
+                t.setJobNature(teacher.getJobNature());
+            }
             result.add(t);
         }
         return result;
@@ -2313,7 +2321,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             return result;
         }
 
-        List<LocalDateBigDecimalMapDto> monthIncomeMapList = courseScheduleTeacherSalaryDao.teacherIncomeStatOld(teacherId, year, month);
+        List<LocalDateBigDecimalMapDto> monthIncomeMapList = courseScheduleTeacherSalaryDao.teacherIncomeStat(teacherId, year, month);
 
         if(CollectionUtils.isEmpty(monthIncomeMapList)){
             return result;

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

@@ -1110,43 +1110,6 @@
 			</if>
 	</select>
 
-	<select id="teacherIncomeStatOld" resultType="com.ym.mec.biz.dal.dto.LocalDateBigDecimalMapDto">
-		SELECT
-		<if test="month==null">
-			CONCAT(DATE_FORMAT( cs.class_date_, '%Y-%m' ), '-01') date,
-			CONCAT(DATE_FORMAT( cs.class_date_, '%Y-%m' )) dateStr,
-		</if>
-		<if test="month!=null">
-			DATE_FORMAT( cs.class_date_, '%Y-%m-%d' ) date,
-			DATE_FORMAT( cs.class_date_, '%Y-%m-%d' ) dateStr,
-		</if>
-		SUM( csts.subsidy_ ) amount
-		FROM
-		course_schedule_teacher_salary csts
-		LEFT JOIN course_schedule cs ON csts.course_schedule_id_ = cs.id_
-		WHERE
-		( cs.del_flag_ IS NULL OR cs.del_flag_ = 0 )
-		AND ( cs.is_lock_ = 0 OR cs.is_lock_ IS NULL )
-		AND ( cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_ )
-		AND csts.user_id_ = #{teacherId}
-		<if test="year!=null">
-			AND YEAR ( cs.class_date_ ) = #{year}
-		</if>
-		AND csts.actual_salary_ &gt; 0
-		<if test="month!=null">
-			AND MONTH(cs.class_date_) = #{month}
-		</if>
-		AND cs.class_date_ &gt;= '2021-03-01'
-		AND csts.settlement_time_ IS NOT NULL
-		GROUP BY
-		<if test="month==null">
-			MONTH(cs.class_date_)
-		</if>
-		<if test="month!=null">
-			DATE_FORMAT( cs.class_date_, '%Y-%m-%d' )
-		</if>
-	</select>
-
 	<select id="teacherIncomeStat" resultType="com.ym.mec.biz.dal.dto.LocalDateBigDecimalMapDto">
 		SELECT
 			<if test="month==null">