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<WorkshopMapper, Workshop> implements WorkshopService {
|
|
@Autowired
|
private WorkshopMapper workshopMapper;
|
|
@Autowired
|
private ProductionTeamMapper productionTeamMapper;
|
|
@Autowired
|
private ProductionSchedulingMapper productionSchedulingMapper;
|
|
@Override
|
public IPage<Workshop> pageWorkshop(Page<Workshop> page, Workshop workshop) {
|
return workshopMapper.pageWorkshop(page, workshop);
|
}
|
|
@Override
|
public List<Workshop> listAll() {
|
return this.list(Wrappers.<Workshop>lambdaQuery().orderByAsc(Workshop::getId));
|
}
|
|
@Override
|
public int batchDelete(List<Long> ids) {
|
List<ProductionTeam> teams = productionTeamMapper.selectList(Wrappers.<ProductionTeam>lambdaQuery().in(ProductionTeam::getWorkshopId, ids));
|
if (teams.size() > 0) {
|
throw new RuntimeException("该车间已被班组引用,不能删除");
|
}
|
List<ProductionScheduling> schedulings = productionSchedulingMapper.selectList(Wrappers.<ProductionScheduling>lambdaQuery().in(ProductionScheduling::getWorkshopId, ids));
|
if (schedulings.size() > 0) {
|
throw new RuntimeException("该车间已被排班引用,不能删除");
|
}
|
return workshopMapper.deleteBatchIds(ids);
|
}
|
}
|