소스 검색

feat:衔接老师

Joburgess 4 년 전
부모
커밋
3664a7e2a3

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ExtracurricularExercisesReplyDao.java

@@ -8,6 +8,7 @@ import com.ym.mec.biz.dal.dto.StudentServiceHomeworkDto;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -135,4 +136,12 @@ public interface ExtracurricularExercisesReplyDao extends BaseDAO<Long, Extracur
      */
     List<EduHomeworkCardDto> getEduHomeworkList(Map<String, Object> params);
     int countEduHomeworkList(Map<String, Object> params);
+
+    List<EduHomeworkCardDto> countEduHomeworkStudentNumWithMusicGroup(@Param("groupIds") List<String> groupIds,
+                                                                      @Param("startTime") Date startTime,
+                                                                      @Param("endTime") Date endTime);
+
+    List<EduHomeworkCardDto> countEduHomeworkSubjectStudentNumWithMusicGroup(@Param("groupId") String groupId,
+                                                                             @Param("startTime") Date startTime,
+                                                                             @Param("endTime") Date endTime);
 }

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseHomeworkDao.java

@@ -7,6 +7,7 @@ import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -176,4 +177,18 @@ public interface StudentCourseHomeworkDao extends BaseDAO<Long, StudentCourseHom
      */
     List<EduHomeworkCardDto> getEduCourseHomeworkList(Map<String, Object> params);
     int countEduCourseHomeworkList(Map<String, Object> params);
+
+    /**
+     * @describe 统计指定乐团作业人次信息
+     * @author Joburgess
+     * @date 2021/5/25 0025
+     * @param groupIds:
+     * @return java.util.List<com.ym.mec.biz.dal.dto.EduHomeworkCardDto>
+     */
+    List<EduHomeworkCardDto> countHomeworkStudentInfoWithMusicGroup(@Param("groupIds") List<String> groupIds,
+                                                                    @Param("startTime") Date startTime,
+                                                                    @Param("endTime") Date endTime);
+    List<EduHomeworkCardDto> countHomeworkSubjectStudentInfoWithMusicGroup(@Param("groupId") String groupId,
+                                                                           @Param("startTime") Date startTime,
+                                                                           @Param("endTime") Date endTime);
 }

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

