Browse Source

物料新增及个人物料数据操作,调用公共物料服务接口

dongbw 8 years ago
parent
commit
70b5584887
30 changed files with 373 additions and 129 deletions
  1. 12 4
      src/main/java/com/uas/platform/b2b/controller/BaseInfoController.java
  2. 1 1
      src/main/java/com/uas/platform/b2b/controller/ProductController.java
  3. 9 6
      src/main/java/com/uas/platform/b2b/controller/ProductUsersController.java
  4. 4 4
      src/main/java/com/uas/platform/b2b/controller/PurcInquiryController.java
  5. 2 0
      src/main/java/com/uas/platform/b2b/controller/PurcOrderController.java
  6. 1 2
      src/main/java/com/uas/platform/b2b/controller/PurcProductController.java
  7. 2 2
      src/main/java/com/uas/platform/b2b/controller/PurchaseTenderController.java
  8. 2 2
      src/main/java/com/uas/platform/b2b/dao/ProductDao.java
  9. 2 2
      src/main/java/com/uas/platform/b2b/dao/ProductUsersDao.java
  10. 15 16
      src/main/java/com/uas/platform/b2b/erp/controller/PurchaseProdInOutController.java
  11. 10 11
      src/main/java/com/uas/platform/b2b/erp/controller/PurchaseProdReturnController.java
  12. 2 2
      src/main/java/com/uas/platform/b2b/erp/service/PurchaseProdInOutService.java
  13. 15 11
      src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseProdInOutServiceImpl.java
  14. 1 2
      src/main/java/com/uas/platform/b2b/ps/MessageUtils.java
  15. 84 0
      src/main/java/com/uas/platform/b2b/ps/ProductUtils.java
  16. 1 1
      src/main/java/com/uas/platform/b2b/service/BaseInfoService.java
  17. 5 5
      src/main/java/com/uas/platform/b2b/service/ProductService.java
  18. 6 6
      src/main/java/com/uas/platform/b2b/service/ProductUsersService.java
  19. 4 4
      src/main/java/com/uas/platform/b2b/service/PurcInquiryService.java
  20. 1 1
      src/main/java/com/uas/platform/b2b/service/PurcOrderService.java
  21. 1 1
      src/main/java/com/uas/platform/b2b/service/PurcProductService.java
  22. 1 1
      src/main/java/com/uas/platform/b2b/service/PurchaseTenderService.java
  23. 3 1
      src/main/java/com/uas/platform/b2b/service/impl/BaseInfoServiceImpl.java
  24. 25 12
      src/main/java/com/uas/platform/b2b/service/impl/ProductServiceImpl.java
  25. 43 12
      src/main/java/com/uas/platform/b2b/service/impl/ProductUsersServiceImpl.java
  26. 54 8
      src/main/java/com/uas/platform/b2b/service/impl/PurcInquiryServiceImpl.java
  27. 6 2
      src/main/java/com/uas/platform/b2b/service/impl/PurcOrderServiceImpl.java
  28. 6 1
      src/main/java/com/uas/platform/b2b/service/impl/PurcProductServiceImpl.java
  29. 54 8
      src/main/java/com/uas/platform/b2b/service/impl/PurchaseTenderServiceImpl.java
  30. 1 1
      src/main/resources/test/message.properties

+ 12 - 4
src/main/java/com/uas/platform/b2b/controller/BaseInfoController.java

@@ -9,7 +9,11 @@ import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.BaseInfoService;
 import com.uas.platform.b2b.service.BaseInfoService;
 import com.uas.platform.b2b.service.ProductService;
 import com.uas.platform.b2b.service.ProductService;
-import com.uas.platform.b2b.support.*;
+import com.uas.platform.b2b.support.JxlsExcelView;
+import com.uas.platform.b2b.support.SysConf;
+import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.support.TokenService;
+import com.uas.platform.b2b.support.UsageBufferedLogger;
 import com.uas.platform.b2b.temporary.model.BasePartnersInfo;
 import com.uas.platform.b2b.temporary.model.BasePartnersInfo;
 import com.uas.platform.b2b.temporary.model.NewPurcOrder;
 import com.uas.platform.b2b.temporary.model.NewPurcOrder;
 import com.uas.platform.b2b.temporary.model.ProdInfo;
 import com.uas.platform.b2b.temporary.model.ProdInfo;
@@ -34,10 +38,14 @@ import org.springframework.data.domain.Sort.Direction;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.http.ResponseEntity;
 import org.springframework.ui.ModelMap;
 import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.servlet.ModelAndView;
 
 
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashMap;
@@ -373,7 +381,7 @@ public class BaseInfoController {
 				throw new IllegalOperatorException("文件格不正确,请上传.xls或.xlsx的文件");
 				throw new IllegalOperatorException("文件格不正确,请上传.xls或.xlsx的文件");
 			}
 			}
 			map = baseInfoService.releaseByWorkbook(workbook);
 			map = baseInfoService.releaseByWorkbook(workbook);
-		} catch (IOException e) {
+		} catch (Exception e) {
 			e.printStackTrace();
 			e.printStackTrace();
 		}
 		}
 		logger.log("商品批次", "[" + SystemSession.getUser().getUserName() + "]通过excel导入了物料,数量为" + map.size());
 		logger.log("商品批次", "[" + SystemSession.getUser().getUserName() + "]通过excel导入了物料,数量为" + map.size());

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

@@ -302,7 +302,7 @@ public class ProductController {
 	 */
 	 */
 	@RequestMapping(value = "/updateByBatch", method = RequestMethod.POST)
 	@RequestMapping(value = "/updateByBatch", method = RequestMethod.POST)
 	@ResponseBody
 	@ResponseBody
-	private ModelMap updateByBatch(@RequestBody String products, String updatetype, String keyword) {
+	private ModelMap updateByBatch(@RequestBody String products, String updatetype, String keyword) throws Exception {
 		List<Product> prods = JSONObject.parseArray(products, Product.class);
 		List<Product> prods = JSONObject.parseArray(products, Product.class);
 		return productService.updateByBatch(prods, updatetype, keyword);
 		return productService.updateByBatch(prods, updatetype, keyword);
 	}
 	}

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

@@ -21,10 +21,13 @@ import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
 import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.servlet.ModelAndView;
 
 
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
@@ -111,7 +114,7 @@ public class ProductUsersController {
                 throw new IllegalOperatorException("文件格不正确,请上传.xls或.xlsx的文件");
                 throw new IllegalOperatorException("文件格不正确,请上传.xls或.xlsx的文件");
             }
             }
             map = productUsersService.releaseByWorkbook(workbook);
             map = productUsersService.releaseByWorkbook(workbook);
-        } catch (IOException e) {
+        } catch (Exception e) {
             e.printStackTrace();
             e.printStackTrace();
         }
         }
         logger.log("商品批次", "[" + SystemSession.getUser().getUserName() + "]通过excel导入了个人物料,数量为" + map.size());
         logger.log("商品批次", "[" + SystemSession.getUser().getUserName() + "]通过excel导入了个人物料,数量为" + map.size());
@@ -153,7 +156,7 @@ public class ProductUsersController {
     /**
     /**
      * 通过id删除
      * 通过id删除
      *
      *
-     * @param id
+     * @param ids
      * @return
      * @return
      * @return
      * @return
      * @throws Exception
      * @throws Exception
@@ -177,7 +180,7 @@ public class ProductUsersController {
      * @param ids
      * @param ids
      */
      */
     @RequestMapping(value = "/coverToUserByIds", method = RequestMethod.POST)
     @RequestMapping(value = "/coverToUserByIds", method = RequestMethod.POST)
-    public ModelMap coverToUserByIds(String ids) {
+    public ModelMap coverToUserByIds(String ids) throws Exception {
        return productUsersService.coverToUserProd(ids);
        return productUsersService.coverToUserProd(ids);
     }
     }
 
 
@@ -188,7 +191,7 @@ public class ProductUsersController {
      * @return
      * @return
      */
      */
     @RequestMapping(value = "/covertToUser/{id}", method = RequestMethod.POST)
     @RequestMapping(value = "/covertToUser/{id}", method = RequestMethod.POST)
-    public void coverToUserById(@PathVariable Long id) {
+    public void coverToUserById(@PathVariable Long id) throws Exception {
         productUsersService.coverToUserProd(id);
         productUsersService.coverToUserProd(id);
     }
     }
 }
 }

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

