<%@page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="/jsp/common.jsp" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<meta charset="utf-8">
<title>用户管理</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="<%=basePath %>js/layui-v2.5.5/layui/css/layui.css" charset="utf-8">
</head>
<body>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-form layui-card-header">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">工号</label>
<div class="layui-input-inline">
<input type="text" name="_workId" placeholder="请输入工号" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">用户名</label>
<div class="layui-input-inline">
<input type="text" name="_name" placeholder="请输入用户名" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="user-tbl-search"><i class="layui-icon layui-icon-search"></i> 查 询</button>
</div>
</div>
</div>
<div class="layui-card-body">
<!-- 系统模块原始容器: -->
<table class="layui-hide" id="user-tbl" lay-filter="user-tbl"></table>
</div>
</div>
</div>
<div id="org-table" style="display:none;padding:10px 10px;">
<table class="layui-hide" id="org-tbl" lay-filter="org-tbl"></table>
</div>
<!-- 添加用户弹出层 -->
<div id="add-user-layer" style="display: none; padding: 20px">
<form id="add-user-form" class="layui-form layui-form-pane" >
<div class="layui-form-item" style="margin-top:5px;">
<label class="layui-form-label">姓名</label>
<div class="layui-input-inline">
<input type="text" name="_name" required lay-verify="required" placeholder="请输入姓名" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">所属组织</label>
<div class="layui-input-inline">
<input class="layui-input" type="hidden" id="_orgId" name="_orgId">
<input type="text" id="_orgName" name="_orgName" readonly="readonly" onclick="selectOrg();" autocomplete="off" class="layui-input" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">工号</label>
<div class="layui-input-inline">
<input type="text" name="_workId" required lay-verify="required" placeholder="请输入工号" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">邮箱</label>
<div class="layui-input-inline">
<input type="text" name="_email" required lay-verify="required" placeholder="请输入邮箱" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<button class="layui-btn" lay-submit lay-filter="add-user-form-submit">提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
</div>
<!-- 更新弹出层 -->
<div id="update-user-layer" style="display: none; padding: 20px">
<form id="update-user-form" class="layui-form layui-form-pane" lay-filter="update-user-form">
<div class="layui-form-item" style="display: none;">
<label class="layui-form-label">_id</label>
<div class="layui-input-block">
<input type="text" name="_id" class="layui-input" readonly>
</div>
</div>
<div class="layui-form-item" style="margin-top:5px;">
<label class="layui-form-label">姓名</label>
<div class="layui-input-inline">
<input type="text" name="_name" required lay-verify="required" placeholder="请输入姓名" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">所属组织</label>
<div class="layui-input-inline">
<input class="layui-input" type="hidden" name="_orgId">
<input type="text" name="_orgName" readonly="readonly" autocomplete="off" class="layui-input" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">工号</label>
<div class="layui-input-inline">
<input type="text" name="_workId" required lay-verify="required" placeholder="请输入工号" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">邮箱</label>
<div class="layui-input-inline">
<input type="text" name="_email" required lay-verify="required" placeholder="请输入邮箱" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<button class="layui-btn" lay-submit lay-filter="update-module-form-submit">提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
</div>
<script type="text/javascript" src="<%=basePath %>js/layui-v2.5.5/layui/layui.js" charset="utf-8"></script>
<script type="text/html" id="user-tbl-toolbar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="refresh">刷新</button>
<button class="layui-btn layui-btn-sm" lay-event="add-user-btn" >添加</button>
</div>
</script>
<script type="text/html" id="operation">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="confirm">确认</button>
</div>
</script>
<script type="text/html" id="user-rowtbl-toolbar">
<a class="layui-btn layui-btn-xs" lay-event="updateUser">编辑</a>
<a class="layui-btn layui-btn-xs" lay-event="resetPwd">初始化密码</a>
<a class="layui-btn layui-btn-xs" lay-event="setRole">设置角色</a>
{{# if(d._type){ }}
<a class="layui-btn layui-btn-xs" lay-event="disableUser">禁用账号</a>
{{# } else{ }}
<a class="layui-btn layui-btn-xs" lay-event="disableUser">启用账号</a>
{{# } }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="deleteUser">删除</a>
</script>
<script>
var basePath = "<%=basePath %>";
</script>
<script type="text/javascript"src="<%=basePath %>test.js?v=202001022106"></script>
</body>
</html>
VisualSVN Server
sensor / sensor / WebContent / test.jsRevision: HEAD
Download
layui.use([ 'jquery', 'table', 'layer', 'form' ], function() {
// 加载layui模块,使用其推荐的【预先加载】方式,详见官网【模块规范】一节
var $ = layui.$;
var table = layui.table;
var layer = layui.layer;
var form = layui.form;
var table = layui.table;
table.render({
elem : '#user-tbl',
url : 'user/toList.do',
toolbar : '#user-tbl-toolbar', //开启头部工具栏,并为其绑定左侧模板
defaultToolbar : [ 'filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义,去除该参数即可
title : '提示',
layEvent : 'LAYTABLE_TIPS',
icon : 'layui-icon-tips'
} ],
title : '用户数据表',
cols : [ [ {
field : '_name',
title : '用户名'
}, {
field : '_workId',
title : '工号',
sort : true
}, {
field : '_email',
title : '邮箱'
}, {
field : '_lastlogintime',
title : '最后登录时间'
}, {
field : '_logintimes',
title : '登录次数',
sort : true
}, {
fixed : 'right',
title : '操作',
width : 340,
toolbar : '#user-rowtbl-toolbar'
} ] ],
page : true
});
//查询监听
form.on('submit(user-tbl-search)', function(data) {
table.reload('user-tbl', {
where : data.field
})
});
table.render({
elem : '#org-tbl',
method : 'post',
url : 'user/getTableOrg.do',
cols : [ [ {
field : '_orgId',
title : '序号'
}, {
field : '_name',
title : '组织名',
width : 150
}, {
field : 'right',
title : '操作',
toolbar : '#operation',
width : 100
} ] ],
// 表格容器id,用于表格重载
id : 'org-tbl',
});
//org-tbl 行监听器
table.on('tool(org-tbl)', function(obj) { //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
var data = obj.data; //获得当前行数据
console.log(data)
var event = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
if (event === 'confirm') {
$('#_orgId').val(data._orgId);
$('#_orgName').val(data._name);
layer.close(OrgLayer);
}
})
table.on('toolbar(user-tbl)', function(obj) {
// 获取当前行数据和lay-event的值
var data = obj.data;
var event = obj.event;
if (event == "add-user-btn") {
// 每次显示前重置表单
$('#add-user-form')[0].reset();
layer.open({
type : 1,
title : '添加用户',
skin : 'layui-layer-molv',
area : 'auto',
content : $('#add-user-layer')
});
}
})
// 添加用户表单提交
form.on('submit(add-user-form-submit)', function(data) {
$.ajax({
url : basePath + 'user/edit.do',
type : "POST",
data : data.field,
dataType : 'json',
success : function(result) {
if (result.success) {
layer.closeAll();
layer.msg('添加成功');
table.reload('user-tbl');
} else {
layer.msg(result.msg);
}
},
error : function() {
console.log("ajax error");
}
});
// 阻止表单跳转
return false;
});
// 监听行工具栏事件:删除用户与更新用户
table.on('tool(user-tbl)', function(obj) {
// 获取当前行数据和lay-event的值
var data = obj.data;
var event = obj.event;
switch (event) {
case 'deleteUser':
layer.confirm('确定删除该数据吗?', function(index) {
$.ajax({
url : basePath + "user/delete.do?_id=" + data._id,
type : 'GET',
dataType : 'json',
success : function(result) {
if (result.success) {
layer.msg("操作成功");
table.reload('user-tbl')
} else {
layer.msg(result.msg);
}
},
error : function() {
layer.msg("ajax error");
}
})
})
break;
case 'updateUser': //更新用户
// 每次显示更新用户的表单前自动为表单填写该行的数据
form.val('update-user-form', {
"_id" : data._id,
"_name" : data._name,
"_orgId" : data._orgId,
"_orgName" : data._orgName,
"_workId" : data._workId,
"_email" : data._email
});
// 显示更新用户表单的弹出层
layer.open({
type : 1,
title : '更新用户',
skin : 'layui-layer-molv',
area : [ '500px' ],
content : $('#update-user-layer')
});
// 更新用户表单提交
form.on('submit(update-module-form-submit)', function(data) {
// ajax方式更新用户
$.ajax({
url : basePath + "user/edit.do",
type : "GET",
data : data.field,
// contentType: 'application/json',
dataType : 'json',
success : function(result) {
if (result.success) {
layer.closeAll();
layer.msg('更新成功');
table.reload('user-tbl');
} else {
layer.msg(result.msg);
}
},
error : function() {
console.log("ajax error");
}
});
// 阻止表单跳转
return false;
});
break;
case 'disableUser'://禁用/启用账号
layer.confirm('确定禁用/启用该账号吗?', function(index) {
$.ajax({
url : basePath + "user/disabled.do?_id=" + data._id,
type : 'GET',
dataType : 'json',
success : function(result) {
if (result.success) {
layer.msg("操作成功");
table.reload('user-tbl')
} else {
layer.msg(result.msg);
}
},
error : function() {
layer.msg("ajax error");
}
})
})
break;
case 'resetPwd': //密码初始化
layer.confirm('确定初始化该账号密码吗?', function(index) {
$.ajax({
url : basePath + "user/reset.do?_id=" + data._id,
type : 'GET',
dataType : 'json',
success : function(result) {
if (result.success) {
layer.msg("操作成功");
table.reload('user-tbl')
} else {
layer.msg(result.msg);
}
},
error : function() {
layer.msg("ajax error");
}
})
})
break;
default:
break;
}
});
});
var OrgLayer;
function selectOrg() {
OrgLayer = layer.open({
type : 1,
title : '选择组织',
skin: 'layui-layer-molv',
area : 'auto',
content : $('#org-table')
});
}
package auto.system.module.controller;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import auto.system.common.entity.PageData;
import auto.system.module.server.OrganizationService;
import auto.system.module.server.UserService;
import auto.system.utils.ActionResult;
import auto.system.utils.TextValue;
@Controller
@RequestMapping(value="/user")
public class _TUserController extends BaseController {
@Resource
private UserService userService;
@Resource
private OrganizationService orgService;
//主页
@RequestMapping(value="/index.do")
public String index(HttpServletRequest request){
return "/jsp/system/user/index.jsp";
}
@RequestMapping(value="/getTableOrg.do")
@ResponseBody
public PageData getTableOrg(HttpServletRequest request){
return orgService.getTableOrg();
}
@RequestMapping(value="/edit.do")
@ResponseBody
public ActionResult edit(HttpServletRequest request,HttpServletResponse response) throws Exception{
return userService.edit(request);
}
@RequestMapping(value="/getList.do")
@ResponseBody
public List<?> getList(HttpServletRequest request){
return userService.getList(request);
}
@RequestMapping(value="/toList.do")
@ResponseBody
public PageData toList(HttpServletRequest request,Integer limit,Integer page) throws Exception {
return userService.toList(request,limit,page);
}
@RequestMapping(value="/getCombobox.do")
@ResponseBody
public List<TextValue> getCombobox(){
return userService.getCombobox();
}
//初始密码
@RequestMapping(value="/reset.do")
@ResponseBody
public ActionResult reset(HttpServletRequest request,String _id){
return userService.reset(_id);
}
//禁用账号
@RequestMapping(value="/disabled.do")
@ResponseBody
public ActionResult disabled(HttpServletRequest request,String _id){
return userService.disabled(_id);
}
@RequestMapping(value="/delete.do")
@ResponseBody
public ActionResult delete(HttpServletRequest request,String _id){
return userService.delete(_id);
}
@RequestMapping(value="/userSetRoleUI.do")
public String userSetRoleUI(HttpServletRequest request){
userService.userSetRoleUI(request);
return "/jsp/system/user/user_role.jsp";
}
@RequestMapping(value="/userSetRole.do")
public String userSetRole(HttpServletRequest request){
userService.userSetRole(request);
return "/jsp/system/user/index.jsp";
}
@RequestMapping(value="/setpass.do")
@ResponseBody
public Boolean setpass(HttpServletRequest request,String oldPassword,String newPassword){
return userService.setpass(request,oldPassword,newPassword).getSuccess();
}
}
package auto.system.module.server;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import auto.system.common.entity.PageData;
import auto.system.module.core.AccessTree;
import auto.system.module.core.CommonFunction;
import auto.system.module.core.DTOBuilder;
import auto.system.module.core.SessionUtils;
import auto.system.module.core.StringConfig;
import auto.system.module.server.dao.SystemBaseDAO;
import auto.system.module.system.model._Organization;
import auto.system.module.system.model._Role;
import auto.system.module.system.model._TUser;
import auto.system.module.system.model._UserRole;
import auto.system.third.util.UUIDUtils;
import auto.system.utils.ActionResult;
import auto.system.utils.TextValue;
import auto.system.utils.TimeUtils;
import db.utils.DBUtils;
@Service
public class UserService extends BaseService {
@Resource
private SystemBaseDAO systemBaseDAO;
@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
public ActionResult edit(HttpServletRequest request) throws Exception{
ActionResult result = new ActionResult();
String _id = res.getParameter(request, "_id", "");
_TUser obj = null;
try {
if("".equals(_id)){
//添加
obj = (_TUser) DTOBuilder.getDTO(request, _TUser.class);
obj.set_id(UUIDUtils.getUUID());
obj.set_is_hidden(false);
obj.set_type(true);
obj.set_inputdate(TimeUtils.getYearMonthDayHourMinuteStr());
obj.set_inputmen(SessionUtils.getUser(request).get_name());
obj.set_password(CommonFunction.fu_GenPasswordWith(res.getParameter(request, "_workId", ""), StringConfig.DEFAULTPWD));
systemBaseDAO.save(obj);
result.setSuccess(true);
}else{
//修改
obj = (_TUser) systemBaseDAO.findById(_TUser.class, _id);
DTOBuilder.updateDTO(request, obj);
obj.set_inputdate(TimeUtils.getYearMonthDayHourMinuteStr());
obj.set_inputmen(SessionUtils.getUser(request).get_name());
systemBaseDAO.attachDirty(obj, null);
result.setSuccess(true);
}
} catch (Exception e) {
result.setSuccess(false);
result.setMsg(e.getMessage());
}
return result;
}
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
public List<?> getList(HttpServletRequest request){
String search = res.getParameter(request, "search", "");
String hql = "from _TUser where _type = 1 and _is_hidden = 0 order by _inputdate desc";
if(!"".equals(search)){
hql = "from _TUser where _name like '%"+ search +"%' or _workId like '%"+ search +"%' order by _name,_inputdate desc";
}
return (List<?>) systemBaseDAO.findAll(hql);
}
@SuppressWarnings("unchecked")
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
public PageData toList(HttpServletRequest request, Integer limit,Integer page) throws Exception {
String _name = res.getParameter(request, "_name", "");
String _workId = res.getParameter(request, "_workId", "");
StringBuffer hql = new StringBuffer();
StringBuffer sql = new StringBuffer();
hql.append("from _TUser where 1 = 1 ");
sql.append("select count(1) from _TUser where 1 = 1 ");
if(StringUtils.isEmpty(_name) && StringUtils.isEmpty(_workId)){
hql.append("and _type = 1 and _is_hidden = 0 ");
sql.append("and _type = 1 and _is_hidden = 0 ");
}else{
if(StringUtils.isNotEmpty(_name)){
hql.append(" and _name like '%"+ _name +"%%' ");
sql.append(" and _name like '%"+ _name +"%' ");
}
if(StringUtils.isNotEmpty(_workId)){
hql.append(" and _workId like '%"+ _workId +"%%' ");
sql.append(" and _workId like '%"+ _workId +"%' ");
}
}
hql.append(" order by _inputdate desc");
List<_TUser> list = (List<_TUser>) systemBaseDAO.findAll(hql.toString(), limit, page);// 每页显示条数
for(_TUser user:list){
if(user.get_orgId() !=null){
_Organization organization=(_Organization) systemBaseDAO.findById(_Organization.class, user.get_orgId());
user.set_orgName(organization.get_name());
}
}
return PageData.successData(list,DBUtils.getTotal(sql.toString()));
}
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
public List<?> getList(){
String hql = "from _TUser order by _inputdate desc";
return (List<?>) systemBaseDAO.findAll(hql);
}
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
public _TUser getObject(String id){
_TUser user = (_TUser) systemBaseDAO.findById(_TUser.class, id);
_Organization org = (_Organization) systemBaseDAO.findById(_Organization.class, user.get_orgId());
if(org != null)
user.setOrgName(org.get_name());
return user;
}
@SuppressWarnings("unchecked")
@Transactional(propagation = Propagation.REQUIRED, readOnly = true)
public List<TextValue> getCombobox(){
List<TextValue> list = new ArrayList<TextValue>();
List<_TUser> _list = (List<_TUser>) systemBaseDAO.findAll("from _TUser order by _inputdate desc");
for (_TUser m : _list) {
TextValue tv = new TextValue(m.get_name(),m.get_orgId());
list.add(tv);
}
return list;
}
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
public ActionResult reset(String _id){
ActionResult result = new ActionResult();
try{
_TUser record = (_TUser) systemBaseDAO.findById(_TUser.class, _id);
if(record != null){
record.set_password(CommonFunction.fu_GenPasswordWith(record.get_workId(), StringConfig.DEFAULTPWD));
systemBaseDAO.attachDirty(record,null);
result.setSuccess(true);
}
}catch(Exception e){
result.setSuccess(false);
result.setMsg(e.getMessage());
e.printStackTrace();
}
return result;
}
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
public ActionResult disabled(String _id){
ActionResult result = new ActionResult();
try{
_TUser record = (_TUser) systemBaseDAO.findById(_TUser.class, _id);
if(record != null){
record.set_type(!record.get_type());
systemBaseDAO.attachDirty(record,null);
result.setSuccess(true);
}
}catch(Exception e){
result.setSuccess(false);
result.setMsg(e.getMessage());
e.printStackTrace();
}
return result;
}
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
public ActionResult delete(String _id){
ActionResult result = new ActionResult();
try{
_TUser record = (_TUser) systemBaseDAO.findById(_TUser.class, _id);
int total = systemBaseDAO.getTotal("from _UserRole where _user_id ='" + record.get_id()+"'");
if(record != null && total == 0){
result.setSuccess(true);
systemBaseDAO.delete(record);
}else{
result.setSuccess(false);
result.setMsg("请清空用户角色信息后再删除用户信息。");
}
}catch(Exception e){
result.setSuccess(false);
result.setMsg(e.getMessage());
e.printStackTrace();
}
return result;
}
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
public ActionResult toDelete(String _id){
ActionResult result = new ActionResult();
try{
_TUser record = (_TUser) systemBaseDAO.findById(_TUser.class, _id);
int total = systemBaseDAO.getTotal("from _UserRole where _user_id = " + record.get_id());
if(record != null && total == 0){
result.setSuccess(true);
systemBaseDAO.delete(record);
}else{
result.setSuccess(false);
result.setMsg("请清空用户角色信息后再删除用户信息。");
}
}catch(Exception e){
result.setSuccess(false);
result.setMsg(e.getMessage());
e.printStackTrace();
}
return result;
}
@SuppressWarnings("unchecked")
@Transactional(propagation = Propagation.REQUIRED,readOnly = true)
public void userSetRoleUI(HttpServletRequest request) {
String _user_id = res.getParameter(request, "_id", "");
List<AccessTree> list = new ArrayList<AccessTree>();
String hql = "from _Role r order by r._name";
List<_Role> roleList = (List<_Role>) systemBaseDAO.findAll(hql);
for (int i = 0; i < roleList.size(); i++) {
String pdHql = "from _UserRole r where r._user_id = '" + _user_id + "' and r._role_id = '" + roleList.get(i).get_id() + "'";
int total = systemBaseDAO.getTotal(pdHql);
AccessTree at = new AccessTree();
at.set_id(roleList.get(i).get_id());
at.set_name(roleList.get(i).get_name());
if (total == 1) {
at.set_flag(true);
} else {
at.set_flag(false);
}
list.add(at);
}
request.setAttribute("_user_id", _user_id);
request.setAttribute("list", list);
}
@SuppressWarnings("unchecked")
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
public void userSetRole(HttpServletRequest request){
String _user_id = res.getParameter(request, "_user_id","");
String hql = "from _UserRole r where r._user_id = '"+ _user_id +"'";
List<_UserRole> list = (List<_UserRole>) systemBaseDAO.findAll(hql);
String[] roleIDs = request.getParameterValues("id");
List<String> addList = new ArrayList<String>();
List<String> delList = new ArrayList<String>();
//增加权限筛选
if(roleIDs == null){
if(list != null && list.size()>0){
for(int i = 0;i < list.size();i++){
systemBaseDAO.delete(list.get(i));
}
}
}else{
if(roleIDs.length > 0){
for(int i = 0;i < roleIDs.length;i++){
boolean flag = true;
for(int j = 0;j < list.size();j++){
if(roleIDs[i].equals(list.get(j).get_role_id()+"")){
flag = false;
break;
}
}
if(flag){
addList.add(roleIDs[i]);
}
}
//删除权限筛选
if(list.size()>0){
for(int i = 0;i < list.size();i++){
boolean flag = true;//默认删除
for(int j = 0;j < roleIDs.length;j++){
if((list.get(i).get_role_id()+"").equals(roleIDs[j])){
flag = false;
break;
}
}
if(flag){
delList.add(list.get(i).get_role_id()+"");
}
}
}
//执行增加
if(addList.size()>0){
for(int j = 0;j < addList.size();j++){
_UserRole r = new _UserRole();
r.set_user_id(_user_id);
r.set_role_id(addList.get(j));
systemBaseDAO.save(r);
}
}
//执行删除
if(delList.size()>0){
for(int j = 0;j < delList.size();j++){
String del_hql = "from _UserRole r where r._user_id = '"+ _user_id +"' and r._role_id = '"+ delList.get(j) +"'";
_UserRole r = (_UserRole) systemBaseDAO.findObjectByHql(del_hql);
systemBaseDAO.delete(r);
}
}
}
}
}
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
public ActionResult setpass(HttpServletRequest request,String oldPassword,String newPassword){
ActionResult result = new ActionResult();
_TUser user = SessionUtils.getUser(request);
result.setSuccess(true);
if((CommonFunction.fu_GenPasswordWith(user.get_workId(), oldPassword)).equals(user.get_password())){
user.set_password(CommonFunction.fu_GenPasswordWith(user.get_workId(), newPassword));
systemBaseDAO.attachDirty(user, null);
}else{
result.setSuccess(false);
}
return result;
}
}