Просмотр исходного кода

更新委外单默认的查询方法

hejq 7 лет назад
Родитель
Сommit
d573655db8

+ 31 - 24
src/main/java/com/uas/platform/b2b/controller/MakeOrderChangeController.java

@@ -1,23 +1,7 @@
 package com.uas.platform.b2b.controller;
 
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Sort.Direction;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.servlet.ModelAndView;
-
 import com.alibaba.dubbo.common.utils.CollectionUtils;
+import com.alibaba.dubbo.common.utils.StringUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.MakeOrderChangeItem;
 import com.uas.platform.b2b.model.SearchFilter;
@@ -25,17 +9,31 @@ import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.MakeOrderChangeService;
 import com.uas.platform.b2b.service.UserService;
 import com.uas.platform.b2b.support.JxlsExcelView;
+import com.uas.platform.b2b.support.SPageUtils;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
+import com.uas.platform.core.persistence.criteria.PredicateUtils;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.search.b2b.model.MultiValue;
 import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.model.Sort.Type;
 import com.uas.search.b2b.util.SearchConstants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 委外加工变更处理
@@ -53,6 +51,7 @@ public class MakeOrderChangeController {
 
 	@Autowired
 	private UserService userService;
+
 	@Autowired
 	private SearchService searchService;
 
@@ -69,27 +68,35 @@ public class MakeOrderChangeController {
 	@ResponseBody
 	public SPage<MakeOrderChangeItem> getReceivedPurchaseOrderChanges(PageParams params, String searchFilter) {
 		logger.log("客户委外变更单", "查看收到的客户委外变更单列表(全部)");
-		JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-		String keyword = jsonObject.getString("keyword");
+		SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
 		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
 		// 当前登录企业作为供应商
 		pageParams.getFilters().put("mcd_venduu", SystemSession.getUser().getEnterprise().getUu());
-		SearchFilter filter = userService.distribute();
-		if (filter != null && filter.getDistribute() == null) {
+		SearchFilter distribute = userService.distribute();
+		if (distribute != null && distribute.getDistribute() == null) {
 			return null;
 		}
-		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
+		if (distribute != null && !CollectionUtils.isEmpty(distribute.getDistribute())) {
 			List<Object> list = new ArrayList<>();
-			for (Object object : filter.getDistribute()) {
+			for (Object object : distribute.getDistribute()) {
 				list.add(object);
 			}
 			pageParams.getFilters().put("mcd_pcid", new MultiValue(list, true));
 		}
+		if (StringUtils.isEmpty(filter.getKeyword())) {
+			PageInfo pageInfo = new PageInfo(params);
+			pageInfo.setSort(new org.springframework.data.domain.Sort(Direction.DESC, "date"));
+			pageInfo.filter("vendUU", SystemSession.getUser().getEnterprise().getUu());
+            if (null != distribute) {
+                pageInfo.expression(PredicateUtils.in("orderChange.enUU", distribute.getDistribute(), true));
+            }
+			return SPageUtils.covertSPage(makeOrderChangeService.findByPageInfo(pageInfo, filter));
+		}
 		// 排序条件
 		List<Sort> sortList = new ArrayList<>();
 		sortList.add(new Sort("mcd_id", false, Type.LONG, new Long(1)));
 		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-		return searchService.searchMakeOrderChangeIds(keyword, pageParams);
+		return searchService.searchMakeOrderChangeIds(filter.getKeyword(), pageParams);
 	}
 
 	/**

+ 66 - 27
src/main/java/com/uas/platform/b2b/controller/MakeOrderController.java

@@ -1,6 +1,7 @@
 package com.uas.platform.b2b.controller;
 
 import com.alibaba.dubbo.common.utils.CollectionUtils;
+import com.alibaba.dubbo.common.utils.StringUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.MakeOrder;
 import com.uas.platform.b2b.model.MakeOrderReply;
@@ -9,12 +10,15 @@ import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.MakeOrderService;
 import com.uas.platform.b2b.service.UserService;
 import com.uas.platform.b2b.support.JxlsExcelView;
+import com.uas.platform.b2b.support.SPageUtils;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
+import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.model.Status;
+import com.uas.platform.core.persistence.criteria.PredicateUtils;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.platform.core.web.bind.RequestState;
 import com.uas.search.b2b.model.MultiValue;
@@ -54,6 +58,7 @@ public class MakeOrderController {
 
 	@Autowired
 	private UserService userService;
+
 	private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
 
 	/**
@@ -66,28 +71,36 @@ public class MakeOrderController {
 	@ResponseBody
 	public SPage<MakeOrder> getAllMakeOrders(PageParams params, String searchFilter) {
 		logger.log("客户采购单", "查看收到的客户采购订单列表(包括委外明细)(全部)");
-		JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-		String keyword = jsonObject.getString("keyword");
+		SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
 		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
 		// 当前登录企业作为供应商
 		pageParams.getFilters().put("ma_venduu", SystemSession.getUser().getEnterprise().getUu());
 		// TODO 其他过滤条件
-		SearchFilter filter = userService.distribute();
+		SearchFilter distribute = userService.distribute();
 		if (filter != null && filter.getDistribute() == null) {
 			return null;
 		}
-		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
+		if (distribute != null && !CollectionUtils.isEmpty(distribute.getDistribute())) {
 			List<Object> list = new ArrayList<>();
-			for (Object object : filter.getDistribute()) {
+			for (Object object : distribute.getDistribute()) {
 				list.add(object);
 			}
 			pageParams.getFilters().put("ma_enuu", new MultiValue(list, true));
 		}
+		if (StringUtils.isEmpty(filter.getKeyword())) {
+		    PageInfo pageInfo = new PageInfo(params);
+            pageInfo.setSort(new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.DESC, "date"));
+		    pageInfo.filter("vendUU", SystemSession.getUser().getEnterprise().getUu());
+            if (null != distribute) {
+                pageInfo.expression(PredicateUtils.in("enUU", distribute.getDistribute(), true));
+            }
+		    return SPageUtils.covertSPage(makeOrderService.findAllDetailByPageInfo(pageInfo, filter));
+        }
 		// 排序条件
 		List<Sort> sortList = new ArrayList<>();
 		sortList.add(new Sort("ma_id", false, Type.LONG, new Long(1)));
 		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-		return searchService.searchMakeOrderIds(keyword, pageParams);
+		return searchService.searchMakeOrderIds(filter.getKeyword(), pageParams);
 	}
 
 	/**
@@ -100,30 +113,39 @@ public class MakeOrderController {
 	@ResponseBody
 	public SPage<MakeOrder> getDoneMakeOrders(PageParams params, String searchFilter) {
 		logger.log("委外加工单", "查看收到的委外加工单列表(已回复)");
-		JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-		String keyword = jsonObject.getString("keyword");
+        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
 		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
 		// 当前登录企业作为供应商
 		pageParams.getFilters().put("ma_venduu", SystemSession.getUser().getEnterprise().getUu());
 		// TODO 其他过滤条件
-		SearchFilter filter = userService.distribute();
-		if (filter != null && filter.getDistribute() == null) {
+		SearchFilter distribute = userService.distribute();
+		if (distribute != null && distribute.getDistribute() == null) {
 			return null;
 		}
-		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
+		if (distribute != null && !CollectionUtils.isEmpty(distribute.getDistribute())) {
 			List<Object> list = new ArrayList<>();
-			for (Object object : filter.getDistribute()) {
+			for (Object object : distribute.getDistribute()) {
 				list.add(object);
 			}
 			pageParams.getFilters().put("ma_enuu", new MultiValue(list, true));
 		}
+		if (StringUtils.isEmpty(filter.getKeyword())) {
+		    PageInfo pageInfo = new PageInfo(params);
+            pageInfo.setSort(new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.DESC, "date"));
+		    pageInfo.filter("status", Status.REPLIED.value());
+		    pageInfo.filter("end", Constant.NO);
+            if (null != distribute) {
+                pageInfo.expression(PredicateUtils.in("enUU", distribute.getDistribute(), true));
+            }
+		    return SPageUtils.covertSPage(makeOrderService.findAllDetailByPageInfo(pageInfo, filter));
+        }
 		pageParams.getFilters().put("ma_status", Status.REPLIED.value());
 		pageParams.getFilters().put("ma_end", Constant.NO);
 		// 排序条件
 		List<Sort> sortList = new ArrayList<>();
 		sortList.add(new Sort("ma_id", false, Type.LONG, new Long(1)));
 		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-		return searchService.searchMakeOrderIds(keyword, pageParams);
+		return searchService.searchMakeOrderIds(filter.getKeyword(), pageParams);
 	}
 
 	/**
@@ -136,30 +158,39 @@ public class MakeOrderController {
 	@ResponseBody
 	public SPage<MakeOrder> getToDoMakeOrders(PageParams params, String searchFilter) {
 		logger.log("委外加工单", "查看收到的委外加工单列表(未回复)");
-		JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-		String keyword = jsonObject.getString("keyword");
+        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
 		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
 		// 当前登录企业作为供应商
 		pageParams.getFilters().put("ma_venduu", SystemSession.getUser().getEnterprise().getUu());
 		// TODO 其他过滤条件
-		SearchFilter filter = userService.distribute();
-		if (filter != null && filter.getDistribute() == null) {
+		SearchFilter distribute = userService.distribute();
+		if (distribute != null && distribute.getDistribute() == null) {
 			return null;
 		}
-		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
+		if (distribute != null && !CollectionUtils.isEmpty(distribute.getDistribute())) {
 			List<Object> list = new ArrayList<>();
-			for (Object object : filter.getDistribute()) {
+			for (Object object : distribute.getDistribute()) {
 				list.add(object);
 			}
 			pageParams.getFilters().put("ma_enuu", new MultiValue(list, true));
 		}
+        if (StringUtils.isEmpty(filter.getKeyword())) {
+            PageInfo pageInfo = new PageInfo(params);
+            pageInfo.setSort(new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.DESC, "date"));
+            pageInfo.filter("status", Status.NOT_REPLY.value());
+            pageInfo.filter("end", Constant.NO);
+            if (null != distribute) {
+                pageInfo.expression(PredicateUtils.in("enUU", distribute.getDistribute(), true));
+            }
+            return SPageUtils.covertSPage(makeOrderService.findAllDetailByPageInfo(pageInfo, filter));
+        }
 		pageParams.getFilters().put("ma_status", Status.NOT_REPLY.value());
 		pageParams.getFilters().put("ma_end", Constant.NO);
 		// 排序条件
 		List<Sort> sortList = new ArrayList<>();
 		sortList.add(new Sort("ma_id", false, Type.LONG, new Long(1)));
 		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-		return searchService.searchMakeOrderIds(keyword, pageParams);
+		return searchService.searchMakeOrderIds(filter.getKeyword(), pageParams);
 	}
 
 	/**
@@ -172,29 +203,37 @@ public class MakeOrderController {
 	@ResponseBody
 	public SPage<MakeOrder> getEndMakeOrders(PageParams params, String searchFilter) {
 		logger.log("委外加工单", "查看收到的委外加工单列表(已结案)");
-		JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-		String keyword = jsonObject.getString("keyword");
+		SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
 		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
 		// 当前登录企业作为供应商
 		pageParams.getFilters().put("ma_venduu", SystemSession.getUser().getEnterprise().getUu());
 		// TODO 其他过滤条件
-		SearchFilter filter = userService.distribute();
-		if (filter != null && filter.getDistribute() == null) {
+		SearchFilter distribute = userService.distribute();
+		if (distribute != null && distribute.getDistribute() == null) {
 			return null;
 		}
-		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
+		if (distribute != null && !CollectionUtils.isEmpty(distribute.getDistribute())) {
 			List<Object> list = new ArrayList<>();
-			for (Object object : filter.getDistribute()) {
+			for (Object object : distribute.getDistribute()) {
 				list.add(object);
 			}
 			pageParams.getFilters().put("ma_enuu", new MultiValue(list, true));
 		}
+        if (StringUtils.isEmpty(filter.getKeyword())) {
+            PageInfo pageInfo = new PageInfo(params);
+            pageInfo.setSort(new org.springframework.data.domain.Sort(org.springframework.data.domain.Sort.Direction.DESC, "date"));
+            pageInfo.filter("end", Constant.YES);
+            if (null != distribute) {
+                pageInfo.expression(PredicateUtils.in("enUU", distribute.getDistribute(), true));
+            }
+            return SPageUtils.covertSPage(makeOrderService.findAllDetailByPageInfo(pageInfo, filter));
+        }
 		pageParams.getFilters().put("ma_end", Constant.YES);
 		// 排序条件
 		List<Sort> sortList = new ArrayList<>();
 		sortList.add(new Sort("ma_id", false, Type.LONG, new Long(1)));
 		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-		return searchService.searchMakeOrderIds(keyword, pageParams);
+		return searchService.searchMakeOrderIds(filter.getKeyword(), pageParams);
 	}
 
 	/**

+ 0 - 21
src/main/java/com/uas/platform/b2b/service/impl/MakeOrderChangeServiceImpl.java

@@ -5,7 +5,6 @@ import com.uas.platform.b2b.core.util.ThreadTask;
 import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.event.MakeOrderChangeSaveReleaseEvent;
 import com.uas.platform.b2b.model.*;
-import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.MakeOrderChangeService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.XingePusher;
@@ -13,12 +12,10 @@ import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.Status;
 import com.uas.platform.core.persistence.criteria.PredicateUtils;
-import com.uas.search.b2b.model.PageParams;
 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.ui.ModelMap;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
@@ -42,9 +39,6 @@ public class MakeOrderChangeServiceImpl implements MakeOrderChangeService {
 	@Autowired
 	private UserBaseInfoDao userBaseInfoDao;
 
-	@Autowired
-	private SearchService searchService;
-
 	@Autowired
 	private PagingReleaseCountDao pagingReleaseCountDao;
 
@@ -131,9 +125,6 @@ public class MakeOrderChangeServiceImpl implements MakeOrderChangeService {
 
 	@Override
 	public Page<MakeOrderChangeItem> findAllByPageInfo(final PageInfo pageInfo, String keyword) {
-		if (StringUtils.hasText(keyword)) {
-
-		}
 		return makeOrderChangeItemDao.findAll(new Specification<MakeOrderChangeItem>() {
 			public Predicate toPredicate(Root<MakeOrderChangeItem> root, CriteriaQuery<?> query,
 					CriteriaBuilder builder) {
@@ -305,18 +296,6 @@ public class MakeOrderChangeServiceImpl implements MakeOrderChangeService {
 	@Override
 	public Page<MakeOrderChangeItem> findByPageInfo(final PageInfo pageInfo, SearchFilter filter) {
 		if (filter != null) {
-			if (StringUtils.hasText(filter.getKeyword())) {
-				List<Object> lists = new ArrayList<>();
-				PageParams pageParams = new PageParams();
-				ModelMap map = new ModelMap();
-				map.put("mcd_venduu", SystemSession.getUser().getEnterprise().getUu());
-				pageParams.setFilters(map);
-				for (MakeOrderChangeItem list : searchService.searchMakeOrderChangeIds(filter.getKeyword(), pageParams)
-						.getContent()) {
-					lists.add(list.getId());
-				}
-				pageInfo.expression(PredicateUtils.in("id", lists, false));
-			}
 			if (filter.getFromDate() != null)
 				pageInfo.expression(PredicateUtils.gte("orderChange.date", new Date(filter.getFromDate()), false));
 			if (filter.getEndDate() != null)

+ 4 - 6
src/main/java/com/uas/platform/b2b/service/impl/MakeOrderServiceImpl.java

@@ -77,9 +77,6 @@ public class MakeOrderServiceImpl implements MakeOrderService {
 
 	@Override
 	public Page<MakeOrder> findAllByPageInfo(final PageInfo pageInfo, String keyword) {
-		if (StringUtils.hasText(keyword)) {
-
-		}
 		return makeOrderDao.findAll(new Specification<MakeOrder>() {
 			public Predicate toPredicate(Root<MakeOrder> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
 				return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
@@ -285,11 +282,12 @@ public class MakeOrderServiceImpl implements MakeOrderService {
 	@Override
 	public Page<MakeOrder> findAllDetailByPageInfo(final PageInfo pageInfo, final SearchFilter filter) {
 		if (filter != null) {
-			if (StringUtils.hasText(filter.getKeyword()))
-			if (filter.getFromDate() != null)
+			if (filter.getFromDate() != null) {
 				pageInfo.expression(PredicateUtils.gte("date", new Date(filter.getFromDate()), false));
-			if (filter.getEndDate() != null)
+			}
+			if (filter.getEndDate() != null) {
 				pageInfo.expression(PredicateUtils.lte("date", new Date(filter.getEndDate()), false));
+			}
 		}
 		Page<MakeOrder> pageOrders = makeOrderDao.findAll(new Specification<MakeOrder>() {
 			public Predicate toPredicate(Root<MakeOrder> root, CriteriaQuery<?> query, CriteriaBuilder builder) {