Explorar o código

Merge remote-tracking branch 'origin/dev_v3.3.4' into dev_v3.3.4

wangliang hai 1 ano
pai
achega
72c880d398

+ 5 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/TRExamStudentMapper.java

@@ -1,6 +1,9 @@
 package com.qmth.distributed.print.business.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.distributed.print.business.bean.dto.report.StudentCourseInfoDto;
+import com.qmth.distributed.print.business.bean.dto.report.StudentRequirementInfoDto;
 import com.qmth.distributed.print.business.entity.TRExamStudent;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
@@ -18,4 +21,6 @@ import java.util.List;
 public interface TRExamStudentMapper extends BaseMapper<TRExamStudent> {
 
     List<StudentCourseInfoDto> listStudentCourseByCultureProgramIdAndStudentCodeAndSemesterId(@Param("cultureProgramId") Long cultureProgramId, @Param("studentCode") String studentCode, @Param("semesterId") Long semesterId);
+
+    IPage<StudentRequirementInfoDto> requirementStudentPage(@Param("studentRequirementInfoDtoPage") Page<StudentRequirementInfoDto> studentRequirementInfoDtoPage, @Param("cultureProgramId") Long cultureProgramId, @Param("studentCodeOrName") String studentCodeOrName);
 }

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TRExamStudentService.java

@@ -1,5 +1,6 @@
 package com.qmth.distributed.print.business.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.distributed.print.business.bean.dto.report.ReportExamStudentDto;
@@ -60,5 +61,5 @@ public interface TRExamStudentService extends IService<TRExamStudent> {
      */
     StudentRequirement getRequirementsStudentReport(Long cultureProgramId, String studentCode, Long semesterId);
 
-    Page<StudentRequirementInfoDto> getRequirementsStudentPage(Long cultureProgramId, String studentCodeOrName, Integer pageNumber, Integer pageSize);
+    IPage<StudentRequirementInfoDto> getRequirementsStudentPage(Long cultureProgramId, String studentCodeOrName, Integer pageNumber, Integer pageSize);
 }

+ 4 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ObeCultureProgramRequirementServiceImpl.java

