Ver Fonte

云教练作业优化

zouxuan há 3 anos atrás
pai
commit
979ce093ea

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ExtracurricularExercisesDao.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.BasicUserDto;
+import com.ym.mec.biz.dal.dto.ExtracurricularExercisesHomeworkListDto;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.entity.ExtracurricularExercises;
 import com.ym.mec.common.dal.BaseDAO;
@@ -42,4 +43,17 @@ public interface ExtracurricularExercisesDao extends BaseDAO<Long, Extracurricul
                                                                     @Param("search") String search,
                                                                     @Param("hasMember") Integer hasMember);
 
+    /**
+     * 获取老师已布置训练列表
+     * @param params
+     * @return
+     */
+    int countExtraExercilsesHomeworks(Map<String, Object> params);
+
+    /**
+     * 获取老师已布置训练列表
+     * @param params
+     * @return
+     */
+    List<ExtracurricularExercisesHomeworkListDto> findExtraExercilsesHomeworks(Map<String, Object> params);
 }

+ 31 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ExtracurricularExercisesHomeworkListDto.java

@@ -0,0 +1,31 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import org.codehaus.jackson.annotate.JsonIgnore;
+
+import java.util.Date;
+
+public class ExtracurricularExercisesHomeworkListDto {
+
+    @ApiModelProperty(value = "作业编号")
+    private Integer homeworkId;
+
+    @ApiModelProperty(value = "作业类型")
+    private String type;
+
+    public Integer getHomeworkId() {
+        return homeworkId;
+    }
+
+    public void setHomeworkId(Integer homeworkId) {
+        this.homeworkId = homeworkId;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+}

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

@@ -46,6 +46,16 @@ public class StudentServiceDetailDto {
 
     private String attachments;
 
+    private String musicScoreId;
+
+    public String getMusicScoreId() {
+        return musicScoreId;
+    }
+
+    public void setMusicScoreId(String musicScoreId) {
+        this.musicScoreId = musicScoreId;
+    }
+
     public Date getCourseEndTime() {
         return courseEndTime;
     }

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

@@ -2,8 +2,10 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
+import com.ym.mec.biz.dal.dto.WebCourseHomeworkListDto;
 import com.ym.mec.biz.dal.entity.ExtracurricularExercises;
 import com.ym.mec.biz.dal.page.ExtraExercilseQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
 import java.util.List;
@@ -46,4 +48,10 @@ public interface ExtracurricularExercisesService extends BaseService<Long, Extra
      */
     void studentServeRemind();
 
+    /**
+     * 获取已布置训练列表
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<WebCourseHomeworkListDto> findExtraExercilsesHomeworks(ExtraExercilseQueryInfo queryInfo);
 }

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

@@ -4,9 +4,7 @@ import com.ym.mec.biz.dal.dao.ExtracurricularExercisesDao;
 import com.ym.mec.biz.dal.dao.ExtracurricularExercisesReplyDao;
 import com.ym.mec.biz.dal.dao.StudentExtracurricularExercisesSituationDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
-import com.ym.mec.biz.dal.dto.BasicUserDto;
-import com.ym.mec.biz.dal.dto.MusicScoreSubjectDto;
-import com.ym.mec.biz.dal.dto.SimpleUserDto;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.ExtracurricularExercises;
 import com.ym.mec.biz.dal.entity.ExtracurricularExercisesReply;
 import com.ym.mec.biz.dal.entity.Teacher;
@@ -18,6 +16,7 @@ import com.ym.mec.biz.service.StudentServeService;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
@@ -213,4 +212,27 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
 					userMap, null, 0, "11" , "TEACHER", integerLongEntry.getValue());
 		}
 	}
+
+	@Override
+	public PageInfo<WebCourseHomeworkListDto> findExtraExercilsesHomeworks(ExtraExercilseQueryInfo queryInfo) {
+		PageInfo<WebCourseHomeworkListDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<>();
+		MapUtil.populateMap(params, queryInfo);
+		int count = extracurricularExercisesDao.countExtraExercilsesHomeworks(params);
+		List<ExtracurricularExercisesHomeworkListDto> homeworksExercises = extracurricularExercisesDao.findExtraExercilsesHomeworks(params);
+		if(homeworksExercises == null || homeworksExercises.size() == 0){
+			return pageInfo;
+		}
+		//课外训练
+		List<ExtracurricularExercisesHomeworkListDto> exercises = homeworksExercises.stream().filter(e -> e.getType().equals("EXERCISES")).collect(Collectors.toList());
+		if(exercises.size() > 0){
+
+		}
+		//课后作业
+		List<ExtracurricularExercisesHomeworkListDto> homeworkList = homeworksExercises.stream().filter(e -> e.getType().equals("HOMEWORK")).collect(Collectors.toList());
+		if(homeworkList.size() > 0){
+
+		}
+		return null;
+	}
 }

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

@@ -59,7 +59,7 @@
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CourseHomework" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO course_homework (group_type_,course_schedule_id_,attachments_,
-		                             title,content_,create_time_,update_time_,music_group_id_,class_group_id_,completed_num_,expect_num_,expiry_date_)
+		                             title_,content_,create_time_,update_time_,music_group_id_,class_group_id_,completed_num_,expect_num_,expiry_date_)
 		VALUES(#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 		       #{courseScheduleId},#{attachments},#{title},#{content},now(),now(),#{musicGroupId},
 		       #{classGroupId},#{completedNum},#{expectNum},#{expiryDate})

+ 26 - 0
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesMapper.xml

@@ -203,4 +203,30 @@
 		ORDER BY
 			su.id_;
 	</select>
+	<resultMap id="ExtracurricularExercisesHomeworkListDto" type="com.ym.mec.biz.dal.dto.ExtracurricularExercisesHomeworkListDto">
+		<result property="type" column="type_"/>
+		<result property="homeworkId" column="id_"/>
+	</resultMap>
+	<select id="countExtraExercilsesHomeworks" resultType="int">
+		SELECT COUNT(id_) FROM (
+		SELECT id_, create_time_,'EXERCISES' type_
+		FROM extracurricular_exercises
+		WHERE teacher_id_ = #{teacherId} AND DATE_FORMAT(create_time_, '%Y-%m') = DATE_FORMAT(#{createTime}, '%Y-%m')
+		UNION ALL
+		SELECT ch.id_,ch.create_time_,'HOMEWORK' type_ FROM course_homework ch
+		LEFT JOIN course_schedule_teacher_salary csts ON ch.course_schedule_id_ = csts.course_schedule_id_ AND csts.teacher_role_ = 'BISHOP'
+		WHERE csts.user_id_ = #{teacherId} AND DATE_FORMAT(ch.create_time_, '%Y-%m') = DATE_FORMAT(#{createTime}, '%Y-%m')) h
+	</select>
+	<select id="findExtraExercilsesHomeworks" resultMap="ExtracurricularExercisesHomeworkListDto">
+		SELECT * FROM (
+		SELECT id_, create_time_,'EXERCISES' type_
+		FROM extracurricular_exercises
+		WHERE teacher_id_ = #{teacherId} AND DATE_FORMAT(create_time_, '%Y-%m') = DATE_FORMAT(#{createTime}, '%Y-%m')
+		UNION ALL
+		SELECT ch.id_,ch.create_time_,'HOMEWORK' type_ FROM course_homework ch
+		LEFT JOIN course_schedule_teacher_salary csts ON ch.course_schedule_id_ = csts.course_schedule_id_ AND csts.teacher_role_ = 'BISHOP'
+		WHERE csts.user_id_ = #{teacherId} AND DATE_FORMAT(ch.create_time_, '%Y-%m') = DATE_FORMAT(#{createTime}, '%Y-%m')) h
+		ORDER BY h.create_time_ DESC
+		<include refid="global.limit"/>
+	</select>
 </mapper>

+ 13 - 7
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesReplyMapper.xml

@@ -22,6 +22,7 @@
 		<result column="is_view_" property="isView" />
 		<result column="organ_name_" property="organName" />
 		<result column="submit_time_" property="submitTime" />
+		<result column="music_score_id_" property="musicScoreId" />
 		<association property="extracurricularExercises" columnPrefix="ee_" resultMap="com.ym.mec.biz.dal.dao.ExtracurricularExercisesDao.ExtracurricularExercises"/>
 	</resultMap>
 
@@ -87,15 +88,15 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.ExtracurricularExercisesReply" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO extracurricular_exercises_reply (extracurricular_exercises_id_,user_id_,attachments_,create_time_,update_time_,remark_,status_,is_replied_,is_view_,is_replied_timely_)
-		VALUES(#{extracurricularExercisesId},#{userId},#{attachments},NOW(),NOW(),#{remark},#{status},#{isReplied},#{isView},#{isRepliedTimely})
+		INSERT INTO extracurricular_exercises_reply (extracurricular_exercises_id_,user_id_,attachments_,create_time_,update_time_,remark_,status_,is_replied_,is_view_,is_replied_timely_,music_score_id_)
+		VALUES(#{extracurricularExercisesId},#{userId},#{attachments},NOW(),NOW(),#{remark},#{status},#{isReplied},#{isView},#{isRepliedTimely},#{musicScoreId})
 	</insert>
 
 	<insert id="batchInsert" parameterType="com.ym.mec.biz.dal.entity.ExtracurricularExercisesReply" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO extracurricular_exercises_reply (extracurricular_exercises_id_,user_id_,attachments_,create_time_,update_time_,remark_,status_,is_replied_,is_view_,is_replied_timely_)
+		INSERT INTO extracurricular_exercises_reply (extracurricular_exercises_id_,user_id_,attachments_,create_time_,update_time_,remark_,status_,is_replied_,is_view_,is_replied_timely_,music_score_id_)
 		VALUES
 		<foreach collection="replies" item="reply" separator=",">
-			(#{reply.extracurricularExercisesId},#{reply.userId},#{reply.attachments},NOW(),NOW(),#{reply.remark},#{reply.status},#{reply.isReplied},#{reply.isView},#{reply.isRepliedTimely})
+			(#{reply.extracurricularExercisesId},#{reply.userId},#{reply.attachments},NOW(),NOW(),#{reply.remark},#{reply.status},#{reply.isReplied},#{reply.isView},#{reply.isRepliedTimely},#{reply.musicScoreId})
 		</foreach>
 	</insert>
 
@@ -103,6 +104,9 @@
 	<update id="update" parameterType="com.ym.mec.biz.dal.entity.ExtracurricularExercisesReply">
 		UPDATE extracurricular_exercises_reply
 		<set>
+			<if test="musicScoreId != null">
+				music_score_id_ = #{musicScoreId},
+			</if>
 			<if test="status != null">
 			status_ = #{status},
 			</if>
@@ -239,8 +243,6 @@
 		SELECT COUNT(id_) FROM extracurricular_exercises_reply WHERE extracurricular_exercises_id_=#{extraExerciseId} AND attachments_ IS NOT NULL
 	</select>
 
-
-
 	<sql id="queryExtraExercisesCondition">
 		<where>
 			<if test="extracurricularExercisesId != null">
@@ -404,12 +406,14 @@
 		<result property="isSubmit" column="is_submit_"/>
 		<result property="isReplied" column="is_replied_"/>
 		<result property="attachments" column="attachments_"/>
+		<result property="musicScoreId" column="music_score_id_"/>
 	</resultMap>
 
 	<select id="findStudentHomeworkDetailsInTimeZone" resultMap="StudentServiceDetailDto">
 		(SELECT
 			ee.id_ homework_id_,
 			eer.id_ student_homework_id_,
+			eer.music_score_id_,
 			ee.title_,
 		 	NULL course_schedule_id_,
 			ee.teacher_id_,
@@ -436,6 +440,7 @@
 		(SELECT
 			ch.id_ homework_id_,
 			sch.id_ student_homework_id_,
+			sch.music_score_id_,
 			NULL title_,
 		    cs.id_ course_schedule_id_,
 			cs.actual_teacher_id_,
@@ -489,7 +494,8 @@
 			eer.submit_time_,
 			eer.is_replied_,
 			eer.is_replied_timely_,
-			ee.teacher_id_ ee_teacher_id_
+			ee.teacher_id_ ee_teacher_id_,
+			eer.music_score_id_
 		FROM
 			extracurricular_exercises_reply eer
 			LEFT JOIN extracurricular_exercises ee ON eer.extracurricular_exercises_id_=ee.id_

+ 11 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/ExtracurricularExercisesController.java

@@ -108,6 +108,17 @@ public class ExtracurricularExercisesController extends BaseController {
         return succeed(extracurricularExercisesService.findExtraExercilses(queryInfo));
     }
 
+    @ApiOperation(value = "获取已布置训练列表(包含课后,课外)")
+    @GetMapping("/findExtraExercilsesHomeworks")
+    private HttpResponseResult findExtraExercilsesHomeworks(ExtraExercilseQueryInfo queryInfo){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(Objects.isNull(sysUser)){
+            return failed(HttpStatus.FORBIDDEN,"请登录");
+        }
+        queryInfo.setTeacherId(sysUser.getId());
+        return succeed(extracurricularExercisesService.findExtraExercilsesHomeworks(queryInfo));
+    }
+
     @ApiOperation(value = "获取课外训练详情")
     @GetMapping("/findStudentExtraExerciseDetail")
     private HttpResponseResult findStudentExtraExerciseDetail(Long studentExerciseId){