Merge remote-tracking branch 'origin/0.8.X' into 0.8.X

This commit is contained in:
2025-10-29 16:55:37 +08:00

View File

@@ -69,7 +69,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
* 查询钢卷物料表
*/
@Override
public WmsMaterialCoilVo queryById(Long coilId){
public WmsMaterialCoilVo queryById(Long coilId) {
WmsMaterialCoilVo vo = baseMapper.selectVoById(coilId);
if (vo == null) {
return null;
@@ -206,11 +206,10 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
Long qrcodeRecordId = generateQrcodeForInsert(bo);
bo.setQrcodeRecordId(qrcodeRecordId);
// 2. 如果warehouseId为空查找或创建stock
if (bo.getWarehouseId() == null) {
// 2. 查找或创建stock
Long warehouseId = findOrCreateStock(bo);
bo.setWarehouseId(warehouseId);
}
// 3. 插入钢卷数据
WmsMaterialCoil add = BeanUtil.toBean(bo, WmsMaterialCoil.class);
@@ -286,7 +285,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
throw new RuntimeException("物品类型和物品ID不能为空");
}
// 查询是否存在相同的stock
// 查询是否存在相同的stock匹配itemType和itemId
WmsStockBo stockBo = new WmsStockBo();
stockBo.setItemType(bo.getItemType());
stockBo.setItemId(bo.getItemId());
@@ -296,13 +295,21 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
// 如果找到相同的stock返回第一个的warehouseId
return stockList.get(0).getWarehouseId();
} else {
// 如果没有找到,创建一个新的stock
WmsStock newStock = new WmsStock();
newStock.setItemType(bo.getItemType());
newStock.setItemId(bo.getItemId());
// 新创建的stock没有指定warehouse,可以为null
stockMapper.insert(newStock);
return newStock.getWarehouseId();
// 如果没有找到匹配的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();
}
}
@@ -689,6 +696,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
throw new RuntimeException("生成合卷二维码失败: " + e.getMessage());
}
}
/**
* 更新二维码内容中的coilId
*/
@@ -783,7 +791,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(WmsMaterialCoil entity){
private void validEntityBeforeSave(WmsMaterialCoil entity) {
//TODO 做一些数据校验,如唯一约束
}
@@ -792,7 +800,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;