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

去掉B2B本地操作物料的代码,使用公共物料服务进行物料操作

dongbw 8 лет назад
Родитель
Сommit
afc0c31542

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

@@ -180,7 +180,7 @@ public class ProductUsersController {
      * @param ids
      */
     @RequestMapping(value = "/coverToUserByIds", method = RequestMethod.POST)
-    public ModelMap coverToUserByIds(String ids) throws Exception {
+    public ModelMap coverToUserByIds(@RequestBody String ids) throws Exception {
        return productUsersService.coverToUserProd(ids);
     }
 

+ 6 - 6
src/main/java/com/uas/platform/b2b/erp/controller/ProdController.java

@@ -51,7 +51,7 @@ public class ProdController {
 	 */
 	@RequestMapping(method = RequestMethod.POST)
 	@ResponseBody
-	public void saveProducts(@RequestParam("data") String data) throws UnsupportedEncodingException {
+	public void saveProducts(@RequestParam("data") String data) throws Exception {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		List<Prod> prods = FlexJsonUtils.fromJsonArray(jsonStr, Prod.class);
 		productService.save(prodService.convertProduct(prods));
@@ -67,7 +67,7 @@ public class ProdController {
 	 */
 	@RequestMapping(value = "/cycleupdate", method = RequestMethod.POST)
 	@ResponseBody
-	public void updateProducts(@RequestParam("data") String data) throws UnsupportedEncodingException {
+	public void updateProducts(@RequestParam("data") String data) throws Exception {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		List<Prod> prods = FlexJsonUtils.fromJsonArray(jsonStr, Prod.class);
 		productService.save(prodService.convertProduct(prods));
@@ -104,7 +104,7 @@ public class ProdController {
 	 */
 	@RequestMapping(value = "/refreshDownloadstatus", method = RequestMethod.POST)
 	@ResponseBody
-	public void refreshDownloadstatus(@RequestParam("data") String data) throws UnsupportedEncodingException {
+	public void refreshDownloadstatus(@RequestParam("data") String data) throws Exception {
 		productService.onProductDownSuccess(URLDecoder.decode(data, "UTF-8").split(","));
 	}
 
@@ -116,7 +116,7 @@ public class ProdController {
 	 */
 	@RequestMapping(value = "/updateB2bEnabled", method = RequestMethod.POST)
 	@ResponseBody
-	public int updateB2bEnabled(@RequestParam("data") String data) throws UnsupportedEncodingException {
+	public int updateB2bEnabled(@RequestParam("data") String data) throws Exception {
 		String code = URLDecoder.decode(data, "UTF-8");
 		Short b2bDisabled = Constant.YES;
 		return productService.updateB2bEnabled(code, b2bDisabled);
@@ -132,7 +132,7 @@ public class ProdController {
 	 */
 	@RequestMapping(value = "/produser", method = RequestMethod.POST)
 	@ResponseBody
-	public void updateProdSaler(@RequestParam("data") String data) throws UnsupportedEncodingException {
+	public void updateProdSaler(@RequestParam("data") String data) throws Exception {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
         List<ProductSaler> productSalers = FlexJsonUtils.fromJsonArray(jsonStr, ProductSaler.class);
         productService.updateProdSaler(productSalers);
@@ -149,7 +149,7 @@ public class ProdController {
      */
     @RequestMapping(value = "/produser/quit", method = RequestMethod.POST)
     @ResponseBody
-    public void uploadProductSalerForCancel(@RequestParam("data") String data) throws UnsupportedEncodingException {
+    public void uploadProductSalerForCancel(@RequestParam("data") String data) throws Exception {
         String jsonStr = URLDecoder.decode(data, "UTF-8");
         List<ProductSaler> productSalers = FlexJsonUtils.fromJsonArray(jsonStr, ProductSaler.class);
         productService.quitProdSaler(productSalers);

+ 6 - 6
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseProdInOutServiceImpl.java

@@ -98,10 +98,10 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 							product.setCode(item.getProdcode());
 							product.setEnUU(enUU);
 							// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
-							ProductUtils.updateOne(product);
-							product = productDao.save(product);
+							Long proId = ProductUtils.updateOne(product);
+//							product = productDao.save(product);
 							item.setProduct(product);
-							item.setProdId(product.getId());
+							item.setProdId(proId);
 						}
 						item.setAccept(accept);
 						item.setErpDate(new Date());
@@ -148,10 +148,10 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 							product.setCode(returnItem.getProdCode());
 							product.setEnUU(enUU);
 							// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
-							ProductUtils.updateOne(product);
-							product = productDao.save(product);
+							Long proId = ProductUtils.updateOne(product);
+//							product = productDao.save(product);
 							returnItem.setProduct(product);
-							returnItem.setProdId(product.getId());
+							returnItem.setProdId(proId);
 						}
 					}
 					returnItem.setPurchaseReturn(returnn);// 设置主记录

+ 1 - 1
src/main/java/com/uas/platform/b2b/model/Product.java

@@ -349,7 +349,7 @@ public class Product {
 	/**
 	 * b2b物料禁用状态
 	 */
-	@Column(name = "pr_b2bdisabled")
+	@Column(name = "pr_b2bdisabled", insertable = false, updatable = false)
 	private Short b2bDisabled;
 
 	public Product() {

+ 18 - 17
src/main/java/com/uas/platform/b2b/ps/ProductUtils.java

@@ -37,7 +37,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_URL + "/product/update", params);
+        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_URL + "/product/update/b2b", params);
         if (HttpStatus.OK.value() == res.getStatusCode()) {
             if (null != res.getResponseText()) {
                 // 保存成功物料的id
@@ -58,18 +58,14 @@ public class ProductUtils {
      * @throws Exception
      */
     public static Long updateOne(Product product) throws Exception {
-        HashMap<String, Object> params = new HashMap<>();
         List<Product> products = new ArrayList<>();
         products.add(product);
-        params.put("data", FlexJsonUtils.toJsonDeep(products));
-        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_URL + "/product/update", params);
-        if (HttpStatus.OK.value() == res.getStatusCode()) {
-            if (null != res.getResponseText()) {
-                // 保存成功物料的id
-                List<Long> ids = JSON.parseArray(res.getResponseText(), Long.class);
-                if (!CollectionUtils.isEmpty(ids)) {
-                    return ids.get(0);
-                }
+        String res = HttpUtil.doPost(PRODUCT_PUBLIC_SERVICE_URL + "/product/update/b2b", FlexJsonUtils.toJsonDeep(products));
+        if (null != res) {
+            // 保存成功物料的id
+            List<Long> ids = JSON.parseArray(res, Long.class);
+            if (!CollectionUtils.isEmpty(ids)) {
+                return ids.get(0);
             }
         } else {
             throw new RuntimeException("更新物料失败");
@@ -108,7 +104,7 @@ public class ProductUtils {
      * @return
      * @throws Exception
      */
-    public static ModelMap updateProductUsersOne(ProductUsers productUser) throws Exception {
+    public static Long updateProductUsersOne(ProductUsers productUser) throws Exception {
         List<ProductUsers> productUsers = new ArrayList<>();
         productUsers.add(productUser);
         HashMap<String, Object> params = new HashMap<>();
@@ -116,7 +112,7 @@ public class ProductUtils {
         Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_URL + "/productuser/save", params);
         if (HttpStatus.OK.value() == res.getStatusCode()) {
             if (null != res.getResponseText()) {
-                return new ModelMap("success", "保存单个个人物料成功");
+                return Long.valueOf(res.getResponseText());
             }
         } else {
             throw new RuntimeException("保存单个个人物料失败");
@@ -248,11 +244,16 @@ public class ProductUtils {
      * @param userUU 用户UU
      * @return
      */
-    public static Integer coverToUserProd(String ids, Long enUU, Long userUU) throws Exception {
+    public static Integer coverToUserProd(List<Long> ids, Long enUU, Long userUU) throws Exception {
         HashMap<String, Object> params = new HashMap<>();
-        params.put("ids", ids);
-        params.put("enUU", enUU);
-        params.put("userUU", userUU);
+        ModelMap data = new ModelMap();
+        data.put("ids",  ids.toString());
+        data.put("enUU", enUU);
+        data.put("userUU", userUU);
+//        params.put("ids", ids);
+//        params.put("enUU", enUU);
+//        params.put("userUU", userUU);
+        params.put("data", data);
         Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_URL + "/productuser/coverToUserByIds", params);
         if (HttpStatus.OK.value() == res.getStatusCode()) {
             return Integer.valueOf(res.getResponseText());

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

@@ -21,7 +21,7 @@ public interface ProductService {
 	 * @param products
 	 * @return
 	 */
-	public List<Product> save(List<Product> products) throws Exception;
+	public void save(List<Product> products) throws Exception;
 
 	/**
 	 * 分页查找客户物料(全部)
@@ -214,7 +214,7 @@ public interface ProductService {
 	 * 禁用物料
 	 * @param code
 	 */
-	public int updateB2bEnabled(String code, Short b2bDisabled);
+	public int updateB2bEnabled(String code, Short b2bDisabled) throws Exception;
 
 	/**
 	 * ERP个人物料同步到平台

+ 42 - 5
src/main/java/com/uas/platform/b2b/service/impl/BaseInfoServiceImpl.java

@@ -3,15 +3,47 @@ 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.*;
-import com.uas.platform.b2b.model.*;
+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.ProductMatchResult;
+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.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.*;
+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.core.exception.IllegalOperatorException;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
@@ -32,7 +64,12 @@ import org.springframework.ui.ModelMap;
 
 import javax.transaction.Transactional;
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
 
 @Service
 @Transactional
@@ -188,7 +225,7 @@ public class BaseInfoServiceImpl implements BaseInfoService {
 							oldProd.setIsSale(Constant.YES);
                             // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
                             ProductUtils.updateOne(product);
-							productDao.save(oldProd);
+//							productDao.save(oldProd);
 						}
 						alters.add(product.getCode());
 						product.setCode(null);

+ 17 - 19
src/main/java/com/uas/platform/b2b/service/impl/ProductServiceImpl.java

@@ -1,6 +1,5 @@
 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;
@@ -10,7 +9,6 @@ import com.uas.platform.b2b.dao.ProductUsersDao;
 import com.uas.platform.b2b.dao.UserOrderDao;
 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;
@@ -84,12 +82,9 @@ public class ProductServiceImpl implements ProductService {
 	private final static ErpBufferedLogger erpLogger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
 
 	@Override
-	public List<Product> save(List<Product> products) throws Exception {
+	public void save(List<Product> products) throws Exception {
 		// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
 		ProductUtils.update(products);
-		List<Product> newProducts = productDao.save(products);
-		ContextUtils.publishEvent(new ProductSaveEvent(newProducts));
-		return newProducts;
 	}
 
 	@Override
@@ -118,7 +113,7 @@ public class ProductServiceImpl implements ProductService {
             Product prod = productDao.findOne(id);
             prod.setIsSale(Constant.YES);
             ProductUtils.switchProduct(id, "sale", (int) Constant.YES);
-            productDao.save(prod);
+//            productDao.save(prod);
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
@@ -132,7 +127,7 @@ public class ProductServiceImpl implements ProductService {
             Product prod = productDao.findOne(id);
             prod.setIsSale(Constant.YES);
             ProductUtils.switchProduct(id, "sale", (int) Constant.NO);
-            productDao.save(prod);
+//            productDao.save(prod);
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
@@ -145,7 +140,7 @@ public class ProductServiceImpl implements ProductService {
 			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();
 		}
@@ -158,7 +153,7 @@ public class ProductServiceImpl implements ProductService {
 			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();
 		}
@@ -173,19 +168,19 @@ public class ProductServiceImpl implements ProductService {
 					prod.setBrand(keyword);
 					// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
 					ProductUtils.updateOne(prod);
-					productDao.save(prod);
+//					productDao.save(prod);
 				} else if (updatetype.equals(UpdateType.PRODSPECUPDATE.getPhrase())
 						|| updatetype.equals(UpdateType.MATERSPECUPDATE.getPhrase())) {
 					prod.setSpec(keyword);
 					prod.setCmpCode(keyword);
 					// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
 					ProductUtils.updateOne(prod);
-					productDao.save(prod);
+//					productDao.save(prod);
 				} else if (updatetype.equals(UpdateType.TITLEUPDATE.getPhrase())) {
 					prod.setTitle(keyword);
 					// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
 					ProductUtils.updateOne(prod);
-					productDao.save(prod);
+//					productDao.save(prod);
 				}
 			}
 			map.put("success", updatetype + "修改成功");
@@ -417,7 +412,7 @@ public class ProductServiceImpl implements ProductService {
 				product.setDownloadstatus(Status.DOWNLOADED.value());
 				// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
 				ProductUtils.updateOne(product);
-				productDao.save(product);
+//				productDao.save(product);
 			}
 		}
 	}
@@ -552,11 +547,14 @@ public class ProductServiceImpl implements ProductService {
 	}
 
 	@Override
-	public int updateB2bEnabled(String code, Short b2bDisabled) {
+	public int updateB2bEnabled(String code, Short b2bDisabled) throws Exception {
 		List<Product> products = productDao.findByEnUUAndCode(SystemSession.getUser().getEnterprise().getUu(), code);
 		if (!CollectionUtils.isEmpty(products)) {
-			ProductStatus productStatus = new ProductStatus(products.get(0), Constant.YES);
+			Product product = products.get(0);
+			product.setErpDate(new Date());
+			ProductStatus productStatus = new ProductStatus(product, Constant.YES);
 			productStatusDao.save(productStatus);
+			ProductUtils.updateOne(product);
 			return 1;
 		}
 		return 0;
@@ -587,8 +585,8 @@ public class ProductServiceImpl implements ProductService {
                     info.setUseruu(productSaler.getEm_uu());
                     info.setErpid(productSaler.getPs_id());
 //                    info = productUsersDao.save(info);
-					ProductUtils.updateProductUsersOne(info);
-                    erpLogger.log("ERP个人物料信息同步", "关联物料id:" + info.getPrid(), 1);
+					Long id = ProductUtils.updateProductUsersOne(info);
+                    erpLogger.log("ERP个人物料信息同步", "关联物料id:" + id, 1);
                 }
             }
 		}
@@ -609,7 +607,7 @@ public class ProductServiceImpl implements ProductService {
             if (null != prod) {
 				// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
 				ProductUtils.deleteProductUser(prod.getId());
-                productUsersDao.delete(prod);
+//                productUsersDao.delete(prod);
 				erpLogger.log("ERP删除个人物料信息同步", "关联物料id: " + prod.getPrid(), 1);
             }
         }

+ 24 - 19
src/main/java/com/uas/platform/b2b/service/impl/ProductUsersServiceImpl.java

@@ -1,6 +1,7 @@
 package com.uas.platform.b2b.service.impl;
 
 import com.alibaba.dubbo.common.utils.CollectionUtils;
+import com.alibaba.fastjson.JSON;
 import com.uas.platform.b2b.core.util.ThreadUtils;
 import com.uas.platform.b2b.dao.ProductDao;
 import com.uas.platform.b2b.dao.ProductUsersDao;
@@ -95,7 +96,7 @@ public class ProductUsersServiceImpl implements ProductUsersService {
                 prod.setUseruu(useruu);
                 // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
                 ProductUtils.updateProductUsersOne(prod);
-                productUsersDao.save(prod);
+//                productUsersDao.save(prod);
                 logger.log("个人产品库增加产品", "关联:" + productList.get(0).getId());
                 map.put("success", "新增成功");
             } else {// 不存在的话新增再绑定
@@ -129,17 +130,17 @@ public class ProductUsersServiceImpl implements ProductUsersService {
                 prodInfo.setStandard(Constant.NO);
                 prodInfo.setErpDate(new Date());
                 // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
-                ProductUtils.updateOne(prodInfo);
-                prodInfo = productDao.save(prodInfo);
+                Long proId = ProductUtils.updateOne(prodInfo);
+//                prodInfo = productDao.save(prodInfo);
                 ProductUsers prod = new ProductUsers();
                 prod.setDate(new Date());
                 prod.setEnuu(enuu);
-                prod.setPrid(prodInfo.getId());
+                prod.setPrid(proId);
                 prod.setUseruu(useruu);
                 // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
                 ProductUtils.updateProductUsersOne(prod);
                 productUsersDao.save(prod);
-                logger.log("个人产品库增加产品", "关联:" + prodInfo.getId());
+                logger.log("个人产品库增加产品", "关联:" + proId);
                 map.put("success", "新增成功");
             }
         } else {
@@ -152,7 +153,7 @@ public class ProductUsersServiceImpl implements ProductUsersService {
     public void deleteById(Long id) throws Exception {
         // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
         ProductUtils.deleteProductUser(id);
-        productUsersDao.delete(id);
+//        productUsersDao.delete(id);
     }
 
     @Override
@@ -279,11 +280,11 @@ public class ProductUsersServiceImpl implements ProductUsersService {
                                 }
                             }
                             // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
-                            ProductUtils.updateOne(product);
-                            product = productDao.save(product);
+                            Long proId = ProductUtils.updateOne(product);
+//                            product = productDao.save(product);
                             prod.setDate(new Date());
                             prod.setEnuu(enuu);
-                            prod.setPrid(product.getId());
+                            prod.setPrid(proId);
                             prod.setUseruu(useruu);
                         } else {
                             Product oldProd = prods.get(0);
@@ -303,7 +304,7 @@ public class ProductUsersServiceImpl implements ProductUsersService {
                 try {
                     // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
                     ProductUtils.updateProductUsersByBatch(productUsers);
-                    productUsers = productUsersDao.save(productUsers);
+//                    productUsers = productUsersDao.save(productUsers);
                     modelMap.put("success", productUsers.size());
                     if(alters.size() > 0)
                     	modelMap.put("alters", alters);
@@ -325,7 +326,8 @@ public class ProductUsersServiceImpl implements ProductUsersService {
 //        ids.replace("]"," ");
 //        Integer count = productUsersDao.coverToUserProd(ids, SystemSession.getUser().getUserUU(), SystemSession.getUser().getEnterprise().getUu());
         // 这里更换成调用公共服务接口
-        Integer count = ProductUtils.coverToUserProd(ids, SystemSession.getUser().getEnterprise().getUu(), SystemSession.getUser().getUserUU());
+        List<Long> idList = JSON.parseArray(ids, Long.class);
+        Integer count = ProductUtils.coverToUserProd(idList, SystemSession.getUser().getEnterprise().getUu(), SystemSession.getUser().getUserUU());
         logger.log("我的产品库", "新增了我产品信息", "size:" + count);
         return new ModelMap("count", count);
     }
@@ -346,14 +348,14 @@ public class ProductUsersServiceImpl implements ProductUsersService {
 					        product.setIsSale(Constant.YES);
                             // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
                             ProductUtils.updateOne(product);
-					        productDao.save(product);
+//					        productDao.save(product);
 				        }
 			        } else if(role.getDesc().equals("采购员")) {
 				        if(product.getIsPurchase() == null || product.getIsPurchase().equals(Constant.NO)) {
 					        product.setIsPurchase(Constant.YES);
                             // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
                             ProductUtils.updateOne(product);
-					        productDao.save(product);
+//					        productDao.save(product);
 				        }
 			        }
 		        }
@@ -364,9 +366,9 @@ public class ProductUsersServiceImpl implements ProductUsersService {
             prod.setPrid(id);
             prod.setDate(new Date());
             // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
-            ProductUtils.updateProductUsersOne(prod);
-            prod = productUsersDao.save(prod);
-            logger.log("我的产品库", "新增了我产品信息", "id:" + prod.getId());
+            Long prId = ProductUtils.updateProductUsersOne(prod);
+//            prod = productUsersDao.save(prod);
+            logger.log("我的产品库", "新增了我产品信息", "id:" + prId);
         }
     }
 
@@ -374,8 +376,8 @@ public class ProductUsersServiceImpl implements ProductUsersService {
     public void deleteByBatch(List<Long> idList) throws Exception {
         // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
         ProductUtils.deleteProductUserByBatch(idList);
-        List<ProductUsers> prods = productUsersDao.findAll(idList);
-        productUsersDao.delete(prods);
+//        List<ProductUsers> prods = productUsersDao.findAll(idList);
+//        productUsersDao.delete(prods);
     }
 
     /**
@@ -393,9 +395,12 @@ public class ProductUsersServiceImpl implements ProductUsersService {
                 ProductUsers productUsers = productUsersDao.findByEnuuAndUseruuAndPrid(enuu, useruu, productId);
                 if (null == productUsers) {
                     try {
-                        ProductUtils.coverToUserProd(String.valueOf(productId), enuu, useruu);
+                        List<Long> idList = new ArrayList<>();
+                        idList.add(productId);
+                        ProductUtils.coverToUserProd(idList, enuu, useruu);
                     } catch (Exception e) {
                         e.printStackTrace();
+                        logger.log("我的产品库", method + ":" + productId + "转入失败", useruu, null);
                     }
                 }
             }

+ 12 - 7
src/main/java/com/uas/platform/b2b/service/impl/PurcInquiryServiceImpl.java

@@ -1,5 +1,6 @@
 package com.uas.platform.b2b.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.core.util.ThreadTask;
 import com.uas.platform.b2b.dao.CommonDao;
@@ -234,10 +235,10 @@ public class PurcInquiryServiceImpl implements PurcInquiryService {
 										// 导入的物料这里没有填写规格
 										product.setSpec(purcitem.getProdTitle());
 										// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
-										ProductUtils.updateOne(product);
-										product = productDao.save(product);
+										Long proId = ProductUtils.updateOne(product);
+//										product = productDao.save(product);
 										item.setProduct(product);
-										item.setProductId(product.getId());
+										item.setProductId(proId);
 									}
 								}
 								item.setInquiry(inquiry);
@@ -582,10 +583,14 @@ public class PurcInquiryServiceImpl implements PurcInquiryService {
 //								product.setShipAddr(SystemSession.getUser().getEnterprise().getEnAddress());
 								product.setSpec(purcitem.getProdTitle());
 								// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
-								ProductUtils.updateOne(product);
-								product = productDao.save(product);
-								item.setProduct(product);
-								item.setProductId(product.getId());
+								Long proId = ProductUtils.updateOne(product);
+								product = productDao.findOne(proId);
+								System.out.println(JSON.toJSON(product));
+								if (null != product) {
+									item.setProductId(proId);
+								} else {
+
+								}
 							}
 						}
 						item.setInquiry(inquiry);

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

@@ -217,7 +217,7 @@ public class PurcOrderServiceImpl implements PurcOrderService {
 							if (CollectionUtils.isEmpty(prods)) {
 							    // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
 								ProductUtils.updateOne(product);
-								product = productDao.save(product);
+//								product = productDao.save(product);
 							} else {
 								product = prods.get(0);
 							}
@@ -230,7 +230,7 @@ public class PurcOrderServiceImpl implements PurcOrderService {
 								product.setCode("prod" + sdf.format(new Date()));
 								// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
 								ProductUtils.updateOne(product);
-								product = productDao.save(product);
+//								product = productDao.save(product);
 							} else {
 								product = prods.get(0);
 							}

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

@@ -223,7 +223,7 @@ public class PurcProductServiceImpl implements PurcProductService {
 							oldProd.setIsPurchase(Constant.YES);
 							// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
 							ProductUtils.updateOne(product);
-							productDao.save(oldProd);
+//							productDao.save(oldProd);
 						}
 						// else if (oldProd.getIsPurchase() != null) {
 						// if (!oldProd.getIsPurchase().equals(Constant.YES)) {
@@ -285,7 +285,7 @@ public class PurcProductServiceImpl implements PurcProductService {
 				try {
 					// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
 					ProductUtils.update(products);
-					products = productDao.save(products);
+//					products = productDao.save(products);
 //					saveUserOrders(products);
 					modelMap.put("success", products.size());
 				} catch (Exception e) {

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

@@ -242,7 +242,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
                 Product newProduct = new Product(tenderProd, currentEnUU);
                 // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
                 ProductUtils.updateOne(newProduct);
-                productDao.save(newProduct);
+//                productDao.save(newProduct);
             }
             tenderProd.setTender(tender);
             purchaseTenderProdDao.save(tenderProd);
@@ -298,7 +298,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
                 Product newProduct = new Product(tenderProd, currentEnUU);
                 // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
                 ProductUtils.updateOne(newProduct);
-                productDao.save(newProduct);
+//                productDao.save(newProduct);
             }
             tenderProd.setTender(tender);
             purchaseTenderProdDao.save(tenderProd);

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

@@ -359,12 +359,12 @@ public class VendorsServiceImpl implements VendorService {
 				" where 1=1 and pr_issale = 1 and pr_standard = 1 and pr_cmpcode in (").append(cmpCodesSql).append(") and en_uu not in (")
 				.append(vendUUsSql).append(") and en_uu <> ").append(enUU);
 		if (!StringUtils.isEmpty(enArea)) {
-			vendorRecommendUusSql.append(" and en_area like %").append(enArea).append("% ");
-			vendorRecommendUuNumSql.append(" and en_area like %").append(enArea).append("% ");
+			vendorRecommendUusSql.append(" and en_area like '%").append(enArea).append("%' ");
+			vendorRecommendUuNumSql.append(" and en_area like '%").append(enArea).append("%' ");
 		}
 		if (!StringUtils.isEmpty(profession)) {
-			vendorRecommendUusSql.append(" and en_profession like %").append(profession).append("% ");
-			vendorRecommendUuNumSql.append(" and en_profession like %").append(profession).append("% ");
+			vendorRecommendUusSql.append(" and en_profession like '%").append(profession).append("%' ");
+			vendorRecommendUuNumSql.append(" and en_profession like '%").append(profession).append("%' ");
 		}
 		vendorRecommendUusSql.append(rownumSql);
 		System.out.println("SQL:" + vendorRecommendUusSql.toString());

+ 2 - 0
src/main/resources/test/sys.properties

@@ -11,4 +11,6 @@ reportPrintUrl=http://print.ubtob.com/report/print?userName=B2B%s&profile=${prof
 reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2B%s
 
 #product service url
+## localhost http://192.168.253.102:8080
+## test http://218.17.158.219:24000
 productServiceUrl=http://218.17.158.219:24000

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

@@ -21355,12 +21355,11 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 
         // 批量转入我的产品库
         $scope.addtoUserByCheck = function() {
-            var ids = angular.toJson($rootScope.ids);
+            var ids = angular.copy($rootScope.ids);
             if($rootScope.ids.length == 0) {
                 toaster.pop('error', '提示', '请先选择产品');
             } else {
-                ids = ids.replace(/\[|]/g,'');
-                prodUser.coverToUserByIds({ids: ids}, {}, function(data) {
+                prodUser.coverToUserByIds({}, ids, function(data) {
                     toaster.pop('success', '提示', '选择' + $rootScope.ids.length + '个产品,成功转入' + data.count + '个产品');
                     $rootScope.ids = [];
                     $scope.tableParams.page(1);