Parcourir la source

Merge branch 'master' of yb/kmall-pt-general into master

杨波 il y a 4 ans
Parent
commit
33fb1ca881

+ 1 - 2
kmall-admin/src/main/java/com/kmall/admin/controller/StoreTransferInventoryOrderController.java

@@ -104,8 +104,7 @@ public class StoreTransferInventoryOrderController {
                 return R.error("excel第" + (i + 3) + "行中数据有误," + msg);
             }
         }
-        storeTransferInventoryOrderService.uploadExcel(storeTransferInventoryOrderImportDtoList);
-        return R.ok();
+        return storeTransferInventoryOrderService.uploadExcel(storeTransferInventoryOrderImportDtoList);
     }
 
     /**

+ 2 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/ProductStoreRelaDao.java

@@ -92,4 +92,6 @@ public interface ProductStoreRelaDao extends BaseDao<ProductStoreRelaEntity> {
     void transferInGoods(@Param("shopSn") String shopSn, @Param("list") List<StoreTransferInventoryOrderDetailEntity> list);
 
     void transferOutGoods(@Param("shopSn") String shopSn, @Param("list") List<StoreTransferInventoryOrderDetailEntity> list);
+
+    ProductStoreRelaEntity getByStoreSnAndSku(@Param("storeSn") String storeSn, @Param("sku") String sku);
 }

+ 2 - 1
kmall-admin/src/main/java/com/kmall/admin/service/StoreTransferInventoryOrderService.java

@@ -2,6 +2,7 @@ package com.kmall.admin.service;
 
 import com.kmall.admin.dto.StoreTransferInventoryOrderImportDto;
 import com.kmall.admin.entity.StoreTransferInventoryOrderEntity;
+import com.kmall.common.utils.R;
 
 import java.util.List;
 import java.util.Map;
@@ -71,5 +72,5 @@ public interface StoreTransferInventoryOrderService {
      */
     int deleteBatch(Integer[]ids);
 
-    void uploadExcel(List<StoreTransferInventoryOrderImportDto> dtoList);
+    R uploadExcel(List<StoreTransferInventoryOrderImportDto> dtoList);
 }

+ 3 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/ProductStoreRelaServiceImpl.java

@@ -1271,4 +1271,7 @@ public class ProductStoreRelaServiceImpl implements ProductStoreRelaService {
     }
 
 
+    public ProductStoreRelaEntity getByStoreSnAndSku(String storeSn, String sku) {
+        return productStoreRelaDao.getByStoreSnAndSku(storeSn,sku);
+    }
 }

+ 44 - 2
kmall-admin/src/main/java/com/kmall/admin/service/impl/StoreTransferInventoryOrderServiceImpl.java

@@ -1,10 +1,12 @@
 package com.kmall.admin.service.impl;
 
 import com.kmall.admin.dto.StoreTransferInventoryOrderImportDto;
+import com.kmall.admin.entity.ProductStoreRelaEntity;
 import com.kmall.admin.entity.StoreTransferInventoryOrderDetailEntity;
 import com.kmall.admin.fromcomm.entity.SysUserEntity;
 import com.kmall.admin.service.StoreTransferInventoryOrderDetailService;
 import com.kmall.admin.utils.ShiroUtils;
