Browse Source

【ERP接口】-- 增加物料交易信息初始化时出现重复物料处理

wangyc 8 years ago
parent
commit
de3787b4db

+ 7 - 5
src/main/java/com/uas/platform/b2c/external/erp/commodity/service/impl/ProductDetailERPServiceImpl.java

@@ -61,14 +61,16 @@ public class ProductDetailERPServiceImpl implements ProductDetailERPService {
         for (ProductDetailERP productDetailERP : productDetailERPList) {
             ProductDetail productDetail = ModelConverter.convert(productDetailERP);
 
+            List<Product> products = productDao.getProductByEnUUAndProdNum(enuu, productDetail.getCode());
+            if (!CollectionUtils.isEmpty(products)) {
+                productDetail.setProductId(products.get(0).getId());
+            }
+            // 如果已存在物料交易信息删除之前那一条,保存新的物料交易信息
             ProductDetail productDetailExist = productDetailDao.findByProductId(productDetail.getProductId());
             if (productDetailExist != null) {
-                List<Product> products = productDao.getProductByEnUUAndProdNum(enuu, productDetail.getCode());
-                if (!CollectionUtils.isEmpty(products)) {
-                    productDetail.setProductId(products.get(0).getId());
-                }
-                productDetails.add(productDetail);
+                productDetailDao.delete(productDetailExist);
             }
+            productDetails.add(productDetail);
         }
         productDetailDao.save(productDetails);
         logger.log("物料交易详情", "初始化交易详情,企业:" + SystemSession.getUser().getEnterprise().getEnName() + ",数量:" + productDetails.size());