Browse Source

ERP中主动上传的采购回复忽略掉合计超数的部分

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@3059 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
shenj 10 years ago
parent
commit
42c59c8757
1 changed files with 206 additions and 106 deletions
  1. 206 106
      src/main/java/com/uas/platform/b2b/service/impl/PurchaseOrderServiceImpl.java

+ 206 - 106
src/main/java/com/uas/platform/b2b/service/impl/PurchaseOrderServiceImpl.java

@@ -81,7 +81,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 
 	@Autowired
 	private PurchaseOrderReplyDao purchaseOrderReplyDao;
-	
+
 	@Autowired
 	private PurchaseOrderWaitingDao purchaseOrderWaitingDao;
 
@@ -99,19 +99,24 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 
 	@Autowired
 	private UserBaseInfoDao userBaseInfoDao;
-	
+
 	public void save(List<PurchaseOrderAllItem> orderItems) {
-		List<PurchaseOrderAllItem> newOrderItems = purchaseOrderAllItemDao.save(orderItems);
-		ContextUtils.publishEvent(new PurchaseOrderSaveEvent(PurchaseOrderAllItem.distinct(newOrderItems)));
+		List<PurchaseOrderAllItem> newOrderItems = purchaseOrderAllItemDao
+				.save(orderItems);
+		ContextUtils.publishEvent(new PurchaseOrderSaveEvent(
+				PurchaseOrderAllItem.distinct(newOrderItems)));
 	}
 
