diff --git a/src/main/java/com/iflytop/gd/app/core/CraftsContext.java b/src/main/java/com/iflytop/gd/app/core/CraftsContext.java index 547f3bd..262c4d5 100644 --- a/src/main/java/com/iflytop/gd/app/core/CraftsContext.java +++ b/src/main/java/com/iflytop/gd/app/core/CraftsContext.java @@ -63,7 +63,6 @@ public class CraftsContext implements Runnable { public void stateEntered(State state) { CraftsState craftsState = deviceStateService.getDeviceState().getTrayStateByHeatModuleCode(heatModuleCode).getCrafts(); craftsState.setState(state.getId()); - craftsState.setCurrentIndex(currentIndex); Map dataMap = new HashMap<>(); dataMap.put("heatId", heatModuleCode); @@ -84,7 +83,6 @@ public class CraftsContext implements Runnable { try { Message startMsg = MessageBuilder.withPayload(CraftEvents.START).build(); Mono.from(sm.sendEvent(Mono.just(startMsg))).block(); - for (; currentIndex < craftsStepList.size(); currentIndex++) { if (sm.getState().getId() == CraftStates.STOPPED) break; CraftsStep step = craftsStepList.get(currentIndex); @@ -128,6 +126,8 @@ public class CraftsContext implements Runnable { Map startData = new HashMap<>(); startData.put("heatId", heatModuleCode); startData.put("currentStep", step.getMethod()); + CraftsState craftsState = deviceStateService.getDeviceState().getTrayStateByHeatModuleCode(heatModuleCode).getCrafts(); + craftsState.setCurrentIndex(currentIndex); webSocketService.push(WebSocketMessageType.CRAFTS_STEP, startData); return craftsStepService.executeStep(heatModuleCode, step); } diff --git a/src/main/java/com/iflytop/gd/app/core/aspect/DeviceStateChangeAspect.java b/src/main/java/com/iflytop/gd/app/core/aspect/DeviceStateChangeAspect.java index 6f6b709..2a79f26 100644 --- a/src/main/java/com/iflytop/gd/app/core/aspect/DeviceStateChangeAspect.java +++ b/src/main/java/com/iflytop/gd/app/core/aspect/DeviceStateChangeAspect.java @@ -24,7 +24,7 @@ public class DeviceStateChangeAspect { private final Lock lock = new ReentrantLock(); - @Before("execution(* com.iflytop.gd.app.model.bo.status..set*(..))") + @Before("execution(* com.iflytop.gd.app.model.bo.status.device.*.set*(..))") public void beforeSetMethod(JoinPoint joinPoint) { lock.lock(); } diff --git a/src/main/java/com/iflytop/gd/app/model/entity/CraftsAfoot.java b/src/main/java/com/iflytop/gd/app/model/entity/CraftsAfoot.java index b0668c3..7b068e1 100644 --- a/src/main/java/com/iflytop/gd/app/model/entity/CraftsAfoot.java +++ b/src/main/java/com/iflytop/gd/app/model/entity/CraftsAfoot.java @@ -18,12 +18,15 @@ public class CraftsAfoot extends BaseEntity { @Schema(description = "所属加热模块") private HeatModuleCode heatModuleCode; - @Schema(description = "当前工艺执行状态") - private CraftStates states; + @Schema(description = "当前工艺id") + private Long craftsId; @Schema(description = "当前工艺执行步骤") private String craftsStep; + @Schema(description = "当前工艺执行状态") + private CraftStates states; + @Schema(description = "当前工艺步骤参数") private String params; diff --git a/src/main/resources/sql/init.sql b/src/main/resources/sql/init.sql index 08117ae..bbddae3 100644 --- a/src/main/resources/sql/init.sql +++ b/src/main/resources/sql/init.sql @@ -43,8 +43,9 @@ CREATE TABLE IF NOT EXISTS crafts_afoot ( id INTEGER PRIMARY KEY AUTOINCREMENT, heat_module_code TEXT, - states TEXT, + crafts_id INTEGER, crafts_step TEXT, + states TEXT, params TEXT, create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP