Ver Fonte

企业产品库添加业务员搜索2

liusw há 7 anos atrás
pai
commit
b8b446cecb

+ 12 - 0
src/main/java/com/uas/platform/b2c/common/account/controller/UserController.java

@@ -606,6 +606,18 @@ public class UserController {
 		return userService.findUsersPageByEnUUAndKeyword(pageInfo,enuu,keyword);
 	}
 
+
+	/**
+	 * 通过姓名获取该企业所有人员信息
+	 * @param enuu 企业uu号
+	 * @return 完整的企业人员信息
+	 */
+	@RequestMapping(value = "/enterprise/username",method = RequestMethod.GET)
+	public Page<User> findUserByUserNameLikeAndEnUU(PageParams params, Long enuu, String userName){
+		PageInfo pageInfo = new PageInfo(params);
+		return userService.findUserByUserNameLikeAndEnUU(pageInfo, enuu, userName);
+	}
+
 	/**
 	 * 新增用户
 	 *

+ 11 - 0
src/main/java/com/uas/platform/b2c/common/account/dao/UserDao.java

@@ -110,4 +110,15 @@ public interface UserDao extends JpaSpecificationExecutor<User>, JpaRepository<U
 	@QueryHints({ @QueryHint(name = "org.hibernate.cacheable", value = "true") })
 	@Query("select u.userUU from User u inner join u.enterprises as e where e.uu = :enUU and u.userUU = :userUU")
 	public List<Long> findUserByEnUUAndUserUU(@Param("enUU") long enUU, @Param("userUU") long userUU);
+
+	/**
+	 * 按名字查询当前企业的用户信息
+	 *
+	 * @param userName
+	 * @param enUU
+	 * @return
+	 */
+	@QueryHints({ @QueryHint(name = "org.hibernate.cacheable", value = "true") })
+	@Query("select u.userUU from User u inner join u.enterprises as e where e.uu = :enUU and u.userName like %:userName%")
+	public List<Long> findUserByUserNameLikeAndEnUU(@Param("userName") String userName, @Param("enUU") Long enUU);
 }

+ 7 - 0
src/main/java/com/uas/platform/b2c/common/account/service/UserService.java

@@ -54,6 +54,13 @@ public interface UserService {
 	 */
 	Page<User> findUsersPageByEnUU(PageInfo pageInfo, Long enUU);
 	Page<User> findUsersPageByEnUUAndKeyword(PageInfo pageInfo , Long enUU , String keyword);
+
+	/**
+	 * 通过姓名获取该企业所有人员信息
+	 * @return 完整的企业人员信息
+	 */
+	Page<User> findUserByUserNameLikeAndEnUU(PageInfo pageInfo , Long enUU , String userName);
+
 	/**
 	 * 按email取用户信息
 	 * 

+ 34 - 0
src/main/java/com/uas/platform/b2c/common/account/service/impl/UserServiceImpl.java

@@ -251,6 +251,40 @@ public class UserServiceImpl implements UserService {
 
 	}
 
+	@Override
+	public Page<User> findUserByUserNameLikeAndEnUU(PageInfo pageInfo, Long enUU, String userName) {
+		List<Long> usersId = new ArrayList<>();
+		if (!StringUtils.isEmpty(userName)) {
+			usersId = userDao.findUserByUserNameLikeAndEnUU(userName, enUU);
+		}
+		final List<Long> users = usersId;
+		if (users.size()>0) {
+			Page<User> pUser = userDao.findAll(new Specification<User>() {
+				public Predicate toPredicate(Root<User> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+					Predicate predicateId = root.get("userUU").in(users);
+					query.where(predicateId);
+					return null;
+				}
+			}, pageInfo);
+			for (User user : pUser) {
+				Set<Role> roles = user.getRoles();
+				Long enuu = SystemSession.getUser().getEnterprise().getUu();
+				if (!CollectionUtils.isEmpty(roles)) {
+					Iterator<Role> iterator = roles.iterator();
+					while (iterator.hasNext()) {
+						Role role = iterator.next();
+						if (!role.getEnUU().equals(enuu)) {
+							iterator.remove();
+						}
+					}
+				}
+			}
+			return pUser;
+		}else{
+			return null;
+		}
+	}
+
 	@Override
 	public User save(User user) {
         User userOld = userDao.findOne(user.getUserUU());

+ 4 - 0
src/main/webapp/resources/js/common/query/enterprise.js

@@ -164,6 +164,10 @@ define([ 'angular', 'ui-bootstrap', 'ngResource' ], function(angular) {
             findUsersByKeyword : {
                 url : 'basic/user/enterprise/keywordinfo',
 				method : 'GET'
+            },
+            findUserByUserNameLikeAndEnUU: {
+                url: 'basic/user/enterprise/username',
+                method: 'GET'
             },
 			saveUser : {
 				url : 'basic/user',