1
0
xiatian 10 mēneši atpakaļ
vecāks
revīzija
fba656ac94

+ 17 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/ExamStudentDao.java

@@ -219,7 +219,19 @@ public interface ExamStudentDao
 
     @Query("select sum(s.sheetCount) from ExamStudent s where s.examId=?1 ")
     public Long sumSheetCountByExamId(Integer examId);
-
+    
+    @Query("select sum(s.objectivePageCount) from ExamStudent s where s.examId=?1 ")
+    public Long sumObjectivePageCountByExamId(Integer examId);
+    
+    @Query("select count(*) from ExamStudent s where s.examId=?1 and s.objectivePageCount>0")
+    public Long sumObjectiveByExamId(Integer examId);
+    
+    @Query("select count(*) from ExamStudent s where s.examId=?1 and s.sheetCount>0")
+    public Long sumSubjectiveByExamId(Integer examId);
+    
+    @Query("select count(*) from ExamStudent s where s.examId=?1 and (s.sheetCount>0 or s.objectivePageCount>0)")
+    public Long sumAllUploadByExamId(Integer examId);
+    
     @Query("select sum(s.sheetCount) from ExamStudent s where s.examId=?1 and s.subjectCode=?2 ")
     public Long sumSheetCountByExamIdAndSubjectCode(int examId, String subjectCode);
 
@@ -296,4 +308,8 @@ public interface ExamStudentDao
     @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,
                                                                            String subjectCode, String studentCode);
+
+    @Modifying
+    @Query("update ExamStudent s set s.objectivePageCount=?2 where s.id=?1")
+	public int updateObjectivePageCount(Integer id, Integer objectivePageCount);
 }

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

@@ -218,4 +218,14 @@ public interface ExamStudentService {
     ExamStudent findBySchoolIdAndExamIdAndSubjectCodeAndStudentCode( Integer schoolId,Integer examId, String subjectCode, String studentCode);
 
     List<ExamStudent> findByExamIdAndSubjectCodeAndTrial(Integer examId, String subjectCode, boolean isTrial);
+
+	public boolean saveObjectivePageCount(ExamStudent student);
+
+	long countObjectivePageCountByExamId(Integer examId);
+
+	long countObjectiveByExamId(Integer examId);
+
+	long countSubjectiveByExamId(Integer examId);
+
+	long countAllUploadByExamId(Integer examId);
 }

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

@@ -1240,7 +1240,26 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
         return list.get(RandomUtils.nextInt(list.size()));
 
     }
-
+    @Override
+    public long countAllUploadByExamId(Integer examId) {
+        Long count = studentDao.sumAllUploadByExamId(examId);
+        return count == null ? 0 : count;
+    }
+    @Override
+    public long countSubjectiveByExamId(Integer examId) {
+        Long count = studentDao.sumSubjectiveByExamId(examId);
+        return count == null ? 0 : count;
+    }
+    @Override
+    public long countObjectiveByExamId(Integer examId) {
+        Long count = studentDao.sumObjectiveByExamId(examId);
+        return count == null ? 0 : count;
+    }
+    @Override
+    public long countObjectivePageCountByExamId(Integer examId) {
+        Long count = studentDao.sumObjectivePageCountByExamId(examId);
+        return count == null ? 0 : count;
+    }
     @Override
     public long countSheetCountByExamId(Integer examId) {
         Long count = studentDao.sumSheetCountByExamId(examId);
@@ -1696,4 +1715,10 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
         query.setPageSize(Integer.MAX_VALUE);
         return findByQuery(query).getResult();
     }
+
+    @Transactional
+	@Override
+	public boolean saveObjectivePageCount(ExamStudent student) {
+		return studentDao.updateObjectivePageCount(student.getId(), student.getObjectivePageCount()) > 0;
+	}
 }

+ 8 - 1
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ExamController.java

