refactor(service):优化库存查找逻辑并移除冗余代码
- 修改 findOrCreateStock 方法返回类型为 void- 移除 warehouseId 的重复设置逻辑 - 简化库存存在时的处理流程- 删除多个与出入库及库存流水相关的实体类和业务对象- 清理无用的业务逻辑代码,提升代码可维护性
This commit is contained in:
@@ -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记录,则不需要重复创建
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user