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

@@ -126,4 +126,13 @@ public class WmsTransferOrderItemController extends BaseController {
public R<Void> confirm(@Validated(AddGroup.class) @RequestBody WmsTransferOrderItemBo bo) {
return toAjax(iWmsTransferOrderItemService.confirmTransfer(bo));
}
/**
* 取消调拨
*/
@Log(title = "调拨单明细", businessType = BusinessType.DELETE)
@PostMapping("/cancel")
public R<Void> cancel(@NotNull(message = "明细id不能为空") Long orderItemId) {
return toAjax(iWmsTransferOrderItemService.cancelTransfer(orderItemId));
}
}

View File

@@ -22,8 +22,8 @@ public class WmsTransferOrderItem extends BaseEntity {
/**
* 调拨明细主键ID
*/
@TableId(value = "item_id")
private Long itemId;
@TableId(value = "order_item_id")
private Long orderItemId;
/**
* 关联调拨单ID
*/

View File

@@ -7,6 +7,7 @@ import javax.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
/**
* 调拨单主业务对象 wms_transfer_order
@@ -42,6 +43,8 @@ public class WmsTransferOrderBo extends BaseEntity {
/**
* 实际调拨时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date transferTime;
/**

View File

@@ -22,7 +22,7 @@ public class WmsTransferOrderItemBo extends BaseEntity {
/**
* 调拨明细主键ID
*/
private Long itemId;
private Long orderItemId;
/**
* 关联调拨单ID

View File

@@ -23,7 +23,7 @@ public class WmsTransferOrderItemVo {
* 调拨明细主键ID
*/
@ExcelProperty(value = "调拨明细主键ID")
private Long itemId;
private Long orderItemId;
/**
* 关联调拨单ID

View File

@@ -62,4 +62,9 @@ public interface IWmsTransferOrderItemService {
* 确认调拨
*/
Boolean confirmTransfer(WmsTransferOrderItemBo bo);
/**
* 取消调拨
*/
Boolean cancelTransfer(Long orderItemId);
}

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;
}
}