@@ -313,7 +313,14 @@ public class ExamController extends BaseExamController {
         model.addAttribute("year", Calendar.getInstance().get(Calendar.YEAR));
         model.addAttribute("subjectCount", subjectService.count(examId));
         model.addAttribute("studentCount", studentService.countByExamId(examId));
-        model.addAttribute("sheetCount", studentService.countSheetCountByExamId(examId) / 2);
+        model.addAttribute("subjectiveStudentCount", studentService.countSubjectiveByExamId(examId));
+        long sheetCount=studentService.countSheetCountByExamId(examId) / 2;
+        model.addAttribute("sheetCount", sheetCount);
+        model.addAttribute("objectiveStudentCount", studentService.countObjectiveByExamId(examId));
+        long objectivePaperCount=studentService.countObjectivePageCountByExamId(examId) / 2;
+        model.addAttribute("objectivePaperCount", objectivePaperCount);
+        model.addAttribute("allUploadStudentCount", studentService.countAllUploadByExamId(examId));
+        model.addAttribute("totalPaperCount", objectivePaperCount+sheetCount);
         return "modules/exam/examExport";
     }
 }

+ 9 - 30
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/ScanController.java

@@ -18,7 +18,6 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import cn.com.qmth.stmms.api.dto.RefixStudent;
 import cn.com.qmth.stmms.api.exception.ApiException;
-import cn.com.qmth.stmms.api.utils.ScanStudentA4Parameter;
 import cn.com.qmth.stmms.api.utils.ScanStudentObjectivePageCountParameter;
 import cn.com.qmth.stmms.api.utils.ScanStudentParameter;
 import cn.com.qmth.stmms.biz.exam.model.CheckStudent;
