|
@@ -1,9 +1,12 @@
|
|
|
package com.qmth.distributed.print.api;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.qmth.boot.api.constant.ApiConstant;
|
|
|
import com.qmth.distributed.print.business.bean.dto.CourseWeightDetailDto;
|
|
|
import com.qmth.distributed.print.business.bean.dto.CourseWeightDto;
|
|
|
+import com.qmth.distributed.print.business.bean.dto.TCUsualScoreDto;
|
|
|
import com.qmth.distributed.print.business.bean.excel.ExcelField;
|
|
|
import com.qmth.distributed.print.business.bean.result.CourseWeightResult;
|
|
|
import com.qmth.distributed.print.business.bean.result.EditResult;
|
|
@@ -12,7 +15,6 @@ import com.qmth.distributed.print.business.entity.TCUsualScore;
|
|
|
import com.qmth.distributed.print.business.service.PrintCommonService;
|
|
|
import com.qmth.distributed.print.business.service.TCUsualScoreService;
|
|
|
import com.qmth.distributed.print.business.service.TRBasicInfoService;
|
|
|
-import com.qmth.distributed.print.business.service.TRExamStudentService;
|
|
|
import com.qmth.teachcloud.common.annotation.OperationLogDetail;
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
@@ -20,6 +22,7 @@ import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
|
|
|
import com.qmth.teachcloud.common.util.ResultUtil;
|
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
|
import io.swagger.annotations.*;
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -33,10 +36,7 @@ import javax.validation.Valid;
|
|
|
import javax.validation.constraints.Max;
|
|
|
import javax.validation.constraints.Min;
|
|
|
import java.io.IOException;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -119,7 +119,38 @@ public class TCUsualScoreController {
|
|
|
@ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
|
|
|
@ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
|
|
|
@ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) throws IOException {
|
|
|
- return ResultUtil.ok(tcUsualScoreService.usualScoreList(new Page<>(pageNumber, pageSize), examId, courseCode, paperNumber));
|
|
|
+ IPage<TCUsualScore> tcUsualScoreIPage = tcUsualScoreService.usualScoreList(new Page<>(pageNumber, pageSize), examId, courseCode, paperNumber);
|
|
|
+ if (Objects.nonNull(tcUsualScoreIPage) && CollectionUtils.isNotEmpty(tcUsualScoreIPage.getRecords())) {
|
|
|
+ Set<String> usualScoreSet = new LinkedHashSet<>();
|
|
|
+ Set<String> usualScoreCourseSet = new LinkedHashSet<>();
|
|
|
+ tcUsualScoreIPage.getRecords().stream().peek(e -> {
|
|
|
+ List<TCUsualScoreDto> tcUsualScoreDtoList = JSONArray.parseArray(e.getScore(), TCUsualScoreDto.class);
|
|
|
+ usualScoreSet.addAll(tcUsualScoreDtoList.stream().map(s -> s.getName()).collect(Collectors.toList()));
|
|
|
+ }).collect(Collectors.toSet());
|
|
|
+
|
|
|
+ List<CourseWeightDto> courseWeightDtoList = trBasicInfoService.findCourseWeightDtoRmi(examId, courseCode);
|
|
|
+ if (CollectionUtils.isNotEmpty(courseWeightDtoList)) {
|
|
|
+ courseWeightDtoList.stream().peek(e -> {
|
|
|
+ List<CourseWeightDetailDto> courseWeightDetailDtoList = e.getEvaluationList();
|
|
|
+ courseWeightDetailDtoList.stream().peek(s -> {
|
|
|
+ if (!Objects.equals(s.getEvaluationName(), "期末考试")) {
|
|
|
+ usualScoreCourseSet.add(s.getEvaluationName());
|
|
|
+ }
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(usualScoreSet) && CollectionUtils.isNotEmpty(usualScoreCourseSet)) {
|
|
|
+ List<String> usualScoreList = new ArrayList<>(usualScoreSet);
|
|
|
+ List<String> usualScoreCourseList = new ArrayList<>(usualScoreCourseSet);
|
|
|
+ Collections.sort(usualScoreList);
|
|
|
+ Collections.sort(usualScoreCourseList);
|
|
|
+ if (!CollectionUtils.isEqualCollection(usualScoreList, usualScoreCourseList)) {
|
|
|
+ tcUsualScoreIPage.getRecords().get(0).setChange(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ResultUtil.ok(tcUsualScoreIPage);
|
|
|
}
|
|
|
|
|
|
@ApiOperation(value = "平时成绩编辑")
|