Преглед на файлове

修改人工指定缺考名单更新接口,改为按准考证号批量更新

luoshi преди 6 години
родител
ревизия
41c440cf24

+ 4 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/ExamStudentDao.java

@@ -58,6 +58,10 @@ public interface ExamStudentDao
     @Query("update ExamStudent s set s.manualAbsent=?2 where s.id=?1")
     public void updateManualAbsent(int id, boolean manualAbsent);
 
+    @Modifying
+    @Query("update ExamStudent s set s.manualAbsent=?2 where s.examId=?1 and s.examNumber=?2")
+    public void updateManualAbsent(int examId, String examNumber, boolean manualAbsent);
+
     @Modifying
     @Query("update ExamStudent s set s.manualAbsent=0 where s.examId=?1")
     public void clearManualAbsent(int examId);

+ 2 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/ExamStudentService.java

@@ -65,6 +65,8 @@ public interface ExamStudentService {
 
     void updateManualAbsent(int id, boolean manualAbsent);
 
+    void updateManualAbsent(int examId, String examNumber, boolean manualAbsent);
+
     void clearManualAbsent(int examId);
 
     void updateException(int id, boolean exception);

+ 6 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ExamStudentServiceImpl.java

@@ -410,6 +410,12 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
         studentDao.updateManualAbsent(id, manualAbsent);
     }
 
+    @Override
+    @Transactional
+    public void updateManualAbsent(int examId, String examNumber, boolean manualAbsent) {
+        studentDao.updateManualAbsent(examId, examNumber, manualAbsent);
+    }
+
     @Override
     @Transactional
     public void clearManualAbsent(int examId) {

+ 2 - 12
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/ExamStudentController.java

@@ -75,20 +75,10 @@ public class ExamStudentController extends BaseApiController {
         User user = RequestUtils.getApiUser(request);
         Exam exam = examService.findById(examId);
         if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
-            JSONArray array = new JSONArray();
             for (MenualAbsentDTO dto : datas) {
-                ExamStudent student = examStudentService.findByExamIdAndSubjectCodeAndStudentCode(examId,
-                        dto.getSubjectCode(), dto.getStudentCode());
-                if (student != null) {
-                    if (student.isManualAbsent() != dto.isAbsent()) {
-                        examStudentService.updateManualAbsent(student.getId(), dto.isAbsent());
-                    }
-                    array.add(student.getExamNumber());
-                } else {
-                    array.add("");
-                }
+                examStudentService.updateManualAbsent(examId, dto.getExamNumber(), dto.isAbsent());
             }
-            return array;
+            return true;
         } else {
             throw ApiException.EXAM_NOT_ACCESSIBLED;
         }

+ 9 - 19
stmms-web/src/main/java/cn/com/qmth/stmms/api/utils/MenualAbsentDTO.java

@@ -2,28 +2,10 @@ package cn.com.qmth.stmms.api.utils;
 
 public class MenualAbsentDTO {
 
-    private String studentCode;
-
-    private String subjectCode;
+    private String examNumber;
 
     private boolean absent;
 
-    public String getStudentCode() {
-        return studentCode;
-    }
-
-    public void setStudentCode(String studentCode) {
-        this.studentCode = studentCode;
-    }
-
-    public String getSubjectCode() {
-        return subjectCode;
-    }
-
-    public void setSubjectCode(String subjectCode) {
-        this.subjectCode = subjectCode;
-    }
-
     public boolean isAbsent() {
         return absent;
     }
@@ -31,4 +13,12 @@ public class MenualAbsentDTO {
     public void setAbsent(boolean absent) {
         this.absent = absent;
     }
+
+    public String getExamNumber() {
+        return examNumber;
+    }
+
+    public void setExamNumber(String examNumber) {
+        this.examNumber = examNumber;
+    }
 }