feat(wms): 添加调拨单明细批量修改功能
- 在 IWmsTransferOrderItemService 接口中添加 batchUpdateItems 方法定义 - 在 WmsTransferOrderItemController 中添加 /batchUpdate 接口端点 - 实现 WmsTransferOrderItemServiceImpl 中的批量更新逻辑 - 支持仅更新有值字段的批量修改操作 - 集成 MyBatis-Plus 的 Db 工具类进行批量更新 - 添加事务注解确保数据一致性处理
This commit is contained in:
@@ -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<Void> batchUpdate(@RequestBody List<WmsTransferOrderItemBo> list) {
|
||||
iWmsTransferOrderItemService.batchUpdateItems(list);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量新增调拨单明细
|
||||
*/
|
||||
|
||||
@@ -73,4 +73,9 @@ public interface IWmsTransferOrderItemService {
|
||||
* 根据钢卷列表匹配或创建物料
|
||||
*/
|
||||
Map<Long, Long> matchOrCreateItemByCoilIds(List<WmsTransferOrderItemBo> pairs);
|
||||
|
||||
/**
|
||||
* 批量修改调拨单明细(仅修改有值的字段)
|
||||
*/
|
||||
void batchUpdateItems(List<WmsTransferOrderItemBo> list);
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据钢卷列表匹配或创建物料
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user