20200430-zlp-1

班级管理-维护教师
This commit is contained in:
paidaxing444 2020-04-30 15:25:26 +08:00
parent 619477a4fe
commit d66094870c
9 changed files with 318 additions and 211 deletions

View File

@ -18,6 +18,15 @@ export function getUser(userId) {
}) })
} }
// 查询用户列表根据roleId
export function getUsersByRoleId() {
return request({
url: '/system/user/listbyroleid',
method: 'get'
})
}
// 新增用户 // 新增用户
export function addUser(data) { export function addUser(data) {
return request({ return request({

View File

@ -21,31 +21,37 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="主班教师" prop="zbjs"> <el-form-item label="主班教师" prop="zbjs">
<el-input <el-select v-model="queryParams.zbjs" filterable placeholder="请选择主班教师">
v-model="queryParams.zbjs" <el-option
placeholder="请输入主班教师" v-for="item in zbjsOptions"
clearable :key="item.userId"
size="small" :label="item.nickName"
@keyup.enter.native="handleQuery" :value="item.userId"
/> :disabled="item.status == 1"
></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="配班教师" prop="pbjs"> <el-form-item label="配班教师" prop="pbjs">
<el-input <el-select v-model="queryParams.pbjs" filterable placeholder="请选择配班教师">
v-model="queryParams.pbjs" <el-option
placeholder="请输入配班教师" v-for="item in pbjsOptions"
clearable :key="item.userId"
size="small" :label="item.nickName"
@keyup.enter.native="handleQuery" :value="item.userId"
/> :disabled="item.status == 1"
></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="助理教师" prop="zljs"> <el-form-item label="助理教师" prop="zljs">
<el-input <el-select v-model="queryParams.zljs" filterable placeholder="请选择助理教师">
v-model="queryParams.zljs" <el-option
placeholder="请输入助理教师" v-for="item in zljsOptions"
clearable :key="item.userId"
size="small" :label="item.nickName"
@keyup.enter.native="handleQuery" :value="item.userId"
/> :disabled="item.status == 1"
></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <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 v-loading="loading" :data="classList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <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" 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="bjmc" />
<el-table-column label="主班教师" align="center" prop="zbjs" /> <el-table-column label="主班教师" align="center" prop="zbjsxm" />
<el-table-column label="配班教师" align="center" prop="pbjs" /> <el-table-column label="配班教师" align="center" prop="pbjsxm" />
<el-table-column label="助理教师" align="center" prop="zljs" /> <el-table-column label="助理教师" align="center" prop="zljsxm" />
<el-table-column label="创建时间" align="center" prop="createtime" width="180"> <el-table-column label="创建时间" align="center" prop="createtime" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createtime) }}</span> <span>{{ parseTime(scope.row.createtime) }}</span>
@ -152,13 +158,37 @@
<el-input v-model="form.bjmc" placeholder="请输入班级名称" /> <el-input v-model="form.bjmc" placeholder="请输入班级名称" />
</el-form-item> </el-form-item>
<el-form-item label="主班教师" prop="zbjs"> <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>
<el-form-item label="配班教师" prop="pbjs"> <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>
<el-form-item label="助理教师" prop="zljs"> <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-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -178,6 +208,7 @@ import {
updateClass, updateClass,
exportClass exportClass
} from "@/api/system/class"; } from "@/api/system/class";
import { getUsersByRoleId } from "@/api/system/user";
export default { export default {
name: "Class", name: "Class",
@ -201,16 +232,25 @@ export default {
open: false, open: false,
// //
bjtypeOptions: [], bjtypeOptions: [],
//
zbjsOptions: [],
//
pbjsOptions: [],
//
zljsOptions: [],
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
deptId: undefined, deptId: undefined,
bjtype: undefined, bjtype: undefined,
bjmc: undefined, bjmc: undefined,
zbjs: undefined, zbjs: undefined,
pbjs: undefined, pbjs: undefined,
zljs: undefined, zljs: undefined,
zbjsxm: undefined,
pbjsxm: undefined,
zljsxm: undefined,
createtime: undefined createtime: undefined
}, },
// //
@ -229,6 +269,12 @@ export default {
this.getDicts("sys_yebjlx").then(response => { this.getDicts("sys_yebjlx").then(response => {
this.bjtypeOptions = response.data; this.bjtypeOptions = response.data;
}); });
//
getUsersByRoleId().then(response => {
this.zbjsOptions = response.zbjs;
this.pbjsOptions = response.pbjs;
this.zljsOptions = response.zljs;
});
}, },
methods: { methods: {
/** 查询班级信息列表 */ /** 查询班级信息列表 */
@ -258,7 +304,7 @@ export default {
bjmc: undefined, bjmc: undefined,
zbjs: undefined, zbjs: undefined,
pbjs: undefined, pbjs: undefined,
zljs: undefined, zljs: undefined,
createtime: undefined createtime: undefined
}; };
this.resetForm("form"); this.resetForm("form");
@ -284,6 +330,12 @@ export default {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加班级信息"; this.title = "添加班级信息";
//
getUsersByRoleId().then(response => {
this.zbjsOptions = response.zbjs;
this.pbjsOptions = response.pbjs;
this.zljsOptions = response.zljs;
});
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
@ -293,6 +345,13 @@ export default {
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "修改班级信息"; 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) { handleDelete(row) {
const bjbhs = row.bjbh || this.ids; const bjbhs = row.bjbh || this.ids;
this.$confirm( this.$confirm("是否确认删除选中的班级信息?", "警告", {
'是否确认删除选中的班级信息?', confirmButtonText: "确定",
"警告", cancelButtonText: "取消",
{ type: "warning"
confirmButtonText: "确定", })
cancelButtonText: "取消",
type: "warning"
}
)
.then(function() { .then(function() {
return delClass(bjbhs); return delClass(bjbhs);
}) })

View File

@ -34,13 +34,12 @@ import com.ruoyi.project.system.domain.SysUser;
/** /**
* 用户信息 * 用户信息
* *
* @author ruoyi * @author ruoyi
*/ */
@RestController @RestController
@RequestMapping("/system/user") @RequestMapping("/system/user")
public class SysUserController extends BaseController public class SysUserController extends BaseController {
{
@Autowired @Autowired
private ISysUserService userService; private ISysUserService userService;
@ -60,17 +59,12 @@ public class SysUserController extends BaseController
private SchoolCommon schoolCommon; private SchoolCommon schoolCommon;
/** /**
* 获取用户列表 * 获取用户列表
*/ */
@PreAuthorize("@ss.hasPermi('system:user:list')") @PreAuthorize("@ss.hasPermi('system:user:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SysUser user) public TableDataInfo list(SysUser user) {
{
startPage(); startPage();
List<SysUser> list = userService.selectUserList(user); List<SysUser> list = userService.selectUserList(user);
return getDataTable(list); return getDataTable(list);
@ -79,8 +73,7 @@ public class SysUserController extends BaseController
@Log(title = "用户管理", businessType = BusinessType.EXPORT) @Log(title = "用户管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:user:export')") @PreAuthorize("@ss.hasPermi('system:user:export')")
@GetMapping("/export") @GetMapping("/export")
public AjaxResult export(SysUser user) public AjaxResult export(SysUser user) {
{
List<SysUser> list = userService.selectUserList(user); List<SysUser> list = userService.selectUserList(user);
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
return util.exportExcel(list, "用户数据"); return util.exportExcel(list, "用户数据");
@ -89,8 +82,7 @@ public class SysUserController extends BaseController
@Log(title = "用户管理", businessType = BusinessType.IMPORT) @Log(title = "用户管理", businessType = BusinessType.IMPORT)
@PreAuthorize("@ss.hasPermi('system:user:import')") @PreAuthorize("@ss.hasPermi('system:user:import')")
@PostMapping("/importData") @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); ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
List<SysUser> userList = util.importExcel(file.getInputStream()); List<SysUser> userList = util.importExcel(file.getInputStream());
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
@ -100,8 +92,7 @@ public class SysUserController extends BaseController
} }
@GetMapping("/importTemplate") @GetMapping("/importTemplate")
public AjaxResult importTemplate() public AjaxResult importTemplate() {
{
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
return util.importTemplateExcel("用户数据"); return util.importTemplateExcel("用户数据");
} }
@ -110,30 +101,26 @@ public class SysUserController extends BaseController
* 根据用户编号获取详细信息 * 根据用户编号获取详细信息
*/ */
@PreAuthorize("@ss.hasPermi('system:user:query')") @PreAuthorize("@ss.hasPermi('system:user:query')")
@GetMapping(value = { "/", "/{userId}" }) @GetMapping(value = {"/", "/{userId}"})
public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) {
{
AjaxResult ajax = AjaxResult.success(); AjaxResult ajax = AjaxResult.success();
//在添加用户时判断是否为幼儿园平台 //在添加用户时判断是否为幼儿园平台
if(schoolCommon.isSchool()==true) if (schoolCommon.isSchool() == true) {
{
//只显示幼儿园相关的岗位和角色 //只显示幼儿园相关的岗位和角色
ajax.put("roles", roleService.selectYeyRoleAll()); ajax.put("roles", roleService.selectYeyRoleAll());
ajax.put("posts", postService.selectYeyPostAll()); ajax.put("posts", postService.selectYeyPostAll());
}else { } else {
ajax.put("roles", roleService.selectRoleAll()); ajax.put("roles", roleService.selectRoleAll());
ajax.put("posts", postService.selectPostAll()); ajax.put("posts", postService.selectPostAll());
} }
//在修改用户时判断是否为幼儿园平台 //在修改用户时判断是否为幼儿园平台
if (StringUtils.isNotNull(userId)) if (StringUtils.isNotNull(userId)) {
{ if (schoolCommon.isSchool() == true) {
if (schoolCommon.isSchool()==true)
{
ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId)); ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId));
ajax.put("postIds", postService.selectYeyPostListByUserId(userId)); ajax.put("postIds", postService.selectYeyPostListByUserId(userId));
ajax.put("roleIds", roleService.selectYeyRoleListByUserId(userId)); ajax.put("roleIds", roleService.selectYeyRoleListByUserId(userId));
}else { } else {
} }
ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId)); ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId));
@ -143,33 +130,53 @@ public class SysUserController extends BaseController
return ajax; 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')") @PreAuthorize("@ss.hasPermi('system:user:add')")
@Log(title = "用户管理", businessType = BusinessType.INSERT) @Log(title = "用户管理", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@Validated @RequestBody SysUser user) public AjaxResult add(@Validated @RequestBody SysUser user) {
{ if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) {
if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName())))
{
return AjaxResult.error("新增用户'" + 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() + "'失败,手机号码已存在"); 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() + "'失败,邮箱账号已存在"); return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
} }
user.setPhonenumber(user.getUserName()); user.setPhonenumber(user.getUserName());
user.setEmail(user.getUserName()+"@benyi.com"); user.setEmail(user.getUserName() + "@benyi.com");
user.setCreateBy(SecurityUtils.getUsername()); user.setCreateBy(SecurityUtils.getUsername());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
int bl = userService.insertUser(user); int bl = userService.insertUser(user);
if (bl>0) if (bl > 0) {
{
ByTeacherJbxx byTeacherJbxx = new ByTeacherJbxx(); ByTeacherJbxx byTeacherJbxx = new ByTeacherJbxx();
//并赋值给教师userid //并赋值给教师userid
//user可以直接获取出入数据的主键值 //user可以直接获取出入数据的主键值
@ -188,15 +195,11 @@ public class SysUserController extends BaseController
@PreAuthorize("@ss.hasPermi('system:user:edit')") @PreAuthorize("@ss.hasPermi('system:user:edit')")
@Log(title = "用户管理", businessType = BusinessType.UPDATE) @Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@Validated @RequestBody SysUser user) public AjaxResult edit(@Validated @RequestBody SysUser user) {
{
userService.checkUserAllowed(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() + "'失败,手机号码已存在"); 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() + "'失败,邮箱账号已存在"); return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
} }
user.setUpdateBy(SecurityUtils.getUsername()); user.setUpdateBy(SecurityUtils.getUsername());
@ -209,8 +212,7 @@ public class SysUserController extends BaseController
@PreAuthorize("@ss.hasPermi('system:user:remove')") @PreAuthorize("@ss.hasPermi('system:user:remove')")
@Log(title = "用户管理", businessType = BusinessType.DELETE) @Log(title = "用户管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{userIds}") @DeleteMapping("/{userIds}")
public AjaxResult remove(@PathVariable Long[] userIds) public AjaxResult remove(@PathVariable Long[] userIds) {
{
return toAjax(userService.deleteUserByIds(userIds)); return toAjax(userService.deleteUserByIds(userIds));
} }
@ -220,8 +222,7 @@ public class SysUserController extends BaseController
@PreAuthorize("@ss.hasPermi('system:user:edit')") @PreAuthorize("@ss.hasPermi('system:user:edit')")
@Log(title = "用户管理", businessType = BusinessType.UPDATE) @Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/resetPwd") @PutMapping("/resetPwd")
public AjaxResult resetPwd(@RequestBody SysUser user) public AjaxResult resetPwd(@RequestBody SysUser user) {
{
userService.checkUserAllowed(user); userService.checkUserAllowed(user);
user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
user.setUpdateBy(SecurityUtils.getUsername()); user.setUpdateBy(SecurityUtils.getUsername());
@ -234,8 +235,7 @@ public class SysUserController extends BaseController
@PreAuthorize("@ss.hasPermi('system:user:edit')") @PreAuthorize("@ss.hasPermi('system:user:edit')")
@Log(title = "用户管理", businessType = BusinessType.UPDATE) @Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus") @PutMapping("/changeStatus")
public AjaxResult changeStatus(@RequestBody SysUser user) public AjaxResult changeStatus(@RequestBody SysUser user) {
{
userService.checkUserAllowed(user); userService.checkUserAllowed(user);
user.setUpdateBy(SecurityUtils.getUsername()); user.setUpdateBy(SecurityUtils.getUsername());
return toAjax(userService.updateUserStatus(user)); return toAjax(userService.updateUserStatus(user));

View File

@ -70,18 +70,33 @@ public class ByClass extends BaseEntity {
@Excel(name = "主班教师") @Excel(name = "主班教师")
private Long zbjs; private Long zbjs;
/**
* 主班教师名称
*/
private String zbjsxm;
/** /**
* 配班教师 * 配班教师
*/ */
@Excel(name = "配班教师") @Excel(name = "配班教师")
private Long pbjs; private Long pbjs;
/**
* 配班教师名称
*/
private String pbjsxm;
/** /**
* 助理教师 * 助理教师
*/ */
@Excel(name = "助理教师") @Excel(name = "助理教师")
private Long zljs; private Long zljs;
/**
* 助理教师名称
*/
private String zljsxm;
/** /**
* 是否删除 * 是否删除
* 1:删除 * 1:删除
@ -166,6 +181,13 @@ public class ByClass extends BaseEntity {
public Long getZbjs() { public Long getZbjs() {
return zbjs; return zbjs;
} }
public void setZbjsxm(String zbjsxm) {
this.zbjsxm = zbjsxm;
}
public String getZbjsxm() {
return zbjsxm;
}
public void setPbjs(Long pbjs) { public void setPbjs(Long pbjs) {
this.pbjs = pbjs; this.pbjs = pbjs;
@ -174,6 +196,13 @@ public class ByClass extends BaseEntity {
public Long getPbjs() { public Long getPbjs() {
return pbjs; return pbjs;
} }
public void setPbjsxm(String pbjsxm) {
this.pbjsxm = pbjsxm;
}
public String getPbjsxm() {
return pbjsxm;
}
public void setZljs(Long zljs) { public void setZljs(Long zljs) {
this.zljs = zljs; this.zljs = zljs;
@ -182,6 +211,13 @@ public class ByClass extends BaseEntity {
public Long getZljs() { public Long getZljs() {
return zljs; return zljs;
} }
public void setZljsxm(String zljsxm) {
this.zljsxm = zljsxm;
}
public String getZljsxm() {
return zljsxm;
}
public void setIsdel(String isdel) { public void setIsdel(String isdel) {
this.isdel = isdel; this.isdel = isdel;
@ -211,8 +247,11 @@ public class ByClass extends BaseEntity {
.append("bjrych", getBjrych()) .append("bjrych", getBjrych())
.append("jbny", getJbny()) .append("jbny", getJbny())
.append("zbjs", getZbjs()) .append("zbjs", getZbjs())
.append("zbjsxm", getZbjsxm())
.append("pbjs", getPbjs()) .append("pbjs", getPbjs())
.append("pbjsxm", getPbjsxm())
.append("zljs", getZljs()) .append("zljs", getZljs())
.append("zljsxm", getZljsxm())
.append("isdel", getIsdel()) .append("isdel", getIsdel())
.append("createtime", getCreatetime()) .append("createtime", getCreatetime())
.toString(); .toString();

View File

@ -37,6 +37,14 @@ public interface SysUserMapper
*/ */
public SysUser selectUserById(Long userId); public SysUser selectUserById(Long userId);
/**
* 根据roleId查询用户列表
*
* @param sysUser 用户信息
* @return 用户信息集合信息
*/
public List<SysUser> selectUserListByRoleId(SysUser user);
/** /**
* 新增用户信息 * 新增用户信息
* *

View File

@ -34,6 +34,14 @@ public interface ISysUserService
*/ */
public SysUser selectUserById(Long userId); public SysUser selectUserById(Long userId);
/**
* 根据roleId查询用户列表
*
* @param sysUser 用户信息
* @return 用户信息集合信息
*/
public List<SysUser> selectUserListByRoleId(SysUser user);
/** /**
* 根据用户ID查询用户所属角色组 * 根据用户ID查询用户所属角色组
* *

View File

@ -2,6 +2,7 @@ package com.ruoyi.project.system.service.impl;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -27,12 +28,11 @@ import com.ruoyi.project.system.service.ISysUserService;
/** /**
* 用户 业务层处理 * 用户 业务层处理
* *
* @author ruoyi * @author ruoyi
*/ */
@Service @Service
public class SysUserServiceImpl implements ISysUserService public class SysUserServiceImpl implements ISysUserService {
{
private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
@Autowired @Autowired
@ -55,58 +55,63 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 根据条件分页查询用户列表 * 根据条件分页查询用户列表
* *
* @param user 用户信息 * @param user 用户信息
* @return 用户信息集合信息 * @return 用户信息集合信息
*/ */
@Override @Override
@DataScope(deptAlias = "d", userAlias = "u") @DataScope(deptAlias = "d", userAlias = "u")
public List<SysUser> selectUserList(SysUser user) public List<SysUser> selectUserList(SysUser user) {
{
return userMapper.selectUserList(user); return userMapper.selectUserList(user);
} }
/** /**
* 通过用户名查询用户 * 通过用户名查询用户
* *
* @param userName 用户名 * @param userName 用户名
* @return 用户对象信息 * @return 用户对象信息
*/ */
@Override @Override
public SysUser selectUserByUserName(String userName) public SysUser selectUserByUserName(String userName) {
{
return userMapper.selectUserByUserName(userName); return userMapper.selectUserByUserName(userName);
} }
/** /**
* 通过用户ID查询用户 * 通过用户ID查询用户
* *
* @param userId 用户ID * @param userId 用户ID
* @return 用户对象信息 * @return 用户对象信息
*/ */
@Override @Override
public SysUser selectUserById(Long userId) public SysUser selectUserById(Long userId) {
{
return userMapper.selectUserById(userId); return userMapper.selectUserById(userId);
} }
/**
* 根据roleId查询用户列表
*
* @param user 用户信息
* @return 用户信息集合信息
*/
@Override
public List<SysUser> selectUserListByRoleId(SysUser sysUser) {
return userMapper.selectUserListByRoleId(sysUser);
}
/** /**
* 查询用户所属角色组 * 查询用户所属角色组
* *
* @param userName 用户名 * @param userName 用户名
* @return 结果 * @return 结果
*/ */
@Override @Override
public String selectUserRoleGroup(String userName) public String selectUserRoleGroup(String userName) {
{
List<SysRole> list = roleMapper.selectRolesByUserName(userName); List<SysRole> list = roleMapper.selectRolesByUserName(userName);
StringBuffer idsStr = new StringBuffer(); StringBuffer idsStr = new StringBuffer();
for (SysRole role : list) for (SysRole role : list) {
{
idsStr.append(role.getRoleName()).append(","); idsStr.append(role.getRoleName()).append(",");
} }
if (StringUtils.isNotEmpty(idsStr.toString())) if (StringUtils.isNotEmpty(idsStr.toString())) {
{
return idsStr.substring(0, idsStr.length() - 1); return idsStr.substring(0, idsStr.length() - 1);
} }
return idsStr.toString(); return idsStr.toString();
@ -114,21 +119,18 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 查询用户所属岗位组 * 查询用户所属岗位组
* *
* @param userName 用户名 * @param userName 用户名
* @return 结果 * @return 结果
*/ */
@Override @Override
public String selectUserPostGroup(String userName) public String selectUserPostGroup(String userName) {
{
List<SysPost> list = postMapper.selectPostsByUserName(userName); List<SysPost> list = postMapper.selectPostsByUserName(userName);
StringBuffer idsStr = new StringBuffer(); StringBuffer idsStr = new StringBuffer();
for (SysPost post : list) for (SysPost post : list) {
{
idsStr.append(post.getPostName()).append(","); idsStr.append(post.getPostName()).append(",");
} }
if (StringUtils.isNotEmpty(idsStr.toString())) if (StringUtils.isNotEmpty(idsStr.toString())) {
{
return idsStr.substring(0, idsStr.length() - 1); return idsStr.substring(0, idsStr.length() - 1);
} }
return idsStr.toString(); return idsStr.toString();
@ -136,16 +138,14 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 校验用户名称是否唯一 * 校验用户名称是否唯一
* *
* @param userName 用户名称 * @param userName 用户名称
* @return 结果 * @return 结果
*/ */
@Override @Override
public String checkUserNameUnique(String userName) public String checkUserNameUnique(String userName) {
{
int count = userMapper.checkUserNameUnique(userName); int count = userMapper.checkUserNameUnique(userName);
if (count > 0) if (count > 0) {
{
return UserConstants.NOT_UNIQUE; return UserConstants.NOT_UNIQUE;
} }
return UserConstants.UNIQUE; return UserConstants.UNIQUE;
@ -158,12 +158,10 @@ public class SysUserServiceImpl implements ISysUserService
* @return * @return
*/ */
@Override @Override
public String checkPhoneUnique(SysUser user) public String checkPhoneUnique(SysUser user) {
{
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber()); 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.NOT_UNIQUE;
} }
return UserConstants.UNIQUE; return UserConstants.UNIQUE;
@ -176,12 +174,10 @@ public class SysUserServiceImpl implements ISysUserService
* @return * @return
*/ */
@Override @Override
public String checkEmailUnique(SysUser user) public String checkEmailUnique(SysUser user) {
{
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
SysUser info = userMapper.checkEmailUnique(user.getEmail()); 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.NOT_UNIQUE;
} }
return UserConstants.UNIQUE; return UserConstants.UNIQUE;
@ -189,27 +185,24 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 校验用户是否允许操作 * 校验用户是否允许操作
* *
* @param user 用户信息 * @param user 用户信息
*/ */
public void checkUserAllowed(SysUser user) public void checkUserAllowed(SysUser user) {
{ if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) {
if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin())
{
throw new CustomException("不允许操作超级管理员用户"); throw new CustomException("不允许操作超级管理员用户");
} }
} }
/** /**
* 新增保存用户信息 * 新增保存用户信息
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional @Transactional
public int insertUser(SysUser user) public int insertUser(SysUser user) {
{
// 新增用户信息 // 新增用户信息
int rows = userMapper.insertUser(user); int rows = userMapper.insertUser(user);
// 新增用户岗位关联 // 新增用户岗位关联
@ -221,14 +214,13 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 修改保存用户信息 * 修改保存用户信息
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional @Transactional
public int updateUser(SysUser user) public int updateUser(SysUser user) {
{
Long userId = user.getUserId(); Long userId = user.getUserId();
// 删除用户与角色关联 // 删除用户与角色关联
userRoleMapper.deleteUserRoleByUserId(userId); userRoleMapper.deleteUserRoleByUserId(userId);
@ -243,86 +235,77 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 修改用户状态 * 修改用户状态
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateUserStatus(SysUser user) public int updateUserStatus(SysUser user) {
{
return userMapper.updateUser(user); return userMapper.updateUser(user);
} }
/** /**
* 修改用户基本信息 * 修改用户基本信息
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateUserProfile(SysUser user) public int updateUserProfile(SysUser user) {
{
return userMapper.updateUser(user); return userMapper.updateUser(user);
} }
/** /**
* 修改用户头像 * 修改用户头像
* *
* @param userId 用户ID * @param userId 用户ID
* @param avatar 头像地址 * @param avatar 头像地址
* @return 结果 * @return 结果
*/ */
public boolean updateUserAvatar(String userName, String avatar) public boolean updateUserAvatar(String userName, String avatar) {
{
return userMapper.updateUserAvatar(userName, avatar) > 0; return userMapper.updateUserAvatar(userName, avatar) > 0;
} }
/** /**
* 重置用户密码 * 重置用户密码
* *
* @param user 用户信息 * @param user 用户信息
* @return 结果 * @return 结果
*/ */
@Override @Override
public int resetPwd(SysUser user) public int resetPwd(SysUser user) {
{
return userMapper.updateUser(user); return userMapper.updateUser(user);
} }
/** /**
* 重置用户密码 * 重置用户密码
* *
* @param userName 用户名 * @param userName 用户名
* @param password 密码 * @param password 密码
* @return 结果 * @return 结果
*/ */
@Override @Override
public int resetUserPwd(String userName, String password) public int resetUserPwd(String userName, String password) {
{
return userMapper.resetUserPwd(userName, password); return userMapper.resetUserPwd(userName, password);
} }
/** /**
* 新增用户角色信息 * 新增用户角色信息
* *
* @param user 用户对象 * @param user 用户对象
*/ */
public void insertUserRole(SysUser user) public void insertUserRole(SysUser user) {
{
Long[] roles = user.getRoleIds(); Long[] roles = user.getRoleIds();
if (StringUtils.isNotNull(roles)) if (StringUtils.isNotNull(roles)) {
{
// 新增用户与角色管理 // 新增用户与角色管理
List<SysUserRole> list = new ArrayList<SysUserRole>(); List<SysUserRole> list = new ArrayList<SysUserRole>();
for (Long roleId : roles) for (Long roleId : roles) {
{
SysUserRole ur = new SysUserRole(); SysUserRole ur = new SysUserRole();
ur.setUserId(user.getUserId()); ur.setUserId(user.getUserId());
ur.setRoleId(roleId); ur.setRoleId(roleId);
list.add(ur); list.add(ur);
} }
if (list.size() > 0) if (list.size() > 0) {
{
userRoleMapper.batchUserRole(list); userRoleMapper.batchUserRole(list);
} }
} }
@ -330,25 +313,21 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 新增用户岗位信息 * 新增用户岗位信息
* *
* @param user 用户对象 * @param user 用户对象
*/ */
public void insertUserPost(SysUser user) public void insertUserPost(SysUser user) {
{
Long[] posts = user.getPostIds(); Long[] posts = user.getPostIds();
if (StringUtils.isNotNull(posts)) if (StringUtils.isNotNull(posts)) {
{
// 新增用户与岗位管理 // 新增用户与岗位管理
List<SysUserPost> list = new ArrayList<SysUserPost>(); List<SysUserPost> list = new ArrayList<SysUserPost>();
for (Long postId : posts) for (Long postId : posts) {
{
SysUserPost up = new SysUserPost(); SysUserPost up = new SysUserPost();
up.setUserId(user.getUserId()); up.setUserId(user.getUserId());
up.setPostId(postId); up.setPostId(postId);
list.add(up); list.add(up);
} }
if (list.size() > 0) if (list.size() > 0) {
{
userPostMapper.batchUserPost(list); userPostMapper.batchUserPost(list);
} }
} }
@ -356,13 +335,12 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 通过用户ID删除用户 * 通过用户ID删除用户
* *
* @param userId 用户ID * @param userId 用户ID
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteUserById(Long userId) public int deleteUserById(Long userId) {
{
// 删除用户与角色关联 // 删除用户与角色关联
userRoleMapper.deleteUserRoleByUserId(userId); userRoleMapper.deleteUserRoleByUserId(userId);
// 删除用户与岗位表 // 删除用户与岗位表
@ -372,14 +350,12 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 批量删除用户信息 * 批量删除用户信息
* *
* @param userIds 需要删除的用户ID * @param userIds 需要删除的用户ID
* @return 结果 * @return 结果
*/ */
public int deleteUserByIds(Long[] userIds) public int deleteUserByIds(Long[] userIds) {
{ for (Long userId : userIds) {
for (Long userId : userIds)
{
checkUserAllowed(new SysUser(userId)); checkUserAllowed(new SysUser(userId));
} }
return userMapper.deleteUserByIds(userIds); return userMapper.deleteUserByIds(userIds);
@ -387,17 +363,15 @@ public class SysUserServiceImpl implements ISysUserService
/** /**
* 导入用户数据 * 导入用户数据
* *
* @param userList 用户数据列表 * @param userList 用户数据列表
* @param isUpdateSupport 是否更新支持如果已存在则进行更新数据 * @param isUpdateSupport 是否更新支持如果已存在则进行更新数据
* @param operName 操作用户 * @param operName 操作用户
* @return 结果 * @return 结果
*/ */
@Override @Override
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName) public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName) {
{ if (StringUtils.isNull(userList) || userList.size() == 0) {
if (StringUtils.isNull(userList) || userList.size() == 0)
{
throw new CustomException("导入用户数据不能为空!"); throw new CustomException("导入用户数据不能为空!");
} }
int successNum = 0; int successNum = 0;
@ -405,48 +379,36 @@ public class SysUserServiceImpl implements ISysUserService
StringBuilder successMsg = new StringBuilder(); StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder(); StringBuilder failureMsg = new StringBuilder();
String password = configService.selectConfigByKey("sys.user.initPassword"); String password = configService.selectConfigByKey("sys.user.initPassword");
for (SysUser user : userList) for (SysUser user : userList) {
{ try {
try
{
// 验证是否存在这个用户 // 验证是否存在这个用户
SysUser u = userMapper.selectUserByUserName(user.getUserName()); SysUser u = userMapper.selectUserByUserName(user.getUserName());
if (StringUtils.isNull(u)) if (StringUtils.isNull(u)) {
{
user.setPassword(SecurityUtils.encryptPassword(password)); user.setPassword(SecurityUtils.encryptPassword(password));
user.setCreateBy(operName); user.setCreateBy(operName);
this.insertUser(user); this.insertUser(user);
successNum++; successNum++;
successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 导入成功"); successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 导入成功");
} } else if (isUpdateSupport) {
else if (isUpdateSupport)
{
user.setUpdateBy(operName); user.setUpdateBy(operName);
this.updateUser(user); this.updateUser(user);
successNum++; successNum++;
successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 更新成功"); successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 更新成功");
} } else {
else
{
failureNum++; failureNum++;
failureMsg.append("<br/>" + failureNum + "、账号 " + user.getUserName() + " 已存在"); failureMsg.append("<br/>" + failureNum + "、账号 " + user.getUserName() + " 已存在");
} }
} } catch (Exception e) {
catch (Exception e)
{
failureNum++; failureNum++;
String msg = "<br/>" + failureNum + "、账号 " + user.getUserName() + " 导入失败:"; String msg = "<br/>" + failureNum + "、账号 " + user.getUserName() + " 导入失败:";
failureMsg.append(msg + e.getMessage()); failureMsg.append(msg + e.getMessage());
log.error(msg, e); log.error(msg, e);
} }
} }
if (failureNum > 0) if (failureNum > 0) {
{
failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
throw new CustomException(failureMsg.toString()); throw new CustomException(failureMsg.toString());
} } else {
else
{
successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
} }
return successMsg.toString(); return successMsg.toString();

View File

@ -14,14 +14,21 @@
<result property="bjrych" column="bjrych"/> <result property="bjrych" column="bjrych"/>
<result property="jbny" column="jbny"/> <result property="jbny" column="jbny"/>
<result property="zbjs" column="zbjs"/> <result property="zbjs" column="zbjs"/>
<result property="zbjsxm" column="zbjsxm"/>
<result property="pbjs" column="pbjs"/> <result property="pbjs" column="pbjs"/>
<result property="pbjsxm" column="pbjsxm"/>
<result property="zljs" column="zljs"/> <result property="zljs" column="zljs"/>
<result property="zljsxm" column="zljsxm"/>
<result property="isdel" column="isdel"/> <result property="isdel" column="isdel"/>
<result property="createtime" column="createtime"/> <result property="createtime" column="createtime"/>
</resultMap> </resultMap>
<sql id="selectByClassVo"> <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> </sql>
<select id="selectByClassList" parameterType="ByClass" resultMap="ByClassResult"> <select id="selectByClassList" parameterType="ByClass" resultMap="ByClassResult">
@ -37,6 +44,9 @@
<if test="zbjs != null ">and zbjs = #{zbjs}</if> <if test="zbjs != null ">and zbjs = #{zbjs}</if>
<if test="pbjs != null ">and pbjs = #{pbjs}</if> <if test="pbjs != null ">and pbjs = #{pbjs}</if>
<if test="zljs != null ">and zljs = #{zljs}</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="isdel != null and isdel != ''">and isdel = #{isdel}</if>
<if test="createtime != null ">and createtime = #{createtime}</if> <if test="createtime != null ">and createtime = #{createtime}</if>
<!-- 数据范围过滤 --> <!-- 数据范围过滤 -->

View File

@ -90,6 +90,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectUserVo"/> <include refid="selectUserVo"/>
where u.user_id = #{userId} where u.user_id = #{userId}
</select> </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 id="checkUserNameUnique" parameterType="String" resultType="int">
select count(1) from sys_user where user_name = #{userName} select count(1) from sys_user where user_name = #{userName}