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}, '%')