Ver código fonte

Merge branch 'online1' of http://git.dayaedu.com/yonge/mec into system_fee_update

zouxuan 4 anos atrás
pai
commit
be28b8b624
19 arquivos alterados com 235 adições e 38 exclusões
  1. 10 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/IndexBaseMonthDataDao.java
  2. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java
  3. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicCardDto.java
  4. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java
  5. 23 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/EndCourseScheduleQueryInfo.java
  6. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderDetailService.java
  7. 66 8
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java
  8. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java
  9. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  10. 7 1
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  11. 26 4
      mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml
  12. 8 0
      mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml
  13. 3 0
      mec-biz/src/main/resources/config/mybatis/MusicGroupQuestionnaireMapper.xml
  14. 36 16
      mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java
  15. 2 1
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupQuestionnaireController.java
  16. 12 0
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupRecordController.java
  17. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupTrainPlanController.java
  18. 2 1
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduMusicGroupNewsController.java
  19. 2 1
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduMusicGroupQuestionnaireController.java

+ 10 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/IndexBaseMonthDataDao.java

@@ -148,14 +148,20 @@ public interface IndexBaseMonthDataDao extends BaseDAO<Long, IndexBaseMonthData>
                                                 @Param("courseStatus") CourseStatusEnum courseStatus);
 
     List<IndexBaseMonthData> getGroupCourseDataWithGroup(@Param("dayStr") String dayStr,
-                                                @Param("groupType")GroupType groupType,
-                                                @Param("courseStatus") CourseStatusEnum courseStatus,
-                                                         @Param("teachMode") TeachModeEnum teachMode);
+                                                        @Param("startDate") String startDate,
+                                                        @Param("endDate") String endDate,
+                                                        @Param("groupType")GroupType groupType,
+                                                        @Param("courseStatus") CourseStatusEnum courseStatus,
+                                                         @Param("teachMode") TeachModeEnum teachMode,
+                                                         @Param("organIds") List<Integer> organIds);
 
     List<OrganVipGroupCategoryCourseNumDto> getVipGroupCategoryCourseData(@Param("dayStr") String dayStr,
+                                                                          @Param("startDate") String startDate,
+                                                                          @Param("endDate") String endDate,
                                                                           @Param("groupType")GroupType groupType,
                                                                           @Param("courseStatus") CourseStatusEnum courseStatus,
-                                                                          @Param("teachMode") TeachModeEnum teachMode);
+                                                                          @Param("teachMode") TeachModeEnum teachMode,
+                                                                          @Param("organIds") List<Integer> organIds);
 
     int countLessThenThreeClassGroupNum(@Param("organIds") Set<Integer> organIds, @Param("educationUserId") Integer educationUserId);
 

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -458,4 +458,6 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
      * @return
      */
     List<MusicMemberDto> queryMusicMemberList(Map<String, Object> params);
+    
+	int updateIsShowRecordOfStudent(@Param("musicGroupId") String musicGroupId, @Param("isShowRecordOfStudent") Boolean isShowRecordOfStudent);
 }

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

