From 42dd533ccdff75bff231c0e935ffe31873050382 Mon Sep 17 00:00:00 2001 From: sige Date: Fri, 26 Apr 2024 13:07:03 +0800 Subject: [PATCH] 1 --- app.db | Bin 630784 -> 634880 bytes .../digester/DigestionTaskTheadManager.java | 44 ++++++++++++++++++++- .../deviceinstance/HeatingTurntableSlot.java | 2 +- .../underframework/UfCmdSnippetExecutor.java | 2 +- 4 files changed, 45 insertions(+), 3 deletions(-) diff --git a/app.db b/app.db index 674552ad1a9e378049144c79acd1bded52ffa702..fcc641f831db03b866e5386697f4f0798ce466c5 100644 GIT binary patch delta 9129 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 actionParams = new HashMap<>(); if ( actionJsonTree.has("params") ) { var paramsJsonTree = actionJsonTree.get("params"); @@ -104,6 +112,7 @@ public class DigestionTaskTheadManager { } } + String taskId = actionJsonTree.get("taskId").asText(); DigestionTaskThread task = null; for ( var t : this.tasks ) { if ( t.getOutTaskId().equals(taskId) ) { @@ -118,6 +127,39 @@ public class DigestionTaskTheadManager { task.executeAction(actionName, actionParams); } + // start new digestion + private void startNewDigestion( JsonNode params ) { + String taskId = params.get("taskId").asText(); + String name = params.get("name").asText(); + String batchNo = params.get("batchNo").asText(); + List> tubes = new ArrayList<>(); + for ( JsonNode node : params.get("tubes") ) { + Map tube = new HashMap<>(); + tube.put("no", node.get("no").asText()); + tubes.add(tube); + } + + var digestion = UfActiveRecord.findOne(MdbDigestionSolution.class, Map.of("name", name)); + if ( null == digestion ) { + MdbRuntimeLog.log("DigestionTaskMqttMessage", "无效的消解配方名称 : %s", name); + return; + } + + var task = new MdbDigestionTask(); + task.digestionId = digestion.id; + task.outTaskId = taskId; + task.batchNo = batchNo; + task.tubes = UfJsonHelper.objectToJson(tubes); + task.status = "pending"; + task.message = "等待中"; + task.startedAt = (int)(System.currentTimeMillis() / 1000); + task.startedBy = ""; + task.mode = "auto"; + task.save(); + + this.startTask(task); + } + // Send message to trans bot public void sendMessageToTransBot(String action, Map params) { String myTopic = UfMdbOption.getString("DigestionTaskMqttMyTopic", ""); diff --git a/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableSlot.java b/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableSlot.java index 0455846..5c68e14 100644 --- a/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableSlot.java +++ b/src/main/java/com/iflytop/digester/deviceinstance/HeatingTurntableSlot.java @@ -60,7 +60,7 @@ public class HeatingTurntableSlot { public List getExistTubeIndexes() { List indexes = new ArrayList<>(); for (int i = 0; i < tubes.size(); i++) { - if ( null != tubes.get(i) ) { + if ( null != tubes.get(i) && !"".equals(tubes.get(i).no)) { indexes.add(i); } } diff --git a/src/main/java/com/iflytop/digester/underframework/UfCmdSnippetExecutor.java b/src/main/java/com/iflytop/digester/underframework/UfCmdSnippetExecutor.java index f1d8b7d..92edf69 100644 --- a/src/main/java/com/iflytop/digester/underframework/UfCmdSnippetExecutor.java +++ b/src/main/java/com/iflytop/digester/underframework/UfCmdSnippetExecutor.java @@ -76,7 +76,7 @@ public class UfCmdSnippetExecutor { var cmdId = cmdNode.get("cmdId").asText(); var cmdParams = cmdNode.get("params").asText(); var desc = cmdNode.get("desc"); - if ( Boolean.TRUE.equals(logEnabled) && null != desc ) { + if ( Boolean.TRUE.equals(logEnabled) && null != desc && !"".equals(desc.asText())) { LOG.info("[Snippet Execute] : ∟ {}", desc.asText()); } this.executeStep(cmdId, cmdParams);