Ver Fonte

fix科目拆分

xiatian há 10 meses atrás
pai
commit
9ab6e4ace2

+ 6 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/ExamStudentDao.java

@@ -6,16 +6,16 @@ import java.util.List;
 import java.util.Set;
 
 import org.springframework.data.domain.Pageable;
+import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.PagingAndSortingRepository;
 
 import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
 import cn.com.qmth.stmms.common.enums.SubjectiveStatus;
 
 public interface ExamStudentDao
-        extends PagingAndSortingRepository<ExamStudent, Integer>, JpaSpecificationExecutor<ExamStudent> {
+        extends JpaRepository<ExamStudent, Integer>,JpaSpecificationExecutor<ExamStudent> {
 
     public List<ExamStudent> findByExamId(int examId, Pageable pageable);
 
@@ -304,6 +304,10 @@ public interface ExamStudentDao
     @Modifying
     @Query("update ExamStudent s set s.inspectCount=?2 where s.id=?1 ")
 	public void updateInspectCount(Integer studentId, Integer inspectCount);
+    
+    @Modifying
+    @Query("update ExamStudent s set s.subjectCode=?2,s.subjectName=?3 where s.id=?1 ")
+	public void updateSubject(Integer studentId, String subjectCode,String subjectName);
 
     @Query("select s from ExamStudent s where s.schoolId=?1 and s.examId=?2 and s.subjectCode=?3 and s.studentCode=?4 ")
     public ExamStudent findBySchoolIdAndExamIdAndSubjectCodeAndStudentCode( Integer schoolId,Integer examId,

+ 2 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/ExamSubjectDao.java

@@ -3,16 +3,16 @@ package cn.com.qmth.stmms.biz.exam.dao;
 import java.util.List;
 import java.util.Set;
 
+import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.PagingAndSortingRepository;
 
 import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
 import cn.com.qmth.stmms.biz.exam.model.ExamSubjectPK;
 
 public interface ExamSubjectDao
-        extends PagingAndSortingRepository<ExamSubject, ExamSubjectPK>, JpaSpecificationExecutor<ExamSubject> {
+        extends JpaRepository<ExamSubject, ExamSubjectPK>, JpaSpecificationExecutor<ExamSubject> {
 	
 	@Modifying
     @Query(value = "delete es from eb_exam_subject es "

+ 4 - 4
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ExamSubjectServiceImpl.java

@@ -467,7 +467,7 @@ public class ExamSubjectServiceImpl extends BaseQueryService<ExamSubject> implem
 					es.setDisplayQuestionName(true);
 					es.setInspectRound(1);
 					es.setSelective(false);
-					subjectDao.save(es);
+					subjectDao.saveAndFlush(es);
 				} else {
 					long count = markGroupService.countByExamAndSubject(examId, vo.getSubjectCode());
 					if (count > 0) {
@@ -475,10 +475,10 @@ public class ExamSubjectServiceImpl extends BaseQueryService<ExamSubject> implem
 					}
 				}
 				validSubjects.add(vo.getSubjectCode());
+				vo.getStudent().setSubjectCode(es.getCode());
+				vo.getStudent().setSubjectName(es.getName());
 			}
-			vo.getStudent().setSubjectCode(vo.getSubjectCode());
-			vo.getStudent().setSubjectName(vo.getSubjectName());
-			examStudentDao.save(vo.getStudent());
+			examStudentDao.updateSubject(vo.getStudent().getId(),vo.getStudent().getSubjectCode(),vo.getStudent().getSubjectName());
 		}
 		subjectDao.updateUploadCountByExamId(examId);
 		subjectDao.deleteNoStudentByExamId(examId);