浏览代码

[CODE]: 仓库删除判断是否有库存

maxianghua 4 年之前
父节点
当前提交
38c9516dc0

+ 3 - 2
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/mapper/TWarehouseAreaMapper.java

@@ -2,6 +2,7 @@ package com.ruoyi.basicData.mapper;
 
 import com.ruoyi.basicData.domain.TWarehouse;
 import com.ruoyi.basicData.domain.TWarehouseArea;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -67,14 +68,14 @@ public interface TWarehouseAreaMapper {
      * @param fNo
      * @return
      */
-    public TWarehouseArea checkFNoUnique(String fNo);
+    public TWarehouseArea checkFNoUnique(@Param("fNo")String fNo,@Param("fWarehouseid")Long fWarehouseid);
 
     /**
      *  检验名称
      * @param fNname
      * @return
      */
-    public TWarehouseArea checkUFNnameUnique(String fNname);
+    public TWarehouseArea checkUFNnameUnique(@Param("fNname")String fNname,@Param("fWarehouseid")Long  fWarehouseid);
 
 
 }

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

@@ -54,7 +54,7 @@ public interface ITWarehouseService {
      * @param fIds 需要删除的仓库ID
      * @return 结果
      */
-    public int deleteTWarehouseByIds(Long[] fIds);
+    public AjaxResult deleteTWarehouseByIds(Long[] fIds);
 
     /**
      * 删除仓库信息

+ 25 - 4
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/service/impl/TWarehouseServiceImpl.java

@@ -12,8 +12,11 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
+import com.ruoyi.warehouseBusiness.mapper.TWarehouseBillsMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
 import java.util.HashMap;
@@ -34,6 +37,10 @@ public class TWarehouseServiceImpl implements ITWarehouseService {
     @Autowired
     private TWarehouseAreaMapper tWarehouseAreaMapper;
 
+    @Autowired
+    private TWarehouseBillsMapper tWarehouseBillsMapper;
+
+
     /**
      * 查询仓库
      *
@@ -138,8 +145,22 @@ public class TWarehouseServiceImpl implements ITWarehouseService {
      * @return 结果
      */
     @Override
-    public int deleteTWarehouseByIds(Long[] fIds) {
-        return tWarehouseMapper.deleteTWarehouseByIds(fIds);
+    @Transactional
+    public AjaxResult deleteTWarehouseByIds(Long[] fIds) {
+        // 查询仓库主表 是否有仓库在使用
+        int i = 1;
+        for(Long id:fIds){
+            TWarehouseBills   tWarehouseBill =new TWarehouseBills();
+            tWarehouseBill.setfWarehouseid(id);
+            List<TWarehouseBills>   tWarehouseBillList=tWarehouseBillsMapper.selectTWarehousebillsList(tWarehouseBill);
+            if(tWarehouseBillList!=null && !tWarehouseBillList.isEmpty()){
+                return AjaxResult.error("仓库第" + i + "行仓库有货物不可删除");
+            }
+            tWarehouseMapper.deleteTWarehouseById(id);
+            i++;
+        }
+        // tWarehouseMapper.deleteTWarehouseByIds(fIds);
+        return AjaxResult.success();
     }
 
     /**
@@ -182,7 +203,7 @@ public class TWarehouseServiceImpl implements ITWarehouseService {
 
     @Override
     public String checkUFTWarehouseAreaNoUnique(TWarehouseArea tWarehouseAreas) {
-        TWarehouseArea tWarehouseAreas1 = tWarehouseAreaMapper.checkFNoUnique(tWarehouseAreas.getfNo());
+        TWarehouseArea tWarehouseAreas1 = tWarehouseAreaMapper.checkFNoUnique(tWarehouseAreas.getfNo(),tWarehouseAreas.getfWarehouseid());
         if (StringUtils.isNotNull(tWarehouseAreas1) && tWarehouseAreas1.getfId()!=tWarehouseAreas.getfId()) {
             return UserConstants.NOT_UNIQUE;
         }
@@ -191,7 +212,7 @@ public class TWarehouseServiceImpl implements ITWarehouseService {
 
     @Override
     public String checkUTWarehouseAreaFNnameUnique(TWarehouseArea tWarehouseAreas) {
-        TWarehouseArea tWarehouseAreas1 = tWarehouseAreaMapper.checkUFNnameUnique(tWarehouseAreas.getfName());
+        TWarehouseArea tWarehouseAreas1 = tWarehouseAreaMapper.checkUFNnameUnique(tWarehouseAreas.getfName(),tWarehouseAreas.getfWarehouseid());
         if (StringUtils.isNotNull(tWarehouseAreas1) && tWarehouseAreas1.getfId()!=tWarehouseAreas.getfId()) {
             return UserConstants.NOT_UNIQUE;
         }