+import com.kmall.common.utils.R;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -15,6 +17,7 @@ import java.util.Map;
 import com.kmall.admin.dao.StoreTransferInventoryOrderDao;
 import com.kmall.admin.entity.StoreTransferInventoryOrderEntity;
 import com.kmall.admin.service.StoreTransferInventoryOrderService;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 /**
@@ -31,6 +34,10 @@ public class StoreTransferInventoryOrderServiceImpl implements StoreTransferInve
     @Autowired
     private StoreTransferInventoryOrderDetailService storeTransferInventoryOrderDetailService;
 
+
+    @Autowired
+    private ProductStoreRelaServiceImpl productStoreRelaService;
+
     @Override
     public StoreTransferInventoryOrderEntity queryObject(Integer id) {
         return storeTransferInventoryOrderDao.queryObject(id);
@@ -73,10 +80,17 @@ public class StoreTransferInventoryOrderServiceImpl implements StoreTransferInve
     }
 
     @Override
-    public void uploadExcel(List<StoreTransferInventoryOrderImportDto> dtoList) {
+    @Transactional
+    public R uploadExcel(List<StoreTransferInventoryOrderImportDto> dtoList) {
         if (CollectionUtils.isEmpty(dtoList)) {
-            return;
+            return R.error("列表为空");
         }
+        try {
+            checkExcelData(dtoList);
+        } catch (Exception e) {
+            return R.error(e.getMessage());
+        }
+
         StoreTransferInventoryOrderImportDto base = dtoList.get(0);
         String merchSn = base.getMerchSn();
         String merchName = base.getMerchName();
@@ -103,5 +117,33 @@ public class StoreTransferInventoryOrderServiceImpl implements StoreTransferInve
             tmp.setRemark(dto.getRemark());
             storeTransferInventoryOrderDetailService.save(tmp);
         }
+        return R.ok();
+    }
+
+    private void checkExcelData(List<StoreTransferInventoryOrderImportDto> dtoList) {
+        for (StoreTransferInventoryOrderImportDto dto : dtoList) {
+            String inStoreSn = dto.getInStoreSn();
+            String outStoreSn = dto.getOutStoreSn();
+            String sku = dto.getSku();
+            // 查询转入门店是否有该sku
+            ProductStoreRelaEntity inProductStoreRelaEntity = productStoreRelaService.getByStoreSnAndSku(inStoreSn, sku);
+            if (inProductStoreRelaEntity == null) {
+                throw new RuntimeException("转入门店中无该sku:" + sku);
+            }
+            // 查询转出门店sku数量是否足够
+            ProductStoreRelaEntity outProductStoreRelaEntity = productStoreRelaService.getByStoreSnAndSku(outStoreSn, sku);
+            if (outProductStoreRelaEntity == null) {
+                throw new RuntimeException("转出门店中无该sku:" + sku);
+            } else {
+                Integer stockNum = outProductStoreRelaEntity.getStockNum();
+                Integer num = dto.getNum();
+                if (stockNum < num) {
+                    throw new RuntimeException("转出门店该sku数量不足,sku:" + sku);
+                }
+            }
+
+        }
+
+
     }
 }

+ 7 - 0
kmall-admin/src/main/resources/mybatis/mapper/ProductStoreRelaDao.xml

@@ -896,4 +896,11 @@
         </foreach>
     </update>
 
+
+    <select id="getByStoreSnAndSku" resultType="com.kmall.admin.entity.ProductStoreRelaEntity">
+        select p.* from mall_product_store_rela p , mall_store s
+        where p.store_id = s.id and s.store_number = #{storeSn}
+        and p.sku = #{sku}
+    </select>
+
 </mapper>

+ 7 - 1
kmall-admin/src/main/webapp/js/shop/storetransferinventoryorder.js

@@ -26,11 +26,17 @@ $(function () {
 			}},
 			{label: '备注', name: 'remark', index: 'remark', width: 80},
 			{label: '创建时间', name: 'createTime', index: 'create_time',formatter: function (val) {
+				if (!val || val <= 0) {
+					return "";
+				}
 				return dateFormat("YYYY-mm-dd HH:MM:SS", new Date(val));
 			}, width: 80},
 			{label: '创建人', name: 'createSn', index: 'create_sn', width: 80},
 			{label: '修改时间', name: 'modifyTime', index: 'modify_time',formatter: function (val) {
-					return dateFormat("YYYY-mm-dd HH:MM:SS", new Date(val));
+				if (!val || val <= 0) {
+					return "";
+				}
+				return dateFormat("YYYY-mm-dd HH:MM:SS", new Date(val));
 			}, width: 80},
 			{label: '修改人', name: 'modifySn', index: 'modify_sn', width: 80}],
 		viewrecords: true,

+ 3 - 0
kmall-admin/src/main/webapp/js/shop/storetransferinventoryorderdetail.js

@@ -11,6 +11,9 @@ $(function () {
 			{label: '创建人', name: 'createSn', index: 'create_sn', width: 80},
 			{label: '修改时间', name: 'modifyTime', index: 'modify_time', width: 80},
 			{label: '修改人', name: 'modifySn', index: 'modify_sn',formatter: function (val) {
+				if (!val || val <= 0) {
+					return "";
+				}
 				return dateFormat("YYYY-mm-dd HH:MM:SS", new Date(val));
 			}, width: 80}],
 		viewrecords: true,

BIN
kmall-admin/src/main/webapp/statics/file/store_transfer_inventory_order_import_yyyy_mm_dd_v1.0.0.xls