diff --git a/app.db b/app.db index 2f5ff1e..dbc823e 100644 Binary files a/app.db and b/app.db differ diff --git a/src/main/java/com/iflytop/digester/DigestionTaskThread.java b/src/main/java/com/iflytop/digester/DigestionTaskThread.java index 007773a..9521d24 100644 --- a/src/main/java/com/iflytop/digester/DigestionTaskThread.java +++ b/src/main/java/com/iflytop/digester/DigestionTaskThread.java @@ -5,6 +5,7 @@ import com.iflytop.digester.model.MdbDigestionSolution; import com.iflytop.digester.model.MdbDigestionTaskLog; import com.iflytop.digester.underframework.dao.model.UfMdbNotification; import com.iflytop.digester.underframework.dao.model.UfMdbOption; +import com.iflytop.digester.underframework.dao.model.UfMdbRuntimeVariable; import com.iflytop.digester.underframework.dao.record.UfActiveRecord; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -589,5 +590,6 @@ public class DigestionTaskThread extends Thread { this.taskModel.message = message; this.taskModel.save(); MdbDigestionTaskLog.log(this.taskModel.id, status, message); + UfMdbRuntimeVariable.setString("device.message", String.format("[批次:%s] %s", this.taskModel.batchNo, message)); } } diff --git a/src/main/java/com/iflytop/digester/deviceinstance/LiquidAdditionInstance.java b/src/main/java/com/iflytop/digester/deviceinstance/LiquidAdditionInstance.java index 8e6167b..430dc1a 100644 --- a/src/main/java/com/iflytop/digester/deviceinstance/LiquidAdditionInstance.java +++ b/src/main/java/com/iflytop/digester/deviceinstance/LiquidAdditionInstance.java @@ -36,16 +36,16 @@ public class LiquidAdditionInstance { // lock liquid plate public void lockLiquidPlate( String lockName ) { - MdbRuntimeLog.log("LiquidPlateLock", "加液盘锁定等待 : %s", lockName); + MdbRuntimeLog.warn("LiquidPlateLock", "加液盘锁定等待 : %s", lockName); this.liquidPlateLocks.add(lockName); if ( 1 == this.liquidPlateLocks.size() ) { - MdbRuntimeLog.log("LiquidPlateLock", "加液盘锁定成功 : %s", lockName); + MdbRuntimeLog.warn("LiquidPlateLock", "加液盘锁定成功 : %s", lockName); return ; } synchronized ( lockName ) { try { lockName.wait(); - MdbRuntimeLog.log("LiquidPlateLock", "加液盘锁定成功 : %s", lockName); + MdbRuntimeLog.warn("LiquidPlateLock", "加液盘锁定成功 : %s", lockName); } catch (InterruptedException e) { throw new RuntimeException(e); } @@ -54,7 +54,7 @@ public class LiquidAdditionInstance { // unlock liquid plate public void unlockLiquidPlate( String lockName ) { - MdbRuntimeLog.log("LiquidPlateLock", "加液盘锁定解除 : %s", lockName); + MdbRuntimeLog.warn("LiquidPlateLock", "加液盘锁定解除 : %s", lockName); String lock = null; for ( String lockItem : this.liquidPlateLocks ) { if ( lockItem.equals(lockName) ) { @@ -65,7 +65,7 @@ public class LiquidAdditionInstance { if (this.liquidPlateLocks.isEmpty()) { return ; } - Object nextLock = this.liquidPlateLocks.remove(0); + Object nextLock = this.liquidPlateLocks.get(0); synchronized ( nextLock ) { nextLock.notify(); } diff --git a/src/main/java/com/iflytop/digester/model/MdbRuntimeLog.java b/src/main/java/com/iflytop/digester/model/MdbRuntimeLog.java index 75e5257..89dbbb8 100644 --- a/src/main/java/com/iflytop/digester/model/MdbRuntimeLog.java +++ b/src/main/java/com/iflytop/digester/model/MdbRuntimeLog.java @@ -25,13 +25,18 @@ public class MdbRuntimeLog extends UfActiveRecord { } // log - public static void log(String type, String content, Object ... args ) { + public static void log(String type, String content, Object ... args) { var log = new MdbRuntimeLog(); log.type = type; log.content = String.format(content, args); log.timestamp = (int)(System.currentTimeMillis() / 1000); log.time = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new java.util.Date()); log.save(); - LOG.info("[{}] {}", type, log.content); + } + + // warn + public static void warn( String type, String content, Object ... args ) { + LOG.warn("[{}] {}", type, String.format(content, args)); + MdbRuntimeLog.log(type, content, args); } }