Bläddra i källkod

机构版-3.0.0-bug修复

xiaof 2 år sedan
förälder
incheckning
e6eb2bde7e

+ 1 - 1
stmms-ms-accesscontrol/src/main/java/cn/com/qmth/stmms/ms/accesscontrol/config/AccessConfig.java

@@ -33,6 +33,6 @@ public class AccessConfig extends WebMvcConfigurerAdapter {
         registry.addInterceptor(loginInterceptor()).addPathPatterns("/api/**").excludePathPatterns("/api/admin/users/login","/api/login","/api/logout","/api/*/password",
                 "/api/user/login", "/api/user/getClientUser", "/api/exam/students", "/api/upload/student/*", "/api/file/image/**", "/api/marklog/saveCollectLog",
                 "/api/file/ms-slice/**", "/api/subject/collect-config", "/api/file/ms-sheet/**", "/api/oss/**", "/api/exam/listStudents/*", "/api/exam/getStudent/*","/api/level/*",
-                "/api/file/image/getExportData","/api/file/image/exportScorePicturesFromCollect","/api/admin/works","/api/score/missing/*");
+                "/api/file/image/getExportData","/api/file/image/exportScorePicturesFromCollect","/api/admin/works","/api/score/missing/*", "/api/papers/*/*/*");
     }
 }

+ 4 - 3
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/api/ScoreApi.java

@@ -8,6 +8,7 @@ import cn.com.qmth.stmms.ms.commons.config.ImageConfig;
 import cn.com.qmth.stmms.ms.commons.config.ImageServerConfig;
 import cn.com.qmth.stmms.ms.commons.utils.MD5Util;
 import cn.com.qmth.stmms.ms.commons.utils.OssUtil;
+import cn.com.qmth.stmms.ms.commons.utils.ServletUtil;
 import cn.com.qmth.stmms.ms.commons.web.PageableDTO;
 import cn.com.qmth.stmms.ms.core.cache.ParamCache;
 import cn.com.qmth.stmms.ms.core.domain.*;
