|
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
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.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.result.ObeCourseRequirementListResult;
|
|
|
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 org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
@@ -31,6 +33,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.validation.constraints.Max;
|
|
|
import javax.validation.constraints.Min;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
@@ -88,6 +91,19 @@ public class ObeReportController {
|
|
|
}
|
|
|
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(
|
|
|
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);
|