deason 6 years ago
parent
commit
7562997344

+ 2 - 2
examcloud-core-print-dao/src/main/java/cn/com/qmth/examcloud/core/print/entity/SubjectiveQuestionStructure.java

@@ -35,13 +35,13 @@ public class SubjectiveQuestionStructure extends IdEntity {
     /**
     /**
      * 课程代码
      * 课程代码
      */
      */
-    @Excel(name = "科目代码", orderNum = "0")
+    @Excel(name = "课程代码", orderNum = "0")
     @Column(length = 50)
     @Column(length = 50)
     private String courseCode;
     private String courseCode;
     /**
     /**
      * 课程名称
      * 课程名称
      */
      */
-    @Excel(name = "科目名称", orderNum = "1")
+    @Excel(name = "课程名称", orderNum = "1")
     @Column(length = 50)
     @Column(length = 50)
     private String courseName;
     private String courseName;
     /**
     /**

+ 5 - 0
examcloud-core-print-dao/src/main/java/cn/com/qmth/examcloud/core/print/repository/ObjectiveQuestionStructureRepository.java

@@ -19,6 +19,11 @@ import org.springframework.transaction.annotation.Transactional;
 @Repository
 @Repository
 public interface ObjectiveQuestionStructureRepository extends JpaRepository<ObjectiveQuestionStructure, Long>, JpaSpecificationExecutor<ObjectiveQuestionStructure> {
 public interface ObjectiveQuestionStructureRepository extends JpaRepository<ObjectiveQuestionStructure, Long>, JpaSpecificationExecutor<ObjectiveQuestionStructure> {
 
 
+    @Transactional
+    @Modifying
+    @Query("UPDATE ObjectiveQuestionStructure SET courseName=:courseName WHERE courseId=:courseId")
+    int updateCourseNameByCourseId(@Param("courseId") Long courseId, @Param("courseName") String courseName);
+
     @Transactional
     @Transactional
     @Modifying
     @Modifying
     @Query("DELETE FROM ObjectiveQuestionStructure WHERE examId=:examId AND paperId=:paperId")
     @Query("DELETE FROM ObjectiveQuestionStructure WHERE examId=:examId AND paperId=:paperId")

+ 5 - 0
examcloud-core-print-dao/src/main/java/cn/com/qmth/examcloud/core/print/repository/SubjectiveQuestionStructureRepository.java

@@ -19,6 +19,11 @@ import org.springframework.transaction.annotation.Transactional;
 @Repository
 @Repository
 public interface SubjectiveQuestionStructureRepository extends JpaRepository<SubjectiveQuestionStructure, Long>, JpaSpecificationExecutor<SubjectiveQuestionStructure> {
 public interface SubjectiveQuestionStructureRepository extends JpaRepository<SubjectiveQuestionStructure, Long>, JpaSpecificationExecutor<SubjectiveQuestionStructure> {
 
 
+    @Transactional
+    @Modifying
+    @Query("UPDATE SubjectiveQuestionStructure SET courseName=:courseName WHERE courseId=:courseId")
+    int updateCourseNameByCourseId(@Param("courseId") Long courseId, @Param("courseName") String courseName);
+
     @Transactional
     @Transactional
     @Modifying
     @Modifying
     @Query("DELETE FROM SubjectiveQuestionStructure WHERE examId=:examId AND paperId=:paperId")
     @Query("DELETE FROM SubjectiveQuestionStructure WHERE examId=:examId AND paperId=:paperId")

+ 8 - 4
examcloud-core-print-provider/src/main/java/cn/com/qmth/examcloud/core/print/api/provider/SyncCloudServiceProvider.java

@@ -12,10 +12,7 @@ import cn.com.qmth.examcloud.commons.api.request.*;
 import cn.com.qmth.examcloud.commons.api.response.*;
 import cn.com.qmth.examcloud.commons.api.response.*;
 import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.core.print.enums.ExamType;
 import cn.com.qmth.examcloud.core.print.enums.ExamType;
-import cn.com.qmth.examcloud.core.print.service.CoursePaperService;
-import cn.com.qmth.examcloud.core.print.service.CourseStatisticService;
-import cn.com.qmth.examcloud.core.print.service.ExamStructureService;
-import cn.com.qmth.examcloud.core.print.service.PrintingProjectService;
+import cn.com.qmth.examcloud.core.print.service.*;
 import cn.com.qmth.examcloud.core.print.service.bean.common.ExamInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.common.ExamInfo;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,6 +35,8 @@ public class SyncCloudServiceProvider extends ControllerSupport implements Handl
     @Autowired
     @Autowired
     private ExamStructureService examStructureService;
     private ExamStructureService examStructureService;
     @Autowired
     @Autowired
+    private ExamQuestionStructureService examQuestionStructureService;
+    @Autowired
     private CoursePaperService coursePaperService;
     private CoursePaperService coursePaperService;
     @Autowired
     @Autowired
     private CourseStatisticService courseStatisticService;
     private CourseStatisticService courseStatisticService;
@@ -95,6 +94,8 @@ public class SyncCloudServiceProvider extends ControllerSupport implements Handl
         if (StringUtils.isNotBlank(req.getName())) {
         if (StringUtils.isNotBlank(req.getName())) {
             coursePaperService.syncCourseNameByCourseId(req.getId(), req.getName());
             coursePaperService.syncCourseNameByCourseId(req.getId(), req.getName());
             courseStatisticService.syncCourseNameByCourseId(req.getId(), req.getName());
             courseStatisticService.syncCourseNameByCourseId(req.getId(), req.getName());
+            examQuestionStructureService.syncObjectiveCourseNameByCourseId(req.getId(), req.getName());
+            examQuestionStructureService.syncSubjectiveCourseNameByCourseId(req.getId(), req.getName());
         }
         }
         return new SyncCourseResp();
         return new SyncCourseResp();
     }
     }
@@ -107,6 +108,9 @@ public class SyncCloudServiceProvider extends ControllerSupport implements Handl
         return new SyncSpecialtyResp();
         return new SyncSpecialtyResp();
     }
     }
 
 
+    /**
+     * 同步用户
+     */
     @PostMapping("syncUser")
     @PostMapping("syncUser")
     public SyncUserResp syncUser(SyncUserReq req) {
     public SyncUserResp syncUser(SyncUserReq req) {
         if (StringUtils.isNotBlank(req.getName())) {
         if (StringUtils.isNotBlank(req.getName())) {

+ 11 - 1
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/QuestionStructureService.java → examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/ExamQuestionStructureService.java

@@ -16,7 +16,7 @@ import java.util.List;
  * @author: fengdesheng
  * @author: fengdesheng
  * @since: 2018/10/22
  * @since: 2018/10/22
  */
  */
-public interface QuestionStructureService {
+public interface ExamQuestionStructureService {
 
 
     /**
     /**
      * 保存试卷试题结构
      * 保存试卷试题结构
@@ -42,4 +42,14 @@ public interface QuestionStructureService {
      */
      */
     List<SubjectiveQuestionStructure> getSubjectiveQuestionStructureList(Long examId, String paperId);
     List<SubjectiveQuestionStructure> getSubjectiveQuestionStructureList(Long examId, String paperId);
 
 
+    /**
+     * 同步更新课程名称信息
+     */
+    void syncObjectiveCourseNameByCourseId(Long courseId, String courseName);
+
+    /**
+     * 同步更新课程名称信息
+     */
+    void syncSubjectiveCourseNameByCourseId(Long courseId, String courseName);
+
 }
 }

+ 2 - 2
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/StatisticService.java

@@ -9,7 +9,7 @@ package cn.com.qmth.examcloud.core.print.service;
 
 
 import cn.com.qmth.examcloud.core.print.service.bean.common.ExamCourseInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.common.ExamCourseInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.common.ExamInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.common.ExamInfo;
-import cn.com.qmth.examcloud.core.print.service.bean.questionstructure.PaperQuestionStructureInfo;
+import cn.com.qmth.examcloud.core.print.service.bean.examquestionstructure.ExamQuestionStructureInfo;
 import cn.com.qmth.examcloud.examwork.api.bean.ExamPaperTypeRelation;
 import cn.com.qmth.examcloud.examwork.api.bean.ExamPaperTypeRelation;
 
 
 import java.util.List;
 import java.util.List;
@@ -33,7 +33,7 @@ public interface StatisticService {
     /**
     /**
      * 获取试卷结构信息
      * 获取试卷结构信息
      */
      */
-    PaperQuestionStructureInfo findStructureByPaperId(Long examId, String paperId);
+    ExamQuestionStructureInfo findStructureByPaperId(Long examId, String paperId);
 
 
     /**
     /**
      * 获取某考试的课程和试卷类型列表
      * 获取某考试的课程和试卷类型列表

+ 2 - 2
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/bean/questionstructure/PaperQuestionStructureInfo.java → examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/bean/examquestionstructure/ExamQuestionStructureInfo.java

@@ -5,7 +5,7 @@
  * *************************************************
  * *************************************************
  */
  */
 
 
-package cn.com.qmth.examcloud.core.print.service.bean.questionstructure;
+package cn.com.qmth.examcloud.core.print.service.bean.examquestionstructure;
 
 
 import cn.com.qmth.examcloud.commons.web.cloud.api.JsonSerializable;
 import cn.com.qmth.examcloud.commons.web.cloud.api.JsonSerializable;
 import cn.com.qmth.examcloud.core.print.entity.ObjectiveQuestionStructure;
 import cn.com.qmth.examcloud.core.print.entity.ObjectiveQuestionStructure;
@@ -20,7 +20,7 @@ import java.util.List;
  * @author: fengdesheng
  * @author: fengdesheng
  * @since: 2018/11/16
  * @since: 2018/11/16
  */
  */
-public class PaperQuestionStructureInfo implements JsonSerializable {
+public class ExamQuestionStructureInfo implements JsonSerializable {
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
     /**
     /**
      * 客观题列表
      * 客观题列表

+ 5 - 5
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/impl/CoursePaperServiceImpl.java

@@ -24,7 +24,7 @@ import cn.com.qmth.examcloud.core.print.enums.PaperStatus;
 import cn.com.qmth.examcloud.core.print.repository.CoursePaperRepository;
 import cn.com.qmth.examcloud.core.print.repository.CoursePaperRepository;
 import cn.com.qmth.examcloud.core.print.repository.CourseStatisticRepository;
 import cn.com.qmth.examcloud.core.print.repository.CourseStatisticRepository;
 import cn.com.qmth.examcloud.core.print.service.CoursePaperService;
 import cn.com.qmth.examcloud.core.print.service.CoursePaperService;
-import cn.com.qmth.examcloud.core.print.service.QuestionStructureService;
+import cn.com.qmth.examcloud.core.print.service.ExamQuestionStructureService;
 import cn.com.qmth.examcloud.core.print.service.bean.coursepaper.*;
 import cn.com.qmth.examcloud.core.print.service.bean.coursepaper.*;
 import com.itextpdf.text.pdf.PdfReader;
 import com.itextpdf.text.pdf.PdfReader;
 import javafx.util.Pair;
 import javafx.util.Pair;
@@ -58,7 +58,7 @@ public class CoursePaperServiceImpl implements CoursePaperService {
     @Autowired
     @Autowired
     private CourseStatisticRepository courseStatisticRepository;
     private CourseStatisticRepository courseStatisticRepository;
     @Autowired
     @Autowired
-    private QuestionStructureService questionStructureService;
+    private ExamQuestionStructureService examQuestionStructureService;
     @Value("${question.url.prefix}")
     @Value("${question.url.prefix}")
     private String QUESTION_URL_PREFIX;//题库访问地址前缀
     private String QUESTION_URL_PREFIX;//题库访问地址前缀
 
 
@@ -148,7 +148,7 @@ public class CoursePaperServiceImpl implements CoursePaperService {
         }
         }
 
 
         //保存或更新试卷试题结构
         //保存或更新试卷试题结构
-        questionStructureService.savePaperQuestionStructure(coursePaper.getExamId(), coursePaper.getPaperId());
+        examQuestionStructureService.savePaperQuestionStructure(coursePaper.getExamId(), coursePaper.getPaperId());
 
 
         //如果当前考试课程"只有一种试卷类型"且"未分配试卷",则默认分配该试卷
         //如果当前考试课程"只有一种试卷类型"且"未分配试卷",则默认分配该试卷
         SearchBuilder searches = new SearchBuilder()
         SearchBuilder searches = new SearchBuilder()
@@ -356,11 +356,11 @@ public class CoursePaperServiceImpl implements CoursePaperService {
 
 
             if (needStruct) {
             if (needStruct) {
                 //客观题结构
                 //客观题结构
-                List<ObjectiveQuestionStructure> objectives = questionStructureService.getObjectiveQuestionStructureList(paper.getExamId(), paper.getPaperId());
+                List<ObjectiveQuestionStructure> objectives = examQuestionStructureService.getObjectiveQuestionStructureList(paper.getExamId(), paper.getPaperId());
                 allObjectives.addAll(objectives);
                 allObjectives.addAll(objectives);
 
 
                 //主观题结构
                 //主观题结构
-                List<SubjectiveQuestionStructure> subjectives = questionStructureService.getSubjectiveQuestionStructureList(paper.getExamId(), paper.getPaperId());
+                List<SubjectiveQuestionStructure> subjectives = examQuestionStructureService.getSubjectiveQuestionStructureList(paper.getExamId(), paper.getPaperId());
                 allSubjectives.addAll(subjectives);
                 allSubjectives.addAll(subjectives);
             }
             }
 
 

+ 21 - 4
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/impl/QuestionStructureServiceImpl.java

@@ -14,9 +14,10 @@ import cn.com.qmth.examcloud.core.print.entity.ObjectiveQuestionStructure;
 import cn.com.qmth.examcloud.core.print.entity.SubjectiveQuestionStructure;
 import cn.com.qmth.examcloud.core.print.entity.SubjectiveQuestionStructure;
 import cn.com.qmth.examcloud.core.print.repository.ObjectiveQuestionStructureRepository;
 import cn.com.qmth.examcloud.core.print.repository.ObjectiveQuestionStructureRepository;
 import cn.com.qmth.examcloud.core.print.repository.SubjectiveQuestionStructureRepository;
 import cn.com.qmth.examcloud.core.print.repository.SubjectiveQuestionStructureRepository;
-import cn.com.qmth.examcloud.core.print.service.QuestionStructureService;
+import cn.com.qmth.examcloud.core.print.service.ExamQuestionStructureService;
 import cn.com.qmth.examcloud.core.print.service.StatisticService;
 import cn.com.qmth.examcloud.core.print.service.StatisticService;
-import cn.com.qmth.examcloud.core.print.service.bean.questionstructure.PaperQuestionStructureInfo;
+import cn.com.qmth.examcloud.core.print.service.bean.examquestionstructure.ExamQuestionStructureInfo;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,7 +32,7 @@ import java.util.List;
  * @since: 2018/10/17
  * @since: 2018/10/17
  */
  */
 @Service
 @Service
-public class QuestionStructureServiceImpl implements QuestionStructureService {
+public class QuestionStructureServiceImpl implements ExamQuestionStructureService {
     private static final Logger log = LoggerFactory.getLogger(QuestionStructureServiceImpl.class);
     private static final Logger log = LoggerFactory.getLogger(QuestionStructureServiceImpl.class);
     @Autowired
     @Autowired
     private ObjectiveQuestionStructureRepository objectiveQuestionStructureRepository;
     private ObjectiveQuestionStructureRepository objectiveQuestionStructureRepository;
@@ -46,7 +47,7 @@ public class QuestionStructureServiceImpl implements QuestionStructureService {
         Check.isEmpty(paperId, "试卷ID不能为空!");
         Check.isEmpty(paperId, "试卷ID不能为空!");
 
 
         //从题库端获取试卷的试题结构信息
         //从题库端获取试卷的试题结构信息
-        PaperQuestionStructureInfo info = statisticService.findStructureByPaperId(examId, paperId);
+        ExamQuestionStructureInfo info = statisticService.findStructureByPaperId(examId, paperId);
 
 
         //先清理旧数据
         //先清理旧数据
         objectiveQuestionStructureRepository.deleteByExamIdAndPaperId(examId, paperId);
         objectiveQuestionStructureRepository.deleteByExamIdAndPaperId(examId, paperId);
@@ -95,4 +96,20 @@ public class QuestionStructureServiceImpl implements QuestionStructureService {
         return list;
         return list;
     }
     }
 
 
+    @Override
+    public void syncObjectiveCourseNameByCourseId(Long courseId, String courseName) {
+        if (courseId == null || StringUtils.isBlank(courseName)) {
+            return;
+        }
+        objectiveQuestionStructureRepository.updateCourseNameByCourseId(courseId, courseName);
+    }
+
+    @Override
+    public void syncSubjectiveCourseNameByCourseId(Long courseId, String courseName) {
+        if (courseId == null || StringUtils.isBlank(courseName)) {
+            return;
+        }
+        subjectiveQuestionStructureRepository.updateCourseNameByCourseId(courseId, courseName);
+    }
+
 }
 }

+ 3 - 3
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/impl/StatisticServiceImpl.java

@@ -12,7 +12,7 @@ import cn.com.qmth.examcloud.core.print.enums.ExamType;
 import cn.com.qmth.examcloud.core.print.service.StatisticService;
 import cn.com.qmth.examcloud.core.print.service.StatisticService;
 import cn.com.qmth.examcloud.core.print.service.bean.common.ExamCourseInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.common.ExamCourseInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.common.ExamInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.common.ExamInfo;
-import cn.com.qmth.examcloud.core.print.service.bean.questionstructure.PaperQuestionStructureInfo;
+import cn.com.qmth.examcloud.core.print.service.bean.examquestionstructure.ExamQuestionStructureInfo;
 import cn.com.qmth.examcloud.examwork.api.ExamCloudService;
 import cn.com.qmth.examcloud.examwork.api.ExamCloudService;
 import cn.com.qmth.examcloud.examwork.api.bean.ExamPaperTypeRelation;
 import cn.com.qmth.examcloud.examwork.api.bean.ExamPaperTypeRelation;
 import cn.com.qmth.examcloud.examwork.api.request.CountExamStudentReq;
 import cn.com.qmth.examcloud.examwork.api.request.CountExamStudentReq;
@@ -73,8 +73,8 @@ public class StatisticServiceImpl implements StatisticService {
     }
     }
 
 
     @Override
     @Override
-    public PaperQuestionStructureInfo findStructureByPaperId(Long examId, String paperId) {
-        PaperQuestionStructureInfo info = new PaperQuestionStructureInfo();
+    public ExamQuestionStructureInfo findStructureByPaperId(Long examId, String paperId) {
+        ExamQuestionStructureInfo info = new ExamQuestionStructureInfo();
         //todo
         //todo
         return info;
         return info;
     }
     }