feat(wms): 添加调拨单明细取消功能并优化字段映射

- 在IWmsTransferOrderItemService中新增cancelTransfer方法
- 修改WmsTransferOrderItem实体类将itemId字段重命名为orderItemId
- 在WmsTransferOrderItemBo和WmsTransferOrderItemVo中同步字段名称变更
- 为WmsTransferOrderBo的transferTime字段添加日期格式化注解
- 在WmsTransferOrderItemController中添加cancel接口支持取消操作
- 实现WmsTransferOrderItemServiceImpl的cancelTransfer业务逻辑
- 移除未使用的工具类依赖和冗余的coilService注入
- 修复confirmTransfer方法中的字段赋值错误
This commit is contained in:
2026-03-27 17:13:45 +08:00
parent b842f267cc
commit 1c9a59636a
7 changed files with 54 additions and 9 deletions

View File

@@ -20,6 +20,7 @@ import com.klp.mapper.WmsProductMapper;
import com.klp.mapper.WmsMaterialCoilMapper;
import com.klp.service.IWmsTransferOrderItemService;
import com.klp.service.IWmsMaterialCoilService;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
@@ -27,9 +28,6 @@ import java.util.Collection;
import java.util.Objects;
import java.util.ArrayList;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.klp.common.utils.StringUtils;
/**
* 调拨单明细Service业务层处理
@@ -45,7 +43,6 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
private final WmsRawMaterialMapper rawMaterialMapper;
private final WmsProductMapper productMapper;
private final WmsMaterialCoilMapper coilMapper;
private final IWmsMaterialCoilService coilService;
/**
* 查询调拨单明细
@@ -97,7 +94,7 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setItemId(add.getItemId());
bo.setOrderItemId(add.getOrderItemId());
}
return flag;
}
@@ -135,6 +132,7 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
* itemType: raw_material-原料, product-成品
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Long matchOrCreateMaterial(Long itemId, String itemType) {
if (Objects.equals(itemType, "raw_material")) {
return matchOrCreateFromRawMaterial(itemId);
@@ -212,6 +210,7 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
* 批量新增调拨单明细
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean batchInsert(WmsTransferOrderItemBo bo) {
Long transferId = bo.getTransferId();
List<Long> coilIds = bo.getCoilIds();
@@ -247,6 +246,7 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
* 确认调拨
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean confirmTransfer(WmsTransferOrderItemBo bo) {
Long coilId = bo.getCoilId();
Long itemId = bo.getItemIdAfter();
@@ -279,4 +279,32 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer
return true;
}
/**
* 取消调拨
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean cancelTransfer(Long orderItemId) {
WmsTransferOrderItem item = baseMapper.selectById(orderItemId);
if (item == null) {
throw new IllegalArgumentException("明细记录不存在");
}
Long coilId = item.getCoilId();
Long originalItemId = item.getItemIdBefore();
Long originalMaterialType = item.getMaterialTypeBefore();
Long originalWarehouseId = item.getWarehouseIdBefore();
WmsMaterialCoil coil = coilMapper.selectById(coilId);
if (coil != null) {
coil.setItemId(originalItemId);
coil.setItemType(originalMaterialType == 1 ? "raw_material" : "product");
coil.setWarehouseId(originalWarehouseId);
coilMapper.updateById(coil);
}
baseMapper.deleteById(orderItemId);
return true;
}
}