@@ -218,8 +219,8 @@ public class ScoreApi {
 
     @RequestMapping(value = "merge/{subject}", method = RequestMethod.GET)
     public ResponseEntity merge(@PathVariable Subject subject) {
-        Work activedWork = workRepo.findByActiveTrue();
-        List<Paper> papers = paperRepo.findByWorkIdAndSubject(activedWork.getId(), subject);
+        Long workId = ServletUtil.getWordId();
+        List<Paper> papers = paperRepo.findByWorkIdAndSubject(workId, subject);
         Iterator<Paper> paperIterator = papers.iterator();
         long count = 0;
         while (paperIterator.hasNext()) {
@@ -227,7 +228,7 @@ public class ScoreApi {
             List<MarkTask> markTasks = markTaskRepo.findByPaperIdAndStage(paper.getId(), MarkStage.SCORE);
             long leftCount = markTasks.stream().filter(i -> i.getResult() == null).count();
             if (leftCount == 0) {
-                OptionalDouble finalScore = markTasks.stream().map(m -> m.getResult())
+                OptionalDouble finalScore = markTasks.stream().map(MarkTask::getResult)
                         .mapToInt(Integer::valueOf).average();
                 double fs = Math.round(finalScore.orElse(0));
                 paper.setScore(fs);

+ 15 - 4
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/dto/MarkExpDTO.java

@@ -7,16 +7,19 @@ public class MarkExpDTO {
     @ExcelProperty(name = "工作ID", index = 0, type = 1)
     private Long workId;
 
-    @ExcelProperty(name = "科目", index = 1, type = 1)
+    @ExcelProperty(name = "科目ID", index = 1, type = 1)
+    private String subjectId;
+
+    @ExcelProperty(name = "科目", index = 2, type = 1)
     private String subject;
 
-    @ExcelProperty(name = "科目名称", index = 2, type = 1)
+    @ExcelProperty(name = "科目名称", index = 3, type = 1)
     private String subjectName;
 
-    @ExcelProperty(name = "考号", index = 3, type = 1)
+    @ExcelProperty(name = "考号", index = 4, type = 1)
     private String examNumber;
 
-    @ExcelProperty(name = "姓名", index = 4, type = 1)
+    @ExcelProperty(name = "姓名", index = 5, type = 1)
     private String studentName;
 
     public Long getWorkId() {
@@ -27,6 +30,14 @@ public class MarkExpDTO {
         this.workId = workId;
     }
 
+    public String getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(String subjectId) {
+        this.subjectId = subjectId;
+    }
+
     public String getSubject() {
         return subject;
     }

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

@@ -159,6 +159,7 @@ public class PaperExporter {
             MarkExpDTO markExpDTO = new MarkExpDTO();
             markExpDTO.setWorkId(workId);
             Subject subject = paper.getSubject();
+            markExpDTO.setSubjectId(String.valueOf(subject.ordinal() + 1));
             markExpDTO.setSubject(subject.name());
             String subjectName = subject.getName();
             markExpDTO.setSubjectName(subjectName);

+ 12 - 21
stmms-ms-collect/src/main/java/cn/com/qmth/stmms/ms/collect/api/CollectApi.java

@@ -1,6 +1,5 @@
 package cn.com.qmth.stmms.ms.collect.api;
 
-import cn.com.qmth.stmms.ms.accesscontrol.config.LoginConfig;
 import cn.com.qmth.stmms.ms.admin.service.DataUploadService;
 import cn.com.qmth.stmms.ms.collect.dto.CollectStuDTO;
 import cn.com.qmth.stmms.ms.collect.dto.CollectSubjectDTO;
@@ -172,35 +171,31 @@ public class CollectApi {
 
     @RequestMapping(value = "exam/listStudents/{examNumber}", method = RequestMethod.GET)
     public List<CollectStuDTO> listStudents(HttpServletRequest request, @PathVariable String examNumber) {
-        Long organizationId = Long.valueOf(request.getHeader("organizationId"));
+        Long workId = ServletUtil.getWordId();
         List<CollectStuDTO> list = new ArrayList<>();
-//        Work activeWork = workRepo.findByActiveTrue();
-        Work activeWork = workRepo.findByActiveTrueAndOrganizationId(organizationId);
         Consumer<Student> consumer = (s) -> {
             CollectStuDTO collectStuDTO = new CollectStuDTO();
-            collectStuDTO.setExamId(activeWork.getId());
+            collectStuDTO.setExamId(workId);
             collectStuDTO.setExamNumber(s.getRelateExamNumber());
             collectStuDTO.setName(s.getName());
             collectStuDTO.setSiteCode(s.getAreaName());
             collectStuDTO.setRoomCode(s.getExamRoom());
             list.add(collectStuDTO);
         };
-        Student student = studentRepo.findByWorkIdAndRelateExamNumber(activeWork.getId(), examNumber);
-        studentRepo.findByWorkIdAndTestAndExamRoom(activeWork.getId(), String.valueOf(TrialEnum.DEFAULT.getId()), student.getExamRoom()).forEach(consumer);
+        Student student = studentRepo.findByWorkIdAndRelateExamNumber(workId, examNumber);
+        studentRepo.findByWorkIdAndTestAndExamRoom(workId, String.valueOf(TrialEnum.DEFAULT.getId()), student.getExamRoom()).forEach(consumer);
         return list;
     }
 
     @RequestMapping(value = "exam/getStudent/{examNumber}", method = RequestMethod.GET)
     public CollectStuDTO getStudent(HttpServletRequest request, @PathVariable String examNumber) {
-        Long organizationId = Long.valueOf(request.getHeader("organizationId"));
-//        Work activeWork = workRepo.findByActiveTrue();
-        Work activeWork = workRepo.findByActiveTrueAndOrganizationId(organizationId);
-        Student student = studentRepo.findByWorkIdAndRelateExamNumberAndTest(activeWork.getId(), examNumber, String.valueOf(TrialEnum.DEFAULT.ordinal()));
+        Long workId = ServletUtil.getWordId();
+        Student student = studentRepo.findByWorkIdAndRelateExamNumberAndTest(workId, examNumber, String.valueOf(TrialEnum.DEFAULT.ordinal()));
         if (student == null) {
             throw new RuntimeException("无该考生,请处理");
         }
         CollectStuDTO collectStuDTO = new CollectStuDTO();
-        collectStuDTO.setExamId(activeWork.getId());
+        collectStuDTO.setExamId(workId);
         collectStuDTO.setExamNumber(student.getRelateExamNumber());
         collectStuDTO.setName(student.getName());
         collectStuDTO.setSiteCode(student.getAreaName());
@@ -225,19 +220,17 @@ public class CollectApi {
     @RequestMapping(value = "exam/students", method = RequestMethod.GET)
     public List<CollectStuDTO> getStudents(HttpServletRequest request) {
         List<CollectStuDTO> list = new ArrayList<>();
-        Long organizationId = Long.valueOf(request.getHeader("organizationId"));
-//        Work activeWork = workRepo.findByActiveTrue();
-        Work activeWork = workRepo.findByActiveTrueAndOrganizationId(organizationId);
+        Long workId = ServletUtil.getWordId();
         Consumer<Student> consumer = (s) -> {
             CollectStuDTO collectStuDTO = new CollectStuDTO();
-            collectStuDTO.setExamId(activeWork.getId());
+            collectStuDTO.setExamId(workId);
             collectStuDTO.setExamNumber(s.getExamNumber());
             collectStuDTO.setName(s.getName());
             collectStuDTO.setSiteCode(s.getAreaName());
             collectStuDTO.setRoomCode(s.getExamRoom());
             list.add(collectStuDTO);
         };
-        studentRepo.findByWorkIdAndTest(activeWork.getId(), String.valueOf(TrialEnum.DEFAULT.getId())).forEach(consumer);
+        studentRepo.findByWorkIdAndTest(workId, String.valueOf(TrialEnum.DEFAULT.getId())).forEach(consumer);
         return list;
     }
 
@@ -730,10 +723,8 @@ public class CollectApi {
     @RequestMapping(value = "subject/collect-config", method = RequestMethod.POST)
     public boolean updateConfig(HttpServletRequest request, @RequestBody CollectSubjectDTO collectSubjectDTO) {
         Subject subject = Subject.values()[collectSubjectDTO.getSubjectId() - 1];
-        Long organizationId = Long.valueOf(request.getHeader("organizationId"));
-//        Work activeWork = workRepo.findByActiveTrue();
-        Work activeWork = workRepo.findByActiveTrueAndOrganizationId(organizationId);
-        MarkSubject markSubject = markSubjectRepo.findOne(activeWork.getId() + "-" + subject.toString());
+        Long workId = ServletUtil.getWordId();
+        MarkSubject markSubject = markSubjectRepo.findOne(workId + "-" + subject.toString());
         String config = Optional.ofNullable(collectSubjectDTO.getCollectConfig())
                 .map(Object::toString)
                 .map(s -> s.substring(1, s.length() - 1))

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

@@ -400,7 +400,7 @@ public interface PaperRepo extends JpaRepository<Paper, Long>, JpaSpecificationE
 
     List<Paper> findByWorkIdAndSubjectAndSecretNumberAndTest(Long workId, Subject subject, String secretNumber, int id);
 
-    @Query(value = "select * from paper p where p.scan_user_id = ?1 order by p.updated_on desc limit 1", nativeQuery = true)
+    @Query(value = "select * from paper p where p.scan_user_id = ?1 order by p.uploaded_on desc limit 1", nativeQuery = true)
     Paper findByScanUserIdOrderByUpdatedOnDescLimit(Long id);
 
     @Modifying

+ 0 - 4
stmms-ms-core/src/main/java/cn/com/qmth/stmms/ms/core/repository/WorkRepo.java

@@ -10,12 +10,8 @@ import java.util.List;
  */
 public interface WorkRepo extends JpaRepository<Work,Long>{
 
-    Work findByActiveTrue();
-
     Work findByName(String name);
 
-    Work findByActiveTrueAndOrganizationId(Long organizationId);
-
     List<Work> findByOrganizationIdOrderByIdDesc(Long valueOf);
 
     List<Work> findByOrganizationId(Long organizationId);

+ 2 - 3
stmms-ms-main/src/main/java/cn/com/qmth/stmms/ms/quartz/ScheduledTask.java

@@ -70,7 +70,7 @@ public class ScheduledTask implements InitializingBean {
     @Scheduled(cron = "0 0/5 * * * ?")
     public void repairRepeatSecretNumberTask() {
         if (Objects.nonNull(randomUtil.getRandomMap()) && randomUtil.getRandomMap().size() > 0) {
-            List<Work> works = workRepo.findAllByActiveTrue();
+            List<Work> works = workRepo.findAll();
             for (Work work : works) {
                 if (Objects.nonNull(work)) {
                     if (!this.repairPaper) {
@@ -93,8 +93,7 @@ public class ScheduledTask implements InitializingBean {
      */
     @Scheduled(cron = "0 0/1 * * * ?")
     public void markTaskJob() {
-//        Work work = workRepo.findByActiveTrue();
-        List<Work> works = workRepo.findAllByActiveTrue();
+        List<Work> works = workRepo.findAll();
         for (Work work : works) {
             if (Objects.nonNull(work)) {
                 if (!markTaskJob) {

+ 1 - 1
stmms-ms-main/src/test/BatchCreateDataTest.java

@@ -87,7 +87,7 @@ public class BatchCreateDataTest {
     // 默认密码
     private static String INIT_PASSWORD = "123456";
 
-    @Test
+//    @Test
     public void createSxTask() throws Exception {
 
 

+ 1 - 1
stmms-ms-main/src/test/BatchCreateTaskTest.java

@@ -55,7 +55,7 @@ public class BatchCreateTaskTest {
     private List<Subject> subjects = Arrays.asList(Subject.SX, Subject.SC, Subject.SM);
     private String baseDir = "D:\\my_workspaces\\ide_workspace_qmth\\idea_workspace\\stmms-ms\\stmms-ms-org-server\\upload";
 
-    @Test
+//    @Test
     public void createSxTask() throws Exception {
         //默认用id为1000的工作
         Work work = workRepo.findOne(WORK_ID);

+ 1 - 1
stmms-ms-main/src/test/CacheTest.java

@@ -18,7 +18,7 @@ public class CacheTest {
     @Autowired
     CacheService cacheService;
 
-    @Test
+//    @Test
     public void test() {
 
         String token1 = cacheService.queryTokenCache("68");