@@ -42,6 +42,9 @@ public class MusicCardDto {
 
     @ApiModelProperty(value = "vip课数量",required = true)
     private Integer vipClassNum;
+	
+    @ApiModelProperty(value = "学生端是否展示乐团档案",required = true)
+	private Boolean isShowRecordOfStudent = false;
 
     public String getPaymentStatus() {
         return paymentStatus;
@@ -141,4 +144,12 @@ public class MusicCardDto {
     public void setSubjectId(String subjectId) {
         this.subjectId = subjectId;
     }
+
+	public Boolean getIsShowRecordOfStudent() {
+		return isShowRecordOfStudent;
+	}
+
+	public void setIsShowRecordOfStudent(Boolean isShowRecordOfStudent) {
+		this.isShowRecordOfStudent = isShowRecordOfStudent;
+	}
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java

@@ -179,6 +179,8 @@ public class MusicGroup {
 	private String subjectName;
 
 	private Boolean hasVerifyMusicalList = false;
+	
+	private Boolean isShowRecordOfStudent = false;
 
 	//0云教练1云教练+
 	private Integer cloudTeacherType;
@@ -624,4 +626,12 @@ public class MusicGroup {
 	public void setIsRemedy(Boolean remedy) {
 		isRemedy = remedy;
 	}
+
+	public Boolean getIsShowRecordOfStudent() {
+		return isShowRecordOfStudent;
+	}
+
+	public void setIsShowRecordOfStudent(Boolean isShowRecordOfStudent) {
+		this.isShowRecordOfStudent = isShowRecordOfStudent;
+	}
 }

+ 23 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/EndCourseScheduleQueryInfo.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.page;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.common.page.QueryInfo;
+
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.Date;
@@ -45,6 +46,12 @@ public class EndCourseScheduleQueryInfo extends QueryInfo {
 
     @ApiModelProperty(value = "上课结束时间")
     private Date endTime;
+
+	@ApiModelProperty(value = "上课时间字符")
+	private String startClassTimeStr;
+
+	@ApiModelProperty(value = "结束时间字符")
+	private String endClassTimeStr;
     
     @ApiModelProperty(value = "课程创建开始时间")
     private Date createStartDate;
@@ -335,4 +342,20 @@ public class EndCourseScheduleQueryInfo extends QueryInfo {
     public void setDealEndTime(String dealEndTime) {
         this.dealEndTime = dealEndTime;
     }
+
+	public String getStartClassTimeStr() {
+		return startClassTimeStr;
+	}
+
+	public void setStartClassTimeStr(String startClassTimeStr) {
+		this.startClassTimeStr = startClassTimeStr;
+	}
+
+	public String getEndClassTimeStr() {
+		return endClassTimeStr;
+	}
+
+	public void setEndClassTimeStr(String endClassTimeStr) {
+		this.endClassTimeStr = endClassTimeStr;
+	}
 }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderDetailService.java

@@ -93,4 +93,12 @@ public interface StudentPaymentOrderDetailService extends BaseService<Long, Stud
      * @return
      */
     List<String> getOrderDetailType(Long orderId);
+
+
+    /**
+     * 获取订单商品详细
+     * @param orderId
+     * @return
+     */
+    List<StudentPaymentOrderDetail> getOrderGoodsDetail(Long orderId);
 }

+ 66 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -163,6 +163,64 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			typeDateMap.put(OTHER_AMOUNT,otherAmount);
 		}
 
+		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(MUSIC_GROUP_COURSE.getCode())||dataTypes.contains(VIP_GROUP_COURSE.getCode())
+				||dataTypes.contains(VIP_GROUP_ONLINE_COURSE.getCode())||dataTypes.contains(VIP_GROUP_OFFLINE_COURSE.getCode())
+				||dataTypes.contains(PRACTICE_GROUP_COURSE.getCode())){
+			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.MUSIC_GROUP_COURSE.getCode())) {
+				List<IndexBaseMonthData> musicCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.MUSIC, null, null, new ArrayList<>(organIds));
+				typeDateMap.put(MUSIC_GROUP_COURSE,musicCourseData);
+			}
+
+			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_COURSE.getCode())) {
+				List<IndexBaseMonthData> vipCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, null, new ArrayList<>(organIds));
+				List<OrganVipGroupCategoryCourseNumDto> vipGroupCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, null, new ArrayList<>(organIds));
+				Map<Integer, Map<String, Integer>> organCategoryCourseMap = new HashMap<>();
+				if (!CollectionUtils.isEmpty(vipGroupCategoryCourseData)) {
+					organCategoryCourseMap = vipGroupCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
+				}
+				for (IndexBaseMonthData vipCourseDatum : vipCourseData) {
+					if (organCategoryCourseMap.containsKey(vipCourseDatum.getOrganId())) {
+						vipCourseDatum.setExtendInfo(JSON.toJSONString(organCategoryCourseMap.get(vipCourseDatum.getOrganId())));
+					}
+				}
+				typeDateMap.put(VIP_GROUP_COURSE,vipCourseData);
+			}
+
+			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_ONLINE_COURSE.getCode())) {
+				List<IndexBaseMonthData> vipOnlineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.ONLINE, new ArrayList<>(organIds));
+				List<OrganVipGroupCategoryCourseNumDto> vipGroupOnlineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.ONLINE, new ArrayList<>(organIds));
+				Map<Integer, Map<String, Integer>> organOnlineCategoryCourseMap = new HashMap<>();
+				if (!CollectionUtils.isEmpty(vipGroupOnlineCategoryCourseData)) {
+					organOnlineCategoryCourseMap = vipGroupOnlineCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
+				}
+				for (IndexBaseMonthData vipCourseDatum : vipOnlineCourseData) {
+					if (organOnlineCategoryCourseMap.containsKey(vipCourseDatum.getOrganId())) {
+						vipCourseDatum.setExtendInfo(JSON.toJSONString(organOnlineCategoryCourseMap.get(vipCourseDatum.getOrganId())));
+					}
+				}
+				typeDateMap.put(VIP_GROUP_ONLINE_COURSE,vipOnlineCourseData);
+			}
+
+			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_OFFLINE_COURSE.getCode())) {
+				List<IndexBaseMonthData> vipOfflineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.OFFLINE, new ArrayList<>(organIds));
+				List<OrganVipGroupCategoryCourseNumDto> vipGroupOfflineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.OFFLINE, new ArrayList<>(organIds));
+				Map<Integer, Map<String, Integer>> organOfflineCategoryCourseMap = new HashMap<>();
+				if (!CollectionUtils.isEmpty(vipGroupOfflineCategoryCourseData)) {
+					organOfflineCategoryCourseMap = vipGroupOfflineCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
+				}
+				for (IndexBaseMonthData vipCourseDatum : vipOfflineCourseData) {
+					if (organOfflineCategoryCourseMap.containsKey(vipCourseDatum.getOrganId())) {
+						vipCourseDatum.setExtendInfo(JSON.toJSONString(organOfflineCategoryCourseMap.get(vipCourseDatum.getOrganId())));
+					}
+				}
+				typeDateMap.put(VIP_GROUP_OFFLINE_COURSE,vipOfflineCourseData);
+			}
+
+			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.PRACTICE_GROUP_COURSE.getCode())) {
+				List<IndexBaseMonthData> practiceCourses = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.PRACTICE, null, null, new ArrayList<>(organIds));
+				typeDateMap.put(PRACTICE_GROUP_COURSE,practiceCourses);
+			}
+		}
 
 		for (IndexDataType dataType : IndexDataType.values()) {
 			if(typeDateMap.containsKey(dataType)||(!CollectionUtils.isEmpty(dataTypes)&&!dataTypes.contains(dataType.getCode()))){
@@ -372,12 +430,12 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 
 		//课程数据
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.MUSIC_GROUP_COURSE)) {
-			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, GroupType.MUSIC, null, null), dayStr, IndexDataType.MUSIC_GROUP_COURSE);
+			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.MUSIC, null, null, null), dayStr, IndexDataType.MUSIC_GROUP_COURSE);
 		}
 
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_COURSE)) {
-			List<IndexBaseMonthData> vipCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, GroupType.VIP, null, null);
-			List<OrganVipGroupCategoryCourseNumDto> vipGroupCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, GroupType.VIP, null, null);
+			List<IndexBaseMonthData> vipCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.VIP, null, null, null);
+			List<OrganVipGroupCategoryCourseNumDto> vipGroupCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, null, null, GroupType.VIP, null, null, null);
 			Map<Integer, Map<String, Integer>> organCategoryCourseMap = new HashMap<>();
 			if (!CollectionUtils.isEmpty(vipGroupCategoryCourseData)) {
 				organCategoryCourseMap = vipGroupCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
@@ -391,8 +449,8 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		}
 
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_ONLINE_COURSE)) {
-			List<IndexBaseMonthData> vipOnlineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, GroupType.VIP, null, TeachModeEnum.ONLINE);
-			List<OrganVipGroupCategoryCourseNumDto> vipGroupOnlineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, GroupType.VIP, null, TeachModeEnum.ONLINE);
+			List<IndexBaseMonthData> vipOnlineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.ONLINE, null);
+			List<OrganVipGroupCategoryCourseNumDto> vipGroupOnlineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.ONLINE, null);
 			Map<Integer, Map<String, Integer>> organOnlineCategoryCourseMap = new HashMap<>();
 			if (!CollectionUtils.isEmpty(vipGroupOnlineCategoryCourseData)) {
 				organOnlineCategoryCourseMap = vipGroupOnlineCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
@@ -406,8 +464,8 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		}
 
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_OFFLINE_COURSE)) {
-			List<IndexBaseMonthData> vipOfflineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, GroupType.VIP, null, TeachModeEnum.OFFLINE);
-			List<OrganVipGroupCategoryCourseNumDto> vipGroupOfflineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, GroupType.VIP, null, TeachModeEnum.OFFLINE);
+			List<IndexBaseMonthData> vipOfflineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.OFFLINE, null);
+			List<OrganVipGroupCategoryCourseNumDto> vipGroupOfflineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.OFFLINE, null);
 			Map<Integer, Map<String, Integer>> organOfflineCategoryCourseMap = new HashMap<>();
 			if (!CollectionUtils.isEmpty(vipGroupOfflineCategoryCourseData)) {
 				organOfflineCategoryCourseMap = vipGroupOfflineCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
@@ -421,7 +479,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		}
 
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.PRACTICE_GROUP_COURSE)) {
-			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, GroupType.PRACTICE, null, null), dayStr, IndexDataType.PRACTICE_GROUP_COURSE);
+			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.PRACTICE, null, null, null), dayStr, IndexDataType.PRACTICE_GROUP_COURSE);
 		}
 
 		//学员变动

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

