Browse Source

设备状态的赋值

master
王梦远 1 week ago
parent
commit
47e25c23be
  1. 5
      src/main/java/com/iflytop/colortitration/app/command/control/heat/HeatRodCloseCommand.java
  2. 6
      src/main/java/com/iflytop/colortitration/app/command/control/heat/HeatRodOpenCommand.java
  3. 2
      src/main/java/com/iflytop/colortitration/app/command/control/transfer/HeatAreaMoveTitrationAreaCommand.java
  4. 2
      src/main/java/com/iflytop/colortitration/app/command/control/transfer/TitrationAreaMoveHeatAreaCommand.java
  5. 4
      src/main/java/com/iflytop/colortitration/app/command/control/transfer/TitrationMoveTrayAreaCommand.java
  6. 4
      src/main/java/com/iflytop/colortitration/app/command/control/transfer/TrayMoveTitrationAreaCommand.java
  7. 1
      src/main/java/com/iflytop/colortitration/app/controller/CraftsController.java

5
src/main/java/com/iflytop/colortitration/app/command/control/heat/HeatRodCloseCommand.java

@ -3,6 +3,7 @@ package com.iflytop.colortitration.app.command.control.heat;
import com.iflytop.colortitration.app.common.annotation.CommandMapping;
import com.iflytop.colortitration.app.common.enums.MultipleModuleCode;
import com.iflytop.colortitration.app.core.command.BaseCommandHandler;
import com.iflytop.colortitration.app.core.state.DeviceState;
import com.iflytop.colortitration.app.model.dto.CommandDTO;
import com.iflytop.colortitration.app.service.module.HeatModuleService;
import com.iflytop.colortitration.common.exception.AppException;
@ -23,6 +24,7 @@ import java.util.concurrent.CompletableFuture;
@CommandMapping("heater_stop")
public class HeatRodCloseCommand extends BaseCommandHandler {
private final HeatModuleService heatModuleService;
private final DeviceState deviceState;
@Override
public CompletableFuture<Void> handle(CommandDTO commandDTO) {
@ -33,6 +35,9 @@ public class HeatRodCloseCommand extends BaseCommandHandler {
MultipleModuleCode heatModuleCode = MultipleModuleCode.valueOf(heatModuleCodeStr);
return runAsync(() -> {
heatModuleService.closeHeatRod(heatModuleCode);
deviceState.getHeatModuleStateMap().get(heatModuleCode).setOpen(false);
deviceState.getHeatModuleStateMap().get(heatModuleCode).setTargetTemperature(null);
deviceState.getHeatModuleStateMap().get(heatModuleCode).setStartHeatTime(null);
});
}
}

6
src/main/java/com/iflytop/colortitration/app/command/control/heat/HeatRodOpenCommand.java

@ -3,6 +3,7 @@ package com.iflytop.colortitration.app.command.control.heat;
import com.iflytop.colortitration.app.common.annotation.CommandMapping;
import com.iflytop.colortitration.app.common.enums.MultipleModuleCode;
import com.iflytop.colortitration.app.core.command.BaseCommandHandler;
import com.iflytop.colortitration.app.core.state.DeviceState;
import com.iflytop.colortitration.app.model.dto.CommandDTO;
import com.iflytop.colortitration.app.service.module.HeatModuleService;
import com.iflytop.colortitration.common.exception.AppException;
@ -12,6 +13,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.concurrent.CompletableFuture;
/**
@ -23,6 +25,7 @@ import java.util.concurrent.CompletableFuture;
@CommandMapping("heater_start")
public class HeatRodOpenCommand extends BaseCommandHandler {
private final HeatModuleService heatModuleService;
private final DeviceState deviceState;
@Override
public CompletableFuture<Void> handle(CommandDTO commandDTO) {
@ -34,6 +37,9 @@ public class HeatRodOpenCommand extends BaseCommandHandler {
MultipleModuleCode heatModuleCode = MultipleModuleCode.valueOf(heatModuleCodeStr);
return runAsync(() -> {
heatModuleService.openHeatRod(heatModuleCode, temperature);
deviceState.getHeatModuleStateMap().get(heatModuleCode).setTargetTemperature(temperature);
deviceState.getHeatModuleStateMap().get(heatModuleCode).setOpen(true);
deviceState.getHeatModuleStateMap().get(heatModuleCode).setStartHeatTime(LocalDateTime.now());
});
}
}

2
src/main/java/com/iflytop/colortitration/app/command/control/transfer/HeatAreaMoveTitrationAreaCommand.java

@ -68,6 +68,8 @@ public class HeatAreaMoveTitrationAreaCommand extends BaseCommandHandler {
transferModuleService.clawOpen();
//机械臂回到原点
transferModuleService.roboticMoveToOrigin();
deviceState.getHeatModuleStateMap().get(titrationModuleCode).setTubeExist(false);
deviceState.getTitrationModuleStateMap().get(titrationModuleCode).setTubeExist(true);
});
}
}

2
src/main/java/com/iflytop/colortitration/app/command/control/transfer/TitrationAreaMoveHeatAreaCommand.java

@ -68,6 +68,8 @@ public class TitrationAreaMoveHeatAreaCommand extends BaseCommandHandler {
transferModuleService.clawOpen();
//机械臂回到原点
transferModuleService.roboticMoveToOrigin();
deviceState.getHeatModuleStateMap().get(titrationModuleCode).setTubeExist(true);
deviceState.getTitrationModuleStateMap().get(titrationModuleCode).setTubeExist(false);
});
}
}

4
src/main/java/com/iflytop/colortitration/app/command/control/transfer/TitrationMoveTrayAreaCommand.java

@ -2,6 +2,7 @@ package com.iflytop.colortitration.app.command.control.transfer;
import com.iflytop.colortitration.app.common.annotation.CommandMapping;
import com.iflytop.colortitration.app.common.enums.MultipleModuleCode;
import com.iflytop.colortitration.app.common.enums.TitrationStatus;
import com.iflytop.colortitration.app.core.command.BaseCommandHandler;
import com.iflytop.colortitration.app.core.state.DeviceState;
import com.iflytop.colortitration.app.model.dto.CommandDTO;
@ -64,6 +65,9 @@ public class TitrationMoveTrayAreaCommand extends BaseCommandHandler {
transferModuleService.clawOpen();
//机械臂回到原点
transferModuleService.roboticMoveToOrigin();
deviceState.getTitrationModuleStateMap().get(titrationModuleCode).setTubeExist(false);
deviceState.getTrayTubeStateMap().get(tubeNum).setTubeExist(true);
deviceState.getTrayTubeStateMap().get(tubeNum).setTitrationStatus(TitrationStatus.COMPLETED);
});
}
}

4
src/main/java/com/iflytop/colortitration/app/command/control/transfer/TrayMoveTitrationAreaCommand.java

@ -2,6 +2,7 @@ package com.iflytop.colortitration.app.command.control.transfer;
import com.iflytop.colortitration.app.common.annotation.CommandMapping;
import com.iflytop.colortitration.app.common.enums.MultipleModuleCode;
import com.iflytop.colortitration.app.common.enums.TitrationStatus;
import com.iflytop.colortitration.app.core.command.BaseCommandHandler;
import com.iflytop.colortitration.app.core.state.DeviceState;
import com.iflytop.colortitration.app.model.dto.CommandDTO;
@ -84,6 +85,9 @@ public class TrayMoveTitrationAreaCommand extends BaseCommandHandler {
transferModuleService.clawOpen();
//机械臂回到原点
transferModuleService.roboticMoveToOrigin();
deviceState.getTitrationModuleStateMap().get(titrationModuleCode).setTubeExist(true);
deviceState.getTrayTubeStateMap().get(tubeNum).setTubeExist(false);
deviceState.getTrayTubeStateMap().get(tubeNum).setTitrationStatus(TitrationStatus.IN_PROGRESS);
});
}
}

1
src/main/java/com/iflytop/colortitration/app/controller/CraftsController.java

@ -106,4 +106,5 @@ public class CraftsController {
return Result.success();
}
}
Loading…
Cancel
Save