Sfoglia il codice sorgente

根据定向动态查询考试科目

mingfu 1 mese fa
parent
commit
8648683781

+ 30 - 4
ie-admin/src/main/java/com/ruoyi/web/controller/front/FrontExamController.java

@@ -1,16 +1,20 @@
 package com.ruoyi.web.controller.front;
 
 import com.alibaba.fastjson2.JSONObject;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
 import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.core.domain.AjaxResult2;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.enums.ExamType;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.dz.domain.DzSubject;
-import com.ruoyi.dz.service.IDzControlService;
 import com.ruoyi.dz.service.IDzSubjectService;
 import com.ruoyi.enums.PaperType;
 import com.ruoyi.learn.domain.AnswerSheet;
+import com.ruoyi.learn.domain.LearnCultureKnowledge;
+import com.ruoyi.learn.domain.LearnStudent;
+import com.ruoyi.learn.service.ILearnCultureKnowledgeService;
+import com.ruoyi.learn.service.ILearnStudentService;
 import com.ruoyi.mxjb.domain.MxjbContants;
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.web.domain.PaperDto;
@@ -22,6 +26,7 @@ import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 @RestController
@@ -34,14 +39,18 @@ public class FrontExamController {
     private final IDzSubjectService dzSubjectService;
     private final StudentService studentService;
     private final ISysUserService sysUserService;
+    private final ILearnStudentService learnStudentService;
+    private final ILearnCultureKnowledgeService learnCultureKnowledgeService;
 
-    public FrontExamController(ExamService examService, SyTestMajorService syTestMajorService, CacheService cacheService, IDzSubjectService dzSubjectService, IDzSubjectService dzSubjectService1, StudentService studentService, ISysUserService sysUserService) {
+    public FrontExamController(ExamService examService, SyTestMajorService syTestMajorService, CacheService cacheService, IDzSubjectService dzSubjectService, IDzSubjectService dzSubjectService1, StudentService studentService, ISysUserService sysUserService, ILearnStudentService learnStudentService, ILearnCultureKnowledgeService learnCultureKnowledgeService) {
         this.examService = examService;
         this.syTestMajorService = syTestMajorService;
         this.cacheService = cacheService;
         this.dzSubjectService = dzSubjectService1;
         this.studentService = studentService;
         this.sysUserService = sysUserService;
+        this.learnStudentService = learnStudentService;
+        this.learnCultureKnowledgeService = learnCultureKnowledgeService;
     }
 
     @GetMapping("/subjects")
@@ -49,7 +58,24 @@ public class FrontExamController {
     public AjaxResult subjects()
     {
         SysUser sysUser = SecurityUtils.getLoginUser().getUser();
-        List<DzSubject> list = dzSubjectService.selectDzSubjectBySubjectIds(ExamType.OHS.equals(sysUser.getExamType()) ? new Long[] {11L} : new Long[] {1L, 2L, 3L, 11L}); // 中职暂停 1L, 2L, 3L,
+        Long[] subjectIds;
+        if(ExamType.SVS.equals(sysUser.getExamType())) {
+            Set<Long> subjectIdSet;
+            LearnStudent ls = learnStudentService.selectLearnStudentByStudentId(sysUser.getUserId());
+            if(null != ls && null != ls.getUniversityId()) {
+                LearnCultureKnowledge ckCond = new LearnCultureKnowledge();
+                ckCond.setUniversityId(ls.getUniversityId());
+                ckCond.setExamineeTypes(sysUser.getExamType().name());
+                subjectIdSet = learnCultureKnowledgeService.selectLearnCultureKnowledgeList(ckCond).stream().map(t -> Long.parseLong(t.getSubjects())).collect(Collectors.toSet());
+            } else {
+                subjectIdSet = Sets.newHashSet();
+            }
+            subjectIdSet.add(11L);
+            subjectIds = subjectIdSet.toArray(new Long[subjectIdSet.size()]);
+        } else {
+            subjectIds = new Long[] {11L};
+        }
+        List<DzSubject> list = dzSubjectService.selectDzSubjectBySubjectIds(subjectIds); // 中职暂停 1L, 2L, 3L,
         JSONObject evalCounts = JSONObject.parseObject(sysUserService.selectUserById(sysUser.getUserId()).getEvalCounts());
         return AjaxResult.success(list.stream().map(t -> {
             JSONObject o = new JSONObject();

+ 1 - 1
ie-admin/src/main/java/com/ruoyi/web/service/SysRegisterService.java

@@ -221,7 +221,7 @@ public class SysRegisterService
                 if(!CardDistributeStatus.Assign.getVal().equals(card.getDistributeStatus()) || !CardStatus.Free.getVal().equals(card.getStatus())) {
                     throw new RuntimeException("无效卡");
                 }
-                user.setEvalCounts("{\"1\":1,\"2\":1,\"3\":1,\"11\":1,\"0\":0}");
+                user.setEvalCounts("{\"1\":1,\"2\":1,\"3\":1,\"4\":1,\"9\":1,\"11\":1,\"0\":0}");
                 user.setCardId(card.getCardId());
                 user.setRegStatus(UserRegStatus.Student);
                 card.setStatus(CardStatus.Active.getVal());