@@ -447,4 +447,9 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
     public List<String> getOrderDetailType(Long orderId) {
         return studentPaymentOrderDetailDao.getOrderDetailType(orderId);
     }
+
+    @Override
+    public List<StudentPaymentOrderDetail> getOrderGoodsDetail(Long orderId) {
+        return studentPaymentOrderDetailDao.getOrderDetail(orderId);
+    }
 }

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

@@ -1158,7 +1158,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 studentRegistration.setPayingStatus(0);
             }
 
-            List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailService.getOrderDetail(studentPaymentOrder.getId());
+            List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailService.getOrderGoodsDetail(studentPaymentOrder.getId());
 
             List<Long> orderIdList = new ArrayList<Long>();
             orderIdList.add(studentPaymentOrder.getId());

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

@@ -2663,6 +2663,12 @@
         <if test="endTime!=null">
             AND cs.class_date_ &lt;= DATE_FORMAT(#{endTime},"%Y-%m-%d")
         </if>
+        <if test="startClassTimeStr!=null">
+            AND cs.start_class_time_ &gt;= #{startClassTimeStr}
+        </if>
+        <if test="endClassTimeStr!=null">
+            AND cs.end_class_time_ &lt;= #{endClassTimeStr}
+        </if>
         <if test="courseStatus!=null">
             AND cs.status_ = #{courseStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
         </if>
@@ -2714,7 +2720,7 @@
             AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)
         </if>
         <if test="searchType == 'COURSE_TIME_ERROR'">
-            AND cs.status_ = 'NOT_START' AND cs.is_lock_ = 0 AND cs.start_class_time_ &lt; '06:00:00'
+            AND cs.status_ = 'NOT_START' AND cs.is_lock_ = 0 AND (cs.start_class_time_ &lt; '06:00:00' OR cs.end_class_time_ > '21:00:00')
             AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)
         </if>
         <if test="classGroupIds != null and classGroupIds.size() > 0">

+ 26 - 4
mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml

@@ -485,7 +485,7 @@
 	<select id="getGroupCourseDataWithGroup" resultMap="IndexBaseMonthData">
 		SELECT
 		m.organ_id_,
-		#{dayStr} month_,
+		m.class_date_ month_,
 		COUNT( m.id_ ) total_num_,
 		COUNT( m.id_ ) activate_num_,
 		COUNT( m.id_ ) percent_
@@ -503,11 +503,24 @@
 		<if test="dayStr!=null and dayStr!=''">
 			AND m.class_date_ = #{dayStr}
 		</if>
+		<if test="startDate!=null and endDate!=''">
+			AND m.class_date_ BETWEEN #{startDate} AND #{endDate}
+		</if>
 		<if test="teachMode!=null">
 			AND m.teach_mode_ = #{teachMode, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 		</if>
-		GROUP BY
-			m.organ_id_
+		<if test="organIds!=null and organIds.size()>0">
+			AND m.organ_id_ IN
+			<foreach collection="organIds" item="organId" open="(" close=")" separator=",">
+				#{organId}
+			</foreach>
+		</if>
+		<if test="dayStr!=null and dayStr!=''">
+			GROUP BY m.organ_id_
+		</if>
+		<if test="startDate!=null and endDate!=''">
+			GROUP BY m.class_date_
+		</if>
 		ORDER BY
 			m.organ_id_;
 	</select>
@@ -532,9 +545,18 @@
 		<if test="dayStr!=null and dayStr!=''">
 			AND m.class_date_ = #{dayStr}
 		</if>
