Ver Fonte

删除-删除评卷员功能;修复打回或删除任务时特殊标记未删除问题

ting.yin há 6 anos atrás
pai
commit
e9659182f5

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

@@ -22,7 +22,7 @@ public interface MarkerDao extends PagingAndSortingRepository<Marker, Integer>,
 
     public List<Marker> findByExamIdAndSubjectCode(int examId, String subjectCode);
 
-    public List<Marker> findByExamIdAndSubjectCode(int examId, String subjectCode, Pageable page);
+    public List<Marker> findByExamId(int examId, Pageable page);
 
     public List<Marker> findByLoginName(String loginName);
 

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

@@ -190,7 +190,7 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
         query.setPageNumber(1);
         query.setPageSize(1);
         query.setSort(new Sort(Direction.DESC, "id"));
-        List<Marker> list = markerDao.findByExamIdAndSubjectCode(examId, subjectCode, query);
+        List<Marker> list = markerDao.findByExamId(examId, query);
         if (list != null && list.size() > 0) {
             return Marker.parseLoginName(list.get(0).getLoginName());
         } else {

+ 18 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/dao/MarkSpecialTagDao.java

@@ -1,6 +1,7 @@
 package cn.com.qmth.stmms.biz.mark.dao;
 
 import cn.com.qmth.stmms.biz.mark.model.MarkSpecialTag;
+
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
@@ -24,4 +25,21 @@ public interface MarkSpecialTagDao extends PagingAndSortingRepository<MarkSpecia
 
     public List<MarkSpecialTag> findByLibraryIdOrderByIdAsc(Integer libraryId);
 
+    @Modifying
+    @Query("delete from MarkSpecialTag s where s.libraryId in (select m.id from MarkLibrary m where m.markerId=?1 ) ")
+    public void deleteByMarkerId(Integer markerId);
+
+    @Modifying
+    @Query("delete from MarkSpecialTag s where s.libraryId in (select m.id from MarkLibrary m where m.examId=?1 and m.subjectCode=?2 )")
+    public void deleteByExamAndSubject(Integer examId, String subjectCode);
+	
+    @Modifying
+    @Query("delete from MarkSpecialTag s where exists "
+            + "(select l.id from MarkLibrary l where l.studentId=?1 and s.libraryId=l.id)")
+    public void deleteByStudentId(Integer studentId);
+
+    @Modifying
+    @Query("delete from MarkSpecialTag s where s.libraryId in (select m.id from MarkLibrary m where m.examId=?1 )")
+	public void deleteByExam(int examId);
+
 }

+ 12 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkLibraryServiceImpl.java

@@ -27,6 +27,7 @@ import cn.com.qmth.stmms.biz.mark.dao.MarkLibraryDao;
 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.biz.mark.service.MarkSpecialTagService;
 import cn.com.qmth.stmms.biz.mark.service.MarkTrackService;
 import cn.com.qmth.stmms.common.enums.LibraryStatus;
 
@@ -38,6 +39,9 @@ public class MarkLibraryServiceImpl extends BaseQueryService<MarkLibrary> implem
 
     @Autowired
     private MarkTrackService trackService;
+    
+    @Autowired
+    private MarkSpecialTagService specialTagService;
 
     @PersistenceContext
     private EntityManager em;
@@ -45,10 +49,11 @@ public class MarkLibraryServiceImpl extends BaseQueryService<MarkLibrary> implem
     @Transactional
     @Override
     public void delete(MarkLibrary library) {
-        libraryDao.delete(library);
         if (library != null) {
             trackService.deleteByStudentId(library.getStudentId());
+            specialTagService.deleteByLibraryId(library.getId());
         }
+        libraryDao.delete(library);
     }
 
     @Transactional
@@ -59,6 +64,7 @@ public class MarkLibraryServiceImpl extends BaseQueryService<MarkLibrary> implem
             delete(library);
         }
         trackService.deleteByStudentId(studentId);
+        specialTagService.deleteByLibraryId(studentId);
     }
 
     @Transactional
@@ -66,6 +72,7 @@ public class MarkLibraryServiceImpl extends BaseQueryService<MarkLibrary> implem
     public void deleteByExam(int examId) {
         libraryDao.deleteByExamId(examId);
         trackService.deleteByExamId(examId);
+        specialTagService.deleteByExamId(examId);
     }
 
     @Transactional
@@ -99,6 +106,8 @@ public class MarkLibraryServiceImpl extends BaseQueryService<MarkLibrary> implem
     public void resetBySubject(ExamSubject subject) {
         libraryDao.resetByExamIdAndSubjectCode(subject.getExamId(), subject.getCode(), LibraryStatus.WAITING);
         trackService.deleteByExamIdAndSubjectCode(subject.getExamId(), subject.getCode());
+        specialTagService.deleteByExamAndSubject(subject.getExamId(), subject.getCode());
+        
     }
 
     @Override
