feat(wms): 添加调拨单明细批量修改功能

- 在 IWmsTransferOrderItemService 接口中添加 batchUpdateItems 方法定义
- 在 WmsTransferOrderItemController 中添加 /batchUpdate 接口端点
- 实现 WmsTransferOrderItemServiceImpl 中的批量更新逻辑
- 支持仅更新有值字段的批量修改操作
- 集成 MyBatis-Plus 的 Db 工具类进行批量更新
- 添加事务注解确保数据一致性处理
This commit is contained in:
2026-05-18 14:19:31 +08:00
parent 84f5ec7521
commit a947987e82
3 changed files with 40 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.toolkit.Db;
import com.klp.common.utils.StringUtils;
import com.klp.domain.*;
import com.klp.domain.bo.WmsMaterialCoilBo;
@@ -651,6 +652,29 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
return true;
}
/**
* 批量修改调拨单明细(仅修改有值的字段)
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void batchUpdateItems(List<WmsTransferOrderItemBo> list) {
List<WmsTransferOrderItem> entityList = list.stream().map(bo -> {
WmsTransferOrderItem entity = new WmsTransferOrderItem();
entity.setOrderItemId(bo.getOrderItemId());
if (bo.getItemIdAfter() != null) {
entity.setItemIdAfter(bo.getItemIdAfter());
}
if (bo.getMaterialTypeAfter() != null) {
entity.setMaterialTypeAfter(bo.getMaterialTypeAfter());
}
if (bo.getWarehouseIdAfter() != null) {
entity.setWarehouseIdAfter(bo.getWarehouseIdAfter());
}
return entity;
}).collect(Collectors.toList());
baseMapper.updateBatchById(entityList, entityList.size());
}
/**
* 根据钢卷列表匹配或创建物料
*/