jeecg 3.7.3 bug[用户添加问题和列表查看问题]修复

jeecg_3.7.3
zhangdaihao 6 years ago
parent 6c1508279d
commit d16f9a89bd

@ -187,6 +187,7 @@ public class UserController extends BaseController {
request.setAttribute("user", user);
return "system/user/changepassword";
}
//update-begin--Author:dangzhenghui Date:20170429 for添加头像功能--------------------
@RequestMapping(params = "changeportrait")
public String changeportrait(HttpServletRequest request) {
TSUser user = ResourceUtil.getSessionUser();
@ -213,6 +214,7 @@ public class UserController extends BaseController {
}
return j;
}
//update-end--Author:dangzhenghui Date:20170429 for添加头像功能--------------------
/**
@ -362,10 +364,10 @@ public class UserController extends BaseController {
}
List<TSRole> roleList = systemService.getList(TSRole.class);
comboBoxs = TagUtil.getComboBox(roleList, roles, comboBox);
//update-begin--Author:scott Date:20160530 for清空降低缓存占用
roleList.clear();
roles.clear();
//update-end--Author:scott Date:20160530 for清空降低缓存占用
return comboBoxs;
}
@ -412,9 +414,11 @@ public class UserController extends BaseController {
Short[] userstate = new Short[]{Globals.User_Normal, Globals.User_ADMIN, Globals.User_Forbidden};
cq.in("status", userstate);
cq.eq("deleteFlag", Globals.Delete_Normal);
//update--begin--author:zhangjiaqiang date:20180223 for:TASK #2531 【改造】用户列表不显示接口类型的用户
cq.eq("userType", Globals.USER_TYPE_SYSTEM);
//update--end--author:zhangjiaqiang date:20180223 for:TASK #2531 【改造】用户列表不显示接口类型的用户
//update-start--Author:zhangguoming Date:20140827 for添加 组织机构 查询条件
String orgIds = request.getParameter("orgIds");
List<String> orgIdList = extractIdListByComma(orgIds);
// 获取 当前组织机构的用户信息
@ -426,11 +430,11 @@ public class UserController extends BaseController {
cq.add(Property.forName("id").in(subCq.getDetachedCriteria()));
}
//update-end--Author:zhangguoming Date:20140827 for添加 组织机构 查询条件
cq.add();
this.systemService.getDataGridReturn(cq, true);
// update-start--Author:gaofeng Date:20140822 for添加用户的角色展示
List<TSUser> cfeList = new ArrayList<TSUser>();
for (Object o : dataGrid.getResults()) {
if (o instanceof TSUser) {
@ -449,10 +453,11 @@ public class UserController extends BaseController {
cfeList.add(cfe);
}
}
// update-end--Author:gaofeng Date:20140822 for添加用户的角色展示
TagUtil.datagrid(response, dataGrid);
}
//update-start--Author: jg_huangxg Date:20160730 for#1206 【功能】用户列表,增加一个真实删除功能(修改删除体验)
/**
*
*
@ -479,7 +484,7 @@ public class UserController extends BaseController {
return j;
}
}
// update-end--Author: jg_huangxg Date:20160730 for#1206 【功能】用户列表,增加一个真实删除功能(修改删除体验)
/**
*
@ -501,20 +506,20 @@ public class UserController extends BaseController {
user = systemService.getEntity(TSUser.class, user.getId());
// List<TSRoleUser> roleUser = systemService.findByProperty(TSRoleUser.class, "TSUser.id", user.getId());
if (!user.getStatus().equals(Globals.User_ADMIN)) {
// update-start--Author: jg_huangxg Date:20160528 for: 【删除用户】删除用户,改成逻辑删除
user.setDeleteFlag(Globals.Delete_Forbidden);
userService.updateEntitie(user);
message = "用户:" + user.getUserName() + "删除成功";
logger.info("["+IpUtil.getIpAddr(req)+"][逻辑删除用户]"+message);
// update-end--Author: jg_huangxg Date:20160528 for: 【删除用户】删除用户,改成逻辑删除
/**
if (roleUser.size()>0) {
// 删除用户时先删除用户和角色关系表
delRoleUser(user);
// update-start--Author:zhangguoming Date:20140825 for添加业务逻辑
systemService.executeSql("delete from t_s_user_org where user_id=?", user.getId()); // 删除 用户-机构 数据
// update-end--Author:zhangguoming Date:20140825 for添加业务逻辑
userService.delete(user);
message = "用户:" + user.getUserName() + "删除成功";
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
@ -548,7 +553,7 @@ public class UserController extends BaseController {
return j;
}
user = systemService.getEntity(TSUser.class, user.getId());
// update-start--Author: zhoujf Date:20170220 for: TASK #1683 【bug】jeecg事务编码不严谨存在不回滚问题
/*List<TSRoleUser> roleUser = systemService.findByProperty(TSRoleUser.class, "TSUser.id", user.getId());
if (!user.getStatus().equals(Globals.User_ADMIN)) {
if (roleUser.size()>0) {
@ -573,7 +578,7 @@ public class UserController extends BaseController {
e.printStackTrace();
message ="删除失败";
}
// update-end--Author: zhoujf Date:20170220 for: TASK #1683 【bug】jeecg事务编码不严谨存在不回滚问题
j.setMsg(message);
return j;
@ -608,7 +613,7 @@ public class UserController extends BaseController {
}
return v;
}
//update--begin--author:zhangjiaqiang date:20171019 for:支持使用邮箱作为登录账号
/**
*
* @param request
@ -628,7 +633,7 @@ public class UserController extends BaseController {
}
return validForm;
}
////update--begin--author:zhangjiaqiang date:20171019 for:支持使用邮箱作为登录账号
/**
*
@ -642,7 +647,7 @@ public class UserController extends BaseController {
public AjaxJson saveUser(HttpServletRequest req, TSUser user) {
String message = null;
AjaxJson j = new AjaxJson();
//update--begin-- author:Yandong -- date:20180115-- for:TASK #2494 【改造】Jeecg 代码事务不严谨control的逻辑改到service里面---
Short logType=Globals.Log_Type_UPDATE;
// 得到用户的角色
String roleid = oConvertUtils.getString(req.getParameter("roleid"));
@ -666,6 +671,8 @@ public class UserController extends BaseController {
user.setPassword(PasswordUtil.encrypt(user.getUserName(), oConvertUtils.getString(req.getParameter("password")), PasswordUtil.getStaticSalt()));
user.setStatus(Globals.User_Normal);
user.setDeleteFlag(Globals.Delete_Normal);
//默认添加为系统用户
user.setUserType(Globals.USER_TYPE_SYSTEM);
this.userService.saveOrUpdate(user, orgid.split(","), roleid.split(","));
message = "用户: " + user.getUserName() + "添加成功";
logType=Globals.Log_Type_INSERT;
@ -675,9 +682,10 @@ public class UserController extends BaseController {
j.setMsg(message);
logger.info("["+IpUtil.getIpAddr(req)+"][添加编辑用户]"+message);
return j;
//update--end-- author:Yandong -- date:20180115-- for:TASK #2494 【改造】Jeecg 代码事务不严谨control的逻辑改到service里面---
}
// update-start--Author:zhangguoming Date:20140825 for添加新的业务逻辑方法
/**
* -
* @param request request
@ -702,7 +710,7 @@ public class UserController extends BaseController {
systemService.batchSave(userOrgList);
}
}
// update-end--Author:zhangguoming Date:20140825 for添加新的业务逻辑方法
protected void saveRoleUser(TSUser user, String roleidstr) {
String[] roleids = roleidstr.split(",");
@ -728,6 +736,7 @@ public class UserController extends BaseController {
String ids = oConvertUtils.getString(request.getParameter("ids"));
mv.addObject("ids", ids);
return mv;
//--authorzhoujf-----end------date:20150531--------for: 编辑用户,选择角色,弹出的角色列表页面,默认没选中
}
/**
@ -756,7 +765,7 @@ public class UserController extends BaseController {
*/
@RequestMapping(params = "addorupdate")
public ModelAndView addorupdate(TSUser user, HttpServletRequest req) {
//update--start--by:jg_renjie--at:20160318 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式
/* List<TSDepart> departList = new ArrayList<TSDepart>();
String departid = oConvertUtils.getString(req.getParameter("departid"));
if(!StringUtil.isEmpty(departid)){
@ -765,7 +774,7 @@ public class UserController extends BaseController {
departList.addAll((List)systemService.getList(TSDepart.class));
}
req.setAttribute("departList", departList);*/
// update-start--Author:zhangguoming Date:20140825 for往request作用域中添加数据组装页面中组织机构combobox多选框的数据
List<String> orgIdList = new ArrayList<String>();
TSDepart tsDepart = new TSDepart();
if (StringUtil.isNotEmpty(user.getId())) {
@ -777,11 +786,12 @@ public class UserController extends BaseController {
}
req.setAttribute("tsDepart", tsDepart);
//req.setAttribute("orgIdList", JSON.toJSON(orgIdList));
// update-start--Author:zhangguoming Date:20140825 for往request作用域中添加数据组装页面中组织机构combobox多选框的数据
//update--end--by:jg_renjie--at:20160318 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式
return new ModelAndView("system/user/user");
}
//-- author:Yandong -- date:20171229 for:集成接口权限管理 ----
/**
*
*
@ -843,11 +853,11 @@ public class UserController extends BaseController {
users.setOfficePhone(user.getOfficePhone());
users.setMobilePhone(user.getMobilePhone());
users.setDevFlag(user.getDevFlag());
// update-start--Author:zhangguoming Date:20140825 for添加新的业务逻辑
// systemService.executeSql("delete from t_s_user_org where user_id=?", user.getId());
// saveUserOrgList(req, user);
// users.setTSDepart(user.getTSDepart());
// update-end--Author:zhangguoming Date:20140825 for添加新的业务逻辑
users.setRealName(user.getRealName());
users.setStatus(Globals.User_Normal);
users.setActivitiSync(user.getActivitiSync());
@ -908,8 +918,9 @@ public class UserController extends BaseController {
systemService.save(rUser);
}
}
//-- author:Yandong -- date:20171229 for:集成接口权限管理 ----
// update-start--Author:zhangguoming Date:20140825 for添加新的业务逻辑方法
/**
*
* @param request request
@ -931,7 +942,7 @@ public class UserController extends BaseController {
return new ModelAndView("system/user/userOrgSelect");
}
// update-end--Author:zhangguoming Date:20140825 for添加新的业务逻辑方法
public void idandname(HttpServletRequest req, TSUser user) {
List<TSRoleUser> roleUsers = systemService.findByProperty(TSRoleUser.class, "TSUser.id", user.getId());
@ -1215,7 +1226,7 @@ public class UserController extends BaseController {
if(user!=null){
String indexStyle = request.getParameter("indexStyle");
// String cssTheme = request.getParameter("cssTheme");
// update-start--Author:longjb Date:20150408 forACE风格未指定情况下默认主题为metro
// if(StringUtils.isNotEmpty(cssTheme)){
// Cookie cookie4css = new Cookie("JEECGCSSTHEME", cssTheme);
// cookie4css.setMaxAge(3600*24*30);
@ -1226,14 +1237,15 @@ public class UserController extends BaseController {
// cookie4css.setMaxAge(3600*24*30);
// response.addCookie(cookie4css);
// logger.info("cssTheme:metro");
//// update-start--Author:longjb Date:20150317 for切换回其他主题风格时变成default
// }else {
// Cookie cookie4css = new Cookie("JEECGCSSTHEME", "");
// cookie4css.setMaxAge(3600*24*30);
// response.addCookie(cookie4css);
// logger.info("cssTheme:default");
// }
// update-end--Author:longjb Date:20150317 for切换回回其他主题风格时变成default
// update-start--Author:longjb Date:20150408 forACE风格未指定情况下主题为metro
if(StringUtils.isNotEmpty(indexStyle)){
Cookie cookie = new Cookie("JEECGINDEXSTYLE", indexStyle);
@ -1244,12 +1256,12 @@ public class UserController extends BaseController {
j.setSuccess(Boolean.TRUE);
j.setMsg("样式修改成功,请刷新页面");
}
//update-start--Author:JueYue Date:2014-5-28 for:风格切换,菜单懒加载失效的问题
try {
ClientManager.getInstance().getClient().getFunctions().clear();
} catch (Exception e) {
}
//update-end--Author:JueYue Date:2014-5-28 for:风格切换,菜单懒加载失效的问题
}else{
j.setMsg("请登录后再操作");
}
@ -1285,7 +1297,8 @@ public class UserController extends BaseController {
//托管
systemService.getSession().evict(user);
String id = user.getId();
//update--begin--author:zhangjiaqiang date:20171019 for:支持使用邮箱作为登录账号
//update-begin--Author:xuelin Date:20171018 forTASK #2384 【bug】用户管理导出功能报错--------------------
String queryRole = "select * from t_s_role where id in (select roleid from t_s_role_user where userid=:userid)";
List<TSRole> roles = systemService.getSession().createSQLQuery(queryRole).addEntity(TSRole.class).setString("userid",id).list();
String roleCodes = "";
@ -1300,7 +1313,8 @@ public class UserController extends BaseController {
departCodes += ","+depart.getOrgCode();
}
user.setDepartid(departCodes.replaceFirst(",", ""));
//update-end--Author:xuelin Date:20171018 forTASK #2384 【bug】用户管理导出功能报错--------------------
//update--end--author:zhangjiaqiang date:20171019 for:支持使用邮箱作为登录账号
}
modelMap.put(NormalExcelConstants.FILE_NAME,"用户表");
modelMap.put(NormalExcelConstants.CLASS,TSUser.class);
@ -1344,6 +1358,7 @@ public class UserController extends BaseController {
try {
List<TSUser> tsUsers = ExcelImportUtil.importExcel(file.getInputStream(),TSUser.class,params);
for (TSUser tsUser : tsUsers) {
//update-begin--Author:xuelin Date:20171017 forTASK #2373 【bug】表改造问题导致 3.7.1批量导入用户bug-导入不成功--------------------
String username = tsUser.getUserName();
if(username==null||username.equals("")){
j.setMsg("用户名为必填字段,导入失败");
@ -1355,10 +1370,11 @@ public class UserController extends BaseController {
tsUser.setDeleteFlag(new Short("0"));
String roleCodes = tsUser.getUserKey();
String deptCodes = tsUser.getDepartid();
//update-begin--Author:Yandong Date:20180228 forTASK #2539 【新功能】用户导入没有密码字段(不需要修改);导入用户默认类型为系统用户----------
tsUser.setPassword(PasswordUtil.encrypt(username, "123456", PasswordUtil.getStaticSalt()));
tsUser.setUserType(Globals.USER_TYPE_SYSTEM);//导入用户 在用户管理列表不显示
//update-begin--Author:Yandong Date:20180228 forTASK #2539 【新功能】用户导入没有密码字段(不需要修改);导入用户默认类型为系统用户----------
//update-end--Author:xuelin Date:20171017 forTASK #2373 【bug】表改造问题导致 3.7.1批量导入用户bug-导入不成功--------------------
if((roleCodes==null||roleCodes.equals(""))||(deptCodes==null||deptCodes.equals(""))){
List<TSUser> users = systemService.findByProperty(TSUser.class,"userName",username);
if(users.size()!=0){

@ -5,6 +5,8 @@
<head>
<title>用户信息</title>
<t:base type="jquery,easyui,tools"></t:base>
<%--update-start--Author:jg_renjie Date:20160320 for#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式--%>
<%--update-start--Author:zhangguoming Date:20140825 for添加组织机构combobox多选的处理方法--%>
<script>
<%-- // update-start--Author:zhangguoming Date:20140826 for将combobox修改为combotree
function setOrgIds() {
@ -25,17 +27,17 @@
$("#orgSelect").combobox("setValues", ${orgIdList});
$("#orgSelect").combotree("setValues", ${orgIdList});
}); --%>
// update-start--Author:zhangguoming Date:20140826 for将combobox修改为combotree
function openDepartmentSelect() {
$.dialog.setting.zIndex = getzIndex();
var orgIds = $("#orgIds").val();
// update-begin--Author:LiShaoQing Date:20170802 forz-index被覆盖的问题---------
$.dialog({content: 'url:departController.do?departSelect&orgIds='+orgIds, zIndex: getzIndex(), title: '组织机构列表', lock: true, width: '400px', height: '350px', opacity: 0.4, button: [
{name: '<t:mutiLang langKey="common.confirm"/>', callback: callbackDepartmentSelect, focus: true},
{name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
]}).zindex();
// update-end--Author:LiShaoQing Date:20170802 forz-index被覆盖的问题---------
}
function callbackDepartmentSelect() {
@ -60,13 +62,18 @@
$('#orgIds').val('');
}
function setOrgIds() {}
function setOrgIds() {
return true;
}
$(function(){
$("#departname").prev().hide();
});
<%--update-end--Author:zhangguoming Date:20140825 for添加组织机构combobox多选的处理方法--%>
</script>
<%--update-end--Author:jg_renjie Date:20160320 for#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式--%>
</head>
<body style="overflow-y: hidden" scroll="no">
<%--update-start--Author:zhangguoming Date:20140825 for格式化页面代码 并 添加组织机构combobox多选框--%>
<t:formvalid formid="formobj" dialog="true" usePlugin="password" layout="table" action="userController.do?saveUser" beforeSubmit="setOrgIds">
<input id="id" name="id" type="hidden" value="${user.id }"/>
<table style="width: 600px;" cellpadding="0" cellspacing="1" class="formtable">
@ -113,6 +120,8 @@
<tr>
<td align="right"><label class="Validform_label"> <t:mutiLang langKey="common.department"/>: </label></td>
<td class="value">
<%--update-start--Author:jg_renjie Date:20160320 for#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式--%>
<%--update-start--Author:zhangguoming Date:20140826 for将combobox修改为combotree--%>
<%--<select class="easyui-combobox" data-options="multiple:true, editable: false" id="orgSelect" datatype="*">--%>
<%--<select class="easyui-combotree" data-options="url:'departController.do?getOrgTree', multiple:true, cascadeCheck:false"
id="orgSelect" name="orgSelect" datatype="select1">
@ -127,6 +136,7 @@
<input id="orgIds" name="orgIds" type="hidden" value="${orgIds}"/>
<a href="#" class="easyui-linkbutton" plain="true" icon="icon-search" id="departSearch" onclick="openDepartmentSelect()">选择</a>
<a href="#" class="easyui-linkbutton" plain="true" icon="icon-redo" id="departRedo" onclick="callbackClean()">清空</a>
<%--update-end--Author:jg_renjie Date:20160320 for#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式--%>
<span class="Validform_checktip"><t:mutiLang langKey="please.muti.department"/></span>
</td>
</tr>
@ -156,7 +166,9 @@
<tr>
<td align="right"><label class="Validform_label"> <t:mutiLang langKey="common.common.mail"/>: </label></td>
<td class="value">
<!-- update--begin--author:zhangjiaqiang date:20171019 for:修订用户邮箱为必填 -->
<input class="inputxt" name="email" value="${user.email}" validType="t_s_user,email,id" datatype="e" errormsg="邮箱格式不正确!" />
<!-- update--end--author:zhangjiaqiang date:20171019 for:修订用户邮箱为必填 -->
<span class="Validform_checktip"></span>
</td>
</tr>
@ -170,4 +182,5 @@
</tr>
</table>
</t:formvalid>
<%--update-end--Author:zhangguoming Date:20140825 for格式化页面代码 并 添加组织机构combobox多选框--%>
</body>
Loading…
Cancel
Save