+		<if test="startDate!=null and endDate!=null">
+			AND m.class_date_ BETWEEN #{startDate} AND #{endDate}
+		</if>
 		<if test="teachMode!=null">
 			AND m.teach_mode_ = #{teachMode, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 		</if>
+		<if test="organIds!=null and organIds.size()>0">
+			AND m.organ_id_ IN
+			<foreach collection="organIds" item="organId" open="(" close=")" separator=",">
+				#{organId}
+			</foreach>
+		</if>
 		GROUP BY
 		m.organ_id_,vgc.name_
 		ORDER BY
@@ -906,7 +928,7 @@
 	</select>
     <select id="getCourseTimeError" resultType="int">
 		SELECT COUNT(cs.id_) FROM course_schedule cs
-		WHERE cs.status_ = 'NOT_START' AND cs.del_flag_ = 0 AND cs.is_lock_ = 0 AND cs.start_class_time_ &lt; '06:00:00'
+		WHERE cs.status_ = 'NOT_START' AND cs.del_flag_ = 0 AND cs.is_lock_ = 0 AND (cs.start_class_time_ &lt; '06:00:00' OR cs.end_class_time_ > '21:00:00')
 		AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_) AND cs.pre_course_flag_ = 0
 		<if test="classGroupIds != null and classGroupIds.size() > 0">
 			AND cs.class_group_id_ IN

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -43,6 +43,7 @@
         <result column="cloud_teacher_type_" property="cloudTeacherType"/>
         <result column="course_view_type_" property="courseViewType"
                 typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="is_show_record_of_student_" property="isShowRecordOfStudent"/>
     </resultMap>
     
     <resultMap type="com.ym.mec.biz.dal.dto.MusicGroupBasicDto" id="MusicGroupBasicDto" extends="MusicGroup">
@@ -217,6 +218,7 @@
         </set>
         WHERE id_ = #{id}
     </update>
+    
     <update id="batchUpdateEdu">
         UPDATE music_group
         SET educational_teacher_id_ = #{educationUserId}
@@ -301,6 +303,7 @@
         <result column="music_group_num_" property="musicGroupNum"/>
         <result column="music_group_status_" property="musicGroupStatus"
                 typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="is_show_record_of_student_" property="isShowRecordOfStudent"/>
     </resultMap>
 
     <select id="queryUserMusicGroups" resultMap="queryUserMusicGroupsMap">
@@ -313,6 +316,7 @@
              , s.id_        subject_id_
              , mg.id_       music_group_id_
              , mg.status_   music_group_status_
+             , mg.is_show_record_of_student_
         FROM student_registration sr
                      LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
                      LEFT JOIN `subject` s ON sr.actual_subject_id_ = s.id_
@@ -933,4 +937,8 @@
             </if>
         </where>
     </sql>
+    
+    <update id="updateIsShowRecordOfStudent" parameterType="map">
+    	update music_group set is_show_record_of_student_ = #{isShowRecordOfStudent},update_time_ = now() where id_ = #{musicGroupId}
+    </update>
 </mapper>

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupQuestionnaireMapper.xml

@@ -76,6 +76,9 @@
 			<if test="search != null and search != ''">
 				AND mgq.music_group_id_ = #{search}
 			</if>
+			<if test="musicGroupId != null and musicGroupId != ''">
+				AND mgq.music_group_id_ = #{musicGroupId}
+			</if>
 		</where>
 	</sql>
 	

