Browse Source

作业状态

liujc 2 năm trước cách đây
mục cha
commit
4b06d760eb

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

@@ -10,10 +10,7 @@ import com.ym.mec.biz.dal.dto.ExtraExerciseStudentsDto;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.dto.StudentHomeworkRecordDto;
 import com.ym.mec.biz.dal.entity.*;
-import com.ym.mec.biz.dal.enums.EHomeWorkStatus;
-import com.ym.mec.biz.dal.enums.ELessonTrainingType;
-import com.ym.mec.biz.dal.enums.MessageTypeEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.ExtraExercilseQueryInfo;
 import com.ym.mec.biz.dal.page.ExtraExercilseReplyQueryInfo;
 import com.ym.mec.biz.dal.page.StudentCourseHomeWorkQueryInfo;
@@ -319,6 +316,7 @@ public class ExtracurricularExercisesReplyServiceImpl extends BaseServiceImpl<Lo
             studentHomeworkRecordDto.setClassGroupId(row.getClassGroupId());
             studentHomeworkRecordDto.setType(ELessonTrainingType.valueOf(row.getType()));
             studentHomeworkRecordDto.setSubmitTime(row.getSubmitTime());
+            studentHomeworkRecordDto.setStandardFlag(row.getStandardFlag());
             recordDtoList.add(studentHomeworkRecordDto);
         }
 
@@ -363,10 +361,14 @@ public class ExtracurricularExercisesReplyServiceImpl extends BaseServiceImpl<Lo
             }
 
             // 设置完成状态
-            if (studentHomeworkRecordDto.getStatus() == 0) {
+            if (studentHomeworkRecordDto.getStandardFlag() == null) {
                 studentHomeworkRecordDto.setFinishStatus(false);
-            } else {
+            } else
+            if (studentHomeworkRecordDto.getStandardFlag().equals(StandardEnum.STANDARD)
+                    || studentHomeworkRecordDto.getStandardFlag().equals(StandardEnum.EXCELLENT)){
                 studentHomeworkRecordDto.setFinishStatus(true);
+            } else {
+                studentHomeworkRecordDto.setFinishStatus(false);
             }
 
             // 设置提交时间

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

@@ -95,9 +95,9 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
     @Autowired
     private SysMusicScoreDao sysMusicScoreDao;
     @Autowired
-	private MusicGroupTrainPlanService musicGroupTrainPlanService;
+    private MusicGroupTrainPlanService musicGroupTrainPlanService;
     @Autowired
-	private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
+    private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
 
     @Autowired
     private ExtracurricularExercisesReplyService extracurricularExercisesReplyService;
@@ -222,27 +222,27 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
         CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleID);
         
         if(courseSchedule == null){
-        	throw new BizException("课程不存在");
+            throw new BizException("课程不存在");
         }
 
         MusicGroupTrainPlan musicGroupTrainPlan = null;
-		//获取课程规划
-		MusicGroupTrainPlanSaveDto schoolTerm = musicGroupTrainPlanService.getSchoolTerm(courseSchedule);
-		int courseNumNo = courseScheduleDao.getCourseNumNo(schoolTerm);
-		List<MusicGroupTrainPlan> planList = musicGroupTrainPlanService.queryPlan(schoolTerm);
-		if(planList.size() >= courseNumNo){
-			musicGroupTrainPlan = planList.get(courseNumNo - 1);
-		}
-		
+        //获取课程规划
+        MusicGroupTrainPlanSaveDto schoolTerm = musicGroupTrainPlanService.getSchoolTerm(courseSchedule);
+        int courseNumNo = courseScheduleDao.getCourseNumNo(schoolTerm);
+        List<MusicGroupTrainPlan> planList = musicGroupTrainPlanService.queryPlan(schoolTerm);
+        if(planList.size() >= courseNumNo){
+            musicGroupTrainPlan = planList.get(courseNumNo - 1);
+        }
+
         CourseHomeworkStudentDetailDto courseHomeworkStudentDetail = studentCourseHomeworkDao.findCourseHomeworkStudentDetail(courseScheduleID, userId);
         if(courseHomeworkStudentDetail == null){
-        	courseHomeworkStudentDetail = new CourseHomeworkStudentDetailDto();
-			courseHomeworkStudentDetail.setMusicGroupTrainPlan(musicGroupTrainPlan);
-        	return courseHomeworkStudentDetail;
+            courseHomeworkStudentDetail = new CourseHomeworkStudentDetailDto();
+            courseHomeworkStudentDetail.setMusicGroupTrainPlan(musicGroupTrainPlan);
+            return courseHomeworkStudentDetail;
         }
         courseHomeworkStudentDetail.setExpire(DateUtil.isOverdue(courseHomeworkStudentDetail.getSubmitTime(),
                 sysConfigDao.findConfigValue("file_expiration_time")));
-		courseHomeworkStudentDetail.setMusicGroupTrainPlan(musicGroupTrainPlan);
+        courseHomeworkStudentDetail.setMusicGroupTrainPlan(musicGroupTrainPlan);
         
         SysUser sysUser = teacherDao.getUser(userId.intValue());
         courseHomeworkStudentDetail.setStudentId(userId.intValue());
