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 9e2221e9..a4c84c6d 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsTransferOrderItemController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsTransferOrderItemController.java @@ -126,4 +126,13 @@ public class WmsTransferOrderItemController extends BaseController { public R confirm(@Validated(AddGroup.class) @RequestBody WmsTransferOrderItemBo bo) { return toAjax(iWmsTransferOrderItemService.confirmTransfer(bo)); } + + /** + * 取消调拨 + */ + @Log(title = "调拨单明细", businessType = BusinessType.DELETE) + @PostMapping("/cancel") + public R cancel(@NotNull(message = "明细id不能为空") Long orderItemId) { + return toAjax(iWmsTransferOrderItemService.cancelTransfer(orderItemId)); + } } diff --git a/klp-wms/src/main/java/com/klp/domain/WmsTransferOrderItem.java b/klp-wms/src/main/java/com/klp/domain/WmsTransferOrderItem.java index 8caab575..8ab78dce 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsTransferOrderItem.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsTransferOrderItem.java @@ -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 */ diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderBo.java index 6acac4a1..f722badb 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderBo.java @@ -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; /** diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderItemBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderItemBo.java index 867ad4d0..e770929e 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderItemBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderItemBo.java @@ -22,7 +22,7 @@ public class WmsTransferOrderItemBo extends BaseEntity { /** * 调拨明细主键ID */ - private Long itemId; + private Long orderItemId; /** * 关联调拨单ID diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsTransferOrderItemVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsTransferOrderItemVo.java index 68dbde67..344c66ea 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsTransferOrderItemVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsTransferOrderItemVo.java @@ -23,7 +23,7 @@ public class WmsTransferOrderItemVo { * 调拨明细主键ID */ @ExcelProperty(value = "调拨明细主键ID") - private Long itemId; + private Long orderItemId; /** * 关联调拨单ID 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 92e52b25..0560051d 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsTransferOrderItemService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsTransferOrderItemService.java @@ -62,4 +62,9 @@ public interface IWmsTransferOrderItemService { * 确认调拨 */ Boolean confirmTransfer(WmsTransferOrderItemBo bo); + + /** + * 取消调拨 + */ + Boolean cancelTransfer(Long orderItemId); } 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 b33fc8a4..d96bb7be 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 @@ -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 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; + } }