|
|
@@ -1,11 +1,18 @@
|
|
|
package com.xjrsoft.module.banding.controller;
|
|
|
|
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.xjrsoft.common.model.result.RT;
|
|
|
+import com.xjrsoft.module.banding.dto.BandingTaskClassPageDto;
|
|
|
import com.xjrsoft.module.banding.dto.BandingTaskMajorConditionListDto;
|
|
|
import com.xjrsoft.module.banding.dto.SaveMajorConditionDto;
|
|
|
+import com.xjrsoft.module.banding.entity.BandingTask;
|
|
|
import com.xjrsoft.module.banding.service.IBandingTaskMajorConditionService;
|
|
|
+import com.xjrsoft.module.banding.service.IBandingTaskService;
|
|
|
import com.xjrsoft.module.banding.vo.BandingTaskMajorConditionListVo;
|
|
|
+import com.xjrsoft.module.outint.vo.IdCountVo;
|
|
|
+import com.xjrsoft.module.student.entity.BaseNewStudent;
|
|
|
+import com.xjrsoft.module.student.service.IBaseNewStudentService;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
@@ -16,7 +23,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @title: 新生分班任务
|
|
|
@@ -32,11 +42,27 @@ public class BandingTaskMajorConditionController {
|
|
|
|
|
|
|
|
|
private final IBandingTaskMajorConditionService conditionService;
|
|
|
-
|
|
|
+ private final IBandingTaskService taskService;
|
|
|
+ private final IBaseNewStudentService newStudentService;
|
|
|
@GetMapping(value = "/list")
|
|
|
@ApiOperation(value="专业限制条件列表")
|
|
|
@SaCheckPermission("bandingtaskmajorcondition:detail")
|
|
|
public RT<List<BandingTaskMajorConditionListVo>> page(@Valid BandingTaskMajorConditionListDto dto){
|
|
|
+ BandingTask bandingTask = taskService.getById(dto.getBandingTaskId());
|
|
|
+
|
|
|
+ BandingTaskClassPageDto dto2 = new BandingTaskClassPageDto(){{
|
|
|
+ setBandingTaskId(bandingTask.getId());
|
|
|
+ setEnrollType(bandingTask.getEnrollType());
|
|
|
+ setGradeId(bandingTask.getGradeId());
|
|
|
+ }};
|
|
|
+ List<BaseNewStudent> studentMajorId = conditionService.getStudentMajorId(dto2);
|
|
|
+ List<Long> majorIds = new ArrayList<>();
|
|
|
+ Set<Long> collect = studentMajorId.stream().filter(x -> x.getFirstAmbition() != null).map(BaseNewStudent::getFirstAmbition).collect(Collectors.toSet());
|
|
|
+ majorIds.addAll(collect.stream().collect(Collectors.toList()));
|
|
|
+
|
|
|
+ Set<Long> collect2 = studentMajorId.stream().filter(x -> x.getSecondAmbition() != null).map(BaseNewStudent::getSecondAmbition).collect(Collectors.toSet());
|
|
|
+ majorIds.addAll(collect2.stream().collect(Collectors.toList()));
|
|
|
+ dto.setMajorIds(majorIds);
|
|
|
List<BandingTaskMajorConditionListVo> page = conditionService.getList(dto);
|
|
|
return RT.ok(page);
|
|
|
}
|