package com.ruoyi.production.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.production.mapper.ProductionSchedulingMapper; import com.ruoyi.production.mapper.ProductionTeamMapper; import com.ruoyi.production.mapper.WorkshopMapper; import com.ruoyi.production.pojo.ProductionScheduling; import com.ruoyi.production.pojo.ProductionTeam; import com.ruoyi.production.pojo.Workshop; import com.ruoyi.production.service.WorkshopService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service @AllArgsConstructor @Slf4j public class WorkshopServiceImpl extends ServiceImpl implements WorkshopService { @Autowired private WorkshopMapper workshopMapper; @Autowired private ProductionTeamMapper productionTeamMapper; @Autowired private ProductionSchedulingMapper productionSchedulingMapper; @Override public IPage pageWorkshop(Page page, Workshop workshop) { return workshopMapper.pageWorkshop(page, workshop); } @Override public List listAll() { return this.list(Wrappers.lambdaQuery().orderByAsc(Workshop::getId)); } @Override public int batchDelete(List ids) { List teams = productionTeamMapper.selectList(Wrappers.lambdaQuery().in(ProductionTeam::getWorkshopId, ids)); if (teams.size() > 0) { throw new RuntimeException("该车间已被班组引用,不能删除"); } List schedulings = productionSchedulingMapper.selectList(Wrappers.lambdaQuery().in(ProductionScheduling::getWorkshopId, ids)); if (schedulings.size() > 0) { throw new RuntimeException("该车间已被排班引用,不能删除"); } return workshopMapper.deleteBatchIds(ids); } }