diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java index 83edb07..8ae43cc 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java @@ -6,8 +6,6 @@ import cn.hutool.json.JSONUtil; import com.github.pagehelper.PageInfo; import com.glxp.sale.admin.annotation.AuthRuleAnnotation; import com.glxp.sale.admin.constant.ConstantStatus; -import com.glxp.sale.admin.constant.ConstantType; -import com.glxp.sale.admin.constant.TypeConstant; import com.glxp.sale.admin.dao.auth.AuthLicenseDao; import com.glxp.sale.admin.dao.inventory.InvWarehouseDao; import com.glxp.sale.admin.entity.auth.AuthAdmin; @@ -746,9 +744,15 @@ public class WareHouseController { return ResultVOUtils.error(500, "当前库存不足,不允许0库存出库"); } } else { - int count = invProductDetailService.vailStockCount(code); + int count = invProductDetailService.vailStockCount(code, addOrderRequest.getLocStorageCode(), addOrderRequest.getInvWarehouseCode(), null); if (count <= 0) { return ResultVOUtils.error(500, "当前库存不足,不允许0库存出库"); + } else if (StrUtil.isNotBlank(addOrderRequest.getOrderId())){ + //查询此单据已扫描的条码数量 + WarehouseEntity warehouse = codesTempService.findByUnique(addOrderRequest.getOrderId(), addOrderRequest.getCode()); + if (null != warehouse && warehouse.getCount() >= count) { + return ResultVOUtils.error(500, "当前库存不足,不允许0库存出库"); + } } } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvProductDetailRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvProductDetailRequest.java index 95d6c19..b8d80ce 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvProductDetailRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inventory/FilterInvProductDetailRequest.java @@ -29,6 +29,7 @@ public class FilterInvProductDetailRequest extends ListPageRequest { private String invStorageCode; private String invWarehouseCode; + private String invSpaceCode; private List invCodes; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductDetailService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductDetailService.java index 2282a01..306b541 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductDetailService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/InvProductDetailService.java @@ -3,8 +3,6 @@ package com.glxp.sale.admin.service.inventory; import com.glxp.sale.admin.entity.inventory.InvProductDetailEntity; import com.glxp.sale.admin.req.inventory.FilterInvProductDetailRequest; import com.glxp.sale.admin.res.inventory.InvProductDetailJoinResponse; -import org.apache.ibatis.annotations.Param; -import org.springframework.stereotype.Service; import java.util.List; @@ -36,5 +34,5 @@ public interface InvProductDetailService { InvProductDetailEntity statInvPreInDetail(String code); - int vailStockCount(String code); + int vailStockCount(String code, String invStorageCode, String invWarehouseCode, String invSpaceCode); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductDetailServiceImpl.java index 0e0ea6a..863e30e 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inventory/impl/InvProductDetailServiceImpl.java @@ -132,12 +132,15 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { } @Override - public int vailStockCount(String code) { + public int vailStockCount(String code, String invStorageCode, String invWarehouseCode, String invSpaceCode) { if (StrUtil.isEmpty(code)) { return 0; } FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); filterInvProductDetailRequest.setOriginCode(code); + filterInvProductDetailRequest.setInvStorageCode(invStorageCode); + filterInvProductDetailRequest.setInvWarehouseCode(invWarehouseCode); + filterInvProductDetailRequest.setInvSpaceCode(invSpaceCode); List datas = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); if (CollUtil.isEmpty(datas)) { filterInvProductDetailRequest.setOriginCode(null);