zouxuan 4 years ago
parent
commit
1dae28787d

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

@@ -43,7 +43,7 @@ public interface MusicGroupPaymentStudentCourseDetailDao extends BaseDAO<Long, M
     String getUnUseBatchNoWithStudentAndCourseTypeAndCourseMinutes(@Param("musicGroupId") String musicGroupId,
                                                                    @Param("studentId") Integer studentId,
                                                                    @Param("courseType") CourseSchedule.CourseScheduleType courseType,
-                                                                   @Param("batchNo") String batchNo);
+                                                                   @Param("batchNos") List<String> batchNos);
 
     /**
      * @param studentIds:

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentCalenderDto.java

@@ -33,6 +33,26 @@ public class MusicGroupPaymentCalenderDto {
 	
 	private String batchNo;
 
+	private Boolean mergeClassFlag = false;
+
+	private List<String> IgnoreBatchNoList = null;
+
+	public List<String> getIgnoreBatchNoList() {
+		return IgnoreBatchNoList;
+	}
+
+	public void setIgnoreBatchNoList(List<String> ignoreBatchNoList) {
+		IgnoreBatchNoList = ignoreBatchNoList;
+	}
+
+	public Boolean getMergeClassFlag() {
+		return mergeClassFlag;
+	}
+
+	public void setMergeClassFlag(Boolean mergeClassFlag) {
+		this.mergeClassFlag = mergeClassFlag;
+	}
+
 	private MusicGroupPaymentCalender.PaymentCalenderStatusEnum status;
 
 	private List<MusicGroupPaymentDateRange> musicGroupPaymentDateRangeList = new ArrayList<MusicGroupPaymentDateRange>();

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

@@ -3673,12 +3673,18 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     }
                 }
             }
+            List<String> batchNoList = new ArrayList<>();
             //创建缴费项目,  多个缴费项目分成多个批次号
             for (MusicGroupPaymentCalenderDto calenderDto : paymentCalenderDtos) {
+                if(batchNoList.size() > 0){
+                    calenderDto.setIgnoreBatchNoList(batchNoList);
+                }
+                calenderDto.setMergeClassFlag(true);
                 musicGroupPaymentCalenderService.create(calenderDto);
                 if(batchNos.length() > 0){
                     batchNos.append(",");
                 }
+                batchNoList.add(calenderDto.getBatchNo());
                 batchNos.append(calenderDto.getBatchNo());
             }
         }

+ 3 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -185,7 +185,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 			throw new BizException("请登录");
 		}
 		// 所有缴费项目已完成排课才能创建下一个缴费项目
-		String orignBatchNo = musicGroupPaymentStudentCourseDetailDao.getUnUseBatchNoWithStudentAndCourseTypeAndCourseMinutes(musicGroupId, null, null,null);
+		String orignBatchNo = musicGroupPaymentStudentCourseDetailDao.getUnUseBatchNoWithStudentAndCourseTypeAndCourseMinutes(musicGroupId, null, null,musicGroupPaymentCalenderDto.getIgnoreBatchNoList());
 		if (StringUtils.isNoneBlank(orignBatchNo)) {
 			if(StringUtils.isEmpty(musicGroupPaymentCalenderDto.getBatchNo()) || !musicGroupPaymentCalenderDto.getBatchNo().equals(orignBatchNo)){
 				throw new BizException("当前乐团存在未排课的缴费项目,请先完成排课再操作");
@@ -203,12 +203,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		PaymentCalenderStatusEnum status = PaymentCalenderStatusEnum.NO;
 
 		Date date = new Date();
-		String batchNo;
-		if(StringUtils.isEmpty(musicGroupPaymentCalenderDto.getBatchNo())){
-			batchNo = idGeneratorService.generatorId() + "";
-		}else {
-			batchNo = musicGroupPaymentCalenderDto.getBatchNo();
-		}
+		String batchNo = idGeneratorService.generatorId() + "";
 
 		// 获取设置的课程
 		List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingsList = musicGroupPaymentCalenderDto
@@ -405,7 +400,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				// 如果是进行中加学生
 				if (musicGroupPaymentCalender.getPaymentType() == PaymentType.ADD_STUDENT) {
 					addStudent(musicGroupPaymentCalender, currentMusicGroupPaymentCalenderCourseSettings);
-				}else if(StringUtils.isNotEmpty(musicGroupPaymentCalenderDto.getBatchNo())){
+				}else if(musicGroupPaymentCalenderDto.getMergeClassFlag()){
 					//缴费项目添加学员
 					int[] ints = Arrays.stream(musicGroupPaymentCalenderDto.getStudentIds().split(",")).mapToInt(Integer::parseInt).toArray();
 					List<Integer> list2 = Arrays.stream(ints).boxed().collect(Collectors.toList());

+ 5 - 2
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentStudentCourseDetailMapper.xml

@@ -156,8 +156,11 @@
             <if test="studentId != null">
             AND mgpscd.user_id_ = #{studentId}
             </if>
-            <if test="batchNo != null">
-            AND mgpc.batch_no_ = #{batchNo}
+            <if test="batchNos != null">
+            AND mgpc.batch_no_ NOT IN
+                <foreach collection="batchNos" item="item" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
             </if>
             <if test="courseType != null">
             AND mgpscd.course_type_ = #{courseType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}