Browse Source

模具询价搜索和获取单据方法分开,确保单据新增和状态更改之后,及时更新列表。

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@9819 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw 8 years ago
parent
commit
cd1485bb06

+ 111 - 31
src/main/java/com/uas/platform/b2b/controller/SaleInquiryMouldController.java

@@ -15,6 +15,7 @@ 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.util.serializer.FlexJsonUtils;
@@ -38,7 +39,7 @@ import java.util.List;
 import java.util.Set;
 
 /**
- * 卖家对模具询价单的操作
+ * 卖家对模具询价单的操作 -- 无关键词直接从数据库获取,已修改
  * 
  * 
  */
@@ -230,37 +231,116 @@ public class SaleInquiryMouldController {
 		return searchService.searchPurcInquiryMouldIds(keyword, pageParams);
 	}
 
-//	/**
-//	 * 作为卖家,收到的模具询价(全部)数据库直接获取
-//	 *
-//	 * @param params
-//	 * @return
-//	 */
-//	@RequestMapping(value = "/sql", method = RequestMethod.GET)
-//	@ResponseBody
-//	public SPage<PurchaseInquiryMould> getReceivedMouldInquiriesBySql(PageParams params, String searchFilter) {
-//		logger.log("客户模具询价单", "查看收到的客户模具询价单列表(全部)");
-//		JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-//		String keyword = jsonObject.getString("keyword");
-//		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
-//		// 当前登录企业作为供应商
-//		pageParams.getFilters().put("im_venduu", SystemSession.getUser().getEnterprise().getUu());
-//		SearchFilter filter = userService.distribute();
-//		if (filter != null && filter.getDistribute() == null) {
-//			return null;
-//		}
-//		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
+	/**
+	 * 作为卖家,收到的模具询价(全部)数据库直接获取
+	 *
+	 * @param params
+	 * @return
+	 */
+	@RequestMapping(value = "/sql", method = RequestMethod.GET)
+	@ResponseBody
+	public SPage<PurchaseInquiryMould> getReceivedMouldInquiriesBySql(PageParams params, String searchFilter) {
+		logger.log("客户模具询价单", "查看收到的客户模具询价单列表(全部)");
+		SearchFilter search = JSONObject.parseObject(searchFilter, SearchFilter.class);
+		SearchFilter filter = userService.distribute();
+		if (filter != null && filter.getDistribute() == null) {
+			return null;
+		}
+		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
 //			List<Object> list = new ArrayList<>();
-//			for (Object object : filter.getDistribute()) {
-//				list.add(object);
-//			}
-//			pageParams.getFilters().put("im_enuu", new MultiValue(list, true));
-//		}
-//		List<Sort> sortList = new ArrayList<>();
-//		sortList.add(new Sort("im_id", false, Type.LONG, 1L));
-//		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-//		return searchService.searchPurcInquiryMouldIds(keyword, pageParams);
-//	}
+//			list.addAll(filter.getDistribute());
+			search.setDistribute(filter.getDistribute());
+		}
+		PageInfo pageInfo = new PageInfo(params);
+		// 当前登录企业作为供应商
+		pageInfo.filter("venduu", SystemSession.getUser().getEnterprise().getUu());
+		return purchaseInquiryMouldService.findAllByPageInfo(pageInfo, null, search);
+	}
+
+	/**
+	 * 作为卖家,收到的模具询价(已报价)数据库直接获取
+	 *
+	 * @param params
+	 * @return
+	 */
+	@RequestMapping(value = "/sql", params = RequestState.DONE, method = RequestMethod.GET)
+	@ResponseBody
+	public SPage<PurchaseInquiryMould> getDoneMouldInquiriesBySql(PageParams params, String searchFilter) {
+		logger.log("客户模具询价单", "直接查看收到的客户模具询价单列表(已报价)");
+		SearchFilter search = JSONObject.parseObject(searchFilter, SearchFilter.class);
+		SearchFilter filter = userService.distribute();
+		if (filter != null && filter.getDistribute() == null) {
+			return null;
+		}
+		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
+//			List<Object> list = new ArrayList<>();
+//			list.addAll(filter.getDistribute());
+			search.setDistribute(filter.getDistribute());
+		}
+		PageInfo pageInfo = new PageInfo(params);
+		// 当前登录企业作为供应商 已报价过滤条件
+		pageInfo.filter("venduu", SystemSession.getUser().getEnterprise().getUu());
+		pageInfo.filter("status", Status.REPLIED.value());
+		pageInfo.filter("valid", Constant.YES);
+		return purchaseInquiryMouldService.findAllByPageInfo(pageInfo, null, search);
+	}
+
+	/**
+	 * 作为卖家,收到的模具询价(待报价)数据库直接获取
+	 *
+	 * @param params
+	 * @return
+	 */
+	@RequestMapping(value = "/sql", params = RequestState.TODO, method = RequestMethod.GET)
+	@ResponseBody
+	public SPage<PurchaseInquiryMould> getTodoMouldInquiriesBySql(PageParams params, String searchFilter) {
+		logger.log("客户模具询价单", "直接查看收到的客户模具询价单列表(待报价)");
+		SearchFilter search = JSONObject.parseObject(searchFilter, SearchFilter.class);
+		SearchFilter filter = userService.distribute();
+		if (filter != null && filter.getDistribute() == null) {
+			return null;
+		}
+		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
+//			List<Object> list = new ArrayList<>();
+//			list.addAll(filter.getDistribute());
+			search.setDistribute(filter.getDistribute());
+		}
+		PageInfo pageInfo = new PageInfo(params);
+		// 当前登录企业作为供应商
+		pageInfo.filter("venduu", SystemSession.getUser().getEnterprise().getUu());
+		pageInfo.filter("status", Status.NOT_REPLY.value());
+		pageInfo.filter("overdue", Constant.NO);
+		pageInfo.filter("valid", Constant.YES);
+		return purchaseInquiryMouldService.findAllByPageInfo(pageInfo, null, search);
+	}
+
+
+	/**
+	 * 作为卖家,收到的模具询价(已失效)数据库直接获取
+	 *
+	 * @param params
+	 * @return
+	 */
+	@RequestMapping(value = "/sql", params = RequestState.INVALID, method = RequestMethod.GET)
+	@ResponseBody
+	public SPage<PurchaseInquiryMould> getInvalidMouldInquiriesBySql(PageParams params, String searchFilter) {
+		logger.log("客户模具询价单", "直接查看收到的客户模具询价单列表(已失效)");
+		SearchFilter search = JSONObject.parseObject(searchFilter, SearchFilter.class);
+		SearchFilter filter = userService.distribute();
+		if (filter != null && filter.getDistribute() == null) {
+			return null;
+		}
+		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
+//			List<Object> list = new ArrayList<>();
+//			list.addAll(filter.getDistribute());
+			search.setDistribute(filter.getDistribute());
+		}
+		PageInfo pageInfo = new PageInfo(params);
+		// 当前登录企业作为供应商
+		pageInfo.filter("venduu", SystemSession.getUser().getEnterprise().getUu());
+		pageInfo.filter("valid", Constant.NO);
+		return purchaseInquiryMouldService.findAllByPageInfo(pageInfo, null, search);
+	}
 
 	/**
 	 * 作为卖家,收到的模具询价明细

+ 6 - 11
src/main/java/com/uas/platform/b2b/service/PurchaseInquiryMouldService.java

@@ -1,17 +1,12 @@
 package com.uas.platform.b2b.service;
 
-import java.util.Date;
-import java.util.List;
-
-import org.springframework.data.domain.Page;
-
 import com.uas.platform.b2b.erp.model.QuotationDown;
-import com.uas.platform.b2b.model.Attach;
-import com.uas.platform.b2b.model.PurchaseInquiryMould;
-import com.uas.platform.b2b.model.PurchaseInquiryMouldDetail;
-import com.uas.platform.b2b.model.PurchaseInquiryMouldItem;
-import com.uas.platform.b2b.model.SearchFilter;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.core.model.PageInfo;
+import com.uas.search.b2b.model.SPage;
+
+import java.util.Date;
+import java.util.List;
 
 public interface PurchaseInquiryMouldService {
 
@@ -55,7 +50,7 @@ public interface PurchaseInquiryMouldService {
 	 *            查找关键词
 	 * @return
 	 */
