diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java
index cdef48701..104b44a95 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/domain/materialInventory/repository/todo/MaterialInventoryDO.java
@@ -244,4 +244,7 @@ public class MaterialInventoryDO extends MaterialBaseDO {
@ApiModelProperty("LOT编号")
@Excel(name = "LOT编号")
private String lotNumber;
+
+ /** 为 true 时 SQL 排除库存数量为 0(含 null 视为 0) */
+ private Boolean excludeZeroInventoryQuantity;
}
\ No newline at end of file
diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryDTO.java
index 003cbdf71..59449f3d4 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryDTO.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/materialInventory/MaterialInventoryDTO.java
@@ -185,4 +185,8 @@ public class MaterialInventoryDTO extends MaterialBaseDTO {
@Excel(name = "冻结数量大于0条件")
private String greaterThanFreezeQuantity;
+ /** 为 true 时排除库存数量为 0 的行(出库分配选库存用);库存查询页不传或 false */
+ @ApiModelProperty(value = "是否排除库存数量为0", example = "false")
+ private Boolean excludeZeroInventoryQuantity;
+
}
\ No newline at end of file
diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java
index ab891ebbb..e8b3fce35 100644
--- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java
+++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/materialInventory/MaterialInventoryApi.java
@@ -48,11 +48,15 @@ public class MaterialInventoryApi extends BaseController {
/**
* 分页查询物料库存列表
*/
- @ApiOperation("查询物料库存列表")
+ @ApiOperation(value = "查询物料库存列表", notes = "库存查询页不传 excludeZeroInventoryQuantity 可查出数量为0;出库分配页传 excludeZeroInventoryQuantity=true 排除库存数量为0")
@GetMapping("/list")
public TableDataInfo list(MaterialInventoryDTO materialInventoryDTO,
- @RequestParam(value = "customerName", required = false) String customerName)
+ @RequestParam(value = "customerName", required = false) String customerName,
+ @RequestParam(value = "excludeZeroInventoryQuantity", required = false) Boolean excludeZeroInventoryQuantity)
{
+ if (Boolean.TRUE.equals(excludeZeroInventoryQuantity)) {
+ materialInventoryDTO.setExcludeZeroInventoryQuantity(true);
+ }
// 出库分配前端传的是客户名称 customerName,这里通过名称查询货主ID,使用精确匹配(不模糊匹配)
String shipperName = null; // 保存查询到的货主名称
if (StringUtils.isNotBlank(customerName) && materialInventoryDTO.getShipperId() == null) {
diff --git a/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml b/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml
index f04f9873b..bbda42547 100644
--- a/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml
+++ b/mhd_wms/src/main/resources/mapper/materialInventory/MaterialInventoryMapper.xml
@@ -183,6 +183,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and a.freeze_quantity = #{freezeQuantity}
+
+ and COALESCE(a.inventory_quantity, 0) > 0
+
and a.create_by_name like concat('%', #{createByName}, '%')