Kaynağa Gözat

修复评卷质量隐藏姓名;修复问题卷列表科组长显示问题;修复试评问题

ting.yin 4 yıl önce
ebeveyn
işleme
85a63a48c0

+ 11 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/query/ProblemHistorySearchQuery.java

@@ -3,6 +3,7 @@ package cn.com.qmth.stmms.biz.mark.query;
 import cn.com.qmth.stmms.biz.common.BaseQuery;
 import cn.com.qmth.stmms.biz.mark.model.ProblemHistory;
 import cn.com.qmth.stmms.common.enums.HistoryStatus;
+
 import org.springframework.data.domain.Sort;
 import org.springframework.data.domain.Sort.Direction;
 
@@ -26,6 +27,8 @@ public class ProblemHistorySearchQuery extends BaseQuery<ProblemHistory> {
 
     private int userId;
 
+    private String subjectCodeIn;
+
     public void orderByExamNumber() {
         setSort(new Sort(Direction.ASC, "examNumber"));
     }
@@ -102,4 +105,12 @@ public class ProblemHistorySearchQuery extends BaseQuery<ProblemHistory> {
         this.groupNumber = groupNumber;
     }
 
+    public String getSubjectCodeIn() {
+        return subjectCodeIn;
+    }
+
+    public void setSubjectCodeIn(String subjectCodeIn) {
+        this.subjectCodeIn = subjectCodeIn;
+    }
+
 }

+ 14 - 3
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/ProblemHistoryServiceImpl.java

@@ -6,6 +6,7 @@ import cn.com.qmth.stmms.biz.mark.model.ProblemHistory;
 import cn.com.qmth.stmms.biz.mark.query.ProblemHistorySearchQuery;
 import cn.com.qmth.stmms.biz.mark.service.ProblemHistoryService;
 import cn.com.qmth.stmms.common.enums.HistoryStatus;
+
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -16,6 +17,7 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
+
 import java.util.LinkedList;
 import java.util.List;
 
@@ -81,9 +83,18 @@ public class ProblemHistoryServiceImpl extends BaseQueryService<ProblemHistory>
                 if (query.getProblemId() != null) {
                     predicates.add(cb.equal(root.get("problemId"), query.getProblemId()));
                 }
-                return predicates.isEmpty() ?
-                        cb.conjunction() :
-                        cb.and(predicates.toArray(new Predicate[predicates.size()]));
+                if (StringUtils.isNotBlank(query.getSubjectCodeIn())) {
+                    String[] list = query.getSubjectCodeIn().split(",");
+                    if (list.length > 0) {
+                        Predicate[] sub = new Predicate[list.length];
+                        for (int i = 0; i < list.length; i++) {
+                            sub[i] = cb.equal(root.get("subjectCode"), list[i]);
+                        }
+                        predicates.add(cb.or(sub));
+                    }
+                }
+                return predicates.isEmpty() ? cb.conjunction() : cb.and(predicates.toArray(new Predicate[predicates
+                        .size()]));
             }
         };
     }

+ 4 - 4
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/TaskServiceImpl.java

@@ -221,13 +221,13 @@ public class TaskServiceImpl implements TaskService {
 
     private List<MarkStepDTO> buildTrialStep(MarkGroup group, TrialHistory history) {
         List<MarkStepDTO> list = new LinkedList<MarkStepDTO>();
-        if (history == null) {
-            return list;
-        }
         List<ExamQuestion> sList = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(group.getExamId(),
                 group.getSubjectCode(), false, group.getNumber());
         int number = 0;
-        List<TrialTrack> tracks = trialService.findTrack(history.getLibraryId(), history.getMarkerId());
+        List<TrialTrack> tracks = new ArrayList<TrialTrack>();
+        if (history != null) {
+            tracks = trialService.findTrack(history.getLibraryId(), history.getMarkerId());
+        }
         for (ExamQuestion question : sList) {
             number++;
             MarkStepDTO step = buildStep(number, question);

+ 5 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ProblemHistoryController.java

@@ -7,6 +7,7 @@ import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
 
+import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -74,6 +75,10 @@ public class ProblemHistoryController extends BaseExamController {
         for (ProblemType problemType : problemTypes) {
             problemMap.put(problemType.getId(), problemType);
         }
+        if (wu.isSubjectHeader() && StringUtils.isBlank(query.getSubjectCode())) {
+            String subjectCodeIn = StringUtils.join(wu.getSubjectCodeSet(), ",");
+            query.setSubjectCodeIn(subjectCodeIn);
+        }
         query.setExamId(examId);
         query.setStatus(HistoryStatus.WAITING);
         query.orderByExamNumber();

+ 3 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/qualityProcess.jsp

@@ -52,7 +52,9 @@
                 'header-mark-status': {
                     title: '${subject.code}_${subject.name}_${group.title}'
                 },
-                'quality-process': {},
+                'quality-process': {
+                	forbiddenInfo:${(web_user.subjectHeader==true||web_user.schoolViewer==true) && forbiddenInfo==true}
+                },
                 'sheet-view': {
                     server: '${fileServer}'
                 },

+ 6 - 1
stmms-web/src/main/webapp/static/mark-new/js/modules/quality-process.js

@@ -13,6 +13,7 @@ function QualityProcess(option) {
     this.markerId = 0;
     this.markerScore = 0;
     this.taskList = [];
+    this.forbiddenInfo = option.forbiddenInfo;
     this.init();
 
     this.markControl.on('task.get.none', this, function(event, context, data) {
@@ -68,7 +69,11 @@ QualityProcess.prototype.render = function(taskList,pageNumber) {
 			var history = historyList[i];          
 			var row = getDom(this.history_row_dom, this.markControl).appendTo(this.container.list);
             row.find('.history-id').html(history.studentNumber);
-            row.find('.history-name').html(history.studentName);
+            if(this.forbiddenInfo){
+            	row.find('.history-name').html("***");
+            }else{
+            	row.find('.history-name').html(history.studentName);
+            }
             row.find('.history-score').html(history.totalScore);
             row.attr('data-index', i);
     	}