@@ -91,35 +90,15 @@ public class ScanController extends BaseApiController {
         if (scStudentParameter != null && scStudentParameter.length > 0) {
             for (ScanStudentObjectivePageCountParameter sc : scStudentParameter) {
                 ExamStudent student = studentService.findByExamIdAndExamNumber(examId, sc.getExamNumber());
-////                if (student != null) {
-////                    student.setUpload(true);
-////                    student.setAbsent(sc.isAbsent());
-////                    student.setAnswers(sc.getAnswers().toUpperCase());
-////                    student.setBatchCode(sc.getBatchCode());
-////                    student.setSliceCount(sc.getSliceCount());
-////                    student.setSheetCount(sc.getSheetCount());
-////                    student.setObjectivePageCount(sc.getA4Count());
-////                    if (sc.getPaperType() != null) {
-////                        if (sc.getPaperType().matches(PAPER_TYPES_REGEX)) {
-////                            student.setPaperType(sc.getPaperType());
-////                        } else {
-////                            continue;
-////                        }
-////                    }
-////                    student.setCardNumber(sc.getCardNumber());
-////                    // 同步更新评卷任务
-////                    if (saveUploadStudent(student)) {
-////                        JSONObject obj = new JSONObject();
-////                        obj.accumulate("examNumber", student.getExamNumber());
-////                        obj.accumulate("uploadTime", DateUtils.formatDateTime(student.getUploadTime()));
-////                        array.add(obj);
-////                        // 增加人工审核数据
-////                        if (sc.isManual()) {
-////                            checkStudentService.save(new CheckStudent(student.getId(), examId,
-////                                    student.getSubjectCode(), CheckType.MANUAL));
-////                        }
-////                    }
-//                }
+                if (student != null) {
+                    student.setObjectivePageCount(sc.getObjectivePageCount());
+                    if (studentService.saveObjectivePageCount(student)) {
+                        JSONObject obj = new JSONObject();
+                        obj.accumulate("examNumber", student.getExamNumber());
+                        obj.accumulate("uploadTime", DateUtils.formatDateTime(student.getUploadTime()));
+                        array.add(obj);
+                    }
+                }
             }
         }
         return array;

+ 0 - 105
stmms-web/src/main/java/cn/com/qmth/stmms/api/utils/ScanStudentA4Parameter.java

@@ -1,105 +0,0 @@
-package cn.com.qmth.stmms.api.utils;
-
-public class ScanStudentA4Parameter {
-
-    private String examNumber;
-    
-    private int a4Count;
-    
-    private int sliceCount;
-
-    private int sheetCount;
-
-    private String answers;
-
-    private boolean absent;
-
-    private String batchCode;
-
-    private String paperType;
-
-    private boolean manual;
-
-    private Integer cardNumber;
-
-    public String getExamNumber() {
-        return examNumber;
-    }
-
-    public void setExamNumber(String examNumber) {
-        this.examNumber = examNumber;
-    }
-
-    public int getSliceCount() {
-        return sliceCount;
-    }
-
-    public void setSliceCount(int sliceCount) {
-        this.sliceCount = sliceCount;
-    }
-
-    public int getSheetCount() {
-        return sheetCount;
-    }
-
-    public void setSheetCount(int sheetCount) {
-        this.sheetCount = sheetCount;
-    }
-
-    public boolean isAbsent() {
-        return absent;
-    }
-
-    public void setAbsent(boolean absent) {
-        this.absent = absent;
-    }
-
-    public String getAnswers() {
-        return answers;
-    }
-
-    public void setAnswers(String answers) {
-        this.answers = answers;
-    }
-
-    public String getBatchCode() {
-        return batchCode;
-    }
-
-    public void setBatchCode(String batchCode) {
-        this.batchCode = batchCode;
-    }
-
-    public String getPaperType() {
-        return paperType;
-    }
-
-    public void setPaperType(String paperType) {
-        this.paperType = paperType;
-    }
-
-    public boolean isManual() {
-        return manual;
-    }
-
-    public void setManualUpdate(boolean manual) {
-        this.manual = manual;
-    }
-
-    public Integer getCardNumber() {
-        return cardNumber;
-    }
-
-    public void setCardNumber(Integer cardNumber) {
-        this.cardNumber = cardNumber;
-    }
-
-	public int getA4Count() {
-		return a4Count;
-	}
-
-	public void setA4Count(int a4Count) {
-		this.a4Count = a4Count;
-	}
-
-}

+ 6 - 6
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/examExport.jsp

@@ -63,8 +63,8 @@
             <p class="title bold">1、扫描阅卷</p>
             <p class="text-indent">
               已完成采集电子图像共<span class="border-b"><input class="w60" value="${subjectCount }"/></span>科目,
-              <span class="border-b"><input class="w60" value="${studentCount }"/></span>科次
-              <span class="border-b"><input class="w60" value="${sheetCount}"/></span>张答题卡,扫描阅卷过程规范,按时完成整个项目、结果无错误。
+              <span class="border-b"><input class="w60" value="${allUploadStudentCount }"/></span>科次
+              <span class="border-b"><input class="w60" value="${totalPaperCount}"/></span>张答题卡,扫描阅卷过程规范,按时完成整个项目、结果无错误。
             </p>
             <table class="my-table" border="1">
               <thead>
@@ -82,7 +82,7 @@
                   <td>
                     <input value="A3" />
                   </td>
-                  <td><input value="${studentCount}"/></td>
+                  <td><input value="${subjectiveStudentCount}"/></td>
                   <td><input value="${sheetCount}" /></td>
                   <td><input /></td>
                   <td><input /></td>
@@ -92,8 +92,8 @@
                   <td>
                     <input value="A4"/>
                   </td>
-                  <td><input /></td>
-                  <td><input /></td>
+                  <td><input value="${objectiveStudentCount}"/></td>
+                  <td><input value="${objectivePaperCount}"/></td>
                   <td><input /></td>
                   <td><input /></td>
                   <td><input /></td>
@@ -106,7 +106,7 @@
                   <td><input /></td>
                   <td><input /></td>
                   <td><span class="bold">共计:</span></td>
-                  <td><input value="${sheetCount }"/></td>
+                  <td><input value="${totalPaperCount }"/></td>
                 </tr>
               </tbody>
             </table>