- 修改 WmsStockMapper 接口,增加 rootWarehouseId 参数用于限定查询范围 - 优化 WmsStockMapper.xml 中的 SQL 查询逻辑,引入 CTE 递归查询子仓库数据 - 调整查询语句结构,将分组统计与关联查询分离以提升性能 - 移除 Java 层递归获取子仓库 ID 的逻辑,改为数据库端处理 - 强制使用指定索引 idx_mc_fixed_group 提高查询效率 - 更新服务实现类传参逻辑,传递实际仓库 ID 用于构建查询条件
42 lines
1.4 KiB
Java
42 lines
1.4 KiB
Java
package com.klp.mapper;
|
||
|
||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||
import com.klp.common.core.validate.AddGroup;
|
||
import com.klp.common.core.validate.EditGroup;
|
||
import com.klp.domain.WmsStock;
|
||
import com.klp.domain.vo.WmsStockVo;
|
||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||
|
||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||
import org.apache.ibatis.annotations.Param;
|
||
|
||
import javax.validation.constraints.NotBlank;
|
||
import java.math.BigDecimal;
|
||
import java.util.List;
|
||
|
||
/**
|
||
* 库存:原材料/产品与库区/库位的存放关系Mapper接口
|
||
*
|
||
* @author Joshi
|
||
* @date 2025-07-18
|
||
*/
|
||
public interface WmsStockMapper extends BaseMapperPlus<WmsStockMapper, WmsStock, WmsStockVo> {
|
||
|
||
BigDecimal getStockByItemId(Long rawMaterialId);
|
||
|
||
/**
|
||
* 分页联查物品名称和编码,支持Wrapper动态条件,返回Page<WmsStockVo>
|
||
*/
|
||
Page<WmsStockVo> selectVoPagePlus(Page<?> page, @Param("ew") Wrapper<WmsStock> wrapper);
|
||
|
||
/**
|
||
* 按仓库统计库存分布
|
||
*/
|
||
List<WmsStockVo> selectStockDistribution(@Param("itemType") String itemType, @Param("itemId") Long itemId);
|
||
|
||
Page<WmsStockVo> selectVoPagePlusActual(Page<Object> build,
|
||
@Param("ew") Wrapper<WmsStock> lqw,
|
||
@Param("rootWarehouseId") Long rootWarehouseId);
|
||
}
|