Browse Source

日常更新

wangliang 4 years ago
parent
commit
b23a4e78ca

+ 17 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/result/TBExamCourseResult.java

@@ -0,0 +1,17 @@
+package com.qmth.teachcloud.report.business.bean.result;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.qmth.teachcloud.report.business.entity.TBExamCourse;
+
+import java.io.Serializable;
+
+/**
+ * @Description: TBExamCourseResult
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2021/6/15
+ */
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class TBExamCourseResult extends TBExamCourse implements Serializable {
+}

+ 14 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/mapper/TBExamCourseMapper.java

@@ -1,7 +1,11 @@
 package com.qmth.teachcloud.report.business.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.teachcloud.report.business.bean.result.TBExamCourseResult;
 import com.qmth.teachcloud.report.business.entity.TBExamCourse;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,14 @@ import com.qmth.teachcloud.report.business.entity.TBExamCourse;
  */
 public interface TBExamCourseMapper extends BaseMapper<TBExamCourse> {
 
+    /**
+     * 查询科目信息
+     *
+     * @param schoolId
+     * @param examId
+     * @param inspect
+     * @return
+     */
+    List<TBExamCourseResult> findCourseList(@Param("schoolId") Long schoolId, @Param("examId") Long examId, @Param("inspect") boolean inspect);
+
 }

+ 11 - 0
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/TBExamCourseService.java

@@ -1,6 +1,7 @@
 package com.qmth.teachcloud.report.business.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.teachcloud.report.business.bean.result.TBExamCourseResult;
 import com.qmth.teachcloud.report.business.entity.TBExamCourse;
 
 import java.util.List;
@@ -25,4 +26,14 @@ public interface TBExamCourseService extends IService<TBExamCourse> {
     boolean verifyExamCourseCantRun(Long examId, Long schoolId, String courseCode, String courseName);
 
     List<String> findEffectiveByExamId(Long examId, String courseCode);
+
+    /**
+     * 查询科目信息
+     *
+     * @param schoolId
+     * @param examId
+     * @param inspect
+     * @return
+     */
+    List<TBExamCourseResult> findCourseList(Long schoolId, Long examId, boolean inspect);
 }

+ 35 - 17
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamCourseServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.teachcloud.common.entity.BasicCourse;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.BasicCourseService;
+import com.qmth.teachcloud.report.business.bean.result.TBExamCourseResult;
 import com.qmth.teachcloud.report.business.entity.TBExamCourse;
 import com.qmth.teachcloud.report.business.enums.PublishStatusEnum;
 import com.qmth.teachcloud.report.business.enums.TestStatusEnum;
