diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue index 68d477e10..47b585cce 100644 --- a/ruoyi-ui/src/views/system/user/index.vue +++ b/ruoyi-ui/src/views/system/user/index.vue @@ -274,6 +274,19 @@ + + + + + + + @@ -374,6 +387,10 @@ export default { postOptions: [], // 角色选项 roleOptions: [], + //多幼儿园选项 + kindergartenOptions: [], + //是否幼儿园 + isSchool:undefined, // 表单参数 form: {}, defaultProps: { @@ -539,6 +556,13 @@ export default { getUser().then(response => { this.postOptions = response.posts; this.roleOptions = response.roles; + //console.log("school="+response.isSchool); + if (response.isSchool=="0") { + this.isSchool=true; + this.kindergartenOptions = response.kindergartens; + }else{ + this.isSchool=false; + } this.open = true; this.title = "添加用户"; this.form.password = this.initPassword; @@ -555,6 +579,14 @@ export default { this.roleOptions = response.roles; this.form.postIds = response.postIds; this.form.roleIds = response.roleIds; + this.form.deptIds=response.kindergartenIds; + //console.log("school="+response.isSchool); + if (response.isSchool=="0") { + this.isSchool=true; + this.kindergartenOptions = response.kindergartens; + }else{ + this.isSchool=false; + } this.open = true; this.title = "修改用户"; this.form.password = ""; diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysUserController.java b/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysUserController.java index 2b1e863c1..dcd987808 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysUserController.java +++ b/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysUserController.java @@ -5,6 +5,7 @@ import java.util.List; import com.ruoyi.project.common.SchoolCommon; import com.ruoyi.project.system.domain.ByTeacherJbxx; +import com.ruoyi.project.system.domain.SysDept; import com.ruoyi.project.system.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -58,6 +59,9 @@ public class SysUserController extends BaseController { @Autowired private SchoolCommon schoolCommon; + @Autowired + private ISysDeptService deptService; + /** * 获取用户列表 @@ -104,14 +108,21 @@ public class SysUserController extends BaseController { @GetMapping(value = {"/", "/{userId}"}) public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) { AjaxResult ajax = AjaxResult.success(); + + SysDept dept = new SysDept(); + dept.setParentId((long) 200); + //在添加用户时判断是否为幼儿园平台 if (schoolCommon.isSchool() == true) { //只显示幼儿园相关的岗位和角色 ajax.put("roles", roleService.selectYeyRoleAll()); ajax.put("posts", postService.selectYeyPostAll()); + ajax.put("isSchool", "1"); } else { ajax.put("roles", roleService.selectRoleAll()); ajax.put("posts", postService.selectPostAll()); + ajax.put("isSchool", "0"); + ajax.put("kindergartens", deptService.selectDeptList(dept)); } //在修改用户时判断是否为幼儿园平台 @@ -120,12 +131,14 @@ public class SysUserController extends BaseController { ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId)); ajax.put("postIds", postService.selectYeyPostListByUserId(userId)); ajax.put("roleIds", roleService.selectYeyRoleListByUserId(userId)); + ajax.put("isSchool", "1"); } else { - + ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId)); + ajax.put("postIds", postService.selectPostListByUserId(userId)); + ajax.put("roleIds", roleService.selectRoleListByUserId(userId)); + ajax.put("isSchool", "0"); + ajax.put("kindergartenIds", deptService.selectDeptListByUserId(userId)); } - ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId)); - ajax.put("postIds", postService.selectPostListByUserId(userId)); - ajax.put("roleIds", roleService.selectRoleListByUserId(userId)); } return ajax; } @@ -137,20 +150,20 @@ public class SysUserController extends BaseController { @GetMapping("/listbyroleid") public AjaxResult getUserList() { AjaxResult ajax = AjaxResult.success(); - Long deptId=SecurityUtils.getLoginUser().getUser().getDept().getDeptId(); - SysUser user=new SysUser(); + Long deptId = SecurityUtils.getLoginUser().getUser().getDept().getDeptId(); + SysUser user = new SysUser(); //主班教师 - user.setUserId((long)102); + user.setUserId((long) 102); user.setDeptId(deptId); ajax.put("zbjs", userService.selectUserListByRoleId(user)); //配班教师 - user=new SysUser(); - user.setUserId((long)104); + user = new SysUser(); + user.setUserId((long) 104); user.setDeptId(deptId); ajax.put("pbjs", userService.selectUserListByRoleId(user)); //助理教师 - user=new SysUser(); - user.setUserId((long)105); + user = new SysUser(); + user.setUserId((long) 105); user.setDeptId(deptId); ajax.put("zljs", userService.selectUserListByRoleId(user)); diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/domain/SysUser.java b/ruoyi/src/main/java/com/ruoyi/project/system/domain/SysUser.java index e38c22f5d..37016945c 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/system/domain/SysUser.java +++ b/ruoyi/src/main/java/com/ruoyi/project/system/domain/SysUser.java @@ -91,6 +91,9 @@ public class SysUser extends BaseEntity /** 岗位组 */ private Long[] postIds; + /** 部门组 */ + private Long[] deptIds; + /**教师对象*/ private ByTeacherJbxx byTeacherJbxx; @@ -300,6 +303,15 @@ public class SysUser extends BaseEntity { this.postIds = postIds; } + public Long[] getDeptIds() + { + return deptIds; + } + + public void setDeptIds(Long[] deptIds) + { + this.deptIds = deptIds; + } @Override public String toString() { diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/domain/SysUserDept.java b/ruoyi/src/main/java/com/ruoyi/project/system/domain/SysUserDept.java new file mode 100644 index 000000000..4cfb046f5 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/system/domain/SysUserDept.java @@ -0,0 +1,52 @@ +package com.ruoyi.project.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import com.ruoyi.framework.web.domain.BaseEntity; + +/** + * 多幼儿园账户对象 sys_user_dept + * + * @author tsbz + * @date 2020-06-15 + */ +public class SysUserDept extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 用户id + */ + @Excel(name = "用户id") + private Long userId; + + /** + * 部门id + */ + @Excel(name = "部门id") + private Long deptId; + + public void setUserId(Long userId) { + this.userId = userId; + } + + public Long getUserId() { + return userId; + } + + public void setDeptId(Long deptId) { + this.deptId = deptId; + } + + public Long getDeptId() { + return deptId; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("userId", getUserId()) + .append("deptId", getDeptId()) + .toString(); + } +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java index 7dac0cb49..4afdcb67d 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java @@ -27,6 +27,14 @@ public interface SysDeptMapper */ public List selectDeptListByRoleId(Long roleId); + /** + * 根据用户ID获取部门选择框列表 + * + * @param userId 用户ID + * @return 选中岗位ID列表 + */ + public List selectDeptListByUserId(Long userId); + /** * 根据部门ID查询信息 * diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserDeptMapper.java b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserDeptMapper.java new file mode 100644 index 000000000..deab22aad --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserDeptMapper.java @@ -0,0 +1,77 @@ +package com.ruoyi.project.system.mapper; + +import java.util.List; + +import com.ruoyi.project.system.domain.SysUserDept; + +/** + * 多幼儿园账户Mapper接口 + * + * @author tsbz + * @date 2020-06-15 + */ +public interface SysUserDeptMapper { + /** + * 通过用户ID删除用户和岗位关联 + * + * @param userId 用户ID + * @return 结果 + */ + public int deleteUserDeptByUserId(Long userId); + + /** + * 查询多幼儿园账户 + * + * @param userId 多幼儿园账户ID + * @return 多幼儿园账户 + */ + public SysUserDept selectSysUserDeptById(Long userId); + + /** + * 查询多幼儿园账户列表 + * + * @param sysUserDept 多幼儿园账户 + * @return 多幼儿园账户集合 + */ + public List selectSysUserDeptList(SysUserDept sysUserDept); + + /** + * 新增多幼儿园账户 + * + * @param sysUserDept 多幼儿园账户 + * @return 结果 + */ + public int insertSysUserDept(SysUserDept sysUserDept); + + /** + * 修改多幼儿园账户 + * + * @param sysUserDept 多幼儿园账户 + * @return 结果 + */ + public int updateSysUserDept(SysUserDept sysUserDept); + + /** + * 删除多幼儿园账户 + * + * @param userId 多幼儿园账户ID + * @return 结果 + */ + public int deleteSysUserDeptById(Long userId); + + /** + * 批量删除多幼儿园账户 + * + * @param userIds 需要删除的数据ID + * @return 结果 + */ + public int deleteSysUserDeptByIds(Long[] userIds); + + /** + * 批量新增用户部门信息 + * + * @param userDeptList 用户角色列表 + * @return 结果 + */ + public int batchUserDept(List userDeptList); +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java index 1d8a30678..42dde6fff 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java +++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java @@ -19,6 +19,14 @@ public interface ISysDeptService */ public List selectDeptList(SysDept dept); + /** + * 根据用户ID获取岗位选择框列表 + * + * @param userId 用户ID + * @return 选中岗位ID列表 + */ + public List selectDeptListByUserId(Long userId); + /** * 构建前端所需要树结构 * diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserDeptService.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserDeptService.java new file mode 100644 index 000000000..01ef6c3a2 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserDeptService.java @@ -0,0 +1,61 @@ +package com.ruoyi.project.system.service; + +import java.util.List; + +import com.ruoyi.project.system.domain.SysUserDept; + +/** + * 多幼儿园账户Service接口 + * + * @author tsbz + * @date 2020-06-15 + */ +public interface ISysUserDeptService { + /** + * 查询多幼儿园账户 + * + * @param userId 多幼儿园账户ID + * @return 多幼儿园账户 + */ + public SysUserDept selectSysUserDeptById(Long userId); + + /** + * 查询多幼儿园账户列表 + * + * @param sysUserDept 多幼儿园账户 + * @return 多幼儿园账户集合 + */ + public List selectSysUserDeptList(SysUserDept sysUserDept); + + /** + * 新增多幼儿园账户 + * + * @param sysUserDept 多幼儿园账户 + * @return 结果 + */ + public int insertSysUserDept(SysUserDept sysUserDept); + + /** + * 修改多幼儿园账户 + * + * @param sysUserDept 多幼儿园账户 + * @return 结果 + */ + public int updateSysUserDept(SysUserDept sysUserDept); + + /** + * 批量删除多幼儿园账户 + * + * @param userIds 需要删除的多幼儿园账户ID + * @return 结果 + */ + public int deleteSysUserDeptByIds(Long[] userIds); + + /** + * 删除多幼儿园账户信息 + * + * @param userId 多幼儿园账户ID + * @return 结果 + */ + public int deleteSysUserDeptById(Long userId); +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java index 338e2a66c..f3a455eee 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java @@ -39,6 +39,17 @@ public class SysDeptServiceImpl implements ISysDeptService return deptMapper.selectDeptList(dept); } + /** + * 根据用户ID获取岗位选择框列表 + * + * @param userId 用户ID + * @return 选中岗位ID列表 + */ + public List selectDeptListByUserId(Long userId) + { + return deptMapper.selectDeptListByUserId(userId); + } + /** * 构建前端所需要树结构 * diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserDeptServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserDeptServiceImpl.java new file mode 100644 index 000000000..b25eb7ffd --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserDeptServiceImpl.java @@ -0,0 +1,87 @@ +package com.ruoyi.project.system.service.impl; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.project.system.mapper.SysUserDeptMapper; +import com.ruoyi.project.system.domain.SysUserDept; +import com.ruoyi.project.system.service.ISysUserDeptService; + +/** + * 多幼儿园账户Service业务层处理 + * + * @author tsbz + * @date 2020-06-15 + */ +@Service +public class SysUserDeptServiceImpl implements ISysUserDeptService { + @Autowired + private SysUserDeptMapper sysUserDeptMapper; + + /** + * 查询多幼儿园账户 + * + * @param userId 多幼儿园账户ID + * @return 多幼儿园账户 + */ + @Override + public SysUserDept selectSysUserDeptById(Long userId) { + return sysUserDeptMapper.selectSysUserDeptById(userId); + } + + /** + * 查询多幼儿园账户列表 + * + * @param sysUserDept 多幼儿园账户 + * @return 多幼儿园账户 + */ + @Override + public List selectSysUserDeptList(SysUserDept sysUserDept) { + return sysUserDeptMapper.selectSysUserDeptList(sysUserDept); + } + + /** + * 新增多幼儿园账户 + * + * @param sysUserDept 多幼儿园账户 + * @return 结果 + */ + @Override + public int insertSysUserDept(SysUserDept sysUserDept) { + return sysUserDeptMapper.insertSysUserDept(sysUserDept); + } + + /** + * 修改多幼儿园账户 + * + * @param sysUserDept 多幼儿园账户 + * @return 结果 + */ + @Override + public int updateSysUserDept(SysUserDept sysUserDept) { + return sysUserDeptMapper.updateSysUserDept(sysUserDept); + } + + /** + * 批量删除多幼儿园账户 + * + * @param userIds 需要删除的多幼儿园账户ID + * @return 结果 + */ + @Override + public int deleteSysUserDeptByIds(Long[] userIds) { + return sysUserDeptMapper.deleteSysUserDeptByIds(userIds); + } + + /** + * 删除多幼儿园账户信息 + * + * @param userId 多幼儿园账户ID + * @return 结果 + */ + @Override + public int deleteSysUserDeptById(Long userId) { + return sysUserDeptMapper.deleteSysUserDeptById(userId); + } +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java index 404ac1e4b..1cf8228ab 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java @@ -3,6 +3,8 @@ package com.ruoyi.project.system.service.impl; import java.util.ArrayList; import java.util.List; +import com.ruoyi.project.system.domain.*; +import com.ruoyi.project.system.mapper.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -13,16 +15,6 @@ import com.ruoyi.common.exception.CustomException; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.aspectj.lang.annotation.DataScope; -import com.ruoyi.project.system.domain.SysPost; -import com.ruoyi.project.system.domain.SysRole; -import com.ruoyi.project.system.domain.SysUser; -import com.ruoyi.project.system.domain.SysUserPost; -import com.ruoyi.project.system.domain.SysUserRole; -import com.ruoyi.project.system.mapper.SysPostMapper; -import com.ruoyi.project.system.mapper.SysRoleMapper; -import com.ruoyi.project.system.mapper.SysUserMapper; -import com.ruoyi.project.system.mapper.SysUserPostMapper; -import com.ruoyi.project.system.mapper.SysUserRoleMapper; import com.ruoyi.project.system.service.ISysConfigService; import com.ruoyi.project.system.service.ISysUserService; @@ -50,6 +42,9 @@ public class SysUserServiceImpl implements ISysUserService { @Autowired private SysUserPostMapper userPostMapper; + @Autowired + private SysUserDeptMapper userDeptMapper; + @Autowired private ISysConfigService configService; @@ -209,6 +204,8 @@ public class SysUserServiceImpl implements ISysUserService { insertUserPost(user); // 新增用户与角色管理 insertUserRole(user); + //新增用户与部门管理 + insertUserDept(user); return rows; } @@ -230,6 +227,10 @@ public class SysUserServiceImpl implements ISysUserService { userPostMapper.deleteUserPostByUserId(userId); // 新增用户与岗位管理 insertUserPost(user); + // 删除用户与部门关联 + userDeptMapper.deleteUserDeptByUserId(userId); + // 新增用户与角色管理 + insertUserDept(user); return userMapper.updateUser(user); } @@ -333,6 +334,28 @@ public class SysUserServiceImpl implements ISysUserService { } } + /** + * 新增用户部门信息 + * + * @param user 用户对象 + */ + public void insertUserDept(SysUser user) { + Long[] depts = user.getDeptIds(); + if (StringUtils.isNotNull(depts)) { + // 新增用户与部门管理 + List list = new ArrayList(); + for (Long deptId : depts) { + SysUserDept ud = new SysUserDept(); + ud.setUserId(user.getUserId()); + ud.setDeptId(deptId); + list.add(ud); + } + if (list.size() > 0) { + userDeptMapper.batchUserDept(list); + } + } + } + /** * 通过用户ID删除用户 * diff --git a/ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml b/ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml index ecfbd657b..fa9419b11 100644 --- a/ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml +++ b/ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml @@ -27,6 +27,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time, d.school_id from sys_dept d + + + + + + and user_id = #{userId} + and dept_id = #{deptId} + + + + + + + insert into sys_user_dept + + user_id, + dept_id, + + + #{userId}, + #{deptId}, + + + + + update sys_user_dept + + dept_id = #{deptId}, + + where user_id = #{userId} + + + + delete from sys_user_dept where user_id = #{userId} + + + + delete from sys_user_dept where user_id in + + #{userId} + + + + + insert into sys_user_dept(user_id, dept_id) values + + (#{item.userId},#{item.deptId}) + + + + \ No newline at end of file