@@ -72,7 +72,7 @@ public class PurcInquiryController {
 	 * @return
 	 * @return
 	 */
 	 */
 	@RequestMapping(value = "/save/withVendor", method = RequestMethod.POST)
 	@RequestMapping(value = "/save/withVendor", method = RequestMethod.POST)
-	private ModelMap save(String inquiry, String contacts, FileUpload uploadItem) {
+	private ModelMap save(String inquiry, String contacts, FileUpload uploadItem) throws Exception {
 		PurcInquiryInfo purcInquiry = JSONObject.parseObject(inquiry, PurcInquiryInfo.class);
 		PurcInquiryInfo purcInquiry = JSONObject.parseObject(inquiry, PurcInquiryInfo.class);
 		List<VendorAndContact> vendors = FlexJsonUtils.fromJsonArray(contacts, VendorAndContact.class);
 		List<VendorAndContact> vendors = FlexJsonUtils.fromJsonArray(contacts, VendorAndContact.class);
 		if (purcInquiry.getId() == null) {
 		if (purcInquiry.getId() == null) {
@@ -91,7 +91,7 @@ public class PurcInquiryController {
 	 * @return
 	 * @return
 	 */
 	 */
 	@RequestMapping(value = "/save/withoutVendor", method = RequestMethod.POST)
 	@RequestMapping(value = "/save/withoutVendor", method = RequestMethod.POST)
-	private ModelMap saveWithoutVendor(String inquiry, FileUpload uploadItem) {
+	private ModelMap saveWithoutVendor(String inquiry, FileUpload uploadItem) throws Exception {
 		PurcInquiryInfo purcInquiry = JSONObject.parseObject(inquiry, PurcInquiryInfo.class);
 		PurcInquiryInfo purcInquiry = JSONObject.parseObject(inquiry, PurcInquiryInfo.class);
 		if (purcInquiry.getId() == null) {
 		if (purcInquiry.getId() == null) {
 			logger.log("公共询价", "新增保存公共询价信息");
 			logger.log("公共询价", "新增保存公共询价信息");
@@ -110,7 +110,7 @@ public class PurcInquiryController {
 	 * @return
 	 * @return
 	 */
 	 */
 	@RequestMapping(value = "/submit/withVendor", method = RequestMethod.POST)
 	@RequestMapping(value = "/submit/withVendor", method = RequestMethod.POST)
-	private ModelMap saveAndSubmit(String inquiry, String contacts, FileUpload uploadItem) {
+	private ModelMap saveAndSubmit(String inquiry, String contacts, FileUpload uploadItem) throws Exception {
 		PurcInquiryInfo purcInquiry = JSONObject.parseObject(inquiry, PurcInquiryInfo.class);
 		PurcInquiryInfo purcInquiry = JSONObject.parseObject(inquiry, PurcInquiryInfo.class);
 		List<VendorAndContact> vendors = FlexJsonUtils.fromJsonArray(contacts, VendorAndContact.class);
 		List<VendorAndContact> vendors = FlexJsonUtils.fromJsonArray(contacts, VendorAndContact.class);
 		if (purcInquiry.getId() == null) {
 		if (purcInquiry.getId() == null) {
@@ -129,7 +129,7 @@ public class PurcInquiryController {
 	 * @return
 	 * @return
 	 */
 	 */
 	@RequestMapping(value = "/submit/withoutVendor", method = RequestMethod.POST)
 	@RequestMapping(value = "/submit/withoutVendor", method = RequestMethod.POST)
-	private ModelMap saveAndSubmitWithoutVendor(String inquiry, FileUpload uploadItem) {
+	private ModelMap saveAndSubmitWithoutVendor(String inquiry, FileUpload uploadItem) throws Exception {
 		PurcInquiryInfo purcInquiry = JSONObject.parseObject(inquiry, PurcInquiryInfo.class);
 		PurcInquiryInfo purcInquiry = JSONObject.parseObject(inquiry, PurcInquiryInfo.class);
 		if (purcInquiry.getId() == null) {
 		if (purcInquiry.getId() == null) {
 			logger.log("公共询价", "新增发布公共询价信息");
 			logger.log("公共询价", "新增发布公共询价信息");

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

@@ -177,6 +177,8 @@ public class PurcOrderController {
 			map = purcOrderService.releaseByWorkbook(workbook);
 			map = purcOrderService.releaseByWorkbook(workbook);
 		} catch (IOException e) {
 		} catch (IOException e) {
 			e.printStackTrace();
 			e.printStackTrace();
+		} catch (Exception e) {
+			e.printStackTrace();
 		}
 		}
 		logger.log("新增采购导入物料", "[" + SystemSession.getUser().getUserName() + "]通过excel导入了物料,数量为" + map.size());
 		logger.log("新增采购导入物料", "[" + SystemSession.getUser().getUserName() + "]通过excel导入了物料,数量为" + map.size());
 		return map;
 		return map;

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

@@ -34,7 +34,6 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.servlet.ModelAndView;
 
 
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashMap;
@@ -170,7 +169,7 @@ public class PurcProductController {
 				throw new IllegalOperatorException("文件格不正确,请上传.xls或.xlsx的文件");
 				throw new IllegalOperatorException("文件格不正确,请上传.xls或.xlsx的文件");
 			}
 			}
 			map = purcProductService.releaseByWorkbook(workbook);
 			map = purcProductService.releaseByWorkbook(workbook);
-		} catch (IOException e) {
+		} catch (Exception e) {
 			e.printStackTrace();
 			e.printStackTrace();
 		}
 		}
 		logger.log("商品批次", "[" + SystemSession.getUser().getUserName() + "]通过excel导入了物料,数量为" + map.size());
 		logger.log("商品批次", "[" + SystemSession.getUser().getUserName() + "]通过excel导入了物料,数量为" + map.size());

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

@@ -74,7 +74,7 @@ public class PurchaseTenderController {
     @RequestMapping(value = "/publish/new", method = RequestMethod.POST)
     @RequestMapping(value = "/publish/new", method = RequestMethod.POST)
     @ResponseBody
     @ResponseBody
     @Transactional
     @Transactional
-    public ResponseEntity<String> publishTender(String tender, String enInfos) {
+    public ResponseEntity<String> publishTender(String tender, String enInfos) throws Exception {
         PurchaseTender purchaseTender = FlexJsonUtils.fromJson(tender, PurchaseTender.class);
         PurchaseTender purchaseTender = FlexJsonUtils.fromJson(tender, PurchaseTender.class);
         if (null != enInfos) {
         if (null != enInfos) {
             enInfos = "[".concat(enInfos);
             enInfos = "[".concat(enInfos);
@@ -100,7 +100,7 @@ public class PurchaseTenderController {
     @RequestMapping(value = "/save/new", method = RequestMethod.POST)
     @RequestMapping(value = "/save/new", method = RequestMethod.POST)
     @ResponseBody
     @ResponseBody
     @Transactional
     @Transactional
-    public ResponseEntity<String> saveTender(String tender, String enInfos) {
+    public ResponseEntity<String> saveTender(String tender, String enInfos) throws Exception {
         PurchaseTender purchaseTender = FlexJsonUtils.fromJson(tender, PurchaseTender.class);
         PurchaseTender purchaseTender = FlexJsonUtils.fromJson(tender, PurchaseTender.class);
         if (null != enInfos) {
         if (null != enInfos) {
             enInfos = "[".concat(enInfos);
             enInfos = "[".concat(enInfos);

+ 2 - 2
src/main/java/com/uas/platform/b2b/dao/ProductDao.java

@@ -202,7 +202,7 @@ public interface ProductDao extends JpaSpecificationExecutor<Product>, JpaReposi
     public List<Product> findByTitleAndPcmpcodeAndPbrandAndEnUU(String title, String cmpcode, String brand, Long enUU);
     public List<Product> findByTitleAndPcmpcodeAndPbrandAndEnUU(String title, String cmpcode, String brand, Long enUU);
 
 
 	/**
 	/**
-	 * 通过uu查询非标准器件进行存储
+	 * 通过uu查询非标准器件进行存储 -- B2B不在使用一键匹配,所以更新方法也弃用
 	 * 
 	 * 
 	 * @param enuu
 	 * @param enuu
 	 * @return
 	 * @return
@@ -211,7 +211,7 @@ public interface ProductDao extends JpaSpecificationExecutor<Product>, JpaReposi
 	public String upateProductByEnuuAndType(Long enuu, String updatetype);
 	public String upateProductByEnuuAndType(Long enuu, String updatetype);
 
 
 	/**
 	/**
-	 * 一键开启(关闭)销售(采购)
+	 * 一键开启(关闭)销售(采购)  --公共服务调试ok之后会弃用
 	 *
 	 *
 	 * @param enuu
 	 * @param enuu
 	 * @param switchtype
 	 * @param switchtype

+ 2 - 2
src/main/java/com/uas/platform/b2b/dao/ProductUsersDao.java

@@ -30,7 +30,7 @@ public interface ProductUsersDao extends JpaSpecificationExecutor<ProductUsers>,
     List<ProductUsers> findByEnuuAndUseruuAndTitleAndCmpCodeAndBrand(@Param("enuu") Long enuu, @Param("useruu") Long useruu, @Param("title") String title, @Param("spec") String spec, @Param("brand") String brand);
     List<ProductUsers> findByEnuuAndUseruuAndTitleAndCmpCodeAndBrand(@Param("enuu") Long enuu, @Param("useruu") Long useruu, @Param("title") String title, @Param("spec") String spec, @Param("brand") String brand);
 
 
     /**
     /**
-     * 通过选择的id批量转入我的物料
+     * 通过选择的id批量转入我的物料 -- 弃用存储过程,在后台调用公共服务接口处理
      *
      *
      * @param ids
      * @param ids
      */
      */
@@ -45,7 +45,7 @@ public interface ProductUsersDao extends JpaSpecificationExecutor<ProductUsers>,
      * @param prid
      * @param prid
      * @return
      * @return
      */
      */
-    List<ProductUsers> findByEnuuAndUseruuAndAndPrid(Long enuu, Long useruu, Long prid);
+    ProductUsers findByEnuuAndUseruuAndPrid(Long enuu, Long useruu, Long prid);
 
 
     /**
     /**
      * 自动更新所有企业的物料信息
      * 自动更新所有企业的物料信息

+ 15 - 16
src/main/java/com/uas/platform/b2b/erp/controller/PurchaseProdInOutController.java

@@ -1,14 +1,16 @@
 package com.uas.platform.b2b.erp.controller;
 package com.uas.platform.b2b.erp.controller;
 
 
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.util.List;
-
-import com.uas.platform.b2b.model.MakeAccept;
-import com.uas.platform.b2b.model.MakeReturn;
-import com.uas.platform.b2b.model.PurchaseAccept;
-import com.uas.platform.b2b.model.PurchaseReturn;
-import com.uas.platform.b2b.service.*;
+import com.uas.platform.b2b.erp.model.ProdInOutRefreshPrice;
+import com.uas.platform.b2b.erp.model.PurchaseProdInOut;
+import com.uas.platform.b2b.erp.service.PurchaseProdInOutService;
+import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
+import com.uas.platform.b2b.service.MakeAcceptService;
+import com.uas.platform.b2b.service.MakeReturnService;
+import com.uas.platform.b2b.service.PurchaseAcceptService;
+import com.uas.platform.b2b.service.PurchaseApBillService;
+import com.uas.platform.b2b.service.PurchaseReturnService;
+import com.uas.platform.core.logging.BufferedLoggerManager;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,12 +18,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 
-import com.uas.platform.b2b.erp.model.ProdInOutRefreshPrice;
-import com.uas.platform.b2b.erp.model.PurchaseProdInOut;
-import com.uas.platform.b2b.erp.service.PurchaseProdInOutService;
-import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
-import com.uas.platform.core.logging.BufferedLoggerManager;
-import com.uas.platform.core.util.serializer.FlexJsonUtils;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.List;
 
 
 /**
 /**
  * 对买家ERP的数据接口<br>
  * 对买家ERP的数据接口<br>
@@ -63,7 +62,7 @@ public class PurchaseProdInOutController {
 	 */
 	 */
 	@RequestMapping(method = RequestMethod.POST)
 	@RequestMapping(method = RequestMethod.POST)
 	@ResponseBody
 	@ResponseBody
-	public void saveProdInOuts(@RequestParam("data") String data) throws UnsupportedEncodingException {
+	public void saveProdInOuts(@RequestParam("data") String data) throws Exception {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		List<PurchaseProdInOut> prodInOuts = FlexJsonUtils.fromJsonArray(jsonStr, PurchaseProdInOut.class);
 		List<PurchaseProdInOut> prodInOuts = FlexJsonUtils.fromJsonArray(jsonStr, PurchaseProdInOut.class);
 		purchaseAcceptService.save(purchaseProdInOutService.convertProdInOuts(prodInOuts));
 		purchaseAcceptService.save(purchaseProdInOutService.convertProdInOuts(prodInOuts));

+ 10 - 11
src/main/java/com/uas/platform/b2b/erp/controller/PurchaseProdReturnController.java

@@ -1,9 +1,11 @@
 package com.uas.platform.b2b.erp.controller;
 package com.uas.platform.b2b.erp.controller;
 
 
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.util.List;
-
+import com.uas.platform.b2b.erp.model.PurchaseProdInOut;
+import com.uas.platform.b2b.erp.service.PurchaseProdInOutService;
+import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
+import com.uas.platform.b2b.service.PurchaseReturnService;
+import com.uas.platform.core.logging.BufferedLoggerManager;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -11,12 +13,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 
-import com.uas.platform.b2b.erp.model.PurchaseProdInOut;
-import com.uas.platform.b2b.erp.service.PurchaseProdInOutService;
-import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
-import com.uas.platform.b2b.service.PurchaseReturnService;
-import com.uas.platform.core.logging.BufferedLoggerManager;
-import com.uas.platform.core.util.serializer.FlexJsonUtils;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.List;
 
 
 /**
 /**
  * 对买家ERP的数据接口<br>
  * 对买家ERP的数据接口<br>
@@ -46,7 +45,7 @@ public class PurchaseProdReturnController {
 	 */
 	 */
 	@RequestMapping(method = RequestMethod.POST)
 	@RequestMapping(method = RequestMethod.POST)
 	@ResponseBody
 	@ResponseBody
-	public void savePurchases(@RequestParam("data") String data) throws UnsupportedEncodingException {
+	public void savePurchases(@RequestParam("data") String data) throws Exception {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		List<PurchaseProdInOut> prodInOuts = FlexJsonUtils.fromJsonArray(jsonStr, PurchaseProdInOut.class);
 		List<PurchaseProdInOut> prodInOuts = FlexJsonUtils.fromJsonArray(jsonStr, PurchaseProdInOut.class);
 		purchaseReturnService.save(purchaseProdInOutService.convertReturns(prodInOuts));
 		purchaseReturnService.save(purchaseProdInOutService.convertReturns(prodInOuts));

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

@@ -21,7 +21,7 @@ public interface PurchaseProdInOutService {
 	 * @param prodInOuts
 	 * @param prodInOuts
 	 * @return
 	 * @return
 	 */
 	 */
-	List<PurchaseAcceptItem> convertProdInOuts(List<PurchaseProdInOut> prodInOuts);
+	List<PurchaseAcceptItem> convertProdInOuts(List<PurchaseProdInOut> prodInOuts) throws Exception;
 	
 	
 	/**
 	/**
 	 * 将ERP中已反过账的采购验收单,转为反过账的客户采购验收单
 	 * 将ERP中已反过账的采购验收单,转为反过账的客户采购验收单
@@ -36,7 +36,7 @@ public interface PurchaseProdInOutService {
 	 * @param prodInOuts
 	 * @param prodInOuts
 	 * @return
 	 * @return
 	 */
 	 */
-	List<PurchaseReturnItem> convertReturns(List<PurchaseProdInOut> prodInOuts);
+	List<PurchaseReturnItem> convertReturns(List<PurchaseProdInOut> prodInOuts) throws Exception;
 
 
 	/**
 	/**
 	 * 将ERP中已反过账的采购验收单,转为反过账的客户采购验退单
 	 * 将ERP中已反过账的采购验收单,转为反过账的客户采购验退单

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

@@ -1,14 +1,5 @@
 package com.uas.platform.b2b.erp.service.impl;
 package com.uas.platform.b2b.erp.service.impl;
 
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-
 import com.uas.platform.b2b.dao.EnterpriseDao;
 import com.uas.platform.b2b.dao.EnterpriseDao;
 import com.uas.platform.b2b.dao.ProductDao;
 import com.uas.platform.b2b.dao.ProductDao;
 import com.uas.platform.b2b.dao.PurchaseAcceptDao;
 import com.uas.platform.b2b.dao.PurchaseAcceptDao;
@@ -31,7 +22,16 @@ import com.uas.platform.b2b.model.PurchaseBadOutItem;
 import com.uas.platform.b2b.model.PurchaseOrderItem;
 import com.uas.platform.b2b.model.PurchaseOrderItem;
 import com.uas.platform.b2b.model.PurchaseReturn;
 import com.uas.platform.b2b.model.PurchaseReturn;
 import com.uas.platform.b2b.model.PurchaseReturnItem;
 import com.uas.platform.b2b.model.PurchaseReturnItem;
+import com.uas.platform.b2b.ps.ProductUtils;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.SystemSession;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
 
 
 
 
 @Service
 @Service
@@ -62,7 +62,7 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 	private ProductDao productDao;
 	private ProductDao productDao;
 
 
 	@Override
 	@Override
-	public List<PurchaseAcceptItem> convertProdInOuts(List<PurchaseProdInOut> prodInOuts) {
+	public List<PurchaseAcceptItem> convertProdInOuts(List<PurchaseProdInOut> prodInOuts) throws Exception {
 		List<PurchaseAcceptItem> acceptItems = new ArrayList<PurchaseAcceptItem>();
 		List<PurchaseAcceptItem> acceptItems = new ArrayList<PurchaseAcceptItem>();
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		for (PurchaseProdInOut prodInOut : prodInOuts) {
 		for (PurchaseProdInOut prodInOut : prodInOuts) {
@@ -97,6 +97,8 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 							Product product = new Product();
 							Product product = new Product();
 							product.setCode(item.getProdcode());
 							product.setCode(item.getProdcode());
 							product.setEnUU(enUU);
 							product.setEnUU(enUU);
+							// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+							ProductUtils.updateOne(product);
 							product = productDao.save(product);
 							product = productDao.save(product);
 							item.setProduct(product);
 							item.setProduct(product);
 							item.setProdId(product.getId());
 							item.setProdId(product.getId());
@@ -112,7 +114,7 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public List<PurchaseReturnItem> convertReturns(List<PurchaseProdInOut> prodInOuts) {
+	public List<PurchaseReturnItem> convertReturns(List<PurchaseProdInOut> prodInOuts) throws Exception {
 		List<PurchaseReturnItem> returnItems = new ArrayList<PurchaseReturnItem>();
 		List<PurchaseReturnItem> returnItems = new ArrayList<PurchaseReturnItem>();
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		for (PurchaseProdInOut prodInOut : prodInOuts) {
 		for (PurchaseProdInOut prodInOut : prodInOuts) {
@@ -145,6 +147,8 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 							Product product = new Product();
 							Product product = new Product();
 							product.setCode(returnItem.getProdCode());
 							product.setCode(returnItem.getProdCode());
 							product.setEnUU(enUU);
 							product.setEnUU(enUU);
+							// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+							ProductUtils.updateOne(product);
 							product = productDao.save(product);
 							product = productDao.save(product);
 							returnItem.setProduct(product);
 							returnItem.setProduct(product);
 							returnItem.setProdId(product.getId());
 							returnItem.setProdId(product.getId());

+ 1 - 2
src/main/java/com/uas/platform/b2b/ps/MessageUtils.java

@@ -23,7 +23,6 @@ import java.util.HashMap;
 public class MessageUtils {
 public class MessageUtils {
 
 
 
 
-    //TODO 其他也修改为从properties取
     private static final String MESSAGE_PUBLIC_SERVICE_URL = ContextUtils.getBean(MessageConf.class).getMessagePublicServiceDevUrl();
     private static final String MESSAGE_PUBLIC_SERVICE_URL = ContextUtils.getBean(MessageConf.class).getMessagePublicServiceDevUrl();
 
 
     /**
     /**
@@ -37,7 +36,7 @@ public class MessageUtils {
      */
      */
     public static Page<MessageModel> getMessage(int page, int size) throws Exception {
     public static Page<MessageModel> getMessage(int page, int size) throws Exception {
         HashMap<String, Object> params = new HashMap<>();
         HashMap<String, Object> params = new HashMap<>();
-        params.put("receiveruu", SystemSession.getUser().getUserUU());
+        params.put("receiverUu", SystemSession.getUser().getUserUU());
         params.put("receiverEnuu", SystemSession.getUser().getEnterprise().getUu());
         params.put("receiverEnuu", SystemSession.getUser().getEnterprise().getUu());
         params.put("consumerApp", "B2B");
         params.put("consumerApp", "B2B");
         params.put("page", page);
         params.put("page", page);

+ 84 - 0
src/main/java/com/uas/platform/b2b/ps/ProductUtils.java

@@ -3,6 +3,7 @@ package com.uas.platform.b2b.ps;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.model.Product;
+import com.uas.platform.b2b.model.ProductUsers;
 import com.uas.platform.b2b.support.SysConf;
 import com.uas.platform.b2b.support.SysConf;
 import com.uas.platform.core.util.HttpUtil;
 import com.uas.platform.core.util.HttpUtil;
 import com.uas.platform.core.util.HttpUtil.Response;
 import com.uas.platform.core.util.HttpUtil.Response;
@@ -77,6 +78,52 @@ public class ProductUtils {
     }
     }
 
 
 
 
+    /**
+     * 批量更新个人物料
+     *
+     * @author dongbw
+     * @param  productUsers 要保存的个人物料信息
+     * @return
+     * @throws Exception
+     */
+    public static ModelMap updateProductUsersByBatch(List<ProductUsers> productUsers) throws Exception {
+        HashMap<String, Object> params = new HashMap<>();
+        params.put("data", FlexJsonUtils.toJsonDeep(productUsers));
+        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", "批量保存个人物料成功");
+            }
+        } else {
+            throw new RuntimeException("批量保存个人物料失败");
+        }
+        return null;
+    }
+
+    /**
+     * 单个更新个人物料
+     *
+     * @author dongbw
+     * @param  productUser 要保存的个人物料信息
+     * @return
+     * @throws Exception
+     */
+    public static ModelMap updateProductUsersOne(ProductUsers productUser) throws Exception {
+        List<ProductUsers> productUsers = new ArrayList<>();
+        productUsers.add(productUser);
+        HashMap<String, Object> params = new HashMap<>();
+        params.put("data", FlexJsonUtils.toJsonDeep(productUsers));
+        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", "保存单个个人物料成功");
+            }
+        } else {
+            throw new RuntimeException("保存单个个人物料失败");
+        }
+        return null;
+    }
+
     /**
     /**
      * 单个删除个人物料
      * 单个删除个人物料
      *
      *
@@ -96,6 +143,23 @@ public class ProductUtils {
         }
         }
     }
     }
 
 
+    /**
+     * 批量删除个人物料
+     *
+     * @author dongbw
+     * @param  idList 要删除的个人物料idList
+     * @return
+     * @throws Exception
+     */
+    public static void deleteProductUserByBatch(List<Long> idList) throws Exception {
+        HashMap<String, Object> params = new HashMap<>();
+        params.put("ids", idList);
+        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_URL + "/productuser/edit/deleteByBatch", params);
+        if (HttpStatus.OK.value()!= res.getStatusCode()) {
+            throw new RuntimeException("删除个人物料失败");
+        }
+    }
+
     /**
     /**
      * 子应用删除物料时,删除匹配结果和个人物料
      * 子应用删除物料时,删除匹配结果和个人物料
      *
      *
@@ -176,4 +240,24 @@ public class ProductUtils {
             throw new RuntimeException("匹配所选失败");
             throw new RuntimeException("匹配所选失败");
         }
         }
     }
     }
+
+    /**
+     * 个人物料批量转入个人物料库
+     * @param ids 转入的物料ids
+     * @param enUU  企业UU
+     * @param userUU 用户UU
+     * @return
+     */
+    public static Integer coverToUserProd(String 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);
+        Response res = HttpUtil.sendPostRequest(PRODUCT_PUBLIC_SERVICE_URL + "/productuser/coverToUserByIds", params);
+        if (HttpStatus.OK.value() == res.getStatusCode()) {
+            return Integer.valueOf(res.getResponseText());
+        } else {
+            throw new RuntimeException("批量转入个人物料库失败");
+        }
+    }
 }
 }

+ 1 - 1
src/main/java/com/uas/platform/b2b/service/BaseInfoService.java

@@ -23,7 +23,7 @@ public interface BaseInfoService {
 	 * @param workbook
 	 * @param workbook
 	 * @return
 	 * @return
 	 */
 	 */
-	ModelMap releaseByWorkbook(Workbook workbook);
+	ModelMap releaseByWorkbook(Workbook workbook) throws Exception;
 
 
 	/**
 	/**
 	 * 更新物料信息
 	 * 更新物料信息

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

@@ -21,7 +21,7 @@ public interface ProductService {
 	 * @param products
 	 * @param products
 	 * @return
 	 * @return
 	 */
 	 */
-	public List<Product> save(List<Product> products);
+	public List<Product> save(List<Product> products) throws Exception;
 
 
 	/**
 	/**
 	 * 分页查找客户物料(全部)
 	 * 分页查找客户物料(全部)
@@ -69,7 +69,7 @@ public interface ProductService {
 	 * @param keyword
 	 * @param keyword
 	 * @return
 	 * @return
 	 */
 	 */
-	public ModelMap updateByBatch(List<Product> products, String updatetype, String keyword);
+	public ModelMap updateByBatch(List<Product> products, String updatetype, String keyword) throws Exception;
 
 
 	/**
 	/**
 	 * 批量修改物料数据
 	 * 批量修改物料数据
@@ -153,7 +153,7 @@ public interface ProductService {
 	 * 
 	 * 
 	 * @param idArray
 	 * @param idArray
 	 */
 	 */
-	public void onProductDownSuccess(String[] idArray);
+	public void onProductDownSuccess(String[] idArray) throws Exception;
 
 
 	/**
 	/**
 	 * 获取匹配数量
 	 * 获取匹配数量
@@ -223,7 +223,7 @@ public interface ProductService {
 	 * @date 2018-01-12 19:15
 	 * @date 2018-01-12 19:15
 	 * @param productSalers 个人物料信息
 	 * @param productSalers 个人物料信息
 	 */
 	 */
-    void updateProdSaler(List<ProductSaler> productSalers);
+    void updateProdSaler(List<ProductSaler> productSalers) throws Exception;
 
 
 	/**
 	/**
 	 * ERP取消个人物料同步到平台
 	 * ERP取消个人物料同步到平台
@@ -232,5 +232,5 @@ public interface ProductService {
 	 * @date 2018-01-12 19:31
 	 * @date 2018-01-12 19:31
 	 * @param productSalers
 	 * @param productSalers
 	 */
 	 */
-	void quitProdSaler(List<ProductSaler> productSalers);
+	void quitProdSaler(List<ProductSaler> productSalers) throws Exception;
 }
 }

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

@@ -30,14 +30,14 @@ public interface ProductUsersService {
      * @param prodInfo
      * @param prodInfo
      * @return
      * @return
      */
      */
-    ModelMap addNewProduct(Product prodInfo);
+    ModelMap addNewProduct(Product prodInfo) throws Exception;
 
 
     /**
     /**
      * 通过id解除物料绑定关系
      * 通过id解除物料绑定关系
      *
      *
      * @param id
      * @param id
      */
      */
-    void deleteById(Long id);
+    void deleteById(Long id) throws Exception;
 
 
     /**
     /**
      * 批量导入物料信息
      * 批量导入物料信息
@@ -45,27 +45,27 @@ public interface ProductUsersService {
      * @param workbook
      * @param workbook
      * @return
      * @return
      */
      */
-    ModelMap releaseByWorkbook(Workbook workbook);
+    ModelMap releaseByWorkbook(Workbook workbook) throws Exception;
 
 
     /**
     /**
      * 批量转入我的产品库
      * 批量转入我的产品库
      *
      *
      * @param ids
      * @param ids
      */
      */
-    ModelMap coverToUserProd(String ids);
+    ModelMap coverToUserProd(String ids) throws Exception;
 
 
     /**
     /**
      * 单个转入我的物料
      * 单个转入我的物料
      *
      *
      * @param id
      * @param id
      */
      */
-    void coverToUserProd(Long id);
+    void coverToUserProd(Long id) throws Exception;
 
 
     /**
     /**
      * 批量删除我的产品
      * 批量删除我的产品
      * @param idList
      * @param idList
      */
      */
-    void deleteByBatch(List<Long> idList);
+    void deleteByBatch(List<Long> idList) throws Exception;
 
 
     /**
     /**
      * 转入我的物料库
      * 转入我的物料库

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

@@ -20,7 +20,7 @@ public interface PurcInquiryService {
 	 * @param inquiry
 	 * @param inquiry
 	 * @return
 	 * @return
 	 */
 	 */
-	public ModelMap save(PurcInquiryInfo inquiry, List<VendorAndContact> contacts, FileUpload uploadItem);
+	public ModelMap save(PurcInquiryInfo inquiry, List<VendorAndContact> contacts, FileUpload uploadItem) throws Exception;
 
 
 	/**
 	/**
 	 * 保存提交
 	 * 保存提交
@@ -29,7 +29,7 @@ public interface PurcInquiryService {
 	 * @param contacts
 	 * @param contacts
 	 * @return
 	 * @return
 	 */
 	 */
-	public ModelMap saveAndSubmit(PurcInquiryInfo inquiry, List<VendorAndContact> contacts, FileUpload uploadItem);
+	public ModelMap saveAndSubmit(PurcInquiryInfo inquiry, List<VendorAndContact> contacts, FileUpload uploadItem) throws Exception;
 
 
 	/**
 	/**
 	 * 提交单据
 	 * 提交单据
@@ -84,7 +84,7 @@ public interface PurcInquiryService {
 	 * @param purcInquiry
 	 * @param purcInquiry
 	 * @return
 	 * @return
 	 */
 	 */
-	public ModelMap saveWithoutVendor(PurcInquiryInfo purcInquiry, FileUpload uploadItem);
+	public ModelMap saveWithoutVendor(PurcInquiryInfo purcInquiry, FileUpload uploadItem) throws Exception;
 
 
 	/**
 	/**
 	 * 公共询价(保存并提交)
 	 * 公共询价(保存并提交)
@@ -92,7 +92,7 @@ public interface PurcInquiryService {
 	 * @param purcInquiry
 	 * @param purcInquiry
 	 * @return
 	 * @return
 	 */
 	 */
-	public ModelMap saveAndSubmitWithoutVendor(PurcInquiryInfo purcInquiry, FileUpload uploadItem);
+	public ModelMap saveAndSubmitWithoutVendor(PurcInquiryInfo purcInquiry, FileUpload uploadItem) throws Exception;
 
 
 	/**
 	/**
 	 * 发布公共招标
 	 * 发布公共招标

+ 1 - 1
src/main/java/com/uas/platform/b2b/service/PurcOrderService.java

@@ -70,7 +70,7 @@ public interface PurcOrderService {
 	 * @param workbook
 	 * @param workbook
 	 * @return
 	 * @return
 	 */
 	 */
-	public ModelMap releaseByWorkbook(Workbook workbook);
+	public ModelMap releaseByWorkbook(Workbook workbook) throws Exception;
 
 
 	/**
 	/**
 	 * 复制采购单
 	 * 复制采购单

+ 1 - 1
src/main/java/com/uas/platform/b2b/service/PurcProductService.java

@@ -11,7 +11,7 @@ public interface PurcProductService {
 	 * @param workbook
 	 * @param workbook
 	 * @return
 	 * @return
 	 */
 	 */
-	public ModelMap releaseByWorkbook(Workbook workbook);
+	public ModelMap releaseByWorkbook(Workbook workbook) throws Exception;
 
 
 	/**
 	/**
 	 * 一键开启或关闭采购物料
 	 * 一键开启或关闭采购物料

+ 1 - 1
src/main/java/com/uas/platform/b2b/service/PurchaseTenderService.java

@@ -192,7 +192,7 @@ public interface PurchaseTenderService {
      * @param purchaseTender
      * @param purchaseTender
      * @param contactInfos
      * @param contactInfos
      */
      */
-    void publishOrSave(PurchaseTender purchaseTender, List<TenderContactInfo> contactInfos);
+    void publishOrSave(PurchaseTender purchaseTender, List<TenderContactInfo> contactInfos) throws Exception;
 
 
     Map<String, Integer> getTenderCount(String category);
     Map<String, Integer> getTenderCount(String category);
 
 

+ 3 - 1
src/main/java/com/uas/platform/b2b/service/impl/BaseInfoServiceImpl.java

@@ -130,7 +130,7 @@ public class BaseInfoServiceImpl implements BaseInfoService {
 	 * 批量导入物料资料
 	 * 批量导入物料资料
 	 */
 	 */
 	@Override
 	@Override
-	public ModelMap releaseByWorkbook(Workbook workbook) {
+	public ModelMap releaseByWorkbook(Workbook workbook) throws Exception {
 		ModelMap modelMap = new ModelMap();
 		ModelMap modelMap = new ModelMap();
 		List<String> alters = new ArrayList<String>();
 		List<String> alters = new ArrayList<String>();
 		List<String> infos = new ArrayList<String>();
 		List<String> infos = new ArrayList<String>();
@@ -223,6 +223,8 @@ public class BaseInfoServiceImpl implements BaseInfoService {
 						Product oldProd = prods.get(0);
 						Product oldProd = prods.get(0);
 						if (oldProd.getIsSale() == null) {
 						if (oldProd.getIsSale() == null) {
 							oldProd.setIsSale(Constant.YES);
 							oldProd.setIsSale(Constant.YES);
+                            // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+                            ProductUtils.updateOne(product);
 							productDao.save(oldProd);
 							productDao.save(oldProd);
 						}
 						}
 						alters.add(product.getCode());
 						alters.add(product.getCode());

+ 25 - 12
src/main/java/com/uas/platform/b2b/service/impl/ProductServiceImpl.java

@@ -84,7 +84,9 @@ public class ProductServiceImpl implements ProductService {
 	private final static ErpBufferedLogger erpLogger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
 	private final static ErpBufferedLogger erpLogger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
 
 
 	@Override
 	@Override
-	public List<Product> save(List<Product> products) {
+	public List<Product> save(List<Product> products) throws Exception {
+		// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+		ProductUtils.update(products);
 		List<Product> newProducts = productDao.save(products);
 		List<Product> newProducts = productDao.save(products);
 		ContextUtils.publishEvent(new ProductSaveEvent(newProducts));
 		ContextUtils.publishEvent(new ProductSaveEvent(newProducts));
 		return newProducts;
 		return newProducts;
@@ -111,7 +113,7 @@ public class ProductServiceImpl implements ProductService {
 
 
 	@Override
 	@Override
 	public void unlock(Long id) {
 	public void unlock(Long id) {
-	    // TODO 这里之后要修改为只调用公共服务方法,B2B数据从公共服务同步
+		// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
 		try {
 		try {
             Product prod = productDao.findOne(id);
             Product prod = productDao.findOne(id);
             prod.setIsSale(Constant.YES);
             prod.setIsSale(Constant.YES);
@@ -125,7 +127,7 @@ public class ProductServiceImpl implements ProductService {
 
 
 	@Override
 	@Override
 	public void lock(Long id) {
 	public void lock(Long id) {
-        // TODO 这里之后要修改为只调用公共服务方法,B2B数据从公共服务同步
+		// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
 		try {
 		try {
             Product prod = productDao.findOne(id);
             Product prod = productDao.findOne(id);
             prod.setIsSale(Constant.YES);
             prod.setIsSale(Constant.YES);
@@ -138,7 +140,7 @@ public class ProductServiceImpl implements ProductService {
 
 
 	@Override
 	@Override
 	public void unlockPurc(Long id) {
 	public void unlockPurc(Long id) {
-        // TODO 这里之后要修改为只调用公共服务方法,B2B数据从公共服务同步
+		// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
 		try {
 		try {
 			Product prod = productDao.findOne(id);
 			Product prod = productDao.findOne(id);
 			prod.setIsPurchase(Constant.YES);
 			prod.setIsPurchase(Constant.YES);
@@ -151,7 +153,7 @@ public class ProductServiceImpl implements ProductService {
 
 
 	@Override
 	@Override
 	public void lockPurc(Long id) {
 	public void lockPurc(Long id) {
-        // TODO 这里之后要修改为只调用公共服务方法,B2B数据从公共服务同步
+		// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
 		try {
 		try {
 			Product prod = productDao.findOne(id);
 			Product prod = productDao.findOne(id);
 			prod.setIsPurchase(Constant.NO);
 			prod.setIsPurchase(Constant.NO);
@@ -163,20 +165,26 @@ public class ProductServiceImpl implements ProductService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public ModelMap updateByBatch(List<Product> products, String updatetype, String keyword) {
+	public ModelMap updateByBatch(List<Product> products, String updatetype, String keyword) throws Exception {
 		ModelMap map = new ModelMap();
 		ModelMap map = new ModelMap();
 		if (!CollectionUtils.isEmpty(products)) {
 		if (!CollectionUtils.isEmpty(products)) {
 			for (Product prod : products) {
 			for (Product prod : products) {
 				if (updatetype.equals(UpdateType.BRANDUPDATE.getPhrase())) {
 				if (updatetype.equals(UpdateType.BRANDUPDATE.getPhrase())) {
 					prod.setBrand(keyword);
 					prod.setBrand(keyword);
+					// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+					ProductUtils.updateOne(prod);
 					productDao.save(prod);
 					productDao.save(prod);
 				} else if (updatetype.equals(UpdateType.PRODSPECUPDATE.getPhrase())
 				} else if (updatetype.equals(UpdateType.PRODSPECUPDATE.getPhrase())
 						|| updatetype.equals(UpdateType.MATERSPECUPDATE.getPhrase())) {
 						|| updatetype.equals(UpdateType.MATERSPECUPDATE.getPhrase())) {
 					prod.setSpec(keyword);
 					prod.setSpec(keyword);
 					prod.setCmpCode(keyword);
 					prod.setCmpCode(keyword);
+					// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+					ProductUtils.updateOne(prod);
 					productDao.save(prod);
 					productDao.save(prod);
 				} else if (updatetype.equals(UpdateType.TITLEUPDATE.getPhrase())) {
 				} else if (updatetype.equals(UpdateType.TITLEUPDATE.getPhrase())) {
 					prod.setTitle(keyword);
 					prod.setTitle(keyword);
+					// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+					ProductUtils.updateOne(prod);
 					productDao.save(prod);
 					productDao.save(prod);
 				}
 				}
 			}
 			}
@@ -402,11 +410,13 @@ public class ProductServiceImpl implements ProductService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public void onProductDownSuccess(String[] idArray) {
+	public void onProductDownSuccess(String[] idArray) throws Exception {
 		for (String id : idArray) {
 		for (String id : idArray) {
 			Product product = productDao.findOne(Long.parseLong(id));
 			Product product = productDao.findOne(Long.parseLong(id));
 			if (product != null) {
 			if (product != null) {
 				product.setDownloadstatus(Status.DOWNLOADED.value());
 				product.setDownloadstatus(Status.DOWNLOADED.value());
+				// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+				ProductUtils.updateOne(product);
 				productDao.save(product);
 				productDao.save(product);
 			}
 			}
 		}
 		}
@@ -560,7 +570,7 @@ public class ProductServiceImpl implements ProductService {
 	 * @date 2018-01-12 19:15
 	 * @date 2018-01-12 19:15
 	 */
 	 */
 	@Override
 	@Override
-	public void updateProdSaler(List<ProductSaler> productSalers) {
+	public void updateProdSaler(List<ProductSaler> productSalers) throws Exception {
 		Long enuu = SystemSession.getUser().getEnterprise().getUu();
 		Long enuu = SystemSession.getUser().getEnterprise().getUu();
 		for (ProductSaler productSaler : productSalers) {
 		for (ProductSaler productSaler : productSalers) {
             List<Product> prods = productDao.findByEnUUAndCode(enuu, productSaler.getPs_code());
             List<Product> prods = productDao.findByEnUUAndCode(enuu, productSaler.getPs_code());
@@ -568,15 +578,16 @@ public class ProductServiceImpl implements ProductService {
                 throw new NotFoundException("[" + productSaler.getPs_code() + "]物料没找到");
                 throw new NotFoundException("[" + productSaler.getPs_code() + "]物料没找到");
             } else {
             } else {
                 Product product = prods.get(0);
                 Product product = prods.get(0);
-                List<ProductUsers> productUsers = productUsersDao.findByEnuuAndUseruuAndAndPrid(enuu, productSaler.getEm_uu(), product.getId());
-                if (CollectionUtils.isEmpty(productUsers)) {
+                ProductUsers productUsers = productUsersDao.findByEnuuAndUseruuAndPrid(enuu, productSaler.getEm_uu(), product.getId());
+                if (null == productUsers) {
                     ProductUsers info = new ProductUsers();
                     ProductUsers info = new ProductUsers();
                     info.setDate(new Date());
                     info.setDate(new Date());
                     info.setEnuu(enuu);
                     info.setEnuu(enuu);
                     info.setPrid(product.getId());
                     info.setPrid(product.getId());
                     info.setUseruu(productSaler.getEm_uu());
                     info.setUseruu(productSaler.getEm_uu());
                     info.setErpid(productSaler.getPs_id());
                     info.setErpid(productSaler.getPs_id());
-                    info = productUsersDao.save(info);
+//                    info = productUsersDao.save(info);
+					ProductUtils.updateProductUsersOne(info);
                     erpLogger.log("ERP个人物料信息同步", "关联物料id:" + info.getPrid(), 1);
                     erpLogger.log("ERP个人物料信息同步", "关联物料id:" + info.getPrid(), 1);
                 }
                 }
             }
             }
@@ -591,11 +602,13 @@ public class ProductServiceImpl implements ProductService {
      * @date 2018-01-12 19:31
      * @date 2018-01-12 19:31
      */
      */
     @Override
     @Override
-    public void quitProdSaler(List<ProductSaler> productSalers) {
+    public void quitProdSaler(List<ProductSaler> productSalers) throws Exception {
         Long enuu = SystemSession.getUser().getEnterprise().getUu();
         Long enuu = SystemSession.getUser().getEnterprise().getUu();
         for (ProductSaler productSaler : productSalers) {
         for (ProductSaler productSaler : productSalers) {
             ProductUsers prod = productUsersDao.findByEnuuAndUseruuAndErpid(enuu, productSaler.getEm_uu(), productSaler.getPs_id());
             ProductUsers prod = productUsersDao.findByEnuuAndUseruuAndErpid(enuu, productSaler.getEm_uu(), productSaler.getPs_id());
             if (null != prod) {
             if (null != prod) {
+				// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+				ProductUtils.deleteProductUser(prod.getId());
                 productUsersDao.delete(prod);
                 productUsersDao.delete(prod);
 				erpLogger.log("ERP删除个人物料信息同步", "关联物料id: " + prod.getPrid(), 1);
 				erpLogger.log("ERP删除个人物料信息同步", "关联物料id: " + prod.getPrid(), 1);
             }
             }

+ 43 - 12
src/main/java/com/uas/platform/b2b/service/impl/ProductUsersServiceImpl.java

@@ -7,6 +7,7 @@ import com.uas.platform.b2b.dao.ProductUsersDao;
 import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.model.ProductUsers;
 import com.uas.platform.b2b.model.ProductUsers;
 import com.uas.platform.b2b.model.Role;
 import com.uas.platform.b2b.model.Role;
+import com.uas.platform.b2b.ps.ProductUtils;
 import com.uas.platform.b2b.service.ProductUsersService;
 import com.uas.platform.b2b.service.ProductUsersService;
 import com.uas.platform.b2b.service.RoleService;
 import com.uas.platform.b2b.service.RoleService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.SystemSession;
@@ -75,7 +76,7 @@ public class ProductUsersServiceImpl implements ProductUsersService {
     }
     }
 
 
     @Override
     @Override
-    public ModelMap addNewProduct(Product prodInfo) {
+    public ModelMap addNewProduct(Product prodInfo) throws Exception {
         ModelMap map = new ModelMap();
         ModelMap map = new ModelMap();
         // 先查找以前的个人物料是否存在
         // 先查找以前的个人物料是否存在
         Long enuu = SystemSession.getUser().getEnterprise().getUu();
         Long enuu = SystemSession.getUser().getEnterprise().getUu();
@@ -92,6 +93,8 @@ public class ProductUsersServiceImpl implements ProductUsersService {
                 prod.setEnuu(enuu);
                 prod.setEnuu(enuu);
                 prod.setPrid(productList.get(0).getId());
                 prod.setPrid(productList.get(0).getId());
                 prod.setUseruu(useruu);
                 prod.setUseruu(useruu);
+                // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+                ProductUtils.updateProductUsersOne(prod);
                 productUsersDao.save(prod);
                 productUsersDao.save(prod);
                 logger.log("个人产品库增加产品", "关联:" + productList.get(0).getId());
                 logger.log("个人产品库增加产品", "关联:" + productList.get(0).getId());
                 map.put("success", "新增成功");
                 map.put("success", "新增成功");
@@ -125,12 +128,16 @@ public class ProductUsersServiceImpl implements ProductUsersService {
                 prodInfo.setIsShow(Constant.NO);
                 prodInfo.setIsShow(Constant.NO);
                 prodInfo.setStandard(Constant.NO);
                 prodInfo.setStandard(Constant.NO);
                 prodInfo.setErpDate(new Date());
                 prodInfo.setErpDate(new Date());
+                // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+                ProductUtils.updateOne(prodInfo);
                 prodInfo = productDao.save(prodInfo);
                 prodInfo = productDao.save(prodInfo);
                 ProductUsers prod = new ProductUsers();
                 ProductUsers prod = new ProductUsers();
                 prod.setDate(new Date());
                 prod.setDate(new Date());
                 prod.setEnuu(enuu);
                 prod.setEnuu(enuu);
                 prod.setPrid(prodInfo.getId());
                 prod.setPrid(prodInfo.getId());
                 prod.setUseruu(useruu);
                 prod.setUseruu(useruu);
+                // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+                ProductUtils.updateProductUsersOne(prod);
                 productUsersDao.save(prod);
                 productUsersDao.save(prod);
                 logger.log("个人产品库增加产品", "关联:" + prodInfo.getId());
                 logger.log("个人产品库增加产品", "关联:" + prodInfo.getId());
                 map.put("success", "新增成功");
                 map.put("success", "新增成功");
@@ -142,12 +149,14 @@ public class ProductUsersServiceImpl implements ProductUsersService {
     }
     }
 
 
     @Override
     @Override
-    public void deleteById(Long id) {
+    public void deleteById(Long id) throws Exception {
+        // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+        ProductUtils.deleteProductUser(id);
         productUsersDao.delete(id);
         productUsersDao.delete(id);
     }
     }
 
 
     @Override
     @Override
-    public ModelMap releaseByWorkbook(Workbook workbook) {
+    public ModelMap releaseByWorkbook(Workbook workbook) throws Exception {
         ModelMap modelMap = new ModelMap();
         ModelMap modelMap = new ModelMap();
         List<ProductUsers> productUsers = new ArrayList<ProductUsers>();
         List<ProductUsers> productUsers = new ArrayList<ProductUsers>();
         List<String> alters = new ArrayList<String>();
         List<String> alters = new ArrayList<String>();
@@ -269,6 +278,8 @@ public class ProductUsersServiceImpl implements ProductUsersService {
                                     }
                                     }
                                 }
                                 }
                             }
                             }
+                            // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+                            ProductUtils.updateOne(product);
                             product = productDao.save(product);
                             product = productDao.save(product);
                             prod.setDate(new Date());
                             prod.setDate(new Date());
                             prod.setEnuu(enuu);
                             prod.setEnuu(enuu);
@@ -290,6 +301,8 @@ public class ProductUsersServiceImpl implements ProductUsersService {
             modelMap.put("total", total);
             modelMap.put("total", total);
             if (!CollectionUtils.isEmpty(productUsers)) {
             if (!CollectionUtils.isEmpty(productUsers)) {
                 try {
                 try {
+                    // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+                    ProductUtils.updateProductUsersByBatch(productUsers);
                     productUsers = productUsersDao.save(productUsers);
                     productUsers = productUsersDao.save(productUsers);
                     modelMap.put("success", productUsers.size());
                     modelMap.put("success", productUsers.size());
                     if(alters.size() > 0)
                     if(alters.size() > 0)
@@ -307,20 +320,22 @@ public class ProductUsersServiceImpl implements ProductUsersService {
     }
     }
 
 
     @Override
     @Override
-    public ModelMap coverToUserProd(String ids) {
-        ids.replace("["," ");
-        ids.replace("]"," ");
-        Integer count = productUsersDao.coverToUserProd(ids, SystemSession.getUser().getUserUU(), SystemSession.getUser().getEnterprise().getUu());
+    public ModelMap coverToUserProd(String ids) throws Exception {
+//        ids.replace("["," ");
+//        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());
         logger.log("我的产品库", "新增了我产品信息", "size:" + count);
         logger.log("我的产品库", "新增了我产品信息", "size:" + count);
         return new ModelMap("count", count);
         return new ModelMap("count", count);
     }
     }
 
 
     @Override
     @Override
-    public void coverToUserProd(Long id) {
+    public void coverToUserProd(Long id) throws Exception {
         Long useruu = SystemSession.getUser().getUserUU();
         Long useruu = SystemSession.getUser().getUserUU();
         Long enuu = SystemSession.getUser().getEnterprise().getUu();
         Long enuu = SystemSession.getUser().getEnterprise().getUu();
-        List<ProductUsers> prods = productUsersDao.findByEnuuAndUseruuAndAndPrid(enuu, useruu, id);
-        if(CollectionUtils.isEmpty(prods)) {
+        ProductUsers productUsers = productUsersDao.findByEnuuAndUseruuAndPrid(enuu, useruu, id);
+        if(null == productUsers) {
         	Product product = productDao.findOne(id);
         	Product product = productDao.findOne(id);
 	        List<Role> roles = roleService.findByEnUUAndUserUU(enuu, useruu);
 	        List<Role> roles = roleService.findByEnUUAndUserUU(enuu, useruu);
 	        // 根据当前用户角色更新物料销售采购属性
 	        // 根据当前用户角色更新物料销售采购属性
@@ -329,11 +344,15 @@ public class ProductUsersServiceImpl implements ProductUsersService {
 			        if(role.getDesc().equals("业务员") || role.getDesc().equals("销售经理")) {
 			        if(role.getDesc().equals("业务员") || role.getDesc().equals("销售经理")) {
 			        	if(product.getIsSale() == null || product.getIsSale().equals(Constant.NO)) {
 			        	if(product.getIsSale() == null || product.getIsSale().equals(Constant.NO)) {
 					        product.setIsSale(Constant.YES);
 					        product.setIsSale(Constant.YES);
+                            // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+                            ProductUtils.updateOne(product);
 					        productDao.save(product);
 					        productDao.save(product);
 				        }
 				        }
 			        } else if(role.getDesc().equals("采购员")) {
 			        } else if(role.getDesc().equals("采购员")) {
 				        if(product.getIsPurchase() == null || product.getIsPurchase().equals(Constant.NO)) {
 				        if(product.getIsPurchase() == null || product.getIsPurchase().equals(Constant.NO)) {
 					        product.setIsPurchase(Constant.YES);
 					        product.setIsPurchase(Constant.YES);
+                            // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+                            ProductUtils.updateOne(product);
 					        productDao.save(product);
 					        productDao.save(product);
 				        }
 				        }
 			        }
 			        }
@@ -344,13 +363,17 @@ public class ProductUsersServiceImpl implements ProductUsersService {
             prod.setEnuu(enuu);
             prod.setEnuu(enuu);
             prod.setPrid(id);
             prod.setPrid(id);
             prod.setDate(new Date());
             prod.setDate(new Date());
+            // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+            ProductUtils.updateProductUsersOne(prod);
             prod = productUsersDao.save(prod);
             prod = productUsersDao.save(prod);
             logger.log("我的产品库", "新增了我产品信息", "id:" + prod.getId());
             logger.log("我的产品库", "新增了我产品信息", "id:" + prod.getId());
         }
         }
     }
     }
 
 
     @Override
     @Override
-    public void deleteByBatch(List<Long> idList) {
+    public void deleteByBatch(List<Long> idList) throws Exception {
+        // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+        ProductUtils.deleteProductUserByBatch(idList);
         List<ProductUsers> prods = productUsersDao.findAll(idList);
         List<ProductUsers> prods = productUsersDao.findAll(idList);
         productUsersDao.delete(prods);
         productUsersDao.delete(prods);
     }
     }
@@ -366,7 +389,15 @@ public class ProductUsersServiceImpl implements ProductUsersService {
 
 
             @Override
             @Override
             public void run() {
             public void run() {
-                productUsersDao.coverToUserByPrid(productId, enuu, useruu);
+//                productUsersDao.coverToUserByPrid(productId, enuu, useruu);
+                ProductUsers productUsers = productUsersDao.findByEnuuAndUseruuAndPrid(enuu, useruu, productId);
+                if (null == productUsers) {
+                    try {
+                        ProductUtils.coverToUserProd(String.valueOf(productId), enuu, useruu);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
             }
             }
         }).run();
         }).run();
     }
     }

+ 54 - 8
src/main/java/com/uas/platform/b2b/service/impl/PurcInquiryServiceImpl.java

@@ -2,17 +2,55 @@ package com.uas.platform.b2b.service.impl;
 
 
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.core.util.ThreadTask;
 import com.uas.platform.b2b.core.util.ThreadTask;
-import com.uas.platform.b2b.dao.*;
+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.PublicInquiryDao;
+import com.uas.platform.b2b.dao.PublicInquiryItemDao;
+import com.uas.platform.b2b.dao.PurcInquiryDao;
+import com.uas.platform.b2b.dao.PurcInquiryItemDao;
+import com.uas.platform.b2b.dao.PurcInquiryItemInfoDao;
+import com.uas.platform.b2b.dao.PurchaseInquiryDao;
+import com.uas.platform.b2b.dao.PurchaseInquiryInfoDao;
+import com.uas.platform.b2b.dao.PurchaseInquiryItemDao;
+import com.uas.platform.b2b.dao.PurchaseInquiryReplyDao;
+import com.uas.platform.b2b.dao.RoleDao;
+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.event.PurchaseInquiryItemDecideReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseInquiryItemDecideReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseInquiryItemSaveReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseInquiryItemSaveReleaseEvent;
-import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.model.Attach;
+import com.uas.platform.b2b.model.Distribute;
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.FileUpload;
+import com.uas.platform.b2b.model.Product;
+import com.uas.platform.b2b.model.PublicInquiry;
+import com.uas.platform.b2b.model.PublicInquiryItem;
+import com.uas.platform.b2b.model.PurcInquiry;
+import com.uas.platform.b2b.model.PurcInquiryItem;
+import com.uas.platform.b2b.model.PurcInquiryItemInfo;
+import com.uas.platform.b2b.model.PurchaseInquiry;
+import com.uas.platform.b2b.model.PurchaseInquiryInfo;
+import com.uas.platform.b2b.model.PurchaseInquiryItem;
+import com.uas.platform.b2b.model.PurchaseInquiryItemInfo;
+import com.uas.platform.b2b.model.PurchaseInquiryReply;
+import com.uas.platform.b2b.model.Role;
+import com.uas.platform.b2b.model.User;
+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.service.AttachService;
 import com.uas.platform.b2b.service.AttachService;
 import com.uas.platform.b2b.service.PurcInquiryService;
 import com.uas.platform.b2b.service.PurcInquiryService;
 import com.uas.platform.b2b.service.RoleService;
 import com.uas.platform.b2b.service.RoleService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
-import com.uas.platform.b2b.temporary.model.*;
+import com.uas.platform.b2b.temporary.model.InquiryDetailInfo;
+import com.uas.platform.b2b.temporary.model.InquiryProductInfo;
 import com.uas.platform.b2b.temporary.model.PurcInquiryInfo;
 import com.uas.platform.b2b.temporary.model.PurcInquiryInfo;
+import com.uas.platform.b2b.temporary.model.PurcInquiryProductInfo;
+import com.uas.platform.b2b.temporary.model.VendorAndContact;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageInfo;
@@ -35,7 +73,11 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import javax.persistence.criteria.Root;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
 
 
 @Service
 @Service
 public class PurcInquiryServiceImpl implements PurcInquiryService {
 public class PurcInquiryServiceImpl implements PurcInquiryService {
@@ -118,7 +160,7 @@ public class PurcInquiryServiceImpl implements PurcInquiryService {
     private PublicInquiryDao publicInquiryDao;
     private PublicInquiryDao publicInquiryDao;
 
 
 	@Override
 	@Override
-	public ModelMap save(PurcInquiryInfo inquiryInfo, List<VendorAndContact> contacts, FileUpload uploadItem) {
+	public ModelMap save(PurcInquiryInfo inquiryInfo, List<VendorAndContact> contacts, FileUpload uploadItem) throws Exception {
 		ModelMap map = new ModelMap();
 		ModelMap map = new ModelMap();
 		PurcInquiry old = inquiryDao.findByCode(inquiryInfo.getCode());
 		PurcInquiry old = inquiryDao.findByCode(inquiryInfo.getCode());
 		if (old == null) { // 判断是否存在,防止重复
 		if (old == null) { // 判断是否存在,防止重复
@@ -191,6 +233,8 @@ public class PurcInquiryServiceImpl implements PurcInquiryService {
 //										product.setShipAddr(SystemSession.getUser().getEnterprise().getEnAddress());
 //										product.setShipAddr(SystemSession.getUser().getEnterprise().getEnAddress());
 										// 导入的物料这里没有填写规格
 										// 导入的物料这里没有填写规格
 										product.setSpec(purcitem.getProdTitle());
 										product.setSpec(purcitem.getProdTitle());
+										// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+										ProductUtils.updateOne(product);
 										product = productDao.save(product);
 										product = productDao.save(product);
 										item.setProduct(product);
 										item.setProduct(product);
 										item.setProductId(product.getId());
 										item.setProductId(product.getId());
@@ -237,7 +281,7 @@ public class PurcInquiryServiceImpl implements PurcInquiryService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public ModelMap saveAndSubmit(PurcInquiryInfo inquiryInfo, List<VendorAndContact> contacts, FileUpload uploadItem) {
+	public ModelMap saveAndSubmit(PurcInquiryInfo inquiryInfo, List<VendorAndContact> contacts, FileUpload uploadItem) throws Exception {
 		// 先进行保存
 		// 先进行保存
 		Object inquiryId = save(inquiryInfo, contacts, uploadItem).get("id");// 取出id进行更新状态
 		Object inquiryId = save(inquiryInfo, contacts, uploadItem).get("id");// 取出id进行更新状态
 		// 再进行提交
 		// 再进行提交
@@ -471,7 +515,7 @@ public class PurcInquiryServiceImpl implements PurcInquiryService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public ModelMap saveWithoutVendor(PurcInquiryInfo inquiryInfo, FileUpload uploadItem) {
+	public ModelMap saveWithoutVendor(PurcInquiryInfo inquiryInfo, FileUpload uploadItem) throws Exception {
 		PurcInquiry inquiry = new PurcInquiry();
 		PurcInquiry inquiry = new PurcInquiry();
 		PurcInquiry old = inquiryDao.findByCode(inquiryInfo.getCode());
 		PurcInquiry old = inquiryDao.findByCode(inquiryInfo.getCode());
 		ModelMap map = new ModelMap();
 		ModelMap map = new ModelMap();
@@ -537,6 +581,8 @@ public class PurcInquiryServiceImpl implements PurcInquiryService {
 								product.setUserUU(SystemSession.getUser().getUserUU());
 								product.setUserUU(SystemSession.getUser().getUserUU());
 //								product.setShipAddr(SystemSession.getUser().getEnterprise().getEnAddress());
 //								product.setShipAddr(SystemSession.getUser().getEnterprise().getEnAddress());
 								product.setSpec(purcitem.getProdTitle());
 								product.setSpec(purcitem.getProdTitle());
+								// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+								ProductUtils.updateOne(product);
 								product = productDao.save(product);
 								product = productDao.save(product);
 								item.setProduct(product);
 								item.setProduct(product);
 								item.setProductId(product.getId());
 								item.setProductId(product.getId());
@@ -575,7 +621,7 @@ public class PurcInquiryServiceImpl implements PurcInquiryService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public ModelMap saveAndSubmitWithoutVendor(PurcInquiryInfo inquiryInfo, FileUpload uploadItem) {
+	public ModelMap saveAndSubmitWithoutVendor(PurcInquiryInfo inquiryInfo, FileUpload uploadItem) throws Exception {
 		ModelMap map = new ModelMap();
 		ModelMap map = new ModelMap();
 		// 先进行保存
 		// 先进行保存
 		Object inquiryId = saveWithoutVendor(inquiryInfo, uploadItem).get("id");// 取出id进行更新状态
 		Object inquiryId = saveWithoutVendor(inquiryInfo, uploadItem).get("id");// 取出id进行更新状态

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

@@ -5,6 +5,7 @@ import com.uas.platform.b2b.dao.ProductDao;
 import com.uas.platform.b2b.dao.PurchaseOrderAllDao;
 import com.uas.platform.b2b.dao.PurchaseOrderAllDao;
 import com.uas.platform.b2b.dao.VendorDao;
 import com.uas.platform.b2b.dao.VendorDao;
 import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.ps.ProductUtils;
 import com.uas.platform.b2b.service.BaseInfoService;
 import com.uas.platform.b2b.service.BaseInfoService;
 import com.uas.platform.b2b.service.PurcOrderService;
 import com.uas.platform.b2b.service.PurcOrderService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.SystemSession;
@@ -123,7 +124,7 @@ public class PurcOrderServiceImpl implements PurcOrderService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public ModelMap releaseByWorkbook(Workbook workbook) {
+	public ModelMap releaseByWorkbook(Workbook workbook) throws Exception {
 		ModelMap modelMap = new ModelMap();
 		ModelMap modelMap = new ModelMap();
 		List<String> alters = new ArrayList<String>();
 		List<String> alters = new ArrayList<String>();
 		List<String> infos = new ArrayList<String>();
 		List<String> infos = new ArrayList<String>();
@@ -214,7 +215,8 @@ public class PurcOrderServiceImpl implements PurcOrderService {
 						if(product.getCode() != null) {
 						if(product.getCode() != null) {
 							List<Product> prods = productDao.findByEnUUAndCode(SystemSession.getUser().getEnterprise().getUu(), product.getCode());
 							List<Product> prods = productDao.findByEnUUAndCode(SystemSession.getUser().getEnterprise().getUu(), product.getCode());
 							if (CollectionUtils.isEmpty(prods)) {
 							if (CollectionUtils.isEmpty(prods)) {
-							    // TODO 因为这里要求数据即存即用,从公共库同步过来可能会
+							    // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+								ProductUtils.updateOne(product);
 								product = productDao.save(product);
 								product = productDao.save(product);
 							} else {
 							} else {
 								product = prods.get(0);
 								product = prods.get(0);
@@ -226,6 +228,8 @@ public class PurcOrderServiceImpl implements PurcOrderService {
 								//生成随机编码
 								//生成随机编码
 								SimpleDateFormat sdf = new SimpleDateFormat("yymmddhhmm_sss");
 								SimpleDateFormat sdf = new SimpleDateFormat("yymmddhhmm_sss");
 								product.setCode("prod" + sdf.format(new Date()));
 								product.setCode("prod" + sdf.format(new Date()));
+								// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+								ProductUtils.updateOne(product);
 								product = productDao.save(product);
 								product = productDao.save(product);
 							} else {
 							} else {
 								product = prods.get(0);
 								product = prods.get(0);

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

@@ -4,6 +4,7 @@ import com.uas.platform.b2b.dao.EnterpriseDao;
 import com.uas.platform.b2b.dao.ProductDao;
 import com.uas.platform.b2b.dao.ProductDao;
 import com.uas.platform.b2b.model.Enterprise;
 import com.uas.platform.b2b.model.Enterprise;
 import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.model.Product;
+import com.uas.platform.b2b.ps.ProductUtils;
 import com.uas.platform.b2b.service.PurcProductService;
 import com.uas.platform.b2b.service.PurcProductService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.Constant;
@@ -34,7 +35,7 @@ public class PurcProductServiceImpl implements PurcProductService {
 	 * 批量导入物料资料
 	 * 批量导入物料资料
 	 */
 	 */
 	@Override
 	@Override
-	public ModelMap releaseByWorkbook(Workbook workbook) {
+	public ModelMap releaseByWorkbook(Workbook workbook) throws Exception {
 		ModelMap modelMap = new ModelMap();
 		ModelMap modelMap = new ModelMap();
 		List<String> alters = new ArrayList<String>();
 		List<String> alters = new ArrayList<String>();
 		List<String> infos = new ArrayList<String>();
 		List<String> infos = new ArrayList<String>();
@@ -220,6 +221,8 @@ public class PurcProductServiceImpl implements PurcProductService {
 							// oldProd.setStandard(Constant.YES);
 							// oldProd.setStandard(Constant.YES);
 							// }
 							// }
 							oldProd.setIsPurchase(Constant.YES);
 							oldProd.setIsPurchase(Constant.YES);
+							// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+							ProductUtils.updateOne(product);
 							productDao.save(oldProd);
 							productDao.save(oldProd);
 						}
 						}
 						// else if (oldProd.getIsPurchase() != null) {
 						// else if (oldProd.getIsPurchase() != null) {
@@ -280,6 +283,8 @@ public class PurcProductServiceImpl implements PurcProductService {
 			}
 			}
 			if (!CollectionUtils.isEmpty(products)) {
 			if (!CollectionUtils.isEmpty(products)) {
 				try {
 				try {
+					// TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+					ProductUtils.update(products);
 					products = productDao.save(products);
 					products = productDao.save(products);
 //					saveUserOrders(products);
 //					saveUserOrders(products);
 					modelMap.put("success", products.size());
 					modelMap.put("success", products.size());

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

@@ -3,13 +3,49 @@ package com.uas.platform.b2b.service.impl;
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.core.util.SplitArray;
 import com.uas.platform.b2b.core.util.SplitArray;
 import com.uas.platform.b2b.core.util.ThreadTask;
 import com.uas.platform.b2b.core.util.ThreadTask;
-import com.uas.platform.b2b.dao.*;
+import com.uas.platform.b2b.dao.AttachDao;
+import com.uas.platform.b2b.dao.CommonDao;
+import com.uas.platform.b2b.dao.DistributeDao;
+import com.uas.platform.b2b.dao.EnterpriseBaseInfoDao;
+import com.uas.platform.b2b.dao.EnterpriseDao;
+import com.uas.platform.b2b.dao.ProductDao;
+import com.uas.platform.b2b.dao.PurchaseTenderAnswerDao;
+import com.uas.platform.b2b.dao.PurchaseTenderDao;
+import com.uas.platform.b2b.dao.PurchaseTenderErpDao;
+import com.uas.platform.b2b.dao.PurchaseTenderProdDao;
+import com.uas.platform.b2b.dao.RoleDao;
+import com.uas.platform.b2b.dao.SaleTenderAnswerDao;
+import com.uas.platform.b2b.dao.SaleTenderDao;
+import com.uas.platform.b2b.dao.SaleTenderErpDao;
+import com.uas.platform.b2b.dao.SaleTenderItemDao;
+import com.uas.platform.b2b.dao.SaleTenderQuestionDao;
+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.erp.model.PurchaseTenderErp;
 import com.uas.platform.b2b.erp.model.PurchaseTenderErp;
 import com.uas.platform.b2b.erp.model.SaleTenderErp;
 import com.uas.platform.b2b.erp.model.SaleTenderErp;
 import com.uas.platform.b2b.erp.model.SaleTenderItemErp;
 import com.uas.platform.b2b.erp.model.SaleTenderItemErp;
 import com.uas.platform.b2b.event.PurchaseTenderDecideReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseTenderDecideReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseTenderSaveReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseTenderSaveReleaseEvent;
-import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.model.Attach;
+import com.uas.platform.b2b.model.Distribute;
+import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.model.EnterpriseBaseInfo;
+import com.uas.platform.b2b.model.FileUpload;
+import com.uas.platform.b2b.model.Product;
+import com.uas.platform.b2b.model.PurchaseTender;
+import com.uas.platform.b2b.model.PurchaseTenderAnswer;
+import com.uas.platform.b2b.model.PurchaseTenderProd;
+import com.uas.platform.b2b.model.Role;
+import com.uas.platform.b2b.model.SaleTender;
+import com.uas.platform.b2b.model.SaleTenderAnswer;
+import com.uas.platform.b2b.model.SaleTenderItem;
+import com.uas.platform.b2b.model.SaleTenderQuestion;
+import com.uas.platform.b2b.model.SearchFilter;
+import com.uas.platform.b2b.model.User;
+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.service.AttachService;
 import com.uas.platform.b2b.service.AttachService;
 import com.uas.platform.b2b.service.PurchaseTenderService;
 import com.uas.platform.b2b.service.PurchaseTenderService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.SystemSession;
@@ -38,7 +74,13 @@ import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import javax.persistence.criteria.Root;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 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.Map;
+import java.util.Set;
 
 
 /**
 /**
  * Created by dongbw on 17/03/07 14:16.
  * Created by dongbw on 17/03/07 14:16.
@@ -113,7 +155,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
      * @param contactInfos  供应商联系人信息
      * @param contactInfos  供应商联系人信息
      */
      */
     @Override
     @Override
-    public void publishOrSave(PurchaseTender purchaseTender, List<TenderContactInfo> contactInfos) {
+    public void publishOrSave(PurchaseTender purchaseTender, List<TenderContactInfo> contactInfos) throws Exception {
         purchaseTender.setUseruu(SystemSession.getUser().getUserUU());
         purchaseTender.setUseruu(SystemSession.getUser().getUserUU());
         purchaseTender.setEnUU(SystemSession.getUser().getEnterprise().getUu());
         purchaseTender.setEnUU(SystemSession.getUser().getEnterprise().getUu());
         if (purchaseTender.getIsPublish() == Constant.YES) {
         if (purchaseTender.getIsPublish() == Constant.YES) {
@@ -187,7 +229,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
         });
         });
     }
     }
 
 
-    private void publishOpen(PurchaseTender tender) {
+    private void publishOpen(PurchaseTender tender) throws Exception {
         tender.setIsPublish(Constant.YES);
         tender.setIsPublish(Constant.YES);
         tender.setStatus("待投标");
         tender.setStatus("待投标");
         purchaseTenderDao.save(tender);
         purchaseTenderDao.save(tender);
@@ -198,6 +240,8 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
             List<Product> oldProducts = productDao.findByEnUUAndCode(currentEnUU, tenderProd.getProdCode());
             List<Product> oldProducts = productDao.findByEnUUAndCode(currentEnUU, tenderProd.getProdCode());
             if (CollectionUtils.isEmpty(oldProducts)) {
             if (CollectionUtils.isEmpty(oldProducts)) {
                 Product newProduct = new Product(tenderProd, currentEnUU);
                 Product newProduct = new Product(tenderProd, currentEnUU);
+                // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+                ProductUtils.updateOne(newProduct);
                 productDao.save(newProduct);
                 productDao.save(newProduct);
             }
             }
             tenderProd.setTender(tender);
             tenderProd.setTender(tender);
@@ -224,7 +268,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
      * @param tender  招标单
      * @param tender  招标单
      *
      *
      */
      */
-    private void save(PurchaseTender tender, List<TenderContactInfo> contactInfos) {
+    private void save(PurchaseTender tender, List<TenderContactInfo> contactInfos) throws Exception {
         tender.setIsPublish(Constant.NO);
         tender.setIsPublish(Constant.NO);
         tender.setStatus("待发布");
         tender.setStatus("待发布");
         tender.setEnterprise(SystemSession.getUser().getEnterprise());
         tender.setEnterprise(SystemSession.getUser().getEnterprise());
@@ -237,14 +281,14 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
      * @param tender  招标单
      * @param tender  招标单
      *
      *
      */
      */
-    private void publish(PurchaseTender tender, List<TenderContactInfo> contactInfos) {
+    private void publish(PurchaseTender tender, List<TenderContactInfo> contactInfos) throws Exception {
         tender.setIsPublish(Constant.YES);
         tender.setIsPublish(Constant.YES);
         tender.setStatus("待投标");
         tender.setStatus("待投标");
         tender.setEnterprise(SystemSession.getUser().getEnterprise());
         tender.setEnterprise(SystemSession.getUser().getEnterprise());
         saveTenderItem(tender, contactInfos);
         saveTenderItem(tender, contactInfos);
     }
     }
 
 
-    private void saveTenderItem(PurchaseTender tender, List<TenderContactInfo> contactInfos) {
+    private void saveTenderItem(PurchaseTender tender, List<TenderContactInfo> contactInfos) throws Exception {
         Long currentEnUU = SystemSession.getUser().getEnterprise().getUu();
         Long currentEnUU = SystemSession.getUser().getEnterprise().getUu();
         Set<PurchaseTenderProd> tenderProds = tender.getPurchaseTenderProds();
         Set<PurchaseTenderProd> tenderProds = tender.getPurchaseTenderProds();
         for (PurchaseTenderProd tenderProd : tenderProds) {
         for (PurchaseTenderProd tenderProd : tenderProds) {
@@ -252,6 +296,8 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
             List<Product> oldProducts = productDao.findByEnUUAndCode(currentEnUU, tenderProd.getProdCode());
             List<Product> oldProducts = productDao.findByEnUUAndCode(currentEnUU, tenderProd.getProdCode());
             if (CollectionUtils.isEmpty(oldProducts)) {
             if (CollectionUtils.isEmpty(oldProducts)) {
                 Product newProduct = new Product(tenderProd, currentEnUU);
                 Product newProduct = new Product(tenderProd, currentEnUU);
+                // TODO 因为这里要求数据即存即用,从公共库同步过来可能会有延迟,暂时两边都存;之后要修改为只调用公共服务方法
+                ProductUtils.updateOne(newProduct);
                 productDao.save(newProduct);
                 productDao.save(newProduct);
             }
             }
             tenderProd.setTender(tender);
             tenderProd.setTender(tender);

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

@@ -12,4 +12,4 @@ msgInquiryForB2B=629edeb3-a87e-4a40-a5e5-51d9ae734f1b
 msgAutoInquiryForB2B=8cf71d56-09bb-4d60-993e-ed87ce72ec3b
 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
+messagePublicServiceDevUrl=http://192.168.253.12:24000/message