-	public Page<PurchaseInquiryMould> findAllByPageInfo(PageInfo pageInfo, String keyword, SearchFilter filter);
+	public SPage<PurchaseInquiryMould> findAllByPageInfo(PageInfo pageInfo, String keyword, SearchFilter filter);
 
 	/**
 	 * 用询价单ID查找询价单

+ 12 - 4
src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryMouldServiceImpl.java

@@ -17,6 +17,7 @@ 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 com.uas.search.b2b.model.SPage;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Sort.Direction;
@@ -379,9 +380,10 @@ public class PurchaseInquiryMouldServiceImpl implements PurchaseInquiryMouldServ
 	}
 
 	@Override
-	public Page<PurchaseInquiryMould> findAllByPageInfo(final PageInfo pageInfo, final String keyword,
-			final SearchFilter filter) {
-		return purchaseInquiryMouldDao.findAll(new Specification<PurchaseInquiryMould>() {
+	public SPage<PurchaseInquiryMould> findAllByPageInfo(final PageInfo pageInfo, final String keyword,
+														 final SearchFilter filter) {
+		SPage<PurchaseInquiryMould> spage = new SPage<>();
+		Page<PurchaseInquiryMould> purchaseInquiryMoulds = purchaseInquiryMouldDao.findAll(new Specification<PurchaseInquiryMould>() {
 			@Override
 			public Predicate toPredicate(Root<PurchaseInquiryMould> root, CriteriaQuery<?> query,
 					CriteriaBuilder builder) {
@@ -408,6 +410,12 @@ public class PurchaseInquiryMouldServiceImpl implements PurchaseInquiryMouldServ
 				return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
 			}
 		}, pageInfo);
+		spage.setContent(purchaseInquiryMoulds.getContent());
+		spage.setPage(purchaseInquiryMoulds.getNumber());
+		spage.setTotalPage(purchaseInquiryMoulds.getTotalPages());
+		spage.setTotalElement(purchaseInquiryMoulds.getTotalElements());
+		spage.setSize(purchaseInquiryMoulds.getSize());
+		return spage;
 	}
 
 	@Override
@@ -419,7 +427,7 @@ public class PurchaseInquiryMouldServiceImpl implements PurchaseInquiryMouldServ
 			// pageInfo.filter("productId", item.getProductId());
 			pageInfo.filter("status", (short) Status.REPLIED.value());
 			pageInfo.sorting("date", Direction.DESC);
-			Page<PurchaseInquiryMould> page = findAllByPageInfo(pageInfo, null, null);
+			SPage<PurchaseInquiryMould> page = findAllByPageInfo(pageInfo, null, null);
 			return page.getContent();
 		}
 		return null;

+ 6 - 2
src/main/webapp/resources/js/index/app.js

@@ -4453,7 +4453,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 	
 	
 	// 模具询价管理 
-	app.controller('SaleInquiryMouldCtrl',['$scope', '$filter', 'PurcInquiryMould', 'ngTableParams', 'toaster', 'BaseService', '$upload', function($scope, $filter, PurcInquiryMould, ngTableParams, toaster, BaseService, $upload){
+	app.controller('SaleInquiryMouldCtrl',['$scope', '$filter', 'PurcInquiryMould', 'ngTableParams', 'toaster', 'BaseService', '$upload', 'PurcInquiryMouldSql', function($scope, $filter, PurcInquiryMould, ngTableParams, toaster, BaseService, $upload, PurcInquiryMouldSql){
 		BaseService.scrollBackToTop();
 		$scope.active = 'todo';
 		$scope.agreedText = '全部';
@@ -4496,7 +4496,11 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 		};
 		
 		var getService = function() {
-			return PurcInquiryMould;
+		    if ($scope.keyword) {
+                return PurcInquiryMould;
+            } else {
+		        return PurcInquiryMouldSql;
+            }
 		};
 		
 		$scope.tableParams = new ngTableParams({

+ 21 - 0
src/main/webapp/resources/js/index/services/Purc.js

@@ -419,6 +419,27 @@ define([ 'ngResource'], function() {
 				}
 			}
 		});
+    }]).factory('PurcInquiryMouldSql', ['$resource', function($resource) {
+        return $resource('sale/mould/sql', {}, {
+            getAll: {
+
+            },
+            getTodo: {
+                params: {
+                    _state: 'todo'
+                }
+            },
+            getDone: {
+                params: {
+                    _state: 'done'
+                }
+            },
+            getInvalid: {
+                params: {
+                    _state: 'invalid'
+                }
+            }
+        });
 	}]).factory('PurcNotice', ['$resource', function($resource) {
 		return $resource('sale/notice/:id', {}, {
 			getTodo: {