package com.ruoyi.warehouse.service.impl; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.warehouse.mapper.WarehouseMapper; import com.ruoyi.warehouse.pojo.Warehouse; import com.ruoyi.warehouse.pojo.WarehouseGoodsShelves; import com.ruoyi.warehouse.service.WarehouseGoodsShelvesService; import com.ruoyi.warehouse.service.WarehouseService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.sql.Array; import java.util.List; import java.util.stream.Collectors; /** * @author 86151 * @description 针对表【warehouse(仓库表)】的数据库操作Service实现 * @createDate 2025-08-13 11:49:02 */ @Service @Slf4j public class WarehouseServiceImpl extends ServiceImpl implements WarehouseService { @Autowired private WarehouseMapper warehouseMapper; @Autowired private WarehouseGoodsShelvesService warehouseGoodsShelvesService; @Override public List listPage(Warehouse warehouse) { return warehouseMapper.listPage( warehouse); } // @Override // public boolean deleteByIds(List ids) { // // for (Long id : ids) { // List list = warehouseGoodsShelvesService.list(new QueryWrapper().lambda() // .eq(WarehouseGoodsShelves::getWarehouseId, id)); // if(list.size()>0){ // log.error("仓库下有货架,不能删除 重新选择"); // return false; // } // } // return removeByIds(ids); // } @Override public boolean deleteByIds(List ids) { // 1. 检查是否有货架 Wrapper queryWrapper = new LambdaQueryWrapper() .in(WarehouseGoodsShelves::getWarehouseId, ids); List shelvesList = warehouseGoodsShelvesService.list(queryWrapper); //获得shelvesList中所有的Id List shelvesIds = shelvesList.stream().map(WarehouseGoodsShelves::getId).collect(Collectors.toList()); // 2. 删除货架 if (!shelvesIds.isEmpty()) { warehouseGoodsShelvesService.deleteByIds(shelvesIds); } return removeByIds(ids); } }