Browse Source

客户采购单获取数据方法更新,增加权限限制过滤条件

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@10510 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
hejq 8 years ago
parent
commit
504f02ee87

+ 9 - 18
src/main/java/com/uas/platform/b2b/controller/SaleOrderController.java

@@ -383,30 +383,21 @@ public class SaleOrderController {
 		logger.log("客户采购单", "查看收到的客户采购订单列表(包括采购明细)(全部)");
 		purchaseOrderAllDao.setDisplayStatus(SystemSession.getUser().getUserUU(),
 				SystemSession.getUser().getEnterprise().getUu(), SALEKIND);
-		JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-		String keyword = jsonObject.getString("keyword");
-		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
-		// 当前登录企业作为供应商
-		pageParams.getFilters().put("pu_venduu", SystemSession.getUser().getEnterprise().getUu());
-		SearchFilter filter = userService.distribute();
-		if (filter != null && filter.getDistribute() == null) {
+		PageInfo pageInfo = new PageInfo(params);
+		pageInfo.filter("vendUU", SystemSession.getUser().getEnterprise().getUu());
+		SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+		SearchFilter filters = userService.distribute();
+		if (filters != null && filters.getDistribute() == null) {
 			return null;
 		}
-		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
+		if (filters != null && !CollectionUtils.isEmpty(filters.getDistribute())) {
 			List<Object> list = new ArrayList<>();
-			for (Object object : filter.getDistribute()) {
+			for (Object object : filters.getDistribute()) {
 				list.add(object);
 			}
-			pageParams.getFilters().put("pu_enuu", new MultiValue(list, true));
+			filter.setDistribute(list);
 		}
-		// TODO 其他过滤条件
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("pu_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-		Map<String, Object> map = new HashMap<String, Object>();
-		map.put("pu_status", (short) Status.UNAUDIT.value());
-		pageParams.setNotEqualFilters(map);
-		return searchService.searchPurchaseOrderIds(keyword, pageParams);
+		return purchaseOrderService.findOrdersByPageInfo(pageInfo, filter);
 	}
 
 	/**

+ 69 - 16
src/main/java/com/uas/platform/b2b/service/impl/PurchaseOrderServiceImpl.java

@@ -1,12 +1,77 @@
 package com.uas.platform.b2b.service.impl;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.JoinType;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import javax.persistence.criteria.SetJoin;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.ModelMap;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.core.util.ThreadTask;
-import com.uas.platform.b2b.dao.*;
+import com.uas.platform.b2b.dao.DistributeDao;
+import com.uas.platform.b2b.dao.EnterpriseDao;
+import com.uas.platform.b2b.dao.PagingReleaseDao;
+import com.uas.platform.b2b.dao.PrintLogDao;
+import com.uas.platform.b2b.dao.PurcOrderInfoItemDao;
+import com.uas.platform.b2b.dao.PurchaseOrderAllDao;
+import com.uas.platform.b2b.dao.PurchaseOrderAllItemDao;
+import com.uas.platform.b2b.dao.PurchaseOrderDao;
+import com.uas.platform.b2b.dao.PurchaseOrderDoneDao;
+import com.uas.platform.b2b.dao.PurchaseOrderEndDao;
+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.RoleDao;
+import com.uas.platform.b2b.dao.UserBaseInfoDao;
+import com.uas.platform.b2b.dao.UserDao;
+import com.uas.platform.b2b.dao.UserOrderDao;
+import com.uas.platform.b2b.dao.VendorDao;
 import com.uas.platform.b2b.event.PurchaseOrderEndReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseOrderReplyReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseOrderSaveReleaseEvent;
-import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.model.Distribute;
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.PagingRelease;
+import com.uas.platform.b2b.model.PrintLog;
+import com.uas.platform.b2b.model.PurcOrderInfoItem;
+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.PurchaseOrderInfo;
+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.Role;
+import com.uas.platform.b2b.model.SearchFilter;
+import com.uas.platform.b2b.model.User;
+import com.uas.platform.b2b.model.UserBaseInfo;
+import com.uas.platform.b2b.model.UserOrders;
+import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.PurchaseOrderService;
 import com.uas.platform.b2b.support.SystemSession;
@@ -21,17 +86,6 @@ import com.uas.platform.core.util.NumberUtil;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.search.b2b.model.PageParams;
 import com.uas.search.b2b.model.SPage;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.data.jpa.domain.Specification;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.ui.ModelMap;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-
-import javax.persistence.criteria.*;
-import java.util.*;
 
 @Service
 @Transactional
@@ -515,9 +569,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 				pageInfo.expression(PredicateUtils.gte("date", new Date(filter.getFromDate()), false));
 			if (filter.getEndDate() != null)
 				pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
-			// if (!CollectionUtils.isEmpty(filter.getDistribute()))
-			// pageInfo.expression(PredicateUtils.in("enUU",
-			// filter.getDistribute(), false));
+			if (!CollectionUtils.isEmpty(filter.getDistribute()))
+				pageInfo.expression(PredicateUtils.in("enUU", filter.getDistribute(), false));
 		}
 		Page<PurchaseOrderTodo> pageOrders = purchaseOrderTodoDao.findAll(new Specification<PurchaseOrderTodo>() {
 			@Override