Commit 774264026d20a539dc2957d545adfd98a9d1257a

Authored by YunaiV
1 parent 15d6ca18

feat(wms):优化 onlyPositiveQuantity 只查询库存非空的处理。

yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/controller/admin/inventory/vo/WmsInventoryPageReqVO.java
@@ -48,4 +48,7 @@ public class WmsInventoryPageReqVO extends PageParam { @@ -48,4 +48,7 @@ public class WmsInventoryPageReqVO extends PageParam {
48 @Schema(description = "最小库存数量", example = "0.01") 48 @Schema(description = "最小库存数量", example = "0.01")
49 private BigDecimal minQuantity; 49 private BigDecimal minQuantity;
50 50
  51 + @Schema(description = "是否只查询正库存", example = "true")
  52 + private Boolean onlyPositiveQuantity;
  53 +
51 } 54 }
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/inventory/WmsInventoryMapper.java
@@ -12,6 +12,7 @@ import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO; @@ -12,6 +12,7 @@ import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemDO;
12 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO; 12 import cn.iocoder.yudao.module.wms.dal.dataobject.md.item.WmsItemSkuDO;
13 import org.apache.ibatis.annotations.Mapper; 13 import org.apache.ibatis.annotations.Mapper;
14 14
  15 +import java.math.BigDecimal;
15 import java.util.Collection; 16 import java.util.Collection;
16 import java.util.Collections; 17 import java.util.Collections;
17 import java.util.List; 18 import java.util.List;
@@ -36,6 +37,9 @@ public interface WmsInventoryMapper extends BaseMapperX<WmsInventoryDO> { @@ -36,6 +37,9 @@ public interface WmsInventoryMapper extends BaseMapperX<WmsInventoryDO> {
36 .likeIfPresent(WmsItemSkuDO::getName, reqVO.getSkuName()) 37 .likeIfPresent(WmsItemSkuDO::getName, reqVO.getSkuName())
37 .eqIfPresent(WmsInventoryDO::getWarehouseId, reqVO.getWarehouseId()) 38 .eqIfPresent(WmsInventoryDO::getWarehouseId, reqVO.getWarehouseId())
38 .geIfPresent(WmsInventoryDO::getQuantity, reqVO.getMinQuantity()); 39 .geIfPresent(WmsInventoryDO::getQuantity, reqVO.getMinQuantity());
  40 + if (Boolean.TRUE.equals(reqVO.getOnlyPositiveQuantity())) {
  41 + query.gt(WmsInventoryDO::getQuantity, BigDecimal.ZERO);
  42 + }
39 appendDimensionOrder(query, reqVO.getType()); 43 appendDimensionOrder(query, reqVO.getType());
40 return selectJoinPage(reqVO, WmsInventoryDO.class, query); 44 return selectJoinPage(reqVO, WmsInventoryDO.class, query);
41 } 45 }