From 8c4b79d994c5a95dd33d4b0313e2f2d63985e074 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 04 七月 2024 19:16:18 +0800 Subject: [PATCH] 角色管理、部门管理相关接口上传。 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/OrgDeptQueryServiceImpl.java | 149 +++++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmPwdStrategyQueryServiceImpl.java | 7 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java | 89 ++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java | 76 -- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/dto/OrgDepartmentDTO.java | 93 +++ Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/ControllerUtil.java | 30 + Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/po/SmRolePO.java | 42 + Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmRoleVO.java | 1 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java | 313 +++++++---- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java | 327 +++++++++++- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmUserVO.java | 13 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmPwdStrategyQueryController.java | 6 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/OrgDeptQueryServiceI.java | 35 + Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmRoleQueryController.java | 134 ++++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java | 140 ++++- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmRoleQueryServiceI.java | 65 + Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/SmRoleForPlatform1.java | 16 17 files changed, 1,202 insertions(+), 334 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/ControllerUtil.java b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/ControllerUtil.java index 7c9b4d6..48b5c64 100644 --- a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/ControllerUtil.java +++ b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/ControllerUtil.java @@ -204,6 +204,7 @@ } response.setContentType(contentType); response.setCharacterEncoding("UTF-8"); + //閿欒鏃朵篃闇�瑕佽繖涓弬鏁� Cookie cookie = new Cookie("fileDownload", "true"); cookie.setPath("/"); response.addCookie(cookie); @@ -217,6 +218,35 @@ throw e; } } + + /** + * 灏嗛敊璇殑淇℃伅杈撳叆娴佸啓鍏ュ埌杩斿洖娴佷腑 + * @param response 鍝嶅簲瀵硅薄 + * @param data 鏁版嵁鐨勪俊鎭� + * @throws IOException 鎷疯礉鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 + */ + public static void writeDataToResponse(HttpServletResponse response,String fileName,byte[] data,String contentType) throws IOException { + if (StringUtils.isBlank(contentType)) { + contentType = "application/force-download"; + } + response.setContentType(contentType); + response.setCharacterEncoding("UTF-8"); + //閿欒鏃朵篃闇�瑕佽繖涓弬鏁� + response.addHeader("Content-Disposition", "attachment; filename="+ fileName+ ";filename*=utf-8''" + fileName); + Cookie cookie = new Cookie("fileDownload", "true"); + cookie.setPath("/"); + response.addCookie(cookie); + try { + response.getOutputStream().write(data); + } catch (IOException e) { + //鏈夊彲鑳藉鎴风鐨勯摼鎺� + if (logger.isErrorEnabled()) { + logger.error("鍐欏叆鏂囦欢鍒板搷搴旀祦鍑洪敊", e); + } + throw e; + } + } + /** * 灏嗙幆澧冨彉閲忎腑鐨勬煇涓枃浠跺啓鍒拌繑鍥炴祦涓� * @param response 鍝嶅簲瀵硅薄 diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/OrgDeptQueryServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/OrgDeptQueryServiceI.java index 4a69cb5..bba3844 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/OrgDeptQueryServiceI.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/OrgDeptQueryServiceI.java @@ -1,7 +1,7 @@ package com.vci.frameworkcore.compatibility; import com.vci.corba.common.PLException; -import com.vci.corba.common.data.UserEntityInfo; +import com.vci.frameworkcore.model.dto.OrgDepartmentDTO; import com.vci.frameworkcore.pagemodel.OrgDepartmentVO; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.DataGrid; @@ -27,6 +27,15 @@ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮暟鎹簱瀛樺湪闂鐨勬椂鍊欎細鎶涘嚭寮傚父 */ OrgDepartmentVO getDeptByDeptOid(String deptOid) throws VciBaseException; + + /** + * 鏍规嵁鐖堕儴闂ㄤ富閿幏鍙栧拰閮ㄩ棬鍚嶇О閮ㄩ棬鐨勪俊鎭� + * @param parentDeptOid 鐖堕儴闂ㄤ富閿� + * @param conditionMap 鏌ヨ鏉′欢 + * @return 閮ㄩ棬鐨勬樉绀哄璞★紝濡傛灉閮ㄩ棬涓嶅瓨鍦ㄥ垯杩斿洖null锛屼笉浼氭姏鍑哄紓甯� + * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮暟鎹簱瀛樺湪闂鐨勬椂鍊欎細鎶涘嚭寮傚父 + */ + OrgDepartmentVO getDeptByDeptPOidAndCondition(String parentDeptOid,Map<String,String> conditionMap) throws VciBaseException; /** * 鎵归噺鑾峰彇閮ㄩ棬鐨勪俊鎭� 锛堟牴鎹儴闂ㄤ富閿級 @@ -94,7 +103,7 @@ List<OrgDepartmentVO> listChildrenDeptByParentOid(String pkFatherDepartmment, Map<String, String> queryMap); /** - * 鑾峰彇鏌愪釜閮ㄩ棬鐨勬墍鏈夋浘缁忕殑涓嬬骇閮ㄩ棬 + * 鑾峰彇鏌愪釜閮ㄩ棬鐨勬墍鏈夊眰绾х殑涓嬬骇閮ㄩ棬 * @param pkFatherDepartmment 閮ㄩ棬鐨勪富閿� * @param queryMap 鏌ヨ鏉′欢 * @return 閮ㄩ棬鏄剧ず瀵硅薄 @@ -124,11 +133,25 @@ boolean saveUsersDept(String[] userOIds, String deptId) throws PLException; /** - * 鏍规嵁閮ㄩ棬鍚嶇О缁勬垚鐨勬爲璺緞锛屾煡璇㈤儴闂ㄤ俊鎭� - * @param deptTreeNameList 閮ㄩ棬鍚嶇О(涓婁笅绾ч儴闂ㄤ箣闂翠互鍙嶆枩鏉犻殧寮�(/)) - * @return 杩斿洖鐨刱ey涓洪儴闂ㄥ悕绉扮粍鎴愮殑涓婁笅绾у叧绯伙紙deptTreeNameList涓殑姣忎釜鍏冪礌锛夛紝value涓哄搴旂殑閮ㄩ棬淇℃伅 + * 澧炲姞閮ㄩ棬淇℃伅 + * @param orgDepartmentDTO + * @return */ - //Map<String,String> getDeptByTreeName(/*璇蜂紶鍘婚噸鍚庣殑list*/List<String> deptTreeNameList); + boolean addDept(OrgDepartmentDTO orgDepartmentDTO) throws PLException; + + /** + * 淇敼閮ㄩ棬淇℃伅 + * @param orgDepartmentDTO + * @return + */ + boolean updateDept(OrgDepartmentDTO orgDepartmentDTO) throws PLException; + + /** + * 鍒犻櫎閮ㄩ棬 + * @param ids + * @return + */ + boolean deleteDept(String[] ids) throws PLException; /** * 鑾峰彇鎵�鏈夐儴闂ㄧ殑淇℃伅 diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmRoleQueryServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmRoleQueryServiceI.java index 535c9db..de158ff 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmRoleQueryServiceI.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmRoleQueryServiceI.java @@ -1,16 +1,16 @@ package com.vci.frameworkcore.compatibility; import com.vci.corba.common.PLException; +import com.vci.frameworkcore.dto.SmRoleDTO; import com.vci.frameworkcore.pagemodel.SmRoleVO; import com.vci.starter.web.exception.VciBaseException; -import com.vci.starter.web.pagemodel.DataGrid; -import com.vci.starter.web.pagemodel.PageHelper; -import com.vci.starter.web.pagemodel.Tree; -import com.vci.starter.web.pagemodel.TreeQueryObject; +import com.vci.starter.web.pagemodel.*; +import java.io.File; import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.concurrent.locks.Condition; /** * 瑙掕壊鐨勬煡璇㈡湇鍔★紝鍏煎鏉ュ钩鍙帮紝鎵�鏈夌殑鎺ュ彛閮借繑鍥炴柊鐨勮鑹叉樉绀哄璞� @@ -21,11 +21,11 @@ /** * 鏍规嵁瑙掕壊涓婚敭鑾峰彇瑙掕壊鐨勪俊鎭� - * @param roleOid 瑙掕壊涓婚敭 + * @param conditionMap 瑙掕壊涓婚敭 * @return 瑙掕壊鐨勬樉绀哄璞★紝濡傛灉瑙掕壊涓嶅瓨鍦ㄥ垯杩斿洖null锛屼笉浼氭姏鍑哄紓甯� * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮暟鎹簱瀛樺湪闂鐨勬椂鍊欎細鎶涘嚭寮傚父 */ - SmRoleVO getRoleByRoleOid(String roleOid) throws VciBaseException; + SmRoleVO getRoleByConditionMap(Map<String,String> conditionMap) throws VciBaseException; /** * 鎵归噺鑾峰彇瑙掕壊鐨勪俊鎭� 锛堟牴鎹鑹蹭富閿級 @@ -52,6 +52,14 @@ String getRoleNameByRoleOid(String roleOid); /** + * 鏍规嵁瑙掕壊鍚嶆煡璇㈣鑹蹭俊鎭� + * @param roleNameList + * @param queryMap + * @return + */ + List<SmRoleVO> listRoleByRoleName(Collection<String> roleNameList, Map<String, String> queryMap); + + /** * 鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇鍏宠仈鐨勮鑹� * @param userOid 鐢ㄦ埛涓婚敭 * @param queryMap 鏌ヨ鏉′欢锛屽鏋滈渶瑕佷娇鐢ㄧ敤鎴风殑灞炴�ф潵鏌ヨ鍙互浣跨敤pkUser.xxxx @@ -75,15 +83,6 @@ * @return 瑙掕壊鐨勬樉绀哄璞� */ List<SmRoleVO> listRoleUnInUserOid(String userOid, Map<String, String> queryMap); - - /** - * 鑾峰彇鏈叧鑱旀煇涓敤鎴风殑瑙掕壊 - * @param userOid 鐢ㄦ埛涓婚敭 - * @param queryMap 鏌ヨ鏉′欢锛屽鏋滈渶瑕佷娇鐢ㄧ敤鎴风殑灞炴�ф潵鏌ヨ鍙互浣跨敤pkUser.xxxx - * @param pageHelper 鍒嗛〉鍜屾帓搴忓璞★紝鑰佸钩鍙颁笉鏀寔浣跨敤瑙掕壊缂栧彿鏉ユ帓搴� - * @return 瑙掕壊鐨勬樉绀哄璞� - */ - DataGrid<SmRoleVO> gridRoleUninUserOid(String userOid, Map<String, String> queryMap, PageHelper pageHelper); /** * 鎵归噺鏍规嵁鐢ㄦ埛鐨勪富閿潵鑾峰彇瑙掕壊 @@ -153,11 +152,41 @@ List<Tree> refTreeRoles(TreeQueryObject treeQueryObject) throws VciBaseException; /** - * 璇ユ柟娉曞彧鏀寔涓�娆″彧鍏佽鍗曚釜鐢ㄦ埛鍒嗛厤澶氫釜瑙掕壊锛屼竴瀵瑰 - * @param userOid + * 鏂板瑙掕壊 + * @param smRoleDTO + * @return true鎴愬姛锛宖alse澶辫触 + */ + boolean addRole(SmRoleDTO smRoleDTO) throws PLException; + + /** + * 淇敼瑙掕壊 + * @param smRoleDTO + * @return + */ + boolean updateRole(SmRoleDTO smRoleDTO) throws PLException; + + /** + * 鍒犻櫎瑙掕壊 + * @param ids + * @return + * @throws PLException + */ + boolean deleteRole(String[] ids) throws PLException; + + /** + * 瀵煎叆瑙掕壊 + * @param file + * @return + * @throws VciBaseException + */ + BaseResult importRole(File file) throws VciBaseException; + + /** + * 淇濆瓨鐢ㄦ埛瑙掕壊鍏宠仈鍏崇郴 + * @param userOids * @param roleIds * @return */ - boolean saveRights(String userOid, String[] roleIds) throws PLException; + boolean saveRights(String[] userOids, String[] roleIds) throws PLException; } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java index eeb80ba..cd8c35f 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java @@ -63,15 +63,6 @@ List<SmUserVO> listUserByUserOids(Collection<String> userOidCollections) throws VciBaseException; /** - * 鑾峰彇鐢ㄦ埛鐨勫垪琛紝榛樿浼氫互鐢ㄦ埛鍚嶅崌搴忔帓鍒楋紝鐢ㄦ埛鐨勭紪杈戦〉闈㈠垪琛ㄤ笉瑕佷娇鐢ㄨ繖涓帴鍙� - * @param queryMap 鏌ヨ鏉′欢 - * @param pageHelper 鍒嗛〉鍜屾帓搴忕殑淇℃伅锛屽湪鍏煎鑰佸钩鍙扮殑鏃跺�欎細鑷姩鍏煎锛屽鏋滃睘鎬т笉瀛樺湪浼氳嚜鍔ㄥ拷鐣� - * @return 鐢ㄦ埛鐨勬樉绀哄璞″垪琛� - * @throws VciBaseException 鍙傛暟涓虹┖鐨勬椂鍊欎細鎶涘嚭寮傚父 - */ - DataGrid<SmUserVO> gridUsers(Map<String, String> queryMap, PageHelper pageHelper) throws VciBaseException; - - /** * 鐢ㄦ埛绠$悊鐣岄潰鍒嗛〉鏌ヨ * @param conditionMap 鏌ヨ鏉′欢 * @param pageHelper 鍒嗛〉鍙傛暟 @@ -94,6 +85,23 @@ String getUserNameByUserOid(String userOid); /** + * 鎵归噺鏍规嵁閮ㄩ棬鐨勪富閿幏鍙栫敤鎴� + * @param deptOidCollection 閮ㄩ棬鐨勪富閿泦鍚� + * @return 閮ㄩ棬涓婚敭鍜屽搴旂殑鐢ㄦ埛鏄剧ず瀵硅薄鍒楄〃鐨勬槧灏勶紝key閮ㄩ棬鐨勪富閿紝value鏄繖涓儴闂ㄤ笅鐨勭敤鎴� + * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 + */ + Map<String,List<SmUserVO>> batchListUserByDeptOids(Collection<String> deptOidCollection) throws VciBaseException; + + /** + * 缁熻閮ㄩ棬涓嬬殑鐢ㄦ埛锛氬寘鍚瓙閮ㄩ棬涓嬬殑鐢ㄦ埛 + * @param deptOid + * @param queryMap + * @return + * @throws VciBaseException + */ + List<SmUserVO> countSmUserByDeptOid(String deptOid, Map<String, String> queryMap) throws VciBaseException; + + /** * 鏌ヨ鏌愪釜閮ㄩ棬涓嬬殑鐢ㄦ埛瀵硅薄 * @param deptOid 閮ㄩ棬鐨勪富閿� * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸閮ㄩ棬鐨勬煇涓睘鎬т綔涓烘煡璇㈡潯浠讹紝鍒欏彲浠ヤ娇鐢╬kDepartment.xxx杩欐牱鐨勬柟寮� @@ -101,24 +109,6 @@ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 */ List<SmUserVO> listUserByDeptOid(String deptOid, Map<String, String> queryMap) throws VciBaseException; - - /** - * 鏌ヨ鏌愪釜閮ㄩ棬涓嬬殑鐢ㄦ埛瀵硅薄鍒楄〃 - * @param deptOid 閮ㄩ棬鐨勪富閿� - * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸閮ㄩ棬鐨勬煇涓睘鎬т綔涓烘煡璇㈡潯浠讹紝鍒欏彲浠ヤ娇鐢╬kDepartment.xxx杩欐牱鐨勬柟寮� - * @param pageHelper 鍒嗛〉鍜屾帓搴忎俊鎭紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @return 鐢ㄦ埛鐨勬樉绀哄璞″垪琛紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - DataGrid<SmUserVO> gridUserByDeptOid(String deptOid, Map<String, String> queryMap, PageHelper pageHelper) throws VciBaseException; - - /** - * 鎵归噺鏍规嵁閮ㄩ棬鐨勪富閿幏鍙栫敤鎴� - * @param deptOidCollection 閮ㄩ棬鐨勪富閿泦鍚� - * @return 閮ㄩ棬涓婚敭鍜屽搴旂殑鐢ㄦ埛鏄剧ず瀵硅薄鍒楄〃鐨勬槧灏勶紝key閮ㄩ棬鐨勪富閿紝value鏄繖涓儴闂ㄤ笅鐨勭敤鎴� - * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - Map<String,List<SmUserVO>> batchListUserByDeptOids(Collection<String> deptOidCollection) throws VciBaseException; /** * 鏌ヨ涓嶅湪鏌愪釜閮ㄩ棬涓嬬殑鐢ㄦ埛瀵硅薄鍒楄〃 @@ -130,33 +120,13 @@ List<SmUserVO> listUserUnInDeptOid(String deptOid, Map<String, String> queryMap) throws VciBaseException; /** - * 鏌ヨ涓嶅湪鏌愪釜閮ㄩ棬涓嬬殑鐢ㄦ埛瀵硅薄鍒楄〃 - * @param deptOid 閮ㄩ棬鐨勪富閿� - * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸閮ㄩ棬鐨勬煇涓睘鎬т綔涓烘煡璇㈡潯浠讹紝鍒欏彲浠ヤ娇鐢╬kDepartment.xxx杩欐牱鐨勬柟寮� - * @param pageHelper 鍒嗛〉鍜屾帓搴忎俊鎭紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @return 鐢ㄦ埛鐨勬樉绀哄璞″垪琛紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - DataGrid<SmUserVO> gridUserUnInDeptOid(String deptOid, Map<String, String> queryMap, PageHelper pageHelper) throws VciBaseException; - - /** - * 鏌ヨ鏌愪釜瑙掕壊涓嬬殑鐢ㄦ埛瀵硅薄 + * 鏌ヨ鏌愪釜瑙掕壊涓嬬殑鐢ㄦ埛瀵硅薄鍒楄〃 * @param roleOid 瑙掕壊鐨勪富閿� * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸瑙掕壊鐨勬煇涓睘鎬т綔涓烘煡璇㈡潯浠讹紝鍒欏彲浠ヤ娇鐢╬kRole.xxx杩欐牱鐨勬柟寮� * @return 鐢ㄦ埛鐨勬樉绀哄璞″垪琛� * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 */ List<SmUserVO> listUserByRoleOid(String roleOid, Map<String, String> queryMap) throws VciBaseException; - - /** - * 鏌ヨ鏌愪釜瑙掕壊涓嬬殑鐢ㄦ埛瀵硅薄鍒楄〃 - * @param roleOid 瑙掕壊鐨勪富閿� - * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸瑙掕壊鐨勬煇涓睘鎬т綔涓烘煡璇㈡潯浠讹紝鍒欏彲浠ヤ娇鐢╬kRole.xxx杩欐牱鐨勬柟寮� - * @param pageHelper 鍒嗛〉鍜屾帓搴忎俊鎭紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @return 鐢ㄦ埛鐨勬樉绀哄璞″垪琛紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - DataGrid<SmUserVO> gridUserByRoleOid(String roleOid, Map<String, String> queryMap, PageHelper pageHelper) throws VciBaseException; /** * 鏌ヨ涓嶅湪鏌愪釜瑙掕壊涓嬬殑鐢ㄦ埛瀵硅薄鍒楄〃 @@ -166,16 +136,6 @@ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 */ List<SmUserVO> listUserUnInRoleOid(String roleOid, Map<String, String> queryMap) throws VciBaseException; - - /** - * 鏌ヨ涓嶅湪鏌愪釜瑙掕壊涓嬬殑鐢ㄦ埛瀵硅薄鍒楄〃 - * @param roleOid 瑙掕壊鐨勪富閿� - * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸瑙掕壊鐨勬煇涓睘鎬т綔涓烘煡璇㈡潯浠讹紝鍒欏彲浠ヤ娇鐢╬kRole.xxx杩欐牱鐨勬柟寮� - * @param pageHelper 鍒嗛〉鍜屾帓搴忎俊鎭紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @return 鐢ㄦ埛鐨勬樉绀哄璞″垪琛紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - DataGrid<SmUserVO> gridUserUnInRoleOid(String roleOid, Map<String, String> queryMap, PageHelper pageHelper) throws VciBaseException; /** * 鎵归噺鏍规嵁瑙掕壊鐨勪富閿幏鍙栫敤鎴� diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/OrgDeptQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/OrgDeptQueryServiceImpl.java index f9ff061..22618bc 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/OrgDeptQueryServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/OrgDeptQueryServiceImpl.java @@ -1,22 +1,20 @@ package com.vci.frameworkcore.compatibility.impl; import com.vci.corba.common.PLException; +import com.vci.corba.common.data.UserEntityInfo; +import com.vci.corba.framework.data.DeptInfo; import com.vci.corba.omd.data.BusinessObject; import com.vci.frameworkcore.compatibility.OrgDeptQueryServiceI; +import com.vci.frameworkcore.model.dto.OrgDepartmentDTO; import com.vci.frameworkcore.lcstatuspck.FrameworkDataLCStatus; import com.vci.frameworkcore.model.OrgDeptForPlatform1; -import com.vci.frameworkcore.model.SmRoleForPlatform1; import com.vci.frameworkcore.pagemodel.OrgDepartmentVO; -import com.vci.frameworkcore.pagemodel.SmRoleVO; import com.vci.omd.utils.ObjectTool; import com.vci.starter.revision.bo.TreeWrapperOptions; import com.vci.starter.revision.service.RevisionModelUtil; import com.vci.starter.web.constant.QueryOptionConstant; import com.vci.starter.web.exception.VciBaseException; -import com.vci.starter.web.pagemodel.DataGrid; -import com.vci.starter.web.pagemodel.PageHelper; -import com.vci.starter.web.pagemodel.Tree; -import com.vci.starter.web.pagemodel.TreeQueryObject; +import com.vci.starter.web.pagemodel.*; import com.vci.starter.web.util.BeanUtil; import com.vci.starter.web.util.VciBaseUtil; import com.vci.starter.web.wrapper.VciQueryWrapperForDO; @@ -67,13 +65,38 @@ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮暟鎹簱瀛樺湪闂鐨勬椂鍊欎細鎶涘嚭寮傚父 */ @Override - public OrgDepartmentVO getDeptByDeptOid(String deptOid) - throws VciBaseException { + public OrgDepartmentVO getDeptByDeptOid(String deptOid) throws VciBaseException { if(StringUtils.isBlank(deptOid)){ return null; } OrgDeptForPlatform1 deptForPlatform1 = boService.selectByOid(deptOid, OrgDeptForPlatform1.class); return deptDO2VO(deptForPlatform1); + } + + /** + * 鏍规嵁鐖堕儴闂ㄤ富閿幏鍙栧拰閮ㄩ棬鍚嶇О閮ㄩ棬鐨勪俊鎭� + * @param parentDeptOid 鐖堕儴闂ㄤ富閿� + * @param conditionMap 閮ㄩ棬鍚嶇О + * @return 閮ㄩ棬鐨勬樉绀哄璞★紝濡傛灉閮ㄩ棬涓嶅瓨鍦ㄥ垯杩斿洖null锛屼笉浼氭姏鍑哄紓甯� + * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮暟鎹簱瀛樺湪闂鐨勬椂鍊欎細鎶涘嚭寮傚父 + */ + @Override + public OrgDepartmentVO getDeptByDeptPOidAndCondition(String parentDeptOid,Map<String,String> conditionMap) throws VciBaseException { + if(Func.isEmpty(conditionMap)){ + conditionMap = new HashMap(); + } + VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(new HashMap<>(),OrgDeptForPlatform1.class); + //鐖朵富閿负绌烘煡椤跺眰 + if(Func.isBlank(parentDeptOid)){ + queryWrapper.isNull("plparentuid"); + }else{ + queryWrapper.eq("plparentuid",parentDeptOid); + } + List<OrgDeptForPlatform1> roleForPlatform1s = boService.selectByQueryWrapper(queryWrapper, OrgDeptForPlatform1.class); + if(Func.isEmpty(roleForPlatform1s)){ + return null; + } + return deptDO2VO(roleForPlatform1s.get(0)); } /** @@ -137,7 +160,7 @@ depts.addAll(roleForPlatform1s); } }); - return deptDO2VOs(depts); + return deptDO2VOs(depts); } /** @@ -153,6 +176,7 @@ if(pageHelper == null){ pageHelper = new PageHelper(-1); } + //鏍规嵁閮ㄩ棬缂栧彿鎺掑簭 pageHelper.addDefaultAsc("plnum"); VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(queryMap,OrgDeptForPlatform1.class,pageHelper); List<OrgDeptForPlatform1> deptForPlatform1s = boService.selectByQueryWrapper(queryWrapper, OrgDeptForPlatform1.class); @@ -432,9 +456,6 @@ @Override @Transactional(rollbackFor = Exception.class) public boolean saveUsersDept(String[] userOIds, String deptId) throws PLException { - if(Func.isEmpty(userOIds) || Func.isBlank(deptId)){ - return false; - } //鍏堣繘鎬ф煡閲嶅鐞� List<String> repeatUserOidList = new ArrayList<>(); //寰幆杩涜鏌ラ噸锛岄伩鍏峣n澶т簬1000 @@ -461,6 +482,110 @@ } /** + * 澧炲姞閮ㄩ棬淇℃伅 + * @param orgDepartmentDTO + * @return + */ + @Override + public boolean addDept(OrgDepartmentDTO orgDepartmentDTO) throws PLException { + //鍒ょ┖ + VciBaseUtil.alertNotNull( + orgDepartmentDTO,"娣诲姞鐨勯儴闂ㄥ璞�", + orgDepartmentDTO.getName(),"閮ㄩ棬鍚�"); + //閮ㄩ棬鍚嶅垽閲� + Map<String, String> conditionMap = new HashMap<>(); + conditionMap.put("plname",orgDepartmentDTO.getName()); + conditionMap.put("plnum",QueryOptionConstant.OR + orgDepartmentDTO.getId()); + OrgDepartmentVO departmentVO = getDeptByDeptPOidAndCondition(orgDepartmentDTO.getPkFatherDepartment(), conditionMap); + if(Func.isNotEmpty(departmentVO)){ + throw new VciBaseException("鍚屼竴鐖惰妭鐐逛笅璇ラ儴闂ㄥ悕绉版垨缂栧彿宸茬粡瀛樺湪,璇蜂慨鏀�!"); + } + //SessionInfo loginUser = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); + String userId = "developer";//loginUser.getUserId(); + + //鐢熸垚瀛樺偍鐨刢orba瀵硅薄 + orgDepartmentDTO.setCreateTime(new Date()); + orgDepartmentDTO.setCreator(userId); + orgDepartmentDTO.setLastModifier(userId); + orgDepartmentDTO.setStatus((short) 0); + DeptInfo deptInfo = changeOrgDeptDTOToDeptInfo(orgDepartmentDTO); + UserEntityInfo userEntityInfo = new UserEntityInfo(userId, ""); + String oid = platformClientUtil.getFrameworkService().saveDepartment(deptInfo, userEntityInfo); + if (Func.isEmpty(oid)) { + return false; + } + return true; + } + + /** + * 淇敼閮ㄩ棬淇℃伅 + * @param orgDepartmentDTO + * @return + */ + @Override + public boolean updateDept(OrgDepartmentDTO orgDepartmentDTO) throws PLException { + //鍒ょ┖ + VciBaseUtil.alertNotNull( + orgDepartmentDTO,"淇敼鐨勯儴闂ㄥ璞�", + orgDepartmentDTO.getOid(),"鐢ㄦ埛涓婚敭", + orgDepartmentDTO.getId(),"鐢ㄦ埛鍚�" + ); + //鎸塷id鏌ヨ鏁版嵁搴撲腑宸插瓨鍦ㄧ殑 + OrgDepartmentVO departmentVO = getDeptByDeptOid(orgDepartmentDTO.getOid()); + //鏍规嵁涓婚敭娌℃煡璇㈠埌 + OrgDepartmentDTO orgDepartmentDTO1 = new OrgDepartmentDTO(); + //榛樿灞炴�х粰璧嬪�间笂 + //BeanUtil.convert(departmentVO,orgDepartmentDTO1); + Func.copy(departmentVO,orgDepartmentDTO); + //orgDepartmentDTO1.setName(orgDepartmentDTO.getName()); + //orgDepartmentDTO1.setCode(orgDepartmentDTO.getCode()); + //orgDepartmentDTO1.setDescription(orgDepartmentDTO.getDescription()); + String loginUserId = "developer";//WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); + orgDepartmentDTO1.setLastModifier(loginUserId); + DeptInfo deptInfo = changeOrgDeptDTOToDeptInfo(orgDepartmentDTO1); + boolean updateBoolean = platformClientUtil.getFrameworkService().updateDepartment(deptInfo, new UserEntityInfo(loginUserId, null)); + return updateBoolean; + } + + /** + * Dto瀵硅薄杞琧orb瀵硅薄 + * @param orgDepartmentDTO + * @return + */ + public DeptInfo changeOrgDeptDTOToDeptInfo(OrgDepartmentDTO orgDepartmentDTO) { + DeptInfo departmentInfo = new DeptInfo(); + departmentInfo.id = orgDepartmentDTO.getOid() == null ? "" : orgDepartmentDTO.getOid(); + departmentInfo.name = orgDepartmentDTO.getName() == null ? "" : orgDepartmentDTO.getName(); + departmentInfo.num = orgDepartmentDTO.getId() == null ? "" : orgDepartmentDTO.getId(); + departmentInfo.code = orgDepartmentDTO.getCode() == null ? "" : orgDepartmentDTO.getCode(); + departmentInfo.specialties = orgDepartmentDTO.getSpecialties() == null ? "" : orgDepartmentDTO.getSpecialties(); + departmentInfo.status = orgDepartmentDTO.getStatus() == 0 ? 0 : orgDepartmentDTO.getStatus(); + departmentInfo.description = orgDepartmentDTO.getDescription() == null ? "" : orgDepartmentDTO.getDescription(); + departmentInfo.parentId = orgDepartmentDTO.getPkFatherDepartment() == null ? "" : orgDepartmentDTO.getPkFatherDepartment(); + departmentInfo.createUser = orgDepartmentDTO.getCreator() == null ? "" : orgDepartmentDTO.getCreator(); + departmentInfo.createTime = orgDepartmentDTO.getCreateTime().getTime(); + departmentInfo.updateTime = System.currentTimeMillis(); + departmentInfo.updateUser = orgDepartmentDTO.getLastModifier() == null ? "" : orgDepartmentDTO.getLastModifier(); + //departmentInfo.grantor = orgDepartmentDTO.getGrantor() == null ? "" : orgDepartmentDTO.getGrantor(); + return departmentInfo; + } + + /** + * 鍒犻櫎閮ㄩ棬 + * @param ids + * @return + */ + @Override + public boolean deleteDept(String[] ids) throws PLException { + VciBaseUtil.alertNotNull(ids,"瑕佸垹闄ょ殑閮ㄩ棬涓婚敭"); + //鍏峰杩炲甫鍒犻櫎鐨勫姛鑳斤紝濡傝鑹茶彍鍗曟巿鏉冭〃閲岄潰鐨勬巿鏉冧俊鎭� + return platformClientUtil.getFrameworkService().deleteDepartment( + ids, + new UserEntityInfo("developer"/*WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId()*/, null) + ); + } + + /** * 鑾峰彇鎵�鏈夐儴闂ㄧ殑淇℃伅 * @return key锛氶儴闂ㄧ敱鍚嶇О缁勬垚鐨勮矾寰勶紙/闂撮殧锛夛紝value瀵瑰簲鏈�灏忓眰绾х殑閮ㄩ棬淇℃伅 */ diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmPwdStrategyQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmPwdStrategyQueryServiceImpl.java index e9a2c13..36e1db7 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmPwdStrategyQueryServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmPwdStrategyQueryServiceImpl.java @@ -20,6 +20,7 @@ import com.vci.starter.web.pagemodel.PageHelper; import com.vci.starter.web.util.BeanUtil; import com.vci.starter.web.util.VciBaseUtil; +import com.vci.starter.web.util.WebThreadLocalUtil; import com.vci.starter.web.wrapper.VciQueryWrapperForDO; import com.vci.web.service.WebBoServiceI; import com.vci.web.util.Func; @@ -181,7 +182,11 @@ public boolean saveUserPasswordStrateg(String[] userIds, String passwordStrategId) throws PLException { VciBaseUtil.alertNotNull(userIds,"鐢ㄦ埛涓婚敭",passwordStrategId,"瀵嗙爜瀹夊叏绛栫暐涓婚敭"); //TODO锛氳繖閲屾病鏈夊仛鏌ラ噸澶勭悊锛屾槑澶╄寰楅獙璇佷竴涓嬭繖鍎挎槸涓嶆槸浼氳嚜鍔ㄥ仛saveOrUpdate鐨勫鐞� - return platformClientUtil.getFrameworkService().saveUserPasswordStrateg(userIds,passwordStrategId,new UserEntityInfo()); + return platformClientUtil.getFrameworkService().saveUserPasswordStrateg( + userIds, + passwordStrategId, + new UserEntityInfo(WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(),null) + ); } /** diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java index 4543a1b..fa9b95d 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java @@ -2,38 +2,51 @@ import com.vci.corba.common.PLException; import com.vci.corba.common.data.UserEntityInfo; +import com.vci.corba.framework.data.RoleInfo; import com.vci.corba.omd.data.BusinessObject; import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI; import com.vci.frameworkcore.constant.FrameWorkBtmTypeConstant; +import com.vci.frameworkcore.dto.SmRoleDTO; import com.vci.frameworkcore.enumpck.RoleClassifyEnum; import com.vci.frameworkcore.enumpck.RoleControlAreaEnum; import com.vci.frameworkcore.model.SmRoleForPlatform1; +import com.vci.frameworkcore.model.dto.SmUserDTO; +import com.vci.frameworkcore.model.po.SmRolePO; +import com.vci.frameworkcore.model.po.SmUserPO; import com.vci.frameworkcore.pagemodel.OrgDepartmentVO; import com.vci.frameworkcore.pagemodel.SmRoleVO; +import com.vci.frameworkcore.pagemodel.SmUserVO; +import com.vci.frameworkcore.properties.ConfigReader; import com.vci.omd.utils.ObjectTool; +import com.vci.starter.poi.bo.ReadExcelOption; +import com.vci.starter.poi.constant.ExcelLangCodeConstant; +import com.vci.starter.poi.util.ExcelUtil; import com.vci.starter.web.constant.QueryOptionConstant; +import com.vci.starter.web.enumpck.UserSecretEnum; import com.vci.starter.web.exception.VciBaseException; -import com.vci.starter.web.pagemodel.DataGrid; -import com.vci.starter.web.pagemodel.PageHelper; -import com.vci.starter.web.pagemodel.Tree; -import com.vci.starter.web.pagemodel.TreeQueryObject; +import com.vci.starter.web.pagemodel.*; +import com.vci.starter.web.util.LangBaseUtil; +import com.vci.web.util.BeanUtil; import com.vci.starter.web.util.VciBaseUtil; +import com.vci.starter.web.util.WebThreadLocalUtil; import com.vci.starter.web.wrapper.VciQueryWrapperForDO; -import com.vci.web.properties.WebProperties; +import com.vci.web.enumpck.UserTypeEnum; import com.vci.web.service.WebBoServiceI; import com.vci.web.util.Func; import com.vci.web.util.PlatformClientUtil; import com.vci.web.util.WebUtil; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.io.File; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; -import static com.vci.frameworkcore.constant.FrameWorkBusLangCodeConstant.DATA_OID_NOT_EXIST; /** * 瑙掕壊鐨勬煡璇㈡湇鍔★紝鍏煎鏉ュ钩鍙帮紝绱犳湁鐨勬帴鍙i兘杩斿洖鏂扮殑瑙掕壊鏄剧ず瀵硅薄 @@ -55,22 +68,31 @@ @Autowired private PlatformClientUtil platformClientUtil; + private final Integer QUERY_IN_LIMIT = 1000; + + /** + * 鏃ュ織 + */ + private Logger logger = LoggerFactory.getLogger(getClass()); + /** * 鏍规嵁瑙掕壊涓婚敭鑾峰彇瑙掕壊鐨勪俊鎭� - * @param roleOid 瑙掕壊涓婚敭 + * @param conditionMap 瑙掕壊涓婚敭 * @return 瑙掕壊鐨勬樉绀哄璞★紝濡傛灉瑙掕壊涓嶅瓨鍦ㄥ垯杩斿洖null锛屼笉浼氭姏鍑哄紓甯� * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮暟鎹簱瀛樺湪闂鐨勬椂鍊欎細鎶涘嚭寮傚父 */ @Override - public SmRoleVO getRoleByRoleOid(String roleOid) throws VciBaseException { - if(StringUtils.isBlank(roleOid)){ + public SmRoleVO getRoleByConditionMap(Map<String,String> conditionMap) throws VciBaseException { + if(Func.isEmpty(conditionMap)){ return null; } - SmRoleForPlatform1 role = boService.selectByOid(roleOid, SmRoleForPlatform1.class); - if(role == null || StringUtils.isBlank(role.getPluid())){ - throw new VciBaseException(DATA_OID_NOT_EXIST); + VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(conditionMap,SmRoleForPlatform1.class); + List<SmRoleForPlatform1> smRoleForPlatform1s = boService.selectByQueryWrapper(queryWrapper, SmRoleForPlatform1.class); + if(Func.isNotEmpty(smRoleForPlatform1s) && Func.isNotBlank(smRoleForPlatform1s.get(0).getPluid())){ + //瑙掕壊鍚嶄笉鑳介噸澶嶆墍浠ョ洿鎺ュ彇绗竴涓厓绱� + return platformRole2SmRoleVO(smRoleForPlatform1s.get(0)); } - return platformRole2SmRoleVO(role); + return null; } /** @@ -111,7 +133,6 @@ } pageHelper.addDefaultAsc("plname"); VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(queryMap,SmRoleForPlatform1.class,pageHelper); - //queryWrapper.eq("pltype","2"); List<SmRoleForPlatform1> roleForPlatform1s = boService.selectByQueryWrapper(queryWrapper, SmRoleForPlatform1.class); DataGrid<SmRoleVO> dataGrid = new DataGrid<>(); if(!CollectionUtils.isEmpty(roleForPlatform1s)){ @@ -129,10 +150,52 @@ @Override public String getRoleNameByRoleOid(String roleOid) { WebUtil.alertNotNull(roleOid,"瑙掕壊涓婚敭"); - return getRoleByRoleOid(roleOid).getName(); + Map<String, String> conditionMap = new HashMap<>(); + conditionMap.put("pluid",roleOid); + return getRoleByConditionMap(conditionMap).getName(); } - /** + /** + * 鏍规嵁瑙掕壊鍚嶆煡璇㈣鑹蹭俊鎭� + * @param roleNameList + * @param queryMap + * @return + */ + @Override + public List<SmRoleVO> listRoleByRoleName(Collection<String> roleNameList, Map<String, String> queryMap) { + if(Func.isEmpty(roleNameList)){ + return new ArrayList<>(); + } + if(queryMap == null){ + queryMap = new HashMap<>(); + } + List<SmRoleForPlatform1> roles = new ArrayList<>(); + if(roleNameList.size() > QUERY_IN_LIMIT){ + Map<String, String> finalQueryMap = queryMap; + WebUtil.switchCollectionForOracleIn(roleNameList).stream().forEach(roleNames->{ + Map<String,String> conditionMap = new HashMap<>(); + finalQueryMap.forEach((key,value)->{ + conditionMap.put(key,value); + }); + conditionMap.put("plname", QueryOptionConstant.IN + WebUtil.toInSql(roleNames.toArray(new String[0]))); + VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(conditionMap,SmRoleForPlatform1.class); + List<SmRoleForPlatform1> roleForPlatform1s = boService.selectByQueryWrapper(queryWrapper, SmRoleForPlatform1.class); + if(!CollectionUtils.isEmpty(roleForPlatform1s)){ + roles.addAll(roleForPlatform1s); + } + }); + }else{ + queryMap.put("plname", QueryOptionConstant.IN + WebUtil.toInSql(roleNameList.toArray(new String[0]))); + } + VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(queryMap,SmRoleForPlatform1.class); + List<SmRoleForPlatform1> roleForPlatform1s = boService.selectByQueryWrapper(queryWrapper, SmRoleForPlatform1.class); + if(!CollectionUtils.isEmpty(roleForPlatform1s)){ + roles.addAll(roleForPlatform1s); + } + return platformRole2SmRoleVOs(roles); + } + + /** * 鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇鍏宠仈鐨勮鑹� * @param userOid 鐢ㄦ埛涓婚敭 * @param queryMap 鏌ヨ鏉′欢锛屽鏋滈渶瑕佷娇鐢ㄧ敤鎴风殑灞炴�ф潵鏌ヨ鍙互浣跨敤pkUser.xxxx @@ -234,20 +297,8 @@ @Override public List<SmRoleVO> listRoleUnInUserOid(String userOid, Map<String, String> queryMap) { - return listRoleByUserOid(userOid,queryMap,true); - } - /** - * 鑾峰彇鏈叧鑱旀煇涓敤鎴风殑瑙掕壊 - * @param userOid 鐢ㄦ埛涓婚敭 - * @param queryMap 鏌ヨ鏉′欢锛屽鏋滈渶瑕佷娇鐢ㄧ敤鎴风殑灞炴�ф潵鏌ヨ鍙互浣跨敤pkUser.xxxx - * @param pageHelper 鍒嗛〉鍜屾帓搴忓璞★紝鑰佸钩鍙颁笉鏀寔浣跨敤瑙掕壊缂栧彿鏉ユ帓搴� - * @return 瑙掕壊鐨勬樉绀哄璞� - */ - @Override - public DataGrid<SmRoleVO> gridRoleUninUserOid(String userOid, - Map<String, String> queryMap, PageHelper pageHelper) { - return gridRoleByUserOid(userOid,queryMap,pageHelper,true); + return listRoleByUserOid(userOid,queryMap,true); } /** @@ -467,7 +518,7 @@ } /** - * 鍙傜収瑙掕壊鐨勫垪琛紝涓夊憳绠$悊鐨勪笁涓鑹蹭笉浼氭樉绀� + * 鍙傜収瑙掕壊鐨勫垪琛紝瓒呯鏌ュ叏閮紝鍏朵粬鐨勯兘鏄煡鏅�氱殑锛堜笉鍖呭惈涓夊憳锛� * @param queryMap 鏌ヨ鏉′欢 * @param pageHelper 鍒嗛〉鍜屾帓搴忕殑淇℃伅锛屽湪鍏煎鑰佸钩鍙扮殑鏃跺�欎細鑷姩鍏煎锛屽鏋滃睘鎬т笉瀛樺湪浼氳嚜鍔ㄥ拷鐣� * @return 瑙掕壊鐨勬樉绀哄璞″垪琛� @@ -477,6 +528,11 @@ public DataGrid<SmRoleVO> refGridRoles(Map<String, String> queryMap, PageHelper pageHelper) throws VciBaseException { //鑰佸钩鍙版病鏈夌敓鏁堢姸鎬� + //鏍规嵁褰撳墠鐢ㄦ埛鏉ュ喅瀹氳兘鏌ラ偅浜涜鑹诧細鏅�氱敤鎴峰彧鑳芥煡鏅�氳鑹诧紝绠$悊鍛樺拰鏅�氱敤鎴峰彧鑳芥煡鏅�氳鑹� + String usertype = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUsertype(); + if(!UserTypeEnum.SUPPER_ADMIN.getValue().equals(usertype)){ + queryMap.put("pltype","2"); + } return gridRoles(queryMap, pageHelper); } @@ -511,16 +567,208 @@ } /** - * 璇ユ柟娉曞彧鏀寔涓�娆″彧鍏佽鍗曚釜鐢ㄦ埛鍒嗛厤澶氫釜瑙掕壊锛屼竴瀵瑰 - * @param userOid + * 淇濆瓨鐢ㄦ埛瑙掕壊鍏宠仈鍏崇郴 + * @param userOids * @param roleIds * @return */ @Override - public boolean saveRights(String userOid, String[] roleIds) throws PLException { - VciBaseUtil.alertNotNull(userOid,"鐢ㄦ埛涓婚敭"); + public boolean saveRights(String[] userOids, String[] roleIds) throws PLException { + VciBaseUtil.alertNotNull(userOids,"鐢ㄦ埛涓婚敭"); //roleIds鍏佽涓虹┖锛屼负绌烘椂娓呯┖褰撳墠鐢ㄦ埛鐨勬潈闄� - return platformClientUtil.getFrameworkService().saveRights(roleIds,new String[]{userOid},new UserEntityInfo()); + return platformClientUtil.getFrameworkService().saveRights(roleIds,userOids,new UserEntityInfo()); + } + + /** + * 鏂板瑙掕壊 + * @param smRoleDTO + * @return true鎴愬姛锛宖alse澶辫触 + */ + @Override + public boolean addRole(SmRoleDTO smRoleDTO) throws PLException { + //鍒ょ┖ + VciBaseUtil.alertNotNull( + smRoleDTO,"娣诲姞鐨勮鑹插璞�", + smRoleDTO.getName(),"瑙掕壊鍚�"); + //瑙掕壊鍚嶅垽閲� + Map<String, String> conditionMap = new HashMap<>(); + conditionMap.put("plname",smRoleDTO.getName()); + SmRoleVO dbSmRoleVO = getRoleByConditionMap(conditionMap); + if(Func.isNotEmpty(dbSmRoleVO)){ + throw new VciBaseException("璇ヨ鑹插悕绉板凡缁忓瓨鍦�,璇蜂慨鏀�!"); + } + SessionInfo loginUser = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); + String userId = loginUser.getUserId(); + //瑙掕壊绫诲瀷锛岃繖閲岃缃簡浼氬湪changeRoleObjectToRoleInfo涓浆鎹� + if(UserTypeEnum.SUPPER_ADMIN.getValue().equals(loginUser.getUsertype())){ + smRoleDTO.setRoleClassify(RoleClassifyEnum.MANAGE.getValue()); + }else { + smRoleDTO.setRoleClassify(RoleClassifyEnum.BUSINESS.getValue()); + } + //鐢熸垚瀛樺偍鐨刢orba瀵硅薄 + Date date = new Date(); + smRoleDTO.setCreateTime(date); + smRoleDTO.setCreator(userId); + smRoleDTO.setLastModifier(userId); + RoleInfo roleInfo = changeSmRoleDTOToRoleInfo(smRoleDTO); + UserEntityInfo userEntityInfo = new UserEntityInfo(userId, ""); + String oid = platformClientUtil.getFrameworkService().saveRole(roleInfo, userEntityInfo,null); + if (Func.isEmpty(oid)) { + return false; + } + return true; + } + + /** + * 淇敼瑙掕壊 + * @param smRoleDTO + * @return + */ + @Override + public boolean updateRole(SmRoleDTO smRoleDTO) throws PLException { + //鍒ょ┖ + VciBaseUtil.alertNotNull( + smRoleDTO,"娣诲姞鐨勮鑹插璞�", + smRoleDTO.getName(),"瑙掕壊鍚�"); + //鏌ヨ鏁版嵁搴撲腑鐨勶紝鏍规嵁瑙掕壊鍚嶆煡 + Map<String, String> conditionMap = new HashMap<>(); + conditionMap.put("pluid",smRoleDTO.getOid()); + SmRoleVO dbSmRoleVO = getRoleByConditionMap(conditionMap); + //鏍规嵁涓婚敭娌℃煡璇㈠埌浜嗙敤鎴� + if(Func.isEmpty(dbSmRoleVO) || Func.isBlank(dbSmRoleVO.getOid())){ + throw new PLException("500", new String[] { "褰撳墠淇敼鐨勮鑹蹭笉瀛樺湪!"}); + } + //瑙掕壊鍚嶇浉绛夛紝浣嗘槸涓婚敭涓嶇浉绛夛紝璇存槑淇敼涓虹殑瑙掕壊鍚嶅凡瀛樺湪锛屼笉鑳介噸澶� + if(dbSmRoleVO.getName().equals(smRoleDTO.getName()) && !dbSmRoleVO.getOid().equals(smRoleDTO.getOid())){ + throw new PLException("500", new String[] { "璇ヨ鑹插悕绉板凡缁忓瓨鍦�,璇蜂慨鏀�!"}); + } + SmRoleDTO smRoleDTO1 = new SmRoleDTO(); + BeanUtil.copy(dbSmRoleVO,smRoleDTO1); + smRoleDTO1.setName(smRoleDTO.getName()); + smRoleDTO1.setDescription(smRoleDTO.getDescription()); + String loginUserId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();; //"developer" + smRoleDTO.setLastModifier(loginUserId); + RoleInfo roleInfo = changeSmRoleDTOToRoleInfo(smRoleDTO1); + boolean updateBoolean = platformClientUtil.getFrameworkService().updateRole(roleInfo, new UserEntityInfo(loginUserId, null)); + return updateBoolean; + } + + /** + * 鍒犻櫎瑙掕壊 + * @param ids + * @return + * @throws PLException + */ + @Override + public boolean deleteRole(String[] ids) throws PLException { + VciBaseUtil.alertNotNull(ids,"瑕佸垹闄ょ殑瑙掕壊涓婚敭"); + //鍏峰杩炲甫鍒犻櫎鐨勫姛鑳斤紝濡傝鑹茶彍鍗曟巿鏉冭〃閲岄潰鐨勬巿鏉冧俊鎭� + return platformClientUtil.getFrameworkService().deleteRole( + ids, + new UserEntityInfo(WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(), null) + ); + } + + /** + * 瀵煎叆瑙掕壊 + * @param file + * @return + * @throws VciBaseException + */ + @Override + public BaseResult importRole(File file) throws VciBaseException { + VciBaseUtil.alertNotNull(file,"excel鏂囦欢"); + if(!file.exists()){ + throw new VciBaseException("瀵煎叆鐨別xcel鏂囦欢涓嶅瓨鍦�,{0}",new String[]{file.getPath()}); + } + try{ + //1銆佽鍙杄xcel涓殑鏁版嵁锛岀粍鎴愬璞� + ReadExcelOption excelOption = new ReadExcelOption(); + //璇诲彇excel杞崲涓簆o瀵硅薄 + List<SmRolePO> poList = ExcelUtil.readDataObjectFromExcel(file, SmRolePO.class,excelOption,(value, po, fieldName)->{}); + //鍘婚櫎閮芥槸绌虹殑鎯呭喌 + if(CollectionUtils.isEmpty(poList)){ + return BaseResult.fail(ExcelLangCodeConstant.IMPORT_CONTENT_NULL,new String[]{}); + } + //鏁版嵁搴撴煡璇㈡槸鍚︽湁宸插瓨鍦ㄧ殑瑙掕壊鍚嶏紝鏂逛究鍚庣画鍋氬垽閲嶅鐞� + List<SmRoleVO> smRoleVOList = this.listRoleByRoleName(poList.stream().map(SmRolePO::getName).collect(Collectors.toSet()),null); + List<String> repeatRoleName = new ArrayList<>(); + if(Func.isNotEmpty(smRoleVOList)){ + repeatRoleName = smRoleVOList.stream().map(SmRoleVO::getName).collect(Collectors.toList()); + } + //褰撳墠excel涓槸鍚﹂噸澶嶇敤鐨勫垽閲峂ap:锛坘ey锛氳处鍙凤紝value锛氳鍙凤級 + Map<String, String> excelReapeat = new HashMap<>(); + //鍒ゆ柇蹇呭~灞炴�ф槸鍚︿负绌猴紝瑙掕壊鏄惁宸插瓨鍦紝浠ュ強琛ㄦ牸鍐呮槸鍚﹂噸澶� + List<String> finalRepeatroleName = repeatRoleName; + poList.stream().forEach(smRolePO -> { + //鍏堝蹇呭~灞炴�у垽绌哄鐞� + if(Func.isBlank(smRolePO.getName())){ + throw new VciBaseException("绗��"+smRolePO.getRowIndex()+"銆戣锛宺olenameerror"); + }else if(finalRepeatroleName.contains(smRolePO.getName())){//鍒ゆ柇瑙掕壊鍚嶆槸鍚︿笌搴撲腑閲嶅 + throw new VciBaseException("绗��"+smRolePO.getRowIndex()+"銆戣锛岃鑹插悕鍦ㄧ郴缁熶腑宸茬粡瀛樺湪,璇蜂慨鏀�!"); + }else if(excelReapeat.containsKey(smRolePO.getName())){//琛ㄦ牸涓垽閲� + throw new VciBaseException("绗��"+excelReapeat.get(smRolePO.getName())+"銆戣鍜岀銆�"+smRolePO.getRowIndex()+"銆戣鏁版嵁锛岃鑹插悕閲嶅"); + } + excelReapeat.put(smRolePO.getName(),smRolePO.getRowIndex()); + }); + //淇濆瓨閫昏緫 + poList.stream().forEach(smRolePO->{ + try { + SmRoleDTO smRoleDTO = new SmRoleDTO(); + BeanUtil.copy(smRolePO,smRoleDTO); + //SessionInfo loginUser = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); + String userId = "developer";//loginUser.getUserId(); + //瑙掕壊绫诲瀷锛岃繖閲岃缃簡浼氬湪changeRoleObjectToRoleInfo涓浆鎹� + if(UserTypeEnum.SUPPER_ADMIN.getValue().equals("0")){ + smRoleDTO.setRoleClassify(RoleClassifyEnum.MANAGE.getValue()); + }else { + smRoleDTO.setRoleClassify(RoleClassifyEnum.BUSINESS.getValue()); + } + //鐢熸垚瀛樺偍鐨刢orba瀵硅薄 + Date date = new Date(); + smRoleDTO.setCreateTime(date); + smRoleDTO.setCreator(userId); + smRoleDTO.setLastModifier(userId); + RoleInfo roleInfo = changeSmRoleDTOToRoleInfo(smRoleDTO); + UserEntityInfo userEntityInfo = new UserEntityInfo(userId, ""); + //鎵ц淇濆瓨 + platformClientUtil.getFrameworkService().saveRole(roleInfo, userEntityInfo); + } catch (PLException e) { + e.printStackTrace(); + throw new VciBaseException("鎵ц鍒扮銆�"+smRolePO.getRowIndex()+"銆戣淇濆瓨閫昏緫鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e)); + } + }); + }catch (Exception e){ + if(logger.isErrorEnabled()){ + logger.error("璇诲彇excel鍐呭鏃舵垨淇濆瓨瑙掕壊淇℃伅鏃跺嚭鐜颁簡閿欒锛屽叿浣撳師鍥狅細",e.getMessage()); + } + e.printStackTrace(); + return BaseResult.fail(LangBaseUtil.getErrorMsg(e),new String[]{},e); + } + return BaseResult.success("瑙掕壊瀵煎叆鎴愬姛锛�"); + } + + /** + * 瑙掕壊DTO瀵硅薄杞琧orba瀵硅薄 + * @param role + * @return + */ + public RoleInfo changeSmRoleDTOToRoleInfo(SmRoleDTO role) { + RoleInfo roleInfo = new RoleInfo(); + roleInfo.id = role.getOid() == null ? "" : role.getOid(); + roleInfo.name = role.getName(); + roleInfo.description = role.getDescription() == null ? "" : role.getDescription(); + //绠$悊鍛樿鑹查粯璁や负1锛屾櫘閫氳鑹查粯璁や负2锛屼絾鏄兘闇�瑕佽缃皬涓�涓紝鍥犱负鍚庡彴鍒ゆ柇褰搕ype<2鏃朵細鎷縯ype+1 + if(RoleClassifyEnum.MANAGE.getValue().equals(role.getRoleClassify())){ + roleInfo.type = 0; + }else{ + roleInfo.type = 1; + } + roleInfo.createTime = role.getCreateTime().getTime(); + roleInfo.createUser = role.getCreator() == null ? "" : role.getCreator(); + roleInfo.updateTime = System.currentTimeMillis(); + roleInfo.updateUser = role.getLastModifier() == null ? "" : role.getLastModifier(); + return roleInfo; } /** @@ -532,7 +780,7 @@ List<SmRoleVO> roleVOList = new ArrayList<>(); if(!CollectionUtils.isEmpty(roleForPlatform1List)){ roleForPlatform1List.stream().forEach(s -> { - roleVOList.add( platformRole2SmRoleVO(s)); + roleVOList.add(platformRole2SmRoleVO(s)); }); } return roleVOList; @@ -555,11 +803,12 @@ } roleVO.setRoleClassifyText(RoleClassifyEnum.getTextByValue(roleVO.getRoleClassify())); roleVO.setRoleControlArea(RoleControlAreaEnum.BS.getValue()); - roleVO.setRoleClassifyText(RoleControlAreaEnum.BS.getText()); - roleVO.setCreateTime(roleForPlatform1.getPlcreatetime()); + roleVO.setRoleControlAreaText(RoleControlAreaEnum.BS.getText()); + roleVO.setDescription(roleForPlatform1.getPldesc()); + roleVO.setCreateTime(new Date(roleForPlatform1.getPlcreatetime())); roleVO.setCreator(roleForPlatform1.getPlcreateuser()); roleVO.setLastModifier(roleForPlatform1.getPlupdateuser()); - roleVO.setLastModifyTime(roleForPlatform1.getPlupdatetime()); + roleVO.setLastModifyTime(new Date(roleForPlatform1.getPlupdatetime())); roleVO.setBtmname(FrameWorkBtmTypeConstant.SM_ROLE_BTM_TYPE); roleVO.setOwner(roleVO.getCreator()); roleVO.setTs(roleVO.getLastModifyTime()); diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java index 3bce07c..9930d7f 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java @@ -30,6 +30,7 @@ import com.vci.starter.web.util.*; import com.vci.starter.web.wrapper.VciQueryWrapperForDO; import com.vci.web.enumpck.UserTypeEnum; +import com.vci.web.model.WFProcessClassifyDO; import com.vci.web.service.WebBoServiceI; import com.vci.web.util.Func; import com.vci.web.util.PlatformClientUtil; @@ -320,6 +321,7 @@ smUserVO.setEmail(userInfo.email); smUserVO.setStatus(userInfo.status); smUserVO.setPassword(userInfo.pwd); + smUserVO.setConfirmPassword(userInfo.pwd); //鐢ㄦ埛鎵�灞為儴闂ㄧ殑鏌ヨ璁剧疆 List<OrgDepartmentVO> orgDepartmentVOList; //鏌ョ湅鍏ㄥ眬鍙橀噺涓槸鍚﹀瓨鍦ㄩ儴闂ㄤ俊鎭紝瀛樺湪鐨勬儏鍐垫渶涓昏鏄拡瀵瑰鏉$敤鎴锋煡璇㈢殑鏃跺�欓伩鍏嶉噸澶嶆煡璇㈢殑 @@ -508,19 +510,6 @@ } /** - * 鑾峰彇鐢ㄦ埛鐨勫垪琛紝榛樿浼氫互鐢ㄦ埛鍚嶅崌搴忔帓鍒楋紝鐢ㄦ埛鐨勭紪杈戦〉闈㈠垪琛ㄤ笉瑕佷娇鐢ㄨ繖涓帴鍙� - * @param queryMap 鏌ヨ鏉′欢 - * @param pageHelper 鍒嗛〉鍜屾帓搴忕殑淇℃伅锛屽湪鍏煎鑰佸钩鍙扮殑鏃跺�欎細鑷姩鍏煎锛屽鏋滃睘鎬т笉瀛樺湪浼氳嚜鍔ㄥ拷鐣� - * @return 鐢ㄦ埛鐨勬樉绀哄璞″垪琛� - * @throws VciBaseException 鍙傛暟涓虹┖鐨勬椂鍊欎細鎶涘嚭寮傚父 - */ - @Override - public DataGrid<SmUserVO> gridUsers(Map<String, String> queryMap, - PageHelper pageHelper) throws VciBaseException { - return gridUserByQueryField(null,null,queryMap,pageHelper,false); - } - - /** * 鐢ㄦ埛绠$悊鐣岄潰鍒嗛〉鏌ヨ * @param conditionMap 鏌ヨ鏉′欢 * @param pageHelper 鍒嗛〉鍙傛暟 @@ -532,8 +521,8 @@ pageHelper = new PageHelper(-1); } pageHelper.addDefaultAsc("PLTRUENAME"); - //TODO:涓轰簡鏂逛究璋冭瘯锛屾墍浠ヨ繖鍎垮厛娉ㄩ噴鍐欐鍚庨潰璁板緱鏇存敼 String loginUserId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); + //String loginUserId = "Ludc"; //鍒嗛〉鏌ヨ UserInfo[] userInfos = platformClientUtil.getFrameworkService().fetchUserInfoByCondition( conditionMap.get("name"), @@ -551,6 +540,7 @@ smRoleVOMap = smRoleQueryService.batchListRoleByUserOids(idList,null); smPwdStrategyVOMap = smPwdStrategyQueryService.batchSmPwdStrategyByUserOids(idList); dataGrid.setData(userInfoArr2VO(userInfos)); + //TODO: 杩欎釜缁熻鎬绘暟鏈夐棶棰橈紝甯﹁繃鍘荤殑鍙傛暟涓嶈兘鍍忎笂闈㈤偅涓猣etchUserInfoByCondition鏌ヨ涓�鏍风粺璁″鍗寸殑鎬绘暟 dataGrid.setTotal( platformClientUtil.getFrameworkService().getUserTotalByCondition( conditionMap.get("name"), @@ -607,24 +597,110 @@ return userVO.getName(); } + /** + * 缁熻閮ㄩ棬涓嬬殑鐢ㄦ埛锛氬寘鍚瓙閮ㄩ棬涓嬬殑鐢ㄦ埛 + * @param deptOid + * @param queryMap + * @return + * @throws VciBaseException + */ + @Override + public List<SmUserVO> countSmUserByDeptOid(String deptOid, Map<String, String> queryMap) throws VciBaseException { + //鏄惁鏌ヨ瀛愰儴闂ㄤ笅鍏宠仈鐨勭敤鎴� + List<OrgDepartmentVO> orgDepartmentVOList = orgDeptQueryService.listChildrenDeptByParentOid(deptOid, null); + List<String> deptOidCollection = orgDepartmentVOList.stream().map(OrgDepartmentVO::getOid).collect(Collectors.toList()); + deptOidCollection.add(deptOid);//灏嗗綋鍓嶅眰鐨刼id涔熸斁杩涘幓 + return listUserVOByDeptOid(queryMap,deptOidCollection,false); + } + /** - * 鏌ヨ鏌愪釜閮ㄩ棬涓嬬殑鐢ㄦ埛瀵硅薄 + * 鏌ヨ鍦ㄦ煇涓儴闂ㄤ笅鐨勭敤鎴峰璞� * @param deptOid 閮ㄩ棬鐨勪富閿� * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸閮ㄩ棬鐨勬煇涓睘鎬т綔涓烘煡璇㈡潯浠讹紝鍒欏彲浠ヤ娇鐢╬kDepartment.xxx杩欐牱鐨勬柟寮� * @return 鐢ㄦ埛鐨勬樉绀哄璞″垪琛� * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 */ @Override - public List<SmUserVO> listUserByDeptOid(String deptOid, - Map<String, String> queryMap) throws VciBaseException { - if(StringUtils.isBlank(deptOid)){ - return new ArrayList<>(); - } - return listUserByQueryField(QUERY_FIELD_DEPARTMENT,deptOid,queryMap,false); + public List<SmUserVO> listUserByDeptOid(String deptOid, Map<String, String> queryMap) throws VciBaseException { + //鏌ヨ褰撳墠閫変腑鐨勯儴闂ㄤ笅鐨勭敤鎴� + return listUserVOByDeptOid(queryMap,Arrays.asList(deptOid),false ); } /** - * 鑾峰彇鏌ヨ灏佽鍣紝榛樿鍙煡浜唒lstatus=0鍜宲lusertype=2锛屾帓搴忛粯璁lusername + * 鏌ヨ涓嶅湪鏌愪釜閮ㄩ棬涓嬬殑鐢ㄦ埛瀵硅薄鍒楄〃 + * @param deptOid 閮ㄩ棬鐨勪富閿� + * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸閮ㄩ棬鐨勬煇涓睘鎬т綔涓烘煡璇㈡潯浠讹紝鍒欏彲浠ヤ娇鐢╬kDepartment.xxx杩欐牱鐨勬柟寮� + * @return 鐢ㄦ埛鐨勬樉绀哄璞″垪琛紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� + * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 + */ + @Override + public List<SmUserVO> listUserUnInDeptOid(String deptOid, Map<String, String> queryMap) throws VciBaseException { + // TODO:鏍规嵁褰撳墠鐧诲綍鐨勭敤鎴峰喅瀹氳兘鏌ラ偅浜涚敤鎴� + String userType = "0";//WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUsertype(); + //鏍规嵁褰撳墠鐧诲綍鐨勭敤鎴风被鍨嬩笉鍚岋紝鏌ヨ涓嶅悓鐨勭敤鎴� + if(UserTypeEnum.SUPPER_ADMIN.getValue().equals(userType)){ + //瓒呯鐢ㄦ埛鍙兘鏌ョ鐞嗗憳鐢ㄦ埛 + queryMap.put("plusertype", "1"); + }else{ + //闄や簡瓒呯閮藉彧鑳芥煡鏅�氱敤鎴� + queryMap.put("plusertype", "2"); + } + return listUserVOByDeptOid(queryMap,Arrays.asList(deptOid),true); + } + + /** + * 鐢ㄦ埛鏍规嵁閮ㄩ棬鏌ヨ鐨勭粺涓�鏂规硶 + * @param conditionMap 鏌ヨ鏉′欢 + * @param deptOidList 閮ㄩ棬涓婚敭 + * @param notIn true寰呴�夛紝false宸查�� + * @return + */ + private List<SmUserVO> listUserVOByDeptOid(Map<String,String> conditionMap/*鏀剧疆鏌ヨ鏉′欢*/,List<String> deptOidList,boolean notIn){ + //鍏堟煡璇㈠凡閫変汉鍛榦id + List<String> userOidList = new ArrayList<>(); + WebUtil.switchCollectionForOracleIn(deptOidList).stream().forEach(deptOids->{ + String sql = "select pluseruid,pldeptuid from pluserdept where pldeptuid in (" + WebUtil.toInSql(deptOids.toArray(new String[0])) + ")"; + List<BusinessObject> cbos = boService.queryBySql(sql, null); + //閬嶅巻鍑虹敤鎴蜂富閿� + cbos.stream().forEach(cbo->{ + userOidList.add(ObjectTool.getNewBOAttributeValue(cbo,"pluseruid")); + }); + }); + //鏍规嵁鐢ㄦ埛oid鏌ヨ鐢ㄦ埛 + VciQueryWrapperForDO queryWrapperForDO = new VciQueryWrapperForDO(conditionMap, SmUserDO.class); + //娣诲姞杩炶〃鏌ヨ鏉′欢 + queryWrapperForDO.setLinkTableSql(" left join pluserdept up on " + queryWrapperForDO.getTableNick() + ".pluid = up.pluseruid" + + " left join pldept pkDepartment on up.pldeptuid = pkDepartment.pluid " + + " left join PLUSERPASSWORDSTRATEGY pkUserPassword on " +queryWrapperForDO.getTableNick() + ".pluid = pkUserPassword.pluseruid "); + List<SmUserDO> smUserDOList = new ArrayList<>(); + //userOidList涓虹┖鏃剁殑涓ょ鎯呭喌 + if(Func.isEmpty(userOidList)){ + //濡傛灉鏄凡閫夋煡璇㈣鏄庡凡閫変负绌虹洿鎺ヨ繑鍥炵┖ + if(!notIn){ + return new ArrayList<>(); + } + //涓嶆槸宸查�夋煡璇㈣鏄庡緟閫変负绌猴紝鐩存帴鏌ヨ鐢ㄦ埛 + smUserDOList.addAll(boService.selectByQueryWrapper(queryWrapperForDO, SmUserDO.class)); + }else{ + //宸查�夋煡璇紝鎴栧緟閫夋煡璇紝浣嗘槸璇ラ儴闂ㄥ瓨鍦ㄧ浉鍏抽厤缃� + WebUtil.switchCollectionForOracleIn(userOidList).stream().forEach(userOids->{ + //鏌ヨ涓嶅湪鑼冨洿鍐呯殑锛氬緟閫変汉鍛� + if(notIn){ + queryWrapperForDO.notIn(queryWrapperForDO.getTableNick()+".pluid",WebUtil.toInSql(userOids.toArray(new String[0]))); + + }else{ + //宸查�変汉鍛樺拰缁熻 + queryWrapperForDO.in(queryWrapperForDO.getTableNick()+".pluid",WebUtil.toInSql(userOids.toArray(new String[0]))); + } + smUserDOList.addAll(boService.selectByQueryWrapper(queryWrapperForDO, SmUserDO.class)); + }); + } + return smUserDO2VOs(smUserDOList); + } + + /** + * 鑾峰彇鏌ヨ灏佽鍣紝榛樿鍙煡浜唒lstatus=0鍜宲lusertype=2锛堟敼鎴愭牴鎹綋鍓嶇櫥褰曠殑鐢ㄦ埛鏉ュ喅瀹氭煡浠�涔堢被鍨嬬殑鐢ㄦ埛锛夛紝 + * 鎺掑簭榛樿plusername * @param queryField 鏌ヨ灞炴�� * @param queryValue 鏌ヨ鐨勫�� * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸瑙掕壊鐨勫睘鎬э紝闇�瑕佷娇鐢╬krole.xxx @@ -655,24 +731,17 @@ } addRoleQuerySql(queryMap,queryWrapperForDO); queryWrapperForDO.eq("plstatus", "0"); - queryWrapperForDO.eq("plusertype", "2"); - queryWrapperForDO.setDistinct(true); + // TODO:鏍规嵁褰撳墠鐧诲綍鐨勭敤鎴峰喅瀹氳兘鏌ラ偅浜涚敤鎴� + SessionInfo loginUser = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); + //鏍规嵁褰撳墠鐧诲綍鐨勭敤鎴风被鍨嬩笉鍚岋紝鏌ヨ涓嶅悓鐨勭敤鎴� + if(UserTypeEnum.SUPPER_ADMIN.getValue().equals(loginUser.getUsertype())){ + //瓒呯鐢ㄦ埛鍙兘鏌ョ鐞嗗憳鐢ㄦ埛 + queryMap.put("plusertype", "1"); + }else{ + //闄や簡瓒呯閮藉彧鑳芥煡鏅�氱敤鎴� + queryMap.put("plusertype", "2"); + } return queryWrapperForDO; - } - - /** - * 鏌ヨ鏌愪釜閮ㄩ棬涓嬬殑鐢ㄦ埛瀵硅薄鍒楄〃 - * @param deptOid 閮ㄩ棬鐨勪富閿� - * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸閮ㄩ棬鐨勬煇涓睘鎬т綔涓烘煡璇㈡潯浠讹紝鍒欏彲浠ヤ娇鐢╬kDepartment.xxx杩欐牱鐨勬柟寮� - * @param pageHelper 鍒嗛〉鍜屾帓搴忎俊鎭紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @return 鐢ㄦ埛鐨勬樉绀哄璞″垪琛紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - @Override - public DataGrid<SmUserVO> gridUserByDeptOid(String deptOid, - Map<String, String> queryMap, PageHelper pageHelper) - throws VciBaseException { - return gridUserByQueryField(QUERY_FIELD_DEPARTMENT,deptOid,queryMap,pageHelper,false); } /** @@ -695,37 +764,6 @@ } /** - * 鏌ヨ涓嶅湪鏌愪釜閮ㄩ棬涓嬬殑鐢ㄦ埛瀵硅薄鍒楄〃 - * @param deptOid 閮ㄩ棬鐨勪富閿� - * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸閮ㄩ棬鐨勬煇涓睘鎬т綔涓烘煡璇㈡潯浠讹紝鍒欏彲浠ヤ娇鐢╬kDepartment.xxx杩欐牱鐨勬柟寮� - * @return 鐢ㄦ埛鐨勬樉绀哄璞″垪琛紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - @Override - public List<SmUserVO> listUserUnInDeptOid(String deptOid, - Map<String, String> queryMap) throws VciBaseException { - if(StringUtils.isBlank(deptOid)){ - return new ArrayList<>(); - } - return listUserByQueryField(QUERY_FIELD_DEPARTMENT,deptOid,queryMap,true); - } - - /** - * 鏌ヨ涓嶅湪鏌愪釜閮ㄩ棬涓嬬殑鐢ㄦ埛瀵硅薄鍒楄〃 - * @param deptOid 閮ㄩ棬鐨勪富閿� - * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸閮ㄩ棬鐨勬煇涓睘鎬т綔涓烘煡璇㈡潯浠讹紝鍒欏彲浠ヤ娇鐢╬kDepartment.xxx杩欐牱鐨勬柟寮� - * @param pageHelper 鍒嗛〉鍜屾帓搴忎俊鎭紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @return 鐢ㄦ埛鐨勬樉绀哄璞″垪琛紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - @Override - public DataGrid<SmUserVO> gridUserUnInDeptOid(String deptOid, - Map<String, String> queryMap, PageHelper pageHelper) - throws VciBaseException { - return gridUserByQueryField(QUERY_FIELD_DEPARTMENT,deptOid,queryMap,pageHelper,true); - } - - /** * 鏌ヨ鏌愪釜瑙掕壊涓嬬殑鐢ㄦ埛瀵硅薄 * @param roleOid 瑙掕壊鐨勪富閿� * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸瑙掕壊鐨勬煇涓睘鎬т綔涓烘煡璇㈡潯浠讹紝鍒欏彲浠ヤ娇鐢╬kRole.xxx杩欐牱鐨勬柟寮� @@ -735,26 +773,7 @@ @Override public List<SmUserVO> listUserByRoleOid(String roleOid, Map<String, String> queryMap) throws VciBaseException { - if(StringUtils.isBlank(roleOid)){ - return new ArrayList<>(); - } - return listUserByQueryField(QUERY_FIELD_ROLE,roleOid,queryMap,false); - - } - - /** - * 鏌ヨ鏌愪釜瑙掕壊涓嬬殑鐢ㄦ埛瀵硅薄鍒楄〃 - * @param roleOid 瑙掕壊鐨勪富閿� - * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸瑙掕壊鐨勬煇涓睘鎬т綔涓烘煡璇㈡潯浠讹紝鍒欏彲浠ヤ娇鐢╬kRole.xxx杩欐牱鐨勬柟寮� - * @param pageHelper 鍒嗛〉鍜屾帓搴忎俊鎭紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @return 鐢ㄦ埛鐨勬樉绀哄璞″垪琛紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - @Override - public DataGrid<SmUserVO> gridUserByRoleOid(String roleOid, - Map<String, String> queryMap, PageHelper pageHelper) - throws VciBaseException { - return gridUserByQueryField(QUERY_FIELD_ROLE,roleOid,queryMap,pageHelper,false); + return listUserVOByRoleOid(queryMap,roleOid,false); } /** @@ -767,25 +786,54 @@ @Override public List<SmUserVO> listUserUnInRoleOid(String roleOid, Map<String, String> queryMap) throws VciBaseException { - if(StringUtils.isBlank(roleOid)){ - return new ArrayList<>(); + // TODO:鏍规嵁褰撳墠鐧诲綍鐨勭敤鎴峰喅瀹氳兘鏌ラ偅浜涚敤鎴� + String usertype = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUsertype(); + //鏍规嵁褰撳墠鐧诲綍鐨勭敤鎴风被鍨嬩笉鍚岋紝鏌ヨ涓嶅悓鐨勭敤鎴� + if(UserTypeEnum.SUPPER_ADMIN.getValue().equals(usertype)){ + //瓒呯鐢ㄦ埛鍙兘鏌ョ鐞嗗憳鐢ㄦ埛 + queryMap.put("plusertype", "1"); + }else{ + //闄や簡瓒呯閮藉彧鑳芥煡鏅�氱敤鎴� + queryMap.put("plusertype", "2"); } - return listUserByQueryField(QUERY_FIELD_ROLE,roleOid,queryMap,true); + return listUserVOByRoleOid(queryMap,roleOid,true); } - /** - * 鏌ヨ涓嶅湪鏌愪釜瑙掕壊涓嬬殑鐢ㄦ埛瀵硅薄鍒楄〃 - * @param roleOid 瑙掕壊鐨勪富閿� - * @param queryMap 鏌ヨ鏉′欢锛屽鏋滄槸瑙掕壊鐨勬煇涓睘鎬т綔涓烘煡璇㈡潯浠讹紝鍒欏彲浠ヤ娇鐢╬kRole.xxx杩欐牱鐨勬柟寮� - * @param pageHelper 鍒嗛〉鍜屾帓搴忎俊鎭紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @return 鐢ㄦ埛鐨勬樉绀哄璞″垪琛紝榛樿浣跨敤鐢ㄦ埛鍚嶅崌搴忔帓鍒� - * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - @Override - public DataGrid<SmUserVO> gridUserUnInRoleOid(String roleOid, - Map<String, String> queryMap, PageHelper pageHelper) - throws VciBaseException { - return gridUserByQueryField(QUERY_FIELD_ROLE,roleOid,queryMap,pageHelper,true); + /** + * 鐢ㄦ埛鏍规嵁瑙掕壊鏌ヨ鐨勭粺涓�鏂规硶 + * @param conditionMap 鏌ヨ鏉′欢 + * @param roleOid 瑙掕壊涓婚敭 + * @param notIn true涓嶅湪鑼冨洿鍐咃紝false鍐嶈寖鍥村唴 + * @return + */ + private List<SmUserVO> listUserVOByRoleOid(Map<String,String> conditionMap,String roleOid,boolean notIn){ + //listUserByQueryField杩欎釜鏂规硶鏆傛椂涓嶈兘婊¤冻鎴戠幇鍦ㄧ殑鏌ヨ闇�姹傦紝骞朵笖寮曠敤鐨勫湴鏂硅緝澶氾紝鎵�浠ヤ笉澶ソ鏀瑰姩 + //1銆佸厛鏌ヨ涓庡綋鍓嶈鑹插瓨鍦ㄥ叧鑱斿叧绯荤殑鐢ㄦ埛 + String sql = "select pluseruid,plroleuid from pluserrole where plroleuid = '" + roleOid +"'"; + List<BusinessObject> cbos = boService.queryBySql(sql, null); + List<String> userOidList = new ArrayList<>(); + if(CollectionUtils.isEmpty(cbos)){ + return new ArrayList<>(); + } + //閬嶅巻鍑虹敤鎴蜂富閿� + cbos.stream().forEach(cbo->{ + userOidList.add(ObjectTool.getNewBOAttributeValue(cbo,"pluseruid")); + }); + //2銆佸啀鏌ヨ鐢ㄦ埛 + VciQueryWrapperForDO queryWrapperForDO = new VciQueryWrapperForDO(conditionMap, SmUserDO.class); + List<SmUserDO> smUserDOS = new ArrayList<>(); + queryWrapperForDO.setLinkTableSql(" left join pluserdept up on " + queryWrapperForDO.getTableNick() + ".pluid = up.pluseruid" + + " left join pldept pkDepartment on up.pldeptuid = pkDepartment.pluid " + + " left join PLUSERPASSWORDSTRATEGY pkUserPassword on " +queryWrapperForDO.getTableNick() + ".pluid = pkUserPassword.pluseruid "); + WebUtil.switchCollectionForOracleIn(userOidList).stream().forEach(userOids->{ + if(notIn){ + queryWrapperForDO.notIn("pluid",WebUtil.toInSql(userOids.toArray(new String[0]))); + }else{ + queryWrapperForDO.in("pluid",WebUtil.toInSql(userOids.toArray(new String[0]))); + } + smUserDOS.addAll(boService.selectByQueryWrapper(queryWrapperForDO, SmUserDO.class)); + }); + return smUserDO2VOs(smUserDOS); } /** @@ -1037,14 +1085,20 @@ smUserDTO.setPwdUpdateTime(date); smUserDTO.setStatus((short) 0); smUserDTO.setCreateTime(date); - smUserDTO.setLastModifyTime(date); - String loginUserName = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); - smUserDTO.setCreator(loginUserName); - //smUserDTO.setCreator("developer"); - smUserDTO.setLastModifier(loginUserName); - //smUserDTO.setLastModifier("developer"); + SessionInfo loginUser = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); + String loginUserId = loginUser.getUserId(); + //鐢ㄦ埛绫诲瀷锛岀幇鍦ㄦ寜鐓у綋鍓嶇櫥褰曠殑鐢ㄦ埛鍐冲畾浠栨墍娣诲姞鐨勭敤鎴风骇鍒� + //瓒呯娣诲姞鐨勫氨鏄鐞嗗憳 + if(UserTypeEnum.SUPPER_ADMIN.getValue().equals(loginUser.getUsertype())){ + smUserDTO.setUserType(Short.parseShort(UserTypeEnum.ADMIN.getValue())); + }else { + //绠$悊鍛樻坊鍔犵殑灏辨槸鏅�氱敤鎴� + smUserDTO.setUserType(Short.parseShort(UserTypeEnum.USER.getValue())); + } + smUserDTO.setCreator(loginUserId); + smUserDTO.setLastModifier(loginUserId); UserInfo userInfo = changeSmUserDTOToUserInfo(smUserDTO); - UserEntityInfo userEntityInfo = new UserEntityInfo(loginUserName, ""); + UserEntityInfo userEntityInfo = new UserEntityInfo(loginUserId, ""); String oid = platformClientUtil.getFrameworkService().saveUser(userInfo, userEntityInfo); if (Func.isEmpty(oid)) { return false; @@ -1052,7 +1106,6 @@ if(Func.isNotBlank(smUserDTO.getPkDepartment())){ //鎵ц淇濆瓨鐢ㄦ埛閮ㄩ棬鍏宠仈鍏崇郴 orgDeptQueryService.saveUsersDept(new String[]{oid},smUserDTO.getPkDepartment()); - //platformClientUtil.getFrameworkService().saveUserDept(new String[]{oid}, smUserDTO.getPkDepartment(), userEntityInfo); } return true; } @@ -1082,14 +1135,16 @@ if(Func.isEmpty(dbSmUserVO) || Func.isBlank(dbSmUserVO.getOid())){ throw new PLException("500", new String[] { "褰撳墠淇敼鐨勭敤鎴蜂笉瀛樺湪"}); } - - smUserDTO.setLastModifyTime(new Date()); - String loginUserName = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); + SessionInfo loginUser = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); + String loginUserName = loginUser.getUserId(); smUserDTO.setLastModifier(loginUserName); + smUserDTO.setUserType(Short.parseShort(dbSmUserVO.getUserType())); + smUserDTO.setPwdUpdateTime(dbSmUserVO.getLastModifyPasswordTime()); + smUserDTO.setIsDeptLeader(smUserDTO.getIsDeptLeader().equals("涓嶆槸") ? "0":"1"); UserInfo userInfo = changeSmUserDTOToUserInfo(smUserDTO); boolean updateBoolean = platformClientUtil.getFrameworkService().updateUser(userInfo, new UserEntityInfo(loginUserName, null)); //淇敼鎴愬姛锛屽苟涓旂敤鎴峰叧鑱旈儴闂ㄦ湁鎵�鏇存敼 - if(updateBoolean && Func.isNotEmpty(smUserDTO.getPkDepartment()) && !smUserDTO.getPkDepartment().equals(dbSmUserVO.getPkDepartment())){ + if(updateBoolean && !smUserDTO.getPkDepartment().equals(dbSmUserVO.getPkDepartment())){ //鎵ц淇濆瓨鐢ㄦ埛閮ㄩ棬鍏宠仈鍏崇郴 orgDeptQueryService.saveUsersDept(new String[]{dbSmUserVO.getOid()},smUserDTO.getPkDepartment()); } @@ -1144,8 +1199,8 @@ //鏍规嵁褰撳墠鍒涘缓杩欎釜鐢ㄦ埛鐨勪汉鎵�缁戝畾瀵嗙爜绛栫暐鏉ヨ繘琛屽瘑鐮佹牎楠� try { //TODO:涓轰簡鏂逛究璋冭瘯锛屾墍浠ヨ繖鍎垮厛娉ㄩ噴鍐欐鍚庨潰璁板緱鏇存敼 - //String userName = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); - String userName = "developer"; + String userName = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); + //String userName = "developer"; String error = platformClientUtil.getFrameworkService().checkPasswordStrategyByUserId(userName, smUserDTO.getPassword(),null); if (!StringUtils.isBlank(error)) { throw new VciBaseException("褰撳墠璁剧疆鐨勫瘑鐮侊紝瀵嗙爜绛栫暐鏍¢獙鏈�氳繃"); @@ -1175,7 +1230,7 @@ userInfo.status = user.getStatus(); userInfo.createTime = user.getCreateTime().getTime(); userInfo.createUser = user.getCreator() == null ? "" : user.getCreator(); - userInfo.updateTime = user.getLastModifyTime().getTime(); + userInfo.updateTime = System.currentTimeMillis(); userInfo.updateUser = user.getLastModifier() == null ? "" : user.getLastModifier(); userInfo.pwdUpdateTime = user.getPwdUpdateTime().getTime(); userInfo.grantor = user.getGrantor() == null ? "" : user.getGrantor(); @@ -1191,11 +1246,12 @@ @Override @Transactional(rollbackFor = Exception.class) public boolean deleteUser(String[] ids) throws PLException { - if(Func.isEmpty(ids)){ - throw new VciBaseException("寰呭垹闄ょ殑鐢ㄦ埛id鍒楄〃涓嶈兘涓虹┖锛�"); - } + VciBaseUtil.alertNotNull(ids,"瑕佸垹闄ょ殑鐢ㄦ埛涓婚敭"); //璋冪敤platformClientUtil鐨勫垹闄ょ敤鎴风殑鏂规硶锛屼細涓�璧峰垹闄ゆ帀鍏峰鍏宠仈鍏崇郴鐨勪竴浜涗俊鎭紝濡傞儴闂� - return platformClientUtil.getFrameworkService().deleteUser(ids, null); + return platformClientUtil.getFrameworkService().deleteUser( + ids, + new UserEntityInfo(WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(),null) + ); } /** @@ -1219,6 +1275,8 @@ */ @Override public String downloadImportTemplate(String downloadFileName) { + //鐣岄潰娌′紶鍚嶇О锛屼娇鐢ㄩ粯璁ゅ悕绉� + downloadFileName = Func.isBlank(downloadFileName) ? "鐢ㄦ埛瀵煎叆妯℃澘_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss"):downloadFileName; // 璁剧疆琛ㄥ崟鍒楀悕 List<String> columns = new ArrayList<>(Arrays.asList("璐﹀彿", "瀵嗙爜", "濮撳悕", "鐢靛瓙閭", "涓撲笟", "鎻忚堪", "閮ㄩ棬(涓婁笅绾ч儴闂ㄤ箣闂翠互鍙嶆枩鏉犻殧寮�(/))")); //鑾峰彇鏄惁瀵煎嚭瀵嗙骇閰嶇疆椤� @@ -1271,8 +1329,8 @@ //1銆佽鍙杄xcel涓殑鏁版嵁锛岀粍鎴愬璞� ReadExcelOption excelOption = new ReadExcelOption(); //褰撳墠鐧诲綍鐨勭敤鎴疯处鍙� - //String loginUserId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); - String loginUserId = "developer"; + String loginUserId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); + //String loginUserId = "developer"; UserEntityInfo userEntityInfo = new UserEntityInfo(loginUserId,null); //鏄惁瀵煎叆瀵嗙骇閰嶇疆 boolean exportSecretGrade = Boolean.parseBoolean(ConfigReader.getConfigValue("exportSecretGrade")); @@ -1334,7 +1392,6 @@ smUserDTO.setPwdUpdateTime(date); smUserDTO.setStatus((short) 0); smUserDTO.setCreateTime(date); - smUserDTO.setLastModifyTime(date); smUserDTO.setCreator(loginUserId); smUserDTO.setLastModifier(loginUserId); //淇濆瓨鐢ㄦ埛 diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java index 46be906..c7e9675 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java @@ -1,13 +1,16 @@ package com.vci.frameworkcore.controller; import com.vci.frameworkcore.compatibility.OrgDeptQueryServiceI; +import com.vci.frameworkcore.model.dto.OrgDepartmentDTO; import com.vci.frameworkcore.pagemodel.OrgDepartmentVO; import com.vci.starter.web.annotation.controller.VciUnCheckRight; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.*; import com.vci.starter.web.util.VciBaseUtil; +import com.vci.web.util.Func; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @@ -31,24 +34,28 @@ private OrgDeptQueryServiceI deptQueryService; /** - * 閮ㄩ棬鐨勬爲褰㈠弬鐓� + * 閮ㄩ棬鐨勬爲褰㈠弬鐓э紝閮ㄩ棬绠$悊涔熺敤鐨勮繖涓煡璇㈡帴鍙� * @param treeQueryObject 鏍戝舰鏁版嵁鐨勬煡璇㈠璞★紝鍖呮嫭鏌ヨ鏉′欢锛屼笂绾т富閿紝鏄惁澶氶�夌瓑锛岋紙extandParamsMap涓坊鍔�"showAllDepartmentNode"涓�"true"鏃�,骞朵笖parentOid涓虹┖锛岃繑鍥炵粨鏋滀腑浼氬寘鍚�滄墍鏈夐儴闂ㄢ�濊繖涓妭鐐癸級 * @return 閮ㄩ棬鐨勬爲褰㈠弬鐓э紝宸茬粡杞崲浜嗕笂涓嬬骇鍏崇郴 * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父锛屽鏋滄槸鑰佺殑椤圭洰閲屼笉鎶涘嚭寮傚父 */ @RequestMapping(value = "/refTree",method = RequestMethod.GET) - //@VciUnCheckRight public BaseResult<Tree> refTree(TreeQueryObject treeQueryObject) throws VciBaseException{ - List<Tree> deptTreeList = deptQueryService.refTreeDept(treeQueryObject); - return BaseResult.tree(deptTreeList); - //鑰佺殑椤圭洰渚濈劧鏄坊鍔爐ry catch锛屾柟娉曢噷涓嶆姏鍑哄紓甯� - //BaseResult.fail("杩欓噷杩斿洖鍓嶇鐨勯敊璇俊鎭�"); + try { + List<Tree> deptTreeList = deptQueryService.refTreeDept(treeQueryObject); + return BaseResult.tree(deptTreeList); + }catch (Exception e) { + e.printStackTrace(); + String exceptionMessage = VciBaseUtil.getExceptionMessage(e); + log.error("閮ㄩ棬鏍戞煡璇㈡椂鍑虹幇閿欒锛屽師鍥狅細" + exceptionMessage); + return BaseResult.fail("閮ㄩ棬鏍戞煡璇㈡椂鍑虹幇閿欒锛屽師鍥狅細" + e.getMessage()); + } } /** - * 閮ㄩ棬鏌ヨ锛屽甫鍒嗛〉 + * 閮ㄩ棬鍒楄〃鏌ヨ锛屽甫鍒嗛〉 * @param queryObject - * @return + * @return 杩斿洖鐨刲ist涓嶆槸tree缁撴瀯鐨� */ @RequestMapping(value = "/refDataGrid",method = RequestMethod.GET) public BaseResult<OrgDepartmentVO> refDataGrid(BaseQueryObject queryObject){ @@ -57,20 +64,78 @@ } /** - * 淇濆瓨閮ㄩ棬瑙掕壊鍏宠仈淇℃伅锛屽甫鏌ラ噸鍔熻兘 + * 淇濆瓨閮ㄩ棬鐢ㄦ埛鍏宠仈淇℃伅锛屽钩鍙拌嚜甯︽煡閲嶅姛鑳� * @param userOIds 鐢ㄦ埛id * @param deptId 閮ㄩ棬oid * @return */ @RequestMapping(value = "/saveUsersDepts",method = RequestMethod.POST) public BaseResult saveUsersDepts(String[] userOIds, String deptId){ + //涓嶈兘鍚屾椂涓虹┖ + if(Func.isEmpty(userOIds) && Func.isBlank(deptId)){ + return BaseResult.fail("瑙掕壊涓婚敭鍜岄儴闂ㄤ富閿紝鍙傛暟涓嶈兘鍚屾椂涓虹┖!"); + } try { - return deptQueryService.saveUsersDept(userOIds,deptId) ? BaseResult.success("瑙掕壊鍒嗛厤鎴愬姛锛�"):BaseResult.fail("瑙掕壊鍒嗛厤澶辫触锛�"); + return deptQueryService.saveUsersDept(userOIds,deptId) ? BaseResult.success("閮ㄩ棬鍒嗛厤鎴愬姛锛�"):BaseResult.fail("閮ㄩ棬鍒嗛厤澶辫触锛�"); }catch (Exception e){ e.printStackTrace(); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); - log.error("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); - return BaseResult.fail("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + log.error("鍏宠仈鐨勯儴闂ㄦ椂鍑虹幇閿欒锛屽師鍥狅細" + exceptionMessage); + return BaseResult.fail("鍏宠仈鐨勯儴闂ㄦ椂鍑虹幇閿欒锛屽師鍥狅細" + exceptionMessage); + } + } + + /** + * 鏂板鍗曟潯閮ㄩ棬 + * @param orgDepartmentDTO + * @return + */ + @RequestMapping(value = "/addDept",method = RequestMethod.POST) + @VciUnCheckRight + public BaseResult addDept(@RequestBody OrgDepartmentDTO orgDepartmentDTO){ + try { + return deptQueryService.addDept(orgDepartmentDTO) ? BaseResult.success("閮ㄩ棬娣诲姞鎴愬姛锛�"):BaseResult.fail("閮ㄩ棬娣诲姞澶辫触锛�"); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = VciBaseUtil.getExceptionMessage(e); + log.error("娣诲姞閮ㄩ棬鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + return BaseResult.fail("娣诲姞閮ㄩ棬鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + } + } + + /** + * 淇敼閮ㄩ棬淇℃伅 + * @param orgDepartmentDTO + * @return + */ + @RequestMapping(value = "/updateDept",method = RequestMethod.PUT) + @VciUnCheckRight + public BaseResult updateRole(@RequestBody OrgDepartmentDTO orgDepartmentDTO){ + try { + return deptQueryService.updateDept(orgDepartmentDTO) ? BaseResult.success("閮ㄩ棬淇敼鎴愬姛锛�"):BaseResult.fail("閮ㄩ棬淇敼澶辫触锛�"); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = VciBaseUtil.getExceptionMessage(e); + log.error("淇敼閮ㄩ棬鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + return BaseResult.fail("淇敼閮ㄩ棬鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + } + } + + /** + * 鍒犻櫎閮ㄩ棬 + * @param ids 瑕佸垹闄ょ殑閮ㄩ棬涓婚敭 + * @return + */ + @RequestMapping(value = "/deleteDept",method = RequestMethod.DELETE) + @VciUnCheckRight + public BaseResult deleteDept(String[] ids){ + try { + return deptQueryService.deleteDept(ids) ? BaseResult.success("鍒犻櫎閮ㄩ棬鎴愬姛锛�"):BaseResult.fail("鍒犻櫎閮ㄩ棬澶辫触锛�"); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = VciBaseUtil.getExceptionMessage(e); + log.error("娣诲姞閮ㄩ棬鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + return BaseResult.fail("娣诲姞閮ㄩ棬鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); } } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmPwdStrategyQueryController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmPwdStrategyQueryController.java index 47b20fb..99f46f6 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmPwdStrategyQueryController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmPwdStrategyQueryController.java @@ -74,6 +74,12 @@ } } + /** + * 淇濆瓨鐢ㄦ埛瀵嗙爜绛栫暐鍏宠仈鍏崇郴 + * @param userIds + * @param passwordStrategId + * @return + */ @RequestMapping(value = "/saveUserPasswordStrateg",method = RequestMethod.POST) public BaseResult saveUserPasswordStrateg(String[] userIds, String passwordStrategId){ try { diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmRoleQueryController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmRoleQueryController.java index 3ba6449..02d7ab6 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmRoleQueryController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmRoleQueryController.java @@ -1,19 +1,22 @@ package com.vci.frameworkcore.controller; import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI; +import com.vci.frameworkcore.constant.FrameWorkLangCodeConstant; +import com.vci.frameworkcore.dto.SmRoleDTO; import com.vci.frameworkcore.pagemodel.SmRoleVO; import com.vci.starter.web.annotation.controller.VciUnCheckRight; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.*; +import com.vci.starter.web.util.LocalFileUtil; import com.vci.starter.web.util.VciBaseUtil; +import com.vci.starter.web.util.WebThreadLocalUtil; +import com.vci.web.enumpck.UserTypeEnum; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import java.io.File; import java.util.List; import java.util.Map; @@ -56,17 +59,23 @@ } /** - * 瑙掕壊鐨勫垪琛ㄦ煡璇細鐢ㄤ簬涓嬫媺锛岃繕鏈夊垪琛ㄧ瓑鍏ㄦ煡璇㈠満鏅� + * 瑙掕壊鐨勫垪琛ㄦ煡璇細鐢ㄤ簬瑙掕壊绠$悊鍒楄〃绛夋煡璇㈠満鏅細浼氭牴鎹綋鍓嶇櫥褰曠殑鐢ㄦ埛绫诲瀷鏉ュ喅瀹氭煡璇㈤偅浜涜鑹� * @param queryObject 鏌ヨ瀵硅薄锛屽寘鍚簡鏌ヨ鏉′欢锛屽垎椤碉紝鎺掑簭绛�,鍗冲厑璁镐娇鐢⊿mRoleVO閲岀殑鎵�鏈夊睘鎬т綔涓烘煡璇㈡潯浠� * @return 鍖呭惈涓夊憳鐨勮鑹� 鐨勬樉绀哄璞″垪琛ㄦ暟鎹紝璇疯幏鍙栧叾涓殑data灞炴�� * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父锛屽鏋滄槸鑰佺殑椤圭洰閲屼笉鎶涘嚭寮傚父 */ @RequestMapping(value = "/gridRoles",method = RequestMethod.GET) - //@VciUnCheckRight public BaseResult<SmRoleVO> gridRoles(BaseQueryObject queryObject) { try { if(queryObject == null){ queryObject = new BaseQueryObject(); + } + //鏍规嵁褰撳墠鐢ㄦ埛鏉ュ喅瀹氳兘鏌ラ偅浜涜鑹� + String usertype = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUsertype(); + if(UserTypeEnum.SUPPER_ADMIN.getValue().equals(usertype)){ + queryObject.getConditionMap().put("pltype","1"); + }else { + queryObject.getConditionMap().put("pltype","2"); } DataGrid<SmRoleVO> roleVOData = roleQueryService.gridRoles(queryObject.getConditionMap(),queryObject.getPageHelper()); return BaseResult.dataGrid(roleVOData); @@ -97,24 +106,6 @@ } /** - * 鍒嗛厤瑙掕壊锛氫繚瀛樼敤鎴疯鑹插叧鑱斿叧绯� - * @param userOid - * @param roleIds - * @return - */ - @RequestMapping(value = "/saveRights",method = RequestMethod.POST) - public BaseResult saveRights(String userOid, String[] roleIds){ - try { - return roleQueryService.saveRights(userOid,roleIds) ? BaseResult.success("瑙掕壊鍒嗛厤鎴愬姛锛�"):BaseResult.fail("瑙掕壊鍒嗛厤澶辫触锛�"); - }catch (Exception e){ - e.printStackTrace(); - String exceptionMessage = VciBaseUtil.getExceptionMessage(e); - log.error("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); - return BaseResult.fail("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); - } - } - - /** * 瑙掕壊鐨勬爲褰㈠弬鐓� * @param treeQueryObject 鏍戝舰鏁版嵁鐨勬煡璇㈠璞★紝鍖呮嫭鏌ヨ鏉′欢锛屼笂绾т富閿紝鏄惁澶氶�夌瓑锛宔xtandParamsMap涓坊鍔�"showAllRoleNode"涓�"true"鏃讹紝杩斿洖缁撴灉涓細鍖呭惈鈥滄墍鏈夎鑹测�濊繖涓妭鐐� * @return 瑙掕壊鐨勬爲褰㈠弬鐓э紝鏃犱笂涓嬬骇鍏崇郴 @@ -128,4 +119,97 @@ //BaseResult.fail("杩欓噷杩斿洖鍓嶇鐨勯敊璇俊鎭�"); } + /** + * 鏂板鍗曟潯瑙掕壊 + * @param smRoleDTO + * @return + */ + @RequestMapping(value = "/addRole",method = RequestMethod.POST) + public BaseResult addRole(@RequestBody SmRoleDTO smRoleDTO){ + try { + return roleQueryService.addRole(smRoleDTO) ? BaseResult.success("瑙掕壊娣诲姞鎴愬姛锛�"):BaseResult.fail("瑙掕壊娣诲姞澶辫触锛�"); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = VciBaseUtil.getExceptionMessage(e); + log.error("娣诲姞瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + return BaseResult.fail("娣诲姞瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + } + } + + /** + * 淇敼瑙掕壊 + * @param smRoleDTO + * @return + */ + @RequestMapping(value = "/updateRole",method = RequestMethod.PUT) + public BaseResult updateRole(@RequestBody SmRoleDTO smRoleDTO){ + try { + return roleQueryService.updateRole(smRoleDTO) ? BaseResult.success("瑙掕壊淇敼鎴愬姛锛�"):BaseResult.fail("瑙掕壊淇敼澶辫触锛�"); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = VciBaseUtil.getExceptionMessage(e); + log.error("淇敼瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + return BaseResult.fail("淇敼瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + } + } + + /** + * 鍒犻櫎瑙掕壊 + * @param ids + * @return + */ + @RequestMapping(value = "/deleteRole",method = RequestMethod.DELETE) + public BaseResult deleteRole(String[] ids){ + try { + return roleQueryService.deleteRole(ids) ? BaseResult.success("鍒犻櫎鐢ㄦ埛鎴愬姛锛�"):BaseResult.fail("鍒犻櫎鐢ㄦ埛澶辫触锛�"); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = VciBaseUtil.getExceptionMessage(e); + log.error("娣诲姞鐢ㄦ埛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + return BaseResult.fail("娣诲姞鐢ㄦ埛鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + } + } + + /** + * 瀵煎叆瑙掕壊 + * @param file + * @return + * @throws VciBaseException + */ + @RequestMapping(value = "/importRole",method = RequestMethod.POST) + public BaseResult importRole(MultipartFile file){ + String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); + File file1 = new File(excelFileName); + try { + file.transferTo(new File(excelFileName)); + if (file != null) { + return roleQueryService.importRole(file1); + } else { + return BaseResult.fail(FrameWorkLangCodeConstant.IMPORT_FAIL, new String[]{"鏃犲鍏ョ殑鏂囦欢"}); + } + }catch (Throwable e) { + throw new VciBaseException(e.getMessage(),new String[0],e); + }finally { + file1.delete(); + } + } + + /** + * 鍒嗛厤瑙掕壊锛氫繚瀛樼敤鎴疯鑹插叧鑱斿叧绯伙紝鐢ㄦ埛绠$悊鐨勫垎閰嶈鑹插拰瑙掕壊绠$悊鐨勫垎閰嶆垚鍛樺叡鐢� + * @param userOids + * @param roleIds + * @return + */ + @RequestMapping(value = "/saveRights",method = RequestMethod.POST) + public BaseResult saveRights(String[] userOids, String[] roleIds){ + try { + return roleQueryService.saveRights(userOids,roleIds) ? BaseResult.success("瑙掕壊鍒嗛厤鎴愬姛锛�"):BaseResult.fail("瑙掕壊鍒嗛厤澶辫触锛�"); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = VciBaseUtil.getExceptionMessage(e); + log.error("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + return BaseResult.fail("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + } + } + } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java index 494db59..b325c16 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java @@ -11,6 +11,7 @@ import com.vci.starter.web.util.LangBaseUtil; import com.vci.starter.web.util.LocalFileUtil; import com.vci.starter.web.util.VciBaseUtil; +import com.vci.web.util.Func; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -20,6 +21,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; +import java.util.Date; import java.util.List; /** @@ -71,39 +73,126 @@ } /** - * 浣跨敤閮ㄩ棬鏉ヨ幏鍙栫敤鎴风殑鍙傜収鍒楄〃 + * 閮ㄩ棬绠$悊缁熻鎸夐挳锛屾煡璇㈡帴鍙� + * @param pkDepartment + * @param queryObject + * @return 鍖呭惈瀛愰儴闂ㄤ笅鐨勭敤鎴� + * @throws VciBaseException + */ + @RequestMapping(value = "/countSmUserByDeptOid",method = RequestMethod.GET) + @VciUnCheckRight + public BaseResult<List<SmUserVO>> countSmUserByDeptOid(String pkDepartment,BaseQueryObject queryObject) throws VciBaseException{ + VciBaseUtil.alertNotNull(pkDepartment,"閮ㄩ棬涓婚敭"); + try { + if(queryObject == null){ + queryObject = new BaseQueryObject(); + } + List<SmUserVO> userVODataGrid = userQueryService.countSmUserByDeptOid(pkDepartment, queryObject.getConditionMap()); + return BaseResult.dataList(userVODataGrid); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = VciBaseUtil.getExceptionMessage(e); + log.error("閫氳繃閮ㄩ棬涓婚敭鑾峰彇鍦ㄨ閮ㄩ棬涓嬬殑锛岀敤鎴峰弬鐓у垪琛ㄦ椂鍑虹幇閿欒锛屽師鍥狅細" + exceptionMessage); + return BaseResult.fail("閫氳繃閮ㄩ棬涓婚敭鑾峰彇鍦ㄨ閮ㄩ棬涓嬬殑锛岀敤鎴峰弬鐓у垪琛ㄦ椂鍑虹幇閿欒锛屽師鍥狅細" + exceptionMessage); + } + } + + /** + * 浣跨敤閮ㄩ棬涓婚敭鑾峰彇锛屽湪璇ラ儴闂ㄤ笅鐨勭敤鎴风敤鎴峰弬鐓у垪琛� * @param pkDepartment 閮ㄩ棬鐨勪富閿紝涓嶈兘涓虹┖ * @param queryObject 鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑,鍗冲厑璁镐娇鐢⊿mUserVO閲岀殑鎵�鏈夊睘鎬т綔涓烘煡璇㈡潯浠讹紝涔熷彲浠ヤ娇鐢╬kRole.xxx锛宲kDepartment.xxx,pkDuty.xxx杩欐牱鏉ユ煡璇� * @return 鏅�氱敤鎴凤紙涓嶅寘鍚笁鍛橈紝涔熶笉鍖呭惈鍋滅敤鐨勶級鐨勬樉绀哄璞″垪琛ㄦ暟鎹紝璇疯幏鍙栧叾涓殑data灞炴�� * @throws VciBaseException 閮ㄩ棬涓婚敭涓虹┖銆佹煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父锛屽鏋滄槸鑰佺殑椤圭洰閲屼笉鎶涘嚭寮傚父 */ - @RequestMapping(value = "/refDataGridByPkDepartment",method = RequestMethod.GET) - public BaseResult<SmUserVO> refDataGridByPkDepartment(String pkDepartment,BaseQueryObject queryObject) throws VciBaseException{ - if(queryObject == null){ - queryObject = new BaseQueryObject(); + @RequestMapping(value = "/listUserByDeptOid",method = RequestMethod.GET) + @VciUnCheckRight + public BaseResult<List<SmUserVO>> listUserByDeptOid(String pkDepartment,BaseQueryObject queryObject) throws VciBaseException{ + VciBaseUtil.alertNotNull(pkDepartment,"閮ㄩ棬涓婚敭"); + try { + if(queryObject == null){ + queryObject = new BaseQueryObject(); + } + List<SmUserVO> userVODataGrid = userQueryService.listUserByDeptOid(pkDepartment, queryObject.getConditionMap()); + return BaseResult.dataList(userVODataGrid); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = VciBaseUtil.getExceptionMessage(e); + log.error("閫氳繃閮ㄩ棬涓婚敭鑾峰彇鍦ㄨ閮ㄩ棬涓嬬殑锛岀敤鎴峰弬鐓у垪琛ㄦ椂鍑虹幇閿欒锛屽師鍥狅細" + exceptionMessage); + return BaseResult.fail("閫氳繃閮ㄩ棬涓婚敭鑾峰彇鍦ㄨ閮ㄩ棬涓嬬殑锛岀敤鎴峰弬鐓у垪琛ㄦ椂鍑虹幇閿欒锛屽師鍥狅細" + exceptionMessage); } - DataGrid<SmUserVO> userVODataGrid = userQueryService.gridUserByDeptOid(pkDepartment, queryObject.getConditionMap(), queryObject.getPageHelper()); - return BaseResult.dataGrid(userVODataGrid); - //濡傛灉鏄�佺殑椤圭洰锛屽簲璇ュ湪gridUserByDeptOid涓婃坊鍔爐ry锛宑atch锛岀劧鍚巆atch閲屽簲璇ヤ娇鐢ㄤ笅闈㈢殑浠g爜 - //BaseResult.fail("杩欓噷杩斿洖鍓嶇鐨勯敊璇俊鎭�"); } /** - * 浣跨敤瑙掕壊鏉ヨ幏鍙栫敤鎴风殑鍙傜収鍒楄〃 - * @param pkRole 瑙掕壊鐨勪富閿紝涓嶈兘涓虹┖ + * 浣跨敤閮ㄩ棬涓婚敭鑾峰彇锛屼笉鍦ㄨ閮ㄩ棬涓嬬殑鐢ㄦ埛鐢ㄦ埛鍙傜収鍒楄〃 + * @param pkDepartment 閮ㄩ棬鐨勪富閿紝涓嶈兘涓虹┖ * @param queryObject 鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑,鍗冲厑璁镐娇鐢⊿mUserVO閲岀殑鎵�鏈夊睘鎬т綔涓烘煡璇㈡潯浠讹紝涔熷彲浠ヤ娇鐢╬kRole.xxx锛宲kDepartment.xxx,pkDuty.xxx杩欐牱鏉ユ煡璇� - * @return 鏅�氱敤鎴凤紙涓嶅寘鍚笁鍛橈紝涔熶笉鍖呭惈鍋滅敤鐨勶級鐨勬樉绀哄璞″垪琛ㄦ暟鎹紝璇疯幏鍙栧叾涓殑data灞炴�� - * @throws VciBaseException 瑙掕壊鐨勪富閿负绌恒�佹煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父锛屽鏋滄槸鑰佺殑椤圭洰閲屼笉鎶涘嚭寮傚父 + * @return 鏍规嵁褰撳墠鐧诲綍鐨勭敤鎴峰喅瀹氭煡閭d簺鐢ㄦ埛鍑烘潵锛岀殑鏄剧ず瀵硅薄鍒楄〃鏁版嵁锛岃鑾峰彇鍏朵腑鐨刣ata灞炴�� + * @throws VciBaseException 閮ㄩ棬涓婚敭涓虹┖銆佹煡璇㈠嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父锛屽鏋滄槸鑰佺殑椤圭洰閲屼笉鎶涘嚭寮傚父 */ - @RequestMapping(value = "/refDataGridByPkRole",method = RequestMethod.GET) - public BaseResult<SmUserVO> refDataGridByPkRole(String pkRole,BaseQueryObject queryObject) throws VciBaseException{ - if(queryObject == null){ - queryObject = new BaseQueryObject(); + @RequestMapping(value = "/listUserUnInDeptOid",method = RequestMethod.GET) + @VciUnCheckRight + public BaseResult<List<SmUserVO>> listUserUnInDeptOid(String pkDepartment,BaseQueryObject queryObject) throws VciBaseException{ + VciBaseUtil.alertNotNull(pkDepartment,"閮ㄩ棬涓婚敭"); + try { + if(queryObject == null){ + queryObject = new BaseQueryObject(); + } + List<SmUserVO> userVODataGrid = userQueryService.listUserUnInDeptOid(pkDepartment, queryObject.getConditionMap()); + return BaseResult.dataList(userVODataGrid); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = VciBaseUtil.getExceptionMessage(e); + log.error("閫氳繃閮ㄩ棬涓婚敭鑾峰彇涓嶅湪璇ラ儴闂ㄤ笅鐨勶紝鐢ㄦ埛鍙傜収鍒楄〃鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + return BaseResult.fail("閫氳繃閮ㄩ棬涓婚敭鑾峰彇涓嶅湪璇ラ儴闂ㄤ笅鐨勶紝鐢ㄦ埛鍙傜収鍒楄〃鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); } - DataGrid<SmUserVO> userVODataGrid = userQueryService.gridUserByRoleOid(pkRole, queryObject.getConditionMap(), queryObject.getPageHelper()); - return BaseResult.dataGrid(userVODataGrid); - //濡傛灉鏄�佺殑椤圭洰锛屽簲璇ュ湪gridUserByRoleOid涓婃坊鍔爐ry锛宑atch锛岀劧鍚巆atch閲屽簲璇ヤ娇鐢ㄤ笅闈㈢殑浠g爜 - //BaseResult.fail("杩欓噷杩斿洖鍓嶇鐨勯敊璇俊鎭�"); + } + + /** + * 浣跨敤瑙掕壊鑾峰彇鍏宠仈鐨勭敤鎴峰弬鐓у垪琛細琚仠鐢ㄧ殑鐢ㄦ埛涔熶細鏌ュ嚭鏉� + * @param pkRole 瑙掕壊鐨勪富閿紝涓嶈兘涓虹┖ + * @param queryObject 鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑 + * @return + * @throws VciBaseException + */ + @RequestMapping(value = "/listUserByRoleOid",method = RequestMethod.GET) + public BaseResult<List<SmUserVO>> listUserByRoleOid(String pkRole,BaseQueryObject queryObject) throws VciBaseException{ + VciBaseUtil.alertNotNull(pkRole,"瑙掕壊涓婚敭"); + try { + if(queryObject == null){ + queryObject = new BaseQueryObject(); + } + List<SmUserVO> smUserVOList = userQueryService.listUserByRoleOid(pkRole, queryObject.getConditionMap()); + return BaseResult.dataList(smUserVOList); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = VciBaseUtil.getExceptionMessage(e); + log.error("閫氳繃瑙掕壊鏉ヨ幏鍙栫敤鎴风殑鍙傜収鍒楄〃鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + return BaseResult.fail("閫氳繃瑙掕壊鏉ヨ幏鍙栫敤鎴风殑鍙傜収鍒楄〃鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + } + } + + /** + * 浣跨敤瑙掕壊鑾峰彇涓嶅湪鏌愪釜瑙掕壊涓嬬殑鐢ㄦ埛鍙傜収鍒楄〃 + * @param pkRole 瑙掕壊鐨勪富閿紝涓嶈兘涓虹┖ + * @param queryObject 鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑 + * @return + * @throws VciBaseException + */ + @RequestMapping(value = "/listUserUnInRoleOid",method = RequestMethod.GET) + public BaseResult<List<SmUserVO>> listUserUnInRoleOid(String pkRole,BaseQueryObject queryObject) throws VciBaseException{ + VciBaseUtil.alertNotNull(pkRole,"瑙掕壊涓婚敭"); + try { + if(queryObject == null){ + queryObject = new BaseQueryObject(); + } + List<SmUserVO> smUserVOList = userQueryService.listUserUnInRoleOid(pkRole, queryObject.getConditionMap()); + return BaseResult.dataList(smUserVOList); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = VciBaseUtil.getExceptionMessage(e); + log.error("鑾峰彇涓嶅湪褰撳墠瑙掕壊涓嬬殑锛岀敤鎴峰弬鐓у垪琛ㄦ椂鍑虹幇閿欒锛屽師鍥狅細" + exceptionMessage); + return BaseResult.fail("鑾峰彇涓嶅湪褰撳墠瑙掕壊涓嬬殑锛岀敤鎴峰弬鐓у垪琛ㄦ椂鍑虹幇閿欒锛屽師鍥狅細" + exceptionMessage); + } } /** @@ -125,7 +214,7 @@ * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父锛屽鏋滄槸鑰佺殑椤圭洰閲屼笉鎶涘嚭寮傚父 */ @RequestMapping(value = "/getDataGridUsers",method = RequestMethod.GET) - @VciUnCheckRight + //@VciUnCheckRight public BaseResult<SmUserVO> getDataGridUsers(BaseQueryObject queryObject) throws VciBaseException { try { DataGrid<SmUserVO> userVODataGrid = userQueryService.getDataGridUsers(queryObject.getConditionMap(),queryObject.getPageHelper()); @@ -220,14 +309,14 @@ @RequestMapping(value = "/downloadImportTemplate",method = RequestMethod.GET) @VciUnCheckRight public void downloadImportTemplate(String downloadFileName, HttpServletResponse response){ - String excelPath = userQueryService.downloadImportTemplate(downloadFileName); try { + String excelPath = userQueryService.downloadImportTemplate(downloadFileName); ControllerUtil.writeFileToResponse(response,excelPath); - } catch (IOException e) { + } catch (Exception e) { String msg = "涓嬭浇鐢ㄦ埛瀵煎叆妯℃澘鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + LangBaseUtil.getErrorMsg(e); try { e.printStackTrace(); - ControllerUtil.writeDataToResponse(response, StringUtils.isNotBlank(msg)?msg.getBytes():new byte[0],null); + ControllerUtil.writeDataToResponse(response,"error_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss") + ".txt", StringUtils.isNotBlank(msg)?msg.getBytes():new byte[0],null); } catch (IOException ioException) { ioException.printStackTrace(); } @@ -238,7 +327,6 @@ * 浜哄憳瀵煎叆 */ @RequestMapping(value = "/importUser",method = RequestMethod.POST) - @VciUnCheckRight public BaseResult importUser(MultipartFile file){ String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); File file1 = new File(excelFileName); diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/SmRoleForPlatform1.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/SmRoleForPlatform1.java index 0fd7445..6af3bdc 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/SmRoleForPlatform1.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/SmRoleForPlatform1.java @@ -1,6 +1,6 @@ package com.vci.frameworkcore.model; -import com.vci.frameworkcore.constant.FrameWorkDefaultValueConstant; +import com.vci.frameworkcore.constant.FrameWorkBtmTypeConstant; import com.vci.starter.web.annotation.VciBtmType; import com.vci.starter.web.constant.FrameWorkLcStatusConstant; @@ -11,7 +11,7 @@ * @author weidy * @date 2020/2/27 */ -@VciBtmType(name = "role",text = "瑙掕壊",tableName = "plrole",lifeCycle = FrameWorkLcStatusConstant.EMTYPE_LIFE_CYCLE) +@VciBtmType(name = FrameWorkBtmTypeConstant.SM_ROLE_BTM_TYPE,tableName = "plrole",lifeCycle = FrameWorkLcStatusConstant.EMTYPE_LIFE_CYCLE) public class SmRoleForPlatform1 implements java.io.Serializable{ /** @@ -41,7 +41,7 @@ /** * 鍒涘缓鏃堕棿 */ - private Date plcreatetime; + private Long plcreatetime; /** * 鍒涘缓浜� @@ -51,7 +51,7 @@ /** * 鏈�鍚庝慨鏀规椂闂� */ - private Date plupdatetime; + private Long plupdatetime; /** * 鏈�鍚庝慨鏀逛汉 @@ -95,11 +95,11 @@ this.pltype = pltype; } - public Date getPlcreatetime() { + public Long getPlcreatetime() { return plcreatetime; } - public void setPlcreatetime(Date plcreatetime) { + public void setPlcreatetime(Long plcreatetime) { this.plcreatetime = plcreatetime; } @@ -111,11 +111,11 @@ this.plcreateuser = plcreateuser == null ? null : plcreateuser.trim(); } - public Date getPlupdatetime() { + public Long getPlupdatetime() { return plupdatetime; } - public void setPlupdatetime(Date plupdatetime) { + public void setPlupdatetime(Long plupdatetime) { this.plupdatetime = plupdatetime; } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/dto/OrgDepartmentDTO.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/dto/OrgDepartmentDTO.java new file mode 100644 index 0000000..7de034e --- /dev/null +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/dto/OrgDepartmentDTO.java @@ -0,0 +1,93 @@ +package com.vci.frameworkcore.model.dto; + +import com.vci.starter.web.pagemodel.BaseModelVO; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 閮ㄩ棬鏁版嵁浼犺緭瀵硅薄 + * @author ludc + * @date 2024/7/3 18:07 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class OrgDepartmentDTO extends BaseModelVO { + + /** + * 绂佹淇敼璇ュ�� + */ + private static final long serialVersionUID = 6241492355863644455L; + + /** + * 閮ㄩ棬缂栧彿 + */ + private String id; + + /** + * 閮ㄩ棬鍚嶇О + */ + private String name; + + /** + * 涓婄骇閮ㄩ棬 + */ + private String pkFatherDepartment; + + /** + * 涓婄骇閮ㄩ棬鍚嶇О + */ + private String pkFatherDepartmentName; + + /** + * 鎵�灞炵粍缁� + */ + private String pkOrganization; + + /** + * 鎵�灞炵粍缁囧悕绉� + */ + private String pkOrganizationName; + + /** + * 鎺掑簭鍙� + */ + private Integer orderNum; + + /** + * 閮ㄩ棬涓荤棰嗗 + */ + private String pkLeader; + + /** + * 閮ㄩ棬涓荤棰嗗濮撳悕 + */ + private String pkLeaderName; + + /** + * 閮ㄩ棬浣嶇疆 + */ + private String address; + + /** + * 閮ㄩ棬鑱旂郴鐢佃瘽 + */ + private String tel; + + /** + * 閮ㄩ棬浠e彿锛屽搴旇〃涓璸lcode瀛楁 + */ + private String code; + + /** + * 涓撲笟 + */ + public String specialties; + + /** + * 鐘舵�� + */ + public short status; + +} diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/po/SmRolePO.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/po/SmRolePO.java new file mode 100644 index 0000000..bf2d53d --- /dev/null +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/po/SmRolePO.java @@ -0,0 +1,42 @@ +package com.vci.frameworkcore.model.po; + +import com.vci.starter.poi.annotation.ExcelColumn; +import com.vci.starter.web.pagemodel.BaseModelVO; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 瑙掕壊鐨勫鍏ュ鍑哄璞� + * @author ludc + * @date 2024/7/1 16:53 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SmRolePO extends BaseModelVO { + + /** + * 绂佹淇敼杩欎釜鍊� + */ + private static final long serialVersionUID = -2239512786206928201L; + + /** + * 鎵�鍦ㄦ暟鎹 + */ + @ExcelColumn(rowIndexColumn = true,value = "") + private String rowIndex; + + /** + * 鍚嶇О + */ + @ExcelColumn(value="鍚嶇О",nullable = false) + private String name; + + /** + * 鎻忚堪 + */ + @ExcelColumn(value="鎻忚堪") + private String description; + +} diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmRoleVO.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmRoleVO.java index ec7533f..f934f9e 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmRoleVO.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmRoleVO.java @@ -29,7 +29,6 @@ */ private String roleClassify; - /** * 瑙掕壊绫诲瀷鏄剧ず鏂囨湰 */ diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmUserVO.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmUserVO.java index 30fa851..42c4e4e 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmUserVO.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmUserVO.java @@ -116,6 +116,11 @@ private String password; /** + * 纭瀵嗙爜锛岀敤鏉ュ湪淇敼鐢ㄦ埛淇℃伅鐣岄潰鍥炶皟鐨� + */ + private String confirmPassword; + + /** * 瀵嗙爜閿欒娆℃暟 */ private Integer pwdWrongCount; @@ -173,6 +178,14 @@ this.password = password; } + public String getConfirmPassword() { + return confirmPassword; + } + + public void setConfirmPassword(String confirmPassword) { + this.confirmPassword = confirmPassword; + } + public void setStatus(short status) { this.status = status; } -- Gitblit v1.9.3