package com.mes.service;
|
|
import com.mes.entity.DownGlassInfo;
|
import com.mes.entity.DownStorageCageDetails;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
public class GlassHandler {
|
|
private List<DownGlassInfo> glassList; // 存放待处理的玻璃信息
|
private List<DownStorageCageDetails> cageDetailsList; // 存放玻璃放置在缓存笼中的详细信息
|
|
public void processGlass() {
|
// 初始化两个机器手
|
MachineHand hand1 = new MachineHand();
|
MachineHand hand2 = new MachineHand();
|
|
for (DownGlassInfo glass : glassList) {
|
// 根据玻璃规格找到对应的缓存笼子详情
|
DownStorageCageDetails cageDetails = findCageDetailsByGlassSpec(glass);
|
|
if (cageDetails != null) {
|
// 从缓存笼中取出玻璃放到机器手上
|
hand1.placeGlass(cageDetails);
|
hand2.placeGlass(cageDetails);
|
}
|
|
// 判断两个机器手是否都已经摆满
|
if (hand1.isFull() && hand2.isFull()) {
|
// 执行其他操作,比如发送指令等
|
break;
|
}
|
}
|
}
|
|
private DownStorageCageDetails findCageDetailsByGlassSpec(DownGlassInfo glass) {
|
// 根据玻璃规格找到对应的缓存笼子详情
|
for (DownStorageCageDetails details : cageDetailsList) {
|
if (details.getWidth() == glass.getWidth() &&
|
details.getHeight() == glass.getHeight() &&
|
details.getThickness() == glass.getThickness()) {
|
return details;
|
}
|
}
|
return null;
|
}
|
|
private class MachineHand {
|
private List<DownStorageCageDetails> rack; // 存放玻璃的架子
|
|
public MachineHand() {
|
rack = new ArrayList<>();
|
}
|
|
public void placeGlass(DownStorageCageDetails details) {
|
rack.add(details);
|
}
|
|
public boolean isFull() {
|
return rack.size() >= 50; // 判断架子是否已经放满
|
}
|
}
|
}
|
|