Browse Source

更新物料上传相关判断

hejq 7 years ago
parent
commit
78f5db187d

+ 20 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/dao/ProductPrivateDao.java

@@ -8,9 +8,28 @@ import org.springframework.data.repository.query.Param;
 
 
 import java.util.List;
 import java.util.List;
 
 
+/**
+ * 私有库信息
+ *
+ * @author US50
+ */
 public interface ProductPrivateDao  extends JpaRepository<ProductPrivate, Long>, JpaSpecificationExecutor<ProductPrivate> {
 public interface ProductPrivateDao  extends JpaRepository<ProductPrivate, Long>, JpaSpecificationExecutor<ProductPrivate> {
 
 
-    public List<ProductPrivate> findByPrId(Long prId);
+    /**
+     * 通过物料id查询私有库信息
+     *
+     * @param prId 物料id
+     * @return List<ProductPrivate>
+     */
+    List<ProductPrivate> findByPrId(Long prId);
+
+    /**
+     * 通过物料id统计私有库数量
+     *
+     * @param prId 物料id
+     * @return 私有库关联物料的数量
+     */
+    Integer countByPrId(Long prId);
 
 
     /**
     /**
      * 根据物料的id 获取私有信息
      * 根据物料的id 获取私有信息

+ 9 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/model/Goods.java

@@ -1197,6 +1197,15 @@ public class Goods implements Serializable {
 		this.qtyPrice = qtyPrice;
 		this.qtyPrice = qtyPrice;
 	}
 	}
 
 
+    /**
+     * 获取未处理的分段价格信息
+     *
+     * @return GoodsQtyPrice
+     */
+    public List<GoodsQtyPrice> getOriginalPrices() {
+	    return this.prices;
+    }
+
 	public List<GoodsQtyPrice> getPrices() {
 	public List<GoodsQtyPrice> getPrices() {
 		if (CollectionUtils.isEmpty(prices) && StringUtils.hasText(qtyPrice)) {
 		if (CollectionUtils.isEmpty(prices) && StringUtils.hasText(qtyPrice)) {
 			return FastjsonUtils.fromJsonArray(qtyPrice, GoodsQtyPrice.class);
 			return FastjsonUtils.fromJsonArray(qtyPrice, GoodsQtyPrice.class);

+ 1 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/model/Product.java

@@ -1088,6 +1088,7 @@ public class Product {
         this.produceDate = productPrivate.getProduceDate();
         this.produceDate = productPrivate.getProduceDate();
         this.spec = productPrivate.getSpec();
         this.spec = productPrivate.getSpec();
         this.prodName = productPrivate.getProdName();
         this.prodName = productPrivate.getProdName();
+        this.id = productPrivate.getId();
         // 产品导入默认可销售
         // 产品导入默认可销售
         this.isSale = ((short) 1);
         this.isSale = ((short) 1);
         return this;
         return this;

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

@@ -18,7 +18,11 @@ import com.uas.platform.b2c.core.constant.ShortConstant;
 import com.uas.platform.b2c.core.constant.SplitChar;
 import com.uas.platform.b2c.core.constant.SplitChar;
 import com.uas.platform.b2c.core.constant.Status;
 import com.uas.platform.b2c.core.constant.Status;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.support.SystemSession;
-import com.uas.platform.b2c.core.utils.*;
+import com.uas.platform.b2c.core.utils.DoubleArith;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
+import com.uas.platform.b2c.core.utils.NumberUtil;
+import com.uas.platform.b2c.core.utils.RegexConstant;
+import com.uas.platform.b2c.core.utils.StringUtilB2C;
 import com.uas.platform.b2c.external.erp.commodity.util.ModelConverter;
 import com.uas.platform.b2c.external.erp.commodity.util.ModelConverter;
 import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
 import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
 import com.uas.platform.b2c.prod.commodity.constant.IntegerConstant;
 import com.uas.platform.b2c.prod.commodity.constant.IntegerConstant;
@@ -36,8 +40,6 @@ import com.uas.platform.b2c.prod.commodity.model.CommodityInOutbound;
 import com.uas.platform.b2c.prod.commodity.model.Goods;
 import com.uas.platform.b2c.prod.commodity.model.Goods;
 import com.uas.platform.b2c.prod.commodity.model.GoodsFilter;
 import com.uas.platform.b2c.prod.commodity.model.GoodsFilter;
 import com.uas.platform.b2c.prod.commodity.model.GoodsHistory;
 import com.uas.platform.b2c.prod.commodity.model.GoodsHistory;
-import com.uas.platform.b2c.prod.commodity.dao.*;
-import com.uas.platform.b2c.prod.commodity.model.*;
 import com.uas.platform.b2c.prod.commodity.model.GoodsHistory.OperateType;
 import com.uas.platform.b2c.prod.commodity.model.GoodsHistory.OperateType;
 import com.uas.platform.b2c.prod.commodity.model.GoodsInfo;
 import com.uas.platform.b2c.prod.commodity.model.GoodsInfo;
 import com.uas.platform.b2c.prod.commodity.model.GoodsModifyInfo;
 import com.uas.platform.b2c.prod.commodity.model.GoodsModifyInfo;
@@ -98,7 +100,11 @@ import com.uas.platform.b2c.trade.support.CodeType;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.b2c.trade.util.BoundedExecutor;
 import com.uas.platform.b2c.trade.util.BoundedExecutor;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.exception.IllegalOperatorException;
-import com.uas.platform.core.model.*;
+import com.uas.platform.core.model.Constant;
+import com.uas.platform.core.model.EncodingRulesConstant;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.model.PageParams;
+import com.uas.platform.core.model.Type;
 import com.uas.platform.core.persistence.criteria.CriterionExpression;
 import com.uas.platform.core.persistence.criteria.CriterionExpression;
 import com.uas.platform.core.persistence.criteria.CriterionExpression.Operator;
 import com.uas.platform.core.persistence.criteria.CriterionExpression.Operator;
 import com.uas.platform.core.persistence.criteria.LogicalExpression;
 import com.uas.platform.core.persistence.criteria.LogicalExpression;
@@ -712,8 +718,10 @@ public class GoodsServiceImpl implements GoodsService {
         // 设置默认税率
         // 设置默认税率
         goods.setTaxRate();
         goods.setTaxRate();
         // 计算未税价格
         // 计算未税价格
-        goods.setWithOutTaxRMBPrice();
-        goods.setWithOutTaxUSDPrice();
+        if (CollectionUtils.isNotEmpty(goods.getOriginalPrices()) && null != goods.getOriginalPrices().get(0).getPrice()) {
+            goods.setWithOutTaxRMBPrice();
+            goods.setWithOutTaxUSDPrice();
+        }
         // 计算本批最小价格
         // 计算本批最小价格
         goods.setMaxAndMinPrice();
         goods.setMaxAndMinPrice();
         goods.setStatus();
         goods.setStatus();

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

@@ -2465,9 +2465,12 @@ public class ProductServiceImpl implements ProductService {
         // 设置库存信息
         // 设置库存信息
         assignmentGoods(goods, productInfo);
         assignmentGoods(goods, productInfo);
         // 保存到商城私有库
         // 保存到商城私有库
-        ProductPrivate productPrivate = new ProductPrivate(productInfo.getId());
-        productPrivate.setAttach(product.getAttachment());
-        productPrivateDao.save(productPrivate);
+        Integer count = productPrivateDao.countByPrId(productInfo.getId());
+        if (count == 0) {
+            ProductPrivate productPrivate = new ProductPrivate(productInfo.getId());
+            productPrivate.setAttach(product.getAttachment());
+            productPrivateDao.save(productPrivate);
+        }
         // 保存出入库信息
         // 保存出入库信息
         if (null != inOutbound) {
         if (null != inOutbound) {
             for (InOutboundDetail detail : inOutbound.getInOutboundDetails()) {
             for (InOutboundDetail detail : inOutbound.getInOutboundDetails()) {

+ 2 - 2
src/main/webapp/resources/js/vendor/controllers/forstore/single_entry.js

@@ -521,8 +521,8 @@ define(['app/app', 'jquery-uploadify'], function(app) {
         return;
         return;
       }
       }
       if ($scope.Regul.reserve === '' || !$scope.Regul.reserve) {
       if ($scope.Regul.reserve === '' || !$scope.Regul.reserve) {
-        toaster.pop('warning','提示', '规格为必填项')
-        $scope.objError.spec = true
+        toaster.pop('warning','提示', '为必填项')
+        $scope.objError.reserve = true
         return;
         return;
       }
       }