浏览代码

update:服务指标-课外训练

yonge 2 年之前
父节点
当前提交
97e992a069
共有 22 个文件被更改,包括 319 次插入54 次删除
  1. 7 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentExtracurricularExercisesSituationDao.java
  2. 34 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupExtracurricularSummaryDto.java
  3. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentServeCourseHomeworkDto.java
  4. 48 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentExerciseMusicGroupQueryInfo.java
  5. 18 6
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentExtracurricularExercisesSituationService.java
  6. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentServeService.java
  7. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseReviewServiceImpl.java
  8. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  9. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExtracurricularExercisesMessageServiceImpl.java
  10. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExtracurricularExercisesReplyServiceImpl.java
  11. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExtracurricularExercisesServiceImpl.java
  12. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkReplyServiceImpl.java
  13. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java
  14. 87 28
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentExtracurricularExercisesSituationServiceImpl.java
  15. 5 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java
  16. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  17. 10 3
      mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesMapper.xml
  18. 2 1
      mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesReplyMapper.xml
  19. 3 1
      mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml
  20. 42 0
      mec-biz/src/main/resources/config/mybatis/StudentExtracurricularExercisesSituationMapper.xml
  21. 1 1
      mec-student/src/main/java/com/ym/mec/student/controller/StudentCourseHomeworkReplyController.java
  22. 41 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/StudentExtracurricularExercisesSituationController.java

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.MusicGroupExtracurricularSummaryDto;
 import com.ym.mec.biz.dal.dto.StudentExercisesSituationDto;
 import com.ym.mec.biz.dal.dto.StudentServeDto;
 import com.ym.mec.biz.dal.dto.TeacherExercisesServiceDto;
@@ -7,7 +8,10 @@ import com.ym.mec.biz.dal.dto.TeacherServeDto;
 import com.ym.mec.biz.dal.entity.IndexBaseMonthData;
 import com.ym.mec.biz.dal.entity.Student;
 import com.ym.mec.biz.dal.entity.StudentExtracurricularExercisesSituation;
+import com.ym.mec.biz.dal.page.StudentExerciseMusicGroupQueryInfo;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.page.PageInfo;
+
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
@@ -201,5 +205,7 @@ public interface StudentExtracurricularExercisesSituationDao extends BaseDAO<Lon
                                                                    @Param("userId") Integer userId);
 
 
-
+    List<MusicGroupExtracurricularSummaryDto> queryStudentExerciseMusicGroupList(Map<String, Object> params);
+    
+    int queryStudentExerciseMusicGroupListCount(Map<String, Object> params);
 }

+ 34 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupExtracurricularSummaryDto.java

@@ -0,0 +1,34 @@
+package com.ym.mec.biz.dal.dto;
+
+public class MusicGroupExtracurricularSummaryDto {
+
+	private String musicGroupName;
+	
+	private String musicGroupId;
+	
+	private int studentNum;
+
+	public String getMusicGroupName() {
+		return musicGroupName;
+	}
+
+	public void setMusicGroupName(String musicGroupName) {
+		this.musicGroupName = musicGroupName;
+	}
+
+	public String getMusicGroupId() {
+		return musicGroupId;
+	}
+
+	public void setMusicGroupId(String musicGroupId) {
+		this.musicGroupId = musicGroupId;
+	}
+
+	public int getStudentNum() {
+		return studentNum;
+	}
+
+	public void setStudentNum(int studentNum) {
+		this.studentNum = studentNum;
+	}
+}

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentServeCourseHomeworkDto.java

