Browse Source

Merge branch 'dev-mysql' into erp_batchToGoods_20180117

# Conflicts:
#	src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java
yujia 8 years ago
parent
commit
1fb0acd385

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

@@ -0,0 +1,32 @@
+package com.uas.platform.b2c.prod.commodity.dao;
+
+import com.uas.platform.b2c.prod.commodity.model.ProductPerson;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+import java.util.List;
+
+public interface ProductPersonDao extends JpaRepository<ProductPerson, Long>, JpaSpecificationExecutor<ProductPerson> {
+
+    /**
+     * 统计拥有该物料的人数
+     * @param productId
+     * @return
+     */
+    int countByProductId(Long productId);
+
+    /**
+     * 查找物料信息
+     * @param productId
+     * @param userUU
+     * @return
+     */
+    List<ProductPerson> findByProductIdAndUserUU(Long productId, Long userUU);
+
+    /**
+     * 根据productId查找物料信息
+     * @param productId
+     * @return
+     */
+    List<ProductPerson> findByProductId(Long productId);
+}

+ 92 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/model/ProductPerson.java

@@ -0,0 +1,92 @@
+package com.uas.platform.b2c.prod.commodity.model;
+
+import com.uas.platform.b2c.common.account.model.UserBaseInfo;
+
+import javax.persistence.*;
+import java.util.Date;
+
+/**
+ * 个人物料库
+ * @author wangdy
+ *
+ */
+@Entity
+@Table(name = "products_person")
+public class ProductPerson {
+
+    @Id
+    @GeneratedValue
+    @Column(name = "pp_id")
+    private Long id;
+
+    @Column(name = "user_uu")
+    private Long userUU;
+
+    @Column(name = "pr_id")
+    private Long productId;
+
+    @Column(name = "up_time")
+    private Date time;
+
+    /**
+     * 物料拥有者
+     */
+    @OneToOne(cascade = { CascadeType.REFRESH })
+    @JoinColumn(name = "user_uu", insertable = false, updatable = false)
+    private UserBaseInfo user;
+
+    /**
+     * 物料明细
+     */
+    @OneToOne(cascade = { CascadeType.REFRESH })
+    @JoinColumn(name = "pr_id", insertable = false, updatable = false)
+    private Product product;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getUserUU() {
+        return userUU;
+    }
+
+    public void setUserUU(Long userUU) {
+        this.userUU = userUU;
+    }
+
+    public Long getProductId() {
+        return productId;
+    }
+
+    public void setProductId(Long productId) {
+        this.productId = productId;
+    }
+
+    public UserBaseInfo getUser() {
+        return user;
+    }
+
+    public void setUser(UserBaseInfo user) {
+        this.user = user;
+    }
+
+    public Product getProduct() {
+        return product;
+    }
+
+    public void setProduct(Product product) {
+        this.product = product;
+    }
+
+    public Date getTime() {
+        return time;
+    }
+
+    public void setTime(Date time) {
+        this.time = time;
+    }
+}

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

