Parcourir la source

用户分类树,学生下增加年级和班级

dzx il y a 1 an
Parent
commit
974df79207

+ 37 - 1
src/main/java/com/xjrsoft/module/organization/controller/UserController.java

@@ -27,7 +27,10 @@ import com.xjrsoft.common.utils.RedisUtil;
 import com.xjrsoft.common.utils.TreeUtil;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.config.CommonPropertiesConfig;
+import com.xjrsoft.module.base.entity.BaseClass;
+import com.xjrsoft.module.base.entity.BaseGrade;
 import com.xjrsoft.module.base.service.IBaseClassService;
+import com.xjrsoft.module.base.service.IBaseGradeService;
 import com.xjrsoft.module.organization.dto.AddUserDto;
 import com.xjrsoft.module.organization.dto.BindOpenidDto;
 import com.xjrsoft.module.organization.dto.LoginResetPasswordDto;
@@ -69,6 +72,8 @@ import com.xjrsoft.module.organization.vo.UserRoleVo;
 import com.xjrsoft.module.organization.vo.UserStudentVo;
 import com.xjrsoft.module.organization.vo.UserVo;
 import com.xjrsoft.module.oss.factory.OssFactory;
+import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
+import com.xjrsoft.module.student.vo.BaseStudentTreeVo;
 import com.xjrsoft.module.workflow.service.IWorkflowExecuteService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -123,7 +128,7 @@ public class UserController {
     private final RedisUtil redisUtil;
 
     private final SmsCtcc smsCtcc;
-
+    private final IBaseGradeService baseGradeService;
     private final IUserStudentService userStudentService;
     private final IBaseClassService baseClassService;
     private final IWorkflowExecuteService workflowExecuteService;
@@ -176,12 +181,15 @@ public class UserController {
                     .like(StrUtil.isNotBlank(dto.getMobile()), User::getMobile, dto.getMobile())
                     .eq((ObjectUtil.isNotNull(dto.getTreeType()) && dto.getTreeType() == 1), Role::getId, dto.getTreeId())
                     .eq((ObjectUtil.isNotNull(dto.getTreeType()) && dto.getTreeType() == 2), UserDeptRelation::getDeptId, dto.getTreeId())
+                    .eq((ObjectUtil.isNotNull(dto.getTreeType()) && dto.getTreeType() == 3), BaseStudentSchoolRoll::getGradeId, dto.getTreeId())
+                    .eq((ObjectUtil.isNotNull(dto.getTreeType()) && dto.getTreeType() == 4), BaseStudentSchoolRoll::getClassId, dto.getTreeId())
                     .eq(ObjectUtil.isNotNull(dto.getUserType()), Role::getId, dto.getUserType())
                     .orderByDesc(User::getId)
                     .select(User::getId)
                     .select(User.class, x -> VoToColumnUtil.fieldsToColumns(UserPageVo.class).contains(x.getProperty()))
                     .leftJoin(UserDeptRelation.class, UserDeptRelation::getUserId, User::getId)
                     .leftJoin(UserRoleRelation.class, UserRoleRelation::getUserId, User::getId)
+                    .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, User::getId)
                     .leftJoin(Role.class, Role::getId, UserRoleRelation::getRoleId);
             IPage<UserPageVo> page = userService.selectJoinListPage(ConventPage.getPage(dto), UserPageVo.class, queryUser);
             for (UserPageVo record : page.getRecords()) {
@@ -217,10 +225,13 @@ public class UserController {
                             .eq(ObjectUtil.isNotNull(dto.getUserType()), Role::getId, dto.getUserType())
                             .eq((ObjectUtil.isNotNull(dto.getTreeType()) && dto.getTreeType() == 1), Role::getId, dto.getTreeId())
                             .eq((ObjectUtil.isNotNull(dto.getTreeType()) && dto.getTreeType() == 2), UserDeptRelation::getDeptId, dto.getTreeId())
+                            .eq((ObjectUtil.isNotNull(dto.getTreeType()) && dto.getTreeType() == 3), BaseStudentSchoolRoll::getGradeId, dto.getTreeId())
+                            .eq((ObjectUtil.isNotNull(dto.getTreeType()) && dto.getTreeType() == 4), BaseStudentSchoolRoll::getClassId, dto.getTreeId())
                             .orderByDesc(User::getId)
                             .select(User::getId)
                             .select(User.class, x -> VoToColumnUtil.fieldsToColumns(UserPageVo.class).contains(x.getProperty()))
                             .leftJoin(UserRoleRelation.class, UserRoleRelation::getUserId, User::getId)
+                            .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, User::getId)
                             .leftJoin(UserDeptRelation.class, UserDeptRelation::getUserId, User::getId)
                             .leftJoin(Role.class, Role::getId, UserRoleRelation::getRoleId);
             IPage<UserPageVo> page = userService.selectJoinListPage(ConventPage.getPage(dto), UserPageVo.class,queryUser);
@@ -387,10 +398,35 @@ public class UserController {
             setChildren(treeVoList);
         }};
         roleList.add(roleVo);
+
+        List<ResetUserRoleVo> gradeClassList = new ArrayList<>();
+        baseClassService.list(
+            new QueryWrapper<BaseClass>().lambda().eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
+        ).forEach(e->{
+            ResetUserRoleVo gradeClass = new ResetUserRoleVo();
+            gradeClass.setType(3);
+            gradeClass.setName(e.getName());
+            gradeClass.setId(e.getId());
+            gradeClass.setParentId(e.getGradeId());
+            gradeClassList.add(gradeClass);
+        });
+
+        baseGradeService.list(
+            new QueryWrapper<BaseGrade>().lambda().eq(BaseGrade::getDeleteMark, DeleteMark.NODELETE.getCode())
+        ).forEach(e->{
+            ResetUserRoleVo gradeClass = new ResetUserRoleVo();
+            gradeClass.setType(4);
+            gradeClass.setName(e.getName());
+            gradeClass.setId(e.getId());
+            gradeClass.setParentId(3L);
+            gradeClassList.add(gradeClass);
+        });
+        List<ResetUserRoleVo> gradeClassTreeVoList = TreeUtil.build(gradeClassList);
         roleList.add(new ResetUserRoleVo(){{
             setId(3L);
             setType(1);
             setName("学生");
+            setChildren(gradeClassTreeVoList);
         }});
         roleList.add(new ResetUserRoleVo(){{
             setId(4L);