package com.northglass.service.loadmachinerack;
|
|
import java.util.List;
|
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import com.northglass.entity.LoadMachine;
|
import com.northglass.entity.LoadMachineRack;
|
import com.northglass.entity.OptPattern;
|
import com.northglass.entity.RawPackage;
|
import com.northglass.entity.SingalGlass;
|
import com.northglass.repository.LoadMachineRackDao;
|
import com.northglass.repository.SingalGlassDao;
|
|
@Component
|
@Transactional
|
public class LoadMachineRackService {
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(LoadMachineRackService.class);
|
|
@Autowired
|
private LoadMachineRackDao loadMachineRackDao;
|
|
@Autowired
|
private SingalGlassDao singalGlassDao;
|
|
public String getLoadMachineRackNumberById(Long loadMachineRackId) {
|
return loadMachineRackDao.findNumberById(loadMachineRackId);
|
}
|
|
public LoadMachineRack saveLoadMachineRack(LoadMachineRack loadMachineRack) {
|
return loadMachineRackDao.save(loadMachineRack);
|
}
|
|
public List<SingalGlass> findByOptPattern(Long optPatternid){
|
return singalGlassDao.findByOptPattern(optPatternid);
|
}
|
|
/**
|
* 根据Pattern的宽度、高度、厚度去匹配上片位上的原片
|
*
|
* @param pattern
|
* @return 若匹配,则返回相应货架;若不匹配,则返回null。
|
*/
|
public LoadMachineRack getLoadMachineRackByOptPattern(OptPattern pattern, LoadMachine loadMachine) {
|
LOGGER.debug("> Start getLoadMachineRackByOptPattern");
|
LOGGER.debug("pattern: " + (pattern == null ? null : pattern.getDescription()));
|
|
List<LoadMachineRack> loadMachineRacks = loadMachineRackDao.findLoadMachineRacksByLoadMachineId(loadMachine.getId());
|
LOGGER.debug("loadMachineRacks size: " + loadMachineRacks.size());
|
|
for (LoadMachineRack rack : loadMachineRacks) {
|
RawPackage rawPackage = rack.getRawPackage();
|
LOGGER.debug("rawPackage: " + (rawPackage == null ? null : rawPackage.getDescription()));
|
|
if (rawPackage == null) {
|
continue;
|
}
|
|
if (rawPackage.getLeftPieces() == 0) {
|
continue;
|
}
|
|
if (rawPackage.getWidth() == pattern.getWidth()
|
&& rawPackage.getHeight() == pattern.getHeight()
|
&& rawPackage.getThickness() == pattern.getGlassThickness()) {
|
return rack;
|
}
|
}
|
|
LOGGER.debug("> End getLoadMachineRackByOptPattern");
|
return null;
|
}
|
}
|