|
@@ -41,6 +41,7 @@ import com.xjrsoft.module.organization.service.IUserDeptRelationService;
|
|
|
import com.xjrsoft.module.organization.service.IUserService;
|
|
|
import com.xjrsoft.module.student.dto.AddBaseStudentUserDto;
|
|
|
import com.xjrsoft.module.student.dto.BaseStudentUserPageDto;
|
|
|
+import com.xjrsoft.module.student.dto.MajorGradeClassDto;
|
|
|
import com.xjrsoft.module.student.dto.UpdateBaseStudentUserDto;
|
|
|
import com.xjrsoft.module.student.entity.BaseClassMajorSet;
|
|
|
import com.xjrsoft.module.student.entity.BaseMajor;
|
|
@@ -1051,7 +1052,7 @@ public class StudentManagerServiceImpl extends MPJBaseServiceImpl<BaseStudentUse
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<BaseDepMajorGradeClassStudenTreeVo> deptMajorGradeClassTree() {
|
|
|
+ public List<BaseDepMajorGradeClassStudenTreeVo> deptMajorGradeClassTree(MajorGradeClassDto dto) {
|
|
|
List<BaseDepMajorGradeClassStudenTreeVo> voList = new ArrayList<>();
|
|
|
MPJLambdaWrapper<BaseClass> baseClassMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
baseClassMPJLambdaWrapper
|
|
@@ -1061,20 +1062,35 @@ public class StudentManagerServiceImpl extends MPJBaseServiceImpl<BaseStudentUse
|
|
|
.selectAs(BaseClass::getGradeId, BaseClassMajorSetVo::getGradeId)
|
|
|
.leftJoin(BaseClassMajorSet.class, BaseClassMajorSet::getClassId, BaseClass::getId)
|
|
|
.leftJoin(BaseMajorSet.class, BaseMajorSet::getId, BaseClassMajorSet::getMajorSetId)
|
|
|
+ .eq(dto.getIsGraduate() != null, BaseClass::getIsGraduate, dto.getIsGraduate())
|
|
|
;
|
|
|
|
|
|
List<BaseClassMajorSetVo> majorSetList = baseClassService.selectJoinList(BaseClassMajorSetVo.class, baseClassMPJLambdaWrapper);
|
|
|
-
|
|
|
+ if(majorSetList.isEmpty()){
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ List<Long> gradeIds = majorSetList.stream().map(BaseClassMajorSetVo::getGradeId).collect(Collectors.toList());
|
|
|
+ List<Long> majorSetIds = majorSetList.stream().map(BaseClassMajorSetVo::getMajorSetId).collect(Collectors.toList());
|
|
|
|
|
|
List<BaseGrade> gradeList = baseGradeService.list(
|
|
|
- new QueryWrapper<BaseGrade>().lambda().eq(BaseGrade::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ new QueryWrapper<BaseGrade>().lambda()
|
|
|
+ .eq(BaseGrade::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .in(!gradeIds.isEmpty(), BaseGrade::getId, gradeIds)
|
|
|
+ .orderByDesc(BaseGrade::getTitle)
|
|
|
);
|
|
|
List<BaseMajor> majorList = baseMajorService.list(
|
|
|
- new QueryWrapper<BaseMajor>().lambda().eq(BaseMajor::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ new QueryWrapper<BaseMajor>().lambda()
|
|
|
+ .eq(BaseMajor::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .in(!majorSetIds.isEmpty(), BaseMajor::getId, majorSetIds)
|
|
|
);
|
|
|
+
|
|
|
+ List<Long> deptIds = majorList.stream().map(BaseMajor::getDepartmentId).collect(Collectors.toList());
|
|
|
+
|
|
|
List<Department> departmentList =baseDeparmentService.list(
|
|
|
- new QueryWrapper<Department>().lambda().eq(Department::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ new QueryWrapper<Department>().lambda()
|
|
|
+ .eq(Department::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
.eq(Department::getIsMajor,1)
|
|
|
+ .in(!deptIds.isEmpty(), Department::getId, deptIds)
|
|
|
);
|
|
|
departmentList.forEach((node) -> {
|
|
|
voList.add(new BaseDepMajorGradeClassStudenTreeVo(){{
|