فهرست منبع

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 سال پیش
والد
کامیت
51514f2fe0

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

@@ -427,12 +427,14 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 批量软删除班级
+     *
      * @param classGroupIds
      * @return
      */
     int batchSoftDelete(@Param("classGroupIds") List<Integer> classGroupIds);
 
-    /**
+
+    /*
      * @describe 根据乐团编号和类型获取班级
      * @author Joburgess
      * @date 2019/11/17
@@ -444,14 +446,22 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
                                        @Param("groupType") String groupType);
 
     /**
+     * @param musicGroupIds: 编号列表
+     * @param groupType:     类型
+     * @return com.ym.mec.biz.dal.entity.ClassGroup
      * @describe 根据乐团编号和类型获取班级
      * @author Joburgess
      * @date 2019/11/17
-     * @param musicGroupIds: 编号列表
-     * @param groupType: 类型
-     * @return com.ym.mec.biz.dal.entity.ClassGroup
      */
     List<ClassGroup> findByMusicGroupsAndType(@Param("musicGroupIds") List<String> musicGroupIds,
-                                       @Param("groupType") String groupType);
+                                              @Param("groupType") String groupType);
 
+    /**
+     * 按类型获取班级
+     *
+     * @param musicGroupId
+     * @param type
+     * @return
+     */
+    List<ClassGroupTeachersDto> findClassGroupByType(String musicGroupId, ClassGroupTypeEnum type);
 }

+ 10 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.ClassGroup;
+import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
@@ -306,7 +307,7 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      */
     int batchUpdateClassCourseTimes(List<Integer> classGroupIds);
 
-    /**
+    /*
      * @describe 将学生加入到班级
      * @author Joburgess
      * @date 2019/11/16
@@ -316,4 +317,12 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @return void
      */
     void addStudentIntoClassGroup(String musicGroupId,Integer classGroupId,List<Integer> studentIds);
+
+    /**
+     * 根据乐团id,班级类型获取班级和老师
+     * @param musicGroupId
+     * @param type
+     * @return
+     */
+    List<ClassGroupTeachersDto> getClassGroupAndTeacherByType(String musicGroupId, ClassGroupTypeEnum type);
 }

+ 21 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1653,7 +1653,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         return classGroupDao.batchUpdateClassGroupCourseTimes(classGroupCourseTimesMap);
     }
 
-    @Override
+
     @Transactional(rollbackFor = Exception.class)
     public void addStudentIntoClassGroup(String musicGroupId, Integer classGroupId, List<Integer> studentIds) {
         List<ClassGroupStudentMapper> classGroupStudentMappers=new ArrayList<>();
@@ -1664,4 +1664,24 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         }
         classGroupStudentMapperDao.classGroupStudentsInsert(classGroupStudentMappers);
     }
+
+    @Override
+    public List<ClassGroupTeachersDto> getClassGroupAndTeacherByType(String musicGroupId, ClassGroupTypeEnum type) {
+        List<ClassGroupTeachersDto> classGroups = classGroupDao.findClassGroupByType(musicGroupId, type);
+        if (classGroups.size() == 0) {
+            return null;
+        }
+        String classGroupIds = classGroups.stream().map(classGroup -> classGroup.getId().toString()).collect(Collectors.joining(","));
+
+        List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperDao.findClassGroupTeachers(classGroupIds);
+        for (ClassGroupTeachersDto classGroup : classGroups) {
+            List<ClassGroupTeacherMapper> classGroupTeacherMappers = new ArrayList<>();
+            for (ClassGroupTeacherMapper classGroupTeacher : classGroupTeachers) {
+                if (!classGroup.getId().equals(classGroupTeacher.getClassGroupId())) continue;
+                classGroupTeacherMappers.add(classGroupTeacher);
+            }
+            classGroup.setClassGroupTeacherMapperList(classGroupTeacherMappers);
+        }
+        return classGroups;
+    }
 }

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