@@ -106,6 +115,7 @@ public class MarkLibraryServiceImpl extends BaseQueryService<MarkLibrary> implem
     public void resetByMarker(Marker marker) {
         libraryDao.resetByMarkerId(marker.getId(), LibraryStatus.WAITING);
         trackService.deleteByMarkerId(marker.getId());
+        specialTagService.deleteByMarkerId(marker.getId());
     }
 
     @Override
@@ -115,6 +125,7 @@ public class MarkLibraryServiceImpl extends BaseQueryService<MarkLibrary> implem
         MarkLibrary library = findById(id);
         if (library != null) {
             trackService.deleteByStudentId(library.getStudentId());
+            specialTagService.deleteByLibraryId(id);
         }
     }
 

+ 21 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkSpecialTagServiceImpl.java

@@ -40,4 +40,25 @@ public class MarkSpecialTagServiceImpl extends BaseQueryService<MarkSpecialTag>
     public List<MarkSpecialTag> findByLibraryId(Integer libraryId) {
         return markSpecialTagDao.findByLibraryIdOrderByIdAsc(libraryId);
     }
+
+	@Override
+	public void deleteByMarkerId(Integer markerId) {
+		markSpecialTagDao.deleteByMarkerId(markerId);
+	}
+
+	@Override
+	public void deleteByExamAndSubject(Integer examId, String subjectCode) {
+		markSpecialTagDao.deleteByExamAndSubject(examId,subjectCode);
+	}
+
+	@Override
+	public void deleteByStudentId(Integer studentId) {
+		markSpecialTagDao.deleteByStudentId(studentId);
+		
+	}
+
+	@Override
+	public void deleteByExamId(int examId) {
+		markSpecialTagDao.deleteByExam(examId);
+	}
 }

+ 8 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/MarkSpecialTagService.java

@@ -18,4 +18,12 @@ public interface MarkSpecialTagService {
     public void deleteByLibraryId(Integer libraryId);
 
     public List<MarkSpecialTag> findByLibraryId(Integer libraryId);
+    
+	public void deleteByMarkerId(Integer markerId);
+
+	public void deleteByExamAndSubject(Integer examId,String subjectCode);
+	
+	public void deleteByStudentId(Integer studentId);
+
+	public void deleteByExamId(int examId);
 }

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

@@ -223,41 +223,6 @@ public class ExamMarkerController extends BaseParameterController {
         return view;
     }
 
-    @RequestMapping(value = "/delete")
-    public String delete(@RequestParam Integer id) {
-        Marker marker = markerService.findById(id);
-        if (marker != null) {
-//            if (!marker.isCommon() && isMarking(marker.getExamId(), marker.getSubjectCode())) {
-//            } else {
-                libraryService.resetByMarker(marker);
-                markerService.deleteById(id);
-//            }
-        }
-        return "redirect:/admin/exam-param/marker?repage";
-    }
-
-    @RequestMapping(value = "/delete", method = RequestMethod.POST)
-    @ResponseBody
-    public JSONObject deleteMarker(@RequestParam Integer id) {
-        Marker marker = markerService.findById(id);
-        JSONObject obj = new JSONObject();
-        if (marker != null) {
-//            if (!marker.isCommon() && isMarking(marker.getExamId(), marker.getSubjectCode())) {
-        	if (isMarking(marker.getExamId(), marker.getSubjectCode())) {
-                obj.accumulate("success", false);
-                obj.accumulate("message", "评卷已开始,不能进行修改");
-            } else {
-                libraryService.resetByMarker(marker);
-                markerService.deleteById(id);
-                obj.accumulate("success", true);
-            }
-        } else {
-            obj.accumulate("success", false);
-            obj.accumulate("message", "该评卷员不存在");
-        }
-        return obj;
-    }
-
     @RequestMapping(value = "/toggle", method = RequestMethod.POST)
     @ResponseBody
     public JSONObject toggle(@RequestParam Integer id, @RequestParam Boolean enable) {

+ 0 - 12
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/param/markerList.jsp

@@ -165,7 +165,6 @@
 				<td>${marker.password}</td>
 				<td>${marker.enable eq true ? "启用" : "禁用"}</td>
 				<td>
-					<a href="javascript:void(0)" class="delete-button" data-id="${marker.id}">删除</a>
 					<c:if test="${marker.enable==true}">
 					<a href="javascript:void(0)" class="toggle-button" data-id="${marker.id}" data-value="false">禁用</a>
 					</c:if>
@@ -225,17 +224,6 @@ $("#clear-button").click(function(){
 		$("#searchForm").submit();
 	}
 });
-$('.delete-button').click(function(){
-	var id = $(this).attr('data-id');
-	$.post('${ctx}/admin/exam-param/marker/delete', {id: id}, function(result){
-		if(result.success==true){
-			alert('删除成功');
-			$("#searchForm").submit();
-		}else{
-			alert(result.message);
-		}
-	});
-});
 $('.toggle-button').click(function(){
 	var id = $(this).attr('data-id');
 	var enable = $(this).attr('data-value');