+ 36 - 16
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -134,8 +134,11 @@ public class StudentOrderController extends BaseController {
     @Autowired
     private StudentRegistrationDao studentRegistrationDao;
 
-	@Autowired
-	private MemberRankPrivilegesService memberRankPrivilegesService;
+    @Autowired
+    private MemberRankPrivilegesService memberRankPrivilegesService;
+
+    @Autowired
+    private SellOrderService sellOrderService;
 
 
     @Value("${spring.profiles.active:dev}")
@@ -144,12 +147,12 @@ public class StudentOrderController extends BaseController {
     @ApiOperation(value = "查询订单列表")
     @GetMapping("/queryPage")
     public Object findGroupUsers(StudentPaymentOrderQueryInfo queryInfo) {
-    	SysUser user = sysUserFeignService.queryUserInfo();
-		if (user == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		queryInfo.setStudentId(user.getId());
-    	PageInfo<StudentPaymentOrderDto> studentPaymentOrderPageInfo = studentPaymentOrderService.OrderQueryPage(queryInfo);
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        queryInfo.setStudentId(user.getId());
+        PageInfo<StudentPaymentOrderDto> studentPaymentOrderPageInfo = studentPaymentOrderService.OrderQueryPage(queryInfo);
         return succeed(studentPaymentOrderPageInfo);
     }
 
@@ -197,10 +200,10 @@ public class StudentOrderController extends BaseController {
         HashMap<String, Object> orderDetail = new HashMap<>();
         orderDetail.put("order", orderByOrderNo);
         orderDetail.put("groupType", orderByOrderNo.getGroupType());
-        if(OrderTypeEnum.APPLY.equals(orderByOrderNo.getType())){
-            StudentRegistration studentRegistration = studentRegistrationDao.getStudentRegister(orderByOrderNo.getMusicGroupId(),orderByOrderNo.getUserId());
-            if(studentRegistration.getPayingStatus().equals(2)) {
-                orderDetail.put("payingStatus",studentRegistration.getPayingStatus());
+        if (OrderTypeEnum.APPLY.equals(orderByOrderNo.getType())) {
+            StudentRegistration studentRegistration = studentRegistrationDao.getStudentRegister(orderByOrderNo.getMusicGroupId(), orderByOrderNo.getUserId());
+            if (studentRegistration.getPayingStatus().equals(2)) {
+                orderDetail.put("payingStatus", studentRegistration.getPayingStatus());
             }
         }
 
@@ -227,8 +230,8 @@ public class StudentOrderController extends BaseController {
             orderDetail.put("calender", musicGroupRegCalender);
 
             //判断是否是系统收费
-            if(musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE){
-            	 orderDetail.put("member", cloudTeacherOrderService.queryOrderInfoByOrderId(orderByOrderNo.getId()));
+            if (musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE) {
+                orderDetail.put("member", cloudTeacherOrderService.queryOrderInfoByOrderId(orderByOrderNo.getId()));
             }
         } else if (orderByOrderNo.getGroupType().equals(GroupType.VIP)) {
             VipBuyResultDto vipBuyResultInfo = vipGroupService.findVipBuyResultInfo(Integer.valueOf(orderByOrderNo.getMusicGroupId()));
@@ -255,7 +258,7 @@ public class StudentOrderController extends BaseController {
             orderDetail.put("detail", replacementInstrumentActivityDao.getInfo(Integer.parseInt(orderByOrderNo.getMusicGroupId())));
         } else if (orderByOrderNo.getGroupType().equals(GroupType.DEGREE)) {
             orderDetail.put("detail", childrenDayDegreeDetailDao.getByOrderId(orderByOrderNo.getId()));
-        }else if (orderByOrderNo.getGroupType().equals(GroupType.MEMBER)) {
+        } else if (orderByOrderNo.getGroupType().equals(GroupType.MEMBER)) {
             orderDetail.put("detail", cloudTeacherOrderService.queryOrderInfoByOrderId(orderByOrderNo.getId()));
         }
         return succeed(orderDetail);
@@ -871,11 +874,28 @@ public class StudentOrderController extends BaseController {
     }
 
     @GetMapping("confirmTeacherOrder")
-    public Object confirmOrder(String orderNo){
+    public Object confirmOrder(String orderNo) {
         TenantPaymentOrder tenantPaymentOrder = tenantPaymentOrderService.queryByOrderNo(orderNo);
         tenantPaymentOrderService.confirmOrder(tenantPaymentOrder);
         return succeed();
     }
 
+    @GetMapping("fixSellOrder")
+    public HttpResponseResult<List<SellOrder>> fixSellOrder(String orderNo) {
+        StudentPaymentOrder order = studentPaymentOrderService.findOrderByOrderNo(orderNo);
+        List<SellOrder> sellOrders = new ArrayList<>();
+        if (order == null || !order.getStatus().equals(DealStatusEnum.SUCCESS) || !order.getType().equals(OrderTypeEnum.APPLY)) {
+            return succeed(sellOrders);
+        }
+
+        List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailService.getOrderGoodsDetail(order.getId());
+        //销售订单详情
+        if (orderDetails.size() > 0) {
+            MusicGroup musicGroup = musicGroupService.get(order.getMusicGroupId());
+            sellOrders = sellOrderService.addOrderDetail2SellOrder(orderDetails, order, musicGroup);
+        }
+        return succeed(sellOrders);
+
+    }
 
 }

+ 2 - 1
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupQuestionnaireController.java

@@ -3,6 +3,7 @@ package com.ym.mec.web.controller;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.MusicGroupQuestionnaire;
+import com.ym.mec.biz.dal.page.MusicGroupPerformanceQueryInfo;
 import com.ym.mec.biz.service.MusicGroupQuestionnaireService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
@@ -70,7 +71,7 @@ public class MusicGroupQuestionnaireController extends BaseController {
     @ApiOperation(value = "分页查询")
     @GetMapping("/queryPage")
     @PreAuthorize("@pcs.hasPermissions('musicGroupQuestionnaire/queryPage')")
-    public Object queryPage(QueryInfo queryInfo){
+    public Object queryPage(MusicGroupPerformanceQueryInfo queryInfo){
         return succeed(musicGroupQuestionnaireService.queryPage(queryInfo));
     }
 }

+ 12 - 0
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupRecordController.java

@@ -7,10 +7,12 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.ym.mec.biz.dal.dao.ClassGroupDao;
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
 import com.ym.mec.biz.dal.dto.MusicGroupBasicDto;
 import com.ym.mec.biz.dal.entity.MusicGroup;
@@ -43,6 +45,9 @@ public class MusicGroupRecordController extends BaseController {
 	
 	@Autowired
 	private ClassGroupDao classGroupDao;
+	
+	@Autowired
+	private MusicGroupDao musicGroupDao;
 
 	@ApiOperation(value = "查询基本信息")
 	@GetMapping("/queryBasicInfo")
@@ -86,4 +91,11 @@ public class MusicGroupRecordController extends BaseController {
 	public Object queryStudentInfo(MusicGroupRecordStudentQueryInfo queryInfo) {
 		return succeed(studentRegistrationService.queryStudentRegisterInstrumentsDetailList(queryInfo));
 	}
+
+	@ApiOperation(value = "设置档案是否显示")
+	@PostMapping("/settingStudentIsShow")
+	@PreAuthorize("@pcs.hasPermissions('musicGroupRecord/settingStudentIsShow')")
+	public Object settingStudentIsShow(String musicGroupId,Boolean isShowRecordOfStudent) {
+		return succeed(musicGroupDao.updateIsShowRecordOfStudent(musicGroupId, isShowRecordOfStudent));
+	}
 }

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupTrainPlanController.java

@@ -3,7 +3,6 @@ package com.ym.mec.web.controller;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
-import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
@@ -99,6 +98,7 @@ public class MusicGroupTrainPlanController extends BaseController {
 		}else {
 			map.put("graduateNum", gradeMap.get(6));
 		}
+		map.put("isShowRecordOfStudent", musicGroup.getIsShowRecordOfStudent());
 		
 		return succeed(map);
 	}

+ 2 - 1
mec-web/src/main/java/com/ym/mec/web/controller/education/EduMusicGroupNewsController.java

@@ -3,6 +3,7 @@ package com.ym.mec.web.controller.education;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.MusicGroupNews;
+import com.ym.mec.biz.dal.page.MusicGroupTeachersQueryInfo;
 import com.ym.mec.biz.service.MusicGroupNewsService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.exception.BizException;
@@ -54,7 +55,7 @@ public class EduMusicGroupNewsController extends BaseController {
 
     @ApiOperation(value = "分页查询")
     @GetMapping("/queryPage")
-    public Object queryPage(QueryInfo queryInfo) {
+    public Object queryPage(MusicGroupTeachersQueryInfo queryInfo) {
         return succeed(musicGroupNewsService.queryPage(queryInfo));
     }
 

+ 2 - 1
mec-web/src/main/java/com/ym/mec/web/controller/education/EduMusicGroupQuestionnaireController.java

@@ -3,6 +3,7 @@ package com.ym.mec.web.controller.education;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.MusicGroupQuestionnaire;
+import com.ym.mec.biz.dal.page.MusicGroupPerformanceQueryInfo;
 import com.ym.mec.biz.service.MusicGroupQuestionnaireService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
@@ -65,7 +66,7 @@ public class EduMusicGroupQuestionnaireController extends BaseController {
 
     @ApiOperation(value = "分页查询")
     @GetMapping("/queryPage")
-    public Object queryPage(QueryInfo queryInfo){
+    public Object queryPage(MusicGroupPerformanceQueryInfo queryInfo){
         return succeed(musicGroupQuestionnaireService.queryPage(queryInfo));
     }
 }