@@ -8,6 +8,10 @@ import java.util.Date;
  */
 public class EduHomeworkCardDto {
 
+    private String groupId;
+
+    private Integer subjectId;
+
     private Long courseId;
 
     private Long homeworkId;
@@ -28,6 +32,22 @@ public class EduHomeworkCardDto {
 
     private Date createTime;
 
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(String groupId) {
+        this.groupId = groupId;
+    }
+
     public Date getCreateTime() {
         return createTime;
     }

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

@@ -17,6 +17,9 @@ public class EduHomeworkStatDto {
     @ApiModelProperty(value = "课程组名称")
     private String groupName;
 
+    @ApiModelProperty(value = "声部")
+    private String subjectName;
+
     @ApiModelProperty(value = "乐团人数")
     private int groupStudentNum;
 
@@ -45,6 +48,14 @@ public class EduHomeworkStatDto {
         this.groupName = groupName;
     }
 
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
     public int getExceptStudentNum() {
         return exceptStudentNum;
     }

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentCourseHomeWorkQueryInfo.java

@@ -11,6 +11,9 @@ public class StudentCourseHomeWorkQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "学生id")
     private Long userId;
 
+    @ApiModelProperty(value = "课程组编号")
+    private String groupId;
+
     @ApiModelProperty(value = "教师编号")
     private Integer teacherId;
 
@@ -29,7 +32,7 @@ public class StudentCourseHomeWorkQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "是否回复")
     private YesOrNoEnum isReplied;
 
-    private Boolean extra;
+    private Boolean extra = false;
 
     public Long getUserId() {
         return userId;
@@ -39,6 +42,14 @@ public class StudentCourseHomeWorkQueryInfo extends QueryInfo {
         this.userId = userId;
     }
 
+    public String getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(String groupId) {
+        this.groupId = groupId;
+    }
+
     public Integer getTeacherId() {
         return teacherId;
     }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentCourseHomeworkService.java

@@ -105,4 +105,6 @@ public interface StudentCourseHomeworkService extends BaseService<Long, StudentC
     PageInfo<EduHomeworkCardDto> getEduCourseHomeworkList(StudentCourseHomeWorkQueryInfo queryInfo);
 
     PageInfo<EduHomeworkStatDto> queryEduHomeworkStatList(StudentCourseHomeWorkQueryInfo queryInfo);
+
+    List<EduHomeworkStatDto> queryEduHomeworkStatDetail(StudentCourseHomeWorkQueryInfo queryInfo);
 }

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

@@ -13,6 +13,7 @@ import com.ym.mec.biz.service.CourseHomeworkService;
 import com.ym.mec.biz.service.StudentCourseHomeworkService;
 import com.ym.mec.biz.service.StudentServeService;
 import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
@@ -29,6 +30,7 @@ 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;
@@ -73,6 +75,8 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
     private VipGroupDao vipGroupDao;
     @Autowired
     private PracticeGroupDao practiceGroupDao;
+    @Autowired
+    private ExtracurricularExercisesReplyDao extracurricularExercisesReplyDao;
 
     @Override
     public BaseDAO<Long, StudentCourseHomework> getDAO() {
@@ -277,9 +281,6 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 
     @Override
     public List<StudentCourseHomework> findStudentCourseHomeworkByCourse(Long courseSchedule, Long homeworkId, String userName) {
-        if (Objects.isNull(courseSchedule)) {
-            throw new BizException("请指定课程");
-        }
         return studentCourseHomeworkDao.findByCourseSchedule(courseSchedule, homeworkId, userName);
     }
 
@@ -510,10 +511,95 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
         if(!CollectionUtils.isEmpty(musicGroups)){
             List<String> groupIds = musicGroups.stream().map(MusicGroup::getId).collect(Collectors.toList());
             List<StudentRegistration> studentRegistrations = studentRegistrationDao.findByMusicGroupIds(groupIds, StudentMusicGroupStatusEnum.NORMAL);
-
+            Map<String, Long> groupStudentNumMap = studentRegistrations.stream().collect(Collectors.groupingBy(StudentRegistration::getMusicGroupId, Collectors.counting()));
+
+            List<EduHomeworkCardDto> courseHomeworkStudentNumList = studentCourseHomeworkDao.countHomeworkStudentInfoWithMusicGroup(groupIds, queryInfo.getStartTime(), queryInfo.getEndTime());
+            List<EduHomeworkCardDto> homeworkStudentNumList = extracurricularExercisesReplyDao.countEduHomeworkStudentNumWithMusicGroup(groupIds, queryInfo.getStartTime(), queryInfo.getEndTime());
+            homeworkStudentNumList.addAll(courseHomeworkStudentNumList);
+            Map<String, List<EduHomeworkCardDto>> groupStudentListMap = homeworkStudentNumList.stream().collect(Collectors.groupingBy(EduHomeworkCardDto::getGroupId));
+            for (MusicGroup mg : musicGroups) {
+                EduHomeworkStatDto ehs = new EduHomeworkStatDto();
+                ehs.setGroupId(mg.getId());
+                ehs.setGroupName(mg.getName());
+                if(groupStudentNumMap.containsKey(mg.getId())){
+                    ehs.setGroupStudentNum(Math.toIntExact(groupStudentNumMap.get(mg.getId())));
+                }else{
+                    ehs.setGroupStudentNum(0);
+                }
+                int exceptStudentNum = 0;
+                int submitStudentNum = 0;
+                if(groupStudentListMap.containsKey(mg.getId())){
+                    List<EduHomeworkCardDto> eduHomeworkCardDtos = groupStudentListMap.get(mg.getId());
+                    for (EduHomeworkCardDto eduHomeworkCardDto : eduHomeworkCardDtos) {
+                        exceptStudentNum += eduHomeworkCardDto.getExceptStudentNum();
+                        submitStudentNum += eduHomeworkCardDto.getSubmitStudentNum();
+                    }
+                }
+                ehs.setExceptStudentNum(exceptStudentNum);
+                ehs.setSubmitStudentNum(submitStudentNum);
+                if(exceptStudentNum<=0){
+                    ehs.setSubmitRate(BigDecimal.ZERO);
+                }else{
+                    ehs.setSubmitRate(new BigDecimal(submitStudentNum).divide(new BigDecimal(exceptStudentNum), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP));
+                }
+                dataList.add(ehs);
+            }
         }
 
         pageInfo.setRows(dataList);
         return pageInfo;
     }
+
+    @Override
+    public List<EduHomeworkStatDto> queryEduHomeworkStatDetail(StudentCourseHomeWorkQueryInfo queryInfo) {
+        List<EduHomeworkStatDto> dataList = new ArrayList<>();
+        MusicGroup musicGroup = musicGroupDao.get(queryInfo.getGroupId());
+        if(Objects.isNull(musicGroup)){
+            return dataList;
+        }
+        List<StudentRegistration> studentRegistrations = studentRegistrationDao.findByMusicGroupIds(Arrays.asList(queryInfo.getGroupId()), StudentMusicGroupStatusEnum.NORMAL);
+        Map<Integer, Long> subjectStudentNumMap = studentRegistrations.stream().collect(Collectors.groupingBy(StudentRegistration::getActualSubjectId, Collectors.counting()));
+
+        Map<Integer, Subject> idSubjectMap = new HashMap<>();
+        if(!CollectionUtils.isEmpty(subjectStudentNumMap)){
+            List<Subject> subjects = subjectDao.findBySubjectIds(new ArrayList<>(subjectStudentNumMap.keySet()));
+            idSubjectMap = subjects.stream().collect(Collectors.toMap(Subject::getId, s -> s, (s1, s2) -> s1));
+        }
+
+        List<EduHomeworkCardDto> courseHomeworkStudentNumList = studentCourseHomeworkDao.countHomeworkSubjectStudentInfoWithMusicGroup(queryInfo.getGroupId(), queryInfo.getStartTime(), queryInfo.getEndTime());
+        List<EduHomeworkCardDto> homeworkStudentNumList = extracurricularExercisesReplyDao.countEduHomeworkSubjectStudentNumWithMusicGroup(queryInfo.getGroupId(), queryInfo.getStartTime(), queryInfo.getEndTime());
+        homeworkStudentNumList.addAll(courseHomeworkStudentNumList);
+        Map<Integer, List<EduHomeworkCardDto>> subjectStudentListMap = homeworkStudentNumList.stream().collect(Collectors.groupingBy(EduHomeworkCardDto::getSubjectId));
+        for (Map.Entry<Integer, Long> subjectStudentNumEntry : subjectStudentNumMap.entrySet()) {
+            EduHomeworkStatDto ehs = new EduHomeworkStatDto();
+            if(idSubjectMap.containsKey(subjectStudentNumEntry.getKey())){
+                ehs.setSubjectName(idSubjectMap.get(subjectStudentNumEntry.getKey()).getName());
+            }
+            ehs.setGroupId(queryInfo.getGroupId());
+            ehs.setGroupName(musicGroup.getName());
+            if(subjectStudentNumMap.containsKey(subjectStudentNumEntry.getKey())){
+                ehs.setGroupStudentNum(Math.toIntExact(subjectStudentNumMap.get(subjectStudentNumEntry.getKey())));
+            }else{
+                ehs.setGroupStudentNum(0);
+            }
+            int exceptStudentNum = 0;
+            int submitStudentNum = 0;
+            if(subjectStudentListMap.containsKey(subjectStudentNumEntry.getKey())){
+                List<EduHomeworkCardDto> eduHomeworkCardDtos = subjectStudentListMap.get(subjectStudentNumEntry.getKey());
+                for (EduHomeworkCardDto eduHomeworkCardDto : eduHomeworkCardDtos) {
+                    exceptStudentNum += eduHomeworkCardDto.getExceptStudentNum();
+                    submitStudentNum += eduHomeworkCardDto.getSubmitStudentNum();
+                }
+            }
+            ehs.setExceptStudentNum(exceptStudentNum);
+            ehs.setSubmitStudentNum(submitStudentNum);
+            if(exceptStudentNum<=0){
+                ehs.setSubmitRate(BigDecimal.ZERO);
+            }else{
+                ehs.setSubmitRate(new BigDecimal(submitStudentNum).divide(new BigDecimal(exceptStudentNum), CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP));
+            }
+            dataList.add(ehs);
+        }
+        return dataList;
+    }
 }

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

