From a947987e820e71270c8c158b3dd571007a02ae53 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 18 May 2026 14:19:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E8=B0=83?= =?UTF-8?q?=E6=8B=A8=E5=8D=95=E6=98=8E=E7=BB=86=E6=89=B9=E9=87=8F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 IWmsTransferOrderItemService 接口中添加 batchUpdateItems 方法定义 - 在 WmsTransferOrderItemController 中添加 /batchUpdate 接口端点 - 实现 WmsTransferOrderItemServiceImpl 中的批量更新逻辑 - 支持仅更新有值字段的批量修改操作 - 集成 MyBatis-Plus 的 Db 工具类进行批量更新 - 添加事务注解确保数据一致性处理 --- .../WmsTransferOrderItemController.java | 11 +++++++++ .../service/IWmsTransferOrderItemService.java | 5 ++++ .../impl/WmsTransferOrderItemServiceImpl.java | 24 +++++++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/klp-wms/src/main/java/com/klp/controller/WmsTransferOrderItemController.java b/klp-wms/src/main/java/com/klp/controller/WmsTransferOrderItemController.java index 80bd1a80..3894186c 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsTransferOrderItemController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsTransferOrderItemController.java @@ -116,6 +116,17 @@ public class WmsTransferOrderItemController extends BaseController { return R.ok(iWmsTransferOrderItemService.matchOrCreateItemByCoilIds(pairs)); } + /** + * 批量修改调拨单明细 + */ + @Log(title = "调拨单明细", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PostMapping("/batchUpdate") + public R batchUpdate(@RequestBody List list) { + iWmsTransferOrderItemService.batchUpdateItems(list); + return R.ok(); + } + /** * 批量新增调拨单明细 */ diff --git a/klp-wms/src/main/java/com/klp/service/IWmsTransferOrderItemService.java b/klp-wms/src/main/java/com/klp/service/IWmsTransferOrderItemService.java index 69c573e3..71aa6384 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsTransferOrderItemService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsTransferOrderItemService.java @@ -73,4 +73,9 @@ public interface IWmsTransferOrderItemService { * 根据钢卷列表匹配或创建物料 */ Map matchOrCreateItemByCoilIds(List pairs); + + /** + * 批量修改调拨单明细(仅修改有值的字段) + */ + void batchUpdateItems(List list); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderItemServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderItemServiceImpl.java index a6bf6aef..51ebc2bb 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderItemServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderItemServiceImpl.java @@ -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 list) { + List 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()); + } + /** * 根据钢卷列表匹配或创建物料 */