Browse Source

采购订单搜索明细行关联关键词显示,不关联隐藏

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@1343 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
suntg 10 years ago
parent
commit
d435224c74

+ 54 - 3
src/main/java/com/uas/platform/b2b/service/impl/PurchaseOrderServiceImpl.java

@@ -33,10 +33,13 @@ import com.uas.platform.b2b.model.PurchaseOrder;
 import com.uas.platform.b2b.model.PurchaseOrderAll;
 import com.uas.platform.b2b.model.PurchaseOrderAllItem;
 import com.uas.platform.b2b.model.PurchaseOrderDone;
+import com.uas.platform.b2b.model.PurchaseOrderDoneItem;
 import com.uas.platform.b2b.model.PurchaseOrderEnd;
+import com.uas.platform.b2b.model.PurchaseOrderEndItem;
 import com.uas.platform.b2b.model.PurchaseOrderItem;
 import com.uas.platform.b2b.model.PurchaseOrderReply;
 import com.uas.platform.b2b.model.PurchaseOrderTodo;
+import com.uas.platform.b2b.model.PurchaseOrderTodoItem;
 import com.uas.platform.b2b.service.PurchaseOrderService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.XingePusher;
@@ -333,11 +336,27 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 		if(endDate != null)
 			pageInfo.expression(PredicateUtils.in("id", purchaseOrderAllDao.findByEndDate(SystemSession
 					.getUser().getEnterprise().getUu(), new Date(endDate)), false));
-		return purchaseOrderTodoDao.findAll(new Specification<PurchaseOrderTodo>() {
+		Page<PurchaseOrderTodo> pageOrders = purchaseOrderTodoDao.findAll(new Specification<PurchaseOrderTodo>() {
 			public Predicate toPredicate(Root<PurchaseOrderTodo> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
 				return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
 			}
 		}, pageInfo);
+		// 明细包含关键词
+		if(StringUtils.hasText(keyword)) {
+			List<PurchaseOrderTodo> orders = pageOrders.getContent();
+			if( ! CollectionUtils.isEmpty(orders)) {
+				for(PurchaseOrderTodo order : orders) {
+					if( ! CollectionUtils.isEmpty(order.getOrderItems())) {
+						for(PurchaseOrderTodoItem orderItem : order.getOrderItems()) {
+							if(FlexJsonUtils.toJson(orderItem).contains(keyword)) {
+								orderItem.setKey(true);
+							}
+						}
+					}
+				}
+			}
+		}
+		return pageOrders;
 	}
 
 	@Override
@@ -351,11 +370,27 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 		if(endDate != null)
 			pageInfo.expression(PredicateUtils.in("id", purchaseOrderAllDao.findByEndDate(SystemSession
 					.getUser().getEnterprise().getUu(), new Date(endDate)), false));
-		return purchaseOrderDoneDao.findAll(new Specification<PurchaseOrderDone>() {
+		Page<PurchaseOrderDone> pageOrders = purchaseOrderDoneDao.findAll(new Specification<PurchaseOrderDone>() {
 			public Predicate toPredicate(Root<PurchaseOrderDone> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
 				return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
 			}
 		}, pageInfo);
+		// 明细包含关键词
+		if(StringUtils.hasText(keyword)) {
+			List<PurchaseOrderDone> orders = pageOrders.getContent();
+			if( ! CollectionUtils.isEmpty(orders)) {
+				for(PurchaseOrderDone order : orders) {
+					if( ! CollectionUtils.isEmpty(order.getOrderItems())) {
+						for(PurchaseOrderDoneItem orderItem : order.getOrderItems()) {
+							if(FlexJsonUtils.toJson(orderItem).contains(keyword)) {
+								orderItem.setKey(true);
+							}
+						}
+					}
+				}
+			}
+		}
+		return pageOrders;
 	}
 
 	@Override
@@ -369,11 +404,27 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 		if(endDate != null)
 			pageInfo.expression(PredicateUtils.in("id", purchaseOrderAllDao.findByEndDate(SystemSession
 					.getUser().getEnterprise().getUu(), new Date(endDate)), false));
-		return purchaseOrderEndDao.findAll(new Specification<PurchaseOrderEnd>() {
+		Page<PurchaseOrderEnd> pageOrders = purchaseOrderEndDao.findAll(new Specification<PurchaseOrderEnd>() {
 			public Predicate toPredicate(Root<PurchaseOrderEnd> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
 				return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
 			}
 		}, pageInfo);
+		// 明细包含关键词
+		if(StringUtils.hasText(keyword)) {
+			List<PurchaseOrderEnd> orders = pageOrders.getContent();
+			if( ! CollectionUtils.isEmpty(orders)) {
+				for(PurchaseOrderEnd order : orders) {
+					if( ! CollectionUtils.isEmpty(order.getOrderItems())) {
+						for(PurchaseOrderEndItem orderItem : order.getOrderItems()) {
+							if(FlexJsonUtils.toJson(orderItem).contains(keyword)) {
+								orderItem.setKey(true);
+							}
+						}
+					}
+				}
+			}
+		}
+		return pageOrders;
 	}
 
 	@Override

+ 3 - 1
src/main/java/com/uas/platform/b2b/service/impl/UserServiceImpl.java

@@ -124,7 +124,9 @@ public class UserServiceImpl implements UserService {
 			newUser.setUserTel(user.getUserTel().trim());
 			newUser.setUserSex(user.getUserSex());
 			newUser.setUserIdcode(user.getUserIdcode());
-			newUser.setRoles(user.getRoles());
+			if( ! CollectionUtils.isEmpty(user.getRoles())) {// 修改用户角色
+				newUser.setRoles(user.getRoles());
+			}
 			newUser = userDao.save(newUser);
 			newUser.setEnterprise(SystemSession.getUser().getEnterprise());
 			newUser.setIp(SystemSession.getUser().getIp());