浏览代码

针对买家采购询价增加数据库查询列表方法

hejq 8 年之前
父节点
当前提交
2dc24ed89d

+ 154 - 53
src/main/java/com/uas/platform/b2b/controller/PurcInquiryController.java

@@ -2,12 +2,11 @@ package com.uas.platform.b2b.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.uas.platform.b2b.model.FileUpload;
-import com.uas.platform.b2b.model.PurcInquiry;
-import com.uas.platform.b2b.model.PurcInquiryItemInfo;
-import com.uas.platform.b2b.model.PurchaseInquiryItem;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.PurcInquiryService;
+import com.uas.platform.b2b.service.PurchaseInquiryService;
+import com.uas.platform.b2b.service.UserService;
 import com.uas.platform.b2b.support.JxlsExcelView;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
@@ -17,6 +16,7 @@ import com.uas.platform.b2b.temporary.model.VendorAndContact;
 import com.uas.platform.core.exception.IllegalOperatorException;
 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;
@@ -31,6 +31,8 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.ui.ModelMap;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -62,6 +64,12 @@ public class PurcInquiryController {
 	@Autowired
 	private SearchService searchService;
 
+	@Autowired
+    private UserService userService;
+
+	@Autowired
+    private PurchaseInquiryService purchaseInquiryService;
+
 	/**
 	 * 保存(或修改)
 	 *
@@ -187,13 +195,27 @@ public class PurcInquiryController {
 		logger.log("采购询价单", "查看发出的采购询价单列表(全部)");
 		JSONObject jsonObject = JSON.parseObject(searchFilter);
 		String keyword = jsonObject.getString("keyword");
-		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
-		// 当前登录企业作为供应商
-		pageParams.getFilters().put("id_inid", SystemSession.getUser().getEnterprise().getUu());
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("id_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-		return searchService.searchPurchaseInquiryItemIds(keyword, pageParams);
+		if (StringUtils.isEmpty(keyword)) {
+            PageInfo pageInfo = new PageInfo(params);
+            pageInfo.filter("inquiry.enUU", SystemSession.getUser().getEnterprise().getUu());
+            SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+            SearchFilter distribute = userService.distribute();
+            if (distribute != null && distribute.getDistribute() == null) {
+                return null;
+            }
+            if (distribute != null && !CollectionUtils.isEmpty(distribute.getDistribute())) {
+                filter.setDistribute(distribute.getDistribute());
+            }
+            return purchaseInquiryService.findByPageInfo(pageInfo, null, filter);
+		} else {
+			com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
+			// 当前登录企业作为供应商
+			pageParams.getFilters().put("id_inid", SystemSession.getUser().getEnterprise().getUu());
+			List<Sort> sortList = new ArrayList<>();
+			sortList.add(new Sort("id_id", false, Type.LONG, new Long(1)));
+			pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+			return searchService.searchPurchaseInquiryItemIds(keyword, pageParams);
+		}
 	}
 
 	/**
@@ -206,15 +228,29 @@ public class PurcInquiryController {
 		logger.log("客户询价单", "查看收到的客户询价单列表(待回复)");
 		JSONObject jsonObject = JSON.parseObject(searchFilter);
 		String keyword = jsonObject.getString("keyword");
-		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
-		// 当前登录企业作为供应商
-		pageParams.getFilters().put("id_inid", SystemSession.getUser().getEnterprise().getUu());
-		pageParams.getFilters().put("id_status", Status.NOT_REPLY.value());
-		pageParams.getFilters().put("id_overdue", Constant.NO);
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("id_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-		return searchService.searchPurchaseInquiryItemIds(keyword, pageParams);
+        if (StringUtils.isEmpty(keyword)) {
+            PageInfo pageInfo = new PageInfo(params);
+            pageInfo.filter("inquiry.enUU", SystemSession.getUser().getEnterprise().getUu());
+            SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+            SearchFilter distribute = userService.distribute();
+            if (distribute != null && distribute.getDistribute() == null) {
+                return null;
+            }
+            if (distribute != null && !CollectionUtils.isEmpty(distribute.getDistribute())) {
+                filter.setDistribute(distribute.getDistribute());
+            }
+            return purchaseInquiryService.findTodoByPageInfo(pageInfo, null, filter);
+        } else {
+            com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
+            // 当前登录企业作为供应商
+            pageParams.getFilters().put("id_inid", SystemSession.getUser().getEnterprise().getUu());
+            pageParams.getFilters().put("id_status", Status.NOT_REPLY.value());
+            pageParams.getFilters().put("id_overdue", Constant.NO);
+            List<Sort> sortList = new ArrayList<>();
+            sortList.add(new Sort("id_id", false, Type.LONG, new Long(1)));
+            pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+            return searchService.searchPurchaseInquiryItemIds(keyword, pageParams);
+        }
 	}
 
 	/**
@@ -227,14 +263,28 @@ public class PurcInquiryController {
 		logger.log("客户询价单", "查看收到的客户询价单列表(已失效)");
 		JSONObject jsonObject = JSON.parseObject(searchFilter);
 		String keyword = jsonObject.getString("keyword");
-		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
-		// 当前登录企业作为供应商
-		pageParams.getFilters().put("id_inid", SystemSession.getUser().getEnterprise().getUu());
-		pageParams.getFilters().put("id_overdue", Constant.YES); // 已失效
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("id_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-		return searchService.searchPurchaseInquiryItemIds(keyword, pageParams);
+        if (StringUtils.isEmpty(keyword)) {
+            PageInfo pageInfo = new PageInfo(params);
+            pageInfo.filter("inquiry.enUU", SystemSession.getUser().getEnterprise().getUu());
+            SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+            SearchFilter distribute = userService.distribute();
+            if (distribute != null && distribute.getDistribute() == null) {
+                return null;
+            }
+            if (distribute != null && !CollectionUtils.isEmpty(distribute.getDistribute())) {
+                filter.setDistribute(distribute.getDistribute());
+            }
+            return purchaseInquiryService.findInvalidByPageInfo(pageInfo, null, filter);
+        } else {
+            com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
+            // 当前登录企业作为供应商
+            pageParams.getFilters().put("id_inid", SystemSession.getUser().getEnterprise().getUu());
+            pageParams.getFilters().put("id_overdue", Constant.YES); // 已失效
+            List<Sort> sortList = new ArrayList<>();
+            sortList.add(new Sort("id_id", false, Type.LONG, new Long(1)));
+            pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+            return searchService.searchPurchaseInquiryItemIds(keyword, pageParams);
+        }
 	}
 
 	/**
@@ -247,15 +297,32 @@ public class PurcInquiryController {
 		logger.log("客户询价单", "查看收到的客户询价单列表(已回复)");
 		JSONObject jsonObject = JSON.parseObject(searchFilter);
 		String keyword = jsonObject.getString("keyword");
-		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
-		// 当前登录企业作为供应商
-		pageParams.getFilters().put("id_inid", SystemSession.getUser().getEnterprise().getUu());
-		pageParams.getFilters().put("id_status", Status.REPLIED.value());
-		pageParams.getFilters().put("id_decidestatus", Status.REPLIED.value());
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("id_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-		return searchService.searchPurchaseInquiryItemIds(keyword, pageParams);
+        if (StringUtils.isEmpty(keyword)) {
+            PageInfo pageInfo = new PageInfo(params);
+            pageInfo.filter("inquiry.enUU", SystemSession.getUser().getEnterprise().getUu());
+            pageInfo.filter("status", Status.REPLIED.value());
+            pageInfo.filter("invalid", Constant.NO);
+            pageInfo.filter("decideStatus", Status.UNAUDIT.value());
+            SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+            SearchFilter distribute = userService.distribute();
+            if (distribute != null && distribute.getDistribute() == null) {
+                return null;
+            }
+            if (distribute != null && !CollectionUtils.isEmpty(distribute.getDistribute())) {
+                filter.setDistribute(distribute.getDistribute());
+            }
+            return purchaseInquiryService.findByPageInfo(pageInfo, null, filter);
+        } else {
+            com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
+            // 当前登录企业作为供应商
+            pageParams.getFilters().put("id_inid", SystemSession.getUser().getEnterprise().getUu());
+            pageParams.getFilters().put("id_status", Status.REPLIED.value());
+            pageParams.getFilters().put("id_decidestatus", Status.REPLIED.value());
+            List<Sort> sortList = new ArrayList<>();
+            sortList.add(new Sort("id_id", false, Type.LONG, new Long(1)));
+            pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+            return searchService.searchPurchaseInquiryItemIds(keyword, pageParams);
+        }
 	}
 
 	/**
@@ -268,14 +335,31 @@ public class PurcInquiryController {
 		logger.log("客户询价单", "查看收到的客户询价单列表(已采纳)");
 		JSONObject jsonObject = JSON.parseObject(searchFilter);
 		String keyword = jsonObject.getString("keyword");
-		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
-		// 当前登录企业作为供应商
-		pageParams.getFilters().put("id_inid", SystemSession.getUser().getEnterprise().getUu());
-		pageParams.getFilters().put("id_agreed", Constant.YES);
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("id_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-		return searchService.searchPurchaseInquiryItemIds(keyword, pageParams);
+        if (StringUtils.isEmpty(keyword)) {
+            PageInfo pageInfo = new PageInfo(params);
+            pageInfo.filter("inquiry.enUU", SystemSession.getUser().getEnterprise().getUu());
+            pageInfo.filter("agreed", Constant.YES);
+            pageInfo.filter("status", Status.REPLIED.value());
+            pageInfo.filter("invalid", Constant.NO);
+            SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+            SearchFilter distribute = userService.distribute();
+            if (distribute != null && distribute.getDistribute() == null) {
+                return null;
+            }
+            if (distribute != null && !CollectionUtils.isEmpty(distribute.getDistribute())) {
+                filter.setDistribute(distribute.getDistribute());
+            }
+            return purchaseInquiryService.findByPageInfo(pageInfo, null, filter);
+        } else {
+            com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
+            // 当前登录企业作为供应商
+            pageParams.getFilters().put("id_inid", SystemSession.getUser().getEnterprise().getUu());
+            pageParams.getFilters().put("id_agreed", Constant.YES);
+            List<Sort> sortList = new ArrayList<>();
+            sortList.add(new Sort("id_id", false, Type.LONG, new Long(1)));
+            pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+            return searchService.searchPurchaseInquiryItemIds(keyword, pageParams);
+        }
 	}
 
 	/**
@@ -288,14 +372,31 @@ public class PurcInquiryController {
 		logger.log("客户询价单", "查看收到的客户询价单列表(未采纳)");
 		JSONObject jsonObject = JSON.parseObject(searchFilter);
 		String keyword = jsonObject.getString("keyword");
-		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
-		// 当前登录企业作为供应商
-		pageParams.getFilters().put("id_inid", SystemSession.getUser().getEnterprise().getUu());
-		pageParams.getFilters().put("id_agreed", Constant.NO);
-		List<Sort> sortList = new ArrayList<>();
-		sortList.add(new Sort("id_id", false, Type.LONG, new Long(1)));
-		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-		return searchService.searchPurchaseInquiryItemIds(keyword, pageParams);
+        if (StringUtils.isEmpty(keyword)) {
+            PageInfo pageInfo = new PageInfo(params);
+            pageInfo.filter("inquiry.enUU", SystemSession.getUser().getEnterprise().getUu());
+            pageInfo.filter("agreed", Constant.NO);
+            pageInfo.filter("status", Status.REPLIED.value());
+            pageInfo.filter("invalid", Constant.NO);
+            SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+            SearchFilter distribute = userService.distribute();
+            if (distribute != null && distribute.getDistribute() == null) {
+                return null;
+            }
+            if (distribute != null && !CollectionUtils.isEmpty(distribute.getDistribute())) {
+                filter.setDistribute(distribute.getDistribute());
+            }
+            return purchaseInquiryService.findByPageInfo(pageInfo, null, filter);
+        } else {
+            com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, searchFilter);
+            // 当前登录企业作为供应商
+            pageParams.getFilters().put("id_inid", SystemSession.getUser().getEnterprise().getUu());
+            pageParams.getFilters().put("id_agreed", Constant.NO);
+            List<Sort> sortList = new ArrayList<>();
+            sortList.add(new Sort("id_id", false, Type.LONG, new Long(1)));
+            pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
+            return searchService.searchPurchaseInquiryItemIds(keyword, pageParams);
+        }
 	}
 
 	/**

+ 0 - 2
src/main/java/com/uas/platform/b2b/controller/SaleInquiryController.java

@@ -377,8 +377,6 @@ public class SaleInquiryController {
 		logger.log("客户询价单", "查看收到的客户询价单列表(待报价)");
 		PageInfo pageInfo = new PageInfo(params);
 		pageInfo.filter("status", Status.NOT_REPLY.value());
-		pageInfo.filter("overdue", Constant.NO);
-		pageInfo.filter("invalid", Constant.NO);
 		pageInfo.filter("vendUU", SystemSession.getUser().getEnterprise().getUu());
 		SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
 		SearchFilter distribute = userService.distribute();

+ 4 - 18
src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java

@@ -572,6 +572,8 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
     public SPage<PurchaseInquiryItem> findTodoByPageInfo(PageInfo pageInfo, String keyword, SearchFilter filter) {
         // 提交状态不为1
         pageInfo.expression(PredicateUtils.or(PredicateUtils.isNull("inquiry.check"), PredicateUtils.eq("inquiry.check", Constant.NO, false)));
+        pageInfo.expression(PredicateUtils.ne("overdue", Constant.YES, false));
+        pageInfo.expression(PredicateUtils.ne("invalid", Constant.YES, false));
         return findByPageInfo(pageInfo, keyword, filter);
     }
 
@@ -581,37 +583,26 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
      */
     @Override
     public void coverInquiryItemProdToUser(Long enUU) throws Exception {
-		System.out.println("开始时间" + new Date());
 		long start = System.currentTimeMillis();
-//		String codePrefix = DateUtils.format(new Date(), "yyMMddHHmm") + StringUtil.getRandomNumber(3);
 		String importId = StringUtil.getRandomNumber(8);
-		System.out.println("importId:" + importId);
         int size = 1000;
         int page = 1;
 		int i = 0;
         String countSql = "select count(1) from (select id_prid,id_venduu,id_venduseruu,count(1) as nums from purc$inquiryitems left join purc$inquiry on id_inid = in_id" +
-				"        where id_venduseruu is not null and id_status = 201 and in_enuu = " + enUU + " group by id_prid,id_venduseruu,id_venduu order by count(1) desc) a";
+                " where id_venduseruu is not null and id_status = 201 and in_enuu = " + enUU + " group by id_prid,id_venduseruu,id_venduu order by count(1) desc) a";
         Integer count = commonDao.queryForObject(countSql, Integer.class);
-		System.out.println("循环次数:" + Math.ceil((double)count / (double)size));
         for (; page <= Math.ceil((double)count / (double)size); page++ ) {
-			System.out.println("开始循环:" + page);
 			String sql = "select " + importId + " as pr_import_id, pr_title,pr_code,pr_spec,pr_unit,pr_minpack,pr_minorder,pr_leadtime,pr_ltinstock,pr_brand,pr_cmpcode,'B2B' as pr_sourceapp,id_prid as pr_sourceid,1 as pr_issale,0 aspr_ispurchase,pr_isshow,pr_ispubsale,pr_standard,pr_create_time,id_venduu as pr_enuu,id_venduseruu as pr_useruu from (" +
 					"select id_prid,id_venduu,id_venduseruu,count(1) as nums from purc$inquiryitems left join purc$inquiry on id_inid = in_id " +
 					" where id_venduseruu is not null and id_status = 201 and in_enuu = " + enUU + " group by id_prid,id_venduseruu,id_venduu order by count(1) desc " +
 					" ) t left join v$products P on id_prid = pr_id where P.pr_title is not null and P.pr_code is not null limit 0,10";
-			System.out.println(sql);
 			List<ProductTemp> productTemps = commonDao.query(sql, ProductTemp.class);
-			System.out.println(enUU + "找到询价单详情" + productTemps.size());
 			// 本地校验
 			checkTempProducts(productTemps);
 			// 保存到公共库
 			saveToDataCenter(productTemps);
-			System.out.println("循环一次物料:" + productTemps.size());
 			i += productTemps.size();
-			System.out.println("结束循环:" + page + "耗时:" + (System.currentTimeMillis() - start));
 		}
-		System.out.println("总计处理物料:" + i);
-		System.out.println("结束循环耗时:" + (System.currentTimeMillis() - start));
     }
 
 	/**
@@ -629,7 +620,6 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 			productTempDao.matchExists(importId);
 			// 已禁用物料自动解禁
 			productTempDao.toggleDisabled(importId);
-			System.out.println("校验:" + (System.currentTimeMillis() - start));
 		}
 	}
 
@@ -637,16 +627,12 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 	 * 保存到公共库
 	 */
 	private void saveToDataCenter(List<ProductTemp> temps) throws Exception {
-		long start = System.currentTimeMillis();
 		if (!CollectionUtils.isEmpty(temps)) {
 			String importId = temps.get(0).getPr_import_id();
 			// 已匹配+未匹配到的物料
 			List<Product> products = productTempDao.getProducts(importId);
-			System.out.println("取匹配后结果:" + (System.currentTimeMillis() - start));
-			start = System.currentTimeMillis();
 			// 更新物料并插入个人物料
-			ModelMap map = ProductUtils.paginationUpdateAndAddToProductUser(products);
-			System.out.println("更新物料:" + (System.currentTimeMillis() - start));
+			ProductUtils.paginationUpdateAndAddToProductUser(products);
 		}
 	}