Browse Source

Merge remote-tracking branch 'origin/dev' into dev

hejq 8 years ago
parent
commit
4937f233a4

+ 2 - 3
src/main/java/com/uas/platform/b2b/controller/BaseInfoController.java

@@ -148,10 +148,10 @@ public class BaseInfoController {
 		pageParams.setKeywordSearchColumns(keywordSearchColumns);
 		pageParams.getFilters().put("pr_enuu", SystemSession.getUser().getEnterprise().getUu());
 		pageParams.getFilters().put("pr_issale", Constant.YES);
-		pageParams.getFilters().put("pr_standard", Constant.NO);
 
 		HashMap<String, Object> map = new HashMap<>();
 		map.put("pr_b2benabled", Constant.YES);
+		map.put("pr_standard", Constant.YES);
 		pageParams.setNotEqualFilters(map);
 
 		List<Sort> sortList = new ArrayList<>();
@@ -194,8 +194,7 @@ public class BaseInfoController {
 		logger.log("查看产品", SystemSession.getUser().getUserName() + "查看了产品信息(非标准)");
 		PageInfo pageInfo = new PageInfo(params);
 		pageInfo.filter("isSale", Constant.YES);
-		pageInfo.filter("standard", Constant.NO);
-		return productService.findB2bEnabledProductInfoByPageInfo(pageInfo, keyword);
+		return productService.findNotStandardB2bEnabledProductInfoByPageInfo(pageInfo, keyword);
 	}
 
 	/**

+ 20 - 16
src/main/java/com/uas/platform/b2b/controller/PurcInquiryController.java

@@ -1,21 +1,5 @@
 package com.uas.platform.b2b.controller;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.Workbook;
-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.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
-
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.FileUpload;
@@ -41,6 +25,25 @@ 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.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Workbook;
+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.web.bind.annotation.PathVariable;
+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.bind.annotation.RestController;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
 
 /**
  * 平台新增的询价单
@@ -249,6 +252,7 @@ public class PurcInquiryController {
 		// 当前登录企业作为供应商
 		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);

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

@@ -427,7 +427,7 @@ public class SaleInquiryController {
 	public SPage<PurchaseInquiryItem> getPurchaseInquiriesDone(PageParams params, String searchFilter) {
 		logger.log("客户询价单", "查看收到的客户询价单列表(已报价)");
 		PageInfo pageInfo = new PageInfo(params);
-		pageInfo.filter("overdue", Constant.NO);
+//		pageInfo.filter("overdue", Constant.NO);
 		pageInfo.filter("status", Status.REPLIED.value());
 		pageInfo.filter("invalid", Constant.NO);
 		pageInfo.filter("vendUU", SystemSession.getUser().getEnterprise().getUu());

+ 1 - 2
src/main/java/com/uas/platform/b2b/mobile/controller/AppInquiryController.java

@@ -250,7 +250,7 @@ public class AppInquiryController {
         } else {
             logger.log("客户询价单", "查看收到的客户询价单列表(已报价)");
             PageInfo pageInfo = new PageInfo(page, size);
-            pageInfo.filter("overdue", Constant.NO);
+//            pageInfo.filter("overdue", Constant.NO);
             pageInfo.filter("status", Status.REPLIED.value());
             pageInfo.filter("invalid", Constant.NO);
             pageInfo.filter("vendUU", SystemSession.getUser().getEnterprise().getUu());
@@ -300,7 +300,6 @@ public class AppInquiryController {
             logger.log("客户询价单", "查看收到的客户询价单列表(已失效)");
             PageInfo pageInfo = new PageInfo(page, size);
             pageInfo.filter("vendUU", SystemSession.getUser().getEnterprise().getUu());
-            pageInfo.filter("invalid", Constant.YES);
             SearchFilter filter = new SearchFilter();
             SearchFilter distribute = userService.distribute();
             if (distribute != null && distribute.getDistribute() == null) {

+ 7 - 3
src/main/java/com/uas/platform/b2b/ps/MessageUtils.java

@@ -4,7 +4,9 @@ import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.TypeReference;
 import com.alibaba.fastjson.parser.Feature;
 import com.uas.account.support.Page;
+import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.support.HttpUtils;
+import com.uas.platform.b2b.support.MessageConf;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.temporary.model.MessageModel;
 import org.springframework.http.HttpStatus;
@@ -20,7 +22,9 @@ import java.util.HashMap;
  */
 public class MessageUtils {
 
-    private static final String MESSAGE_PUBLIC_SERVICE_DEV_URL = "";
+
+    //TODO 其他也修改为从properties取
+    private static final String MESSAGE_PUBLIC_SERVICE_URL = ContextUtils.getBean(MessageConf.class).getMessagePublicServiceDevUrl();
 
     /**
      * 获取公共消息的方法
@@ -38,7 +42,7 @@ public class MessageUtils {
         params.put("consumerApp", "B2B");
         params.put("page", page);
         params.put("size", size);
-        HttpUtils.Response res = HttpUtils.get(MESSAGE_PUBLIC_SERVICE_DEV_URL + "/message", params);
+        HttpUtils.Response res = HttpUtils.get(MESSAGE_PUBLIC_SERVICE_URL + "/message", params);
         if (HttpStatus.OK.value() == res.getStatusCode()) {
             if (null != res.getResponseText()) {
                 return (Page) JSONObject.parseObject(res.getResponseText(), new TypeReference<Page<MessageModel>>() {
@@ -63,7 +67,7 @@ public class MessageUtils {
         HashMap<String, String> params = new HashMap<>();
         params.put("messageId", String.valueOf(id));
         params.put("consumerApp", "B2B");
-        HttpUtils.Response res = HttpUtils.post(MESSAGE_PUBLIC_SERVICE_DEV_URL + "/message/read", params);
+        HttpUtils.Response res = HttpUtils.post(MESSAGE_PUBLIC_SERVICE_URL + "/message/read", params);
         if (HttpStatus.OK.value() == res.getStatusCode()) {
             map.put("success", "成功设为已读");
             return map;

+ 11 - 9
src/main/java/com/uas/platform/b2b/ps/ProductUtils.java

@@ -1,7 +1,9 @@
 package com.uas.platform.b2b.ps;
 
 import com.alibaba.fastjson.JSON;
+import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.model.Product;
+import com.uas.platform.b2b.support.SysConf;
 import com.uas.platform.core.util.HttpUtil;
 import com.uas.platform.core.util.HttpUtil.Response;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
@@ -21,7 +23,7 @@ import java.util.List;
  */
 public class ProductUtils {
 
-    private static final String PRODUCT_PUBLIC_SERVICE_DEV_URL = "http://218.17.158.219:24000";
+    private static final String PRODUCT_PUBLIC_SERVICE_URL = ContextUtils.getBean(SysConf.class).getProductServiceUrl();
 
     /**
      * 批量更新物料
@@ -34,7 +36,7 @@ public class ProductUtils {
     public static List<Long> update(List<Product> products) throws Exception {
         HashMap<String, Object> params = new HashMap<>();
         params.put("data", FlexJsonUtils.toJsonDeep(products));
-        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_DEV_URL + "/product/update", params);
+        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_URL + "/product/update", params);
         if (HttpStatus.OK.value() == res.getStatusCode()) {
             if (null != res.getResponseText()) {
                 // 保存成功物料的id
@@ -59,7 +61,7 @@ public class ProductUtils {
         List<Product> products = new ArrayList<>();
         products.add(product);
         params.put("data", FlexJsonUtils.toJsonDeep(products));
-        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_DEV_URL + "/product/update", params);
+        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_URL + "/product/update", params);
         if (HttpStatus.OK.value() == res.getStatusCode()) {
             if (null != res.getResponseText()) {
                 // 保存成功物料的id
@@ -86,7 +88,7 @@ public class ProductUtils {
     public static ModelMap deleteProductUser(Long id) throws Exception {
         HashMap<String, Object> params = new HashMap<>();
         params.put("id", id);
-        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_DEV_URL + "/productuser/edit/delete", params);
+        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_URL + "/productuser/edit/delete", params);
         if (HttpStatus.OK.value() == res.getStatusCode()) {
             return new ModelMap("success", "删除个人物料成功");
         } else {
@@ -105,7 +107,7 @@ public class ProductUtils {
     public static ModelMap deleteMatchResultAndProductUser(Long id) throws Exception {
         HashMap<String, Object> params = new HashMap<>();
         params.put("id", id);
-        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_DEV_URL + "/product/matchResultAndProductUser/delete", params);
+        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_URL + "/product/matchResultAndProductUser/delete", params);
         if (HttpStatus.OK.value() == res.getStatusCode()) {
             return new ModelMap("success", "删除匹配结果和个人物料");
         } else {
@@ -124,7 +126,7 @@ public class ProductUtils {
         params.put("enUU", enUU);
         params.put("switchType", switchType);
         params.put("switchStatus", switchStatus);
-        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_DEV_URL + "/product/saleAndPurchase/edit/toggle", params);
+        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_URL + "/product/saleAndPurchase/edit/toggle", params);
         if (HttpStatus.OK.value() != res.getStatusCode()) {
             throw new RuntimeException("一键操作失败");
         }
@@ -137,7 +139,7 @@ public class ProductUtils {
     public static void matchAll(Long enUU) throws Exception {
         HashMap<String, Object> params = new HashMap<>();
         params.put("enUU", enUU);
-        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_DEV_URL + "/product/match/nonProduct", params);
+        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_URL + "/product/match/nonProduct", params);
         if (HttpStatus.OK.value() != res.getStatusCode()) {
             throw new RuntimeException("一键匹配失败");
         }
@@ -154,7 +156,7 @@ public class ProductUtils {
         params.put("id", id);
         params.put("switchType", switchType);
         params.put("switchStatus", switchStatus);
-        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_DEV_URL + "/product/edit/toggle/one", params);
+        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_URL + "/product/edit/toggle/one", params);
         if (HttpStatus.OK.value() != res.getStatusCode()) {
             throw new RuntimeException("操作失败");
         }
@@ -169,7 +171,7 @@ public class ProductUtils {
         HashMap<String, Object> params = new HashMap<>();
         params.put("enUU", enUU);
         params.put("idList", idList);
-        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_DEV_URL + "/product/match/selected", params);
+        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_URL + "/product/match/selected", params);
         if (HttpStatus.OK.value() != res.getStatusCode()) {
             throw new RuntimeException("匹配所选失败");
         }

+ 10 - 0
src/main/java/com/uas/platform/b2b/service/ProductService.java

@@ -183,6 +183,16 @@ public interface ProductService {
 	 */
 	public SPage<Product> findB2bEnabledProductInfoByPageInfo(PageInfo pageInfo, String keyword);
 
+	/**
+	 * 分页查找客户物料(非标准未禁用)
+	 *
+	 * @param pageInfo 分页参数
+	 * @param keyword
+	 *            查找关键词
+	 * @return
+	 */
+	SPage<Product> findNotStandardB2bEnabledProductInfoByPageInfo(PageInfo pageInfo, String keyword);
+
 	List<Long> getUnreadIds(String category);
 
 	void setReadByOrder(String category, Long[] sourceId);

+ 32 - 62
src/main/java/com/uas/platform/b2b/service/impl/BaseInfoServiceImpl.java

@@ -3,47 +3,15 @@ package com.uas.platform.b2b.service.impl;
 import com.uas.account.entity.RequsetStatus;
 import com.uas.account.util.AccountUtils;
 import com.uas.platform.b2b.core.util.ThreadTask;
-import com.uas.platform.b2b.dao.CommonDao;
-import com.uas.platform.b2b.dao.DistributeDao;
-import com.uas.platform.b2b.dao.EnterpriseDao;
-import com.uas.platform.b2b.dao.ProductDao;
-import com.uas.platform.b2b.dao.ProductMatchResultDao;
-import com.uas.platform.b2b.dao.ProductStatusDao;
-import com.uas.platform.b2b.dao.PurchaseOrderAllDao;
-import com.uas.platform.b2b.dao.PurchaseOrderAllItemDao;
-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.model.Attach;
-import com.uas.platform.b2b.model.Component;
-import com.uas.platform.b2b.model.Distribute;
-import com.uas.platform.b2b.model.Enterprise;
-import com.uas.platform.b2b.model.EnterpriseInfo;
-import com.uas.platform.b2b.model.FileUpload;
-import com.uas.platform.b2b.model.Product;
-import com.uas.platform.b2b.model.ProductStatus;
-import com.uas.platform.b2b.model.PurchaseOrderAll;
-import com.uas.platform.b2b.model.PurchaseOrderAllItem;
-import com.uas.platform.b2b.model.Role;
-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.ps.ProductUtils;
+import com.uas.platform.b2b.dao.*;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.AttachService;
 import com.uas.platform.b2b.service.BaseInfoService;
 import com.uas.platform.b2b.service.ComponentService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
-import com.uas.platform.b2b.temporary.model.BasePartnersInfo;
-import com.uas.platform.b2b.temporary.model.NewPurcOrder;
-import com.uas.platform.b2b.temporary.model.OrderItems;
-import com.uas.platform.b2b.temporary.model.PartStatus;
-import com.uas.platform.b2b.temporary.model.ProdInfo;
-import com.uas.platform.b2b.temporary.model.UserSpaceDetail;
+import com.uas.platform.b2b.temporary.model.*;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
@@ -64,12 +32,7 @@ import org.springframework.ui.ModelMap;
 
 import javax.transaction.Transactional;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 @Service
 @Transactional
@@ -254,9 +217,9 @@ public class BaseInfoServiceImpl implements BaseInfoService {
 			}
 			if (!CollectionUtils.isEmpty(products)) {
 				try {
-					List<Long> ids = ProductUtils.update(products);
+					products = productDao.save(products);
 //					saveUserOrders(products);
-					modelMap.put("success", ids != null ? ids.size() : 0);
+					modelMap.put("success", products.size());
 				} catch (Exception e) {
 					modelMap.put("error", "存在编号相同的产品");
 				}
@@ -340,7 +303,7 @@ public class BaseInfoServiceImpl implements BaseInfoService {
 			prodInfo.setStandard(Constant.NO);
 		}
 		prodInfo.setErpDate(new Date());
-		ProductUtils.updateOne(prodInfo);
+		prodInfo = productDao.save(prodInfo);
 //		saveUserOrders(prodInfo);
 		map.put("success", "更新成功");
 		return map;
@@ -397,9 +360,9 @@ public class BaseInfoServiceImpl implements BaseInfoService {
 			prodInfo.setEnUU(SystemSession.getUser().getEnterprise().getUu());
 			prodInfo.setSourceApp("B2B");
 			prodInfo.setErpDate(new Date());
-			Long id = ProductUtils.updateOne(prodInfo);
+			prodInfo = productDao.save(prodInfo);
 //			saveUserOrders(prodInfo);
-			map.put("id", id);
+			map.put("id", prodInfo.getId());
 			map.put("success", "物料添加成功");
 		}
 		return map;
@@ -429,26 +392,36 @@ public class BaseInfoServiceImpl implements BaseInfoService {
 	public Product findById(Long id) {
 		Product product = productDao.findOne(id);
 		Integer num = productDao.findProductBusinessStatusById(id);
+//		if (num > 0) {
+//			product.setIsbusiness(Constant.YES);
+//		} else {
+//			product.setIsbusiness(Constant.NO);
+//		}
 		return product;
 	}
 
-	/**
-	 * 删除物料,设置成disabled
-	 * @param id 物料id
-	 */
 	@Override
 	public void deleteById(Long id) throws Exception {
-		Product product = productDao.findOne(id);
-		if (null != product) {
-			ProductUtils.deleteMatchResultAndProductUser(id);
-			// 物料禁用
-			ProductStatus productStatus = new ProductStatus();
-			productStatus.setProduct(product);
-			productStatus.setB2bDisabled(Constant.YES);
-			productStatusDao.save(productStatus);
+		if (productDao.exists(id)) {
+			// 先删除匹配结果的id
+			List<ProductMatchResult> results = productMatchResultDao.findByPrid(id);
+			if (!CollectionUtils.isEmpty(results)) {
+				productMatchResultDao.delete(results);
+			}
+			// 需要删除个人物料库的数据
+            deleteUserProduct(id);
+			productDao.delete(id);
 		}
 	}
 
+    /**
+     * 删除个人物料库的数据
+     * @param id
+     */
+    private void deleteUserProduct(Long id) {
+        commonDao.getJdbcTemplate().execute("delete product$users where pu_prid = " + id);
+    }
+
     @Override
 	public Vendor addCust(BasePartnersInfo partner) {
 		Enterprise enter = enterpriseDao.findEnterpriseByEnBussinessCode(partner.getVendUID());
@@ -826,8 +799,7 @@ public class BaseInfoServiceImpl implements BaseInfoService {
 	}
 
 	@Override
-	public void switchPorduct(String status) throws Exception {
-		// sale or purc
+	public void switchPorduct(String status) {
 		String switchtype = "sale";
 		Integer switchstatus = 0;
 		Enterprise enter = SystemSession.getUser().getEnterprise();
@@ -840,8 +812,6 @@ public class BaseInfoServiceImpl implements BaseInfoService {
 		// TODO 这里之后要修改为只调用公共服务方法,B2B数据从公共服务同步
 		productDao.switchProductByEnuuAndTypeAndStatus(SystemSession.getUser().getEnterprise().getUu(), switchtype,
 				switchstatus);
-		ProductUtils.switchProductByEnuuAndTypeAndStatus(SystemSession.getUser().getEnterprise().getUu(), switchtype,
-				switchstatus);
 	}
 
 }

+ 89 - 72
src/main/java/com/uas/platform/b2b/service/impl/ProductServiceImpl.java

@@ -1,24 +1,11 @@
 package com.uas.platform.b2b.service.impl;
 
 import com.uas.platform.b2b.core.util.ContextUtils;
-import com.uas.platform.b2b.dao.CommonDao;
-import com.uas.platform.b2b.dao.ProductDao;
-import com.uas.platform.b2b.dao.ProductMatchResultDao;
-import com.uas.platform.b2b.dao.ProductStatusDao;
-import com.uas.platform.b2b.dao.ProductStoreStatusDao;
-import com.uas.platform.b2b.dao.ProductUsersDao;
-import com.uas.platform.b2b.dao.UserOrderDao;
+import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.ProductSaler;
 import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
 import com.uas.platform.b2b.event.ProductSaveEvent;
-import com.uas.platform.b2b.model.Component;
-import com.uas.platform.b2b.model.Product;
-import com.uas.platform.b2b.model.ProductMatchResult;
-import com.uas.platform.b2b.model.ProductStatus;
-import com.uas.platform.b2b.model.ProductStoreStatus;
-import com.uas.platform.b2b.model.ProductUsers;
-import com.uas.platform.b2b.model.UpdateType;
-import com.uas.platform.b2b.ps.ProductUtils;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.ComponentService;
 import com.uas.platform.b2b.service.ProductService;
@@ -77,7 +64,7 @@ public class ProductServiceImpl implements ProductService {
     private ProductUsersDao productUsersDao;
 
 	@Autowired
-    private ProductStatusDao productStatusDao;
+	private ProductStatusDao productStatusDao;
 
 	private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
 
@@ -111,12 +98,10 @@ public class ProductServiceImpl implements ProductService {
 
 	@Override
 	public void unlock(Long id) {
-	    // TODO 这里之后要修改为只调用公共服务方法,B2B数据从公共服务同步
 		try {
-            Product prod = productDao.findOne(id);
-            prod.setIsSale(Constant.YES);
-            ProductUtils.switchProduct(id, "sale", (int) Constant.YES);
-            productDao.save(prod);
+			Product prod = productDao.findOne(id);
+			prod.setIsSale(Constant.YES);
+			productDao.save(prod);
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
@@ -125,12 +110,10 @@ public class ProductServiceImpl implements ProductService {
 
 	@Override
 	public void lock(Long id) {
-        // TODO 这里之后要修改为只调用公共服务方法,B2B数据从公共服务同步
 		try {
-            Product prod = productDao.findOne(id);
-            prod.setIsSale(Constant.YES);
-            ProductUtils.switchProduct(id, "sale", (int) Constant.NO);
-            productDao.save(prod);
+			Product prod = productDao.findOne(id);
+			prod.setIsSale(Constant.NO);
+			productDao.save(prod);
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
@@ -138,12 +121,10 @@ public class ProductServiceImpl implements ProductService {
 
 	@Override
 	public void unlockPurc(Long id) {
-        // TODO 这里之后要修改为只调用公共服务方法,B2B数据从公共服务同步
 		try {
 			Product prod = productDao.findOne(id);
 			prod.setIsPurchase(Constant.YES);
-            ProductUtils.switchProduct(id, "purc", (int) Constant.YES);
-            productDao.save(prod);
+			productDao.save(prod);
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
@@ -151,12 +132,10 @@ public class ProductServiceImpl implements ProductService {
 
 	@Override
 	public void lockPurc(Long id) {
-        // TODO 这里之后要修改为只调用公共服务方法,B2B数据从公共服务同步
 		try {
 			Product prod = productDao.findOne(id);
 			prod.setIsPurchase(Constant.NO);
-            ProductUtils.switchProduct(id, "purc", (int) Constant.NO);
-            productDao.save(prod);
+			productDao.save(prod);
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
@@ -186,7 +165,7 @@ public class ProductServiceImpl implements ProductService {
 	}
 
 	@Override
-	public ModelMap alterByBatch(UpdateByBatchParameter param) throws Exception {
+	public ModelMap alterByBatch(UpdateByBatchParameter param) {
 		ModelMap map = new ModelMap();
 		Integer size = 0;
 		List<Product> prods = new ArrayList<Product>();
@@ -208,10 +187,10 @@ public class ProductServiceImpl implements ProductService {
 							product.setBrand(param.getNewvalue());
 							prods.add(product);
 						}
-                        size = prods.size();
-                    }
-                    ProductUtils.update(prods);
-                }
+						size = prods.size();
+						productDao.save(prods);
+					}
+				}
 
 			} else if (param.getUpdatetype().equals(UpdateType.TITLEUPDATE.getPhrase())) {
 				List<Product> products = new ArrayList<Product>();
@@ -229,11 +208,11 @@ public class ProductServiceImpl implements ProductService {
 					for (Product product : products) {
 						if (product.getCmpUuId() == null) {
 							product.setTitle(param.getNewvalue());
+							productDao.save(product);
 							prods.add(product);
 						}
 						size = prods.size();
 					}
-					ProductUtils.update(prods);
 				}
 			}
 			map.put("success", param.getUpdatetype() + "修改成功,更新数量为" + size);
@@ -268,7 +247,7 @@ public class ProductServiceImpl implements ProductService {
 	}
 
 	@Override
-	public ModelMap matchall(String matchtype) throws Exception{
+	public ModelMap matchall(String matchtype) {
 		ModelMap map = new ModelMap();
 		boolean flag = true;
 		ProductStoreStatus status = productStoreStatusDao.findByEnuu(SystemSession.getUser().getEnterprise().getUu());
@@ -290,19 +269,21 @@ public class ProductServiceImpl implements ProductService {
 		}
 		String num = null;
 		if (flag) {
-//			if (matchtype.equals("sale")) {
-//				num = productDao.upateResultByEnuuForSale(SystemSession.getUser().getEnterprise().getUu());
-//				logger.log("产品匹配", "一键匹配了产品信息", "大小" + num);
-//			} else if (matchtype.equals("purc")) {
-//				num = productDao.upateResultByEnuuForPurc(SystemSession.getUser().getEnterprise().getUu());
-//				logger.log("物料匹配", "一键匹配了物料信息", "大小" + num);
-//			} else if (matchtype.equals("all")) {
-//				num = productDao.upateResultByEnuu(SystemSession.getUser().getEnterprise().getUu());
-//				logger.log("物料匹配", "一键匹配了产品(物料)信息", "大小" + num);
-//			}
-            // 调用公共服务一键匹配
-            ProductUtils.matchAll(SystemSession.getUser().getEnterprise().getUu());
-            map.put("success", "一键匹配成功");
+			if (matchtype.equals("sale")) {
+				num = productDao.upateResultByEnuuForSale(SystemSession.getUser().getEnterprise().getUu());
+				logger.log("产品匹配", "一键匹配了产品信息", "大小" + num);
+			} else if (matchtype.equals("purc")) {
+				num = productDao.upateResultByEnuuForPurc(SystemSession.getUser().getEnterprise().getUu());
+				logger.log("物料匹配", "一键匹配了物料信息", "大小" + num);
+			} else if (matchtype.equals("all")) {
+				num = productDao.upateResultByEnuu(SystemSession.getUser().getEnterprise().getUu());
+				logger.log("物料匹配", "一键匹配了产品(物料)信息", "大小" + num);
+			}
+			if (null == num) {
+				map.put("size", 0);
+			} else {
+				map.put("size", num);
+			}
 			status.setStatus(Status.FINISH.value());
 			productStoreStatusDao.save(status);
 		}
@@ -342,7 +323,7 @@ public class ProductServiceImpl implements ProductService {
                 productStatus.setB2bDisabled(Constant.NO);
 			}
 			try {
-				ProductUtils.updateOne(prod);
+				prod = productDao.save(prod);
 				// 保存物料禁用状态信息
 				productStatusDao.save(productStatus);
 			} catch (Exception e) {
@@ -363,19 +344,19 @@ public class ProductServiceImpl implements ProductService {
 		int size1 = idStrings.size();
 		int size2 = 0;
 		if (status) {
-//            List<Product> products = productDao.findByEnUUAndMatchstatus(
-//                    SystemSession.getUser().getEnterprise().getUu(),
-//                    Status.SUBMITTED.value());
-//            if (!CollectionUtils.isEmpty(products)) {
-//                for (Product porduct : products) {
-//                    if (porduct.getMatchresults().size() == 1) {
-//                        for (ProductMatchResult result : porduct.getMatchresults()) {
-//                            refreshproduct(result.getId());
-//                            size2 = size2 + 1;
-//                        }
-//                    }
-//                }
-//            }
+			// List<Product> products = productDao.findByEnUUAndMatchstatus(
+			// SystemSession.getUser().getEnterprise().getUu(),
+			// Status.SUBMITTED.value());
+			// if (!CollectionUtils.isEmpty(products)) {
+			// for (Product porduct : products) {
+			// if (porduct.getMatchresults().size() == 1) {
+			// for (ProductMatchResult result : porduct.getMatchresults()) {
+			// refreshproduct(result.getId());
+			// size2 = size2 + 1;
+			// }
+			// }
+			// }
+			// }
 			String num = productDao.upateProductByEnuuAndType(SystemSession.getUser().getEnterprise().getUu(), type);
 			if (num != null) {
 				size2 = Integer.valueOf(num);
@@ -389,10 +370,34 @@ public class ProductServiceImpl implements ProductService {
 
 	@Override
 	public List<ProductMatchResult> matchaone(Long id) throws Exception {
-		List<Long> ids = new ArrayList<>();
-		ids.add(id);
-		ProductUtils.matchChoose(SystemSession.getUser().getEnterprise().getUu(), ids);
-		return null;
+		List<ProductMatchResult> results = productMatchResultDao.findByPrid(id);
+		if (CollectionUtils.isEmpty(results)) {// 如果还没有匹配过,再次进行匹配
+			Product prod = productDao.findOne(id);
+			if (prod != null) {
+				List<Component> components = componentService.findByCode(prod.getCmpCode());
+				short i = 1;
+				results = new ArrayList<ProductMatchResult>();
+				if (!CollectionUtils.isEmpty(components)) {
+					for (Component cmp : components) {
+						ProductMatchResult re = new ProductMatchResult();
+						re.setBrandcn(cmp.getBrand().getNameCn());
+						re.setBranden(cmp.getBrand().getNameEn());
+						re.setBrid(cmp.getBrandid());
+						re.setCmpcode(cmp.getCode());
+						re.setCmpid(cmp.getId());
+						re.setKindcn(cmp.getKind().getNameCn());
+						re.setKinden(cmp.getKind().getNameEn());
+						re.setKindid(cmp.getKindid());
+						re.setNumber(i);
+						re.setPrid(id);
+						re.setUuid(cmp.getUuid());
+						results.add(re);
+					}
+					results = productMatchResultDao.save(results);
+				}
+			}
+		}
+		return results;
 	}
 
 	@Override
@@ -451,6 +456,19 @@ public class ProductServiceImpl implements ProductService {
 		return prods;
 	}
 
+	/**
+	 * 分页查找客户物料(非标准未禁用)
+	 *
+	 * @param pageInfo 分页参数
+	 * @param keyword  查找关键词
+	 * @return
+	 */
+	@Override
+	public SPage<Product> findNotStandardB2bEnabledProductInfoByPageInfo(PageInfo pageInfo, String keyword) {
+		pageInfo.expression(PredicateUtils.or(PredicateUtils.isNull("standard"), PredicateUtils.eq("standard", Constant.NO, false)));
+		return findB2bEnabledProductInfoByPageInfo(pageInfo, keyword);
+	}
+
 	private Page<Product> findAllProudctByPageInfo(final PageInfo pageInfo, final String keyword) {
 		return productDao.findAll(new Specification<Product>() {
 
@@ -467,8 +485,7 @@ public class ProductServiceImpl implements ProductService {
 
 			public Predicate toPredicate(Root<Product> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
 				pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
-				pageInfo.expression(PredicateUtils.or(PredicateUtils.isNull("b2bDisabled"),
-                        PredicateUtils.eq("b2bDisabled", Constant.NO, false)));
+				pageInfo.filter("b2bDisabled", Constant.NO);
 				query.where(pageInfo.getPredicates(root, query, builder));
 				return null;
 			}

+ 1 - 2
src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java

@@ -517,8 +517,7 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 				PredicateUtils.eq("invalid", Constant.YES, true),
 				// 未回复且客户系统已提交(this.status == 200 && null != this.getInquiry().getCheck() && this.getInquiry().getCheck() == 1)
 				PredicateUtils.and(PredicateUtils.eq("status", Status.NOT_REPLY.value(), false),
-						PredicateUtils.or(PredicateUtils.isNull("inquiry.check"),
-								PredicateUtils.eq("inquiry.check", Constant.YES, false))),
+						PredicateUtils.eq("inquiry.check", Constant.YES, false)),
 				// 未回复但是已过报价截止日期
 				PredicateUtils.and(PredicateUtils.eq("status", Status.NOT_REPLY.value(), false),
 						PredicateUtils.lte("inquiry.endDate", now.getTime(), false))

+ 15 - 0
src/main/java/com/uas/platform/b2b/support/MessageConf.java

@@ -81,6 +81,13 @@ public class MessageConf {
 	@Value("#{message.messageUrl}")
 	private String messageUrl;
 
+	/**
+	 * 消息公共服务地址
+	 * @return
+	 */
+	@Value("#{message.messagePublicServiceDevUrl}")
+	private String messagePublicServiceDevUrl;
+
 	public String getTplInvitationForB2B() {
 		return tplInvitationForB2B;
 	}
@@ -168,4 +175,12 @@ public class MessageConf {
 	public void setMsgAutoInquiryForB2B(String msgAutoInquiryForB2B) {
 		this.msgAutoInquiryForB2B = msgAutoInquiryForB2B;
 	}
+
+	public String getMessagePublicServiceDevUrl() {
+		return messagePublicServiceDevUrl;
+	}
+
+	public void setMessagePublicServiceDevUrl(String messagePublicServiceDevUrl) {
+		this.messagePublicServiceDevUrl = messagePublicServiceDevUrl;
+	}
 }

+ 15 - 0
src/main/java/com/uas/platform/b2b/support/SysConf.java

@@ -54,6 +54,14 @@ public class SysConf {
     @Value("#{sys.registerUrl}")
     private String registerUrl;
 
+	/**
+	 * 物料公共服务地址
+	 *
+	 * @return
+	 */
+	@Value("#{sys.productServiceUrl}")
+	private String productServiceUrl;
+
     public String getRegisterUrl() {
         return registerUrl;
     }
@@ -118,4 +126,11 @@ public class SysConf {
 		this.reportUploadUrl = reportUploadUrl;
 	}
 
+	public String getProductServiceUrl() {
+		return productServiceUrl;
+	}
+
+	public void setProductServiceUrl(String productServiceUrl) {
+		this.productServiceUrl = productServiceUrl;
+	}
 }

+ 2 - 0
src/main/resources/dev/message.properties

@@ -11,3 +11,5 @@ tplAutoInquiryForB2B=fe01ead8-1e26-43d9-8278-4f8a9b4b343c
 msgInquiryForB2B=629edeb3-a87e-4a40-a5e5-51d9ae734f1b
 msgAutoInquiryForB2B=8cf71d56-09bb-4d60-993e-ed87ce72ec3b
 messageUrl=http://message.ubtob.com/sms/send
+
+messagePublicServiceDevUrl=http://218.17.158.219:24000/message

+ 4 - 1
src/main/resources/dev/sys.properties

@@ -8,4 +8,7 @@ registerUrl=http://10.10.100.133/sso/register
 
 #report url
 reportPrintUrl=http://print.ubtob.com/report/print?userName=B2B%s&profile=${profile}&reportName=%s&whereCondition=%s
-reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2B%s
+reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2B%s
+
+#product service url
+productServiceUrl=http://218.17.158.219:24000

+ 3 - 1
src/main/resources/prod/message.properties

@@ -10,4 +10,6 @@ tplInquiryForB2B=d94e931b-b699-46d7-8bb2-94604a3352c0
 tplAutoInquiryForB2B=fe01ead8-1e26-43d9-8278-4f8a9b4b343c
 msgInquiryForB2B=629edeb3-a87e-4a40-a5e5-51d9ae734f1b
 msgAutoInquiryForB2B=8cf71d56-09bb-4d60-993e-ed87ce72ec3b
-messageUrl=http://message.ubtob.com/sms/send
+messageUrl=http://message.ubtob.com/sms/send
+
+messagePublicServiceDevUrl=http://218.17.158.219:24000/message

+ 3 - 0
src/main/resources/prod/sys.properties

@@ -9,3 +9,6 @@ registerUrl=https://account.ubtob.com/sso/register
 #report url
 reportPrintUrl=http://print.ubtob.com/report/print?userName=B2B%s&profile=${profile}&reportName=%s&whereCondition=%s
 reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2B%s
+
+#product service url
+productServiceUrl=

+ 3 - 1
src/main/resources/test/message.properties

@@ -10,4 +10,6 @@ tplInquiryForB2B=d94e931b-b699-46d7-8bb2-94604a3352c0
 tplAutoInquiryForB2B=fe01ead8-1e26-43d9-8278-4f8a9b4b343c
 msgInquiryForB2B=629edeb3-a87e-4a40-a5e5-51d9ae734f1b
 msgAutoInquiryForB2B=8cf71d56-09bb-4d60-993e-ed87ce72ec3b
-messageUrl=http://message.ubtob.com/sms/send
+messageUrl=http://message.ubtob.com/sms/send
+
+messagePublicServiceDevUrl=http://218.17.158.219:24000/message

+ 4 - 1
src/main/resources/test/sys.properties

@@ -8,4 +8,7 @@ registerUrl=http://10.10.100.133/sso/register
 
 #report url
 reportPrintUrl=http://print.ubtob.com/report/print?userName=B2B%s&profile=${profile}&reportName=%s&whereCondition=%s
-reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2B%s
+reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2B%s
+
+#product service url
+productServiceUrl=http://218.17.158.219:24000