Browse Source

工艺监控修改保存逻辑

master
王梦远 2 months ago
parent
commit
ecdcf63280
  1. 2
      src/main/java/com/iflytop/sgs/app/core/CraftsContext.java
  2. 76
      src/main/java/com/iflytop/sgs/app/service/crafts/CraftsStepService.java
  3. 18
      src/main/java/com/iflytop/sgs/common/enums/CraftsMonitorResultCode.java

2
src/main/java/com/iflytop/sgs/app/core/CraftsContext.java

@ -91,7 +91,7 @@ public class CraftsContext implements Runnable {
CraftsStep step = craftsStepList.get(currentIndex); CraftsStep step = craftsStepList.get(currentIndex);
craftMonitor.setCurrentStepId(currentIndex); craftMonitor.setCurrentStepId(currentIndex);
craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState())); craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState()));
craftMonitorService.saveOrUpdate(craftMonitor);
craftMonitorService.saveMonitor(craftMonitor);
boolean ok = executeStep(step, craftMonitor); boolean ok = executeStep(step, craftMonitor);
if (!ok) { if (!ok) {
Message<CraftEvents> errMsg = MessageBuilder.withPayload(CraftEvents.ERROR_OCCUR).build(); Message<CraftEvents> errMsg = MessageBuilder.withPayload(CraftEvents.ERROR_OCCUR).build();

76
src/main/java/com/iflytop/sgs/app/service/crafts/CraftsStepService.java

@ -31,6 +31,7 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
@ -100,11 +101,9 @@ public class CraftsStepService {
log.info("工艺{},-------------------------------------加稀硝酸-------------------------------------", heatModuleCode); log.info("工艺{},-------------------------------------加稀硝酸-------------------------------------", heatModuleCode);
/*工艺监控*/ /*工艺监控*/
log.info("工艺{},工艺监控", heatModuleCode); log.info("工艺{},工艺监控", heatModuleCode);
JSONObject result = new JSONObject();
List<Integer> finishColumns = new ArrayList<>(); List<Integer> finishColumns = new ArrayList<>();
result.set(ResultCode.SUCCESS.getCode(), finishColumns);
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitorService.saveOrUpdate(craftMonitor);
craftMonitor.setCurrentStepResult(CraftsMonitorResultCode.add_liquid_column.getDescription() + Arrays.toString(finishColumns.toArray()));
craftMonitorService.saveMonitor(craftMonitor);
/*工艺监控结束*/ /*工艺监控结束*/
/*获取配置信息*/ /*获取配置信息*/
@ -213,10 +212,9 @@ public class CraftsStepService {
solutionModuleService.solutionMotorMoveZero();//加液机械臂上升 solutionModuleService.solutionMotorMoveZero();//加液机械臂上升
/*工艺监控开始*/ /*工艺监控开始*/
finishColumns.add(i); finishColumns.add(i);
result.set("columns", finishColumns);//添加到结果
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitor.setCurrentStepResult(CraftsMonitorResultCode.add_liquid_column.getDescription() + Arrays.toString(finishColumns.toArray()));
craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState())); craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState()));
craftMonitorService.saveOrUpdate(craftMonitor);
craftMonitorService.saveMonitor(craftMonitor);
/*工艺监控结束*/ /*工艺监控结束*/
} }
solutionModuleService.liquidPumpMove(-backFlowDistance);//预充 solutionModuleService.liquidPumpMove(-backFlowDistance);//预充
@ -256,11 +254,9 @@ public class CraftsStepService {
log.info("工艺{},------------------------------加浓硝酸---------------------------", heatModuleCode); log.info("工艺{},------------------------------加浓硝酸---------------------------", heatModuleCode);
/*工艺监控*/ /*工艺监控*/
log.info("工艺{},工艺监控", heatModuleCode); log.info("工艺{},工艺监控", heatModuleCode);
JSONObject result = new JSONObject();
List<Integer> finishColumns = new ArrayList<>(); List<Integer> finishColumns = new ArrayList<>();
result.set(ResultCode.SUCCESS.getCode(), finishColumns);
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitorService.saveOrUpdate(craftMonitor);
craftMonitor.setCurrentStepResult(CraftsMonitorResultCode.add_liquid_column.getDescription() + Arrays.toString(finishColumns.toArray()));
craftMonitorService.saveMonitor(craftMonitor);
/*工艺监控结束*/ /*工艺监控结束*/
/*获取配置信息*/ /*获取配置信息*/
@ -411,10 +407,9 @@ public class CraftsStepService {
solutionModuleService.solutionMotorMoveZero();//加液机械臂上升 solutionModuleService.solutionMotorMoveZero();//加液机械臂上升
/*工艺监控开始*/ /*工艺监控开始*/
finishColumns.add(i); finishColumns.add(i);
result.set("columns", finishColumns);//添加到结果
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitor.setCurrentStepResult(CraftsMonitorResultCode.add_liquid_column.getDescription() + Arrays.toString(finishColumns.toArray()));
craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState())); craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState()));
craftMonitorService.saveOrUpdate(craftMonitor);
craftMonitorService.saveMonitor(craftMonitor);
/*工艺监控结束*/ /*工艺监控结束*/
} }
solutionModuleService.liquidPumpMove(-backFlowDistance);//预充 solutionModuleService.liquidPumpMove(-backFlowDistance);//预充
@ -453,9 +448,9 @@ public class CraftsStepService {
* */ * */
public boolean heat(HeatModuleCode heatModuleCode, JSONObject params, CraftMonitor craftMonitor) throws Exception { public boolean heat(HeatModuleCode heatModuleCode, JSONObject params, CraftMonitor craftMonitor) throws Exception {
/*工艺监控清理上步的记录*/ /*工艺监控清理上步的记录*/
JSONObject result = new JSONObject();
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitorService.saveOrUpdate(craftMonitor);
craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState()));
craftMonitor.setCurrentStepResult(CraftsMonitorResultCode.heat_time.getDescription() + ":0");
craftMonitorService.saveMonitor(craftMonitor);
/*工艺监控清理上步的记录*/ /*工艺监控清理上步的记录*/
Double temperature = params.getDouble("temperature");//温度 Double temperature = params.getDouble("temperature");//温度
Integer time = params.getInt("time");// Integer time = params.getInt("time");//
@ -485,10 +480,9 @@ public class CraftsStepService {
cycle--; cycle--;
clock = clock + 60; clock = clock + 60;
/*保存到工艺监控*/ /*保存到工艺监控*/
result.set("time", clock);//添加到结果
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState())); craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState()));
craftMonitorService.saveOrUpdate(craftMonitor);//保存到监控
craftMonitor.setCurrentStepResult(CraftsMonitorResultCode.heat_time.getDescription() + ":" + clock / 60);
craftMonitorService.saveMonitor(craftMonitor);
/*保存到工艺监控*/ /*保存到工艺监控*/
} }
delay(seconds); delay(seconds);
@ -497,9 +491,6 @@ public class CraftsStepService {
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTargetTime(null);//加热器目标加热时间 deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTargetTime(null);//加热器目标加热时间
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.finish); //加热完成 deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setHeatingType(HeatingType.finish); //加热完成
log.info("工艺{},加热结束", heatModuleCode); log.info("工艺{},加热结束", heatModuleCode);
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState()));
craftMonitorService.saveOrUpdate(craftMonitor);//保存到监控
webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatModuleCode.toString(), "加热结束,持续时间", time)); webSocketService.pushCraftsDebug(CraftsDebugGenerator.generateJson(heatModuleCode.toString(), "加热结束,持续时间", time));
return true; return true;
} }
@ -511,9 +502,9 @@ public class CraftsStepService {
try { try {
log.info("工艺{},----------------------------------清洗---------------------------------------------", heatModuleCode); log.info("工艺{},----------------------------------清洗---------------------------------------------", heatModuleCode);
/*保存到监控开始*/ /*保存到监控开始*/
JSONObject result = new JSONObject();
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitorService.saveOrUpdate(craftMonitor);//保存到监控
craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState()));
craftMonitor.setCurrentStepResult(CraftsMonitorResultCode.clean_cycle.getDescription() + ":0");
craftMonitorService.saveMonitor(craftMonitor);
/*保存到监控结束*/ /*保存到监控结束*/
/*获取参数开始*/ /*获取参数开始*/
@ -651,10 +642,9 @@ public class CraftsStepService {
log.info("工艺{},加液模块上升至最高,移出试管", heatModuleCode); log.info("工艺{},加液模块上升至最高,移出试管", heatModuleCode);
solutionModuleService.solutionMotorMoveZero();//加液模块上升至最高移出试管 solutionModuleService.solutionMotorMoveZero();//加液模块上升至最高移出试管
} }
result.set("cycle", i + 1);//添加到结果
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState())); craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState()));
craftMonitorService.saveOrUpdate(craftMonitor);//保存到监控
craftMonitor.setCurrentStepResult(CraftsMonitorResultCode.clean_cycle.getDescription() + ":" + (i + 1));
craftMonitorService.saveMonitor(craftMonitor);
} }
/*清洗结束*/ /*清洗结束*/
@ -685,9 +675,9 @@ public class CraftsStepService {
* */ * */
public boolean dry(HeatModuleCode heatModuleCode, JSONObject params, CraftMonitor craftMonitor) throws Exception { public boolean dry(HeatModuleCode heatModuleCode, JSONObject params, CraftMonitor craftMonitor) throws Exception {
/*工艺监控清理上步的记录*/ /*工艺监控清理上步的记录*/
JSONObject result = new JSONObject();
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitorService.saveOrUpdate(craftMonitor);
craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState()));
craftMonitor.setCurrentStepResult(CraftsMonitorResultCode.heat_time.getDescription() + ":0");
craftMonitorService.saveMonitor(craftMonitor);
/*工艺监控清理上步的记录*/ /*工艺监控清理上步的记录*/
@ -707,19 +697,15 @@ public class CraftsStepService {
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setStartHeatTime(LocalDateTime.now());//开始加热时间 deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setStartHeatTime(LocalDateTime.now());//开始加热时间
deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTargetTime(time);//加热器目标加热时间 deviceStateService.getDeviceState().getHeatModuleByCode(heatModuleCode).setTargetTime(time);//加热器目标加热时间
int clock = 0; int clock = 0;
result.set("time", clock);//添加到结果
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitorService.saveOrUpdate(craftMonitor);//保存到监控
int cycle = time / 60; int cycle = time / 60;
int seconds = time % 60; int seconds = time % 60;
while (cycle > 0) { while (cycle > 0) {
delay(60); delay(60);
cycle--; cycle--;
clock = clock + 60; clock = clock + 60;
result.set("time", clock);//添加到结果
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState())); craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState()));
craftMonitorService.saveOrUpdate(craftMonitor);//保存到监控
craftMonitor.setCurrentStepResult(CraftsMonitorResultCode.heat_time.getDescription() + ":" + clock / 60);
craftMonitorService.saveMonitor(craftMonitor);
} }
log.info("工艺{},恒温中", heatModuleCode); log.info("工艺{},恒温中", heatModuleCode);
delay(seconds); delay(seconds);
@ -739,9 +725,9 @@ public class CraftsStepService {
* */ * */
public synchronized boolean anneal(HeatModuleCode heatModuleCode, JSONObject params, CraftMonitor craftMonitor) throws Exception { public synchronized boolean anneal(HeatModuleCode heatModuleCode, JSONObject params, CraftMonitor craftMonitor) throws Exception {
try { try {
JSONObject result = new JSONObject();
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitorService.saveOrUpdate(craftMonitor);
craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState()));
craftMonitor.setCurrentStepResult(CraftsMonitorResultCode.heat_time.getDescription() + ":0");
craftMonitorService.saveMonitor(craftMonitor);
Double temperature = params.getDouble("temperature");//退火温度 Double temperature = params.getDouble("temperature");//退火温度
Integer time = params.getInt("time");// Integer time = params.getInt("time");//
boolean heatModuleTrayExist = deviceSensorService.getTrayStateByHeatModuleCode(heatModuleCode); boolean heatModuleTrayExist = deviceSensorService.getTrayStateByHeatModuleCode(heatModuleCode);
@ -796,19 +782,15 @@ public class CraftsStepService {
deviceStateService.getDeviceState().getHeatModuleByCode(HeatModuleCode.heat_module_04).setStartHeatTime(LocalDateTime.now());//开始加热时间 deviceStateService.getDeviceState().getHeatModuleByCode(HeatModuleCode.heat_module_04).setStartHeatTime(LocalDateTime.now());//开始加热时间
deviceStateService.getDeviceState().getHeatModuleByCode(HeatModuleCode.heat_module_04).setTargetTime(time);//加热器目标加热时间 deviceStateService.getDeviceState().getHeatModuleByCode(HeatModuleCode.heat_module_04).setTargetTime(time);//加热器目标加热时间
int clock = 0; int clock = 0;
result.set("time", clock);//添加到结果
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitorService.saveOrUpdate(craftMonitor);//保存到监控
int cycle = time / 60; int cycle = time / 60;
int seconds = time % 60; int seconds = time % 60;
while (cycle > 0) { while (cycle > 0) {
delay(60); delay(60);
cycle--; cycle--;
clock = clock + 60; clock = clock + 60;
result.set("time", clock);//添加到结果
craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState())); craftMonitor.setDeviceState(JSONUtil.toJsonStr(deviceStateService.getDeviceState()));
craftMonitor.setCurrentStepResult(String.valueOf(result));
craftMonitorService.saveOrUpdate(craftMonitor);//保存到监控
craftMonitor.setCurrentStepResult(CraftsMonitorResultCode.heat_time.getDescription() + ":" + clock / 60);
craftMonitorService.saveMonitor(craftMonitor);
} }
log.info("工艺{},恒温中", HeatModuleCode.heat_module_04); log.info("工艺{},恒温中", HeatModuleCode.heat_module_04);
delay(seconds); delay(seconds);

18
src/main/java/com/iflytop/sgs/common/enums/CraftsMonitorResultCode.java

@ -0,0 +1,18 @@
package com.iflytop.sgs.common.enums;
import lombok.Getter;
/**
* 容器
*/
@Getter
public enum CraftsMonitorResultCode {
add_liquid_column("已加液列数"),
heat_time("已加热分钟"),
clean_cycle("已清洗次数");
private final String description;
CraftsMonitorResultCode(String description) {
this.description = description;
}
}
Loading…
Cancel
Save