feat(stock): 优化库存更新逻辑并添加库存日志记录功能- 在 WmsStockIoServiceImpl 中引入 WmsStockLogMapper

- 修改 updateStatus 方法,使用更可靠的更新条件
- 在 stockUpdate 中添加库存日志记录功能
This commit is contained in:
JR
2025-08-11 14:13:38 +08:00
parent 3c2cc85e27
commit b135f2e0dc
2 changed files with 21 additions and 6 deletions

View File

@@ -151,6 +151,7 @@ public class WmsStockIoController extends BaseController {
@RequestParam Integer status) {
return toAjax(iWmsStockIoService.updateStatus(stockIoId, status));
}
/**
* 扫码枪专用根据明细ID直接入库无需审核整单
*/

View File

@@ -19,14 +19,14 @@ import com.klp.service.IWmsStockIoService;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.*;
import com.klp.common.exception.ServiceException;
import com.klp.domain.bo.WmsStockIoWithDetailBo;
import com.klp.domain.bo.WmsStockIoDetailBo;
import javax.annotation.Resource;
/**
* 出入库单主Service业务层处理
*
@@ -42,6 +42,8 @@ public class WmsStockIoServiceImpl implements IWmsStockIoService {
private final WmsStockMapper stockMapper;
private final WmsProductMapper productMapper;
private final WmsRawMaterialMapper rawMaterialMapper;
@Resource
private WmsStockLogMapper stockLogMapper;
/**
* 查询出入库单主
@@ -225,8 +227,7 @@ public class WmsStockIoServiceImpl implements IWmsStockIoService {
}
// 更新单据状态为已审核2
stockIo.setStatus(2);
baseMapper.updateById(stockIo);
return true;
return baseMapper.updateById(stockIo) > 0;
}
/**
@@ -360,5 +361,18 @@ public class WmsStockIoServiceImpl implements IWmsStockIoService {
stock.setQuantity(newQty);
stockMapper.updateById(stock);
}
// 记录库存变更日志
WmsStockLog log = new WmsStockLog();
log.setWarehouseId(warehouseId);
log.setItemType(itemType);
log.setItemId(itemId);
// 变动数量(正=入库,负=出库)
log.setChangeQty(isAdd ? quantity : quantity.negate());
// 变动后的库存数量
log.setAfterQty(stock.getQuantity());
// 变动类型(入库/出库等)
log.setChangeType(isAdd ? "入库" : "出库");
log.setChangeTime(new Date());
stockLogMapper.insert(log);
}
}