7 小时以前 6d910029b6c81db0a2b66caa66952781397b153a
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/transaction/MesWmTransactionServiceImpl.java
@@ -127,8 +127,13 @@
        materialStockService.updateMaterialStockQuantity(materialStock.getId(), reqDTO.getQuantity(), checkFlag);
        MesWmMaterialStockDO updatedStock = materialStockService.getMaterialStock(materialStock.getId());
        BigDecimal newQuantity = updatedStock.getQuantity();
        materialStockService.updateMaterialStockState(updatedStock.getId(), newQuantity.signum() <= 0
                ? MesWmStockStateEnum.OUT.getState() : MesWmStockStateEnum.QUALIFIED.getState());
        // 库存状态:显式指定优先(如扫码入暂存库),否则按数量自动判定(≤0 已出库,>0 合格库)
        Integer stockState = reqDTO.getStockState();
        if (stockState == null) {
            stockState = newQuantity.signum() <= 0
                    ? MesWmStockStateEnum.OUT.getState() : MesWmStockStateEnum.QUALIFIED.getState();
        }
        materialStockService.updateMaterialStockState(updatedStock.getId(), stockState);
        // 3. 插入事务流水
        MesWmTransactionDO transaction = MesWmTransactionDO.builder()