@@ -27,28 +28,32 @@ import java.util.stream.Collectors;
  */
 @Service
 public class TBExamCourseServiceImpl extends ServiceImpl<TBExamCourseMapper, TBExamCourse> implements TBExamCourseService {
+
+    @Resource
+    TBExamCourseMapper tbExamCourseMapper;
+
     @Resource
     private BasicCourseService basicCourseService;
 
     @Override
-    public boolean verifyExamCourseCantRun(Long examId,Long schoolId, String courseCode, String courseName) {
+    public boolean verifyExamCourseCantRun(Long examId, Long schoolId, String courseCode, String courseName) {
         QueryWrapper<BasicCourse> schoolCourseQuery = new QueryWrapper<>();
         schoolCourseQuery.lambda()
-                .eq(BasicCourse::getSchoolId,schoolId)
-                .eq(BasicCourse::getCode,courseCode)
-                .eq(BasicCourse::getName,courseName);
+                .eq(BasicCourse::getSchoolId, schoolId)
+                .eq(BasicCourse::getCode, courseCode)
+                .eq(BasicCourse::getName, courseName);
         List<BasicCourse> tbSchoolCourseList = basicCourseService.list(schoolCourseQuery);
-        if (tbSchoolCourseList.size() != 1){
+        if (tbSchoolCourseList.size() != 1) {
             throw ExceptionResultEnum.ERROR.exception("学校课程基础数据异常");
         }
 
         QueryWrapper<TBExamCourse> examCourseQuery = new QueryWrapper<>();
         examCourseQuery.lambda()
-                .eq(TBExamCourse::getExamId,examId)
-                .eq(TBExamCourse::getCourseCode,courseCode)
-                .eq(TBExamCourse::getCourseName,courseName);
+                .eq(TBExamCourse::getExamId, examId)
+                .eq(TBExamCourse::getCourseCode, courseCode)
+                .eq(TBExamCourse::getCourseName, courseName);
         List<TBExamCourse> tbExamCourseList = this.list(examCourseQuery);
-        if (tbExamCourseList.size() != 1){
+        if (tbExamCourseList.size() != 1) {
             throw ExceptionResultEnum.ERROR.exception("考试课程基础数据异常");
         }
         TBExamCourse tbExamCourse = tbExamCourseList.get(0);
@@ -58,25 +63,38 @@ public class TBExamCourseServiceImpl extends ServiceImpl<TBExamCourseMapper, TBE
     }
 
     @Override
-    public List<String> findEffectiveByExamId(Long examId,String courseCode) {
+    public List<String> findEffectiveByExamId(Long examId, String courseCode) {
 
         List<TBExamCourse> effectiveCourseList = this.list(new QueryWrapper<TBExamCourse>().lambda()
-                .eq(TBExamCourse::getExamId,examId)
-                .eq(TBExamCourse::getTestStatus,TestStatusEnum.UN_TEST)
-                .eq(TBExamCourse::getPublishStatus,PublishStatusEnum.UN_COMPUTE));
+                .eq(TBExamCourse::getExamId, examId)
+                .eq(TBExamCourse::getTestStatus, TestStatusEnum.UN_TEST)
+                .eq(TBExamCourse::getPublishStatus, PublishStatusEnum.UN_COMPUTE));
 
-        if (effectiveCourseList.size() == 0){
+        if (effectiveCourseList.size() == 0) {
             throw ExceptionResultEnum.ERROR.exception("该考试目前没有任何课程可以分析");
         }
         List<String> effectCourseCodeList = new ArrayList<>();
-        if (courseCode != null && courseCode.length() > 0){
-            if (!effectiveCourseList.stream().map(TBExamCourse::getCourseCode).collect(Collectors.toList()).contains(courseCode)){
+        if (courseCode != null && courseCode.length() > 0) {
+            if (!effectiveCourseList.stream().map(TBExamCourse::getCourseCode).collect(Collectors.toList()).contains(courseCode)) {
                 throw ExceptionResultEnum.ERROR.exception("课程【" + courseCode + "】无法进行分析");
             }
             effectCourseCodeList.add(courseCode);
-        }else {
+        } else {
             effectCourseCodeList = effectiveCourseList.stream().map(TBExamCourse::getCourseCode).collect(Collectors.toList());
         }
         return effectCourseCodeList;
     }
+
+    /**
+     * 查询科目信息
+     *
+     * @param schoolId
+     * @param examId
+     * @param inspect
+     * @return
+     */
+    @Override
+    public List<TBExamCourseResult> findCourseList(Long schoolId, Long examId, boolean inspect) {
+        return tbExamCourseMapper.findCourseList(schoolId, examId, inspect);
+    }
 }

+ 22 - 0
teachcloud-report-business/src/main/resources/mapper/TBExamCourseMapper.xml

@@ -2,4 +2,26 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.qmth.teachcloud.report.business.mapper.TBExamCourseMapper">
 
+    <select id="findCourseList" resultType="com.qmth.teachcloud.report.business.bean.result.TBExamCourseResult">
+        select DISTINCT tbs.course_code,tbs.course_name from t_b_exam_student tbs
+        join basic_course bc
+        on tbs.course_code = bc.code
+        join sys_org so on
+        <choose>
+            <when test="inspect != null and inspect == false">
+                so.id = tbs.inspect_college_id
+            </when>
+            <otherwise>
+                so.id = tbs.teach_college_id
+            </otherwise>
+        </choose>
+        <where>
+            <if test="examId != null and examId != ''">
+                and tbs.exam_id = #{examId}
+            </if>
+            <if test="schoolId != null and schoolId != ''">
+                and bc.school_id = #{schoolId}
+            </if>
+        </where>
+    </select>
 </mapper>

+ 5 - 7
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/SysReportController.java

@@ -79,11 +79,9 @@ public class SysReportController {
     @RequestMapping(value = "/common/list_course", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "科目信息", response = TBExamCourse.class)})
     public Result listCourse(@ApiParam(value = "学校id", required = true) @RequestParam String schoolId,
-                             @ApiParam(value = "考试id", required = true) @RequestParam String examId) {
-        QueryWrapper<TBExamCourse> tbExamCourseQueryWrapper = new QueryWrapper<>();
-        tbExamCourseQueryWrapper.lambda().eq(TBExamCourse::getSchoolId, SystemConstant.convertIdToLong(schoolId));
-        tbExamCourseQueryWrapper.lambda().eq(TBExamCourse::getExamId, SystemConstant.convertIdToLong(examId));
-        return ResultUtil.ok(tbExamCourseService.list(tbExamCourseQueryWrapper));
+                             @ApiParam(value = "考试id", required = true) @RequestParam String examId,
+                             @ApiParam(value = "是否考查学院", required = true) @RequestParam boolean inspect) {
+        return ResultUtil.ok(tbExamCourseService.findCourseList(SystemConstant.convertIdToLong(schoolId), SystemConstant.convertIdToLong(examId), inspect));
     }
 
     @ApiOperation(value = "开课学院列表")
@@ -91,7 +89,7 @@ public class SysReportController {
     @ApiResponses({@ApiResponse(code = 200, message = "考生信息", response = TBExamStudentResult.class)})
     public Result listTeachCollege(@ApiParam(value = "学校id", required = true) @RequestParam String schoolId,
                                    @ApiParam(value = "考试id", required = true) @RequestParam String examId,
-                                   @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode) {
+                                   @ApiParam(value = "科目编码", required = false) @RequestParam(required = false) String courseCode) {
         return ResultUtil.ok(tbExamStudentService.selectTeachCollegeList(SystemConstant.convertIdToLong(schoolId), SystemConstant.convertIdToLong(examId), courseCode));
     }
 
@@ -100,7 +98,7 @@ public class SysReportController {
     @ApiResponses({@ApiResponse(code = 200, message = "考生信息", response = TBExamStudentResult.class)})
     public Result listInspectCollege(@ApiParam(value = "学校id", required = true) @RequestParam String schoolId,
                                      @ApiParam(value = "考试id", required = true) @RequestParam String examId,
-                                     @ApiParam(value = "科目编码", required = true) @RequestParam String courseCode) {
+                                     @ApiParam(value = "科目编码", required = false) @RequestParam(required = false) String courseCode) {
         return ResultUtil.ok(tbExamStudentService.selectInspectCollegeList(SystemConstant.convertIdToLong(schoolId), SystemConstant.convertIdToLong(examId), courseCode));
     }