diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrInvWarehouseController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrInvWarehouseController.java
index ab9d2d2..b446a2f 100644
--- a/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrInvWarehouseController.java
+++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/thrsys/ThrInvWarehouseController.java
@@ -121,15 +121,11 @@ public class ThrInvWarehouseController {
@PostMapping("/spms/thrsys/warehouse/delete")
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
-
if (deleteRequest.getId() == null) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
boolean b = thrInvWarehouseService.deleteById(deleteRequest.getId());
- if (!b) {
- return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
- }
- return ResultVOUtils.success();
+ return thrInvWarehouseService.deleteInvById(deleteRequest.getId());
}
}
diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrSubInvWarehouseDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrSubInvWarehouseDao.java
index 491e8b3..8ca05b4 100644
--- a/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrSubInvWarehouseDao.java
+++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/thrsys/ThrSubInvWarehouseDao.java
@@ -21,4 +21,12 @@ public interface ThrSubInvWarehouseDao {
boolean deleteById(@Param("id") String id);
+ /**
+ * 根据父级仓库,统计子仓库数量
+ *
+ * @param parentId
+ * @return
+ */
+ int countSubInvByParentInvId(String parentInvId);
+
}
diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrInvWarehouseService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrInvWarehouseService.java
index 9358afa..a6eb907 100644
--- a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrInvWarehouseService.java
+++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/ThrInvWarehouseService.java
@@ -3,6 +3,7 @@ package com.glxp.sale.admin.service.thrsys;
import com.glxp.sale.admin.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.sale.admin.req.thrsys.FilterThrInvWarehouseRequest;
+import com.glxp.sale.common.res.BaseResponse;
import java.util.List;
@@ -28,4 +29,12 @@ public interface ThrInvWarehouseService {
boolean deleteById(String id);
ThrInvWarehouseEntity selectMaxCode(FilterThrInvWarehouseRequest filterThrInvWarehouseRequest);
+
+ /**
+ * 删除第三方仓库
+ *
+ * @param id
+ * @return
+ */
+ BaseResponse deleteInvById(String id);
}
diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrInvWarehouseServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrInvWarehouseServiceImpl.java
index 912e421..0aa2648 100644
--- a/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrInvWarehouseServiceImpl.java
+++ b/api-admin/src/main/java/com/glxp/sale/admin/service/thrsys/impl/ThrInvWarehouseServiceImpl.java
@@ -2,9 +2,12 @@ package com.glxp.sale.admin.service.thrsys.impl;
import com.github.pagehelper.PageHelper;
import com.glxp.sale.admin.dao.thrsys.ThrInvWarehouseDao;
+import com.glxp.sale.admin.dao.thrsys.ThrSubInvWarehouseDao;
import com.glxp.sale.admin.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.sale.admin.req.thrsys.FilterThrInvWarehouseRequest;
import com.glxp.sale.admin.service.thrsys.ThrInvWarehouseService;
+import com.glxp.sale.common.res.BaseResponse;
+import com.glxp.sale.common.util.ResultVOUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -16,7 +19,9 @@ public class ThrInvWarehouseServiceImpl implements ThrInvWarehouseService {
@Resource
- ThrInvWarehouseDao thrInvWarehouseDao;
+ private ThrInvWarehouseDao thrInvWarehouseDao;
+ @Resource
+ private ThrSubInvWarehouseDao thrSubInvWarehouseDao;
@Override
public ThrInvWarehouseEntity findDefault(Boolean advaceType, Boolean isDefault) {
@@ -86,6 +91,11 @@ public class ThrInvWarehouseServiceImpl implements ThrInvWarehouseService {
@Override
public boolean deleteById(String id) {
+ //查询有无子仓库
+ int count = thrSubInvWarehouseDao.countSubInvByParentInvId(id);
+ if (count > 0) {
+ return false;
+ }
return thrInvWarehouseDao.deleteById(id);
}
@@ -93,4 +103,14 @@ public class ThrInvWarehouseServiceImpl implements ThrInvWarehouseService {
public ThrInvWarehouseEntity selectMaxCode(FilterThrInvWarehouseRequest filterThrInvWarehouseRequest) {
return thrInvWarehouseDao.selectMaxCode(filterThrInvWarehouseRequest);
}
+
+ @Override
+ public BaseResponse deleteInvById(String id) {
+ //查询有无子仓库
+ int count = thrSubInvWarehouseDao.countSubInvByParentInvId(id);
+ if (count > 0) {
+ return ResultVOUtils.error(500, "请先删除子仓库!");
+ }
+ return ResultVOUtils.success("删除成功");
+ }
}
diff --git a/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrSubInvWarehouseDao.xml b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrSubInvWarehouseDao.xml
index b5c63c6..cf932df 100644
--- a/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrSubInvWarehouseDao.xml
+++ b/api-admin/src/main/resources/mybatis/mapper/thrsys/ThrSubInvWarehouseDao.xml
@@ -32,6 +32,10 @@
WHERE id = #{id}
+