package com.mes.md.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.md.entity.Line;
import com.mes.md.entity.LineConfiguration;
import com.mes.md.entity.Machine;
import com.mes.md.mapper.LineConfigurationMapper;
import com.mes.md.mapper.LineMapper;
import com.mes.md.service.LineConfigurationService;
import com.mes.md.service.LineService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
* 服务实现类
*
*
* @author wu
* @since 2024-08-28
*/
@Service
public class LineConfigurationServiceImpl extends MPJBaseServiceImpl implements LineConfigurationService {
/**
* @param machine 当前设备配置
* @return
*/
@Override
public LineConfiguration machineLineConfiguration(Machine machine){
List machineLineConfiguration=baseMapper.selectJoinList(LineConfiguration.class,new MPJLambdaWrapper()
.selectAll(LineConfiguration.class)
.eq(LineConfiguration::getMachineId,machine.getId()));
if(machineLineConfiguration.isEmpty()){
return null;
}
return machineLineConfiguration.get(0);
}
/**
* @param machine 当前设备的上一设备配置
* @return
*/
@Override
public LineConfiguration machineLineConfigurationBefore(Machine machine){
List machineLineConfiguration=baseMapper.selectJoinList(LineConfiguration.class,new MPJLambdaWrapper()
.selectAll(LineConfiguration.class)
.eq(LineConfiguration::getMachineId,machine.getId()));
if(!machineLineConfiguration.isEmpty()){
List machineLineConfigurationBefore=baseMapper.selectJoinList(LineConfiguration.class,new MPJLambdaWrapper()
.selectAll(LineConfiguration.class)
.eq(LineConfiguration::getLineId,machineLineConfiguration.get(0).getLineId())
.eq(LineConfiguration::getIsStart,1)
.lt(LineConfiguration::getProcessSequence,machineLineConfiguration.get(0).getProcessSequence())
.orderByDesc(LineConfiguration::getProcessSequence));
if (!machineLineConfigurationBefore.isEmpty()){
return machineLineConfigurationBefore.get(0);
}
}
return null;
}
/**
* @param machine 当前设备的下一设备配置
* @return
*/
@Override
public LineConfiguration machineLineConfigurationAfter(Machine machine){
List machineLineConfiguration=baseMapper.selectJoinList(LineConfiguration.class,new MPJLambdaWrapper()
.selectAll(LineConfiguration.class)
.eq(LineConfiguration::getMachineId,machine.getId()));
if(!machineLineConfiguration.isEmpty()){
List machineLineConfigurationBefore=baseMapper.selectJoinList(LineConfiguration.class,new MPJLambdaWrapper()
.selectAll(LineConfiguration.class)
.eq(LineConfiguration::getLineId,machineLineConfiguration.get(0).getLineId())
.eq(LineConfiguration::getIsStart,1)
.gt(LineConfiguration::getProcessSequence,machineLineConfiguration.get(0).getProcessSequence())
.orderByAsc(LineConfiguration::getProcessSequence));
if (!machineLineConfigurationBefore.isEmpty()){
return machineLineConfigurationBefore.get(0);
}
}
return null;
}
}