wangliang 10 tháng trước cách đây
mục cha
commit
1bb8907bd1

+ 31 - 5
distributed-print/src/main/java/com/qmth/distributed/print/api/obe/TCPaperStructController.java

@@ -16,9 +16,11 @@ import com.qmth.teachcloud.common.enums.log.OperationTypeEnum;
 import com.qmth.teachcloud.common.util.*;
 import com.qmth.teachcloud.common.util.*;
 import com.qmth.teachcloud.mark.entity.MarkPaper;
 import com.qmth.teachcloud.mark.entity.MarkPaper;
 import com.qmth.teachcloud.mark.service.MarkQuestionService;
 import com.qmth.teachcloud.mark.service.MarkQuestionService;
+import com.qmth.teachcloud.obe.been.dto.CourseWeightDetailDto;
 import com.qmth.teachcloud.obe.been.dto.CourseWeightDto;
 import com.qmth.teachcloud.obe.been.dto.CourseWeightDto;
 import com.qmth.teachcloud.obe.been.excel.PaperStructDto;
 import com.qmth.teachcloud.obe.been.excel.PaperStructDto;
 import com.qmth.teachcloud.obe.been.params.report.PaperStructParams;
 import com.qmth.teachcloud.obe.been.params.report.PaperStructParams;
+import com.qmth.teachcloud.obe.been.report.CourseTargetWebDto;
 import com.qmth.teachcloud.obe.been.result.ObeCourseWeightResult;
 import com.qmth.teachcloud.obe.been.result.ObeCourseWeightResult;
 import com.qmth.teachcloud.obe.been.result.report.PaperStructDimensionResult;
 import com.qmth.teachcloud.obe.been.result.report.PaperStructDimensionResult;
 import com.qmth.teachcloud.obe.entity.ObeCourseOutline;
 import com.qmth.teachcloud.obe.entity.ObeCourseOutline;
@@ -41,10 +43,7 @@ import javax.annotation.Resource;
 import javax.validation.Valid;
 import javax.validation.Valid;
 import java.io.IOException;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 /**
 /**
@@ -225,7 +224,34 @@ public class TCPaperStructController {
             } else {
             } else {
                 paperStructDimensionResultList = this.getPaperStructDimensionResult(tcPaperStruct, paperStructDimensionResultList);
                 paperStructDimensionResultList = this.getPaperStructDimensionResult(tcPaperStruct, paperStructDimensionResultList);
             }
             }
-            paperStructDimensionResultList.stream().peek(s -> s.setPaperNumber(tcPaperStruct.getPaperNumber())).collect(Collectors.toList());
+            List<CourseWeightDto> courseWeightDtoList = obeCourseWeightResult.getSubmitForm();
+            if (!CollectionUtils.isEmpty(courseWeightDtoList)) {
+                List<PaperStructDimensionResult> paperStructDimensionResultNewList = new ArrayList<>(paperStructDimensionResultList.size());
+                Map<Long, String> courseWeightFinalScoreMap = new LinkedHashMap<>();
+                for (CourseWeightDto courseWeightDto : courseWeightDtoList) {
+                    List<CourseWeightDetailDto> courseWeightDetailDtoList = courseWeightDto.getEvaluationList();
+                    if (!CollectionUtils.isEmpty(courseWeightDetailDtoList)) {
+                        courseWeightDetailDtoList.stream().filter(s -> {
+                            if (Objects.equals(s.getEvaluationName(), SystemConstant.FINAL_SCORE_STR) && Objects.nonNull(s.getEnable()) && s.getEnable()) {
+                                courseWeightFinalScoreMap.put(courseWeightDto.getCourseTargetId(), courseWeightDto.getCourseTargetName());
+                                return true;
+                            } else {
+                                return false;
+                            }
+                        }).collect(Collectors.toList());
+                    }
+                }
+                paperStructDimensionResultList.stream().peek(s -> {
+                    s.setPaperNumber(tcPaperStruct.getPaperNumber());
+                    List<CourseTargetWebDto> courseTargetWebDtoList = s.getTargetList();
+                    courseTargetWebDtoList.stream().peek(m -> {
+                        if (!courseWeightFinalScoreMap.containsKey(m.getTargetId())) {
+                            paperStructDimensionResultNewList.add(s);
+                        }
+                    }).collect(Collectors.toList());
+                }).collect(Collectors.toList());
+                paperStructDimensionResultNewList.stream().peek(s -> s.getTargetList().clear()).collect(Collectors.toList());
+            }
         }
         }
         return ResultUtil.ok(paperStructDimensionResultList);
         return ResultUtil.ok(paperStructDimensionResultList);
     }
     }