feat(wms): 添加调拨单明细取消功能并优化字段映射
- 在IWmsTransferOrderItemService中新增cancelTransfer方法 - 修改WmsTransferOrderItem实体类将itemId字段重命名为orderItemId - 在WmsTransferOrderItemBo和WmsTransferOrderItemVo中同步字段名称变更 - 为WmsTransferOrderBo的transferTime字段添加日期格式化注解 - 在WmsTransferOrderItemController中添加cancel接口支持取消操作 - 实现WmsTransferOrderItemServiceImpl的cancelTransfer业务逻辑 - 移除未使用的工具类依赖和冗余的coilService注入 - 修复confirmTransfer方法中的字段赋值错误
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -22,7 +22,7 @@ public class WmsTransferOrderItemBo extends BaseEntity {
|
||||
/**
|
||||
* 调拨明细主键ID
|
||||
*/
|
||||
private Long itemId;
|
||||
private Long orderItemId;
|
||||
|
||||
/**
|
||||
* 关联调拨单ID
|
||||
|
||||
@@ -23,7 +23,7 @@ public class WmsTransferOrderItemVo {
|
||||
* 调拨明细主键ID
|
||||
*/
|
||||
@ExcelProperty(value = "调拨明细主键ID")
|
||||
private Long itemId;
|
||||
private Long orderItemId;
|
||||
|
||||
/**
|
||||
* 关联调拨单ID
|
||||
|
||||
@@ -62,4 +62,9 @@ public interface IWmsTransferOrderItemService {
|
||||
* 确认调拨
|
||||
*/
|
||||
Boolean confirmTransfer(WmsTransferOrderItemBo bo);
|
||||
|
||||
/**
|
||||
* 取消调拨
|
||||
*/
|
||||
Boolean cancelTransfer(Long orderItemId);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user