浏览代码

Merge branch 'zx_saas_0810' of http://git.dayaedu.com/yonge/mec into master_saas

zouxuan 2 年之前
父节点
当前提交
03b78050b6

+ 0 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ActivityUserMapperServiceImpl.java

@@ -687,11 +687,6 @@ public class ActivityUserMapperServiceImpl extends BaseServiceImpl<Integer, Acti
 							Collectors.collectingAndThen(Collectors.toList(),value->value.stream().map(e->e.getCourseScheduleId()).collect(Collectors.toList()))));
 							Collectors.collectingAndThen(Collectors.toList(),value->value.stream().map(e->e.getCourseScheduleId()).collect(Collectors.toList()))));
 					userMap.keySet().stream().forEach(e-> operatingReportCloudService.updateSet(calenderId,userMap.get(e)));
 					userMap.keySet().stream().forEach(e-> operatingReportCloudService.updateSet(calenderId,userMap.get(e)));
 				}
 				}
-				//标记赠送课
-//				String courseIdList = payments.stream().map(e -> e.getCourseScheduleId().toString()).collect(Collectors.joining(","));
-//				if(StringUtils.isNotEmpty(courseIdList)){
-//					courseScheduleService.getDao().markFreeCourse(courseIdList);
-//				}
 			}
 			}
 			courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
 			courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
 			studentDao.updateStudentServiceTag(null, studentIdList, YesOrNoEnum.YES.getCode());
 			studentDao.updateStudentServiceTag(null, studentIdList, YesOrNoEnum.YES.getCode());

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

@@ -534,7 +534,6 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 			}
 			}
 		}
 		}
 		if(cloudTeacherPaymentFlag){
 		if(cloudTeacherPaymentFlag){
-//			courseScheduleDao.markFreeCourse(courseSchedules.stream().map(e->e.getId().toString()).collect(Collectors.joining(",")));
 			operatingReportCloudService.updateSet(calenderId,courseSchedules.stream().map(e->e.getId()).collect(Collectors.toList()));
 			operatingReportCloudService.updateSet(calenderId,courseSchedules.stream().map(e->e.getId()).collect(Collectors.toList()));
 		}
 		}
 	}
 	}

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

@@ -295,7 +295,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
         BigDecimal memberActualAmount = musicGroupPaymentCalenderMemberService.getActualAmount(musicGroupPaymentBaseCalender);
         BigDecimal memberActualAmount = musicGroupPaymentCalenderMemberService.getActualAmount(musicGroupPaymentBaseCalender);
         BigDecimal repairActualAmount = musicGroupPaymentCalenderRepairService.getActualAmount(musicGroupPaymentBaseCalender);
         BigDecimal repairActualAmount = musicGroupPaymentCalenderRepairService.getActualAmount(musicGroupPaymentBaseCalender);
         BigDecimal activityActualAmount = musicGroupPaymentCalenderActivityService.getActualAmount(musicGroupPaymentBaseCalender);
         BigDecimal activityActualAmount = musicGroupPaymentCalenderActivityService.getActualAmount(musicGroupPaymentBaseCalender);
-        if(memberActualAmount.compareTo(BigDecimal.ZERO) > 0 && (courseActualAmount.compareTo(BigDecimal.ZERO) == 0 || activityActualAmount.compareTo(BigDecimal.ZERO) == 0)){
+        if(musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE &&
+                ((memberActualAmount.compareTo(BigDecimal.ZERO) > 0 && (courseActualAmount.compareTo(BigDecimal.ZERO) == 0 || activityActualAmount.compareTo(BigDecimal.ZERO) == 0)) ||
+        musicGroupPaymentCalender.getPaymentType() == ADD_STUDENT)){
             musicGroupPaymentCalender.setCloudTeacherPaymentFlag(true);
             musicGroupPaymentCalender.setCloudTeacherPaymentFlag(true);
         }
         }
 
 

+ 31 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OperatingReportCloudServiceImpl.java

@@ -1,9 +1,6 @@
 package com.ym.mec.biz.service.impl;
 package com.ym.mec.biz.service.impl;
 
 
-import com.ym.mec.biz.dal.dao.OperatingReportCloudDao;
-import com.ym.mec.biz.dal.dao.OrganCourseTypeOriginalCostDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.dal.entity.OperatingReportCloud;
 import com.ym.mec.biz.dal.entity.OperatingReportCloud;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