@@ -65,15 +65,7 @@ public class SysUserCashAccountServiceImpl extends BaseServiceImpl<Integer, SysU
 			throw new BizException("用户[{}]现金账户不存在", userId);
 		}
 
-		if (cashAccount.getStatus() != PlatformCashAccountStatusEnum.NORMAL) {
-			throw new BizException("账户不可用");
-		}
-		BigDecimal balance = cashAccount.getCourseBalance().add(decimal);
-		if (balance.doubleValue() < 0) {
-			throw new BizException("现金账户[{}]余额不足,可用余额剩{}元", userId, cashAccount.getCourseBalance().doubleValue());
-		}
-
-		cashAccount.setCourseBalance(balance);
+		cashAccount.setCourseBalance(decimal);
 		cashAccount.setUpdateTime(new Date());
 
 		sysUserCashAccountDao.update(cashAccount);

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

@@ -775,4 +775,12 @@
         </foreach>
     </delete>
 
+    <select id="findClassGroupByType" resultMap="ClassGroupTeachers">
+        SELECT * FROM class_group WHERE music_group_id_=#{musicGroupId}
+        <if test="type !=null ">
+            AND type_=#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+        </if>
+        AND del_flag_='0'
+    </select>
+
 </mapper>

+ 4 - 2
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -174,7 +174,9 @@
 
 	<sql id="vipGroupSalaryQueryCondition">
 		<where>
