|
@ -1,15 +1,11 @@ |
|
|
package com.iflytop.gd.app.service; |
|
|
package com.iflytop.gd.app.service; |
|
|
|
|
|
|
|
|
import com.iflytop.gd.app.core.device.DeviceState; |
|
|
|
|
|
import com.iflytop.gd.app.core.device.HeatAreaState; |
|
|
|
|
|
import com.iflytop.gd.app.core.device.TrayState; |
|
|
|
|
|
import com.iflytop.gd.app.core.device.TubeState; |
|
|
|
|
|
|
|
|
import com.iflytop.gd.app.core.device.*; |
|
|
import com.iflytop.gd.app.core.listener.DeviceStateListener; |
|
|
import com.iflytop.gd.app.core.listener.DeviceStateListener; |
|
|
import com.iflytop.gd.common.enums.ContainerCode; |
|
|
import com.iflytop.gd.common.enums.ContainerCode; |
|
|
import com.iflytop.gd.common.enums.HeatModuleIdCode; |
|
|
|
|
|
|
|
|
import com.iflytop.gd.common.enums.HeatModuleCode; |
|
|
import jakarta.annotation.PostConstruct; |
|
|
import jakarta.annotation.PostConstruct; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
import java.beans.PropertyChangeSupport; |
|
|
import java.beans.PropertyChangeSupport; |
|
@ -64,36 +60,71 @@ public class DeviceStateService { |
|
|
support.firePropertyChange("setGantryArmStateIdle", oldValue, idle); |
|
|
support.firePropertyChange("setGantryArmStateIdle", oldValue, idle); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public synchronized void setHeatAreaStateTrayStatus(HeatModuleIdCode heatModuleId, int trayStatus) { |
|
|
|
|
|
HeatAreaState heatAreaState = deviceState.getHeatArea().get(heatModuleId); |
|
|
|
|
|
|
|
|
public synchronized void setHeatAreaStateTrayStatus(HeatModuleCode heatModuleId, int trayStatus) { |
|
|
|
|
|
HeatAreaState heatAreaState = null; |
|
|
|
|
|
for (HeatAreaState t : deviceState.getHeatArea()) { |
|
|
|
|
|
if (heatModuleId.equals(t.getModuleCode())) { |
|
|
|
|
|
heatAreaState = t; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
assert heatAreaState != null; |
|
|
int oldValue = heatAreaState.getTrayStatus(); |
|
|
int oldValue = heatAreaState.getTrayStatus(); |
|
|
heatAreaState.setTrayStatus(trayStatus); |
|
|
heatAreaState.setTrayStatus(trayStatus); |
|
|
support.firePropertyChange("setHeatAreaStateTrayStatus", oldValue, trayStatus); |
|
|
support.firePropertyChange("setHeatAreaStateTrayStatus", oldValue, trayStatus); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public synchronized void setHeatAreaStateHeating(HeatModuleIdCode heatModuleId, boolean heating) { |
|
|
|
|
|
HeatAreaState heatAreaState = deviceState.getHeatArea().get(heatModuleId); |
|
|
|
|
|
|
|
|
public synchronized void setHeatAreaStateHeating(HeatModuleCode heatModuleId, boolean heating) { |
|
|
|
|
|
HeatAreaState heatAreaState = null; |
|
|
|
|
|
for (HeatAreaState t : deviceState.getHeatArea()) { |
|
|
|
|
|
if (heatModuleId.equals(t.getModuleCode())) { |
|
|
|
|
|
heatAreaState = t; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
assert heatAreaState != null; |
|
|
boolean oldValue = heatAreaState.isHeating(); |
|
|
boolean oldValue = heatAreaState.isHeating(); |
|
|
heatAreaState.setHeating(heating); |
|
|
heatAreaState.setHeating(heating); |
|
|
support.firePropertyChange("setHeatAreaStateHeating", oldValue, heating); |
|
|
support.firePropertyChange("setHeatAreaStateHeating", oldValue, heating); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public synchronized void setHeatAreaStateCapExist(HeatModuleIdCode heatModuleId, boolean capStatus) { |
|
|
|
|
|
HeatAreaState heatAreaState = deviceState.getHeatArea().get(heatModuleId); |
|
|
|
|
|
|
|
|
public synchronized void setHeatAreaStateCapExist(HeatModuleCode heatModuleId, boolean capStatus) { |
|
|
|
|
|
HeatAreaState heatAreaState = null; |
|
|
|
|
|
for (HeatAreaState t : deviceState.getHeatArea()) { |
|
|
|
|
|
if (heatModuleId.equals(t.getModuleCode())) { |
|
|
|
|
|
heatAreaState = t; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
assert heatAreaState != null; |
|
|
boolean oldValue = heatAreaState.isCapExist(); |
|
|
boolean oldValue = heatAreaState.isCapExist(); |
|
|
heatAreaState.setCapExist(capStatus); |
|
|
heatAreaState.setCapExist(capStatus); |
|
|
support.firePropertyChange("setHeatAreaStateCapExist", oldValue, capStatus); |
|
|
support.firePropertyChange("setHeatAreaStateCapExist", oldValue, capStatus); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public synchronized void setHeatAreaStateTargetTemperature(HeatModuleIdCode heatModuleId, double targetTemperature) { |
|
|
|
|
|
HeatAreaState heatAreaState = deviceState.getHeatArea().get(heatModuleId); |
|
|
|
|
|
|
|
|
public synchronized void setHeatAreaStateTargetTemperature(HeatModuleCode heatModuleId, double targetTemperature) { |
|
|
|
|
|
HeatAreaState heatAreaState = null; |
|
|
|
|
|
for (HeatAreaState t : deviceState.getHeatArea()) { |
|
|
|
|
|
if (heatModuleId.equals(t.getModuleCode())) { |
|
|
|
|
|
heatAreaState = t; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
assert heatAreaState != null; |
|
|
double oldValue = heatAreaState.getTargetTemperature(); |
|
|
double oldValue = heatAreaState.getTargetTemperature(); |
|
|
heatAreaState.setTemperature(targetTemperature); |
|
|
heatAreaState.setTemperature(targetTemperature); |
|
|
support.firePropertyChange("setHeatAreaStateTargetTemperature", oldValue, targetTemperature); |
|
|
support.firePropertyChange("setHeatAreaStateTargetTemperature", oldValue, targetTemperature); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public synchronized void setHeatAreaStateTemperature(HeatModuleIdCode heatModuleId, double temperature) { |
|
|
|
|
|
HeatAreaState heatAreaState = deviceState.getHeatArea().get(heatModuleId); |
|
|
|
|
|
|
|
|
public synchronized void setHeatAreaStateTemperature(HeatModuleCode heatModuleId, double temperature) { |
|
|
|
|
|
HeatAreaState heatAreaState = null; |
|
|
|
|
|
for (HeatAreaState t : deviceState.getHeatArea()) { |
|
|
|
|
|
if (heatModuleId.equals(t.getModuleCode())) { |
|
|
|
|
|
heatAreaState = t; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
assert heatAreaState != null; |
|
|
double oldValue = heatAreaState.getTemperature(); |
|
|
double oldValue = heatAreaState.getTemperature(); |
|
|
heatAreaState.setTemperature(temperature); |
|
|
heatAreaState.setTemperature(temperature); |
|
|
support.firePropertyChange("setHeatAreaStateTemperature", oldValue, temperature); |
|
|
support.firePropertyChange("setHeatAreaStateTemperature", oldValue, temperature); |
|
@ -124,18 +155,34 @@ public class DeviceStateService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public synchronized void setSolutionContainerStateEmpty(ContainerCode containerCode, boolean empty) { |
|
|
public synchronized void setSolutionContainerStateEmpty(ContainerCode containerCode, boolean empty) { |
|
|
boolean oldValue = deviceState.getSolutionArea().getSolutionContainer().get(containerCode).isEmpty(); |
|
|
|
|
|
deviceState.getSolutionArea().getSolutionContainer().get(containerCode).setEmpty(empty); |
|
|
|
|
|
|
|
|
SolutionContainerState solutionContainerState = null; |
|
|
|
|
|
for (SolutionContainerState t : deviceState.getSolutionArea().getSolutionContainer()) { |
|
|
|
|
|
if (containerCode.equals(t.getContainerCode())) { |
|
|
|
|
|
solutionContainerState = t; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
assert solutionContainerState != null; |
|
|
|
|
|
boolean oldValue = solutionContainerState.isEmpty(); |
|
|
|
|
|
solutionContainerState.setEmpty(empty); |
|
|
support.firePropertyChange("setSolutionContainerStateEmpty", oldValue, empty); |
|
|
support.firePropertyChange("setSolutionContainerStateEmpty", oldValue, empty); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public synchronized void setSolutionContainerStateFull(ContainerCode containerCode, boolean full) { |
|
|
public synchronized void setSolutionContainerStateFull(ContainerCode containerCode, boolean full) { |
|
|
boolean oldValue = deviceState.getSolutionArea().getSolutionContainer().get(containerCode).isFull(); |
|
|
|
|
|
deviceState.getSolutionArea().getSolutionContainer().get(containerCode).setFull(full); |
|
|
|
|
|
|
|
|
SolutionContainerState solutionContainerState = null; |
|
|
|
|
|
for (SolutionContainerState t : deviceState.getSolutionArea().getSolutionContainer()) { |
|
|
|
|
|
if (containerCode.equals(t.getContainerCode())) { |
|
|
|
|
|
solutionContainerState = t; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
assert solutionContainerState != null; |
|
|
|
|
|
boolean oldValue = solutionContainerState.isFull(); |
|
|
|
|
|
solutionContainerState.setFull(full); |
|
|
support.firePropertyChange("setSolutionContainerStateFull", oldValue, full); |
|
|
support.firePropertyChange("setSolutionContainerStateFull", oldValue, full); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public synchronized void setTrayStateHeatModuleId(String trayUUID, HeatModuleIdCode heatModuleId) { |
|
|
|
|
|
|
|
|
public synchronized void setTrayStateHeatModuleId(String trayUUID, HeatModuleCode heatModuleId) { |
|
|
TrayState foundTrayState = null; |
|
|
TrayState foundTrayState = null; |
|
|
for (TrayState t : deviceState.getTray()) { |
|
|
for (TrayState t : deviceState.getTray()) { |
|
|
if (trayUUID.equals(t.getUuid())) { |
|
|
if (trayUUID.equals(t.getUuid())) { |
|
@ -144,7 +191,7 @@ public class DeviceStateService { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
assert foundTrayState != null; |
|
|
assert foundTrayState != null; |
|
|
HeatModuleIdCode oldValue = foundTrayState.getHeatModuleId(); |
|
|
|
|
|
|
|
|
HeatModuleCode oldValue = foundTrayState.getHeatModuleId(); |
|
|
foundTrayState.setHeatModuleId(heatModuleId); |
|
|
foundTrayState.setHeatModuleId(heatModuleId); |
|
|
support.firePropertyChange("setTrayStateHeatModuleId", oldValue, heatModuleId); |
|
|
support.firePropertyChange("setTrayStateHeatModuleId", oldValue, heatModuleId); |
|
|
} |
|
|
} |
|
|