-	public Page<PurchaseOrder> findAllByPageInfo(final PageInfo pageInfo ,final SearchFilter filter) {
+	public Page<PurchaseOrder> findAllByPageInfo(final PageInfo pageInfo,
+			final SearchFilter filter) {
 		if (filter != null) {
 			if (!CollectionUtils.isEmpty(filter.getDistribute()))
-				pageInfo.expression(PredicateUtils.in("enUU", filter.getDistribute(), false));
+				pageInfo.expression(PredicateUtils.in("enUU",
+						filter.getDistribute(), false));
 		}
 		return purchaseOrderDao.findAll(new Specification<PurchaseOrder>() {
-			public Predicate toPredicate(Root<PurchaseOrder> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+			public Predicate toPredicate(Root<PurchaseOrder> root,
+					CriteriaQuery<?> query, CriteriaBuilder builder) {
 				query.where(pageInfo.getPredicates(root, query, builder));
 				return null;
 			}
@@ -119,40 +124,57 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 	}
 
 	@Override
-	public Page<PurchaseOrderAll> findAllDetailByPageInfo(final PageInfo pageInfo, final SearchFilter filter) {
+	public Page<PurchaseOrderAll> findAllDetailByPageInfo(
+			final PageInfo pageInfo, final SearchFilter filter) {
 		if (filter != null) {
 			if (StringUtils.hasText(filter.getKeyword()))
-				pageInfo.expression(PredicateUtils.in("id",
-						purchaseOrderIndexDao.findByKeyword(SystemSession.getUser().getEnterprise().getUu(), filter.getKeyword()), false));
+				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));
+				pageInfo.expression(PredicateUtils.gte("date",
+						new Date(filter.getFromDate()), false));
 			if (filter.getEndDate() != null)
-				pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
+				pageInfo.expression(PredicateUtils.lte("date",
+						new Date(filter.getEndDate()), false));
 			if (!CollectionUtils.isEmpty(filter.getDistribute()))
-				pageInfo.expression(PredicateUtils.in("enUU", filter.getDistribute(), false));
+				pageInfo.expression(PredicateUtils.in("enUU",
+						filter.getDistribute(), false));
 		}
-		Page<PurchaseOrderAll> pageOrders = purchaseOrderAllDao.findAll(new Specification<PurchaseOrderAll>() {
-			public Predicate toPredicate(Root<PurchaseOrderAll> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
-				Predicate[] predicates = pageInfo.getPredicates(root, query, builder);
-				if (filter != null && filter.getFromDelivery() != null) {
-					predicates = Arrays.copyOf(predicates, predicates.length + 1);
-					SetJoin<PurchaseOrderAll, PurchaseOrderAllItem> join = root.join(
-							root.getModel().getSet("orderItems", PurchaseOrderAllItem.class), JoinType.INNER);
-					Predicate p = builder.greaterThanOrEqualTo(join.get("delivery").as(Date.class), new Date(filter.getFromDelivery()));
-					predicates[predicates.length - 1] = p;
-				}
-				return query.where(predicates).getRestriction();
-			}
-		}, pageInfo);
+		Page<PurchaseOrderAll> pageOrders = purchaseOrderAllDao.findAll(
+				new Specification<PurchaseOrderAll>() {
+					public Predicate toPredicate(Root<PurchaseOrderAll> root,
+							CriteriaQuery<?> query, CriteriaBuilder builder) {
+						Predicate[] predicates = pageInfo.getPredicates(root,
+								query, builder);
+						if (filter != null && filter.getFromDelivery() != null) {
+							predicates = Arrays.copyOf(predicates,
+									predicates.length + 1);
+							SetJoin<PurchaseOrderAll, PurchaseOrderAllItem> join = root
+									.join(root.getModel().getSet("orderItems",
+											PurchaseOrderAllItem.class),
+											JoinType.INNER);
+							Predicate p = builder.greaterThanOrEqualTo(join
+									.get("delivery").as(Date.class), new Date(
+									filter.getFromDelivery()));
+							predicates[predicates.length - 1] = p;
+						}
+						return query.where(predicates).getRestriction();
+					}
+				}, pageInfo);
 		// 明细包含关键词
 		if (filter != null) {
 			List<PurchaseOrderAll> orders = pageOrders.getContent();
 			if (!CollectionUtils.isEmpty(orders)) {
 				for (PurchaseOrderAll order : orders) {
 					if (!CollectionUtils.isEmpty(order.getOrderItems())) {
-						for (PurchaseOrderAllItem orderItem : order.getOrderItems()) {
+						for (PurchaseOrderAllItem orderItem : order
+								.getOrderItems()) {
 							if (StringUtils.hasText(filter.getKeyword())) {
-								if (FlexJsonUtils.toJson(orderItem).contains(filter.getKeyword())) {
+								if (FlexJsonUtils.toJson(orderItem).contains(
+										filter.getKeyword())) {
 									orderItem.setKey(true);
 								}
 							}
@@ -185,17 +207,24 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 			reply.setRecorder(SystemSession.getUser().getUserName());
 			reply.setType("供应商平台回复");
 		}
-		PurchaseOrderItem item = purchaseOrderItemDao.findOne(reply.getOrderItem().getId());
+		PurchaseOrderItem item = purchaseOrderItemDao.findOne(reply
+				.getOrderItem().getId());
 		Double replyQty = item.getReplyQty();
 		replyQty = replyQty == null ? 0 : replyQty;
 		item.setReplyQty(replyQty + reply.getQty());
-		if (item.getReplyQty() > item.getQty())
-			throw new IllegalOperatorException("回复的数量合计超过了订单数量");
+		if (item.getReplyQty() > item.getQty()) {
+			if (isB2b){
+				throw new IllegalOperatorException("回复的数量合计超过了订单数量");
+			}else{
+				return null;
+			}						
+		}
 		if (item.getReplyQty() < 0)
 			throw new IllegalOperatorException("回复的数量合计不能为负数");
 		reply.setOrderItem(item);
 		reply = purchaseOrderReplyDao.save(reply);
-		purchaseOrderItemDao.updateByReply(reply.getDelivery(), reply.getRemark(), item.getId());
+		purchaseOrderItemDao.updateByReply(reply.getDelivery(),
+				reply.getRemark(), item.getId());
 		PurchaseOrder order = item.getOrder();
 		// 订单主记录状态
 		order = updateOrderStatus(order.getId());
@@ -204,7 +233,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 			Enterprise vendor = enterpriseDao.findOne(order.getVendUU());
 			if (vendor != null) {
 				UserBaseInfo user = userBaseInfoDao.findOne(order.getUserUU());
-				XingePusher.pushByUser(user, "新增采购单回复", "单号:" + order.getCode() + ",供应商:" + vendor.getEnName(), "", "");
+				XingePusher.pushByUser(user, "新增采购单回复", "单号:" + order.getCode()
+						+ ",供应商:" + vendor.getEnName(), "", "");
 			}
 		}
 		return reply;
@@ -214,11 +244,13 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 	 * 修改客户采购单的状态
 	 */
 	private PurchaseOrder updateOrderStatus(long orderId) {
-		int notReply = purchaseOrderItemDao.getCountByStatus(orderId, (short) Status.NOT_REPLY.value());
+		int notReply = purchaseOrderItemDao.getCountByStatus(orderId,
+				(short) Status.NOT_REPLY.value());
 		PurchaseOrder order = purchaseOrderDao.findOne(orderId);
 		if (order.getDisplay() == 1)
 			order.setDisplay(Constant.NO);// 设置查看状态为已查看
-		order.setStatus((short) (notReply > 0 ? Status.NOT_REPLY.value() : Status.REPLIED.value()));
+		order.setStatus((short) (notReply > 0 ? Status.NOT_REPLY.value()
+				: Status.REPLIED.value()));
 		if (purchaseOrderItemDao.getCountByReply(orderId) > 0)
 			order.setReply(Constant.YES);
 		else
@@ -232,8 +264,9 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 
 	@Override
 	public PurchaseOrderAll findByCode(String code) {
-		List<PurchaseOrderAll> purchaseOrderAlls = purchaseOrderAllDao.findByVendUUAndCode(SystemSession.getUser().getEnterprise().getUu(),
-				code);
+		List<PurchaseOrderAll> purchaseOrderAlls = purchaseOrderAllDao
+				.findByVendUUAndCode(SystemSession.getUser().getEnterprise()
+						.getUu(), code);
 		if (purchaseOrderAlls.size() == 0)
 			throw new NotFoundException(code);
 		return purchaseOrderAlls.get(0);
@@ -241,7 +274,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 
 	@Override
 	public PurchaseOrderAll findById(Long id) {
-		List<PurchaseOrderAll> purchaseOrderAlls = purchaseOrderAllDao.findById(id);
+		List<PurchaseOrderAll> purchaseOrderAlls = purchaseOrderAllDao
+				.findById(id);
 		if (purchaseOrderAlls.size() == 0)
 			throw new NotFoundException();
 		return purchaseOrderAlls.get(0);
@@ -251,7 +285,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 	public List<PurchaseOrderReply> reply(String[] orderItemIdString) {
 		List<PurchaseOrderReply> replies = new ArrayList<PurchaseOrderReply>();
 		for (String orderItemId : orderItemIdString) {
-			PurchaseOrderItem orderItem = purchaseOrderItemDao.findOne(Long.parseLong(orderItemId));
+			PurchaseOrderItem orderItem = purchaseOrderItemDao.findOne(Long
+					.parseLong(orderItemId));
 			PurchaseOrderReply reply = new PurchaseOrderReply();
 			reply.setOrderItem(orderItem);
 			reply.setDelivery(orderItem.getDelivery());
@@ -259,7 +294,9 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 			if (orderItem.getReplyQty() == null)
 				orderItem.setReplyQty((double) 0);
 			reply.setQty(orderItem.getQty() - orderItem.getReplyQty());
-			replies.add(reply(reply, true));
+			reply = reply(reply, true);
+			if (reply != null)
+				replies.add(reply);
 		}
 		return replies;
 	}
@@ -271,20 +308,23 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 
 	@Override
 	public List<PurchaseOrderReply> findNotUploadReply() {
-		return purchaseOrderReplyDao
-				.findByEnUUAndStatus(SystemSession.getUser().getEnterprise().getUu(), (short) Status.NOT_UPLOAD.value());
+		return purchaseOrderReplyDao.findByEnUUAndStatus(SystemSession
+				.getUser().getEnterprise().getUu(),
+				(short) Status.NOT_UPLOAD.value());
 	}
 
 	@Override
 	public List<PurchaseOrderReply> findNotSendReply() {
-		return purchaseOrderReplyDao.findByVendUUAndSendStatus(SystemSession.getUser().getEnterprise().getUu(),
+		return purchaseOrderReplyDao.findByVendUUAndSendStatus(SystemSession
+				.getUser().getEnterprise().getUu(),
 				(short) Status.NOT_UPLOAD.value());
 	}
 
 	@Override
 	public void onReplyUploadSuccess(String[] idArray) {
 		for (String id : idArray) {
-			PurchaseOrderReply reply = purchaseOrderReplyDao.findOne(Long.parseLong(id));
+			PurchaseOrderReply reply = purchaseOrderReplyDao.findOne(Long
+					.parseLong(id));
 			if (reply != null) {
 				reply.setStatus((short) Status.DOWNLOADED.value());
 				purchaseOrderReplyDao.save(reply);
@@ -295,7 +335,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 	@Override
 	public void onReplyDownSuccess(String[] idArray) {
 		for (String id : idArray) {
-			PurchaseOrderReply reply = purchaseOrderReplyDao.findOne(Long.parseLong(id));
+			PurchaseOrderReply reply = purchaseOrderReplyDao.findOne(Long
+					.parseLong(id));
 			if (reply != null) {
 				reply.setSendStatus((short) Status.DOWNLOADED.value());
 				purchaseOrderReplyDao.save(reply);
@@ -311,7 +352,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 
 	@Override
 	public List<PurchaseOrderAll> findNotUploadOrder() {
-		return purchaseOrderAllDao.findByVendUUAndSendStatus(SystemSession.getUser().getEnterprise().getUu(),
+		return purchaseOrderAllDao.findByVendUUAndSendStatus(SystemSession
+				.getUser().getEnterprise().getUu(),
 				(short) Status.NOT_UPLOAD.value());
 	}
 
@@ -328,14 +370,16 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 
 	@Override
 	public List<PurchaseOrderItem> findNotSendEnd() {
-		return purchaseOrderItemDao.findByVendUUAndEndStatus(SystemSession.getUser().getEnterprise().getUu(),
+		return purchaseOrderItemDao.findByVendUUAndEndStatus(SystemSession
+				.getUser().getEnterprise().getUu(),
 				(short) Status.NOT_UPLOAD.value());
 	}
 
 	@Override
 	public void onEndDownSuccess(String[] idArray) {
 		for (String id : idArray) {
-			PurchaseOrderItem orderItem = purchaseOrderItemDao.findOne(Long.parseLong(id));
+			PurchaseOrderItem orderItem = purchaseOrderItemDao.findOne(Long
+					.parseLong(id));
 			if (orderItem != null) {
 				orderItem.setEndStatus((short) Status.DOWNLOADED.value());
 				purchaseOrderItemDao.save(orderItem);
@@ -353,36 +397,50 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 
 	@Override
 	public int getOnhandCount() {
-		return purchaseOrderDao
-				.getCountByVendUUAndStatus(SystemSession.getUser().getEnterprise().getUu(), (short) Status.NOT_REPLY.value());
+		return purchaseOrderDao.getCountByVendUUAndStatus(SystemSession
+				.getUser().getEnterprise().getUu(),
+				(short) Status.NOT_REPLY.value());
 	}
 
 	@Override
-	public Page<PurchaseOrderTodo> findTodoByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
+	public Page<PurchaseOrderTodo> findTodoByPageInfo(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));
+				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));
+				pageInfo.expression(PredicateUtils.gte("date",
+						new Date(filter.getFromDate()), false));
 			if (filter.getEndDate() != null)
-				pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
+				pageInfo.expression(PredicateUtils.lte("date",
+						new Date(filter.getEndDate()), false));
 			if (!CollectionUtils.isEmpty(filter.getDistribute()))
-				pageInfo.expression(PredicateUtils.in("enUU", filter.getDistribute(), false));
+				pageInfo.expression(PredicateUtils.in("enUU",
+						filter.getDistribute(), false));
 		}
-		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);
+		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 (filter != null && StringUtils.hasText(filter.getKeyword())) {
 			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(filter.getKeyword())) {
+						for (PurchaseOrderTodoItem orderItem : order
+								.getOrderItems()) {
+							if (FlexJsonUtils.toJson(orderItem).contains(
+									filter.getKeyword())) {
 								orderItem.setKey(true);
 							}
 						}
@@ -394,31 +452,44 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 	}
 
 	@Override
-	public Page<PurchaseOrderDone> findDoneByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
+	public Page<PurchaseOrderDone> findDoneByPageInfo(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));
+				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));
+				pageInfo.expression(PredicateUtils.gte("date",
+						new Date(filter.getFromDate()), false));
 			if (filter.getEndDate() != null)
-				pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
+				pageInfo.expression(PredicateUtils.lte("date",
+						new Date(filter.getEndDate()), false));
 			if (!CollectionUtils.isEmpty(filter.getDistribute()))
-				pageInfo.expression(PredicateUtils.in("enUU", filter.getDistribute(), false));
+				pageInfo.expression(PredicateUtils.in("enUU",
+						filter.getDistribute(), false));
 		}
-		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);
+		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 (filter != null && StringUtils.hasText(filter.getKeyword())) {
 			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(filter.getKeyword())) {
+						for (PurchaseOrderDoneItem orderItem : order
+								.getOrderItems()) {
+							if (FlexJsonUtils.toJson(orderItem).contains(
+									filter.getKeyword())) {
 								orderItem.setKey(true);
 							}
 						}
@@ -430,31 +501,44 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 	}
 
 	@Override
-	public Page<PurchaseOrderEnd> findEndByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
+	public Page<PurchaseOrderEnd> findEndByPageInfo(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));
+				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));
+				pageInfo.expression(PredicateUtils.gte("date",
+						new Date(filter.getFromDate()), false));
 			if (filter.getEndDate() != null)
-				pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
+				pageInfo.expression(PredicateUtils.lte("date",
+						new Date(filter.getEndDate()), false));
 			if (!CollectionUtils.isEmpty(filter.getDistribute()))
-				pageInfo.expression(PredicateUtils.in("enUU", filter.getDistribute(), false));
+				pageInfo.expression(PredicateUtils.in("enUU",
+						filter.getDistribute(), false));
 		}
-		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);
+		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 (filter != null && StringUtils.hasText(filter.getKeyword())) {
 			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(filter.getKeyword())) {
+						for (PurchaseOrderEndItem orderItem : order
+								.getOrderItems()) {
+							if (FlexJsonUtils.toJson(orderItem).contains(
+									filter.getKeyword())) {
 								orderItem.setKey(true);
 							}
 						}
@@ -464,33 +548,47 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 		}
 		return pageOrders;
 	}
-	
+
 	@Override
-	public Page<PurchaseOrderWaiting> findWaitingByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
+	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));
+				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));
+				pageInfo.expression(PredicateUtils.gte("date",
+						new Date(filter.getFromDate()), false));
 			if (filter.getEndDate() != null)
-				pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
+				pageInfo.expression(PredicateUtils.lte("date",
+						new Date(filter.getEndDate()), false));
 			if (!CollectionUtils.isEmpty(filter.getDistribute()))
-				pageInfo.expression(PredicateUtils.in("enUU", filter.getDistribute(), false));
+				pageInfo.expression(PredicateUtils.in("enUU",
+						filter.getDistribute(), 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);
+		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())) {
+						for (PurchaseOrderWaitingItem orderItem : order
+								.getOrderItems()) {
+							if (FlexJsonUtils.toJson(orderItem).contains(
+									filter.getKeyword())) {
 								orderItem.setKey(true);
 							}
 						}
@@ -516,7 +614,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 	public void print(Long id) {
 		PurchaseOrder order = purchaseOrderDao.findOne(id);
 		if (order != null) {
-			order.setPrint((short) ((order.getPrint() == null ? 0 : order.getPrint()) + 1));
+			order.setPrint((short) ((order.getPrint() == null ? 0 : order
+					.getPrint()) + 1));
 		}
 		purchaseOrderDao.save(order);
 	}
@@ -525,10 +624,11 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 	public Long getOrdersCount(Long uu) {
 		return purchaseOrderAllDao.findOrderCountByEnUU(uu);
 	}
-	
+
 	@Override
 	public Long getAllCount() {
-		return purchaseOrderAllDao.countByVendUU(SystemSession.getUser().getEnterprise().getUu());
+		return purchaseOrderAllDao.countByVendUU(SystemSession.getUser()
+				.getEnterprise().getUu());
 	}
 
 	@Override