@@ -13,6 +13,8 @@ public class StudentServeCourseHomeworkDto extends StudentCourseHomework {
     private Date courseStartTime;
 
     private Date homeworkCreateTime;
+    
+    private String musicGroupId;
 
     public Date getHomeworkCreateTime() {
         return homeworkCreateTime;
@@ -29,4 +31,12 @@ public class StudentServeCourseHomeworkDto extends StudentCourseHomework {
     public void setCourseStartTime(Date courseStartTime) {
         this.courseStartTime = courseStartTime;
     }
+
+	public String getMusicGroupId() {
+		return musicGroupId;
+	}
+
+	public void setMusicGroupId(String musicGroupId) {
+		this.musicGroupId = musicGroupId;
+	}
 }

+ 48 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentExerciseMusicGroupQueryInfo.java

@@ -0,0 +1,48 @@
+package com.ym.mec.biz.dal.page;
+
+import java.util.Date;
+
+import com.ym.mec.common.page.QueryInfo;
+
+public class StudentExerciseMusicGroupQueryInfo extends QueryInfo {
+
+	private Integer teacherId;
+	
+	private String musicGroupName;
+	
+	private Date mondayDate;
+	
+	private Date sundayDate;
+
+	public Integer getTeacherId() {
+		return teacherId;
+	}
+
+	public void setTeacherId(Integer teacherId) {
+		this.teacherId = teacherId;
+	}
+
+	public String getMusicGroupName() {
+		return musicGroupName;
+	}
+
+	public void setMusicGroupName(String musicGroupName) {
+		this.musicGroupName = musicGroupName;
+	}
+
+	public Date getMondayDate() {
+		return mondayDate;
+	}
+
+	public void setMondayDate(Date mondayDate) {
+		this.mondayDate = mondayDate;
+	}
+
+	public Date getSundayDate() {
+		return sundayDate;
+	}
+
+	public void setSundayDate(Date sundayDate) {
+		this.sundayDate = sundayDate;
+	}
+}

+ 18 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/StudentExtracurricularExercisesSituationService.java

@@ -1,16 +1,28 @@
 package com.ym.mec.biz.service;
 
-import com.ym.mec.biz.dal.dto.*;
+import java.util.List;
+import java.util.Map;
+
+import com.ym.mec.biz.dal.dto.MusicGroupExtracurricularSummaryDto;
+import com.ym.mec.biz.dal.dto.StudentExercisesSituationDto;
+import com.ym.mec.biz.dal.dto.TeacherExercisesServiceDto;
+import com.ym.mec.biz.dal.dto.TeacherServeDto;
+import com.ym.mec.biz.dal.dto.TeacherServeExtraDto;
+import com.ym.mec.biz.dal.dto.TeacherServeHomeworkDto;
+import com.ym.mec.biz.dal.dto.TeacherServeHomeworkPojo;
 import com.ym.mec.biz.dal.entity.StudentExtracurricularExercisesSituation;
-import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.dal.page.ExtraExercilseQueryInfo;
+import com.ym.mec.biz.dal.page.StudentExerciseMusicGroupQueryInfo;
+import com.ym.mec.biz.dal.page.StudentExercisesSituationQueryInfo;
+import com.ym.mec.biz.dal.page.StudentServiceDetailQueryInfo;
+import com.ym.mec.biz.dal.page.TeacherServeHomeworkQueryInfo;
+import com.ym.mec.biz.dal.page.TeacherServeQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
 public interface StudentExtracurricularExercisesSituationService extends BaseService<Long, StudentExtracurricularExercisesSituation> {
+	
+	PageInfo<MusicGroupExtracurricularSummaryDto> queryStudentExerciseMusicGroupList(StudentExerciseMusicGroupQueryInfo queryInfo);
 
     PageInfo<StudentExercisesSituationDto> findStudentExtracurricularExercisesSituations(StudentExercisesSituationQueryInfo queryInfo);
 

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

@@ -53,7 +53,7 @@ public interface StudentServeService {
      */
     Set<Long> getTeacherHomeworkCourseIdsWithMonday(Integer teacherId, Date date);
 
-    void updateExercisesSituation(Date date, List<Integer> studentIds, Integer teacherId);
+    void updateExercisesSituation(String musicGroupId, Date date, List<Integer> studentIds, Integer teacherId);
 
     /**
      * @describe 获取与课程相关的应被服务的学员

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

@@ -604,7 +604,7 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
         List<Integer> studentIds = studentCourseHomeworks.stream().map(StudentCourseHomework::getUserId).collect(Collectors.toList());
 
         Teacher teacher = teacherDao.get(courseSchedule.getActualTeacherId());
-        studentServeService.updateExercisesSituation(courseSchedule.getClassDate(), studentIds, teacher.getId());
+        studentServeService.updateExercisesSituation(courseSchedule.getMusicGroupId(), courseSchedule.getClassDate(), studentIds, teacher.getId());
 
 
         String dateStr = DateUtil.dateToString(DateUtil.addDays(date, 3), "MM月dd日");

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

@@ -3400,7 +3400,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				List<CourseScheduleStudentPayment> courseScheduleStudentPayments = courseScheduleStudentPaymentDao.findByCourseSchedule(courseScheduleId);
 				if(!CollectionUtils.isEmpty(courseScheduleStudentPayments)){
 					List<Integer> studentIds = courseScheduleStudentPayments.stream().map(CourseScheduleStudentPayment::getUserId).collect(Collectors.toList());
-					studentServeService.updateExercisesSituation(oldCourseSchedule.getClassDate(), studentIds, oldCourseSchedule.getActualTeacherId());
+					studentServeService.updateExercisesSituation(oldCourseSchedule.getMusicGroupId(), oldCourseSchedule.getClassDate(), studentIds, oldCourseSchedule.getActualTeacherId());
 				}
 			}
 

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

@@ -87,7 +87,7 @@ public class ExtracurricularExercisesMessageServiceImpl extends BaseServiceImpl<
 				if(change){
 					extracurricularExercisesReplyDao.update(extracurricularExercisesReply);
 
-					studentServeService.updateExercisesSituation(new Date(), new ArrayList<>(Arrays.asList(extracurricularExercisesReply.getUserId())), extracurricularExercisesMessage.getUserId());
+					studentServeService.updateExercisesSituation(extracurricularExercises.getMusicGroupId(), new Date(), new ArrayList<>(Arrays.asList(extracurricularExercisesReply.getUserId())), extracurricularExercisesMessage.getUserId());
 				}
 			}
 
@@ -125,7 +125,7 @@ public class ExtracurricularExercisesMessageServiceImpl extends BaseServiceImpl<
 			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_EXTRA_REPLY,
 					userMap, null, 0, 9+notifyUrl, "TEACHER", extracurricularExercises.getTitle(), user.getUsername());
 		}
-		studentServeService.updateExercisesSituation(extracurricularExercises.getCreateTime(), new ArrayList<>(Arrays.asList(extracurricularExercisesReply.getUserId())), extracurricularExercises.getTeacherId());
+		studentServeService.updateExercisesSituation(extracurricularExercises.getMusicGroupId(), extracurricularExercises.getCreateTime(), new ArrayList<>(Arrays.asList(extracurricularExercisesReply.getUserId())), extracurricularExercises.getTeacherId());
 	}
 
 	@Override

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

@@ -189,7 +189,7 @@ public class ExtracurricularExercisesReplyServiceImpl extends BaseServiceImpl<Lo
 		extracurricularExercises.setCompletedNum(submitStudentNum);
 		extracurricularExercisesDao.update(extracurricularExercises);
 
-		studentServeService.updateExercisesSituation(extracurricularExercises.getCreateTime(), Arrays.asList(existExtra.getUserId()), extracurricularExercises.getTeacherId());
+		studentServeService.updateExercisesSituation(extracurricularExercises.getMusicGroupId(), extracurricularExercises.getCreateTime(), Arrays.asList(existExtra.getUserId()), extracurricularExercises.getTeacherId());
 
 		if(push){
 			Map<Integer, String> userMap = new HashMap<>();

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

@@ -144,7 +144,7 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
 					userMap, null, 0, 3+notifyUrl, "STUDENT",
 					teacher.getRealName(),exercises.getTitle(), dateStr);
 		}
-		studentServeService.updateExercisesSituation(new Date(), studentIds, exercises.getTeacherId());
+		studentServeService.updateExercisesSituation(exercises.getMusicGroupId(), new Date(), studentIds, exercises.getTeacherId());
 	}
 
 	@Override

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

@@ -113,7 +113,7 @@ public class StudentCourseHomeworkReplyServiceImpl extends BaseServiceImpl<Long,
 		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_HOMEWORK_REPLY,
 				userMap, null, 0, 3+notifyUrl, "STUDENT", user.getRealName(), courseSchedule.getName());
 
-		studentServeService.updateExercisesSituation(courseSchedule.getClassDate(), Arrays.asList(studentCourseHomework.getUserId()), courseSchedule.getActualTeacherId());
+		studentServeService.updateExercisesSituation(courseSchedule.getMusicGroupId(), courseSchedule.getClassDate(), Arrays.asList(studentCourseHomework.getUserId()), courseSchedule.getActualTeacherId());
 		super.insert(bean);
 	}
 

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

@@ -163,7 +163,7 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
         courseHomework.setGroupType(courseSchedule.getGroupType());
         courseHomework.setCompletedNum(studentCourseHomeworkDao.countCompletedStudentNum(bean.getCourseHomeworkId()));
         courseHomeworkService.update(courseHomework);
-        studentServeService.updateExercisesSituation(courseSchedule.getClassDate(), new ArrayList<>(Arrays.asList(bean.getUserId())), courseSchedule.getTeacherId());
+        studentServeService.updateExercisesSituation(courseSchedule.getMusicGroupId(), courseSchedule.getClassDate(), new ArrayList<>(Arrays.asList(bean.getUserId())), courseSchedule.getTeacherId());
 
         Integer userId = bean.getUserId();
         if (courseSchedule.getType().equals(CourseScheduleType.VIP)) {
@@ -328,7 +328,7 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
                     break;
             }
             if (createDateTime.isBefore(monDayDate) && isOk) {
-                studentServeService.updateExercisesSituation(new Date(), new ArrayList<>(Arrays.asList(byStudentAndCourseHomewok.getUserId())), teacherId);
+                studentServeService.updateExercisesSituation(byTeacherAndCourseHomewok.getMusicGroupId(), new Date(), new ArrayList<>(Arrays.asList(byStudentAndCourseHomewok.getUserId())), teacherId);
             }
         }
         return true;

+ 87 - 28
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentExtracurricularExercisesSituationServiceImpl.java

@@ -1,15 +1,69 @@
 package com.ym.mec.biz.service.impl;
 
+import java.math.BigDecimal;
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.*;
-import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.*;
-import com.ym.mec.biz.dal.enums.CourseStatusEnum;
+import com.ym.mec.biz.dal.dao.ClassGroupDao;
+import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
+import com.ym.mec.biz.dal.dao.CourseHomeworkDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleStatisticsDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleStudentPaymentDao;
+import com.ym.mec.biz.dal.dao.ExtracurricularExercisesReplyDao;
+import com.ym.mec.biz.dal.dao.StudentAttendanceDao;
+import com.ym.mec.biz.dal.dao.StudentDao;
+import com.ym.mec.biz.dal.dao.StudentExtracurricularExercisesSituationDao;
+import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
+import com.ym.mec.biz.dal.dao.SubjectDao;
+import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dao.TeacherRemindDao;
+import com.ym.mec.biz.dal.dto.MusicGroupExtracurricularSummaryDto;
+import com.ym.mec.biz.dal.dto.SimpleUserDto;
+import com.ym.mec.biz.dal.dto.StudentExercisesSituationDto;
+import com.ym.mec.biz.dal.dto.StudentServiceDetailDto;
+import com.ym.mec.biz.dal.dto.TeacherExercisesServiceDto;
+import com.ym.mec.biz.dal.dto.TeacherServeDto;
+import com.ym.mec.biz.dal.dto.TeacherServeExtraDto;
+import com.ym.mec.biz.dal.dto.TeacherServeHomeworkDto;
+import com.ym.mec.biz.dal.dto.TeacherServeHomeworkPojo;
+import com.ym.mec.biz.dal.entity.ClassGroup;
+import com.ym.mec.biz.dal.entity.CourseHomework;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.entity.Student;
+import com.ym.mec.biz.dal.entity.StudentExtracurricularExercisesSituation;
+import com.ym.mec.biz.dal.entity.Subject;
+import com.ym.mec.biz.dal.entity.TeacherRemind;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.TeacherRemindTypeEnum;
-import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.dal.page.ExtraExercilseQueryInfo;
+import com.ym.mec.biz.dal.page.StudentExerciseMusicGroupQueryInfo;
+import com.ym.mec.biz.dal.page.StudentExercisesSituationQueryInfo;
+import com.ym.mec.biz.dal.page.StudentServiceDetailQueryInfo;
+import com.ym.mec.biz.dal.page.TeacherServeHomeworkQueryInfo;
+import com.ym.mec.biz.dal.page.TeacherServeQueryInfo;
 import com.ym.mec.biz.service.StudentExtracurricularExercisesSituationService;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.constant.CommonConstants;
@@ -21,21 +75,6 @@ import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
-import java.math.BigDecimal;
-import java.time.DayOfWeek;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.temporal.ChronoUnit;
-import java.util.*;
-import java.util.stream.Collectors;
-
 @Service
 public class StudentExtracurricularExercisesSituationServiceImpl extends BaseServiceImpl<Long, StudentExtracurricularExercisesSituation> implements StudentExtracurricularExercisesSituationService {
 	
@@ -78,6 +117,26 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 	}
 
 	@Override
+	public PageInfo<MusicGroupExtracurricularSummaryDto> queryStudentExerciseMusicGroupList(StudentExerciseMusicGroupQueryInfo queryInfo) {
+		PageInfo<MusicGroupExtracurricularSummaryDto> pageInfo = new PageInfo<MusicGroupExtracurricularSummaryDto>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+		
+		List<MusicGroupExtracurricularSummaryDto> dataList = null;
+		int count = studentExtracurricularExercisesSituationDao.queryStudentExerciseMusicGroupListCount(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = studentExtracurricularExercisesSituationDao.queryStudentExerciseMusicGroupList(params);
+		}
+		if (count == 0) {
+			dataList = new ArrayList<MusicGroupExtracurricularSummaryDto>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
+	@Override
 	public PageInfo<StudentExercisesSituationDto> findStudentExtracurricularExercisesSituations(StudentExercisesSituationQueryInfo queryInfo) {
 		PageInfo<StudentExercisesSituationDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 		Map<String, Object> params = new HashMap<>();
@@ -96,14 +155,14 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 			List<Map<Integer, Long>> studentPracticeCoursesMaps = courseScheduleDao.countStudentPayPracticeCoursesWithDate(studentIds, queryInfo.getMonday(), queryInfo.getSunday());
 			Map<Integer, Long> studentPracticeCourseMap = MapUtil.convertIntegerMap(studentPracticeCoursesMaps);
 
-			List<StudentEduTeacherDto> studentEducationalTeachers = classGroupStudentMapperDao.getStudentEducationalTeachers(studentIds);
+			/*List<StudentEduTeacherDto> studentEducationalTeachers = classGroupStudentMapperDao.getStudentEducationalTeachers(studentIds);
 			Map<Integer, List<StudentEduTeacherDto>> studentEduTeachersMap = studentEducationalTeachers.stream().collect(Collectors.groupingBy(StudentEduTeacherDto::getStudentId));
-
-			List<UserGroupDto> allUserGroups = studentRegistrationDao.getUserGroups(studentIds);
+*/
+			/*List<UserGroupDto> allUserGroups = studentRegistrationDao.getUserGroups(studentIds);
 			Map<Integer, List<UserGroupDto>> userGroupsMap = new HashMap<>();
 			if(!CollectionUtils.isEmpty(allUserGroups)){
 				userGroupsMap = allUserGroups.stream().collect(Collectors.groupingBy(UserGroupDto::getUserId));
-			}
+			}*/
 
 			for (StudentExercisesSituationDto exercisesSituationDto : dataList) {
 				Long vipCourses=studentVipCourseMap.get(exercisesSituationDto.getStudentId());
@@ -111,11 +170,11 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 				Long practiceCourses=studentPracticeCourseMap.get(exercisesSituationDto.getStudentId());
 				exercisesSituationDto.setExistPracticeCourse(Objects.isNull(practiceCourses)?0:practiceCourses.intValue());
 //				exercisesSituationDto.setExpectExercisesNum((int) until+1);
-				List<UserGroupDto> userGroupDtos = userGroupsMap.get(exercisesSituationDto.getStudentId());
+				/*List<UserGroupDto> userGroupDtos = userGroupsMap.get(exercisesSituationDto.getStudentId());
 				if(!CollectionUtils.isEmpty(userGroupDtos)){
 					exercisesSituationDto.setGroupNames(userGroupDtos.stream().filter(ug->StringUtils.isNotBlank(ug.getGroupName())).map(UserGroupDto::getGroupName).sorted().collect(Collectors.joining(",")));
-				}
-				List<StudentEduTeacherDto> studentEduTeachers = studentEduTeachersMap.get(exercisesSituationDto.getStudentId());
+				}*/
+				/*List<StudentEduTeacherDto> studentEduTeachers = studentEduTeachersMap.get(exercisesSituationDto.getStudentId());
 				if(!CollectionUtils.isEmpty(studentEduTeachers)){
 					List<StudentEduTeacherDto> t1 = studentEduTeachers.stream().filter(set -> set.getGroupType().equals(GroupType.VIP.getCode())||set.getGroupType().equals(GroupType.PRACTICE.getCode())).collect(Collectors.toList());
 					if(!CollectionUtils.isEmpty(t1)){
@@ -140,7 +199,7 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 							}
 						}
 					}
-				}
+				}*/
 			}
 		}
 		if (count == 0) {

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

@@ -694,10 +694,13 @@ public class StudentServeServiceImpl implements StudentServeService {
     }
 
     @Override
-    public void updateExercisesSituation(Date date,List<Integer> studentIds, Integer teacherId) {
+    public void updateExercisesSituation(String musicGroupId, Date date,List<Integer> studentIds, Integer teacherId) {
 //        if(true){
 //            return;
 //        }
+    	if(StringUtils.isBlank(musicGroupId)){
+    		return;
+    	}
         LocalDate nowDate = LocalDateTime.ofInstant(date.toInstant(), DateUtil.zoneId).toLocalDate();
         if(Objects.isNull(date)){
             nowDate = LocalDateTime.now(DateUtil.zoneId).toLocalDate();
@@ -784,7 +787,7 @@ public class StudentServeServiceImpl implements StudentServeService {
 
             List<ExtracurricularExercisesReply> studentAllExercises = studentExercisesMap.get(weekServiceWithStudent.getStudentId());
             if(!CollectionUtils.isEmpty(studentAllExercises)&&weekServiceWithStudent.getServeType().equals("EXERCISE")){
-                List<ExtracurricularExercisesReply> studentExercises = studentAllExercises.stream().filter(s -> weekServiceWithStudent.getTeacherId().equals(s.getExtracurricularExercises().getTeacherId())).collect(Collectors.toList());
+                List<ExtracurricularExercisesReply> studentExercises = studentAllExercises.stream().filter(s -> weekServiceWithStudent.getTeacherId().equals(s.getExtracurricularExercises().getTeacherId()) && StringUtils.equals(s.getExtracurricularExercises().getMusicGroupId(), musicGroupId)).collect(Collectors.toList());
                 if(!CollectionUtils.isEmpty(studentExercises)){
                     weekServiceWithStudent.setActualExercisesNum(studentExercises.size()>weekServiceWithStudent.getExpectExercisesNum()?weekServiceWithStudent.getExpectExercisesNum():studentExercises.size());
                     long replyNum = studentExercises.stream().filter(e -> e.getStatus()==1).count();

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

@@ -377,7 +377,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 
 						studentCourseHomeworkDao.batchInsertStudentCourseHomeworkRecord(studentCourseHomeworks);
 						List<Integer> studentIds = studentCourseHomeworks.stream().map(StudentCourseHomework::getUserId).collect(Collectors.toList());
-						studentServeService.updateExercisesSituation(courseSchedule.getClassDate(), studentIds, teacherAttendance.getTeacherId());
+						studentServeService.updateExercisesSituation(courseSchedule.getMusicGroupId(), courseSchedule.getClassDate(), studentIds, teacherAttendance.getTeacherId());
 
 						for (StudentCourseHomework studentCourseHomework : studentCourseHomeworks) {
 							Map<Integer, String> userMap = new HashMap<>();

+ 10 - 3
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesMapper.xml

@@ -8,6 +8,7 @@
 	
 	<resultMap type="com.ym.mec.biz.dal.entity.ExtracurricularExercises" id="ExtracurricularExercises">
 		<result column="id_" property="id" />
+		<result column="music_group_id_" property="musicGroupId" />
 		<result column="teacher_id_" property="teacherId" />
 		<result column="username_" property="teacher.username" />
 		<result column="student_id_list_" property="studentIdList" />
@@ -31,6 +32,9 @@
 			<if test="teacherId != null">
 				and teacher_id_ = #{teacherId}
 			</if>
+			<if test="musicGroupId != null">
+				and music_group_id_ = #{musicGroupId}
+			</if>
 			<if test="title != null">
 				and title_ like '%' #{title} '%'
 			</if>
@@ -67,9 +71,9 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.ExtracurricularExercises" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO extracurricular_exercises (teacher_id_,student_id_list_,batch_no_,
+		INSERT INTO extracurricular_exercises (music_group_id_,teacher_id_,student_id_list_,batch_no_,
 		                                       title_,attachments_,content_,expire_date_,completed_num_,expect_num_,create_time_,update_time_,tenant_id_)
-		VALUES(#{teacherId},#{studentIdList},#{batchNo},#{title},#{attachments},
+		VALUES(#{musicGroupId},#{teacherId},#{studentIdList},#{batchNo},#{title},#{attachments},
 		       #{content},#{expireDate},#{completedNum},#{expectNum},NOW(), NOW(),#{tenantId})
 	</insert>
 	
@@ -86,6 +90,9 @@
 			<if test="batchNo != null">
 			batch_no_ = #{batchNo},
 			</if>
+			<if test="musicGroupId != null">
+			music_group_id_ = #{musicGroupId},
+			</if>
 			<if test="teacherId != null">
 			teacher_id_ = #{teacherId},
 			</if>
@@ -115,7 +122,7 @@
 	
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="ExtracurricularExercises" parameterType="map">
-		SELECT ee.id_,ee.teacher_id_,ee.student_id_list_,ee.batch_no_,ee.title_,ee.attachments_,
+		SELECT ee.id_,ee.teacher_id_,ee.student_id_list_,ee.batch_no_,ee.title_,ee.attachments_,ee.music_group_id_,
 		       ee.content_,ee.expire_date_,ee.completed_num_,ee.expect_num_,ee.create_time_,ee.update_time_,ee.tenant_id_
 		     ,u.real_name_ username_,o.name_ organ_name_,eer.music_score_id_
 		FROM extracurricular_exercises ee LEFT JOIN sys_user u ON ee.teacher_id_ = u.id_

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesReplyMapper.xml

@@ -490,7 +490,8 @@
 			eer.is_replied_,
 			eer.is_replied_timely_,
 			ee.teacher_id_ ee_teacher_id_,
-			eer.music_score_id_
+			eer.music_score_id_,
+			ee.music_group_id_ ee_music_group_id_
 		FROM
 			extracurricular_exercises_reply eer
 			LEFT JOIN extracurricular_exercises ee ON eer.extracurricular_exercises_id_=ee.id_

+ 3 - 1
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -403,12 +403,14 @@
                extends="StudentCourseHomework">
         <result property="courseStartTime" column="course_start_time_"/>
         <result property="homeworkCreateTime" column="homework_create_time_"/>
+        <result property="musicGroupId" column="music_group_id_"/>
     </resultMap>
     <select id="findStudentHomeworkWithCourseDateRange" resultMap="StudentServeCourseHomeworkDto">
         SELECT
         sch.*,
         DATE_FORMAT(sch.create_time_, '%Y-%m-%d') homework_create_time_,
-        cs.class_date_ course_start_time_
+        cs.class_date_ course_start_time_,
+        cs.music_group_id_
         FROM
         student_course_homework sch
         LEFT JOIN course_schedule cs ON sch.course_schedule_id_ = cs.id_

+ 42 - 0
mec-biz/src/main/resources/config/mybatis/StudentExtracurricularExercisesSituationMapper.xml

@@ -36,6 +36,9 @@
         <result column="teacher_name_" property="teacherName"/>
         <result column="organ_name_" property="organName"/>
         <result column="exist_vip_course_" property="existVipCourse"/>
+        <result column="groupNames" property="groupNames" />
+        <result column="educationalTeacherId" property="educationalTeacherId" />
+        <result column="educationalTeacherName" property="educationalTeacherName" />
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -267,6 +270,9 @@
         SELECT
         sees.id_ id_,
         sees.music_group_id_,
+        mg.name_ groupNames,
+        co.education_user_id_ educationalTeacherId,
+        uu.real_name_ educationalTeacherName,
         student_id_,
         stu.username_ student_name_,
         tea.real_name_ teacher_name_,
@@ -295,6 +301,9 @@
         </if>
         FROM
         student_extracurricular_exercises_situation_ sees
+        left join music_group mg on mg.id_ = sees.music_group_id_
+        left join cooperation_organ co on co.id_ = mg.cooperation_organ_id_
+        left join sys_user uu on uu.id_ = co.education_user_id_
         LEFT JOIN sys_user stu ON stu.id_=sees.student_id_
         LEFT JOIN teacher t ON t.id_=sees.teacher_id_
         LEFT JOIN sys_user tea ON tea.id_=sees.teacher_id_
@@ -1010,4 +1019,37 @@
             group by cssp.user_id_
         ) a on sees.student_id_ = a.user_id_
     </select>
+    
+    <select id="queryStudentExerciseMusicGroupList" resultType="com.ym.mec.biz.dal.dto.MusicGroupExtracurricularSummaryDto">
+    	SELECT sees.music_group_id_ musicGroupId,mg.name_ musicGroupName,count(distinct sees.student_id_) studentNum from student_extracurricular_exercises_situation_ sees 
+		LEFT JOIN music_group mg on mg.id_ = sees.music_group_id_
+		WHERE sees.teacher_id_ = #{teacherId} and sees.serve_type_ = 'EXERCISE' and sees.actual_exercises_num_ = 0
+		<if test="musicGroupName != null and musicGroupName != ''">
+			and mg.name_ LIKE CONCAT('%', #{musicGroupName}, '%')) 
+		</if>
+		<if test="mondayDate != null and mondayDate != ''">
+			and sees.monday_ =  #{mondayDate}
+		</if>
+		<if test="sundayDate != null and sundayDate != ''">
+			and sees.sunday_ = #{sundayDate}
+		</if>
+		GROUP BY sees.music_group_id_
+        <include refid="global.limit">
+    </select>
+    
+    <select id="queryStudentExerciseMusicGroupListCount" resultType="int">
+    	SELECT count(sees.music_group_id_) from student_extracurricular_exercises_situation_ sees 
+		LEFT JOIN music_group mg on mg.id_ = sees.music_group_id_
+		WHERE sees.teacher_id_ = #{teacherId} and sees.serve_type_ = 'EXERCISE' and sees.actual_exercises_num_ = 0
+		<if test="musicGroupName != null and musicGroupName != ''">
+			and mg.name_ LIKE CONCAT('%', #{musicGroupName}, '%')) 
+		</if>
+		<if test="mondayDate != null and mondayDate != ''">
+			and sees.monday_ =  #{mondayDate}
+		</if>
+		<if test="sundayDate != null and sundayDate != ''">
+			and sees.sunday_ = #{sundayDate}
+		</if>
+		GROUP BY sees.music_group_id_
+    </select>
 </mapper>

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/controller/StudentCourseHomeworkReplyController.java

@@ -74,7 +74,7 @@ public class StudentCourseHomeworkReplyController extends BaseController {
             studentCourseHomeworkReplyService.insert(studentCourseHomeworkReply);
             StudentCourseHomework studentCourseHomework = studentCourseHomeworkDao.get(studentCourseHomeworkReply.getStudentCourseHomeworkId());
             CourseSchedule courseSchedule = courseScheduleDao.get(studentCourseHomework.getCourseScheduleId());
-            studentServeService.updateExercisesSituation(courseSchedule.getClassDate(), new ArrayList<>(Arrays.asList(sysUser.getId())), courseSchedule.getActualTeacherId());
+            studentServeService.updateExercisesSituation(courseSchedule.getMusicGroupId(), courseSchedule.getClassDate(), new ArrayList<>(Arrays.asList(sysUser.getId())), courseSchedule.getActualTeacherId());
         }else{
             ExtracurricularExercisesMessage extracurricularExercisesMessage=new ExtracurricularExercisesMessage();
             extracurricularExercisesMessage.setExtracurricularExercisesReplyId(studentCourseHomeworkReply.getStudentCourseHomeworkId());

+ 41 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/StudentExtracurricularExercisesSituationController.java

@@ -0,0 +1,41 @@
+package com.ym.mec.teacher.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.biz.dal.dto.MusicGroupExtracurricularSummaryDto;
+import com.ym.mec.biz.dal.page.StudentExerciseMusicGroupQueryInfo;
+import com.ym.mec.biz.service.ExtracurricularExercisesMessageService;
+import com.ym.mec.biz.service.StudentExtracurricularExercisesSituationService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.PageInfo;
+
+@RequestMapping("studentExtracurricularExercisesSituation")
+@Api(tags = "课外训练统计服务")
+@RestController
+public class StudentExtracurricularExercisesSituationController extends BaseController {
+
+    @Autowired
+    private StudentExtracurricularExercisesSituationService studentExtracurricularExercisesSituationService;
+
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+    @Autowired
+    private ExtracurricularExercisesMessageService extracurricularExercisesMessageService;
+
+
+    @ApiOperation(value = "课外训练乐团列表")
+    @GetMapping("/queryStudentExerciseMusicGroupList")
+    public HttpResponseResult<PageInfo<MusicGroupExtracurricularSummaryDto>> queryStudentExerciseMusicGroupList(StudentExerciseMusicGroupQueryInfo queryInfo){
+        return succeed(studentExtracurricularExercisesSituationService.queryStudentExerciseMusicGroupList(queryInfo));
+    }
+
+}