1
0
Эх сурвалжийг харах

导入修改评卷员功能的逻辑判断

nikang 6 жил өмнө
parent
commit
54b0691c21

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

@@ -43,4 +43,6 @@ public interface MarkerDao extends PagingAndSortingRepository<Marker, Integer>,
 
     @Query("select count(m) from Marker m where m.loginName=?1")
     public long countByLoginName(String loginName);
+
+    public List<Marker> findByCommon(boolean common);
 }

+ 3 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/MarkerService.java

@@ -37,7 +37,9 @@ public interface MarkerService {
     List<Marker> getMarkCount(int examId);
 
 	List<Marker> findExamAndCommon(int examId, boolean common);
-	
+
+	List<Marker> findCommon(boolean commo);
+
 	public Marker findByStudentId(int studentId);
 
     public int batchSave(List<Marker> list);

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

@@ -274,4 +274,9 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
     public long countByLoginName(String loginName){
         return markerDao.countByLoginName(loginName);
     }
+
+    @Override
+    public List<Marker> findCommon(boolean commo) {
+        return markerDao.findByCommon(commo);
+    }
 }

+ 17 - 7
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/parameter/ExamMarkerController.java

@@ -532,10 +532,12 @@ public class ExamMarkerController extends BaseParameterController {
             List<MarkerDTO> list = ei.getDataList(MarkerDTO.class);
             List<Marker> saveList = new LinkedList<Marker>();
             Map<String, Marker> current = null;
-            current = new HashMap<String, Marker>();
-            List<Marker> list2 = markerService.findExamAndCommon(examId,false);
-            for (Marker s : list2) {
-                current.put(s.getLoginName(), s);
+            List<Marker> list2 = markerService.findCommon(false);
+            if(list2.size()<10000){
+                current = new HashMap<String, Marker>();
+                for (Marker s : list2) {
+                    current.put(s.getLoginName(), s);
+                }
             }
             for (MarkerDTO markerDTO : list) {
                 if (StringUtils.isBlank(markerDTO.getSubjectCode()) || StringUtils.isBlank(markerDTO.getLoginName())
@@ -593,14 +595,23 @@ public class ExamMarkerController extends BaseParameterController {
 
     //校验excel中数据
     public MarkerExcelError checkExcelData(MarkerDTO markerDTO,Map<String, Marker> current ){
-        Marker marker = current.get(markerDTO.getLoginName());
         if(markerDTO != null){
+            Marker marker = null;
+            if(current == null){
+                marker = markerService.findByLoginName(markerDTO.getLoginName());
+            }else {
+                marker = current.get(markerDTO.getLoginName());
+            }
             if(markerDTO.getPassword().length() < 4){
                 return MarkerExcelError.MARKERPWERROR;
             }
             if(marker != null){
                 if(marker.getSubjectCode().equals(markerDTO.getSubjectCode())){
-                    if(markerService.countByLoginName(markerDTO.getNewLoginName()) > 0) return MarkerExcelError.MARKERNEWMISS;
+                    if(markerService.countByLoginName(markerDTO.getNewLoginName()) > 0){
+                        return MarkerExcelError.MARKERNEWMISS;
+                    }else {
+                        return MarkerExcelError.MARKER;
+                    }
                 }else{
                     return  MarkerExcelError.MARKERCODEMISS;
                 }
@@ -610,6 +621,5 @@ public class ExamMarkerController extends BaseParameterController {
         }else {
           return   MarkerExcelError.MARKERNOTINFO;
         }
-        return MarkerExcelError.MARKER;
     }
 }