Przeglądaj źródła

私有物料库 抽出来

wangdy 8 lat temu
rodzic
commit
a7d4548e77

+ 1 - 1
src/main/java/com/uas/platform/b2c/external/erp/product/util/ModelConverter.java

@@ -10,6 +10,7 @@ import com.uas.platform.b2c.core.constant.Status;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.external.erp.product.model.OperationInfo;
 import com.uas.platform.b2c.prod.commodity.model.Product;
+import com.uas.platform.b2c.prod.commodity.model.ProductPrivate;
 import com.uas.platform.b2c.prod.product.brand.modal.Brand;
 import com.uas.platform.b2c.prod.product.brand.modal.BrandInfo;
 import com.uas.platform.b2c.prod.product.brand.modal.BrandSubmit;
@@ -529,7 +530,6 @@ public class ModelConverter {
 		// erp上传的数据默认赋值给标准信息
 		product.setPbrand(product.getBrand());
 		product.setPcmpcode(product.getCmpCode());
-		product.setB2cEnabled((product.getBrand() == null) || (product.getCmpCode() == null) ? 0 : 1);
 		product.setKind(product.getProdName());
 		product.setSourceApp("ERP");
 		product.setErpDate(new Date());

+ 10 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/dao/ProductPrivateDao.java

@@ -0,0 +1,10 @@
+package com.uas.platform.b2c.prod.commodity.dao;
+
+import com.uas.platform.b2c.prod.commodity.model.ProductPrivate;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface ProductPrivateDao  extends JpaRepository<ProductPrivate, Long>, JpaSpecificationExecutor<ProductPrivate> {
+
+    public ProductPrivate findByPrId(Long prId);
+}

+ 13 - 11
src/main/java/com/uas/platform/b2c/prod/commodity/model/Product.java

@@ -70,7 +70,7 @@ public class Product {
 	/**
 	 * 库存数 erp的库存数
 	 */
-	@Column(name = "pr_stock")
+	@Transient
 	private Double stock;
 
 	/**
@@ -195,7 +195,7 @@ public class Product {
 	 * 1.YES<br>
 	 * 0.NO
 	 */
-	@Column(name = "pr_sold")
+	@Transient
 	private Integer sold;
 
 	/**
@@ -203,7 +203,7 @@ public class Product {
 	 * 1.YES<br>
 	 * 0.NO
 	 */
-	@Column(name = "pr_can_sell")
+	@Transient
 	private Integer canSell;
 
 	/**
@@ -247,39 +247,40 @@ public class Product {
 	/**
 	 * 企业的币别信息
 	 */
-	@Column(name = "pr_currency")
+	@Transient
 	private String currency;
 
 	/**
 	 * 在售数量
 	 */
-	@Column(name = "pro_onsale")
+	@Transient
 	private Double onSaleQty;
 
 	/**
 	 * 锁库数
 	 */
-	@Column(name = "pr_lockqty")
+	@Transient
 	private Double lockQty;
 
 	/**
 	 * 可上架数量
 	 */
-	@Column(name = "pr_availableonsale")
+	@Transient
 	private Double availableOnSale;
 
 	/**
 	 * 仓库数量
 	 */
-	@Column(name = "pr_repositoryqty")
+	@Transient
 	private Double repositoryQty;
 
 	/**
 	 * b2c是否启用
 	 * 1 启用,
 	 * 0 未启用
+	 * 从私有数据获取
 	 */
-	@Column(name = "pr_b2cenabled")
+	@Transient
 	private Integer b2cEnabled;
 
 	/**
@@ -299,7 +300,7 @@ public class Product {
 	 * DOWNLOADED(203, "已下载")
 	 * NOT_UPLOAD(202, "待下载")
 	 */
-	@Column(name = "pr_b2cdownstatus")
+	@Column(name = "pr_downstatus")
 	private Integer b2cDownStatus;
 
 	/**
@@ -310,8 +311,9 @@ public class Product {
 
 	/**
 	 * goods表信息中存在多少条数据
+	 * 从私有数据获取
 	 */
-	@Column(name = "pr_batchcount")
+	@Transient
 	private Integer batchCount;
 
 	// erp传输到商城移除的字段

+ 68 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/model/ProductPrivate.java

@@ -0,0 +1,68 @@
+package com.uas.platform.b2c.prod.commodity.model;
+
+import javax.persistence.*;
+
+/**
+ * 存贮商城私有物料字段
+ */
+@Entity
+@Table(name = "product$private")
+public class ProductPrivate {
+
+    @Id
+    @GeneratedValue
+    @Column(name = "id")
+    private Long id;
+
+    /**
+     * 物料主键
+     */
+    @Column(name = "pr_id", unique = true)
+    private Long prId;
+
+    /**
+     * b2c是否启用
+     * 1 启用,
+     * 0 未启用
+     */
+    @Column(name = "pr_b2cenabled")
+    private Integer b2cEnabled;
+
+    /**
+     * goods表信息中存在多少条数据
+     */
+    @Column(name = "pr_batchcount")
+    private Integer batchCount;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getPrId() {
+        return prId;
+    }
+
+    public void setPrId(Long prId) {
+        this.prId = prId;
+    }
+
+    public Integer getB2cEnabled() {
+        return b2cEnabled;
+    }
+
+    public void setB2cEnabled(Integer b2cEnabled) {
+        this.b2cEnabled = b2cEnabled;
+    }
+
+    public Integer getBatchCount() {
+        return batchCount;
+    }
+
+    public void setBatchCount(Integer batchCount) {
+        this.batchCount = batchCount;
+    }
+}

+ 30 - 9
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/GoodsServiceImpl.java

@@ -138,6 +138,9 @@ public class GoodsServiceImpl implements GoodsService {
     @Autowired
     private ComponentDao componentDao;
 
+    @Autowired
+    private ProductPrivateDao productPrivateDao;
+
     @Autowired
     private OrderDao orderDao;
 
@@ -1333,11 +1336,15 @@ public class GoodsServiceImpl implements GoodsService {
         if(persistGoods.getProductid() != null) {
             Product product = productDao.findOne(persistGoods.getProductid());
             if(product != null) {
-                Integer count = product.getBatchCount();
-                product.setBatchCount(count ==
+                ProductPrivate productPrivate = productPrivateDao.findByPrId(product.getId());
+                if (productPrivate == null) {
+                    productPrivate = new ProductPrivate();
+                }
+                Integer count = productPrivate.getBatchCount();
+                productPrivate.setBatchCount(count ==
                         null ? 1 :
                         ++count);
-                productDao.save(product);
+                productPrivateDao.save(productPrivate);
             }
         }
         return ResultMap.success(persistGoods);
@@ -2817,9 +2824,13 @@ public class GoodsServiceImpl implements GoodsService {
         if(goods.getProductid() != null) {
             Product product = productDao.findOne(goods.getProductid());
             if(product != null) {
-                Integer count = product.getBatchCount();
-                product.setBatchCount(--count);
-                productDao.save(product);
+                ProductPrivate productPrivate = productPrivateDao.findByPrId(product.getId());
+                if (productPrivate == null) {
+                    productPrivate = new ProductPrivate();
+                }
+                Integer count = productPrivate.getBatchCount();
+                productPrivate.setBatchCount(--count);
+                productPrivateDao.save(productPrivate);
             }
         }
 
@@ -2883,8 +2894,13 @@ public class GoodsServiceImpl implements GoodsService {
             if (goods.getProductid() != null) {
                 Product product = productDao.findOne(goods.getProductid());
                 if (product != null) {
-                    Integer count = product.getBatchCount();
-                    product.setBatchCount(--count);
+                    ProductPrivate productPrivate = productPrivateDao.findByPrId(product.getId());
+                    if (productPrivate == null) {
+                        productPrivate = new ProductPrivate();
+                    }
+                    Integer count = productPrivate.getBatchCount();
+                    productPrivate.setBatchCount(--count);
+                    productPrivateDao.save(productPrivate);
                     products.add(product);
                 }
             }
@@ -2986,7 +3002,12 @@ public class GoodsServiceImpl implements GoodsService {
                 }
                 goodsDao.save(tagEmptyGoods);
                 goodsDao.save(goods);
-                product.setBatchCount(goods.size());
+                ProductPrivate productPrivate = productPrivateDao.findByPrId(product.getId());
+                if (productPrivate == null) {
+                    productPrivate = new ProductPrivate();
+                }
+                productPrivate.setBatchCount(goods.size());
+                productPrivateDao.save(productPrivate);
             }
             start = IntegerConstant.PAGE_SIZE_TWENTY * page + 1;
             end = IntegerConstant.PAGE_SIZE_TWENTY * (++page);

+ 42 - 5
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java

@@ -110,6 +110,9 @@ public class ProductServiceImpl implements ProductService {
     @Autowired
     private ProductPersonDao productPersonDao;
 
+    @Autowired
+    private ProductPrivateDao productPrivateDao;
+
     @Autowired
     private ProductModifyHistoryDao productModifyHistoryDao;
 
@@ -211,6 +214,12 @@ public class ProductServiceImpl implements ProductService {
                     product.setProductDetail(productDetail);
                 }
             }
+            // 拿私有物料信息
+            ProductPrivate productPrivate = productPrivateDao.findByPrId(product.getId());
+            if (null != productPrivate) {
+                product.setB2cEnabled(productPrivate.getB2cEnabled());
+                product.setBatchCount(productPrivate.getBatchCount());
+            }
         }
 
         return new PageImpl<Product>(productList, page, productPage.getTotalElements());
@@ -372,6 +381,12 @@ public class ProductServiceImpl implements ProductService {
                     Set<ProductMatchResult> productMatchResultSet =  product.getMatchresults();
                     productMatchResultDao.delete(productMatchResultSet);
                     goodsService.deleteGoods(goodses);
+                    ProductPrivate productPrivate = productPrivateDao.findByPrId(product.getId());
+                    if (productPrivate == null) {
+                        productPrivate = new ProductPrivate();
+                    }
+                    productPrivate.setB2cEnabled(IntegerConstant.NO_SHORT);
+                    productPrivateDao.save(productPrivate);
                     product.setB2cEnabled(IntegerConstant.NO_SHORT);
                     //productDao.delete(id);  不允许删除
                 } else {
@@ -815,8 +830,13 @@ public class ProductServiceImpl implements ProductService {
         if (standardProduct == null) {
             standardProduct = afterProduct;
         } else {
-            afterProduct.setB2cEnabled(IntegerConstant.NO_SHORT);
-            afterProduct.setBatchCount(0);
+            ProductPrivate productPrivate = productPrivateDao.findByPrId(product.getId());
+            if (productPrivate == null) {
+                productPrivate = new ProductPrivate();
+            }
+            productPrivate.setB2cEnabled(IntegerConstant.NO_SHORT);
+            productPrivate.setBatchCount(0);
+            productPrivateDao.save(productPrivate);
         }
         productDao.save(afterProduct);
         updateInfoAfterTurnStandard(matchId, standardProduct);
@@ -837,6 +857,12 @@ public class ProductServiceImpl implements ProductService {
         }
         goodsHistoryDao.save(goodsHistoryList);
         Product beforeProduct = productDao.findOne(beforeId);
+        ProductPrivate productPrivate = productPrivateDao.findByPrId(beforeProduct.getId());
+        if (productPrivate == null) {
+            productPrivate = new ProductPrivate();
+        }
+        productPrivate.setB2cEnabled(IntegerConstant.NO_SHORT);
+        productPrivateDao.save(productPrivate);
         beforeProduct.setB2cEnabled(IntegerConstant.NO_SHORT);
         ProductMatchResult result = productMatchResultDao.findOne(resultId);
         if (result == null) {
@@ -904,7 +930,13 @@ public class ProductServiceImpl implements ProductService {
             }
         }
         goodsDao.save(saveList);
-        product.setBatchCount(product.getBatchCount() + saveList.size());
+        ProductPrivate productPrivate = productPrivateDao.findByPrId(product.getId());
+        if (productPrivate == null) {
+            productPrivate = new ProductPrivate();
+        }
+        Integer count = productPrivate.getBatchCount();
+        productPrivate.setBatchCount(count + saveList.size());
+        productPrivateDao.save(productPrivate);
         productDao.save(product);
         goodsHistoryDao.save(historyList);
     }
@@ -1048,12 +1080,17 @@ public class ProductServiceImpl implements ProductService {
                         product.setKinden(matchResult.getKinden());
                         product.setKindid(matchResult.getKindid());
                         List<Product> products = productDao.findProductByPcmpcodeAndPbrandenAndEnUUAndStandard(product.getPcmpcode(), product.getPbranden(), product.getEnUU(), IntegerConstant.YES_SHORT);
+                        ProductPrivate productPrivate = productPrivateDao.findByPrId(product.getId());
+                        if (productPrivate == null) {
+                            productPrivate = new ProductPrivate();
+                        }
                         if(CollectionUtils.isEmpty(products)) {
-                            product.setB2cEnabled(1);
+                            productPrivate.setB2cEnabled(1);
                         }else {
-                            product.setB2cEnabled(0);
+                            productPrivate.setB2cEnabled(0);
                             i++;
                         }
+                        productPrivateDao.save(productPrivate);
                         product.setStandard(1);
                         product.setTostandard(new Date());
                         if(product.getEncapsulation() == null) {

+ 3 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ReleaseProductByBatchServiceImpl.java

@@ -195,7 +195,9 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 		}
 		List<ReleaseProductByBatch> addList = new ArrayList<>(releaseProductByBatchs.size());
 		addList.addAll(releaseProductByBatchs);
-		resetRepeatData(addList);
+		if (!isAPerson) {
+			resetRepeatData(addList);
+		}
 		commonDao.save(addList, ReleaseProductByBatch.class);
 		Long userUU = SystemSession.getUser().getUserUU();
 		Long enUU = SystemSession.getUser().getEnterprise().getUu();