Browse Source

涉及乐团id类型修改

周箭河 5 years ago
parent
commit
834e845f4e

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupTeacherMapperDao.java

@@ -24,5 +24,5 @@ public interface ClassGroupTeacherMapperDao extends BaseDAO<Long, ClassGroupTeac
      * @param ClassGroupList
      * @return
      */
-    List<ClassGroupTeacherMapper> findClassGroupTeachers(@Param("ClassGroupList") List ClassGroupList);
+    List<ClassGroupTeacherMapper> findClassGroupTeachers(@Param("classGroupList") List classGroupList);
 }

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDefaultMusicGroupSalaryDao.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.common.dal.BaseDAO;
 
 import org.apache.ibatis.annotations.Param;
@@ -13,9 +14,10 @@ public interface TeacherDefaultMusicGroupSalaryDao extends BaseDAO<Long, Teacher
 
     /**
      * 获取老师对应课程类型的课酬
+     *
      * @param userId
      * @param classGroupType
      * @return
      */
-    TeacherDefaultMusicGroupSalary getTeacherSalaryByUserIdAndType(@Param("userId") int userId, @Param("classGroupType") ClassGroupTypeEnum classGroupType);
+    List<TeacherDefaultMusicGroupSalary> getTeacherSalaryByUserIdAndType(@Param("userId") int userId, @Param("classGroupType") ClassGroupTypeEnum classGroupType, @Param("settlementType") SalarySettlementTypeEnum settlementType);
 }

+ 15 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ClassGroupTeacherMapper.java

