zouxuan 4 tahun lalu
induk
melakukan
66d299c51f

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

@@ -240,7 +240,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @param userId
      * @return
      */
-    List<ImGroupModel> queryEducationGroups(@Param("userId") Integer userId, @Param("organId") Integer organId);
+    List<ImGroupModel> queryEducationGroups(@Param("transferUserId") Integer transferUserId, @Param("userId") Integer userId, @Param("organId") Integer organId);
 
     /**
      * 获取运营主管关联的群列表
@@ -248,7 +248,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @param userId
      * @return
      */
-    List<ImGroupModel> queryTeamTeacherGroups(@Param("userId") Integer userId, @Param("organId") Integer organId);
+    List<ImGroupModel> queryTeamTeacherGroups(@Param("transferUserId") Integer transferUserId, @Param("userId") Integer userId, @Param("organId") Integer organId);
 
     /**
      * 获取乐队指导关联的群列表
@@ -256,7 +256,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @param userId
      * @return
      */
-    List<ImGroupModel> queryDirectorGroups(@Param("userId") Integer userId, @Param("organId") Integer organId);
+    List<ImGroupModel> queryDirectorGroups(@Param("transferUserId") Integer transferUserId, @Param("userId") Integer userId, @Param("organId") Integer organId);
 
     /**
      * 获取未分配合奏的单技班列表

+ 24 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/EmployeeDao.java

@@ -19,17 +19,18 @@ public interface EmployeeDao extends BaseDAO<Integer, Employee> {
      * @Date: 2019/9/17
      * 根据部门获取下面的员工
      */
-    List<EmployeeDto> queryEmployByOrganId(Map<String,Object> params);
+    List<EmployeeDto> queryEmployByOrganId(Map<String, Object> params);
 
     /**
      * @Author: Joburgess
      * @Date: 2019/9/17
      * 部门员工统计
      */
-    int queryEmployByOrganIdCount(Map<String,Object> params);
+    int queryEmployByOrganIdCount(Map<String, Object> params);
 
     /**
      * 修改密码
+     *
      * @param userID
      * @param password
      */
