Browse Source

企业产品库添加至个人产品库提示优化

liuam 7 years ago
parent
commit
16c73a1063

+ 6 - 4
src/main/java/com/uas/platform/b2c/prod/commodity/controller/ProductController.java

@@ -10,6 +10,7 @@ import com.uas.platform.b2c.prod.commodity.model.*;
 import com.uas.platform.b2c.prod.commodity.service.GoodsService;
 import com.uas.platform.b2c.prod.commodity.service.ProductService;
 import com.uas.platform.b2c.prod.commodity.type.ProductConstant;
+import com.uas.platform.b2c.trade.support.CodeType;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
@@ -30,8 +31,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import static com.alibaba.fastjson.JSON.parseArray;
-
 /**
  *  产品控制器
  *
@@ -100,8 +99,11 @@ public class ProductController {
 	 */
 	@RequestMapping(value = "/person", method = RequestMethod.POST)
 	ResultMap setAllProductsByPerson(@RequestBody String ids, Integer isAll, Integer isStardand) {
-		productService.setAllProductsByProductIds(ids,isAll,isStardand);
-		return ResultMap.success("success");
+		Integer count = productService.setAllProductsByProductIds(ids, isAll, isStardand);
+		if (count == 0) {
+			return new ResultMap(CodeType.SAVED, "个人产品库已存在产品");
+		}
+		return ResultMap.success(count);
 	}
 
 	/**

+ 6 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/dao/ProductPersonDao.java

@@ -40,4 +40,10 @@ public interface ProductPersonDao extends JpaRepository<ProductPerson, Long>, Jp
      */
     @Query("select p.productId from ProductPerson p where p.enuu = :enuu and p.userUU = :userUU")
     List<Long> findIdByEnuuAndUserUU(@Param("enuu") Long enuu, @Param("userUU") Long userUU);
+
+    /**
+     * 根据userUU查找物料信息
+     * @param userUU
+     */
+    List<ProductPerson> findByUserUU (Long userUU);
 }

+ 14 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/model/V_ProductPrivate.java

