Commit ef83fe23 by liuyongshuai

修改角色的层级问题;修改批量授权的bug;解决山西的连接字符串过长的问题

parent 7857006e
...@@ -307,6 +307,7 @@ public class SysUserController { ...@@ -307,6 +307,7 @@ public class SysUserController {
for (int i = 0;i<idList.length;i++){ for (int i = 0;i<idList.length;i++){
SysUser thisUser = new SysUser(); SysUser thisUser = new SysUser();
thisUser.setId(idList[i]); thisUser.setId(idList[i]);
thisUser.setRoleId(user.getRoleId()); thisUser.setRoleId(user.getRoleId());
userService.batchUpdate(thisUser); userService.batchUpdate(thisUser);
} }
......
...@@ -502,7 +502,7 @@ ...@@ -502,7 +502,7 @@
from SYS_USER t from SYS_USER t
left join left join
(select u.user_id , (select u.user_id ,
listagg( roleName, ',' ) within group ( order by u.user_id ) as roleName xmlagg(xmlparse(content roleName||',' wellformed) order by u.user_id).getclobval() as roleName
from sys_role r join sys_user_role u on r.id=u.role_id where u.scbz='0' and r.scbz='0' GROUP BY u.user_id) tt from sys_role r join sys_user_role u on r.id=u.role_id where u.scbz='0' and r.scbz='0' GROUP BY u.user_id) tt
on t.id=tt.user_id on t.id=tt.user_id
where scbz='0' where scbz='0'
...@@ -548,7 +548,7 @@ ...@@ -548,7 +548,7 @@
from SYS_USER t from SYS_USER t
left join left join
(select u.user_id , (select u.user_id ,
listagg( roleName, ',' ) within group ( order by u.user_id ) as roleName xmlagg(xmlparse(content roleName||',' wellformed) order by u.user_id).getclobval() as roleName
from sys_role r join sys_user_role u on r.id=u.role_id where u.scbz='0' and r.scbz='0' GROUP BY u.user_id) tt from sys_role r join sys_user_role u on r.id=u.role_id where u.scbz='0' and r.scbz='0' GROUP BY u.user_id) tt
on t.id=tt.user_id on t.id=tt.user_id
where scbz='0' where scbz='0'
......
...@@ -242,20 +242,32 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -242,20 +242,32 @@ public class SysUserServiceImpl implements SysUserService {
deleteUserZpByUserId(user.getId()); deleteUserZpByUserId(user.getId());
addUserZp(user); addUserZp(user);
} }
authorize(user, dlUser, userDao); authorize(user, true,dlUser, userDao);
return user; return user;
} }
//授权操作 //授权操作
public static void authorize(SysUser user, SysUser dlUser, SysUserDao userDao) { public static void authorize(SysUser user, Boolean flag,SysUser dlUser, SysUserDao userDao) {
List<String> oldRoleIdList = null;
if(flag){
//3.删除原有的角色和用户的绑定关系 //3.删除原有的角色和用户的绑定关系
int b = userDao.deleteSysUserRoleByUserId(user.getId()); int b = userDao.deleteSysUserRoleByUserId(user.getId());
}else {
oldRoleIdList = userDao.selectSysRoleIdByUserId(user.getId());
}
//4.增加新的用户和角色的关系 //4.增加新的用户和角色的关系
String roleIds = user.getRoleId(); String roleIds = user.getRoleId();
if(roleIds!=null&&!"".equals(roleIds)){ if(roleIds!=null&&!"".equals(roleIds)){
String[] roleList = roleIds.split(","); String[] roleList = roleIds.split(",");
List<SysUserRole> userRoles = new ArrayList<SysUserRole>(); List<SysUserRole> userRoles = new ArrayList<SysUserRole>();
for (String role:roleList){ a:for (String role:roleList){
if(oldRoleIdList!=null&&oldRoleIdList.size()>0){
b:for (String oldId:oldRoleIdList) {
if(oldId.equals(role)){
continue a;
}
}
}
SysUserRole sysUserRole = new SysUserRole(); SysUserRole sysUserRole = new SysUserRole();
sysUserRole.setId(SequenceUtil.getNextXxzjbh()); sysUserRole.setId(SequenceUtil.getNextXxzjbh());
sysUserRole.setUserId(user.getId()); sysUserRole.setUserId(user.getId());
...@@ -279,7 +291,13 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -279,7 +291,13 @@ public class SysUserServiceImpl implements SysUserService {
@Override @Override
public SysUser batchUpdate(SysUser user) { public SysUser batchUpdate(SysUser user) {
SysUser dlUser = TokenUtil.getUser(); SysUser dlUser = TokenUtil.getUser();
authorize(user, dlUser, userDao); /**
* 批量操作存在一个问题,用户原有的角色会被删除,然后再增加新的角色,
* 所以在此需要修改批量授权逻辑,比对每个用户原有的角色,已有,则跳过,
* 没有,则加入批量插入的list
*/
authorize(user, false,dlUser, userDao);
return user; return user;
} }
......
...@@ -139,7 +139,7 @@ ...@@ -139,7 +139,7 @@
$("#isParentRole").removeClass("btx"); $("#isParentRole").removeClass("btx");
$("#permissionName").removeAttr('lay-verify'); $("#permissionName").removeAttr('lay-verify');
$("#pidName").removeAttr('lay-verify'); $("#pidName").removeAttr('lay-verify');
$("#hasPermission").hide(); //$("#hasPermission").hide();
$("#isParentRole").hide(); $("#isParentRole").hide();
} }
if(data.value=="02"){ if(data.value=="02"){
......
...@@ -143,7 +143,7 @@ ...@@ -143,7 +143,7 @@
$("#isParentRole").removeClass("btx"); $("#isParentRole").removeClass("btx");
$("#permissionName").removeAttr('lay-verify'); $("#permissionName").removeAttr('lay-verify');
$("#pidName").removeAttr('lay-verify'); $("#pidName").removeAttr('lay-verify');
$("#hasPermission").hide(); //$("#hasPermission").hide();
$("#isParentRole").hide(); $("#isParentRole").hide();
$("#permissionName").val(""); $("#permissionName").val("");
$("#permissionId").val(""); $("#permissionId").val("");
......
...@@ -199,10 +199,8 @@ ...@@ -199,10 +199,8 @@
<div class="select-box3 left"> <div class="select-box3 left">
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label" style="position: absolute;left: 50%;margin-left: -71px;">用户角色</label> <label class="layui-form-label" style="position: absolute;left: 50%;margin-left: -71px;">用户角色</label>
<ul class="list-juese" id="batchRoleName" name="batchRoleName">
<li>
<input type="text" id="batchRoleId" Name="batchRoleId" style="display: none;"> <input type="text" id="batchRoleId" Name="batchRoleId" style="display: none;">
</li> <ul class="list-juese" id="batchRoleName" name="batchRoleName">
</ul> </ul>
<button class="layui-btn layui-btn-normal" style="position: absolute; left: 50%;bottom: 5px;margin-left: -26px;" onclick="save();">保存</button> <button class="layui-btn layui-btn-normal" style="position: absolute; left: 50%;bottom: 5px;margin-left: -26px;" onclick="save();">保存</button>
</div> </div>
...@@ -276,9 +274,6 @@ ...@@ -276,9 +274,6 @@
for (var i = 0; i < checkboxs.length; i++) { for (var i = 0; i < checkboxs.length; i++) {
if ($(checkboxs[i]).hasClass('layui-form-checked')) { if ($(checkboxs[i]).hasClass('layui-form-checked')) {
var idStr = ""; var idStr = "";
var that = $(checkboxs[i]).parents("tr").clone(); var that = $(checkboxs[i]).parents("tr").clone();
if (!that.find(".layui-form-checkbox").hasClass("UserMoved")) { if (!that.find(".layui-form-checkbox").hasClass("UserMoved")) {
that.find(".layui-form-checkbox").addClass("UserMoved"); that.find(".layui-form-checkbox").addClass("UserMoved");
......
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
<div class="layui-form-item btx"> <div class="layui-form-item btx">
<label class="layui-form-label">登录密码</label> <label class="layui-form-label">登录密码</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="password" name="password" lay-verify="required" placeholder="默认密码000000" value="${user.password}" <input type="password" name="password" lay-verify="required" placeholder="" value="${user.password}"
class="layui-input"> class="layui-input">
</div> </div>
</div> </div>
...@@ -93,13 +93,13 @@ ...@@ -93,13 +93,13 @@
class="layui-input"> class="layui-input">
</div> </div>
</div>--%> </div>--%>
<%--<div class="layui-form-item btx"> <div class="layui-form-item btx">
<label class="layui-form-label">联系电话</label> <label class="layui-form-label">联系电话</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="telephone" lay-verify="phone" placeholder="请输入联系电话" <input type="text" name="telephone" lay-verify="phone" placeholder="请输入联系电话"
value="${user.telephone}" class="layui-input"> value="${user.telephone}" class="layui-input">
</div> </div>
</div>--%> </div>
<div class="layui-form-item btx"> <div class="layui-form-item btx">
<label class="layui-form-label">用户警号</label> <label class="layui-form-label">用户警号</label>
<div class="layui-input-block"> <div class="layui-input-block">
......
...@@ -41,18 +41,23 @@ function setTree(data,treeId,type,kid,vid,glcs) { ...@@ -41,18 +41,23 @@ function setTree(data,treeId,type,kid,vid,glcs) {
onCheck: function (e,treeId) { onCheck: function (e,treeId) {
var treeObj=$.fn.zTree.getZTreeObj(treeId), var treeObj=$.fn.zTree.getZTreeObj(treeId),
nodes=treeObj.getCheckedNodes(true), nodes=treeObj.getCheckedNodes(true),
v="",k=""; v="",k="",vStr="";
for(var i=0;i<nodes.length;i++){ for(var i=0;i<nodes.length;i++){
var thisName = nodes[i].name; var thisName = nodes[i].name;
if(thisName.indexOf("[")>-1){ if(thisName.indexOf("[")>-1){
thisName=thisName.substring(0,thisName.indexOf("[")); thisName=thisName.substring(0,thisName.indexOf("["));
} }
if(vid=="batchRoleName"){ if(vid=="batchRoleName"){
$("#batchRoleName").append("<li>"+thisName+"</li>"); vStr+="<li>"+thisName+"</li>"
} }
v+=thisName + ","; v+=thisName + ",";
k+=nodes[i].id + ","; k+=nodes[i].id + ",";
} }
if(vid=="batchRoleName"){
//消除迭代影响
$("#batchRoleName").empty();
$("#batchRoleName").append(vStr);
}
$("#"+kid).val(k); $("#"+kid).val(k);
$("#"+vid).val(v); $("#"+vid).val(v);
// closeTree(); // closeTree();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment