|
|
@@ -1,6 +1,7 @@
|
|
|
package com.ruoyi.web.service;
|
|
|
|
|
|
import cn.hutool.core.lang.Dict;
|
|
|
+import com.alibaba.fastjson2.JSONArray;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.google.common.collect.Maps;
|
|
|
@@ -27,6 +28,7 @@ import com.ruoyi.ie.mapper.AMarjorPlanMapper;
|
|
|
import com.ruoyi.learn.domain.*;
|
|
|
import com.ruoyi.learn.mapper.*;
|
|
|
import com.ruoyi.learn.service.ILearnTestService;
|
|
|
+import com.ruoyi.system.mapper.SysUserMapper;
|
|
|
import com.ruoyi.syzy.domain.BBusiWishUniversities;
|
|
|
import com.ruoyi.syzy.mapper.BBusiWishUniversitiesMapper;
|
|
|
import com.ruoyi.web.domain.TestRecordCond;
|
|
|
@@ -52,6 +54,7 @@ public class LearnTeacherService {
|
|
|
private final AMarjorPlanMapper marjorPlanMapper;
|
|
|
private final BBusiWishUniversitiesMapper busiWishUniversitiesMapper;
|
|
|
private final LearnDirectedKnowledgeMapper learnDirectedKnowledgeMapper;
|
|
|
+ private final LearnCultureKnowledgeMapper learnCultureKnowledgeMapper;
|
|
|
private final PaperService paperService;
|
|
|
private final CommService commService;
|
|
|
private final LearnTestPaperMapper learnTestPaperMapper;
|
|
|
@@ -62,8 +65,9 @@ public class LearnTeacherService {
|
|
|
private final ILearnTestService learnTestService;
|
|
|
private final LearnAnswerMapper learnAnswerMapper;
|
|
|
private final DzTeacherMapper dzTeacherMapper;
|
|
|
+ private final SysUserMapper sysUserMapper;
|
|
|
|
|
|
- public LearnTeacherService(DzClassesMapper dzClassesMapper, LearnKnowledgeTreeMapper learnKnowledgeTreeMapper, LearnStudentMapper learnStudentMapper, AMarjorPlanMapper marjorPlanMapper, BBusiWishUniversitiesMapper busiWishUniversitiesMapper, LearnDirectedKnowledgeMapper learnDirectedKnowledgeMapper, PaperService paperService, CommService commService, LearnTestPaperMapper learnTestPaperMapper, LearnQuestionsMapper learnQuestionsMapper, LearnKnowledgeCourseMapper learnKnowledgeCourseMapper, LearnTestStudentMapper learnTestStudentMapper, IDzSubjectService dzSubjectService, ILearnTestService learnTestService, LearnAnswerMapper learnAnswerMapper, DzTeacherMapper dzTeacherMapper) {
|
|
|
+ public LearnTeacherService(DzClassesMapper dzClassesMapper, LearnKnowledgeTreeMapper learnKnowledgeTreeMapper, LearnStudentMapper learnStudentMapper, AMarjorPlanMapper marjorPlanMapper, BBusiWishUniversitiesMapper busiWishUniversitiesMapper, LearnDirectedKnowledgeMapper learnDirectedKnowledgeMapper, PaperService paperService, CommService commService, LearnTestPaperMapper learnTestPaperMapper, LearnQuestionsMapper learnQuestionsMapper, LearnKnowledgeCourseMapper learnKnowledgeCourseMapper, LearnTestStudentMapper learnTestStudentMapper, IDzSubjectService dzSubjectService, ILearnTestService learnTestService, LearnAnswerMapper learnAnswerMapper, DzTeacherMapper dzTeacherMapper, SysUserMapper sysUserMapper, LearnCultureKnowledgeMapper learnCultureKnowledgeMapper) {
|
|
|
this.dzClassesMapper = dzClassesMapper;
|
|
|
this.learnKnowledgeTreeMapper = learnKnowledgeTreeMapper;
|
|
|
this.learnStudentMapper = learnStudentMapper;
|
|
|
@@ -80,6 +84,34 @@ public class LearnTeacherService {
|
|
|
this.learnTestService = learnTestService;
|
|
|
this.learnAnswerMapper = learnAnswerMapper;
|
|
|
this.dzTeacherMapper = dzTeacherMapper;
|
|
|
+ this.sysUserMapper = sysUserMapper;
|
|
|
+ this.learnCultureKnowledgeMapper = learnCultureKnowledgeMapper;
|
|
|
+ // processDirectStudy();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void processDirectStudy() {
|
|
|
+ List<SysUser> userList = sysUserMapper.selectUserByUserIds(Stream.of(1,3,5,6,9,10,11,15,16,20,21,23,24,26,27,33,34,44,47,60,61,69,70,71,72,73,74,83,84,94,95,96,97,98,99,100,101,102,103,104,105,110,114,115,116,117,118,119,124,125,126,127,128,129,134,135,136,137,140,144,151,166,170,172,174,178).map(t -> t.longValue()).collect(Collectors.toList()));
|
|
|
+ SysUser upUser = new SysUser();
|
|
|
+ Set<Long> idSet = Sets.newHashSet(14663L,10836L,14139L,12597L,13942L);
|
|
|
+ for(SysUser user : userList) {
|
|
|
+ if(StringUtils.isBlank(user.getDirectedStudy())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ JSONArray jsonList = JSONArray.parse(user.getDirectedStudy());
|
|
|
+ List<JSONObject> finalList = Lists.newArrayList();
|
|
|
+ for(int i=0;i<jsonList.size();i++) {
|
|
|
+ JSONObject o = jsonList.getJSONObject(i);
|
|
|
+ Long id = o.getLong("universityId");
|
|
|
+ if(idSet.contains(id)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ finalList.add(o);
|
|
|
+ }
|
|
|
+ upUser.setUserId(user.getUserId());
|
|
|
+ upUser.setDirectedStudy(JSONArray.toJSONString(finalList));
|
|
|
+ // sysUserMapper.updateUser(upUser);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public List<LearnQuestions> getQuestionTypes(Long subjectId, Collection<Long> knowledgeIds) {
|
|
|
@@ -532,6 +564,14 @@ public class LearnTeacherService {
|
|
|
dkCond.setLocations(sysUser.getLocation());
|
|
|
dkCond.setExamineeTypes(sysUser.getExamType().name());
|
|
|
Map<String, LearnDirectedKnowledge> directedKnowledgeMap = learnDirectedKnowledgeMapper.selectLearnDirectedKnowledgeList(dkCond).stream().collect(Collectors.toMap(LearnDirectedKnowledge::getDirectKey, t -> t));
|
|
|
+ LearnCultureKnowledge ckCond = new LearnCultureKnowledge();
|
|
|
+ ckCond.setUniversityId(curr.getUniversityId());
|
|
|
+ ckCond.setMatchYear(curr.getMatchYear());
|
|
|
+ ckCond.setLocations(sysUser.getLocation());
|
|
|
+ ckCond.setExamineeTypes(sysUser.getExamType().name());
|
|
|
+ learnCultureKnowledgeMapper.selectLearnCultureKnowledgeList(ckCond).stream().filter(t -> StringUtils.isNotBlank(t.getSubjects()) && StringUtils.isNotBlank(t.getKnowledges())).forEach(t -> {
|
|
|
+ subjectIdSet.addAll(Stream.of(t.getSubjects().split(",")).map(Long::parseLong).collect(Collectors.toList()));
|
|
|
+ });
|
|
|
LearnDirectedKnowledge directedKnowledge = null;
|
|
|
for(AMarjorPlan plan : planList) {
|
|
|
if(null != (directedKnowledge = getBestLearnDirectedKnowledge(plan, directedKnowledgeMap)) && StringUtils.isNotBlank(directedKnowledge.getSubjects())) {
|
|
|
@@ -542,7 +582,7 @@ public class LearnTeacherService {
|
|
|
return subjectIdSet;
|
|
|
}
|
|
|
|
|
|
- public Set<Long> getKnowledgeIdSet(Long planId, Integer year, String examType) {
|
|
|
+ public Set<Long> getKnowledgeIdSet(Long subjectId, Long planId, Integer year, String examType) {
|
|
|
if(NumberUtils.isPositive(planId)) {
|
|
|
SysUser sysUser = SecurityUtils.getLoginUser().getUser();
|
|
|
List<AMarjorPlan> planList = marjorPlanMapper.selectAMarjorPlanByIds(new Long[] { planId });
|
|
|
@@ -553,9 +593,26 @@ public class LearnTeacherService {
|
|
|
examType = null != sysUser.getExamType() ? sysUser.getExamType().name() : ExamType.OHS.name();
|
|
|
}
|
|
|
AMarjorPlan plan = planList.get(0);
|
|
|
- if(null == year || plan.getMatchYear().equals(year)) {
|
|
|
- return getStudentKnowledgeIdSet(plan.getMatchYear(), plan, sysUser.getLocation(), examType);
|
|
|
+ Set<Long> idSet;
|
|
|
+ if((null == subjectId || subjectId >= 10) && (null == year || plan.getMatchYear().equals(year))) {
|
|
|
+ idSet = getStudentKnowledgeIdSet(plan.getMatchYear(), plan, sysUser.getLocation(), examType);
|
|
|
+ } else {
|
|
|
+ idSet = Sets.newHashSet();
|
|
|
+ }
|
|
|
+ if(null == subjectId || subjectId < 10) {
|
|
|
+ LearnCultureKnowledge ckCond = new LearnCultureKnowledge();
|
|
|
+ ckCond.setUniversityId(plan.getUniversityId());
|
|
|
+ ckCond.setMatchYear(plan.getMatchYear());
|
|
|
+ ckCond.setLocations(sysUser.getLocation());
|
|
|
+ ckCond.setExamineeTypes(sysUser.getExamType().name());
|
|
|
+ if(null != subjectId) {
|
|
|
+ ckCond.setSubjects(subjectId.toString());
|
|
|
+ }
|
|
|
+ learnCultureKnowledgeMapper.selectLearnCultureKnowledgeList(ckCond).stream().filter(t -> StringUtils.isNotBlank(t.getKnowledges())).forEach(t -> {
|
|
|
+ idSet.addAll(Stream.of(t.getKnowledges().split(",")).map(Long::parseLong).collect(Collectors.toList()));
|
|
|
+ });
|
|
|
}
|
|
|
+ return idSet;
|
|
|
}
|
|
|
return Sets.newHashSet();
|
|
|
}
|