فهرست منبع

测试bug修复-0828

xiaof 4 سال پیش
والد
کامیت
aa9b3e9b9f

+ 2 - 0
stmms-ms-accesscontrol/src/main/java/cn/com/qmth/stmms/ms/accesscontrol/api/AuthApi.java

@@ -77,6 +77,8 @@ public class AuthApi {
         if (!StringUtils.isEmpty(token)) {
             session.setAttribute("token", null);
         }
+        //session过期时间设为12小时
+        session.setMaxInactiveInterval(12*60*60);
         session.setAttribute("token", System.currentTimeMillis() + "#" + domain.getLoginName() + "#" + domain.getId());
         return domain;
     }

+ 6 - 5
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/api/ParamApi.java

@@ -82,11 +82,12 @@ public class ParamApi {
 
         //有采集数据,不能修改采集参数
         List<Paper> papers = paperRepo.findByWorkId(workId);
-        if (papers != null && !papers.isEmpty()
-                && (!Objects.equals(imageEncrypt, paramSetting.getImageEncrypt())
-                || !Objects.equals(nameRule, paramSetting.getNameRule()))
-                || !Objects.equals(paperStage, paramSetting.getPaperStage())) {
-            throw new RuntimeException("该评卷工作已有采集数据,不能修改图片是否加密、图片命名规则、试卷档位参数");
+        if (papers != null && papers.size() > 0) {
+            if (!Objects.equals(imageEncrypt, paramSetting.getImageEncrypt())
+                    || !Objects.equals(nameRule, paramSetting.getNameRule())
+                    || !Objects.equals(paperStage, paramSetting.getPaperStage())) {
+                throw new RuntimeException("该评卷工作已有采集数据,不能修改图片是否加密、图片命名规则、试卷档位参数");
+            }
         }
 
 //        if(paramSetting.getPaperStage() == 1 && !Objects.equals(paperStage, paramSetting.getPaperStage())){

+ 3 - 3
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/exporter/PaperExporter.java

@@ -97,9 +97,9 @@ public class PaperExporter {
         List<Paper> papers = paperRepo.findByWorkIdAndSubjectAndIsOneClickTrue(workId, subject);
         if(papers != null && papers.size() >0) {
             List<Long> paperIds = papers.stream().map(Paper::getId).collect(Collectors.toList());
-            List<MarkLog> marklogs = markLogRepo.findByWorkIdAndSubjectAndOperTypeAndPaperIdIn(workId, subject, MarkLogOperType.ONE_CLICK_LEVEl, paperIds);
-            for (int i = 1; i <= marklogs.size(); i++) {
-                MarkLog markLog = marklogs.get(i);
+            List<MarkLog> marklogs = markLogRepo.findByWorkIdAndSubjectAndOperTypeAndPaperIdIn(workId, subject.name(), MarkLogOperType.ONE_CLICK_LEVEl.getId(), paperIds);
+            for (int i = 0; i < marklogs.size(); i++) {
+                MarkLog markLog = marklogs.get(i+1);
                 OneClickExpDTO oneClickExpDTO = new OneClickExpDTO();
                 oneClickExpDTO.setSubject(subjectName);
                 oneClickExpDTO.setSeqNo(i);

+ 1 - 1
stmms-ms-core/src/main/java/cn/com/qmth/stmms/ms/core/repository/MarkLogRepo.java

@@ -40,7 +40,7 @@ public interface MarkLogRepo extends JpaRepository<MarkLog, Long>, JpaSpecificat
     @Query("select s.createUserName as createUserName, max(s.id) as id from MarkLog s where s.createRole = '采集员' and s.workId = ?1 group by s.createUserName")
     List<Map> findByWorkId(@Param("workId") Long workId);
 
-    List<MarkLog> findByWorkIdAndSubjectAndOperTypeAndPaperIdIn(Long workId, Subject subject, MarkLogOperType one_click_levEl, List<Long> paperIds);
+    List<MarkLog> findByWorkIdAndSubjectAndOperTypeAndPaperIdIn(Long workId, String subject, Integer operType, List<Long> paperIds);
 
     Page<Map> findByIdIn(List<Long> longs, Pageable pageable);
 }

+ 1 - 1
stmms-ms-log/src/main/java/cn/com/qmth/stmms/ms/log/aop/MarkLogAop.java

@@ -385,7 +385,7 @@ public class MarkLogAop {
             markUser = markUserRepo.findOne(markTask.getMarkerId());
         } else {
             String[] strs = token.split("#");
-            markUser = strs[2] == null ? null : markUserRepo.findOne(Long.parseLong(strs[2]));
+            markUser = strs[2] == null || strs[2] == "null" ? null : markUserRepo.findOne(Long.parseLong(strs[2]));
         }
         LOGGER.info("markUser:{}", JSONObject.toJSONString(markUser));
 //        String[] argNames = ((MethodSignature) joinPoint.getSignature()).getParameterNames();//参数名

+ 6 - 3
stmms-ms-log/src/main/java/cn/com/qmth/stmms/ms/log/controller/MarkLogController.java

@@ -186,7 +186,6 @@ public class MarkLogController {
         String examNumber = request.getParameter("examNumber");
         //试卷信息
         List<Paper> paperList = paperRepo.findByWorkIdAndExamNumber(workId, examNumber);
-        Paper paper = paperList.get(0);
 
         Integer operType = MarkLogOperType.COLLECT.getId();
         Subject subject = Subject.values()[subjectId - 1];
@@ -203,11 +202,15 @@ public class MarkLogController {
         markLog.setOperType(operType);
         markLog.setWorkId(workId);
         markLog.setWorkName(work.getName());
-        markLog.setPaperId(paper.getId());
+        if (paperList != null && paperList.size() > 0) {
+            Paper paper = paperList.get(0);
+            markLog.setPaperId(paper.getId());
+        }
         markLog.setStage(MarkStage.INIT);
         //识别方式
         String manual = request.getParameter("manual");
-        markLog.setRemark("0".equals(manual) ? "正常扫描" : "1".equals(manual) ? "手工绑定" : null);
+        //增加考生不存在备注
+        markLog.setRemark(paperList == null || paperList.size() == 0 ? "考生不存在" : "0".equals(manual) ? "正常扫描" : "1".equals(manual) ? "手工绑定" : null);
         //操作时间
         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         String time = request.getParameter("time");

+ 1 - 1
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/assembler/MarkTaskAssembler.java

@@ -47,7 +47,7 @@ public class MarkTaskAssembler {
             Paper paper = markTask.getPaper();
             if (markTask.getStage() == MarkStage.LEVEL) {
                 markTaskDTO.setLevel(markTask.getResult());
-                markTaskDTO.setOriginLevel(markTask.getOriginLevel());
+                markTaskDTO.setOriginLevel(markTask.getOriginLevel() == null ? "":markTask.getOriginLevel());
             } else {
                 markTaskDTO.setLevel(paper.getLevel());
             }