@@ -37,6 +34,8 @@ public class OperatingReportCloudServiceImpl extends BaseServiceImpl<Integer, Op
 	private StudentPaymentOrderDetailDao studentPaymentOrderDetailDao;
 	private StudentPaymentOrderDetailDao studentPaymentOrderDetailDao;
 	@Autowired
 	@Autowired
 	private StudentPaymentOrderDao studentPaymentOrderDao;
 	private StudentPaymentOrderDao studentPaymentOrderDao;
+	@Autowired
+	private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
 
 
 	@Override
 	@Override
 	public BaseDAO<Integer, OperatingReportCloud> getDAO() {
 	public BaseDAO<Integer, OperatingReportCloud> getDAO() {
@@ -63,6 +62,10 @@ public class OperatingReportCloudServiceImpl extends BaseServiceImpl<Integer, Op
 		}else {
 		}else {
 			amount = studentPaymentOrderDao.get(orderId).getActualAmount();
 			amount = studentPaymentOrderDao.get(orderId).getActualAmount();
 		}
 		}
+		if(calender.getPaymentType() == MusicGroupPaymentCalender.PaymentType.ADD_STUDENT){
+			this.saveMonthOperating(calender,amount);
+			return;
+		}
 		//找出非当月结算的缴费项目预算,如果为空则创建。如果已结算则创建当月结转的云教练预收、否则修改云教练预算
 		//找出非当月结算的缴费项目预算,如果为空则创建。如果已结算则创建当月结转的云教练预收、否则修改云教练预算
 		//获取云教练信息
 		//获取云教练信息
 		OperatingReportCloud reportCloud = operatingReportCloudDao.findByCalenderId(calender.getId());
 		OperatingReportCloud reportCloud = operatingReportCloudDao.findByCalenderId(calender.getId());
@@ -74,18 +77,7 @@ public class OperatingReportCloudServiceImpl extends BaseServiceImpl<Integer, Op
 			operatingReportCloudDao.insert(reportCloud);
 			operatingReportCloudDao.insert(reportCloud);
 		}else {
 		}else {
 			if(reportCloud.getSettlementFlag()){
 			if(reportCloud.getSettlementFlag()){
-				OperatingReportCloud currentReportCloud = operatingReportCloudDao.findByCurrentCalenderId(calender.getId());
-				if(Objects.isNull(currentReportCloud)){
-					currentReportCloud = new OperatingReportCloud();
-					currentReportCloud.setCalenderId(calender.getId());
-					currentReportCloud.setCloudPrice(amount);
-					currentReportCloud.setOrganId(calender.getOrganId());
-					currentReportCloud.setMonthFlag(true);
-					operatingReportCloudDao.insert(currentReportCloud);
-				}else {
-					currentReportCloud.setCloudPrice(currentReportCloud.getCloudPrice().add(amount));
-					operatingReportCloudDao.update(currentReportCloud);
-				}
+				this.saveMonthOperating(calender,amount);
 			}else {
 			}else {
 				reportCloud.setCloudPrice(reportCloud.getCloudPrice().add(amount));
 				reportCloud.setCloudPrice(reportCloud.getCloudPrice().add(amount));
 				reportCloud.setUpdateTime(new Date());
 				reportCloud.setUpdateTime(new Date());
@@ -94,9 +86,29 @@ public class OperatingReportCloudServiceImpl extends BaseServiceImpl<Integer, Op
 		}
 		}
 	}
 	}
 
 
