浏览代码

课程转换

zouxuan 2 年之前
父节点
当前提交
90a3ce0829

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

@@ -857,4 +857,13 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @return
      */
     List<Map<Integer, String>> queryStudentClassGroupMap(String musicGroupId);
+
+    /**
+    * @description: 当前班级是否包含未开始的转换课
+     * @param classIdList
+    * @return java.lang.Boolean
+    * @author zx
+    * @date 2022/9/29 18:14 
+    */
+    Boolean hasConvertCourse(@Param("classIdList") List<Integer> classIdList);
 }

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

@@ -4318,13 +4318,18 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         if (masterMap.size() <= 0) {
             throw new BizException("所选主班没有剩余课程,请重新选择");
         }
+        List<Map<String, String>> classGroupStudents = (List<Map<String, String>>) JSON.parse(classGroupStudentMap);
+        Map<String, String> convertIntegerMap = MapUtil.convertIntegerMap(classGroupStudents);
+        List<Integer> classIdList = convertIntegerMap.keySet().stream().map(e->Integer.parseInt(e)).collect(Collectors.toList());
+        classIdList.add(masterClassGroupId);
+        Boolean hasConverCourse = classGroupDao.hasConvertCourse(classIdList);
+        //主班
         //获取学员列表
         Map<Integer, String> userNames = MapUtil.convertMybatisMap(teacherDao.queryUsernameByIds(studentIds));
         Map<Integer, String> phoneMaps = MapUtil.convertMybatisMap(teacherDao.queryPhoneByIds(StringUtils.join(studentIds, ",")));
 
         Map<Integer, Integer> studentCLassMap = new HashMap<>();
         List<Map<Integer, BigDecimal>> surplusCourseFeeMapList = new ArrayList<>();
-        List<Map<String, String>> classGroupStudents = (List<Map<String, String>>) JSON.parse(classGroupStudentMap);
         //班级列表
         /*List<Integer> classGroupIds = classGroupStudents.stream().map(e -> Integer.parseInt(e.keySet().iterator().next())).collect(Collectors.toList());
         classGroupIds.add(masterClassGroupId);

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

@@ -752,7 +752,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 				studentPayment.setExpectPrice(ratioExpect);
 				subExpectPrice = subExpectPrice.subtract(ratioExpect);
 				studentPayment.setOriginalPrice(ratioOriginal);
-				subOriginalPrice = subOriginalPrice.subtract(ratioExpect);
+				subOriginalPrice = subOriginalPrice.subtract(ratioOriginal);
 				if(j == salarySize - 1){
 					studentPayment.setExpectPrice(studentPayment.getExpectPrice().add(subExpectPrice));
 					studentPayment.setOriginalPrice(studentPayment.getOriginalPrice().add(subOriginalPrice));

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

@@ -1623,4 +1623,8 @@
         WHERE music_group_id_ = #{musicGroupId} AND status_ = 'NORMAL'
         GROUP BY user_id_
     </select>
+    <select id="hasConvertCourse" resultType="java.lang.Boolean">
+        select COUNT(0) from course_schedule cs
+        where cs.class_group_id_ IN (1) AND cs.convert_flag_ = 1 AND cs.status_ = 'NOT_START' AND cs.del_flag_ = 0 AND cs.is_lock_ = 0
+    </select>
 </mapper>

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

@@ -9,7 +9,7 @@
     <select id="countLegalCourse" resultType="java.lang.Integer">
         SELECT COUNT(cs.id_) FROM course_schedule cs
         WHERE status_ = 'NOT_START' AND (cs.type_ IN ('SINGLE','TRAINING_SINGLE') OR cs.convert_flag_ = 1)
-        AND cs.is_lock_ = 0 AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)
+        AND cs.is_lock_ = 0 AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0 AND cs.new_course_id_ IS NULL
         AND FIND_IN_SET(cs.id_,#{courseIds})
     </select>
     <select id="checkStudentCourseNum" resultType="java.lang.Integer">