浏览代码

系统收费

zouxuan 4 年之前
父节点
当前提交
c10b8c681c

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

@@ -1876,7 +1876,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @param courseScheduleIds
      * @param courseScheduleIds
      * @return
      * @return
      */
      */
-    int sumCourseMinutes(List<Long> courseScheduleIds);
+    int sumCourseMinutes(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 
 
     /**
     /**
      * 获取班级最小剩余可排课时长
      * 获取班级最小剩余可排课时长

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseTimeDto.java

@@ -31,6 +31,9 @@ public class CourseTimeDto {
     @ApiModelProperty(value = "预计排课次数")
     @ApiModelProperty(value = "预计排课次数")
     private int expectCourseNum;
     private int expectCourseNum;
 
 
+    @ApiModelProperty(value = "预计排课时长")
+    private int expectCourseMinutes;
+
     @ApiModelProperty(value = "已生成课程数量")
     @ApiModelProperty(value = "已生成课程数量")
     private int courseNum;
     private int courseNum;
 
 
@@ -40,6 +43,14 @@ public class CourseTimeDto {
     @ApiModelProperty(value = "老师设置", required = true)
     @ApiModelProperty(value = "老师设置", required = true)
     private List<ClassGroupTeacherMapper> classGroupTeacherMapperList;
     private List<ClassGroupTeacherMapper> classGroupTeacherMapperList;
 
 
+    public int getExpectCourseMinutes() {
+        return expectCourseMinutes;
+    }
+
+    public void setExpectCourseMinutes(int expectCourseMinutes) {
+        this.expectCourseMinutes = expectCourseMinutes;
+    }
+
     public List<ClassGroupTeacherMapper> getClassGroupTeacherMapperList() {
     public List<ClassGroupTeacherMapper> getClassGroupTeacherMapperList() {
         return classGroupTeacherMapperList;
         return classGroupTeacherMapperList;
     }
     }

+ 14 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -2709,7 +2709,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 int singleCourseMinutes = 0;
                 int singleCourseMinutes = 0;
 
 
                 List<CourseScheduleStudentPayment> courseScheduleStudentPaymentList = studentCourseMap.get(studentId);
                 List<CourseScheduleStudentPayment> courseScheduleStudentPaymentList = studentCourseMap.get(studentId);
-                List<Long> courseIds = courseScheduleStudentPaymentList.stream().map(c -> c.getId()).collect(Collectors.toList());
+                List<Long> courseIds = courseScheduleStudentPaymentList.stream().map(c -> c.getCourseScheduleId()).collect(Collectors.toList());
                 List<CourseSchedule> schedules = courseScheduleDao.findByCourseScheduleIds(courseIds);
                 List<CourseSchedule> schedules = courseScheduleDao.findByCourseScheduleIds(courseIds);
                 Map<CourseScheduleType, List<CourseSchedule>> courseTypeMap = schedules.stream().collect(Collectors.groupingBy(CourseSchedule::getType));
                 Map<CourseScheduleType, List<CourseSchedule>> courseTypeMap = schedules.stream().collect(Collectors.groupingBy(CourseSchedule::getType));
                 for (CourseScheduleType scheduleType : courseTypeMap.keySet()) {
                 for (CourseScheduleType scheduleType : courseTypeMap.keySet()) {
@@ -2782,8 +2782,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         for (ClassGroup4MixDto classGroup4MixDto : classGroup4MixDtos) {
         for (ClassGroup4MixDto classGroup4MixDto : classGroup4MixDtos) {
             //3、插入班级排课信息
             //3、插入班级排课信息
             LocalDateTime now = LocalDateTime.now().withHour(0).withMinute(0).withSecond(0).withNano(0);
             LocalDateTime now = LocalDateTime.now().withHour(0).withMinute(0).withSecond(0).withNano(0);
+            //计算总时长
+            int totalCourseMinutes = 0;
+            for (CourseTimeDto courseTimeDto : classGroup4MixDto.getCourseTimeDtoList()) {
+                totalCourseMinutes += courseTimeDto.getExpectCourseNum() * courseTimeDto.getExpectCourseMinutes();
+            }
 
 
-            int totalCourseMinutes = classGroup4MixDto.getExpectStudentNum() * classGroup4MixDto.getCourseMinutes();
             Integer totalMixCourseMinutes = 0;
             Integer totalMixCourseMinutes = 0;
             Integer singleCourseMinutes = 0;
             Integer singleCourseMinutes = 0;
             if(classGroup4MixDto.getCourseType() == SINGLE || classGroup4MixDto.getCourseType() == MIX ||
             if(classGroup4MixDto.getCourseType() == SINGLE || classGroup4MixDto.getCourseType() == MIX ||
@@ -2796,13 +2800,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     singleCourseMinutes = totalCourseMinutes;
                     singleCourseMinutes = totalCourseMinutes;
                     //获取所选学员最大的已消耗的单技课时长
                     //获取所选学员最大的已消耗的单技课时长
                     int maxSingleCourseMinutes = musicGroupSchoolTermStudentCourseDetailDao.getMaxSingleCourseMinutes(musicGroupSchoolTermCourseDetailId,studentIds);
                     int maxSingleCourseMinutes = musicGroupSchoolTermStudentCourseDetailDao.getMaxSingleCourseMinutes(musicGroupSchoolTermCourseDetailId,studentIds);
-                    if(44 * 45 - maxSingleCourseMinutes > totalCourseMinutes){
+                    if(44 * 45 - maxSingleCourseMinutes < totalCourseMinutes){
                         throw new BizException("操作失败:所选学员可排单技课时长已不足{}分钟",totalCourseMinutes);
                         throw new BizException("操作失败:所选学员可排单技课时长已不足{}分钟",totalCourseMinutes);
                     }
                     }
                 } else {
                 } else {
                     totalMixCourseMinutes = totalCourseMinutes;
                     totalMixCourseMinutes = totalCourseMinutes;
                     int maxMixCourseMinutes = musicGroupSchoolTermStudentCourseDetailDao.getMaxMixCourseMinutes(musicGroupSchoolTermCourseDetailId,studentIds);
                     int maxMixCourseMinutes = musicGroupSchoolTermStudentCourseDetailDao.getMaxMixCourseMinutes(musicGroupSchoolTermCourseDetailId,studentIds);
-                    if(44 * 45 - maxMixCourseMinutes > totalCourseMinutes){
+                    if(44 * 45 - maxMixCourseMinutes < totalCourseMinutes){
                         throw new BizException("操作失败:所选学员可排合奏课时长已不足{}分钟",totalCourseMinutes);
                         throw new BizException("操作失败:所选学员可排合奏课时长已不足{}分钟",totalCourseMinutes);
                     }
                     }
                 }
                 }
@@ -2933,6 +2937,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     courseSchedule.setClassGroupType(classGroup.getType().getCode());
                     courseSchedule.setClassGroupType(classGroup.getType().getCode());
                     courseSchedule.setIsLock(1);
                     courseSchedule.setIsLock(1);
                     courseSchedule.setPreCourseFlag(1);
                     courseSchedule.setPreCourseFlag(1);
+                    courseSchedule.setMemberFlag(1);
                     courseSchedule.setValidEndTime(schoolTermCourseDetail.getEndSchoolTerm());
                     courseSchedule.setValidEndTime(schoolTermCourseDetail.getEndSchoolTerm());
                     courseScheduleDao.insert(courseSchedule);
                     courseScheduleDao.insert(courseSchedule);
                     courseScheduleList.add(courseSchedule);
                     courseScheduleList.add(courseSchedule);
@@ -2980,11 +2985,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
 
         courseScheduleService.checkNewCourseSchedules(courseScheduleList, false, false);
         courseScheduleService.checkNewCourseSchedules(courseScheduleList, false, false);
 
 
-        if (!confirmGenerate) {
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            courseScheduleList.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
-            return BaseController.failed(HttpStatus.PARTIAL_CONTENT, courseScheduleList, "");
-        }
+//        if (!confirmGenerate) {
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//            courseScheduleList.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
+//            return BaseController.failed(HttpStatus.PARTIAL_CONTENT, courseScheduleList, "");
+//        }
 
 
         //老师结算表
         //老师结算表
         if (courseScheduleTeacherSalaryList.size() > 0) {
         if (courseScheduleTeacherSalaryList.size() > 0) {

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

@@ -48,6 +48,8 @@ public class StudentServeServiceImpl implements StudentServeService {
     private SysConfigService sysConfigService;
     private SysConfigService sysConfigService;
     @Autowired
     @Autowired
     private ClassGroupStudentMapperDao classGroupStudentMapperDao;
     private ClassGroupStudentMapperDao classGroupStudentMapperDao;
+    @Autowired
+    private MusicGroupDao musicGroupDao;
 
 
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
@@ -921,6 +923,10 @@ public class StudentServeServiceImpl implements StudentServeService {
                 result.put("isAssignHomework", 0);
                 result.put("isAssignHomework", 0);
                 return result;
                 return result;
             }
             }
+            MusicGroup musicGroup = musicGroupDao.get(courseSchedule.getMusicGroupId());
+            if(musicGroup != null){
+                result.put("courseViewType", CourseViewTypeEnum.MEMBER_FEE.getCode());
+            }
             localDate=LocalDateTime.ofInstant(courseSchedule.getClassDate().toInstant(), DateUtil.zoneId).toLocalDate();
             localDate=LocalDateTime.ofInstant(courseSchedule.getClassDate().toInstant(), DateUtil.zoneId).toLocalDate();
             List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseScheduleId);
             List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseScheduleId);
             if(CollectionUtils.isEmpty(courseScheduleStudentPayments)){
             if(CollectionUtils.isEmpty(courseScheduleStudentPayments)){

+ 18 - 8
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -37,6 +37,8 @@
         <result column="note_" property="note"/>
         <result column="note_" property="note"/>
         <result column="organ_id_" property="organId"/>
         <result column="organ_id_" property="organId"/>
         <result column="member_flag_" property="memberFlag"/>
         <result column="member_flag_" property="memberFlag"/>
+        <result column="pre_course_flag_" property="preCourseFlag"/>
+        <result column="valid_end_time_" property="validEndTime"/>
     </resultMap>
     </resultMap>
 
 
     <resultMap type="com.ym.mec.biz.dal.dto.Mapper" id="Mapper">
     <resultMap type="com.ym.mec.biz.dal.dto.Mapper" id="Mapper">
@@ -86,7 +88,6 @@
                 typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
                 typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="complaint_status_" property="complaintStatus"/>
         <result column="complaint_status_" property="complaintStatus"/>
         <result column="student_id_" property="studentId"/>
         <result column="student_id_" property="studentId"/>
-        <result column="member_flag_" property="memberFlag"/>
     </resultMap>
     </resultMap>
 
 
     <resultMap type="com.ym.mec.biz.dal.entity.StudentCourseScheduleRecordDto" id="studentCourseScheduleRecord">
     <resultMap type="com.ym.mec.biz.dal.entity.StudentCourseScheduleRecordDto" id="studentCourseScheduleRecord">
@@ -160,7 +161,9 @@
         cs.note_,
         cs.note_,
         cs.organ_id_,
         cs.organ_id_,
         cs.new_course_id_,
         cs.new_course_id_,
-        cs.member_flag_
+        cs.member_flag_,
+        cs.valid_end_time_,
+        cs.pre_course_flag_
     </sql>
     </sql>
 
 
     <!-- 根据主键查询一条记录 -->
     <!-- 根据主键查询一条记录 -->
@@ -183,13 +186,13 @@
         INSERT INTO course_schedule
         INSERT INTO course_schedule
         (group_type_,music_group_id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,
         (group_type_,music_group_id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,
         teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_,
         teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_,
-        schoole_id_,is_lock_,note_,teaching_content_,organ_id_,member_flag_)
+        schoole_id_,is_lock_,note_,teaching_content_,organ_id_,member_flag_,pre_course_flag_,valid_end_time_)
         VALUES(#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{musicGroupId},#{classGroupId},
         VALUES(#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{musicGroupId},#{classGroupId},
         #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},
         #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},
         #{endClassTime},#{teacherId},#{teacherId},now(),now(),
         #{endClassTime},#{teacherId},#{teacherId},now(),now(),
         #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{name},
         #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{name},
         #{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{studentNum},#{leaveStudentNum},
         #{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{studentNum},#{leaveStudentNum},
-        #{schoolId},#{isLock},#{note},#{teachingContent},#{organId},#{memberFlag})
+        #{schoolId},#{isLock},#{note},#{teachingContent},#{organId},#{memberFlag},#{preCourseFlag},#{validEndTime})
     </insert>
     </insert>
 
 
     <insert id="batchAddCourseSchedules" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id"
     <insert id="batchAddCourseSchedules" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id"
@@ -197,7 +200,7 @@
         INSERT INTO course_schedule
         INSERT INTO course_schedule
         (group_type_,music_group_id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,
         (group_type_,music_group_id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,
         teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_,
         teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_,
-        schoole_id_,is_lock_,note_,teaching_content_,organ_id_,member_flag_)
+        schoole_id_,is_lock_,note_,teaching_content_,organ_id_,member_flag_,pre_course_flag_,valid_end_time_)
         VALUE
         VALUE
         <foreach collection="list" item="course" separator=",">
         <foreach collection="list" item="course" separator=",">
             (#{course.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.musicGroupId},
             (#{course.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.musicGroupId},
@@ -205,7 +208,8 @@
             #{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},
             #{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},
             #{course.teacherId},now(),now(),#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             #{course.teacherId},now(),now(),#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             #{course.name},#{course.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.studentNum},
             #{course.name},#{course.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.studentNum},
-            #{course.leaveStudentNum},#{course.schoolId},#{course.isLock},#{course.note},#{course.teachingContent},#{course.organId},#{course.memberFlag})
+            #{course.leaveStudentNum},#{course.schoolId},#{course.isLock},#{course.note},#{course.teachingContent},
+            #{course.organId},#{course.memberFlag},#{course.preCourseFlag},#{course.validEndTime})
         </foreach>
         </foreach>
     </insert>
     </insert>
 
 
@@ -213,8 +217,14 @@
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseSchedule">
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseSchedule">
         UPDATE course_schedule
         UPDATE course_schedule
         <set>
         <set>
-            <if test="course.memberFlag != null">
-                member_flag_ = #{course.memberFlag},
+            <if test="validEndTime != null">
+                valid_end_time_ = #{validEndTime},
+            </if>
+            <if test="preCourseFlag != null">
+                pre_course_flag_ = #{preCourseFlag},
+            </if>
+            <if test="memberFlag != null">
+                member_flag_ = #{memberFlag},
             </if>
             </if>
             <if test="organId != null">
             <if test="organId != null">
                 organ_id_ = #{organId},
                 organ_id_ = #{organId},