Browse Source

专业达成度报表修改

wangliang 1 year ago
parent
commit
639839067b

+ 10 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/report/ObeCourseRequirementDto.java

@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
 import java.io.Serializable;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * @Description: obe课程毕业指标dto
  * @Description: obe课程毕业指标dto
@@ -40,9 +41,18 @@ public class ObeCourseRequirementDto implements Serializable {
     public ObeCourseRequirementDto(CourseRequirementMatrixDto courseRequirementMatrixDto) {
     public ObeCourseRequirementDto(CourseRequirementMatrixDto courseRequirementMatrixDto) {
         this.courseCode = courseRequirementMatrixDto.getCourseCode();
         this.courseCode = courseRequirementMatrixDto.getCourseCode();
         this.courseName = courseRequirementMatrixDto.getCourseName();
         this.courseName = courseRequirementMatrixDto.getCourseName();
+        //todo 待xf补充
         this.semesterName = "测试学期1";
         this.semesterName = "测试学期1";
     }
     }
 
 
+    public ObeCourseRequirementDto(ObeCourseRequirementDto obeCourseRequirementDto) {
+        this.courseCode = obeCourseRequirementDto.getCourseCode();
+        this.courseName = obeCourseRequirementDto.getCourseName();
+        this.semesterName = obeCourseRequirementDto.getSemesterName();
+        this.matrixDegree = obeCourseRequirementDto.getMatrixDegree();
+        this.obeRequirements = obeCourseRequirementDto.getObeRequirements().stream().map(ObeRequirementDto::new).collect(Collectors.toList());
+    }
+
     public void updateInfo() {
     public void updateInfo() {
         this.courseCode = null;
         this.courseCode = null;
         this.courseName = null;
         this.courseName = null;

+ 10 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/report/ObeRequirementDto.java

@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
 import java.io.Serializable;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * @Description: obe毕业指标dto
  * @Description: obe毕业指标dto
@@ -28,6 +29,15 @@ public class ObeRequirementDto extends MatrixRequirementDto implements Serializa
 
 
     }
     }
 
 
+    public ObeRequirementDto(ObeRequirementDto obeRequirementDto) {
+        setId(obeRequirementDto.getId());
+        setName(obeRequirementDto.getName());
+        setContent(obeRequirementDto.getContent());
+        setExpectValue(obeRequirementDto.getExpectValue());
+        this.matrixDegree = obeRequirementDto.getMatrixDegree();
+        this.obeSubRequirements = obeRequirementDto.getObeSubRequirements().stream().map(ObeSubRequirementsDto::new).collect(Collectors.toList());
+    }
+
     public ObeRequirementDto(MatrixRequirementDto matrixRequirementDto) {
     public ObeRequirementDto(MatrixRequirementDto matrixRequirementDto) {
         setId(matrixRequirementDto.getId());
         setId(matrixRequirementDto.getId());
         setName(matrixRequirementDto.getName());
         setName(matrixRequirementDto.getName());

+ 20 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/report/ObeSubRequirementsDto.java

@@ -3,14 +3,10 @@ package com.qmth.distributed.print.business.bean.dto.report;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.qmth.distributed.print.business.bean.dto.CourseWeightDto;
 import com.qmth.distributed.print.business.bean.dto.obe.MatrixSubRequirementDto;
 import com.qmth.distributed.print.business.bean.dto.obe.MatrixSubRequirementDto;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
-import org.jetbrains.annotations.NotNull;
 
 
-import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
-import java.util.List;
 
 
 /**
 /**
  * @Description: obe毕业指标点dto
  * @Description: obe毕业指标点dto
@@ -46,6 +42,26 @@ public class ObeSubRequirementsDto extends CourseTargetWebDto {
 
 
     }
     }
 
 
+    public ObeSubRequirementsDto(ObeSubRequirementsDto obeSubRequirementsDto) {
+        this.id = obeSubRequirementsDto.getId();
+        this.name = obeSubRequirementsDto.getName();
+        this.scale = obeSubRequirementsDto.getScale();
+        this.content = obeSubRequirementsDto.getContent();
+        this.subRequirementId = obeSubRequirementsDto.getSubRequirementId();
+        this.matrixDegree = obeSubRequirementsDto.getMatrixDegree();
+        setTargetId(obeSubRequirementsDto.getTargetId());
+        setTargetName(obeSubRequirementsDto.getTargetName());
+        setGraduationRequirement(obeSubRequirementsDto.getGraduationRequirement());
+        setGraduationRequirementPoint(obeSubRequirementsDto.getGraduationRequirementPoint());
+        setTargetSumWeight(obeSubRequirementsDto.getTargetSumWeight());
+        setDimensionList(obeSubRequirementsDto.getDimensionList());
+        setEvaluationValue(obeSubRequirementsDto.getEvaluationValue());
+        setEvaluationList(obeSubRequirementsDto.getEvaluationList());
+        setDimensionScoreSum(obeSubRequirementsDto.getDimensionScoreSum());
+        setDimensionPoint(obeSubRequirementsDto.getDimensionPoint());
+        setFinalScoreQuestionScoreSum(obeSubRequirementsDto.getFinalScoreQuestionScoreSum());
+    }
+
     public ObeSubRequirementsDto(CourseTargetWebDto courseTargetWebDto, MatrixSubRequirementDto matrixSubRequirementDto) {
     public ObeSubRequirementsDto(CourseTargetWebDto courseTargetWebDto, MatrixSubRequirementDto matrixSubRequirementDto) {
         this.id = matrixSubRequirementDto.getId();
         this.id = matrixSubRequirementDto.getId();
         this.name = matrixSubRequirementDto.getName();
         this.name = matrixSubRequirementDto.getName();

+ 2 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ObeCourseRequirementReportServiceImpl.java

@@ -24,7 +24,6 @@ import com.qmth.teachcloud.common.service.BasicCourseService;
 import com.qmth.teachcloud.common.util.JacksonUtil;
 import com.qmth.teachcloud.common.util.JacksonUtil;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.CollectionUtils;
@@ -187,9 +186,8 @@ public class ObeCourseRequirementReportServiceImpl extends ServiceImpl<ObeCourse
         ObeCourseRequirementDto obeCourseRequirementResultDto = new ObeCourseRequirementDto();
         ObeCourseRequirementDto obeCourseRequirementResultDto = new ObeCourseRequirementDto();
         if (!CollectionUtils.isEmpty(obeCourseRequirementDtoList)) {
         if (!CollectionUtils.isEmpty(obeCourseRequirementDtoList)) {
             obeCourseRequirementDtoList = this.matrixCourseReportCommon(obeCourseRequirementDtoList, obeSubRequirementsDtoMap);
             obeCourseRequirementDtoList = this.matrixCourseReportCommon(obeCourseRequirementDtoList, obeSubRequirementsDtoMap);
-            ObeCourseRequirementDto obeCourseRequirementDtoTemp = new ObeCourseRequirementDto();
-            obeCourseRequirementDtoTemp = obeCourseRequirementDtoList.get(obeCourseRequirementDtoList.size() - 1);
-            BeanUtils.copyProperties(obeCourseRequirementDtoTemp, obeCourseRequirementResultDto);
+            obeCourseRequirementDtoList = obeCourseRequirementDtoList.stream().map(ObeCourseRequirementDto::new).collect(Collectors.toList());
+            obeCourseRequirementResultDto = obeCourseRequirementDtoList.get(obeCourseRequirementDtoList.size() - 1);
             obeCourseRequirementResultDto.updateInfo();
             obeCourseRequirementResultDto.updateInfo();
         }
         }
         return obeCourseRequirementResultDto;
         return obeCourseRequirementResultDto;

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

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.dto.obe.CourseRequirementMatrixDto;
 import com.qmth.distributed.print.business.bean.dto.obe.CourseRequirementMatrixDto;
 import com.qmth.distributed.print.business.bean.dto.report.ObeCourseRequirementDto;
 import com.qmth.distributed.print.business.bean.dto.report.ObeCourseRequirementDto;
+import com.qmth.distributed.print.business.bean.dto.report.ObeRequirementDto;
 import com.qmth.distributed.print.business.bean.dto.report.ObeSubRequirementsDto;
 import com.qmth.distributed.print.business.bean.dto.report.ObeSubRequirementsDto;
 import com.qmth.distributed.print.business.bean.result.ObeCourseRequirementListResult;
 import com.qmth.distributed.print.business.bean.result.ObeCourseRequirementListResult;
 import com.qmth.distributed.print.business.bean.result.ScoreResult;
 import com.qmth.distributed.print.business.bean.result.ScoreResult;
@@ -21,6 +22,7 @@ import com.qmth.teachcloud.common.util.ResultUtil;
 import io.swagger.annotations.*;
 import io.swagger.annotations.*;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -31,6 +33,7 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
 import javax.validation.constraints.Min;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.*;
 
 
 /**
 /**
@@ -88,6 +91,19 @@ public class ObeReportController {
                 }
                 }
                 obeCourseRequirementResultDto = obeCourseRequirementReportService.matrixCourseReport(obeCourseRequirementDtoList, obeSubRequirementsDtoMap);
                 obeCourseRequirementResultDto = obeCourseRequirementReportService.matrixCourseReport(obeCourseRequirementDtoList, obeSubRequirementsDtoMap);
 
 
+                ObeCourseRequirementDto finalObeCourseRequirementResultDto = obeCourseRequirementResultDto;
+                obeSubRequirementsDtoMap.forEach((k, v) -> {
+                    List<ObeRequirementDto> obeRequirementDtoList = finalObeCourseRequirementResultDto.getObeRequirements();
+                    for (ObeRequirementDto obeRequirementDto : obeRequirementDtoList) {
+                        List<ObeSubRequirementsDto> obeSubRequirementsDtoList = obeRequirementDto.getObeSubRequirements();
+                        for (ObeSubRequirementsDto obeSubRequirementsDto : obeSubRequirementsDtoList) {
+                            if (obeSubRequirementsDto.getSubRequirementId().longValue() == k.longValue()) {
+                                Double degree = v.stream().mapToDouble(x -> x.getMatrixDegree().doubleValue()).sum();
+                                obeSubRequirementsDto.setMatrixDegree(new BigDecimal(degree).setScale(2, BigDecimal.ROUND_HALF_UP));
+                            }
+                        }
+                    }
+                });
                 ObeCourseRequirementReport obeCourseRequirementReport = new ObeCourseRequirementReport(
                 ObeCourseRequirementReport obeCourseRequirementReport = new ObeCourseRequirementReport(
                         cultureProgramId, Objects.nonNull(obeCourseRequirementResultDto) ? JacksonUtil.parseJson(obeCourseRequirementResultDto) : null,
                         cultureProgramId, Objects.nonNull(obeCourseRequirementResultDto) ? JacksonUtil.parseJson(obeCourseRequirementResultDto) : null,
                         !CollectionUtils.isEmpty(obeCourseRequirementDtoList) ? JacksonUtil.parseJson(obeCourseRequirementDtoList) : null, Objects.nonNull(obeCourseRequirementResultDto) && Objects.nonNull(obeCourseRequirementResultDto.getMatrixDegree()) ? obeCourseRequirementResultDto.getMatrixDegree().doubleValue() : null);
                         !CollectionUtils.isEmpty(obeCourseRequirementDtoList) ? JacksonUtil.parseJson(obeCourseRequirementDtoList) : null, Objects.nonNull(obeCourseRequirementResultDto) && Objects.nonNull(obeCourseRequirementResultDto.getMatrixDegree()) ? obeCourseRequirementResultDto.getMatrixDegree().doubleValue() : null);