From d66094870c3bf786e18da044fdfaadc088005614 Mon Sep 17 00:00:00 2001 From: paidaxing444 <12qwaszx> Date: Thu, 30 Apr 2020 15:25:26 +0800 Subject: [PATCH] =?UTF-8?q?20200430-zlp-1=20=E7=8F=AD=E7=BA=A7=E7=AE=A1?= =?UTF-8?q?=E7=90=86-=E7=BB=B4=E6=8A=A4=E6=95=99=E5=B8=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/src/api/system/user.js | 9 + ruoyi-ui/src/views/system/class/index.vue | 135 ++++++++---- .../system/controller/SysUserController.java | 104 ++++----- .../ruoyi/project/system/domain/ByClass.java | 39 ++++ .../project/system/mapper/SysUserMapper.java | 8 + .../system/service/ISysUserService.java | 8 + .../service/impl/SysUserServiceImpl.java | 198 +++++++----------- .../mybatis/system/ByClassMapper.xml | 12 +- .../mybatis/system/SysUserMapper.xml | 16 ++ 9 files changed, 318 insertions(+), 211 deletions(-) diff --git a/ruoyi-ui/src/api/system/user.js b/ruoyi-ui/src/api/system/user.js index 7f8db39ee..45d23f9be 100644 --- a/ruoyi-ui/src/api/system/user.js +++ b/ruoyi-ui/src/api/system/user.js @@ -18,6 +18,15 @@ export function getUser(userId) { }) } +// 查询用户列表根据roleId +export function getUsersByRoleId() { + return request({ + url: '/system/user/listbyroleid', + method: 'get' + }) +} + + // 新增用户 export function addUser(data) { return request({ diff --git a/ruoyi-ui/src/views/system/class/index.vue b/ruoyi-ui/src/views/system/class/index.vue index 510456acd..83cedaa0d 100644 --- a/ruoyi-ui/src/views/system/class/index.vue +++ b/ruoyi-ui/src/views/system/class/index.vue @@ -21,31 +21,37 @@ /> </el-form-item> <el-form-item label="主班教师" prop="zbjs"> - <el-input - v-model="queryParams.zbjs" - placeholder="请输入主班教师" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> + <el-select v-model="queryParams.zbjs" filterable placeholder="请选择主班教师"> + <el-option + v-for="item in zbjsOptions" + :key="item.userId" + :label="item.nickName" + :value="item.userId" + :disabled="item.status == 1" + ></el-option> + </el-select> </el-form-item> <el-form-item label="配班教师" prop="pbjs"> - <el-input - v-model="queryParams.pbjs" - placeholder="请输入配班教师" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> + <el-select v-model="queryParams.pbjs" filterable placeholder="请选择配班教师"> + <el-option + v-for="item in pbjsOptions" + :key="item.userId" + :label="item.nickName" + :value="item.userId" + :disabled="item.status == 1" + ></el-option> + </el-select> </el-form-item> <el-form-item label="助理教师" prop="zljs"> - <el-input - v-model="queryParams.zljs" - placeholder="请输入助理教师" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> + <el-select v-model="queryParams.zljs" filterable placeholder="请选择助理教师"> + <el-option + v-for="item in zljsOptions" + :key="item.userId" + :label="item.nickName" + :value="item.userId" + :disabled="item.status == 1" + ></el-option> + </el-select> </el-form-item> <el-form-item> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> @@ -97,11 +103,11 @@ <el-table v-loading="loading" :data="classList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> <el-table-column label="班级编号" align="center" prop="bjbh" v-if="false" />> - <el-table-column label="班级类型" align="center" :formatter="bjtypeFormat" prop="bjtype" /> + <el-table-column label="班级类型" align="center" :formatter="bjtypeFormat" prop="bjtype" /> <el-table-column label="班级名称" align="center" prop="bjmc" /> - <el-table-column label="主班教师" align="center" prop="zbjs" /> - <el-table-column label="配班教师" align="center" prop="pbjs" /> - <el-table-column label="助理教师" align="center" prop="zljs" /> + <el-table-column label="主班教师" align="center" prop="zbjsxm" /> + <el-table-column label="配班教师" align="center" prop="pbjsxm" /> + <el-table-column label="助理教师" align="center" prop="zljsxm" /> <el-table-column label="创建时间" align="center" prop="createtime" width="180"> <template slot-scope="scope"> <span>{{ parseTime(scope.row.createtime) }}</span> @@ -152,13 +158,37 @@ <el-input v-model="form.bjmc" placeholder="请输入班级名称" /> </el-form-item> <el-form-item label="主班教师" prop="zbjs"> - <el-input v-model="form.zbjs" placeholder="请输入主班教师" /> + <el-select v-model="form.zbjs" placeholder="请选择主班教师"> + <el-option + v-for="item in zbjsOptions" + :key="item.userId" + :label="item.nickName" + :value="item.userId" + :disabled="item.status == 1" + ></el-option> + </el-select> </el-form-item> <el-form-item label="配班教师" prop="pbjs"> - <el-input v-model="form.pbjs" placeholder="请输入配班教师" /> + <el-select v-model="form.pbjs" placeholder="请选择配班教师"> + <el-option + v-for="item in pbjsOptions" + :key="item.userId" + :label="item.nickName" + :value="item.userId" + :disabled="item.status == 1" + ></el-option> + </el-select> </el-form-item> <el-form-item label="助理教师" prop="zljs"> - <el-input v-model="form.zljs" placeholder="请输入助理教师" /> + <el-select v-model="form.zljs" placeholder="请选择助理教师"> + <el-option + v-for="item in zljsOptions" + :key="item.userId" + :label="item.nickName" + :value="item.userId" + :disabled="item.status == 1" + ></el-option> + </el-select> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> @@ -178,6 +208,7 @@ import { updateClass, exportClass } from "@/api/system/class"; +import { getUsersByRoleId } from "@/api/system/user"; export default { name: "Class", @@ -201,16 +232,25 @@ export default { open: false, //班级类型 字典 bjtypeOptions: [], + //主班教师角色用户 + zbjsOptions: [], + //配班教师角色用户 + pbjsOptions: [], + //助理教师角色用户 + zljsOptions: [], // 查询参数 queryParams: { pageNum: 1, pageSize: 10, deptId: undefined, - bjtype: undefined, - bjmc: undefined, + bjtype: undefined, + bjmc: undefined, zbjs: undefined, pbjs: undefined, zljs: undefined, + zbjsxm: undefined, + pbjsxm: undefined, + zljsxm: undefined, createtime: undefined }, // 表单参数 @@ -229,6 +269,12 @@ export default { this.getDicts("sys_yebjlx").then(response => { this.bjtypeOptions = response.data; }); + //获取主班教师角色用户列表 + getUsersByRoleId().then(response => { + this.zbjsOptions = response.zbjs; + this.pbjsOptions = response.pbjs; + this.zljsOptions = response.zljs; + }); }, methods: { /** 查询班级信息列表 */ @@ -258,7 +304,7 @@ export default { bjmc: undefined, zbjs: undefined, pbjs: undefined, - zljs: undefined, + zljs: undefined, createtime: undefined }; this.resetForm("form"); @@ -284,6 +330,12 @@ export default { this.reset(); this.open = true; this.title = "添加班级信息"; + //获取主班教师角色用户列表 + getUsersByRoleId().then(response => { + this.zbjsOptions = response.zbjs; + this.pbjsOptions = response.pbjs; + this.zljsOptions = response.zljs; + }); }, /** 修改按钮操作 */ handleUpdate(row) { @@ -293,6 +345,13 @@ export default { this.form = response.data; this.open = true; this.title = "修改班级信息"; + + //获取主班教师角色用户列表 + getUsersByRoleId().then(response => { + this.zbjsOptions = response.zbjs; + this.pbjsOptions = response.pbjs; + this.zljsOptions = response.zljs; + }); }); }, /** 提交按钮 */ @@ -326,15 +385,11 @@ export default { /** 删除按钮操作 */ handleDelete(row) { const bjbhs = row.bjbh || this.ids; - this.$confirm( - '是否确认删除选中的班级信息?', - "警告", - { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning" - } - ) + this.$confirm("是否确认删除选中的班级信息?", "警告", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) .then(function() { return delClass(bjbhs); }) 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 c57ebf87f..2b1e863c1 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 @@ -34,13 +34,12 @@ import com.ruoyi.project.system.domain.SysUser; /** * 用户信息 - * + * * @author ruoyi */ @RestController @RequestMapping("/system/user") -public class SysUserController extends BaseController -{ +public class SysUserController extends BaseController { @Autowired private ISysUserService userService; @@ -60,17 +59,12 @@ public class SysUserController extends BaseController private SchoolCommon schoolCommon; - - - - /** * 获取用户列表 */ @PreAuthorize("@ss.hasPermi('system:user:list')") @GetMapping("/list") - public TableDataInfo list(SysUser user) - { + public TableDataInfo list(SysUser user) { startPage(); List<SysUser> list = userService.selectUserList(user); return getDataTable(list); @@ -79,8 +73,7 @@ public class SysUserController extends BaseController @Log(title = "用户管理", businessType = BusinessType.EXPORT) @PreAuthorize("@ss.hasPermi('system:user:export')") @GetMapping("/export") - public AjaxResult export(SysUser user) - { + public AjaxResult export(SysUser user) { List<SysUser> list = userService.selectUserList(user); ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); return util.exportExcel(list, "用户数据"); @@ -89,8 +82,7 @@ public class SysUserController extends BaseController @Log(title = "用户管理", businessType = BusinessType.IMPORT) @PreAuthorize("@ss.hasPermi('system:user:import')") @PostMapping("/importData") - public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception - { + public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); List<SysUser> userList = util.importExcel(file.getInputStream()); LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); @@ -100,8 +92,7 @@ public class SysUserController extends BaseController } @GetMapping("/importTemplate") - public AjaxResult importTemplate() - { + public AjaxResult importTemplate() { ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); return util.importTemplateExcel("用户数据"); } @@ -110,30 +101,26 @@ public class SysUserController extends BaseController * 根据用户编号获取详细信息 */ @PreAuthorize("@ss.hasPermi('system:user:query')") - @GetMapping(value = { "/", "/{userId}" }) - public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) - { + @GetMapping(value = {"/", "/{userId}"}) + public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) { AjaxResult ajax = AjaxResult.success(); //在添加用户时判断是否为幼儿园平台 - if(schoolCommon.isSchool()==true) - { + if (schoolCommon.isSchool() == true) { //只显示幼儿园相关的岗位和角色 ajax.put("roles", roleService.selectYeyRoleAll()); ajax.put("posts", postService.selectYeyPostAll()); - }else { + } else { ajax.put("roles", roleService.selectRoleAll()); ajax.put("posts", postService.selectPostAll()); } //在修改用户时判断是否为幼儿园平台 - if (StringUtils.isNotNull(userId)) - { - if (schoolCommon.isSchool()==true) - { + if (StringUtils.isNotNull(userId)) { + if (schoolCommon.isSchool() == true) { ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId)); ajax.put("postIds", postService.selectYeyPostListByUserId(userId)); ajax.put("roleIds", roleService.selectYeyRoleListByUserId(userId)); - }else { + } else { } ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId)); @@ -143,33 +130,53 @@ public class SysUserController extends BaseController return ajax; } + /** + * 根据岗位id获取用户信息列表 + */ + @PreAuthorize("@ss.hasPermi('system:user:query')") + @GetMapping("/listbyroleid") + public AjaxResult getUserList() { + AjaxResult ajax = AjaxResult.success(); + Long deptId=SecurityUtils.getLoginUser().getUser().getDept().getDeptId(); + SysUser user=new SysUser(); + //主班教师 + user.setUserId((long)102); + user.setDeptId(deptId); + ajax.put("zbjs", userService.selectUserListByRoleId(user)); + //配班教师 + user=new SysUser(); + user.setUserId((long)104); + user.setDeptId(deptId); + ajax.put("pbjs", userService.selectUserListByRoleId(user)); + //助理教师 + user=new SysUser(); + user.setUserId((long)105); + user.setDeptId(deptId); + ajax.put("zljs", userService.selectUserListByRoleId(user)); + + return ajax; + } + /** * 新增用户 */ @PreAuthorize("@ss.hasPermi('system:user:add')") @Log(title = "用户管理", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@Validated @RequestBody SysUser user) - { - if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) - { + public AjaxResult add(@Validated @RequestBody SysUser user) { + if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) { return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); - } - else if (UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) - { + } else if (UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) { return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); - } - else if (UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) - { + } else if (UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) { return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); } user.setPhonenumber(user.getUserName()); - user.setEmail(user.getUserName()+"@benyi.com"); + user.setEmail(user.getUserName() + "@benyi.com"); user.setCreateBy(SecurityUtils.getUsername()); user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); int bl = userService.insertUser(user); - if (bl>0) - { + if (bl > 0) { ByTeacherJbxx byTeacherJbxx = new ByTeacherJbxx(); //并赋值给教师userid //user可以直接获取出入数据的主键值 @@ -188,15 +195,11 @@ public class SysUserController extends BaseController @PreAuthorize("@ss.hasPermi('system:user:edit')") @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@Validated @RequestBody SysUser user) - { + public AjaxResult edit(@Validated @RequestBody SysUser user) { userService.checkUserAllowed(user); - if (UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) - { + if (UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) { return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在"); - } - else if (UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) - { + } else if (UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) { return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); } user.setUpdateBy(SecurityUtils.getUsername()); @@ -209,8 +212,7 @@ public class SysUserController extends BaseController @PreAuthorize("@ss.hasPermi('system:user:remove')") @Log(title = "用户管理", businessType = BusinessType.DELETE) @DeleteMapping("/{userIds}") - public AjaxResult remove(@PathVariable Long[] userIds) - { + public AjaxResult remove(@PathVariable Long[] userIds) { return toAjax(userService.deleteUserByIds(userIds)); } @@ -220,8 +222,7 @@ public class SysUserController extends BaseController @PreAuthorize("@ss.hasPermi('system:user:edit')") @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping("/resetPwd") - public AjaxResult resetPwd(@RequestBody SysUser user) - { + public AjaxResult resetPwd(@RequestBody SysUser user) { userService.checkUserAllowed(user); user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); user.setUpdateBy(SecurityUtils.getUsername()); @@ -234,8 +235,7 @@ public class SysUserController extends BaseController @PreAuthorize("@ss.hasPermi('system:user:edit')") @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") - public AjaxResult changeStatus(@RequestBody SysUser user) - { + public AjaxResult changeStatus(@RequestBody SysUser user) { userService.checkUserAllowed(user); user.setUpdateBy(SecurityUtils.getUsername()); return toAjax(userService.updateUserStatus(user)); diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/domain/ByClass.java b/ruoyi/src/main/java/com/ruoyi/project/system/domain/ByClass.java index 8eefd8a39..b2e5920c2 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/system/domain/ByClass.java +++ b/ruoyi/src/main/java/com/ruoyi/project/system/domain/ByClass.java @@ -70,18 +70,33 @@ public class ByClass extends BaseEntity { @Excel(name = "主班教师") private Long zbjs; + /** + * 主班教师名称 + */ + private String zbjsxm; + /** * 配班教师 */ @Excel(name = "配班教师") private Long pbjs; + /** + * 配班教师名称 + */ + private String pbjsxm; + /** * 助理教师 */ @Excel(name = "助理教师") private Long zljs; + /** + * 助理教师名称 + */ + private String zljsxm; + /** * 是否删除 * 1:删除 @@ -166,6 +181,13 @@ public class ByClass extends BaseEntity { public Long getZbjs() { return zbjs; } + public void setZbjsxm(String zbjsxm) { + this.zbjsxm = zbjsxm; + } + + public String getZbjsxm() { + return zbjsxm; + } public void setPbjs(Long pbjs) { this.pbjs = pbjs; @@ -174,6 +196,13 @@ public class ByClass extends BaseEntity { public Long getPbjs() { return pbjs; } + public void setPbjsxm(String pbjsxm) { + this.pbjsxm = pbjsxm; + } + + public String getPbjsxm() { + return pbjsxm; + } public void setZljs(Long zljs) { this.zljs = zljs; @@ -182,6 +211,13 @@ public class ByClass extends BaseEntity { public Long getZljs() { return zljs; } + public void setZljsxm(String zljsxm) { + this.zljsxm = zljsxm; + } + + public String getZljsxm() { + return zljsxm; + } public void setIsdel(String isdel) { this.isdel = isdel; @@ -211,8 +247,11 @@ public class ByClass extends BaseEntity { .append("bjrych", getBjrych()) .append("jbny", getJbny()) .append("zbjs", getZbjs()) + .append("zbjsxm", getZbjsxm()) .append("pbjs", getPbjs()) + .append("pbjsxm", getPbjsxm()) .append("zljs", getZljs()) + .append("zljsxm", getZljsxm()) .append("isdel", getIsdel()) .append("createtime", getCreatetime()) .toString(); diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java index bb073350f..bb085db0c 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java @@ -37,6 +37,14 @@ public interface SysUserMapper */ public SysUser selectUserById(Long userId); + /** + * 根据roleId查询用户列表 + * + * @param sysUser 用户信息 + * @return 用户信息集合信息 + */ + public List<SysUser> selectUserListByRoleId(SysUser user); + /** * 新增用户信息 * diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserService.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserService.java index 3b79a1d9a..be03844ed 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserService.java +++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/ISysUserService.java @@ -34,6 +34,14 @@ public interface ISysUserService */ public SysUser selectUserById(Long userId); + /** + * 根据roleId查询用户列表 + * + * @param sysUser 用户信息 + * @return 用户信息集合信息 + */ + public List<SysUser> selectUserListByRoleId(SysUser user); + /** * 根据用户ID查询用户所属角色组 * 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 77affcb80..404ac1e4b 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 @@ -2,6 +2,7 @@ package com.ruoyi.project.system.service.impl; import java.util.ArrayList; import java.util.List; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -27,12 +28,11 @@ import com.ruoyi.project.system.service.ISysUserService; /** * 用户 业务层处理 - * + * * @author ruoyi */ @Service -public class SysUserServiceImpl implements ISysUserService -{ +public class SysUserServiceImpl implements ISysUserService { private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); @Autowired @@ -55,58 +55,63 @@ public class SysUserServiceImpl implements ISysUserService /** * 根据条件分页查询用户列表 - * + * * @param user 用户信息 * @return 用户信息集合信息 */ @Override @DataScope(deptAlias = "d", userAlias = "u") - public List<SysUser> selectUserList(SysUser user) - { + public List<SysUser> selectUserList(SysUser user) { return userMapper.selectUserList(user); } /** * 通过用户名查询用户 - * + * * @param userName 用户名 * @return 用户对象信息 */ @Override - public SysUser selectUserByUserName(String userName) - { + public SysUser selectUserByUserName(String userName) { return userMapper.selectUserByUserName(userName); } /** * 通过用户ID查询用户 - * + * * @param userId 用户ID * @return 用户对象信息 */ @Override - public SysUser selectUserById(Long userId) - { + public SysUser selectUserById(Long userId) { return userMapper.selectUserById(userId); } + /** + * 根据roleId查询用户列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + @Override + public List<SysUser> selectUserListByRoleId(SysUser sysUser) { + return userMapper.selectUserListByRoleId(sysUser); + } + /** * 查询用户所属角色组 - * + * * @param userName 用户名 * @return 结果 */ @Override - public String selectUserRoleGroup(String userName) - { + public String selectUserRoleGroup(String userName) { List<SysRole> list = roleMapper.selectRolesByUserName(userName); StringBuffer idsStr = new StringBuffer(); - for (SysRole role : list) - { + for (SysRole role : list) { idsStr.append(role.getRoleName()).append(","); } - if (StringUtils.isNotEmpty(idsStr.toString())) - { + if (StringUtils.isNotEmpty(idsStr.toString())) { return idsStr.substring(0, idsStr.length() - 1); } return idsStr.toString(); @@ -114,21 +119,18 @@ public class SysUserServiceImpl implements ISysUserService /** * 查询用户所属岗位组 - * + * * @param userName 用户名 * @return 结果 */ @Override - public String selectUserPostGroup(String userName) - { + public String selectUserPostGroup(String userName) { List<SysPost> list = postMapper.selectPostsByUserName(userName); StringBuffer idsStr = new StringBuffer(); - for (SysPost post : list) - { + for (SysPost post : list) { idsStr.append(post.getPostName()).append(","); } - if (StringUtils.isNotEmpty(idsStr.toString())) - { + if (StringUtils.isNotEmpty(idsStr.toString())) { return idsStr.substring(0, idsStr.length() - 1); } return idsStr.toString(); @@ -136,16 +138,14 @@ public class SysUserServiceImpl implements ISysUserService /** * 校验用户名称是否唯一 - * + * * @param userName 用户名称 * @return 结果 */ @Override - public String checkUserNameUnique(String userName) - { + public String checkUserNameUnique(String userName) { int count = userMapper.checkUserNameUnique(userName); - if (count > 0) - { + if (count > 0) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; @@ -158,12 +158,10 @@ public class SysUserServiceImpl implements ISysUserService * @return */ @Override - public String checkPhoneUnique(SysUser user) - { + public String checkPhoneUnique(SysUser user) { Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber()); - if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) - { + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; @@ -176,12 +174,10 @@ public class SysUserServiceImpl implements ISysUserService * @return */ @Override - public String checkEmailUnique(SysUser user) - { + public String checkEmailUnique(SysUser user) { Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); SysUser info = userMapper.checkEmailUnique(user.getEmail()); - if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) - { + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; @@ -189,27 +185,24 @@ public class SysUserServiceImpl implements ISysUserService /** * 校验用户是否允许操作 - * + * * @param user 用户信息 */ - public void checkUserAllowed(SysUser user) - { - if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) - { + public void checkUserAllowed(SysUser user) { + if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) { throw new CustomException("不允许操作超级管理员用户"); } } /** * 新增保存用户信息 - * + * * @param user 用户信息 * @return 结果 */ @Override @Transactional - public int insertUser(SysUser user) - { + public int insertUser(SysUser user) { // 新增用户信息 int rows = userMapper.insertUser(user); // 新增用户岗位关联 @@ -221,14 +214,13 @@ public class SysUserServiceImpl implements ISysUserService /** * 修改保存用户信息 - * + * * @param user 用户信息 * @return 结果 */ @Override @Transactional - public int updateUser(SysUser user) - { + public int updateUser(SysUser user) { Long userId = user.getUserId(); // 删除用户与角色关联 userRoleMapper.deleteUserRoleByUserId(userId); @@ -243,86 +235,77 @@ public class SysUserServiceImpl implements ISysUserService /** * 修改用户状态 - * + * * @param user 用户信息 * @return 结果 */ @Override - public int updateUserStatus(SysUser user) - { + public int updateUserStatus(SysUser user) { return userMapper.updateUser(user); } /** * 修改用户基本信息 - * + * * @param user 用户信息 * @return 结果 */ @Override - public int updateUserProfile(SysUser user) - { + public int updateUserProfile(SysUser user) { return userMapper.updateUser(user); } /** * 修改用户头像 - * + * * @param userId 用户ID * @param avatar 头像地址 * @return 结果 */ - public boolean updateUserAvatar(String userName, String avatar) - { + public boolean updateUserAvatar(String userName, String avatar) { return userMapper.updateUserAvatar(userName, avatar) > 0; } /** * 重置用户密码 - * + * * @param user 用户信息 * @return 结果 */ @Override - public int resetPwd(SysUser user) - { + public int resetPwd(SysUser user) { return userMapper.updateUser(user); } /** * 重置用户密码 - * + * * @param userName 用户名 * @param password 密码 * @return 结果 */ @Override - public int resetUserPwd(String userName, String password) - { + public int resetUserPwd(String userName, String password) { return userMapper.resetUserPwd(userName, password); } /** * 新增用户角色信息 - * + * * @param user 用户对象 */ - public void insertUserRole(SysUser user) - { + public void insertUserRole(SysUser user) { Long[] roles = user.getRoleIds(); - if (StringUtils.isNotNull(roles)) - { + if (StringUtils.isNotNull(roles)) { // 新增用户与角色管理 List<SysUserRole> list = new ArrayList<SysUserRole>(); - for (Long roleId : roles) - { + for (Long roleId : roles) { SysUserRole ur = new SysUserRole(); ur.setUserId(user.getUserId()); ur.setRoleId(roleId); list.add(ur); } - if (list.size() > 0) - { + if (list.size() > 0) { userRoleMapper.batchUserRole(list); } } @@ -330,25 +313,21 @@ public class SysUserServiceImpl implements ISysUserService /** * 新增用户岗位信息 - * + * * @param user 用户对象 */ - public void insertUserPost(SysUser user) - { + public void insertUserPost(SysUser user) { Long[] posts = user.getPostIds(); - if (StringUtils.isNotNull(posts)) - { + if (StringUtils.isNotNull(posts)) { // 新增用户与岗位管理 List<SysUserPost> list = new ArrayList<SysUserPost>(); - for (Long postId : posts) - { + for (Long postId : posts) { SysUserPost up = new SysUserPost(); up.setUserId(user.getUserId()); up.setPostId(postId); list.add(up); } - if (list.size() > 0) - { + if (list.size() > 0) { userPostMapper.batchUserPost(list); } } @@ -356,13 +335,12 @@ public class SysUserServiceImpl implements ISysUserService /** * 通过用户ID删除用户 - * + * * @param userId 用户ID * @return 结果 */ @Override - public int deleteUserById(Long userId) - { + public int deleteUserById(Long userId) { // 删除用户与角色关联 userRoleMapper.deleteUserRoleByUserId(userId); // 删除用户与岗位表 @@ -372,14 +350,12 @@ public class SysUserServiceImpl implements ISysUserService /** * 批量删除用户信息 - * + * * @param userIds 需要删除的用户ID * @return 结果 */ - public int deleteUserByIds(Long[] userIds) - { - for (Long userId : userIds) - { + public int deleteUserByIds(Long[] userIds) { + for (Long userId : userIds) { checkUserAllowed(new SysUser(userId)); } return userMapper.deleteUserByIds(userIds); @@ -387,17 +363,15 @@ public class SysUserServiceImpl implements ISysUserService /** * 导入用户数据 - * - * @param userList 用户数据列表 + * + * @param userList 用户数据列表 * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 - * @param operName 操作用户 + * @param operName 操作用户 * @return 结果 */ @Override - public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName) - { - if (StringUtils.isNull(userList) || userList.size() == 0) - { + public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName) { + if (StringUtils.isNull(userList) || userList.size() == 0) { throw new CustomException("导入用户数据不能为空!"); } int successNum = 0; @@ -405,48 +379,36 @@ public class SysUserServiceImpl implements ISysUserService StringBuilder successMsg = new StringBuilder(); StringBuilder failureMsg = new StringBuilder(); String password = configService.selectConfigByKey("sys.user.initPassword"); - for (SysUser user : userList) - { - try - { + for (SysUser user : userList) { + try { // 验证是否存在这个用户 SysUser u = userMapper.selectUserByUserName(user.getUserName()); - if (StringUtils.isNull(u)) - { + if (StringUtils.isNull(u)) { user.setPassword(SecurityUtils.encryptPassword(password)); user.setCreateBy(operName); this.insertUser(user); successNum++; successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 导入成功"); - } - else if (isUpdateSupport) - { + } else if (isUpdateSupport) { user.setUpdateBy(operName); this.updateUser(user); successNum++; successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 更新成功"); - } - else - { + } else { failureNum++; failureMsg.append("<br/>" + failureNum + "、账号 " + user.getUserName() + " 已存在"); } - } - catch (Exception e) - { + } catch (Exception e) { failureNum++; String msg = "<br/>" + failureNum + "、账号 " + user.getUserName() + " 导入失败:"; failureMsg.append(msg + e.getMessage()); log.error(msg, e); } } - if (failureNum > 0) - { + if (failureNum > 0) { failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); throw new CustomException(failureMsg.toString()); - } - else - { + } else { successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); } return successMsg.toString(); diff --git a/ruoyi/src/main/resources/mybatis/system/ByClassMapper.xml b/ruoyi/src/main/resources/mybatis/system/ByClassMapper.xml index 02ca0d572..d373c3de4 100644 --- a/ruoyi/src/main/resources/mybatis/system/ByClassMapper.xml +++ b/ruoyi/src/main/resources/mybatis/system/ByClassMapper.xml @@ -14,14 +14,21 @@ <result property="bjrych" column="bjrych"/> <result property="jbny" column="jbny"/> <result property="zbjs" column="zbjs"/> + <result property="zbjsxm" column="zbjsxm"/> <result property="pbjs" column="pbjs"/> + <result property="pbjsxm" column="pbjsxm"/> <result property="zljs" column="zljs"/> + <result property="zljsxm" column="zljsxm"/> <result property="isdel" column="isdel"/> <result property="createtime" column="createtime"/> </resultMap> <sql id="selectByClassVo"> - select bjbh, dept_id, bjtype, bhxh, xn, bjmc, bjrych, jbny, zbjs, pbjs, zljs, isdel, createtime from by_class d + select bjbh, dept_id, bjtype, bhxh, xn, bjmc, bjrych, jbny, + zbjs,(select nick_name from sys_user where sys_user.user_id=zbjs) zbjsxm, + pbjs, (select nick_name from sys_user where sys_user.user_id=pbjs) pbjsxm, + zljs, (select nick_name from sys_user where sys_user.user_id=zljs) zljsxm, + isdel, createtime from by_class d </sql> <select id="selectByClassList" parameterType="ByClass" resultMap="ByClassResult"> @@ -37,6 +44,9 @@ <if test="zbjs != null ">and zbjs = #{zbjs}</if> <if test="pbjs != null ">and pbjs = #{pbjs}</if> <if test="zljs != null ">and zljs = #{zljs}</if> + <if test="zbjsxm != null and zbjsxm != ''" >and zbjsxm like concat('%', #{zbjsxm}, '%')</if> + <if test="pbjsxm != null and pbjsxm != ''" >and pbjsxm like concat('%', #{pbjsxm}, '%')</if> + <if test="zljsxm != null and zljsxm != ''" >and zljsxm like concat('%', #{zljsxm}, '%')</if> <if test="isdel != null and isdel != ''">and isdel = #{isdel}</if> <if test="createtime != null ">and createtime = #{createtime}</if> <!-- 数据范围过滤 --> diff --git a/ruoyi/src/main/resources/mybatis/system/SysUserMapper.xml b/ruoyi/src/main/resources/mybatis/system/SysUserMapper.xml index 2e6969cb7..69adf67ef 100644 --- a/ruoyi/src/main/resources/mybatis/system/SysUserMapper.xml +++ b/ruoyi/src/main/resources/mybatis/system/SysUserMapper.xml @@ -90,6 +90,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <include refid="selectUserVo"/> where u.user_id = #{userId} </select> + + <select id="selectUserListByRoleId" parameterType="SysUser" resultMap="SysUserResult"> + select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader + from sys_user u + left join sys_dept d on u.dept_id = d.dept_id + left join sys_user_role ur on u.user_id = ur.user_id + left join sys_role r on r.role_id = ur.role_id + where u.del_flag = '0' + <if test="userId != null and userId != ''"> + and r.role_id = #{userId} + </if> + <if test="deptId != null and deptId != 0"> + AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE FIND_IN_SET (#{deptId},ancestors) )) + </if> + + </select> <select id="checkUserNameUnique" parameterType="String" resultType="int"> select count(1) from sys_user where user_name = #{userName}