+	private void saveMonthOperating(MusicGroupPaymentCalender calender,BigDecimal amount){
+		OperatingReportCloud currentReportCloud = operatingReportCloudDao.findByCurrentCalenderId(calender.getId());
+		if(Objects.isNull(currentReportCloud)){
+			currentReportCloud = new OperatingReportCloud();
+			currentReportCloud.setCalenderId(calender.getId());
+			currentReportCloud.setCloudPrice(amount);
+			currentReportCloud.setOrganId(calender.getOrganId());
+			currentReportCloud.setMonthFlag(true);
+			operatingReportCloudDao.insert(currentReportCloud);
+		}else {
+			currentReportCloud.setCloudPrice(currentReportCloud.getCloudPrice().add(amount));
+			operatingReportCloudDao.update(currentReportCloud);
+		}
+	}
+
 	@Override
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	@Transactional(rollbackFor = Exception.class)
 	public void updateSet(Long calenderId,List<Long> scheduleIdList) {
 	public void updateSet(Long calenderId,List<Long> scheduleIdList) {
+		//如果是进行中加学员,全部算在当月云教练结转。不用摊到课程
+		MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.get(calenderId);
+		if(calender.getPaymentType() == MusicGroupPaymentCalender.PaymentType.ADD_STUDENT){
+			return;
+		}
 		OperatingReportCloud reportCloud = operatingReportCloudDao.findByCalenderId(calenderId);
 		OperatingReportCloud reportCloud = operatingReportCloudDao.findByCalenderId(calenderId);
 		if(Objects.isNull(reportCloud)){
 		if(Objects.isNull(reportCloud)){
 			throw new BizException("操作失败,请联系管理员");
 			throw new BizException("操作失败,请联系管理员");
@@ -121,6 +133,9 @@ public class OperatingReportCloudServiceImpl extends BaseServiceImpl<Integer, Op
 			reportCloud.setCalenderId(musicGroupPaymentCalender.getId());
 			reportCloud.setCalenderId(musicGroupPaymentCalender.getId());
 			reportCloud.setCloudPrice(BigDecimal.ZERO);
 			reportCloud.setCloudPrice(BigDecimal.ZERO);
 			reportCloud.setOrganId(musicGroupPaymentCalender.getOrganId());
 			reportCloud.setOrganId(musicGroupPaymentCalender.getOrganId());
+			if(musicGroupPaymentCalender.getPaymentType() == MusicGroupPaymentCalender.PaymentType.ADD_STUDENT){
+				reportCloud.setMonthFlag(true);
+			}
 			operatingReportCloudDao.insert(reportCloud);
 			operatingReportCloudDao.insert(reportCloud);
 		}
 		}
 	}
 	}

+ 5 - 4
mec-biz/src/main/resources/config/mybatis/OperatingReportNewMapper.xml

@@ -246,6 +246,7 @@
 		SELECT cs.organ_id_ 'key',SUM(cssp.actual_price_) 'value' FROM course_schedule cs
 		SELECT cs.organ_id_ 'key',SUM(cssp.actual_price_) 'value' FROM course_schedule cs
 		LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
 		LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
 		where cs.del_flag_ = 0 AND cs.is_lock_ = 0 AND cs.pre_course_flag_ = 0 AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_) AND cs.class_date_ > #{lastDay}
 		where cs.del_flag_ = 0 AND cs.is_lock_ = 0 AND cs.pre_course_flag_ = 0 AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_) AND cs.class_date_ > #{lastDay}
+		AND cs.group_type_ != 'MUSIC'
 		group by cs.organ_id_;
 		group by cs.organ_id_;
 	</select>
 	</select>
 	<select id="sumOtherPreAmount" resultType="java.util.Map">
 	<select id="sumOtherPreAmount" resultType="java.util.Map">
@@ -300,10 +301,10 @@
 		GROUP BY mgpc.organ_id_
 		GROUP BY mgpc.organ_id_
 	</select>
 	</select>
 	<select id="sumMusicCourseAmount" resultType="java.util.Map">
 	<select id="sumMusicCourseAmount" resultType="java.util.Map">
-		select mgpc.organ_id_ 'key',SUM(mgpscd.course_current_price_) 'value' from music_group_payment_student_course_detail mgpscd
-		LEFT JOIN music_group_payment_calender mgpc ON mgpc.id_ = mgpscd.music_group_payment_calender_id_
-		where mgpc.pay_user_type_ = 'STUDENT' AND mgpscd.used_course_minutes_ = 0
-		group by mgpc.organ_id_
+		select mg.organ_id_ 'key',SUM(sr.surplus_course_fee_) 'value' from student_registration sr
+		left join music_group mg ON mg.id_ = sr.music_group_id_
+		where sr.surplus_course_fee_ > 0
+		group by mg.organ_id_;
 	</select>
 	</select>
 	<select id="sumSubActivityUserMapperAmount" resultType="java.util.Map">
 	<select id="sumSubActivityUserMapperAmount" resultType="java.util.Map">
 		select su.organ_id_ 'key',SUM(aum.sub_no_course_price_) 'value' from activity_user_mapper aum
 		select su.organ_id_ 'key',SUM(aum.sub_no_course_price_) 'value' from activity_user_mapper aum