@@ -2893,9 +2893,6 @@ public class GoodsServiceImpl implements GoodsService {
         histories.add(goodsHistoryRemoved);
         goodsHistoryService.save(histories);
 
-        Map<String, Object> params = new HashMap<>();
-        params.put("gids", goods.getId());
-        namedParameterJdbcTemplate.update("delete from trade$seek_mall_goods where go_id in (:gids)", params);
         goodsDao.deleteByBatchCode(goods.getBatchCode());
         if(goods.getProductid() != null) {
             Product product = productDao.findOne(goods.getProductid());
@@ -2981,11 +2978,6 @@ public class GoodsServiceImpl implements GoodsService {
         if (CollectionUtils.isNotEmpty(products)) {
             productDao.save(products);
         }
-        if (CollectionUtils.isNotEmpty(gids)) {
-            Map<String, Object> params = new HashMap<>();
-            params.put("gids", gids);
-            namedParameterJdbcTemplate.update("delete from trade$seek_mall_goods where go_id in (:gids)", params);
-        }
         if (CollectionUtils.isNotEmpty(goodses1)) {
             goodsDao.delete(goodses1);
         }

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

@@ -168,6 +168,9 @@ public class ProductServiceImpl implements ProductService {
     @Autowired
     private UASBatchPutOnPropertyService uasBatchPutOnPropertyService;
 
+    @Autowired
+    private ProductPersonDao productPersonDao;
+
     private ConcurrentHashMap<String, Field> sortFields = new ConcurrentHashMap<String, Field>();
 
     @Override
@@ -272,42 +275,47 @@ public class ProductServiceImpl implements ProductService {
 
     @Override
     public void deleteBatch(List<Long> ids) {
+        List<ProductPerson> personList = new ArrayList<>();
         for (Long id : ids) {
             Product product = productDao.findOne(id);
             if (product == null)
                 throw new IllegalOperatorException("选择的产品不存在,请重新选择");
-                //查看是否存在正常未取消的订单
-                List<Goods> goodses = goodsDao.findByProductId(product.getId());
-                Boolean isExistOrder = false;
-                String codes = OrderStatus.UNAVAILABLE.getCodes() + "-" + Status.TOBECONFIRMED.value();
-                for (Goods goods : goodses) {
-                    List<OrderDetail> orderList = orderDetailService.findOrderDetailByBatchCode(goods.getBatchCode());
-                    for (OrderDetail detail : orderList) {
-                        Order order = detail.getOrder();
-                        int status = order.getStatus() == null ? detail.getStatus() : order.getStatus();
-                        if (codes.indexOf(String.valueOf(status)) < 0) {
-                            // 区分是否是假单,or_orderids 不为空
-                           if (StringUtils.isEmpty(order.getOrderids())) {
-                               isExistOrder = true;
-                               break;
-                           }
+            personList = productPersonDao.findByProductId(product.getId());
+            if (CollectionUtils.isNotEmpty(personList)) {
+                throw new IllegalOperatorException("该产品中存在关联信息,不能删除");
+            }
+            //查看是否存在正常未取消的订单
+            List<Goods> goodses = goodsDao.findByProductId(product.getId());
+            Boolean isExistOrder = false;
+            String codes = OrderStatus.UNAVAILABLE.getCodes() + "-" + Status.TOBECONFIRMED.value();
+            for (Goods goods : goodses) {
+                List<OrderDetail> orderList = orderDetailService.findOrderDetailByBatchCode(goods.getBatchCode());
+                for (OrderDetail detail : orderList) {
+                    Order order = detail.getOrder();
+                    int status = order.getStatus() == null ? detail.getStatus() : order.getStatus();
+                    if (codes.indexOf(String.valueOf(status)) < 0) {
+                        // 区分是否是假单,or_orderids 不为空
+                       if (StringUtils.isEmpty(order.getOrderids())) {
+                           isExistOrder = true;
+                           break;
+                       }
 
-                        }
-                    }
-                    if (isExistOrder) {
-                       break;
                     }
                 }
-                if (!isExistOrder) {
-                    //删除外键关联的匹配结果列表,不然删除product失败
-                    Set<ProductMatchResult> productMatchResultSet =  product.getMatchresults();
-                    productMatchResultDao.delete(productMatchResultSet);
-                    goodsService.deleteGoods(goodses);
-                    productDao.delete(id);
-                } else {
-                    throw new
-                            IllegalOperatorException("该产品中存在已下单的在售产品信息,不能删除");
+                if (isExistOrder) {
+                   break;
                 }
+            }
+            if (!isExistOrder) {
+                //删除外键关联的匹配结果列表,不然删除product失败
+                Set<ProductMatchResult> productMatchResultSet =  product.getMatchresults();
+                productMatchResultDao.delete(productMatchResultSet);
+                goodsService.deleteGoods(goodses);
+                productDao.delete(id);
+            } else {
+                throw new
+                        IllegalOperatorException("该产品中存在已下单的在售产品信息,不能删除");
+            }
         }
     }
 
@@ -319,6 +327,7 @@ public class ProductServiceImpl implements ProductService {
     @Override
     public ResultMap deleteBatch(String type) {
         Integer standard = null;
+        List<ProductPerson> personList = new ArrayList<>();
         Integer fail = 0;
         Integer success = 0;
         Long uu = SystemSession.getUser().getEnterprise().getUu();
@@ -331,6 +340,11 @@ public class ProductServiceImpl implements ProductService {
         Set<String> uuids = new HashSet<>();
         for (Product product : products) {
             try {
+                personList = productPersonDao.findByProductId(product.getId());
+                if (CollectionUtils.isNotEmpty(personList)) {
+                    fail++;
+                    continue;
+                }
                 //查看是否存在正常未取消的订单
                 List<Goods> goodses = goodsDao.findByProductId(product.getId());
                 Boolean isExistOrder = false;

+ 9 - 0
src/main/webapp/resources/css/common.css

@@ -954,4 +954,13 @@ textarea{resize:none}
 .modal-content {
 	overflow-y: auto;
 	max-height: 500px;
+}
+.form-control:focus {
+	border: 1px solid #4272d3;
+	-webkit-box-shadow: none;
+	-moz-box-shadow: none;
+	box-shadow: none;
+}
+.form-control {
+	border-color: #a9a9a9;
 }

+ 1 - 1
src/main/webapp/resources/view/common/footer.html

@@ -134,7 +134,7 @@ a:hover {
 	</div>
 	<ul class="list-unstyled footer-bottom">
 		<li>客服电话:400-830-1818</li>
-		<li>公司地址:深圳市南山区英唐大厦6楼</li>
+		<li>公司地址:深圳市南山区英唐大厦楼</li>
 		<li>©2016 深圳市优软科技有限公司 粤ICP备15112126号-3</li>
 	</ul>
 	<div class="credit">

+ 3 - 0
src/main/webapp/resources/view/usercenter/forstore/browsing_history.html

@@ -387,6 +387,9 @@
        background-position: 0px 7px;
        padding-left: 25px;
    }
+   .ng-table-pagination {
+       margin-top: 20px !important;
+   }
 </style>
 <div class="history user_right fr">
     <div class="rt_menu">

+ 1 - 0
src/main/webapp/resources/view/usercenter/forstore/store_focus.html

@@ -241,6 +241,7 @@
 	.ng-table-pager .ng-table-pagination a{
 		color: #4574E8 !important;
 		height: 31px;
+		margin-top: 20px !important;
 	}
 
 	.ng-table-pager .ng-table-pagination li.active a {