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 glassList; // 存放待处理的玻璃信息 private List 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 rack; // 存放玻璃的架子 public MachineHand() { rack = new ArrayList<>(); } public void placeGlass(DownStorageCageDetails details) { rack.add(details); } public boolean isFull() { return rack.size() >= 50; // 判断架子是否已经放满 } } }