Browse Source

客户采购订单 增加待交货显示

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

+ 40 - 0
src/main/java/com/uas/platform/b2b/service/impl/PurchaseOrderServiceImpl.java

@@ -31,6 +31,7 @@ import com.uas.platform.b2b.dao.PurchaseOrderIndexDao;
 import com.uas.platform.b2b.dao.PurchaseOrderItemDao;
 import com.uas.platform.b2b.dao.PurchaseOrderReplyDao;
 import com.uas.platform.b2b.dao.PurchaseOrderTodoDao;
+import com.uas.platform.b2b.dao.PurchaseOrderWaitingDao;
 import com.uas.platform.b2b.dao.UserBaseInfoDao;
 import com.uas.platform.b2b.event.PurchaseOrderSaveEvent;
 import com.uas.platform.b2b.model.Enterprise;
@@ -45,6 +46,8 @@ 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.model.PurchaseOrderWaiting;
+import com.uas.platform.b2b.model.PurchaseOrderWaitingItem;
 import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.b2b.model.UserBaseInfo;
 import com.uas.platform.b2b.service.PurchaseOrderService;
@@ -78,6 +81,9 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 
 	@Autowired
 	private PurchaseOrderReplyDao purchaseOrderReplyDao;
+	
+	@Autowired
+	private PurchaseOrderWaitingDao purchaseOrderWaitingDao;
 
 	@Autowired
 	private PurchaseOrderItemDao purchaseOrderItemDao;
@@ -446,6 +452,40 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 		}
 		return pageOrders;
 	}
+	
+	@Override
+	public Page<PurchaseOrderWaiting> findWaitingByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
+		if (filter != null) {
+			if (StringUtils.hasText(filter.getKeyword()))
+				pageInfo.expression(PredicateUtils.in("id",
+						purchaseOrderIndexDao.findByKeyword(SystemSession.getUser().getEnterprise().getUu(), filter.getKeyword()), false));
+			if (filter.getFromDate() != null)
+				pageInfo.expression(PredicateUtils.gte("date", new Date(filter.getFromDate()), false));
+			if (filter.getEndDate() != null)
+				pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
+		}
+		Page<PurchaseOrderWaiting> pageOrders = purchaseOrderWaitingDao.findAll(new Specification<PurchaseOrderWaiting>() {
+			public Predicate toPredicate(Root<PurchaseOrderWaiting> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+				return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
+			}
+		}, pageInfo);
+		// 明细包含关键词
+		if (filter != null && StringUtils.hasText(filter.getKeyword())) {
+			List<PurchaseOrderWaiting> orders = pageOrders.getContent();
+			if (!CollectionUtils.isEmpty(orders)) {
+				for (PurchaseOrderWaiting order : orders) {
+					if (!CollectionUtils.isEmpty(order.getOrderItems())) {
+						for (PurchaseOrderWaitingItem orderItem : order.getOrderItems()) {
+							if (FlexJsonUtils.toJson(orderItem).contains(filter.getKeyword())) {
+								orderItem.setKey(true);
+							}
+						}
+					}
+				}
+			}
+		}
+		return pageOrders;
+	}
 
 	@Override
 	public void setDisplay(String[] idArray, Short status) {