package com.vincent.rsf.server.manager.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.common.exception.BusinessException; import com.vincent.rsf.server.manager.enums.AsnExceStatus; import com.vincent.rsf.server.manager.mapper.DeliveryMapper; import com.vincent.rsf.server.manager.entity.Delivery; import com.vincent.rsf.server.manager.service.DeliveryItemService; import com.vincent.rsf.server.manager.service.DeliveryService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service("deliveryService") public class DeliveryServiceImpl extends ServiceImpl implements DeliveryService { @Autowired private DeliveryItemService deliveryItemService; @Override public Delivery removeDo(List list) { List deliveries = this.list(new LambdaQueryWrapper().eq(Delivery::getId, list)); if (deliveries.isEmpty()) { throw new BusinessException("数据错误:单据信息不存在!!"); } deliveries.forEach(delivery -> { if (delivery.getExceStatus().equals(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val)){ if (!this.removeById(delivery.getId())) { throw new CoolException("主单删除失败!!"); } if (!deliveryItemService.removeById(delivery.getId())) { throw new CoolException("单据明细删除失败!1"); } } else { throw new CoolException("单据已执行,不可执行删除操作!!"); } }); return null; } }