sige 1 year ago
parent
commit
c9749c7308
  1. BIN
      app.db
  2. 4
      src/main/java/com/iflytop/digester/DigestionTaskThread.java
  3. 17
      src/main/java/com/iflytop/digester/controller/DigestionController.java
  4. 5
      src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableSlot.java
  5. 9
      src/main/java/com/iflytop/digester/deviceinstance/TransferRobotArmInstance.java
  6. 4
      src/main/java/com/iflytop/digester/model/MdbDigestionSolution.java
  7. 21
      src/main/java/com/iflytop/digester/underframework/controller/TsApiSnippet.java
  8. 18
      src/main/java/com/iflytop/digester/underframework/controller/UfApiControllerExceptionHandler.java
  9. 2
      web

BIN
app.db

4
src/main/java/com/iflytop/digester/DigestionTaskThread.java

@ -94,7 +94,7 @@ public class DigestionTaskThread extends Thread {
public void run() {
try {
this.prepare();
var rounds = this.solution.getRounds();
var rounds = this.solution.getDigestionRounds();
var firstRound = rounds.remove(0);
var lastRound = rounds.remove(rounds.size() - 1);
@ -159,7 +159,7 @@ public class DigestionTaskThread extends Thread {
try {
// 异常处理执行
var errorRound = this.solution.getErrorRounds();
var errorRound = this.solution.getDigestionErrorRounds();
for ( int i=0; i<errorRound.maxRounds; i++ ) {
this.executeErrorRound(errorRound);
if (this.errorTubeIndexes.isEmpty()) {

17
src/main/java/com/iflytop/digester/controller/DigestionController.java

@ -16,4 +16,21 @@ public class DigestionController extends UfApiControllerBase {
var items = UfActiveRecord.find(MdbDigestionSolution.class);
return this.success(items);
}
@ResponseBody
@PostMapping("/api/digestion/save")
public UfApiResponse save ( @RequestBody MdbDigestionSolution digestion ) {
if ( null != digestion.id ) {
digestion.isNewRecord = false;
}
digestion.save();
return this.success();
}
@ResponseBody
@PostMapping("/api/digestion/delete")
public UfApiResponse delete ( @RequestBody MdbDigestionSolution digestion ) {
digestion.delete();
return this.success();
}
}

5
src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableSlot.java

@ -68,4 +68,9 @@ public class HeatingTurntableSlot {
this.heatingDuration = 0;
this.heatingStatus = "off";
}
// 设置试管架位置
public void setTubeRackLocation( String location ) {
this.tubeRackLocation = location;
}
}

9
src/main/java/com/iflytop/digester/deviceinstance/TransferRobotArmInstance.java

@ -61,8 +61,13 @@ public class TransferRobotArmInstance {
this.unlockArm(lock);
}
public void putInTubeRackPrepare( Object lock ) {
}
// wait for arm
private void lockArm( Object lock ) {
public void lockArm( Object lock ) {
if ( waitingLocks.isEmpty() ) {
this.waitingLocks.add(lock);
return ;
@ -79,7 +84,7 @@ public class TransferRobotArmInstance {
}
// unlock arm
private void unlockArm( Object lock ) {
public void unlockArm( Object lock ) {
waitingLocks.remove(lock);
if ( !waitingLocks.isEmpty() ) {
var nextLock = waitingLocks.get(0);

4
src/main/java/com/iflytop/digester/model/MdbDigestionSolution.java

@ -19,7 +19,7 @@ public class MdbDigestionSolution extends UfActiveRecord {
public String errorRounds;
// get rounds
public List<DigestionSolutionRound> getRounds() {
public List<DigestionSolutionRound> getDigestionRounds() {
ObjectMapper jsonMapper = new ObjectMapper();
JsonNode roundsJsonTree = null;
try {
@ -53,7 +53,7 @@ public class MdbDigestionSolution extends UfActiveRecord {
}
// get error round
public DigestionSolutionErrorRound getErrorRounds() {
public DigestionSolutionErrorRound getDigestionErrorRounds() {
ObjectMapper jsonMapper = new ObjectMapper();
JsonNode errorRoundsJsonTree = null;
try {

21
src/main/java/com/iflytop/digester/underframework/controller/TsApiSnippet.java

@ -37,10 +37,25 @@ public class TsApiSnippet extends UfApiControllerBase {
@PostMapping("/api/snippet/execute")
@ResponseBody
public UfApiResponse execute(@RequestBody UfMdbSnippet snippet ) {
public UfApiResponse execute(@RequestBody Map<String,Object> params ) {
try {
snippet = UfActiveRecord.findOne(UfMdbSnippet.class, snippet.id);
UfCmdSnippetExecutor.execute(snippet.key);
String id = (String)params.get("id");
Map<String,Object> snippetParams = (Map<String,Object>)params.get("params");
var snippet = UfActiveRecord.findOne(UfMdbSnippet.class, id);
UfCmdSnippetExecutor.execute(snippet.key, snippetParams);
} catch ( Exception e ) {
return error(e.getMessage());
}
return success();
}
@PostMapping("/api/snippet/execute-by-key")
@ResponseBody
public UfApiResponse executeByKey(@RequestBody Map<String,Object> params ) {
try {
String key = (String)params.get("key");
Map<String,Object> snippetParams = (Map<String,Object>)params.get("params");
UfCmdSnippetExecutor.execute(key, snippetParams);
} catch ( Exception e ) {
return error(e.getMessage());
}

18
src/main/java/com/iflytop/digester/underframework/controller/UfApiControllerExceptionHandler.java

@ -5,13 +5,13 @@ import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
@ControllerAdvice
public class UfApiControllerExceptionHandler {
@ExceptionHandler(RuntimeException.class)
public ResponseEntity<Object> handleException(RuntimeException ex) {
var response = new UfApiResponse();
response.success = false;
response.code = "500";
response.message = ex.getMessage();
response.data = null;
return new ResponseEntity<>(response, HttpStatus.OK);
}
// @ExceptionHandler(RuntimeException.class)
// public ResponseEntity<Object> handleException(RuntimeException ex) {
// var response = new UfApiResponse();
// response.success = false;
// response.code = "500";
// response.message = ex.getMessage();
// response.data = null;
// return new ResponseEntity<>(response, HttpStatus.OK);
// }
}

2
web

@ -1 +1 @@
Subproject commit c02d1dcba08ea7ff724791e191264cb70ea90435
Subproject commit 53712a58ceb4f19c7dba9204587134b88d86e3e5
Loading…
Cancel
Save