@@ -928,7 +928,6 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
     /**
      * 添加学生作业练习记录
      *
-     * @param record
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -962,8 +961,9 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
                                        StandardEnum.NOT_START,
                                        StandardEnum.NOT_STANDARD)
                                    .list();
-        if (!CollectionUtils.isEmpty(list)) {
-            return true;
+        Boolean finish = false;
+        if (CollectionUtils.isEmpty(list)) {
+            finish =  true;
         }
 
         // 设置个人作业练习记录
@@ -976,29 +976,33 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
             if (studentCourseHomework == null) {
                 throw new BizException("学生作业记录不存在");
             }
+            Boolean success = false;
             if (studentCourseHomework.getStandardFlag() == null) {
 
             } else
             if (studentCourseHomework.getStandardFlag().equals(StandardEnum.STANDARD)
                 || studentCourseHomework.getStandardFlag().equals(StandardEnum.EXCELLENT)){
-                return true;
+                success =  true;
             }
             // 设置作业完成
-            studentCourseHomework.setStandardFlag(StandardEnum.STANDARD);
+            if (Boolean.TRUE.equals(finish)) {
+                studentCourseHomework.setStandardFlag(StandardEnum.STANDARD);
+            }
             studentCourseHomework.setUpdateTime(new Date());
             studentCourseHomework.setSubmitTime(new Date());
             studentCourseHomeworkDao.update(studentCourseHomework);
 
-            // 添加完成人数
-            CourseHomework courseHomework = courseHomeworkDao.get(studentLessonTrainingDetail.getCourseHomeworkId());
-            if (courseHomework == null) {
-                throw new BizException("课程作业不存在");
-            }
-            if (courseHomework.getExpiryDate().compareTo(new Date()) < 0) {
-                throw new BizException("作业已截止");
+            if (Boolean.TRUE.equals(finish) && Boolean.TRUE.equals(!success)) {
+                // 添加完成人数
+                CourseHomework courseHomework = courseHomeworkDao.get(studentLessonTrainingDetail.getCourseHomeworkId());
+                if (courseHomework == null) {
+                    throw new BizException("课程作业不存在");
+                }
+                if (courseHomework.getExpiryDate().compareTo(new Date()) < 0) {
+                    throw new BizException("作业已截止");
+                }
+                courseHomeworkDao.updateFinishNum(studentLessonTrainingDetail.getCourseHomeworkId());
             }
-            courseHomeworkDao.updateFinishNum(studentLessonTrainingDetail.getCourseHomeworkId());
-
 
         } else {
             ExtracurricularExercisesReply exercisesReply = extracurricularExercisesReplyDao.getByExtraIdAndUserId(
@@ -1007,27 +1011,34 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
             if (exercisesReply == null) {
                 throw new BizException("学生作业记录不存在");
             }
+
+            Boolean success = false;
             if (exercisesReply.getStandardFlag() == null) {
 
             } else
             if (exercisesReply.getStandardFlag().equals(StandardEnum.STANDARD)
                 || exercisesReply.getStandardFlag().equals(StandardEnum.EXCELLENT)){
-                return true;
+                success = true;
             }
             // 设置作业完成
-            exercisesReply.setStandardFlag(StandardEnum.STANDARD);
+            if (Boolean.TRUE.equals(finish)) {
+                exercisesReply.setStandardFlag(StandardEnum.STANDARD);
+            }
             exercisesReply.setUpdateTime(new Date());
             exercisesReply.setSubmitTime(new Date());
             extracurricularExercisesReplyDao.update(exercisesReply);
             // 添加完成人数
-            ExtracurricularExercises extracurricularExercises = extracurricularExercisesDao.get(studentLessonTrainingDetail.getCourseHomeworkId());
-            if (extracurricularExercises == null) {
-                throw new BizException("课外作业不存在");
-            }
-            if (extracurricularExercises.getExpireDate().compareTo(new Date()) < 0) {
-                throw new BizException("作业已截止");
+            if (Boolean.TRUE.equals(finish) && Boolean.TRUE.equals(!success)) {
+                ExtracurricularExercises extracurricularExercises = extracurricularExercisesDao.get(studentLessonTrainingDetail.getCourseHomeworkId());
+                if (extracurricularExercises == null) {
+                    throw new BizException("课外作业不存在");
+                }
+                if (extracurricularExercises.getExpireDate().compareTo(new Date()) < 0) {
+                    throw new BizException("作业已截止");
+                }
+                extracurricularExercisesDao.updateFinishNum(studentLessonTrainingDetail.getCourseHomeworkId());
             }
-            extracurricularExercisesDao.updateFinishNum(studentLessonTrainingDetail.getCourseHomeworkId());
+
         }
         return true;
     }

+ 36 - 59
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -4130,35 +4130,17 @@
         SELECT COUNT(*) FROM course_schedule where settlement_report_flag_ = 1 and id_ = #{courseScheduleId}
     </select>
 
-    <select id="queryTeacherServeHomeworkDetailV2"
-            resultType="com.ym.mec.biz.dal.dto.CourseHomeworkWrapper$CourseHomeworkList">
-        SELECT
-        cs.id_ as courseScheduleId,
-        ch.id_ as courseHomeworkId,
-        cs.class_date_ as classDate,
-        cs.start_class_time_ as startTime,
-        cs.end_class_time_ as endTime,
-        if(ch.id_ is null,'UNASSIGNED',if(ch.expiry_date_ &lt; now(),'DEADLINE','ASSIGNED')) as homeWorkStatus,
-        cs.teacher_id_ as teacherId,
-        cs.music_group_id_ as musicGroupId,
-        cs.type_ as classType,
-        cs.teach_mode_ as teachMode,
-        cs.class_group_id_ as classGroupId,
-        ch.create_time_ as assignTime,
-        ch.expiry_date_ as expiryDate,
-        ch.completed_num_ as finishNum,
-        cs.name_ as courseScheduleName,
-        ch.expect_num_ as studentNum
-        from course_schedule cs
-        left join course_homework ch on cs.id_ = ch.course_schedule_id_
-
-        <where>
-            <if test="param.teacherId != null">
-                and (cs.teacher_id_ = #{param.teacherId} or cs.actual_teacher_id_ = #{param.teacherId})
+    <sql id="selectPage">
+        <if test="param.teacherId != null">
+                and ( cs.actual_teacher_id_ = #{param.teacherId})
             </if>
-            <if test="param.classType != null">
+            <if test="param.classType != null and param.classType != ''">
                 and cs.type_ = #{param.classType}
             </if>
+
+            <if test="param.musicGroupId != null ">
+                and #{param.musicGroupId} = cs.music_group_id_
+            </if>
             <if test="param.homeWorkStatus != null">
                 <if test="param.homeWorkStatus.code == 'UNASSIGNED'">
                     and ch.id_ is null
@@ -4179,9 +4161,34 @@
             <if test="param.courseScheduleId != null">
                 and cs.id_ = #{param.courseScheduleId}
             </if>
-            <if test="param.versionTag !=null">
+            <if test="param.versionTag !=null and param.versionTag != ''">
                 and (ch.version_tag_ = #{param.versionTag} or ch.version_tag_ is null)
             </if>
+    </sql>
+    <select id="queryTeacherServeHomeworkDetailV2"
+            resultType="com.ym.mec.biz.dal.dto.CourseHomeworkWrapper$CourseHomeworkList">
+        SELECT
+        cs.id_ as courseScheduleId,
+        ch.id_ as courseHomeworkId,
+        cs.class_date_ as classDate,
+        cs.start_class_time_ as startTime,
+        cs.end_class_time_ as endTime,
+        if(ch.id_ is null,'UNASSIGNED',if(ch.expiry_date_ &lt; now(),'DEADLINE','ASSIGNED')) as homeWorkStatus,
+        cs.teacher_id_ as teacherId,
+        cs.music_group_id_ as musicGroupId,
+        cs.type_ as classType,
+        cs.teach_mode_ as teachMode,
+        cs.class_group_id_ as classGroupId,
+        ch.create_time_ as assignTime,
+        ch.expiry_date_ as expiryDate,
+        ch.completed_num_ as finishNum,
+        cs.name_ as courseScheduleName,
+        ch.expect_num_ as studentNum
+        from course_schedule cs
+        left join course_homework ch on cs.id_ = ch.course_schedule_id_
+
+        <where>
+            <include refid="selectPage"/>
 
         </where>
         <if test="param.offset != null">
@@ -4196,38 +4203,8 @@
         left join course_homework ch on cs.id_ = ch.course_schedule_id_
 
         <where>
-            <if test="param.teacherId != null">
-                and (cs.actual_teacher_id_ = #{param.teacherId})
-            </if>
-            <if test="param.musicGroupId != null">
-                and #{param.musicGroupId} = cs.music_group_id_
-            </if>
-            <if test="param.classType != null">
-                and cs.type_ = #{param.classType}
-            </if>
-            <if test="param.homeWorkStatus != null">
-                <if test="param.homeWorkStatus.code == 'UNASSIGNED'">
-                    and ch.id_ is null
-                </if>
-                <if test="param.homeWorkStatus.code == 'ASSIGNED'">
-                    and ch.id_ is not null
-                </if>
-                <if test="param.homeWorkStatus.code == 'DEADLINE'">
-                    and ch.id_ is not null and ch.expiry_date_ &lt; now()
-                </if>
-            </if>
-            <if test="courseIds != null and courseIds.size() != 0">
-                and cs.id_ in
-                <foreach collection="courseIds" item="courseId" open="(" separator="," close=")">
-                    #{courseId}
-                </foreach>
-            </if>
-            <if test="param.courseScheduleId != null">
-                and cs.id_ = #{param.courseScheduleId}
-            </if>
-            <if test="param.versionTag !=null">
-                and (ch.version_tag_ = #{param.versionTag} or ch.version_tag_ is null)
-            </if>
+
+            <include refid="selectPage"/>
         </where>
     </select>
 </mapper>