@@ -513,7 +513,7 @@
 
 	<sql id="getEduHomeworkListCondition">
 		<where>
-			EXISTS (SELECT user_id_ FROM student_registration sr LEFT JOIN music_group mg ON mg.id_=sr.music_group_id_ WHERE mg.transaction_teacher_id_=#{teacherId})
+			EXISTS (SELECT user_id_ FROM student_registration sr LEFT JOIN music_group mg ON mg.id_=sr.music_group_id_ WHERE sr.user_id_ = eer.user_id_ AND sr.music_group_status_='NORMAL' AND mg.status_ = 'PROGRESS' AND mg.transaction_teacher_id_=#{transactionTeacherId})
 			<if test="startTime!=null">
 				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &gt;= #{startTime}
 			</if>
@@ -550,5 +550,55 @@
 		LEFT JOIN extracurricular_exercises_reply eer ON ee.id_ = eer.extracurricular_exercises_id_
 		<include refid="getEduHomeworkListCondition" />
 	</select>
+	<select id="countEduHomeworkStudentNumWithMusicGroup"
+			resultType="com.ym.mec.biz.dal.dto.EduHomeworkCardDto">
+		SELECT
+			sr.music_group_id_ groupId,
+			COUNT( eer.user_id_ ) exceptStudentNum,
+			SUM( eer.status_ ) submitStudentNum,
+			SUM( eer.is_replied_ ) repliedStudentNum
+		FROM
+			extracurricular_exercises ee
+			LEFT JOIN sys_user su ON ee.teacher_id_ = su.id_
+			LEFT JOIN extracurricular_exercises_reply eer ON ee.id_ = eer.extracurricular_exercises_id_
+			LEFT JOIN student_registration sr ON eer.user_id_ = sr.user_id_
+		WHERE sr.music_group_status_='NORMAL'
+			<if test="groupIds!=null and groupIds.size()>0">
+				AND sr.music_group_id_ IN
+				<foreach collection="groupIds" item="groupId" open="(" close=")" separator=",">
+					#{groupId}
+				</foreach>
+			</if>
+			<if test="startTime!=null">
+				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &gt;= #{startTime}
+			</if>
+			<if test="endTime!=null">
+				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &lt;= #{endTime}
+			</if>
+		GROUP BY sr.music_group_id_
+	</select>
+
+	<select id="countEduHomeworkSubjectStudentNumWithMusicGroup"
+			resultType="com.ym.mec.biz.dal.dto.EduHomeworkCardDto">
+		SELECT
+		sr.actual_subject_id_ subjectId,
+		COUNT( eer.user_id_ ) exceptStudentNum,
+		SUM( eer.status_ ) submitStudentNum,
+		SUM( eer.is_replied_ ) repliedStudentNum
+		FROM
+		extracurricular_exercises ee
+		LEFT JOIN sys_user su ON ee.teacher_id_ = su.id_
+		LEFT JOIN extracurricular_exercises_reply eer ON ee.id_ = eer.extracurricular_exercises_id_
+		LEFT JOIN student_registration sr ON eer.user_id_ = sr.user_id_
+		WHERE sr.music_group_status_='NORMAL'
+			AND sr.music_group_id_ = #{groupId}
+			<if test="startTime!=null">
+				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &gt;= #{startTime}
+			</if>
+			<if test="endTime!=null">
+				AND DATE_FORMAT(ee.create_time_, "%Y-%m-%d") &lt;= #{endTime}
+			</if>
+		GROUP BY sr.actual_subject_id_
+	</select>
 
 </mapper>

+ 57 - 2
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -487,7 +487,9 @@
 
     <sql id="getEduCourseHomeworkListCondition">
         <where>
-            mg.transaction_teacher_id_ = #{teacherId}
+            mg.transaction_teacher_id_ = #{transactionTeacherId}
+            AND mg.status_ = "PROGRESS"
+            AND sr.music_group_status_='NORMAL'
             <if test="startTime!=null">
                 AND cs.class_date_ &gt;= #{startTime}
             </if>
@@ -514,9 +516,10 @@
             LEFT JOIN course_schedule cs ON ch.course_schedule_id_ = cs.id_
             LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
             LEFT JOIN student_course_homework sch ON ch.id_ = sch.course_homework_id_
+            LEFT JOIN student_registration sr ON sch.user_id_=sr.user_id_ AND ch.music_group_id_=sr.music_group_id_
         <include refid="getEduCourseHomeworkListCondition" />
         GROUP BY ch.id_
-        ORDER BY course_start_time_ DESC
+        ORDER BY courseStartTime DESC
         <include refid="global.limit"></include>
     </select>
 
@@ -528,9 +531,61 @@
             LEFT JOIN music_group mg ON mg.id_ = ch.music_group_id_
             LEFT JOIN course_schedule cs ON ch.course_schedule_id_ = cs.id_
             LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
+            LEFT JOIN student_course_homework sch ON ch.id_ = sch.course_homework_id_
+            LEFT JOIN student_registration sr ON sch.user_id_=sr.user_id_ AND ch.music_group_id_=sr.music_group_id_
         <include refid="getEduCourseHomeworkListCondition" />
     </select>
 
+    <select id="countHomeworkStudentInfoWithMusicGroup" resultType="com.ym.mec.biz.dal.dto.EduHomeworkCardDto">
+        SELECT
+            ch.music_group_id_ groupId,
+            COUNT( sch.user_id_ ) exceptStudentNum,
+            SUM( sch.status_ ) submitStudentNum,
+            SUM( sch.is_replied_ ) repliedStudentNum
+        FROM
+            course_homework ch
+                LEFT JOIN course_schedule cs ON ch.course_schedule_id_ = cs.id_
+                LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
+                LEFT JOIN student_course_homework sch ON ch.id_ = sch.course_homework_id_
+                LEFT JOIN student_registration sr ON sch.user_id_=sr.user_id_ AND ch.music_group_id_=sr.music_group_id_
+        WHERE sr.music_group_status_='NORMAL'
+            <if test="groupIds!=null and groupIds.size()>0">
+                AND ch.music_group_id_ IN
+                <foreach collection="groupIds" item="groupId" open="(" close=")" separator=",">
+                    #{groupId}
+                </foreach>
+            </if>
+            <if test="startTime!=null">
+                AND cs.class_date_ &gt;= #{startTime}
+            </if>
+            <if test="endTime!=null">
+                AND cs.class_date_ &lt;= #{endTime}
+            </if>
+        GROUP BY ch.music_group_id_
+    </select>
+
+    <select id="countHomeworkSubjectStudentInfoWithMusicGroup" resultType="com.ym.mec.biz.dal.dto.EduHomeworkCardDto">
+        SELECT
+            sr.actual_subject_id_ subjectId,
+            COUNT( sch.user_id_ ) exceptStudentNum,
+            SUM( sch.status_ ) submitStudentNum,
+            SUM( sch.is_replied_ ) repliedStudentNum
+        FROM course_homework ch
+            LEFT JOIN course_schedule cs ON ch.course_schedule_id_ = cs.id_
+            LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
+            LEFT JOIN student_course_homework sch ON ch.id_ = sch.course_homework_id_
+            LEFT JOIN student_registration sr ON sch.user_id_=sr.user_id_ AND ch.music_group_id_=sr.music_group_id_
+        WHERE sr.music_group_status_='NORMAL'
+            AND ch.music_group_id_ = #{groupId}
+            <if test="startTime!=null">
+                AND cs.class_date_ &gt;= #{startTime}
+            </if>
+            <if test="endTime!=null">
+                AND cs.class_date_ &lt;= #{endTime}
+            </if>
+        GROUP BY sr.actual_subject_id_
+    </select>
+
     <sql id="homeWorkCondition">
         <where>
             <if test="userId!=null">

+ 7 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/CourseHomeworkController.java

@@ -13,6 +13,7 @@ import com.ym.mec.biz.service.ExtracurricularExercisesReplyService;
 import com.ym.mec.biz.service.StudentCourseHomeworkService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.exception.BizException;
 import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -64,6 +65,9 @@ public class CourseHomeworkController extends BaseController {
     @ApiOperation(value = "根据课程计划获取需要交作业的学生")
     @GetMapping("/findCourseStudents")
     public Object findCourseStudents(Long courseScheduleId,String userName){
+        if (Objects.isNull(courseScheduleId)) {
+            throw new BizException("请指定课程");
+        }
         return succeed(studentCourseHomeworkService.findStudentCourseHomeworkByCourse(courseScheduleId, null,userName));
     }
 
@@ -71,6 +75,9 @@ public class CourseHomeworkController extends BaseController {
     @GetMapping("/findCourseStudentsPublic")
     public Object findCourseStudentsPublic(Long courseScheduleId,String userName, boolean extra){
         if(!extra){
+            if (Objects.isNull(courseScheduleId)) {
+                throw new BizException("请指定课程");
+            }
             return succeed(studentCourseHomeworkService.findStudentCourseHomeworkByCourse(courseScheduleId, null,userName));
         }else{
             return succeed(extracurricularExercisesReplyService.findExtraExerciseStudents(courseScheduleId,userName));

+ 30 - 2
mec-web/src/main/java/com/ym/mec/web/controller/education/CourseHomeworkController.java

@@ -20,6 +20,8 @@ import com.ym.mec.biz.dal.page.CourseHomeworkQueryInfo;
 import com.ym.mec.biz.service.CourseHomeworkService;
 import com.ym.mec.common.controller.BaseController;
 
+import java.util.Objects;
+
 /**
  * @Author Joburgess
  * @Date 2019/9/18
@@ -44,7 +46,7 @@ public class CourseHomeworkController extends BaseController {
         return succeed(courseHomeworkService.queryPage(queryInfo));
     }
 
-    @ApiOperation(value = "课后作业列表")
+    @ApiOperation(value = "作业列表")
     @GetMapping(value = "getEduCourseHomeworkList")
     public HttpResponseResult getEduCourseHomeworkList(StudentCourseHomeWorkQueryInfo queryInfo){
         SysUser sysUser = sysUserFeignService.queryUserInfo();
@@ -52,7 +54,8 @@ public class CourseHomeworkController extends BaseController {
             return failed("用户信息获取失败");
         }
         queryInfo.setTeacherId(sysUser.getId());
-        if(queryInfo.getExtra()){
+        queryInfo.setTransactionTeacherId(sysUser.getId());
+        if(!queryInfo.getExtra()){
             return succeed(studentCourseHomeworkService.getEduCourseHomeworkList(queryInfo));
         }else{
             return succeed(extracurricularExercisesReplyService.getEduHomeworkList(queryInfo));
@@ -62,10 +65,35 @@ public class CourseHomeworkController extends BaseController {
     @ApiOperation(value = "根据课程计划获取需要交作业的学生-公用")
     @GetMapping("/findHomeworkStudents")
     public Object findHomeworkStudents(Long homeworkId,String userName, boolean extra){
+        if(Objects.isNull(extra)){
+            extra = false;
+        }
         if(!extra){
             return succeed(studentCourseHomeworkService.findStudentCourseHomeworkByCourse(null, homeworkId,userName));
         }else{
             return succeed(extracurricularExercisesReplyService.findExtraExerciseStudents(homeworkId,userName));
         }
     }
+
+    @ApiOperation(value = "作业统计")
+    @GetMapping("/queryEduHomeworkStatList")
+    public HttpResponseResult queryEduHomeworkStatList(StudentCourseHomeWorkQueryInfo queryInfo){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        queryInfo.setTransactionTeacherId(sysUser.getId());
+        return succeed(studentCourseHomeworkService.queryEduHomeworkStatList(queryInfo));
+    }
+
+    @ApiOperation(value = "作业统计详情")
+    @GetMapping("/queryEduHomeworkStatDetail")
+    public HttpResponseResult queryEduHomeworkStatDetail(StudentCourseHomeWorkQueryInfo queryInfo){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        queryInfo.setTransactionTeacherId(sysUser.getId());
+        return succeed(studentCourseHomeworkService.queryEduHomeworkStatDetail(queryInfo));
+    }
 }