diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderServiceImpl.java index aed91082..b8f64414 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderServiceImpl.java @@ -9,11 +9,15 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.klp.domain.bo.WmsTransferOrderBo; import com.klp.domain.vo.WmsTransferOrderVo; import com.klp.domain.WmsTransferOrder; +import com.klp.domain.WmsTransferOrderItem; import com.klp.mapper.WmsTransferOrderMapper; +import com.klp.mapper.WmsTransferOrderItemMapper; import com.klp.service.IWmsTransferOrderService; +import com.klp.service.IWmsTransferOrderItemService; import java.util.List; import java.util.Map; @@ -30,6 +34,8 @@ import java.util.Collection; public class WmsTransferOrderServiceImpl implements IWmsTransferOrderService { private final WmsTransferOrderMapper baseMapper; + private final WmsTransferOrderItemMapper wmsTransferOrderItemMapper; + private final IWmsTransferOrderItemService wmsTransferOrderItemService; /** * 查询调拨单主 @@ -103,10 +109,20 @@ public class WmsTransferOrderServiceImpl implements IWmsTransferOrderService { * 批量删除调拨单主 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 } + + // 先删除关联的调拨单明细记录 + if (ids != null && !ids.isEmpty()) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(WmsTransferOrderItem::getTransferId, ids); + wmsTransferOrderItemMapper.delete(queryWrapper); + } + + // 再删除调拨单主记录 return baseMapper.deleteBatchIds(ids) > 0; } }