huminmin
4 天以前 7591ba21194595cc8d9a1293dfdbfa945bc9948f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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);
    }
 
}