-			vg.id_=#{vipGroupId} AND FIND_IN_SET(#{organId},vg.organ_id_list_)
+			vg.id_=#{vipGroupId}
+			AND cs.group_type_='VIP'
+			AND FIND_IN_SET(#{organId},vg.organ_id_list_)
 			<if test="startTime!=null and endTime!=null">
 				AND (cs.class_date_ BETWEEN #{startTime} AND #{endTime})
 			</if>
@@ -190,7 +192,7 @@
 			csts.*
 		FROM
 			vip_group vg
-			LEFT JOIN course_schedule cs ON vg.id_ = cs.music_group_id_ AND cs.group_type_='VIP'
+			LEFT JOIN course_schedule cs ON vg.id_ = cs.music_group_id_
 			LEFT JOIN course_schedule_teacher_salary csts ON cs.id_ = csts.course_schedule_id_
 			<include refid="vipGroupSalaryQueryCondition"/>
 		ORDER BY id_

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

@@ -427,7 +427,7 @@
         create_time_,update_time_,parents_name_,payment_status_,actual_subject_id_,music_group_status_,temporary_course_fee_)
         VALUES (#{parentsPhone},#{userId},#{name},#{musicGroupId},#{currentGrade},#{currentClass},#{subjectId},
             now(),now(),#{parentsName},#{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subjectId},
-            #{musicGroupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}#{temporaryCourseFee})
+            #{musicGroupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{temporaryCourseFee})
     </insert>
 
     <!-- 查询乐团userIdList的学生 -->

+ 26 - 21
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -264,10 +264,12 @@
 
     <select id="findTeachers" resultMap="Teacher">
         SELECT su.* FROM teacher t
-        LEFT JOIN sys_user su on t.id_ = su.id_ WHERE 1=1
-        <if test="organId != null and organId !=0">
-            AND t.organ_id_ = #{organId}
-        </if>
+        LEFT JOIN sys_user su on t.id_ = su.id_
+        <where>
+            <if test="organId != null and organId !=0">
+                t.organ_id_ = #{organId}
+            </if>
+        </where>
     </select>
     <select id="countCloses" resultType="java.lang.Integer">
         SELECT COUNT(cs.id_)
@@ -306,19 +308,20 @@
     </select>
 
     <select id="findTeacherNoPay" resultType="decimal">
-        SELECT SUM(expect_salary_) FROM course_schedule_teacher_salary csts WHERE settlement_time_ IS NULL AND user_id_ = #{teacherId}
+        SELECT SUM(expect_salary_) FROM course_schedule_teacher_salary csts WHERE settlement_time_ IS NULL AND user_id_
+        = #{teacherId}
     </select>
 
     <select id="findTeacherByMusicGroup" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
         SELECT
-            su.id_ user_id_,
-            su.username_
+        su.id_ user_id_,
+        su.username_
         FROM
-            class_group_teacher_mapper cgtm
-            LEFT JOIN class_group cg ON cg.id_=cgtm.class_group_id_
-            LEFT JOIN sys_user su ON cgtm.user_id_=su.id_
-            WHERE cg.music_group_id_=#{musicGroupId}
-            GROUP BY su.id_
+        class_group_teacher_mapper cgtm
+        LEFT JOIN class_group cg ON cg.id_=cgtm.class_group_id_
+        LEFT JOIN sys_user su ON cgtm.user_id_=su.id_
+        WHERE cg.music_group_id_=#{musicGroupId}
+        GROUP BY su.id_
     </select>
     <resultMap id="MusicGroupTeachersDto" type="com.ym.mec.biz.dal.dto.MusicGroupTeachersDto">
         <result property="teacherName" column="real_name_"/>
@@ -349,13 +352,14 @@
     <sql id="queryMusicGroupTeachersSql">
         <where>
             <if test="search != null and search != ''">
-                AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%') OR su.id_=#{search})
+                AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%') OR
+                su.id_=#{search})
             </if>
             <if test="musicGroupId != null and musicGroupId != ''">
                 AND cgtm.music_group_id_ = #{musicGroupId}
             </if>
             <if test="classGroupId != null">
-                AND cg.id_  = #{classGroupId}
+                AND cg.id_ = #{classGroupId}
             </if>
         </where>
     </sql>
@@ -497,13 +501,14 @@
             </if>
         </where>
     </sql>
-    
+
     <select id="queryOrganTeacherNum" resultType="map">
-    	select count(*) total,sum(case when job_nature_ = 'PART_TIME' then 1 else 0 end) part_time_num_,sum(case when job_nature_ = 'FULL_TIME' then 1 else 0 end) full_time_num_ from teacher
-    	<where>
-    		<if test="organId != null">
-    			organ_id_ = #{organId}
-    		</if>
-    	</where>
+        select count(*) total,sum(case when job_nature_ = 'PART_TIME' then 1 else 0 end) part_time_num_,sum(case when
+        job_nature_ = 'FULL_TIME' then 1 else 0 end) full_time_num_ from teacher
+        <where>
+            <if test="organId != null">
+                organ_id_ = #{organId}
+            </if>
+        </where>
     </select>
 </mapper>

+ 8 - 4
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.dto.ClassGroup4MixDto;
 import com.ym.mec.biz.dal.dto.HighClassGroupDto;
 import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
+import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.biz.dal.page.queryMusicGroupCourseScheduleQueryInfo;
@@ -223,12 +224,15 @@ public class ClassGroupController extends BaseController {
         return succeed(classGroupService.findClassGroupByMusicGroupIdAndSubjectId(musicGroupId,null));
     }
 
-    @ApiOperation(value = "合奏子班列表(班级调整)")
+    @ApiOperation(value = "按班级类型查找班级(班级调整)")
     @GetMapping("/classGroupAndTeacher")
     @PreAuthorize("@pcs.hasPermissions('classGroup/classGroupAndTeacher')")
-    @ApiImplicitParams({@ApiImplicitParam(name = "classGroupId", value = "班级id", required = true, dataType = "int")})
-    public HttpResponseResult classGroupAndTeacher(Integer classGroupId) throws Exception {
-        return succeed(classGroupService.classGroupAndTeacher(classGroupId));
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "musicGroupId", value = "乐团id", required = true, dataType = "string"),
+            @ApiImplicitParam(name = "type", value = "班级类型", required = true, dataType = "string"),
+    })
+    public HttpResponseResult classGroupAndTeacher(String musicGroup, ClassGroupTypeEnum type) throws Exception {
+        return succeed(classGroupService.getClassGroupAndTeacherByType(musicGroup,type));
     }
 
 }