Procházet zdrojové kódy

修复科组长只显示该科目及导出

ting.yin před 6 roky
rodič
revize
3ff6f7a144

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

@@ -150,9 +150,9 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
         int result = 0;
         if (subject != null && count > 0) {
             int start = 1;
-            Marker previous = findLastMarker(subject.getExamId(), subject.getCode());
+            Marker previous = findLastMarker(subject.getExamId());
             if (previous != null) {
-                start = previous.getNumber() + 1;
+                start = previous.getId() + 1;
             }
             int end = start + count - 1;
             for (; start <= end; start++) {
@@ -185,14 +185,15 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
         return result;
     }
 
-    private Marker findLastMarker(int examId, String subjectCode) {
+    private Marker findLastMarker(int examId) {
         BaseQuery<Marker> query = new BaseQuery<Marker>();
         query.setPageNumber(1);
         query.setPageSize(1);
         query.setSort(new Sort(Direction.DESC, "id"));
         List<Marker> list = markerDao.findByExamId(examId, query);
         if (list != null && list.size() > 0) {
-            return Marker.parseLoginName(list.get(0).getLoginName());
+//            return Marker.parseLoginName(list.get(0).getLoginName());
+        	return list.get(0);
         } else {
             return null;
         }

+ 10 - 4
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkController.java

@@ -245,11 +245,17 @@ public class MarkController extends BaseParameterController {
             	list = markerService.getMarkCount(examId);
             }
             for (Marker marker : list) {
-            	for (ExamSubject subject : marker.getExamSubjects()) {
+            	if(subjectCode!=null){//科组长
             		MarkerInfoDTO dto = new MarkerInfoDTO(marker,
-            				subjectService.find(marker.getExamId(), subject.getCode()));
-            		result.add(dto);
-				}
+        					subjectService.find(marker.getExamId(), subjectCode));
+        			result.add(dto);
+            	}else{
+            		for (ExamSubject subject : marker.getExamSubjects()) {
+            			MarkerInfoDTO dto = new MarkerInfoDTO(marker,
+            					subjectService.find(marker.getExamId(), subject.getCode()));
+            			result.add(dto);
+            		}
+            	}
             }
 
             try {

+ 9 - 2
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/parameter/ExamMarkerInfoController.java

@@ -22,6 +22,7 @@ import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
 import cn.com.qmth.stmms.biz.mark.query.MarkLibrarySearchQuery;
 import cn.com.qmth.stmms.biz.mark.service.MarkLibraryService;
 import cn.com.qmth.stmms.common.enums.LibraryStatus;
+import cn.com.qmth.stmms.common.utils.RequestUtils;
 
 @Controller("examMarkerInfoController")
 @RequestMapping("/admin/exam-param/markerInfo")
@@ -78,12 +79,18 @@ public class ExamMarkerInfoController extends BaseParameterController {
             @RequestParam(required = false) Integer markerId) {
         int examId = getSessionExamId(request);
         if (examId > 0) {
+        	String subjectCode = RequestUtils.getSession(request).getParameter("subjectCode");
             query.setStatus(LibraryStatus.MARKED);
             if (markerId != null) {
                 query.setMarkerId(markerId);
             }
-            List<ExamSubject> examSubjects = examSubjectService.findExamSubjectByMarkerId(examId, markerId,
-                    LibraryStatus.MARKED);
+            List<ExamSubject> examSubjects = new ArrayList<ExamSubject>();
+            if(subjectCode!=null){//科组长
+            	examSubjects.add(examSubjectService.find(examId, subjectCode));
+            }else{
+            	examSubjects = examSubjectService.findExamSubjectByMarkerId(examId, markerId,
+            			LibraryStatus.MARKED);
+            }
             List<MarkerDTO> MarkerDTOs = new ArrayList<MarkerDTO>();
             if (examSubjects != null && examSubjects.size() > 0) {
                 // query = markLibraryService.findGroupByQuery(query);