소스 검색

经营报表相关改动

zouxuan 2 년 전
부모
커밋
c2404e0591

+ 0 - 20
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/OperatingReportNewDao.java

@@ -101,24 +101,4 @@ public interface OperatingReportNewDao extends BaseDAO<Integer, OperatingReportN
 
     //课程未开始团体云教练预收
     List<Map<Integer,BigDecimal>> sumNotStartCloudPreAmount();
-
-    /**
-    * @description: 获取当月有课的乐团和学员列表
-     * @param currentMonth
-    * @return java.util.List<com.ym.mec.biz.dal.dto.OperatingReportNewDto1>
-    * @author zx
-    * @date 2023/3/27 15:21
-    */
-    List<OperatingReportNewDto1> queryMusicGroupIds(@Param("currentMonth") String currentMonth);
-
-    /**
-    * @description: 获取关联乐团、学员的课程列表
-     * @param currentMonth
-    * @return java.util.List<com.ym.mec.biz.dal.dto.OperatingReportNewDto1>
-    * @author zx
-    * @date 2023/3/27 18:41
-    */
-    List<OperatingReportNewDto1> queryNotStartMusicGroupIds(@Param("currentMonth") String currentMonth,
-                                                            @Param("userIdList") List<Integer> userIdList,
-                                                            @Param("musicGroupIdList") List<String> musicGroupIdList);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java

