|
@@ -4,11 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
-import com.qmth.distributed.print.business.bean.dto.obe.CourseOutlineSubRequirementDto;
|
|
|
|
|
|
+import com.qmth.distributed.print.business.bean.dto.obe.CourseRequirementMatrixDto;
|
|
|
|
+import com.qmth.distributed.print.business.bean.dto.obe.MatrixRequirementDto;
|
|
|
|
+import com.qmth.distributed.print.business.bean.dto.obe.MatrixSubRequirementDto;
|
|
import com.qmth.distributed.print.business.entity.ObeCourseRequirementMatrix;
|
|
import com.qmth.distributed.print.business.entity.ObeCourseRequirementMatrix;
|
|
import com.qmth.distributed.print.business.entity.ObeCultureProgram;
|
|
import com.qmth.distributed.print.business.entity.ObeCultureProgram;
|
|
import com.qmth.distributed.print.business.entity.ObeCultureProgramRequirement;
|
|
import com.qmth.distributed.print.business.entity.ObeCultureProgramRequirement;
|
|
import com.qmth.distributed.print.business.enums.CultureProgramRequirementEnum;
|
|
import com.qmth.distributed.print.business.enums.CultureProgramRequirementEnum;
|
|
|
|
+import com.qmth.distributed.print.business.mapper.ObeCourseRequirementMatrixMapper;
|
|
import com.qmth.distributed.print.business.mapper.ObeCultureProgramRequirementMapper;
|
|
import com.qmth.distributed.print.business.mapper.ObeCultureProgramRequirementMapper;
|
|
import com.qmth.distributed.print.business.service.ObeCourseRequirementMatrixService;
|
|
import com.qmth.distributed.print.business.service.ObeCourseRequirementMatrixService;
|
|
import com.qmth.distributed.print.business.service.ObeCultureProgramRequirementService;
|
|
import com.qmth.distributed.print.business.service.ObeCultureProgramRequirementService;
|
|
@@ -20,6 +23,7 @@ import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
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.LinkedMultiValueMap;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
@@ -42,6 +46,8 @@ public class ObeCultureProgramRequirementServiceImpl extends ServiceImpl<ObeCult
|
|
private ObeCultureProgramService obeCultureProgramService;
|
|
private ObeCultureProgramService obeCultureProgramService;
|
|
@Resource
|
|
@Resource
|
|
private ObeCourseRequirementMatrixService obeCourseRequirementMatrixService;
|
|
private ObeCourseRequirementMatrixService obeCourseRequirementMatrixService;
|
|
|
|
+ @Resource
|
|
|
|
+ private ObeCourseRequirementMatrixMapper obeCourseRequirementMatrixMapper;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<ObeCultureProgramRequirement> listRequirement(Long cultureProgramId) {
|
|
public List<ObeCultureProgramRequirement> listRequirement(Long cultureProgramId) {
|
|
@@ -179,7 +185,7 @@ public class ObeCultureProgramRequirementServiceImpl extends ServiceImpl<ObeCult
|
|
UpdateWrapper<ObeCultureProgramRequirement> updateWrapper = new UpdateWrapper<>();
|
|
UpdateWrapper<ObeCultureProgramRequirement> updateWrapper = new UpdateWrapper<>();
|
|
updateWrapper.lambda().set(ObeCultureProgramRequirement::getExpectValue, obeCultureProgramRequirement.getExpectValue())
|
|
updateWrapper.lambda().set(ObeCultureProgramRequirement::getExpectValue, obeCultureProgramRequirement.getExpectValue())
|
|
.eq(ObeCultureProgramRequirement::getCultureProgramId, obeCultureProgramRequirement.getCultureProgramId())
|
|
.eq(ObeCultureProgramRequirement::getCultureProgramId, obeCultureProgramRequirement.getCultureProgramId())
|
|
- .isNotNull(ObeCultureProgramRequirement::getParentId);
|
|
|
|
|
|
+ .isNull(ObeCultureProgramRequirement::getParentId);
|
|
return this.update(updateWrapper);
|
|
return this.update(updateWrapper);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -217,10 +223,41 @@ public class ObeCultureProgramRequirementServiceImpl extends ServiceImpl<ObeCult
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<CourseOutlineSubRequirementDto> listSubRequirement(Long cultureProgramId, Long courseId) {
|
|
|
|
- List<CourseOutlineSubRequirementDto> courseOutlineSubRequirementDtoList = this.baseMapper.listSubRequirement(cultureProgramId, courseId);
|
|
|
|
- List<CourseOutlineSubRequirementDto> subRequirementDtoList = courseOutlineSubRequirementDtoList.stream().filter(subRequirementDto -> subRequirementDto.getScale() != null).collect(Collectors.toList());
|
|
|
|
- return CollectionUtils.isNotEmpty(subRequirementDtoList) ? subRequirementDtoList : courseOutlineSubRequirementDtoList;
|
|
|
|
|
|
+ public List<MatrixRequirementDto> listSubRequirement(Long cultureProgramId, Long courseId) {
|
|
|
|
+ List<CourseRequirementMatrixDto> tpMatrixList = obeCourseRequirementMatrixMapper.listMatrix(cultureProgramId, courseId);
|
|
|
|
+
|
|
|
|
+ LinkedMultiValueMap<Long, CourseRequirementMatrixDto> requirementMap = new LinkedMultiValueMap<>();
|
|
|
|
+ for (CourseRequirementMatrixDto tpMatrix : tpMatrixList) {
|
|
|
|
+ requirementMap.add(tpMatrix.getObeRequirementId(), tpMatrix);
|
|
|
|
+ }
|
|
|
|
+ List<MatrixRequirementDto> matrixRequirementDtoList = new ArrayList<>();
|
|
|
|
+ requirementMap.entrySet().stream().forEach(requirementEntry -> {
|
|
|
|
+ ObeCultureProgramRequirement tpRequirement = this.getById(requirementEntry.getKey());
|
|
|
|
+ MatrixRequirementDto matrixRequirementDto = new MatrixRequirementDto();
|
|
|
|
+ matrixRequirementDto.setName(tpRequirement.getName());
|
|
|
|
+ matrixRequirementDto.setExpectValue(tpRequirement.getExpectValue());
|
|
|
|
+ List<CourseRequirementMatrixDto> requirementList = requirementEntry.getValue();
|
|
|
|
+ // 排序,解决字符串1和10排序问题
|
|
|
|
+ if (requirementList.size() > 1) {
|
|
|
|
+ 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());
|
|
|
|
+ matrixSubRequirementDto.setName(tpMatrix.getRequirementSortNum() + "-" + tpMatrix.getSubRequirementSortNum());
|
|
|
|
+ matrixSubRequirementDto.setScale(tpMatrix.getScale());
|
|
|
|
+ matrixSubRequirementDto.setContent(tpMatrix.getRequirementContent());
|
|
|
|
+ return matrixSubRequirementDto;
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+ matrixRequirementDto.setSubRequirements(matrixSubRequirementDtoList);
|
|
|
|
+ matrixRequirementDtoList.add(matrixRequirementDto);
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ return matrixRequirementDtoList;
|
|
}
|
|
}
|
|
|
|
|
|
private String concatRequirementName(int requirementNum, int subRequirementNum) {
|
|
private String concatRequirementName(int requirementNum, int subRequirementNum) {
|