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<MesWmMaterialStockDO> stockList = materialStockMapper.selectList(reqVO);
|
if (CollUtil.isEmpty(stockList)) {
|
return BigDecimal.ZERO;
|
}
|
return stockList.stream()
|
.map(MesWmMaterialStockDO::getQuantity)
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
}
|
|
}
|