ting.yin il y a 3 ans
Parent
commit
fc1b68d876

+ 3 - 3
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/dao/MarkLibraryDao.java

@@ -85,9 +85,9 @@ public interface MarkLibraryDao extends JpaRepository<MarkLibrary, Integer>, Jpa
     void resetByMarkerId(Integer markerId, LibraryStatus status, LibraryStatus... notInStatus);
     void resetByMarkerId(Integer markerId, LibraryStatus status, LibraryStatus... notInStatus);
 
 
     @Modifying(clearAutomatically = true)
     @Modifying(clearAutomatically = true)
-    @Query("update MarkLibrary m set m.status=?3, m.markerId=?2, m.markerTime=null, m.markerScore=null, m.markerScoreList=null, m.markerSpent=null, "
-            + "m.headerId=null , m.headerTime=null , m.headerScore=null , m.headerScoreList=null where m.id=?1 and m.status in (?4)")
-    int resetById(Integer id, Integer markerId, LibraryStatus newStatus, LibraryStatus... previousStatus);
+    @Query("update MarkLibrary m set m.status=?4, m.markerId=?2, m.rejectReason=?3, m.markerTime=null, m.markerScore=null, m.markerScoreList=null, m.markerSpent=null, "
+            + "m.headerId=null , m.headerTime=null , m.headerScore=null , m.headerScoreList=null where m.id=?1 and m.status in (?5)")
+    int resetById(Integer id, Integer markerId, String reason, LibraryStatus newStatus, LibraryStatus... previousStatus);
 
 
     @Query("select f.markerId, count(f) as markerCount from MarkLibrary f where f.examId=?1 and f.status in (?2) group by f.markerId")
     @Query("select f.markerId, count(f) as markerCount from MarkLibrary f where f.examId=?1 and f.status in (?2) group by f.markerId")
     List<Object[]> countMarkerAndStatus(Integer examId, LibraryStatus... status);
     List<Object[]> countMarkerAndStatus(Integer examId, LibraryStatus... status);

+ 3 - 3
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/model/MarkLibrary.java

@@ -130,7 +130,7 @@ public class MarkLibrary implements Serializable {
     private Integer unansweredCount;
     private Integer unansweredCount;
 
 
     @Column(name = "reject_reason", nullable = true)
     @Column(name = "reject_reason", nullable = true)
-    private Integer rejectReason;
+    private String rejectReason;
 
 
     @Transient
     @Transient
     private String markerLoginName;
     private String markerLoginName;
@@ -325,11 +325,11 @@ public class MarkLibrary implements Serializable {
         this.unansweredCount = unansweredCount;
         this.unansweredCount = unansweredCount;
     }
     }
 
 
-    public Integer getRejectReason() {
+    public String getRejectReason() {
         return rejectReason;
         return rejectReason;
     }
     }
 
 
-    public void setRejectReason(Integer rejectReason) {
+    public void setRejectReason(String rejectReason) {
         this.rejectReason = rejectReason;
         this.rejectReason = rejectReason;
     }
     }
 
 

+ 7 - 6
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkServiceImpl.java