@@ -158,6 +158,9 @@ public class CourseSchedule  extends BaseEntity{
 
 	private Integer isSettlement = 0;
 
+	//是否结算经营报表
+	private Boolean settlementReportFlag = false;
+
 	private String classGroupType;
 
 	private java.util.Date coursesExpireDate;
@@ -204,6 +207,14 @@ public class CourseSchedule  extends BaseEntity{
 	//当前课程是否是转换课
 	private Boolean convertFlag = false;
 
+	public Boolean getSettlementReportFlag() {
+		return settlementReportFlag;
+	}
+
+	public void setSettlementReportFlag(Boolean settlementReportFlag) {
+		this.settlementReportFlag = settlementReportFlag;
+	}
+
 	public Boolean getConvertFlag() {
 		return convertFlag;
 	}

+ 6 - 104
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalenderCourseSettings.java

@@ -1,25 +1,20 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.common.entity.BaseEntity;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
-import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
-import com.ym.mec.common.entity.BaseEntity;
-
-import java.math.BigDecimal;
-
 /**
  * 对应数据库表(music_group_payment_calender_course_settings):
  */
+@Data
 public class MusicGroupPaymentCalenderCourseSettings extends BaseEntity {
 
-	/**  */
 	private Integer id;
 	
-	/**  */
 	private Long musicGroupPaymentCalenderId;
 
-	/**  */
 	private String name;
 	
 	@ApiModelProperty(value = "课程类型", required = false)
@@ -33,114 +28,21 @@ public class MusicGroupPaymentCalenderCourseSettings extends BaseEntity {
 	
 	@ApiModelProperty(value = "课程原价", required = false)
 	private java.math.BigDecimal courseOriginalPrice;
-	
+
 	@ApiModelProperty(value = "课程现价", required = false)
 	private java.math.BigDecimal courseCurrentPrice;
 	
 	@ApiModelProperty(value = "是否学生可选", required = false)
 	private boolean isStudentOptional = true;
-	
+
+
 	/**  */
 	private java.util.Date createTime;
 	
 	/**  */
 	private java.util.Date updateTime;
-
-	public void setStudentOptional(boolean studentOptional) {
-		isStudentOptional = studentOptional;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public void setId(Integer id){
-		this.id = id;
-	}
-	
-	public Integer getId(){
-		return this.id;
-	}
-			
-	public void setMusicGroupPaymentCalenderId(Long musicGroupPaymentCalenderId){
-		this.musicGroupPaymentCalenderId = musicGroupPaymentCalenderId;
-	}
-	
-	public Long getMusicGroupPaymentCalenderId(){
-		return this.musicGroupPaymentCalenderId;
-	}
-			
-	public void setCourseType(CourseScheduleType courseType){
-		this.courseType = courseType;
-	}
-	
-	public CourseScheduleType getCourseType() {
-		return this.courseType;
-	}
-
-	public Integer getCourseTotalMinuties() {
-		return courseTotalMinuties;
-	}
-
-	public void setCourseTotalMinuties(Integer courseTotalMinuties) {
-		this.courseTotalMinuties = courseTotalMinuties;
-	}
-			
-	public void setUnitPrice(java.math.BigDecimal unitPrice){
-		this.unitPrice = unitPrice;
-	}
-	
-	public java.math.BigDecimal getUnitPrice(){
-		return this.unitPrice;
-	}
-			
-	public void setCourseOriginalPrice(java.math.BigDecimal courseOriginalPrice){
-		this.courseOriginalPrice = courseOriginalPrice;
-	}
-	
-	public java.math.BigDecimal getCourseOriginalPrice(){
-		return this.courseOriginalPrice;
-	}
-			
-	public void setCourseCurrentPrice(java.math.BigDecimal courseCurrentPrice){
-		this.courseCurrentPrice = courseCurrentPrice;
-	}
-	
-	public java.math.BigDecimal getCourseCurrentPrice(){
-		return this.courseCurrentPrice;
-	}
-			
-	public void setIsStudentOptional(boolean isStudentOptional){
-		this.isStudentOptional = isStudentOptional;
-	}
-	
-	public boolean getIsStudentOptional(){
-		return this.isStudentOptional;
-	}
-			
-	public void setCreateTime(java.util.Date createTime){
-		this.createTime = createTime;
-	}
-	
-	public java.util.Date getCreateTime(){
-		return this.createTime;
-	}
-			
-	public void setUpdateTime(java.util.Date updateTime){
-		this.updateTime = updateTime;
-	}
-	
-	public java.util.Date getUpdateTime(){
-		return this.updateTime;
-	}
-			
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);
 	}
-
 }

+ 0 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderCourseSettingsServiceImpl.java

@@ -83,9 +83,6 @@ public class MusicGroupPaymentCalenderCourseSettingsServiceImpl extends BaseServ
     public void batchInsert(MusicGroupPaymentCalender musicGroupPaymentCalender) {
 		List<MusicGroupPaymentCalenderCourseSettings> musicGroupPaymentCalenderCourseSettingss = musicGroupPaymentCalender.getMusicGroupPaymentCalenderCourseSettingsList();
 		if (musicGroupPaymentCalenderCourseSettingss != null && musicGroupPaymentCalenderCourseSettingss.size() > 0) {
-//			if (musicGroupPaymentCalender.getPayUserType() == SCHOOL) {
-//				musicGroupPaymentCalenderCourseSettingss.forEach(e->e.setCourseCurrentPrice(BigDecimal.ZERO));
-//			}
 			MusicGroupOrganizationCourseSettings courseSettings = musicGroupOrganizationCourseSettingsService.get(musicGroupPaymentCalender
 					.getMusicGroupOrganizationCourseSettingId());
 			for (MusicGroupPaymentCalenderCourseSettings musicGroupPaymentCalenderCourseSettings : musicGroupPaymentCalenderCourseSettingss) {

+ 37 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -402,8 +402,19 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
             musicGroupPaymentCalenderActivityService.batchInsert(musicGroupPaymentBaseCalender, calenderId);
         }
         //保存课程费用列表
-        musicGroupPaymentCalender.setMusicGroupPaymentCalenderCourseSettingsList(musicGroupPaymentBaseCalender.getMusicGroupPaymentCalenderCourseSettingsList());
-        musicGroupPaymentCalenderCourseSettingsService.batchInsert(musicGroupPaymentCalender);
+        List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentBaseCalender.getMusicGroupPaymentCalenderCourseSettingsList();
+        if(CollectionUtils.isNotEmpty(courseSettingsList)){
+            //是否会员团
+            if(musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE && Objects.nonNull(calenderMember)){
+                //获取云教练溢出费用
+                BigDecimal courseIncome = memberFeeSettingService.getAmount(musicGroup.getOrganId(), 1, calenderMember.getPeriod(),
+                        calenderMember.getNum(), MemberFeeSettingServiceImpl::getIncome);
+                //平摊金额
+                distributeTotalAmount(courseSettingsList,courseIncome);
+            }
+            musicGroupPaymentCalender.setMusicGroupPaymentCalenderCourseSettingsList(courseSettingsList);
+            musicGroupPaymentCalenderCourseSettingsService.batchInsert(musicGroupPaymentCalender);
+        }
 
         // 如果是报名,需要修改乐团状态
         if (musicGroupPaymentCalender.getPaymentType() == MUSIC_APPLY) {
@@ -445,6 +456,30 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
         return BaseController.succeed(map);
     }
 
+    public static void distributeTotalAmount(List<MusicGroupPaymentCalenderCourseSettings> settings, BigDecimal totalAmount) {
+        if(CollectionUtils.isEmpty(settings) || BigDecimal.ZERO.compareTo(totalAmount) == 0){
+            return;
+        }
+        BigDecimal remainingAmount = totalAmount;
+        int lastIndex = settings.size() - 1;
+        BigDecimal totalUnitPrice = settings.stream().map(e -> e.getUnitPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+        // 分摊总金额
+        for (int i = 0; i < lastIndex; i++) {
+            MusicGroupPaymentCalenderCourseSettings setting = settings.get(i);
+            BigDecimal ratio = setting.getUnitPrice().divide(totalUnitPrice, 10, BigDecimal.ROUND_HALF_UP);
+            BigDecimal itemAmount = totalAmount.multiply(ratio).setScale(2, BigDecimal.ROUND_HALF_UP);
+            setting.setCourseCurrentPrice(itemAmount.add(setting.getCourseCurrentPrice()));
+            remainingAmount = remainingAmount.subtract(itemAmount);
+        }
+
+        // 将剩余的金额放在最后一个Item对象中
+        MusicGroupPaymentCalenderCourseSettings lastItem = settings.get(lastIndex);
+        lastItem.setCourseCurrentPrice(lastItem.getCourseCurrentPrice().add(remainingAmount));
+    }
+
+
+
     //校验缴费项目进行中加学员
     public void checkAddStudent(CalenderAddStudent calenderAddStudent, MusicGroup musicGroup) {
         //获取缴费状态在审核中或者已拒绝的缴费项目的学员

+ 18 - 24
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OperatingReportNewServiceImpl.java

@@ -1,11 +1,8 @@
 package com.ym.mec.biz.service.impl;
 
-import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.biz.dal.dao.OperatingReportCloudDao;
 import com.ym.mec.biz.dal.dao.OperatingReportNewDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dao.VipGroupCategoryDao;
-import com.ym.mec.biz.dal.dto.OperatingReportNewDto1;
 import com.ym.mec.biz.dal.entity.OperatingReportNew;
 import com.ym.mec.biz.dal.entity.VipGroupCategory;
 import com.ym.mec.biz.service.OperatingReportNewService;
@@ -18,7 +15,10 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 @Service
@@ -30,8 +30,6 @@ public class OperatingReportNewServiceImpl extends BaseServiceImpl<Integer, Oper
 	private VipGroupCategoryDao vipGroupCategoryDao;
 	@Autowired
 	private OperatingReportCloudDao operatingReportCloudDao;
-	@Autowired
-	private SysConfigDao sysConfigDao;
 
 	@Override
 	public BaseDAO<Integer, OperatingReportNew> getDAO() {
@@ -63,26 +61,22 @@ public class OperatingReportNewServiceImpl extends BaseServiceImpl<Integer, Oper
 		//服务收入
 		//导入的服务收入  (全部记录为课程收入)
 		Map<Integer, BigDecimal> collect24 = MapUtil.convertIntegerMap(operatingReportNewDao.sumImportServerOrderAmount(currentMonth));
-		//获取当月有课的学员和乐团列表
-		List<OperatingReportNewDto1> overDtos = operatingReportNewDao.queryMusicGroupIds(currentMonth);
-		List<Integer> userIdList = overDtos.stream().map(e -> e.getUserId()).distinct().collect(Collectors.toList());
-		List<String> musicGroupIdList = overDtos.stream().map(e -> e.getMusicGroupId()).distinct().collect(Collectors.toList());
-		//获取当月有课的学员所有未开始的课程类型以及时长
-		String operatingReportCourseConfig = sysConfigDao.findConfigValue("operating_report_course_config");
-		Map<String,BigDecimal> operatingReportCourseMap = JSONObject.parseObject(operatingReportCourseConfig, HashMap.class);
-		//获取关联学员的所有未开始、以及本月课程
-		List<OperatingReportNewDto1> notStartDtos = operatingReportNewDao.queryNotStartMusicGroupIds(currentMonth,userIdList,musicGroupIdList);
-		//课程实际收入 = 学员总课程时长(包含未开始、未排课、当月已完成)* 课程单价
-		//处理导出逻辑
-		//记录学员在乐团每种课程类型总时长
-		//
+		//1、调整student_registration表surplus_course_fee_字段,原有逻辑是用于保存学员已缴费,但是未排课的总乐团课程费用。在课程结束后按课程预计金额分摊到课程实际收入。
+		// 现在需要新增逻辑,记录免费团溢出的乐器课费、以及云教练团溢出的课费。用于在课程结束后计算实际课费,涉及到乐团缴费项目、支付回调
+
+		//2、music_group_payment_calender_course_settings表新增字段,用于记录 云教练、乐器溢出的课程费用,在排课时用于计算预计课费、涉及到降费项目创建、报名支付回调
+
+		//3、course_schedule表新增字段 标记课程是否结算经营报表,用于年底确认经营报表收入、或者已结束调整到未开始,涉及到所有的排课、调整、合班、合课逻辑
 
+		//4、课程调整逻辑修改、已结算经营报表的课程不允许调整(需要合业务部门确认)。如果可以调整,需要在course_schedule_student_payment 表新增结算金额,用于记录已结算的金额,在下次结算时去单独计算。
 
+		//5、初始化历史云教练缴费数据,按课程数量和课费总额比例计算,已排课的初始化预计金额、已缴费的初始化实际金额、以及部分排课数据初始化
 
+		//6、云教练按月计算收入,只计算配置金额,溢出的部分分配给课程
 		//云教练赠送课程实际收入
-		Map<Integer, BigDecimal> collect1 = MapUtil.convertIntegerMap(operatingReportNewDao.sumCloudCourseAmount(firstDayOfMonth,lastDayOfMonth));
+//		Map<Integer, BigDecimal> collect1 = MapUtil.convertIntegerMap(operatingReportNewDao.sumCloudCourseAmount(firstDayOfMonth,lastDayOfMonth));
 		//亏损的云教练算到当月实际收入
-		Map<Integer, BigDecimal> collect22 = MapUtil.convertIntegerMap(operatingReportNewDao.sumLossCloudAmount(currentMonth));
+//		Map<Integer, BigDecimal> collect22 = MapUtil.convertIntegerMap(operatingReportNewDao.sumLossCloudAmount(currentMonth));
 		//付费课程实际收入
 		Map<Integer, BigDecimal> collect2 = MapUtil.convertIntegerMap(operatingReportNewDao.sumCourseAmount(firstDayOfMonth,lastDayOfMonth));
 
@@ -157,14 +151,14 @@ public class OperatingReportNewServiceImpl extends BaseServiceImpl<Integer, Oper
 				operatingReportNew.setSaleCost(reportNew.getSaleCost());
 			}
 
-			operatingReportNew.setCourseAmount(getAmount(collect1.get(organId)));
-			operatingReportNew.setCourseAmount(operatingReportNew.getCourseAmount().add(getAmount(collect2.get(organId))));
+			operatingReportNew.setCourseAmount(getAmount(collect2.get(organId)));
+//			operatingReportNew.setCourseAmount(operatingReportNew.getCourseAmount().add(getAmount(collect2.get(organId))));
 			operatingReportNew.setCourseAmount(operatingReportNew.getCourseAmount().add(getAmount(collect24.get(organId))));
 
 			operatingReportNew.setCloudAmount(getAmount(collect3.get(organId)));
 			operatingReportNew.setCloudAmount(operatingReportNew.getCloudAmount().add(getAmount(collect4.get(organId))));
 			operatingReportNew.setCloudAmount(operatingReportNew.getCloudAmount().add(getAmount(collect5.get(organId))));
-			operatingReportNew.setCloudAmount(operatingReportNew.getCloudAmount().add(getAmount(collect22.get(organId))));
+//			operatingReportNew.setCloudAmount(operatingReportNew.getCloudAmount().add(getAmount(collect22.get(organId))));
 
 			operatingReportNew.setMaintenanceAmount(getAmount(collect26.get(organId)));
 			operatingReportNew.setBusinessRefund(getAmount(collect6.get(organId)));

+ 26 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -145,6 +145,7 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
         return studentPaymentOrderDetailList;
     }
 
+
     @Override
     public List<StudentPaymentOrderDetail> findApplyOrderSuccess(String musicGroupId, DealStatusEnum status, Integer deliveryStatus) {
         return studentPaymentOrderDetailDao.findApplyOrderSuccess(musicGroupId, status, deliveryStatus);
@@ -711,7 +712,7 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                 repair.setStudentInstrumentId(studentInstrumentId);
                 studentPaymentOrderDetailDao.update(repair);
             }
-            if(studentPaymentOrder.getType() == OrderTypeEnum.APPLY){
+            if(musicGroup.getCourseViewType() == CourseViewTypeEnum.FREE){
                 //如果是免费团,那么要处理乐器溢出的课程费用
                 CourseViewTypeEnum courseViewType = musicGroup.getCourseViewType();
                 Integer subjectId = studentRegistration.getActualSubjectId();
@@ -721,6 +722,17 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                     BigDecimal musicalFee = musical.getPrice().subtract(chargeType.getFee());
                     studentMusicCourseFeeService.addExpectPrice(studentRegistration.getUserId(),
                             musicGroup.getId(),musicalFee);
+                    //累加充值金额
+                    studentRegistration.setSurplusCourseFee(studentRegistration.getSurplusCourseFee().add(musicalFee));
+                    //添加日志
+                    StudentCourseFeeDetail studentCourseFeeDetail = new StudentCourseFeeDetail();
+                    studentCourseFeeDetail.setTenantId(tenantId);
+                    studentCourseFeeDetail.setStudentRegistrationId(studentRegistration.getId());
+                    studentCourseFeeDetail.setAmount(musicalFee);
+                    studentCourseFeeDetail.setSurplusCourseFee(studentRegistration.getSurplusCourseFee());
+                    studentCourseFeeDetail.setMemo("免费团,购买乐器赠送课费");
+                    studentCourseFeeDetail.setOperator(userId);
+                    studentCourseFeeDetailDao.insert(studentCourseFeeDetail);
                     //设置缴费项目详情乐器和课费
                     paymentCalenderDetail.setExpectAmount(chargeType.getFee());
                     paymentCalenderDetail.setActualAmount(musicalFee);
@@ -739,8 +751,20 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                     BigDecimal courseIncome = memberFeeSettingService.getAmount(musicGroup.getOrganId(), 1, calenderMember.getPeriod(),
                             calenderMember.getNum(), MemberFeeSettingServiceImpl::getIncome);
                     if(calenderMember.getActualAmount().compareTo(courseIncome) > 0){
+                        BigDecimal subtract = calenderMember.getActualAmount().subtract(courseIncome);
+                        //累加充值金额
+                        studentRegistration.setSurplusCourseFee(studentRegistration.getSurplusCourseFee().add(subtract));
+                        //添加日志
+                        StudentCourseFeeDetail studentCourseFeeDetail = new StudentCourseFeeDetail();
+                        studentCourseFeeDetail.setTenantId(tenantId);
+                        studentCourseFeeDetail.setStudentRegistrationId(studentRegistration.getId());
+                        studentCourseFeeDetail.setAmount(subtract);
+                        studentCourseFeeDetail.setSurplusCourseFee(studentRegistration.getSurplusCourseFee());
+                        studentCourseFeeDetail.setMemo("会员团,购买云教练赠送课费");
+                        studentCourseFeeDetail.setOperator(userId);
+                        studentCourseFeeDetailDao.insert(studentCourseFeeDetail);
                         paymentCalenderDetail.setExpectMemberAmount(courseIncome);
-                        paymentCalenderDetail.setActualAmount(calenderMember.getActualAmount().subtract(courseIncome));
+                        paymentCalenderDetail.setActualAmount(subtract);
                     }
                 }
             }

+ 7 - 9
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -43,6 +43,7 @@
         <result column="tenant_id_" property="tenantId"/>
         <result column="evaluate_flag_" property="evaluateFlag"/>
         <result column="convert_flag_" property="convertFlag"/>
+        <result column="settlement_report_flag_" property="settlementReportFlag"/>
     </resultMap>
 
     <resultMap type="com.ym.mec.biz.dal.dto.Mapper" id="Mapper">
@@ -214,14 +215,14 @@
             keyProperty="id">
         INSERT INTO course_schedule
         (id_,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_,type_,name_,teach_mode_,student_num_,leave_student_num_,
         schoole_id_,is_lock_,note_,teaching_content_,organ_id_,member_flag_,pre_course_flag_,valid_end_time_,valid_start_time_,tenant_id_)
         VALUE
         <foreach collection="list" item="course" separator=",">
             (#{course.id},#{course.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.musicGroupId},
             #{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             #{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},#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             #{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.preCourseFlag},#{course.validEndTime},#{course.validStartTime},#{course.tenantId})
@@ -232,14 +233,14 @@
             keyProperty="id">
         INSERT INTO course_schedule
         (id_,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_,type_,name_,teach_mode_,student_num_,leave_student_num_,
         schoole_id_,is_lock_,note_,teaching_content_,organ_id_,member_flag_,pre_course_flag_,valid_end_time_,valid_start_time_,tenant_id_)
         VALUE
         <foreach collection="list" item="course" separator=",">
             (#{course.id},#{course.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.musicGroupId},
             #{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             #{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},
-            #{course.actualTeacherId},now(),now(),#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            #{course.actualTeacherId},#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             #{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.preCourseFlag},#{course.validEndTime},#{course.validStartTime},#{course.tenantId})
@@ -322,7 +323,6 @@
             <if test="isLock != null">
                 is_lock_ = #{isLock},
             </if>
-            update_time_ = NOW()
         </set>
         WHERE id_ = #{id} and tenant_id_ = #{tenantId}
     </update>
@@ -346,8 +346,7 @@
 
     <update id="logicDeleteCourseSchedulesByMusicGroupID">
         update course_schedule
-        set del_flag_    = '1',
-            update_time_ = NOW()
+        set del_flag_    = '1'
         WHERE music_group_id_ = #{musicGroupID}
           AND group_type_ = 'MUSIC'
           and status_ = 'NOT_START'
@@ -355,8 +354,7 @@
 
     <update id="resumeCourseScheduleByMusicGroupId">
         update course_schedule
-        set del_flag_    = '0',
-            update_time_ = NOW()
+        set del_flag_    = '0'
         WHERE music_group_id_ = #{musicGroupID}
           AND group_type_ = 'MUSIC'
           and status_ = 'NOT_START'

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

@@ -37,21 +37,21 @@
 		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO music_group_payment_calender_course_settings
 		(music_group_payment_calender_id_,course_type_,course_total_minuties_,unit_price_,course_original_price_,
-		course_current_price_,is_student_optional_,create_time_,update_time_,name_,tenant_id_)
+		course_current_price_,is_student_optional_,name_,tenant_id_)
 		VALUES(#{musicGroupPaymentCalenderId},#{courseType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{courseTotalMinuties},
-		#{unitPrice},#{courseOriginalPrice},#{courseCurrentPrice},#{isStudentOptional},#{createTime},#{updateTime},#{name},#{tenantId})
+		#{unitPrice},#{courseOriginalPrice},#{courseCurrentPrice},#{isStudentOptional},#{name},#{tenantId})
 	</insert>
 	
 	<insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
 		INSERT INTO music_group_payment_calender_course_settings
 		(music_group_payment_calender_id_,course_type_,course_total_minuties_,unit_price_,course_original_price_,
-		course_current_price_,is_student_optional_,create_time_,update_time_,name_,tenant_id_)
+		course_current_price_,is_student_optional_,name_,tenant_id_)
 		VALUES
 		<foreach collection="list" item="item" separator=",">
 		(#{item.musicGroupPaymentCalenderId},#{item.courseType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 		#{item.courseTotalMinuties},#{item.unitPrice},#{item.courseOriginalPrice},#{item.courseCurrentPrice},
-		#{item.isStudentOptional},NOW(),NOW(),#{item.name},#{item.tenantId})
+		#{item.isStudentOptional},#{item.name},#{item.tenantId})
 		</foreach>
 	</insert>
 
@@ -84,7 +84,6 @@
 			<if test="courseTotalMinuties != null">
 				course_total_minuties_ = #{courseTotalMinuties},
 			</if>
-				update_time_ = NOW()
 		</set>
 		WHERE id_ = #{id} and tenant_id_ = #{tenantId}
 	</update>

+ 0 - 35
mec-biz/src/main/resources/config/mybatis/OperatingReportNewMapper.xml

@@ -348,39 +348,4 @@
 		where orc.start_date_ IS NULL AND orc.course_price_ > 0
 		group by orc.organ_id_
 	</select>
-    <select id="queryMusicGroupIds" resultType="com.ym.mec.biz.dal.dto.OperatingReportNewDto1">
-		select cs.music_group_id_ musicGroupId,cssp.user_id_ userId ,cs.type_ courseType,
-			   SUM(ROUND((UNIX_TIMESTAMP(CONCAT(cs.class_date_,' ',cs.end_class_time_)) - UNIX_TIMESTAMP(CONCAT(cs.class_date_,' ',cs.start_class_time_)))/60) ) signClassTime
-		from mec_pro.course_schedule cs
-		left join mec_pro.course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
-		where DATE_FORMAT(cs.class_date_,'%Y-%m') = #{currentMonth} AND cs.group_type_ = 'MUSIC' AND DATE_FORMAT(cs.create_time_,'%Y') = DATE_FORMAT(#{currentMonth},'%Y')
-		group by cs.music_group_id_,cssp.user_id_,cs.type_
-	</select>
-	<select id="queryNotStartMusicGroupIds" resultType="com.ym.mec.biz.dal.dto.OperatingReportNewDto1">
-		SELECT music_group_id_,user_id_,course_type_,SUM(sub_course_minutes_) from (
-		select cs.music_group_id_,cssp.user_id_,cs.type_ course_type_,
-		SUM(ROUND((UNIX_TIMESTAMP(CONCAT(cs.class_date_,' ',cs.end_class_time_)) -
-		UNIX_TIMESTAMP(CONCAT(cs.class_date_,' ',cs.start_class_time_)))/60) ) sub_course_minutes_
-		from mec_pro.course_schedule cs
-		left join mec_pro.course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
-		where DATE_FORMAT(cs.class_date_,'%Y-%m') >= #{currentMonth} AND cs.group_type_ = 'MUSIC' AND
-		DATE_FORMAT(cs.create_time_,'%Y') = DATE_FORMAT(#{currentMonth},'%Y')
-		AND cssp.user_id_ IN
-		<foreach collection="userIdList" item="userId" separator="," open="(" close=")">
-			#{userId}
-		</foreach>
-		AND cs.music_group_id_ IN
-		<foreach collection="musicGroupIdList" item="musicGroupId" separator="," open="(" close=")">
-			#{musicGroupId}
-		</foreach>
-		group by cs.music_group_id_,cssp.user_id_,cs.type_
-		UNION ALL
-		select mgpscd.music_group_id_,mgpscd.user_id_,mgpscd.course_type_,SUM(mgpscd.sub_course_minutes_) sub_course_minutes_
-		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 DATE_FORMAT(mgpc.create_time_,'%Y') = DATE_FORMAT(#{currentMonth},'%Y') AND mgpscd.sub_course_minutes_ > 0
-		group by mgpscd.music_group_id_,mgpscd.user_id_,mgpscd.course_type_
-		)
-		group by music_group_id_,user_id_,course_type_
-	</select>
 </mapper>