From d16f9a89bdb2c2ef888dbafd45930396fec5bf0c Mon Sep 17 00:00:00 2001 From: zhangdaihao Date: Wed, 14 Mar 2018 22:21:26 +0800 Subject: [PATCH] =?UTF-8?q?jeecg=203.7.3=20bug[=E7=94=A8=E6=88=B7=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E9=97=AE=E9=A2=98=E5=92=8C=E5=88=97=E8=A1=A8=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E9=97=AE=E9=A2=98]=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/core/UserController.java | 90 +++++++++++-------- src/main/webapp/webpage/system/user/user.jsp | 21 ++++- 2 files changed, 70 insertions(+), 41 deletions(-) diff --git a/src/main/java/org/jeecgframework/web/system/controller/core/UserController.java b/src/main/java/org/jeecgframework/web/system/controller/core/UserController.java index f58f0e67..c37df019 100644 --- a/src/main/java/org/jeecgframework/web/system/controller/core/UserController.java +++ b/src/main/java/org/jeecgframework/web/system/controller/core/UserController.java @@ -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 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 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 cfeList = new ArrayList(); 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 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 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; + //--author:zhoujf-----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 departList = new ArrayList(); 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 orgIdList = new ArrayList(); 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 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 for:ACE风格未指定情况下默认主题为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 for:ACE风格未指定情况下主题为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 for:TASK #2384 【bug】用户管理导出功能报错-------------------- String queryRole = "select * from t_s_role where id in (select roleid from t_s_role_user where userid=:userid)"; List 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 for:TASK #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 tsUsers = ExcelImportUtil.importExcel(file.getInputStream(),TSUser.class,params); for (TSUser tsUser : tsUsers) { + //update-begin--Author:xuelin Date:20171017 for:TASK #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 for:TASK #2539 【新功能】用户导入没有密码字段(不需要修改);导入用户默认类型为系统用户---------- tsUser.setPassword(PasswordUtil.encrypt(username, "123456", PasswordUtil.getStaticSalt())); tsUser.setUserType(Globals.USER_TYPE_SYSTEM);//导入用户 在用户管理列表不显示 - + //update-begin--Author:Yandong Date:20180228 for:TASK #2539 【新功能】用户导入没有密码字段(不需要修改);导入用户默认类型为系统用户---------- + //update-end--Author:xuelin Date:20171017 for:TASK #2373 【bug】表改造问题,导致 3.7.1批量导入用户bug-导入不成功-------------------- if((roleCodes==null||roleCodes.equals(""))||(deptCodes==null||deptCodes.equals(""))){ List users = systemService.findByProperty(TSUser.class,"userName",username); if(users.size()!=0){ diff --git a/src/main/webapp/webpage/system/user/user.jsp b/src/main/webapp/webpage/system/user/user.jsp index 7477a8fe..61b5326e 100644 --- a/src/main/webapp/webpage/system/user/user.jsp +++ b/src/main/webapp/webpage/system/user/user.jsp @@ -5,6 +5,8 @@ 用户信息 + <%--update-start--Author:jg_renjie Date:20160320 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式--%> + <%--update-start--Author:zhangguoming Date:20140825 for:添加组织机构combobox多选的处理方法--%> + <%--update-end--Author:jg_renjie Date:20160320 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式--%> +<%--update-start--Author:zhangguoming Date:20140825 for:格式化页面代码 并 添加组织机构combobox多选框--%> @@ -113,6 +120,8 @@ @@ -156,7 +166,9 @@ @@ -170,4 +182,5 @@
+ <%--update-start--Author:jg_renjie Date:20160320 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式--%> + <%--update-start--Author:zhangguoming Date:20140826 for:将combobox修改为combotree--%> <%-- @@ -127,6 +136,7 @@ 选择 清空 + <%--update-end--Author:jg_renjie Date:20160320 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式--%>
+ +
+<%--update-end--Author:zhangguoming Date:20140825 for:格式化页面代码 并 添加组织机构combobox多选框--%> \ No newline at end of file