package cn.iocoder.yudao.module.mes.api.wms; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.module.mes.dal.dataobject.wm.materialstock.MesWmMaterialStockDO; import cn.iocoder.yudao.module.mes.dal.mysql.wm.materialstock.MesWmMaterialStockMapper; import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockListReqVO; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import java.math.BigDecimal; import java.util.List; /** * WMS 库存 API 实现类 */ @Service @Validated public class MesWmStockApiImpl implements MesWmStockApi { @Resource private MesWmMaterialStockMapper materialStockMapper; @Override public BigDecimal getStockQuantity(Long itemId) { MesWmMaterialStockListReqVO reqVO = new MesWmMaterialStockListReqVO(); reqVO.setItemId(itemId); List stockList = materialStockMapper.selectList(reqVO); if (CollUtil.isEmpty(stockList)) { return BigDecimal.ZERO; } return stockList.stream() .map(MesWmMaterialStockDO::getQuantity) .reduce(BigDecimal.ZERO, BigDecimal::add); } }