@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * 对应数据库表(class_group_teacher_mapper):
@@ -33,11 +34,14 @@ public class ClassGroupTeacherMapper {
 	private Integer userId;
 
 	@ApiModelProperty(value = "用户名",required = false)
-	private Integer realName;
+	private String realName;
 
 	/** 薪酬 */
 	@ApiModelProperty(value = "薪酬",required = false)
 	private BigDecimal salary;
+
+	@ApiModelProperty(value = "默认薪酬列表",required = false)
+	private List<TeacherDefaultMusicGroupSalary> teacherDefaultMusicGroupSalaryList;
 	
 	/**  */
 	private java.util.Date createTime;
@@ -109,13 +113,21 @@ public class ClassGroupTeacherMapper {
 		return this.updateTime;
 	}
 
-	public Integer getUserName() {
+	public String getUserName() {
 		return realName;
 	}
 
-	public void setUserName(Integer realName) {
+	public void setUserName(String realName) {
 		this.realName = realName;
 	}
+
+	public List<TeacherDefaultMusicGroupSalary> getTeacherDefaultMusicGroupSalaryList() {
+		return teacherDefaultMusicGroupSalaryList;
+	}
+
+	public void setTeacherDefaultMusicGroupSalaryList(List<TeacherDefaultMusicGroupSalary> teacherDefaultMusicGroupSalaryList) {
+		this.teacherDefaultMusicGroupSalaryList = teacherDefaultMusicGroupSalaryList;
+	}
 			
 	@Override
 	public String toString() {

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherDefaultMusicGroupSalaryService.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.common.service.BaseService;
 
 import java.util.List;
@@ -15,7 +16,7 @@ public interface TeacherDefaultMusicGroupSalaryService extends BaseService<Long,
      * @param classGroupType
      * @return
      */
-    TeacherDefaultMusicGroupSalary getTeacherSalaryByUserIdAndType(int userId,ClassGroupTypeEnum classGroupType);
+    List<TeacherDefaultMusicGroupSalary> getTeacherSalaryByUserIdAndType(int userId, ClassGroupTypeEnum classGroupType, SalarySettlementTypeEnum settlementType);
 
     /**
      * 批量新增修改教师薪酬设置

+ 11 - 54
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -185,13 +185,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             Long classGroupId = this.insert(highClassGroup);
 
             //2、插入班级关联老师
-            TeacherDefaultMusicGroupSalary teacherSalary = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(highClassGroup.getUserId(), ClassGroupTypeEnum.HIGH);
             ClassGroupTeacherMapper classGroupTeacherMapper = new ClassGroupTeacherMapper();
             classGroupTeacherMapper.setMusicGroupId(highClassGroup.getUserId());
             classGroupTeacherMapper.setClassGroupId(classGroupId.intValue());
             classGroupTeacherMapper.setTeacherRole(TeachTypeEnum.BISHOP);
             classGroupTeacherMapper.setUserId(highClassGroup.getUserId());
-            classGroupTeacherMapper.setSalary(teacherSalary.getMainTeacherSalary());
             classGroupTeacherMapper.setCreateTime(date);
             classGroupTeacherMapper.setUpdateTime(date);
             classGroupTeacherMapperService.insert(classGroupTeacherMapper);
@@ -282,60 +280,19 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     }
 
     @Override
-    public List<ClassGroupTeachersDto> getClassGroupAndTeacherSalary(String musicGroupId,SalarySettlementTypeEnum type) {
+    public List<ClassGroupTeachersDto> getClassGroupAndTeacherSalary(String musicGroupId, SalarySettlementTypeEnum type) {
         //乐团班级及班级老师
         List<ClassGroupTeachersDto> classGroupAndTeachers = getClassGroupAndTeachers(musicGroupId);
-        //乐团的课程计划
-        List<CourseSchedule> classGroupCourseSchedules = courseScheduleService.findClassGroupCourseSchedules(classGroupAndTeachers);
 
-        //获取乐团老师课酬
-        List<ClassGroupTeacherSalary> nowClassGroupTeacherSalaryList = classGroupTeacherSalaryService.findByMusicGroupId(musicGroupId);
-
-        //基础课时
-        BigDecimal baseDuration = new BigDecimal("30");
         for (ClassGroupTeachersDto classGroupAndTeacher : classGroupAndTeachers) {
-
-            Set<Long> courseScheduleDurationSet = new HashSet<>();
-            for (CourseSchedule classGroupCourseSchedule : classGroupCourseSchedules) {
-                if (classGroupCourseSchedule.getClassGroupId().equals(classGroupAndTeacher.getId())) {
-                    //课程时长
-                    long duration = (classGroupCourseSchedule.getEndClassTime().getTime() - classGroupCourseSchedule.getStartClassTime().getTime()) / (1000 * 60);
-                    courseScheduleDurationSet.add(duration);
-                }
-            }
-
-            //获取教师列表
+            //班级的教师列表
             List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroupAndTeacher.getClassGroupTeacherMapperList();
-
-            ArrayList<ClassGroupTeacherSalary> classGroupTeacherSalaryList = new ArrayList<>();
-            for (Long duration : courseScheduleDurationSet) {
-                THREE:
-                for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
-
-                    //已经设置跳过计算
-                    for (ClassGroupTeacherSalary classGroupTeacherSalary : nowClassGroupTeacherSalaryList) {
-                        if (classGroupTeacherMapper.getClassGroupId().equals(classGroupTeacherSalary.getClassGroupId()) &&
-                                classGroupTeacherMapper.getUserId().equals(classGroupTeacherSalary.getUserId()) &&
-                                classGroupTeacherSalary.getDuration().equals(duration)
-                        ) {
-                            classGroupTeacherSalaryList.add(classGroupTeacherSalary);
-                            continue THREE;
-                        }
-                    }
-
-                    ClassGroupTeacherSalary classGroupTeacherSalary = new ClassGroupTeacherSalary();
-                    classGroupTeacherSalary.setMusicGroupId(classGroupTeacherMapper.getMusicGroupId());
-                    classGroupTeacherSalary.setClassGroupId(classGroupTeacherMapper.getClassGroupId());
-                    classGroupTeacherSalary.setTeacherRole(classGroupTeacherMapper.getTeacherRole());
-                    classGroupTeacherSalary.setUserId(classGroupTeacherMapper.getUserId());
-                    classGroupTeacherSalary.setDuration(duration.intValue());
-                    BigDecimal salary = new BigDecimal(duration).divide(baseDuration).multiply(classGroupTeacherMapper.getSalary()).setScale(2, BigDecimal.ROUND_HALF_UP);
-                    classGroupTeacherSalary.setSalary(salary);
-                    classGroupTeacherSalaryList.add(classGroupTeacherSalary);
-                }
+            for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
+                //获取老师的默认课酬
+                List<TeacherDefaultMusicGroupSalary> teacherSalaryByUserIdAndType = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), classGroupAndTeacher.getType(), type);
+                classGroupTeacherMapper.setTeacherDefaultMusicGroupSalaryList(teacherSalaryByUserIdAndType);
             }
-            //教师课酬列表
-            classGroupAndTeacher.setClassGroupTeacherSalaryList(classGroupTeacherSalaryList);
+
         }
         return classGroupAndTeachers;
     }
@@ -364,7 +321,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     MusicGroupStudentFee musicGroupStudentFee = musicGroupStudentFeeDao.findByUser(userId, e.getMusicGroupId());
 //                    if (musicGroupStudentFee != null) {
 //                        int i = DateUtil.daysBetween(new Date(), musicGroupStudentFee.getNextPaymentDate());
-                        e.setPaymentStatus(musicGroupStudentFee.getPaymentStatus());
+                    e.setPaymentStatus(musicGroupStudentFee.getPaymentStatus());
 //                    }
                 }
             });
@@ -384,7 +341,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
         List<ImGroupModel> imGroupModels1 = classGroupDao.queryUserGroups(userId, search);
 
-        if(imGroupModels != null && imGroupModels.size() > 0){
+        if (imGroupModels != null && imGroupModels.size() > 0) {
             List<MusicGroup> musicGroups = musicGroupDao.queryListByIds(musicGroupIds);
 
             List<Map<String, Integer>> musicGroupUserNums = musicGroupDao.countMusicGroupUserNum(musicGroupIds);
@@ -404,10 +361,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 e.setCount(musicGroupUserNumMap.get(e.getId()) + teachers.size());
                 e.setId("mg" + e.getId());
             });
-        }else {
+        } else {
             imGroupModels = new ArrayList<>();
         }
-        if(imGroupModels1 != null && imGroupModels1.size() > 0){
+        if (imGroupModels1 != null && imGroupModels1.size() > 0) {
             imGroupModels1.forEach(e -> {
                 //获取当前班级老师总数
                 Set<Integer> teachers = classGroupDao.queryTeacherIds(e.getId());

+ 3 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultMusicGroupSalaryServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -26,8 +27,8 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
 	}
 
 	@Override
-    public TeacherDefaultMusicGroupSalary getTeacherSalaryByUserIdAndType(int userId,ClassGroupTypeEnum classGroupType) {
-        return teacherDefaultMusicGroupSalaryDao.getTeacherSalaryByUserIdAndType(userId, classGroupType);
+    public List<TeacherDefaultMusicGroupSalary> getTeacherSalaryByUserIdAndType(int userId, ClassGroupTypeEnum classGroupType, SalarySettlementTypeEnum settlementType) {
+        return teacherDefaultMusicGroupSalaryDao.getTeacherSalaryByUserIdAndType(userId, classGroupType,settlementType);
     }
 
 	@Override

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

@@ -105,7 +105,7 @@
         FROM sys_user u,
         class_group_teacher_mapper ct
         WHERE u.id_=ct.user_id_ AND ct.class_group_id_ IN
-        <foreach collection="ClassGroupList" item="item" index="index" open="(" close=")" separator=",">
+        <foreach collection="classGroupList" item="item" index="index" open="(" close=")" separator=",">
             #{item.id}
         </foreach>
     </select>

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

@@ -93,6 +93,6 @@
 
 	<!-- 根据user_id 获取老师的默认薪酬 -->
 	<select id="getTeacherSalaryByUserIdAndType" resultMap="TeacherDefaultMusicGroupSalary">
-		SELECT * FROM teacher_default_music_group_salary WHERE user_id_=#{userId} AND course_schedule_type_ = #{courseScheduleType}
+		SELECT * FROM teacher_default_music_group_salary WHERE user_id_=#{userId} AND course_schedule_type_ = #{classGroupType} AND settlement_type_ = #{settlementType}
 	</select>
 </mapper>