@@ -233,6 +233,9 @@ public class ObeCultureProgramRequirementServiceImpl extends ServiceImpl<ObeCult
     public List<MatrixRequirementDto> listSubRequirement(Long cultureProgramId, Long courseId) {
         List<CourseRequirementMatrixDto> tpMatrixList = obeCourseRequirementMatrixMapper.listMatrix(cultureProgramId, courseId);
 
+        List<CourseRequirementMatrixDto> filterCollect = tpMatrixList.stream().filter(tpMatrix -> tpMatrix.getScale() != null).collect(Collectors.toList());
+        tpMatrixList = CollectionUtils.isNotEmpty(filterCollect) ? filterCollect : tpMatrixList;
+
         LinkedMultiValueMap<Long, CourseRequirementMatrixDto> requirementMap = new LinkedMultiValueMap<>();
         for (CourseRequirementMatrixDto tpMatrix : tpMatrixList) {
             requirementMap.add(tpMatrix.getObeRequirementId(), tpMatrix);
@@ -241,6 +244,7 @@ public class ObeCultureProgramRequirementServiceImpl extends ServiceImpl<ObeCult
         requirementMap.entrySet().stream().forEach(requirementEntry -> {
             ObeCultureProgramRequirement tpRequirement = this.getById(requirementEntry.getKey());
             MatrixRequirementDto matrixRequirementDto = new MatrixRequirementDto();
+            matrixRequirementDto.setId(tpRequirement.getId());
             matrixRequirementDto.setName(tpRequirement.getName());
             matrixRequirementDto.setExpectValue(tpRequirement.getExpectValue());
             List<CourseRequirementMatrixDto> requirementList = requirementEntry.getValue();
@@ -249,9 +253,6 @@ public class ObeCultureProgramRequirementServiceImpl extends ServiceImpl<ObeCult
                 requirementList.sort(Comparator.comparingInt(o -> o.getSubRequirementSortNum()));
             }
 
-            List<CourseRequirementMatrixDto> collect = requirementList.stream().filter(tpMatrix -> tpMatrix.getScale() != null).collect(Collectors.toList());
-            requirementList = CollectionUtils.isNotEmpty(collect) ? collect : requirementList;
-
             List<MatrixSubRequirementDto> matrixSubRequirementDtoList = requirementList.stream().map(tpMatrix -> {
                 MatrixSubRequirementDto matrixSubRequirementDto = new MatrixSubRequirementDto();
                 matrixSubRequirementDto.setId(tpMatrix.getId());

+ 3 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TRExamStudentServiceImpl.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.distributed.print.business.bean.dto.report.*;
@@ -274,8 +275,8 @@ public class TRExamStudentServiceImpl extends ServiceImpl<TRExamStudentMapper, T
     }
 
     @Override
-    public Page<StudentRequirementInfoDto> getRequirementsStudentPage(Long cultureProgramId, String studentCodeOrName, Integer pageNumber, Integer pageSize) {
-        return null;
+    public IPage<StudentRequirementInfoDto> getRequirementsStudentPage(Long cultureProgramId, String studentCodeOrName, Integer pageNumber, Integer pageSize) {
+        return this.baseMapper.requirementStudentPage(new Page<StudentRequirementInfoDto>(pageNumber, pageSize), cultureProgramId, studentCodeOrName);
     }
 
 //    /**

+ 21 - 0
distributed-print-business/src/main/resources/mapper/TRExamStudentMapper.xml

@@ -24,4 +24,25 @@
           AND res.student_code = #{studentCode}
           AND bs.id = #{semesterId}
     </select>
+    <select id="requirementStudentPage"
+            resultType="com.qmth.distributed.print.business.bean.dto.report.StudentRequirementInfoDto">
+        SELECT DISTINCT
+            res.name studentName,
+            res.student_code studentCode,
+            es.college_name collegeName,
+            es.major_name majorName
+        FROM
+            t_r_exam_student res
+                LEFT JOIN
+            t_r_basic_info rbi ON res.r_basic_info_id = rbi.id
+                LEFT JOIN
+            exam_student es ON rbi.exam_id = es.exam_id
+                AND rbi.paper_number = es.paper_number
+                AND res.student_code = es.student_code
+            where rbi.culture_program_id = #{cultureProgramId}
+                <if test="studentCodeOrName != null and studentCodeOrName != ''">
+                    AND (res.name LIKE CONCAT('%', #{studentCodeOrName}, '%')
+                    OR res.student_code LIKE CONCAT('%', #{studentCodeOrName}, '%'))
+                </if>
+    </select>
 </mapper>

+ 2 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/ObeReportController.java

@@ -102,7 +102,7 @@ public class ObeReportController {
     }
 
     @ApiOperation(value = "毕业要求达成度学生报表-列表")
-    @RequestMapping(value = "/requirements/student/report", method = RequestMethod.POST)
+    @RequestMapping(value = "/student_requirement/page", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "毕业要求达成度学生报表", response = ScoreResult.class)})
     public Result requirementsStudentPage(@ApiParam(value = "培养方案ID", required = true) @RequestParam Long cultureProgramId,
                                           @ApiParam(value = "学号/姓名", required = true) @RequestParam String studentCodeOrName,
@@ -112,7 +112,7 @@ public class ObeReportController {
     }
 
     @ApiOperation(value = "毕业要求达成度学生报表-查看详情")
-    @RequestMapping(value = "/requirements/student/report", method = RequestMethod.POST)
+    @RequestMapping(value = "/student_requirement/detail", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "毕业要求达成度学生报表", response = ScoreResult.class)})
     public Result requirementsStudentReport(@ApiParam(value = "培养方案ID", required = true) @RequestParam Long cultureProgramId,
                                             @ApiParam(value = "学号", required = true) @RequestParam String studentCode,