From 7c2dff03a6896674e44b09b9e432df4b9374f8b9 Mon Sep 17 00:00:00 2001 From: x_z Date: Sat, 25 Jun 2022 21:34:04 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=88=A0=E9=99=A4=E5=88=86=E5=BA=93=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=E6=98=AF=E5=90=A6=E6=9C=89=E5=BA=93=E5=AD=98=EF=BC=8C?= =?UTF-8?q?=E6=9C=89=E5=BA=93=E5=AD=98=E4=B8=8D=E5=88=A0=E9=99=A4=202.?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=86=E5=BA=93=E6=97=B6=EF=BC=8C=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=E5=90=8D=E7=A7=B0=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventory/InvSubWarehouseController.java | 28 +++++++++++++++---- .../admin/dao/inventory/InvProductDao.java | 8 ++++++ .../dao/inventory/InvSubWarehouseDao.java | 9 +++++- .../service/inventory/InvProductService.java | 10 ++++++- .../inventory/InvSubWarehouseService.java | 9 +++++- .../inventory/impl/InvProductServiceImpl.java | 5 ++++ .../impl/InvSubWarehouseServiceImpl.java | 10 ++++++- .../mapper/inventory/InvProductDao.xml | 11 ++++++++ .../mapper/inventory/InvSubWarehouseDao.xml | 3 ++ 9 files changed, 83 insertions(+), 10 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvSubWarehouseController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvSubWarehouseController.java index 01c53b2..7f12956 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvSubWarehouseController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inventory/InvSubWarehouseController.java @@ -1,19 +1,17 @@ package com.glxp.sale.admin.controller.inventory; import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.StrUtil; import com.glxp.sale.admin.annotation.AuthRuleAnnotation; import com.glxp.sale.admin.entity.auth.AuthAdmin; import com.glxp.sale.admin.entity.inout.WarehouseBussinessTypeEntity; -import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity; import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity; import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity; import com.glxp.sale.admin.req.info.DeleteRequest; import com.glxp.sale.admin.req.inventory.FilterInvSubWarehouseRequest; import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; -import com.glxp.sale.admin.res.inventory.InvWarehouseResponse; import com.glxp.sale.admin.service.auth.CustomerService; import com.glxp.sale.admin.service.inout.WarehouseBussinessTypeService; +import com.glxp.sale.admin.service.inventory.InvProductService; import com.glxp.sale.admin.service.inventory.InvSubWarehouseService; import com.glxp.sale.admin.service.inventory.InvWarehouseService; import com.glxp.sale.common.enums.ResultEnum; @@ -27,10 +25,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.validation.Valid; -import java.util.Date; -import java.util.HashMap; import java.util.List; -import java.util.Map; @RestController public class InvSubWarehouseController { @@ -43,6 +38,8 @@ public class InvSubWarehouseController { CustomerService customerService; @Resource WarehouseBussinessTypeService warehouseBussinessTypeService; + @Resource + private InvProductService invProductService; @AuthRuleAnnotation("") @GetMapping("spms/sub/inv/warehouse/filter") @@ -80,6 +77,11 @@ public class InvSubWarehouseController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + //判断分库名称在此仓库下是否重复 + boolean exist = invSubWarehouseService.checkDuplicateName(invSubWarehouseEntity.getParentId(), invSubWarehouseEntity.getName()); + if (exist) { + return ResultVOUtils.error(500, "分库名称已存在!"); + } FilterInvSubWarehouseRequest filterInvWarehouseRequest = new FilterInvSubWarehouseRequest(); filterInvWarehouseRequest.setParentId(invSubWarehouseEntity.getParentId()); @@ -107,6 +109,13 @@ public class InvSubWarehouseController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + + //判断分库名称在此仓库下是否重复 + boolean exist = invSubWarehouseService.checkDuplicateName(invSubWarehouseEntity.getParentId(), invSubWarehouseEntity.getName()); + if (exist) { + return ResultVOUtils.error(500, "分库名称已存在!"); + } + if (invSubWarehouseEntity.getId() == null) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } @@ -139,6 +148,13 @@ public class InvSubWarehouseController { if (!warehouseBussinessTypeEntities.isEmpty()) { return ResultVOUtils.error(500, "请先移除该仓库关联用户和单据类型!"); } + + //判断此分库中是否还有库存 + InvSubWarehouseEntity invSubWarehouse = invSubWarehouseService.findById(deleteRequest.getId()); + Integer count = invProductService.countByWarehouseCode(null, invSubWarehouse.getCode()); + if (count > 0) { + return ResultVOUtils.error(500, "此分库存在库存,不能删除!"); + } boolean b = invSubWarehouseService.deleteById(deleteRequest.getId()); if (!b) { diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvProductDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvProductDao.java index f639c7b..b177316 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvProductDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvProductDao.java @@ -34,4 +34,12 @@ public interface InvProductDao { //库存统计查询 List stockStatistics(FilterInvProductRequest filterInvProductRequest); + /** + * 根据仓库码和分库码,统计库存记录条数 + * + * @param warehouseCode + * @param subWarehouseCode + * @return + */ + Integer countByWarehouseCode(@Param("warehouseCode") String warehouseCode, @Param("subWarehouseCode") String subWarehouseCode); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvSubWarehouseDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvSubWarehouseDao.java index 35790ed..4dd203b 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvSubWarehouseDao.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inventory/InvSubWarehouseDao.java @@ -1,7 +1,6 @@ package com.glxp.sale.admin.dao.inventory; import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity; -import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity; import com.glxp.sale.admin.req.inventory.FilterInvSubWarehouseRequest; import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; import org.apache.ibatis.annotations.Mapper; @@ -29,4 +28,12 @@ public interface InvSubWarehouseDao { boolean deleteByParentCode(@Param("code") String code); + /** + * 根据parentId和分库名称统计仓库数量 + * + * @param parentId + * @param name + * @return + */ + int countByParentIdAndName(@Param("parentId") String parentId, @Param("name") String name); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductService.java index 6ed3019..86496fa 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductService.java @@ -3,7 +3,6 @@ package com.glxp.sale.admin.service.inventory; import com.glxp.sale.admin.entity.inventory.InvProductEntity; import com.glxp.sale.admin.req.inventory.FilterInvProductRequest; import com.glxp.sale.admin.res.inventory.InvProductResponse; -import org.apache.ibatis.annotations.Param; import java.util.List; @@ -27,4 +26,13 @@ public interface InvProductService { //库存统计 List stockStatistics(FilterInvProductRequest filterInvProductRequest); + + /** + * 根据仓库和分库码,查询库存记录条数 + * + * @param warehouseCode + * @param subWarehouseCode + * @return + */ + Integer countByWarehouseCode(String warehouseCode, String subWarehouseCode); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvSubWarehouseService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvSubWarehouseService.java index a6aad3b..38048db 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvSubWarehouseService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvSubWarehouseService.java @@ -1,7 +1,6 @@ package com.glxp.sale.admin.service.inventory; import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity; -import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity; import com.glxp.sale.admin.req.inventory.FilterInvSubWarehouseRequest; import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; @@ -29,4 +28,12 @@ public interface InvSubWarehouseService { boolean deleteByParentCode(String code); + /** + * 查询此仓库下,此分库名称是否存在 + * + * @param parentId + * @param name + * @return + */ + boolean checkDuplicateName(String parentId, String name); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java index aa04445..bf75a6a 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductServiceImpl.java @@ -118,4 +118,9 @@ public class InvProductServiceImpl implements InvProductService { } return Collections.emptyList(); } + + @Override + public Integer countByWarehouseCode(String warehouseCode, String subWarehouseCode) { + return invProductDao.countByWarehouseCode(warehouseCode, subWarehouseCode); + } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvSubWarehouseServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvSubWarehouseServiceImpl.java index 5352b55..1c7cf47 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvSubWarehouseServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvSubWarehouseServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil; import com.github.pagehelper.PageHelper; import com.glxp.sale.admin.dao.inventory.InvSubWarehouseDao; import com.glxp.sale.admin.entity.inventory.InvSubWarehouseEntity; -import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity; import com.glxp.sale.admin.req.inventory.FilterInvSubWarehouseRequest; import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; import com.glxp.sale.admin.service.inventory.InvSubWarehouseService; @@ -101,4 +100,13 @@ public class InvSubWarehouseServiceImpl implements InvSubWarehouseService { public boolean deleteByParentCode(String code) { return invSubWarehouseDao.deleteByParentCode(code); } + + @Override + public boolean checkDuplicateName(String parentId, String name) { + int count = invSubWarehouseDao.countByParentIdAndName(parentId, name); + if (count > 0) { + return true; + } + return false; + } } diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml index adf7946..08b38af 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml @@ -289,4 +289,15 @@ WHERE id = #{id} + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvSubWarehouseDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvSubWarehouseDao.xml index c1c1a0d..6b32554 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvSubWarehouseDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvSubWarehouseDao.xml @@ -119,4 +119,7 @@ + \ No newline at end of file