@@ -441,7 +441,7 @@ public class MarkServiceImpl implements MarkService {
             for (MarkLibrary library : list) {
             for (MarkLibrary library : list) {
                 trackDao.deleteByLibraryId(library.getId());
                 trackDao.deleteByLibraryId(library.getId());
                 specialTagDao.deleteByLibraryId(library.getId());
                 specialTagDao.deleteByLibraryId(library.getId());
-                libraryDao.resetById(library.getId(), null, LibraryStatus.WAITING, library.getStatus());
+                libraryDao.resetById(library.getId(), null, null, LibraryStatus.WAITING, library.getStatus());
                 updateStudentGroupStatus(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
                 updateStudentGroupStatus(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
                         library.getGroupNumber(), SubjectiveStatus.UNMARK);
                         library.getGroupNumber(), SubjectiveStatus.UNMARK);
                 studentService.updateSubjectiveStatusAndScore(library.getStudentId(), SubjectiveStatus.UNMARK, 0, null);
                 studentService.updateSubjectiveStatusAndScore(library.getStudentId(), SubjectiveStatus.UNMARK, 0, null);
@@ -764,13 +764,14 @@ public class MarkServiceImpl implements MarkService {
      */
      */
     @Override
     @Override
     @Transactional
     @Transactional
-    public boolean rejectLibrary(MarkLibrary library, Integer userId, boolean isRest) {
+    public boolean rejectLibrary(MarkLibrary library, Integer userId, String reason, boolean isRest) {
         MarkGroup group = groupDao.findOne(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
         MarkGroup group = groupDao.findOne(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
         if (group.getStatus() == MarkStatus.FINISH) {
         if (group.getStatus() == MarkStatus.FINISH) {
             return false;
             return false;
         }
         }
-        if (libraryDao.resetById(library.getId(), null, isRest ? LibraryStatus.WAITING : LibraryStatus.REJECTED,
-                LibraryStatus.MARKED, LibraryStatus.PROBLEM, LibraryStatus.INSPECTED) > 0) {
+        if (libraryDao.resetById(library.getId(), null, reason,
+                isRest ? LibraryStatus.WAITING : LibraryStatus.REJECTED, LibraryStatus.MARKED, LibraryStatus.PROBLEM,
+                LibraryStatus.INSPECTED) > 0) {
             trackDao.deleteByLibraryId(library.getId());
             trackDao.deleteByLibraryId(library.getId());
             specialTagDao.deleteByLibraryId(library.getId());
             specialTagDao.deleteByLibraryId(library.getId());
             resetStudentGroup(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
             resetStudentGroup(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
@@ -1506,7 +1507,7 @@ public class MarkServiceImpl implements MarkService {
                 }
                 }
                 if (library.getStatus().equals(LibraryStatus.ARBITRATED) || qList.size() == questions.size()) {
                 if (library.getStatus().equals(LibraryStatus.ARBITRATED) || qList.size() == questions.size()) {
                     // 仲裁任务直接重置 或者该分组下所有分数被打回也重置
                     // 仲裁任务直接重置 或者该分组下所有分数被打回也重置
-                    libraryDao.resetById(library.getId(), null, LibraryStatus.REJECTED, LibraryStatus.MARKED,
+                    libraryDao.resetById(library.getId(), null, reason, LibraryStatus.REJECTED, LibraryStatus.MARKED,
                             LibraryStatus.PROBLEM, LibraryStatus.INSPECTED, LibraryStatus.ARBITRATED);
                             LibraryStatus.PROBLEM, LibraryStatus.INSPECTED, LibraryStatus.ARBITRATED);
                     trackDao.deleteByLibraryId(library.getId());
                     trackDao.deleteByLibraryId(library.getId());
                     specialTagDao.deleteByLibraryId(library.getId());
                     specialTagDao.deleteByLibraryId(library.getId());
@@ -1606,7 +1607,7 @@ public class MarkServiceImpl implements MarkService {
         List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(
         List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(
                 library.getExamId(), library.getSubjectCode(), false, library.getGroupNumber());
                 library.getExamId(), library.getSubjectCode(), false, library.getGroupNumber());
         if (questionList.length == questions.size()) {
         if (questionList.length == questions.size()) {
-            return rejectLibrary(library, userId, false);
+            return rejectLibrary(library, userId, reason, false);
         }
         }
         MarkGroup group = groupDao.findOne(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
         MarkGroup group = groupDao.findOne(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
         if (group.getStatus() == MarkStatus.FINISH) {
         if (group.getStatus() == MarkStatus.FINISH) {

+ 3 - 3
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/MarkService.java

@@ -133,7 +133,7 @@ public interface MarkService {
      * @param library
      * @param library
      * @return
      * @return
      */
      */
-    boolean rejectLibrary(MarkLibrary library, Integer userId, boolean isRest);
+    boolean rejectLibrary(MarkLibrary library, Integer userId, String reason, boolean isRest);
 
 
     /**
     /**
      * 更新某个大题已评任务数量
      * 更新某个大题已评任务数量
@@ -249,7 +249,7 @@ public interface MarkService {
      * @param resson
      * @param resson
      * @return
      * @return
      */
      */
-    boolean rejectedStudent(ExamStudent student, MarkStepDTO[] questionList, Integer userId, String resson);
+    boolean rejectedStudent(ExamStudent student, MarkStepDTO[] questionList, Integer userId, String reason);
 
 
     /**
     /**
      * 删除某个小题
      * 删除某个小题
@@ -266,5 +266,5 @@ public interface MarkService {
      * @param userId
      * @param userId
      * @return
      * @return
      */
      */
-    boolean rejectLibrary(MarkLibrary library, MarkStepDTO[] questionList, Integer userId, String resson);
+    boolean rejectLibrary(MarkLibrary library, MarkStepDTO[] questionList, Integer userId, String reason);
 }
 }

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

@@ -170,7 +170,7 @@ public class LibraryController extends BaseExamController {
                     if ((library.getStatus().equals(LibraryStatus.MARKED)
                     if ((library.getStatus().equals(LibraryStatus.MARKED)
                             || library.getStatus().equals(LibraryStatus.PROBLEM) || library.getStatus().equals(
                             || library.getStatus().equals(LibraryStatus.PROBLEM) || library.getStatus().equals(
                             LibraryStatus.INSPECTED))
                             LibraryStatus.INSPECTED))
-                            && markService.rejectLibrary(library, wu.getId(), isRest)) {
+                            && markService.rejectLibrary(library, wu.getId(), null, isRest)) {
                         obj.accumulate("success", true);
                         obj.accumulate("success", true);
                     } else {
                     } else {
                         obj.accumulate("success", false);
                         obj.accumulate("success", false);

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

@@ -172,7 +172,7 @@ public class ProblemHistoryController extends BaseExamController {
                     lockService.watch(LockType.GROUP, library.getExamId(), library.getSubjectCode(),
                     lockService.watch(LockType.GROUP, library.getExamId(), library.getSubjectCode(),
                             library.getGroupNumber());
                             library.getGroupNumber());
                     if (library.getStatus().equals(LibraryStatus.PROBLEM)) {
                     if (library.getStatus().equals(LibraryStatus.PROBLEM)) {
-                        markService.rejectLibrary(library, wu.getId(), true);
+                        markService.rejectLibrary(library, wu.getId(), null, true);
                     }
                     }
                 } catch (Exception e) {
                 } catch (Exception e) {
                     log.error("back library error", e);
                     log.error("back library error", e);

+ 2 - 2
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/libraryList.jsp

@@ -125,8 +125,8 @@
             <td>${result.secretNumber}</td>
             <td>${result.secretNumber}</td>
             <td>${result.status.name}</td>
             <td>${result.status.name}</td>
             <td><span title="${result.rejectReason}">
             <td><span title="${result.rejectReason}">
-            	<c:if test="${result.rejectReason.length>10}">${result.rejectReason.substring(0,10)+"..." }</c:if>
-            	<c:if test="${result.rejectReason.length<=10}">${result.rejectReason}</c:if>
+            	<c:if test="${result.rejectReason.length()>10}">${result.rejectReason.substring(0,10) }...</c:if>
+            	<c:if test="${result.rejectReason.length()<=10}">${result.rejectReason}</c:if>
             	</span>
             	</span>
             </td>
             </td>
             <td>${result.markerLoginName}</td>
             <td>${result.markerLoginName}</td>