refactor(service):优化库存查找逻辑并移除冗余代码

- 修改 findOrCreateStock 方法返回类型为 void- 移除 warehouseId 的重复设置逻辑
- 简化库存存在时的处理流程- 删除多个与出入库及库存流水相关的实体类和业务对象- 清理无用的业务逻辑代码,提升代码可维护性
This commit is contained in:
2025-10-31 17:33:33 +08:00
parent 3f5f4a9479
commit 2283033b71
9 changed files with 6 additions and 618 deletions

View File

@@ -182,8 +182,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
bo.setQrcodeRecordId(qrcodeRecordId);
// 2. 查找或创建stock
Long warehouseId = findOrCreateStock(bo);
bo.setWarehouseId(warehouseId);
findOrCreateStock(bo);
// 3. 插入钢卷数据
@@ -256,7 +255,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
/**
* 查找或创建stock
*/
private Long findOrCreateStock(WmsMaterialCoilBo bo) {
private void findOrCreateStock(WmsMaterialCoilBo bo) {
if (bo.getItemType() == null || bo.getItemId() == null) {
throw new RuntimeException("物品类型和物品ID不能为空");
}
@@ -267,26 +266,20 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
stockBo.setItemId(bo.getItemId());
List<WmsStockVo> stockList = stockService.queryList(stockBo);
if (!stockList.isEmpty()) {
// 如果找到相同的stock返回第一个的warehouseId
return stockList.get(0).getWarehouseId();
} else {
if (stockList.isEmpty()) {
// 如果没有找到匹配的stock新增一条stock记录
WmsStockBo newStockBo = new WmsStockBo();
newStockBo.setItemType(bo.getItemType());
newStockBo.setItemId(bo.getItemId());
// 如果有指定warehouseId使用指定的否则为null
if (bo.getWarehouseId() != null) {
newStockBo.setWarehouseId(bo.getWarehouseId());
}
// 调用stockService新增stock
Boolean insertResult = stockService.insertByBo(newStockBo);
if (!insertResult) {
throw new RuntimeException("新增库存记录失败");
}
// 返回新创建的stock的warehouseId
return newStockBo.getWarehouseId();
}
// 如果已存在stock记录则不需要重复创建
}
/**