dzx преди 1 година
родител
ревизия
3e44eb7c26

+ 27 - 1
src/main/java/com/xjrsoft/module/banding/controller/BandingTaskMajorConditionController.java

@@ -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);
     }

+ 4 - 0
src/main/java/com/xjrsoft/module/banding/dto/BandingTaskMajorConditionListDto.java

@@ -5,6 +5,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 
 /**
@@ -20,4 +21,7 @@ public class BandingTaskMajorConditionListDto {
     @ApiModelProperty("任务id")
     private Long bandingTaskId;
 
+    @ApiModelProperty("专业id")
+    private List<Long> majorIds;
+
 }

+ 5 - 0
src/main/java/com/xjrsoft/module/banding/mapper/BandingTaskMajorConditionMapper.java

@@ -1,9 +1,11 @@
 package com.xjrsoft.module.banding.mapper;
 
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.banding.dto.BandingTaskClassPageDto;
 import com.xjrsoft.module.banding.dto.BandingTaskMajorConditionListDto;
 import com.xjrsoft.module.banding.entity.BandingTaskMajorCondition;
 import com.xjrsoft.module.banding.vo.BandingTaskMajorConditionListVo;
+import com.xjrsoft.module.student.entity.BaseNewStudent;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -19,4 +21,7 @@ import java.util.List;
 public interface BandingTaskMajorConditionMapper extends MPJBaseMapper<BandingTaskMajorCondition> {
 
     List<BandingTaskMajorConditionListVo> getList(@Param("dto") BandingTaskMajorConditionListDto dto);
+
+
+    List<BaseNewStudent> getStudentMajorId(@Param("dto") BandingTaskClassPageDto dto);
 }

+ 4 - 0
src/main/java/com/xjrsoft/module/banding/service/IBandingTaskMajorConditionService.java

@@ -1,10 +1,12 @@
 package com.xjrsoft.module.banding.service;
 
 import com.github.yulichang.base.MPJBaseService;
+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.BandingTaskMajorCondition;
 import com.xjrsoft.module.banding.vo.BandingTaskMajorConditionListVo;
+import com.xjrsoft.module.student.entity.BaseNewStudent;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -27,4 +29,6 @@ public interface IBandingTaskMajorConditionService extends MPJBaseService<Bandin
 
 
     List<BandingTaskMajorConditionListVo> getList(BandingTaskMajorConditionListDto dto);
+
+    List<BaseNewStudent> getStudentMajorId(BandingTaskClassPageDto dto);
 }

+ 7 - 0
src/main/java/com/xjrsoft/module/banding/service/impl/BandingTaskMajorConditionServiceImpl.java

@@ -2,6 +2,7 @@ package com.xjrsoft.module.banding.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.banding.dto.BandingTaskClassPageDto;
 import com.xjrsoft.module.banding.dto.BandingTaskMajorConditionDto;
 import com.xjrsoft.module.banding.dto.BandingTaskMajorConditionListDto;
 import com.xjrsoft.module.banding.dto.SaveMajorConditionDto;
@@ -9,6 +10,7 @@ import com.xjrsoft.module.banding.entity.BandingTaskMajorCondition;
 import com.xjrsoft.module.banding.mapper.BandingTaskMajorConditionMapper;
 import com.xjrsoft.module.banding.service.IBandingTaskMajorConditionService;
 import com.xjrsoft.module.banding.vo.BandingTaskMajorConditionListVo;
+import com.xjrsoft.module.student.entity.BaseNewStudent;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -72,4 +74,9 @@ public class BandingTaskMajorConditionServiceImpl extends MPJBaseServiceImpl<Ban
     public List<BandingTaskMajorConditionListVo> getList(BandingTaskMajorConditionListDto dto) {
         return this.baseMapper.getList(dto);
     }
+
+    @Override
+    public List<BaseNewStudent> getStudentMajorId(BandingTaskClassPageDto dto) {
+        return this.baseMapper.getStudentMajorId(dto);
+    }
 }

+ 1 - 1
src/main/java/com/xjrsoft/module/courseTable/controller/SecondCourseController.java

@@ -171,7 +171,7 @@ public class SecondCourseController {
         return RT.ok(true);
     }
 
-    @PostMapping(value = "/enroll-page")
+    @GetMapping(value = "/enroll-page")
     @ApiOperation(value="报名表")
     @SaCheckPermission("secondcourse:detail")
     public RT<PageOutput<SecondCourseEnrollVo>> enrollPage(@Valid SecondCourseEnrollPageDto dto){

+ 12 - 1
src/main/resources/mapper/banding/BandingTaskMajorConditionMapper.xml

@@ -8,6 +8,17 @@
         SELECT t1.id, t.id AS major_set_id, t.name AS major_set_name,t1.banding_task_id,t1.height,t1.score, t1.sort_code FROM base_major_set t
         LEFT JOIN banding_task_major_condition t1 ON t1.major_set_id = t.id and t1.banding_task_id = #{dto.bandingTaskId} and t1.delete_mark = 0
         WHERE t.delete_mark = 0
+        <if test="dto.majorIds != null and !dto.majorIds.isEmpty()">
+            and t1.major_set_id in
+            <foreach item="id" index="index" collection="dto.majorIds" open="(" close=")" separator=",">
+                #{id}
+            </foreach>
+        </if>
+    </select>
+    <select id="getStudentMajorId" parameterType="com.xjrsoft.module.banding.dto.BandingTaskClassPageDto" resultType="com.xjrsoft.module.student.entity.BaseNewStudent">
+        SELECT t1.* FROM base_new_student t1
+        INNER JOIN enrollment_plan t2 ON  t1.enrollment_plan_id = t2.id
+        WHERE t1.delete_mark = 0
+        AND t2.enroll_type = #{dto.enrollType} and t2.grade_id = #{dto.gradeId}
     </select>
-
 </mapper>