@@ -51,8 +52,10 @@ public interface EmployeeDao extends BaseDAO<Integer, Employee> {
      * 修改用户离职日期
      */
     int updateUserDemissionDate(@Param("userID") Integer userID);
+
     /**
      * 根据手机号查询对象
+     *
      * @param phone
      * @return
      */
@@ -60,46 +63,50 @@ public interface EmployeeDao extends BaseDAO<Integer, Employee> {
 
     /**
      * 删除用户角色
+     *
      * @param userId
      */
     void delEmployeeRole(Integer userId);
 
     /**
      * 批量新增用户角色
+     *
      * @param id
      * @param roleIds
      */
-    void batchAddEmployeeRole(@Param("userId") Integer id, @Param("roleIds")List<Integer> roleIds);
+    void batchAddEmployeeRole(@Param("userId") Integer id, @Param("roleIds") List<Integer> roleIds);
 
     /**
      * 获取用户权限列表
+     *
      * @param userId
      * @return
      */
     List<Integer> queryUserRole(Integer userId);
 
     /**
+     * @param roleIds:  角色编号列表
+     * @param organIds: 部门编号列表
+     * @return java.util.List<com.ym.mec.biz.dal.dto.SimpleUserDto>
      * @describe 根据角色和用户查找用户
      * @author Joburgess
      * @date 2020/3/12
-     * @param roleIds: 角色编号列表
-     * @param organIds: 部门编号列表
-     * @return java.util.List<com.ym.mec.biz.dal.dto.SimpleUserDto>
      */
     List<SimpleUserDto> findByRole(@Param("roleIds") String roleIds,
                                    @Param("organIds") String organIds);
 
     /**
+     * @param userIds:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.SimpleUserDto>
      * @describe 根据用户编号获取用户
      * @author Joburgess
      * @date 2020/3/12
-     * @param userIds:
-     * @return java.util.List<com.ym.mec.biz.dal.dto.SimpleUserDto>
      */
     List<SimpleUserDto> findByIds(@Param("userIds") List<Integer> userIds);
 
     /**
      * 是否有课程组关联的教务老师
+     *
      * @param employeeId
      * @return
      */
@@ -107,13 +114,15 @@ public interface EmployeeDao extends BaseDAO<Integer, Employee> {
 
     /**
      * 修改知道老师的教务老师关联
+     *
      * @param currentUserId
      * @param targetUserId
      */
     void updateEducationTeacherId(@Param("currentUserId") Integer currentUserId, @Param("targetUserId") Integer targetUserId);
 
     /**
-     *是否有未上的课
+     * 是否有未上的课
+     *
      * @param employeeId
      * @return
      */
@@ -121,6 +130,7 @@ public interface EmployeeDao extends BaseDAO<Integer, Employee> {
 
     /**
      * 获取维修技师所在分部
+     *
      * @param userId
      * @return
      */
@@ -128,6 +138,7 @@ public interface EmployeeDao extends BaseDAO<Integer, Employee> {
 
     /**
      * 教务老师所在分部列表
+     *
      * @param userId
      * @return
      */
@@ -135,6 +146,7 @@ public interface EmployeeDao extends BaseDAO<Integer, Employee> {
 
     /**
      * 运营主管所在分部列表
+     *
      * @param userId
      * @return
      */
@@ -142,6 +154,7 @@ public interface EmployeeDao extends BaseDAO<Integer, Employee> {
 
     /**
      * 乐队指导所在分部列表
+     *
      * @param userId
      * @return
      */
@@ -149,7 +162,8 @@ public interface EmployeeDao extends BaseDAO<Integer, Employee> {
 
     /**
      * 员工离职
+     *
      * @param employeeLevelDtos
      */
-    void employeeLevel(List<EmployeeLevelDto> employeeLevelDtos);
+    void employeeLevel(@Param("employeeLevelDtos") List<EmployeeLevelDto> employeeLevelDtos);
 }

+ 18 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -3530,13 +3530,28 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     public Object queryStudentPaymentCalenders(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) {
         ArrayList masterClassGroupId = new ArrayList();
         masterClassGroupId.add(mergeClassSplitClassAffirmDto.getMasterClassGroupId());
-        //获取主班最大可排课时长
+        //获取主班剩余时长
         Map<String, Long> masterMap = MapUtil.convertIntegerMap(courseScheduleDao.findClassMaxCourseNumMap(masterClassGroupId));
-        //获取其他班级最大可排课时长
+        //获取其他班级剩余时长
         Map<String, Long> subMap = MapUtil.convertIntegerMap(courseScheduleDao.findClassMaxCourseNumMap(mergeClassSplitClassAffirmDto.getClassGroupIds()));
+        //获取分布默认的课程类型单价
+        MusicGroup musicGroup = musicGroupDao.findByClassGroupId(mergeClassSplitClassAffirmDto.getMasterClassGroupId());
+        Map<String, BigDecimal> unitPriceMap = MapUtil.convertIntegerMap(organizationCourseUnitPriceSettingsDao.queryMapByOrganIdAndChargeTypeId(musicGroup.getChargeTypeId(), musicGroup.getOrganId()));
         Set<String> masterKeySet = masterMap.keySet();
+        //计算主班课程类型剩余价值
+        Map<String, BigDecimal> masterTotalPriceMap = new HashMap<>(masterKeySet.size());
         for (String s : masterKeySet) {
-
+            BigDecimal unitPrice = unitPriceMap.get(s);
+            if (unitPrice == null) {
+                throw new BizException("分部默认课程类型单价不存在,请设置");
+            }
+            Long courseTime = masterMap.get(s);
+            //获取主班剩余课程价值,按分部默认单价计算
+            if(courseTime == 0l){
+                masterTotalPriceMap.put(s,BigDecimal.ZERO);
+            }
+            //总价四舍五入取整
+            masterTotalPriceMap.put(s,unitPrice.multiply(new BigDecimal(courseTime)).setScale(0, BigDecimal.ROUND_HALF_UP));
         }
         return null;
     }

+ 15 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -237,15 +237,15 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 					switch (roleName){
 						case "education":
 							//教务老师所需加入的群组
-							imGroupModels.addAll(classGroupDao.queryEducationGroups(levelUserId,organId));
+							imGroupModels.addAll(classGroupDao.queryEducationGroups(employeeLevelDto.getTransferUserId(),levelUserId,organId));
 							break;
 						case "teamTeacher":
 							//运营主管所需加入的群组
-							imGroupModels.addAll(classGroupDao.queryTeamTeacherGroups(levelUserId,organId));
+							imGroupModels.addAll(classGroupDao.queryTeamTeacherGroups(employeeLevelDto.getTransferUserId(),levelUserId,organId));
 							break;
 						case "director":
 							//乐队指导所需加入的群组
-							imGroupModels.addAll(classGroupDao.queryDirectorGroups(levelUserId,organId));
+							imGroupModels.addAll(classGroupDao.queryDirectorGroups(employeeLevelDto.getTransferUserId(),levelUserId,organId));
 							break;
 					}
 				}
@@ -260,13 +260,22 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 					imGroupModel.setMembers(memberList.toArray(imGroupMembers));
 				}
 			}
-//		imFeignService.groupBatchJoin(imGroupModels);
+		imFeignService.groupBatchJoin(imGroupModels);
 		}
 		//原有员工退群
 		List<ImGroupModel> groupModels = classGroupDao.queryTeacherQuitGroups(levelUserId);
-//		imFeignService.groupBatchQuit(groupModels);
+		if(groupModels.size() > 0){
+			for (ImGroupModel imGroupModel : groupModels) {
+				List<ImGroupMember> memberList = imGroupModel.getMemberList();
+				if(memberList != null && memberList.size() > 0){
+					ImGroupMember[] imGroupMembers = new ImGroupMember[memberList.size()];
+					imGroupModel.setMembers(memberList.toArray(imGroupMembers));
+				}
+			}
+			imFeignService.groupBatchQuit(groupModels);
+		}
 		//更换教务老师等数据
-//		employeeDao.employeeLevel(employeeLevelDtos);
+		employeeDao.employeeLevel(employeeLevelDtos);
 		//新增离职时间
 		employeeDao.updateUserDemissionDate(levelUserId);
 	}

+ 3 - 3
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -502,7 +502,7 @@
     </select>
 
     <select id="queryEducationGroups" resultMap="imGroupModel">
-        SELECT cg.id_,CASE WHEN cg.group_name_ IS NULL OR cg.group_name_ = '' THEN cg.name_ ELSE cg.group_name_ END name_,#{userId} user_id_
+        SELECT cg.id_,CASE WHEN cg.group_name_ IS NULL OR cg.group_name_ = '' THEN cg.name_ ELSE cg.group_name_ END name_,#{transferUserId} user_id_
         FROM class_group_teacher_mapper cgtm
         LEFT JOIN class_group cg ON cgtm.class_group_id_ = cg.id_
         LEFT JOIN music_group mg ON mg.id_ = cg.music_group_id_
@@ -517,7 +517,7 @@
 
     <select id="queryTeamTeacherGroups" resultMap="imGroupModel">
         SELECT cg.id_,CASE WHEN cg.group_name_ IS NULL OR cg.group_name_ = '' THEN cg.name_ ELSE cg.group_name_ END name_,
-               mg.team_teacher_id_ user_id_
+               #{transferUserId} user_id_
         FROM class_group_teacher_mapper cgtm
         LEFT JOIN class_group cg ON cgtm.class_group_id_ = cg.id_
         LEFT JOIN music_group mg ON mg.id_ = cg.music_group_id_
@@ -526,7 +526,7 @@
     </select>
 
     <select id="queryDirectorGroups" resultMap="imGroupModel">
-        SELECT cg.id_,CASE WHEN cg.group_name_ IS NULL OR cg.group_name_ = '' THEN cg.name_ ELSE cg.group_name_ END name_,mg.director_user_id_ user_id_
+        SELECT cg.id_,CASE WHEN cg.group_name_ IS NULL OR cg.group_name_ = '' THEN cg.name_ ELSE cg.group_name_ END name_,#{transferUserId} user_id_
         FROM class_group_teacher_mapper cgtm
         LEFT JOIN class_group cg ON cgtm.class_group_id_ = cg.id_
         LEFT JOIN music_group mg ON mg.id_ = cg.music_group_id_ AND cg.group_type_ = 'MUSIC'

+ 9 - 9
mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -314,20 +314,20 @@
     </select>
 
     <update id="employeeLevel">
-        <foreach collection="employeeLevelDtos" item="item" open="(" close=")" separator=";">
-            <if test="employeeLevelDto.roleName == 'repair'">
-                UPDATE music_group SET repair_user_id_ = #{item.transferUserId} WHERE repair_user_id_ = #{item.levelUserId} AND organ_id_ = #{item.organId}
+        <foreach collection="employeeLevelDtos" item="item">
+            <if test="item.roleName == 'repair'">
+                UPDATE music_group SET repair_user_id_ = #{item.transferUserId} WHERE repair_user_id_ = #{item.levelUserId} AND organ_id_ = #{item.organId};
             </if>
-            <if test="employeeLevelDto.roleName == 'education'">
+            <if test="item.roleName == 'education'">
                 UPDATE music_group SET educational_teacher_id_ = #{item.transferUserId} WHERE educational_teacher_id_ = #{item.levelUserId} AND organ_id_ = #{item.organId};
                 UPDATE practice_group SET educational_teacher_id_ = #{item.transferUserId} WHERE educational_teacher_id_ = #{item.levelUserId} AND organ_id_ = #{item.organId};
-                UPDATE vip_group SET educational_teacher_id_ = #{item.transferUserId} WHERE educational_teacher_id_ = #{item.levelUserId} AND organ_id_ = #{item.organId}
+                UPDATE vip_group SET educational_teacher_id_ = #{item.transferUserId} WHERE educational_teacher_id_ = #{item.levelUserId} AND organ_id_ = #{item.organId};
             </if>
-            <if test="employeeLevelDto.roleName == 'teamTeacher'">
-                UPDATE music_group SET team_teacher_id_ = #{item.transferUserId} WHERE team_teacher_id_ = #{item.levelUserId} AND organ_id_ = #{item.organId}
+            <if test="item.roleName == 'teamTeacher'">
+                UPDATE music_group SET team_teacher_id_ = #{item.transferUserId} WHERE team_teacher_id_ = #{item.levelUserId} AND organ_id_ = #{item.organId};
             </if>
-            <if test="employeeLevelDto.roleName == 'director'">
-                UPDATE music_group SET director_user_id_ = #{item.transferUserId} WHERE director_user_id_ = #{item.levelUserId} AND organ_id_ = #{item.organId}
+            <if test="item.roleName == 'director'">
+                UPDATE music_group SET director_user_id_ = #{item.transferUserId} WHERE director_user_id_ = #{item.levelUserId} AND organ_id_ = #{item.organId};
             </if>
         </foreach>
     </update>

+ 0 - 6
mec-im/src/main/java/com/ym/service/Impl/GroupServiceImpl.java

@@ -163,10 +163,8 @@ public class GroupServiceImpl implements GroupService {
     public void groupBatchDismiss(List<GroupModel> groupModels) {
         if(groupModels != null && groupModels.size() > 0){
             Group group = getGroup();
-            GroupMember[] groupMember = {new GroupMember("1",null,null)};
             groupModels.forEach(e->{
                 try {
-                    e.setMembers(groupMember);
                     group.dismiss(e);
                 } catch (Exception e1) {
                     e1.printStackTrace();
@@ -179,10 +177,8 @@ public class GroupServiceImpl implements GroupService {
     public void groupBatchQuit(List<GroupModel> groupModels) {
         if(groupModels != null && groupModels.size() > 0){
             Group group = getGroup();
-            GroupMember[] groupMember = {new GroupMember("1",null,null)};
             groupModels.forEach(e->{
                 try {
-                    e.setMembers(groupMember);
                     group.quit(e);
                 } catch (Exception e1) {
                     e1.printStackTrace();
@@ -195,10 +191,8 @@ public class GroupServiceImpl implements GroupService {
     public void groupBatchJoin(List<GroupModel> groupModels){
         if(groupModels != null && groupModels.size() > 0){
             Group group = getGroup();
-            GroupMember[] groupMember = {new GroupMember("1",null,null)};
             groupModels.forEach(e->{
                 try {
-                    e.setMembers(groupMember);
                     group.join(e);
                 } catch (Exception e1) {
                     e1.printStackTrace();