@@ -272,6 +272,12 @@ public class V_ProductPrivate implements Serializable {
     @Transient
     private ProductDetail productDetail;
 
+    /**
+     * 判断是否已经加入个人产品库
+     */
+    @Transient
+    private Boolean isAddProductPerson;
+
     /**
      * goods表信息中存在多少条数据
      */
@@ -597,4 +603,12 @@ public class V_ProductPrivate implements Serializable {
     public void setIsPurchase(Short isPurchase) {
         this.isPurchase = isPurchase;
     }
+
+    public Boolean getAddProductPerson() {
+        return isAddProductPerson;
+    }
+
+    public void setAddProductPerson(Boolean addProductPerson) {
+        isAddProductPerson = addProductPerson;
+    }
 }

+ 1 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/service/ProductService.java

@@ -40,7 +40,7 @@ public interface ProductService {
      * 绑定至个人产品库
      * @return all products
      */
-    boolean setAllProductsByProductIds(String ids, Integer isAll, Integer isStardand);
+    Integer setAllProductsByProductIds(String ids, Integer isAll, Integer isStardand);
 
     /**
      * 批量保存个人替代物料信息

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

@@ -17,43 +17,9 @@ import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.core.utils.NumberUtil;
 import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
 import com.uas.platform.b2c.prod.commodity.constant.StringConstant;
-import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
-import com.uas.platform.b2c.prod.commodity.dao.GoodsHistoryDao;
-import com.uas.platform.b2c.prod.commodity.dao.MatchModelDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductDetailDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductMatchResultDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductModifyHistoryDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductPersonDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductPrivateDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductReplaceDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductStandardPutOnInfoDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductStoreStatusDao;
-import com.uas.platform.b2c.prod.commodity.dao.StockInOutHistDao;
-import com.uas.platform.b2c.prod.commodity.dao.V_ProductPersonDao;
-import com.uas.platform.b2c.prod.commodity.dao.V_ProductPrivateDao;
-import com.uas.platform.b2c.prod.commodity.model.Goods;
-import com.uas.platform.b2c.prod.commodity.model.GoodsHistory;
-import com.uas.platform.b2c.prod.commodity.model.GoodsQtyPrice;
-import com.uas.platform.b2c.prod.commodity.model.MatchModel;
-import com.uas.platform.b2c.prod.commodity.model.Product;
-import com.uas.platform.b2c.prod.commodity.model.ProductDetail;
-import com.uas.platform.b2c.prod.commodity.model.ProductMatchResult;
-import com.uas.platform.b2c.prod.commodity.model.ProductModifyHistory;
-import com.uas.platform.b2c.prod.commodity.model.ProductPerson;
-import com.uas.platform.b2c.prod.commodity.model.ProductPrivate;
-import com.uas.platform.b2c.prod.commodity.model.ProductReplace;
-import com.uas.platform.b2c.prod.commodity.model.ProductStandardPutOnInfo;
-import com.uas.platform.b2c.prod.commodity.model.ProductStoreStatus;
-import com.uas.platform.b2c.prod.commodity.model.StockInOutHist;
-import com.uas.platform.b2c.prod.commodity.model.UASBatchPutOnProperty;
-import com.uas.platform.b2c.prod.commodity.model.V_ProductPerson;
-import com.uas.platform.b2c.prod.commodity.model.V_ProductPrivate;
-import com.uas.platform.b2c.prod.commodity.service.GoodsHistoryService;
-import com.uas.platform.b2c.prod.commodity.service.GoodsService;
-import com.uas.platform.b2c.prod.commodity.service.ProductService;
-import com.uas.platform.b2c.prod.commodity.service.ReleaseProductByBatchService;
-import com.uas.platform.b2c.prod.commodity.service.UASBatchPutOnPropertyService;
+import com.uas.platform.b2c.prod.commodity.dao.*;
+import com.uas.platform.b2c.prod.commodity.model.*;
+import com.uas.platform.b2c.prod.commodity.service.*;
 import com.uas.platform.b2c.prod.commodity.type.ProductConstant;
 import com.uas.platform.b2c.prod.commodity.util.GoodsUtil;
 import com.uas.platform.b2c.prod.product.brand.dao.BrandDao;
@@ -89,24 +55,6 @@ import com.uas.platform.core.model.Type;
 import com.uas.platform.core.persistence.criteria.LogicalExpression;
 import com.uas.platform.core.persistence.criteria.PredicateUtils;
 import com.uas.platform.core.persistence.criteria.SimpleExpression;
-import java.lang.reflect.Field;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
 import org.apache.commons.beanutils.ConvertUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.log4j.Logger;
@@ -125,6 +73,17 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 import org.springframework.web.client.RestTemplate;
 
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.lang.reflect.Field;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+
 /**
  * Created by wangyc on 2017/5/26.
  */
@@ -305,6 +264,7 @@ public class ProductServiceImpl implements ProductService {
         }, page);
         List<V_ProductPrivate> productList = productPage.getContent();
         for (V_ProductPrivate product : productList) {
+            product.setAddProductPerson(false);
             if ("ERP".equals(product.getSourceApp())) {
                 ProductDetail productDetail = productDetailDao.findByProductId(product.getId());
                 if (productDetail != null) {
@@ -318,7 +278,15 @@ public class ProductServiceImpl implements ProductService {
                 product.setBatchCount(productPrivate.getBatchCount());
             }
         }
-
+        userUU = SystemSession.getUser().getUserUU();
+        List<ProductPerson> ppList = productPersonDao.findByUserUU(userUU);
+        for (V_ProductPrivate v_productPrivate : productList) {
+            for (ProductPerson productPerson : ppList) {
+                if (v_productPrivate.getId().equals(productPerson.getProductId())) {
+                    v_productPrivate.setAddProductPerson(true);
+                }
+            }
+        }
         return new PageImpl<V_ProductPrivate>(productList, page, productPage.getTotalElements());
     }
 
@@ -390,8 +358,9 @@ public class ProductServiceImpl implements ProductService {
     }
 
     @Override
-    public boolean setAllProductsByProductIds(String ids, Integer isAll, Integer isStardand) {
+    public Integer setAllProductsByProductIds(String ids, Integer isAll, Integer isStardand) {
         List<Long> prIds;
+        int count = 0;
         try {
             prIds = JSON.parseArray(ids,Long.class);
         } catch (RuntimeException e){prIds = new ArrayList<>();}
@@ -409,10 +378,11 @@ public class ProductServiceImpl implements ProductService {
                     productPerson.setProductId(prId);
                     productPerson.setTime(new Date());
                     productPersonDao.save(productPerson);
+                    count++;
                 }
             }
         }
-        return true;
+        return count;
     }
 
     @Override