Browse Source

[CODE]: 商品删除时查询库存是否存在

maxianghua 4 years ago
parent
commit
95944654f9

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/basicData/TGoodsController.java

@@ -94,6 +94,6 @@ public class TGoodsController extends BaseController {
     @Log(title = "商品详情", businessType = BusinessType.DELETE)
     @DeleteMapping("/{fIds}")
     public AjaxResult remove(@PathVariable Long[] fIds) {
-        return toAjax(tGoodsService.deleteTGoodsByIds(fIds));
+        return tGoodsService.deleteTGoodsByIds(fIds);
     }
 }

+ 2 - 1
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/ITGoodsService.java

@@ -1,6 +1,7 @@
 package com.ruoyi.basicData.service;
 
 import com.ruoyi.basicData.domain.TGoods;
+import com.ruoyi.common.core.domain.AjaxResult;
 
 import java.util.List;
 
@@ -50,7 +51,7 @@ public interface ITGoodsService {
      * @param fIds 需要删除的商品详情ID
      * @return 结果
      */
-    public int deleteTGoodsByIds(Long[] fIds);
+    public AjaxResult deleteTGoodsByIds(Long[] fIds);
 
     /**
      * 删除商品详情信息

+ 25 - 2
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/impl/TGoodsServiceImpl.java

@@ -4,10 +4,16 @@ import com.ruoyi.basicData.domain.TGoods;
 import com.ruoyi.basicData.mapper.TGoodsMapper;
 import com.ruoyi.basicData.service.ITGoodsService;
 import com.ruoyi.common.constant.UserConstants;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
+import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;
+import com.ruoyi.warehouseBusiness.mapper.TWarehousebillsitemsMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import java.util.List;
 
@@ -22,6 +28,9 @@ public class TGoodsServiceImpl implements ITGoodsService {
     @Autowired
     private TGoodsMapper tGoodsMapper;
 
+    @Autowired
+    private TWarehousebillsitemsMapper tWarehousebillsitemsMapper;
+
     /**
      * 查询商品详情
      *
@@ -75,8 +84,22 @@ public class TGoodsServiceImpl implements ITGoodsService {
      * @return 结果
      */
     @Override
-    public int deleteTGoodsByIds(Long[] fIds) {
-        return tGoodsMapper.deleteTGoodsByIds(fIds);
+    @Transactional
+    public AjaxResult deleteTGoodsByIds(Long[] fIds) {
+        // return tGoodsMapper.deleteTGoodsByIds(fIds);
+        int i = 1;
+        for(Long id:fIds){
+            TWarehousebillsitems tWarehousebillsitems =new TWarehousebillsitems();
+            tWarehousebillsitems.setfGoodsid(id);
+            List<TWarehousebillsitems> warehousebillsitemsList1 =tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitems);
+            if(warehousebillsitemsList1!=null && !warehousebillsitemsList1.isEmpty()){
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("商品第" + i + "行 仓库有货物不可删除");
+            }
+            tGoodsMapper.deleteTGoodsById(id);
+            i++;
+        }
+        return AjaxResult.success();
     }
 
     /**