diff --git a/src/main/java/com/qyft/ms/app/handler/impl/SlideTrayIn.java b/src/main/java/com/qyft/ms/app/handler/impl/SlideTrayIn.java index f5048b1..52fcca5 100644 --- a/src/main/java/com/qyft/ms/app/handler/impl/SlideTrayIn.java +++ b/src/main/java/com/qyft/ms/app/handler/impl/SlideTrayIn.java @@ -58,12 +58,16 @@ public class SlideTrayIn implements CommandHandler { emitter.complete(); return; } - Boolean slideTrayInCmdToDeviceResultStatus = slideTrayInCmdToDeviceResult.getBool("result"); - if (!slideTrayInCmdToDeviceResultStatus) { - emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "推入玻片托盘指令执行失败", slideTrayInCmdToDeviceResult), MediaType.APPLICATION_JSON); - emitter.complete(); - return; + + Object slideTrayInCmdToDeviceResultStatus = slideTrayInCmdToDeviceResult.getObj("result"); + if (slideTrayInCmdToDeviceResultStatus instanceof Boolean) { + if (!(Boolean) slideTrayInCmdToDeviceResultStatus) { + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "推入玻片托盘指令执行失败", slideTrayInCmdToDeviceResult), MediaType.APPLICATION_JSON); + emitter.complete(); + return; + } } + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.RESULT, "推入玻片托盘指令反馈", slideTrayInCmdToDeviceResult), MediaType.APPLICATION_JSON); emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.SEND, "指令执行完毕"), MediaType.APPLICATION_JSON); emitter.complete(); diff --git a/src/main/java/com/qyft/ms/app/handler/impl/SlideTrayOut.java b/src/main/java/com/qyft/ms/app/handler/impl/SlideTrayOut.java index 2f5537f..f9fb510 100644 --- a/src/main/java/com/qyft/ms/app/handler/impl/SlideTrayOut.java +++ b/src/main/java/com/qyft/ms/app/handler/impl/SlideTrayOut.java @@ -57,12 +57,15 @@ public class SlideTrayOut implements CommandHandler { return; } - Boolean slideTrayOutCmdToDeviceResultStatus = slideTrayOutCmdToDeviceResult.getBool("result"); - if (!slideTrayOutCmdToDeviceResultStatus) { - emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "推出玻片托盘指令执行失败", slideTrayOutCmdToDeviceResult), MediaType.APPLICATION_JSON); - emitter.complete(); - return; + Object slideTrayOutCmdToDeviceResultStatus = slideTrayOutCmdToDeviceResult.getObj("result"); + if (slideTrayOutCmdToDeviceResultStatus instanceof Boolean) { + if (!(Boolean) slideTrayOutCmdToDeviceResultStatus) { + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "推出玻片托盘指令执行失败", slideTrayOutCmdToDeviceResult), MediaType.APPLICATION_JSON); + emitter.complete(); + return; + } } + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.RESULT, "推出玻片托盘指令反馈", slideTrayOutCmdToDeviceResult), MediaType.APPLICATION_JSON); emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.SEND, "指令执行完毕"), MediaType.APPLICATION_JSON); emitter.complete(); diff --git a/src/main/java/com/qyft/ms/app/handler/impl/SyringePipelineWash.java b/src/main/java/com/qyft/ms/app/handler/impl/SyringePipelineWash.java index 745a86a..a9195e8 100644 --- a/src/main/java/com/qyft/ms/app/handler/impl/SyringePipelineWash.java +++ b/src/main/java/com/qyft/ms/app/handler/impl/SyringePipelineWash.java @@ -77,6 +77,15 @@ public class SyringePipelineWash implements CommandHandler { emitter.complete(); return; } + Object motorXYZPositionGetCmdToDeviceResultStatus = motorXYZPositionGetCmdToDeviceResult.getObj("result"); + if (motorXYZPositionGetCmdToDeviceResultStatus instanceof Boolean) { + if (!(Boolean) motorXYZPositionGetCmdToDeviceResultStatus) { + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "获得电机XYZ相对原点坐标指令执行失败", motorXYZPositionGetCmdToDeviceResult), MediaType.APPLICATION_JSON); + emitter.complete(); + return; + } + } + Double zAxisPosition = motorXYZPositionGetCmdToDeviceResult.getJSONObject("result").getDouble("zAxisPosition");//当前z轴相对于原点的位置 if (zAxisPosition == null || zAxisPosition < 0.0) { emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "获得电机XYZ相对原点坐标指令执行失败", motorXYZPositionGetCmdToDeviceResult), MediaType.APPLICATION_JSON); @@ -110,12 +119,15 @@ public class SyringePipelineWash implements CommandHandler { return; } - Boolean motorZPositionSetCmdToDeviceResultStatus = motorZPositionSetCmdToDeviceResult.getBool("result"); - if (!motorZPositionSetCmdToDeviceResultStatus) { - emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "移动z轴到指定位指令执行失败", motorZPositionSetCmdToDeviceResult), MediaType.APPLICATION_JSON); - emitter.complete(); - return; + Object motorZPositionSetCmdToDeviceResultStatus = motorZPositionSetCmdToDeviceResult.getObj("result"); + if (motorZPositionSetCmdToDeviceResultStatus instanceof Boolean) { + if (!(Boolean) motorZPositionSetCmdToDeviceResultStatus) { + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "移动z轴到指定位指令执行失败", motorZPositionSetCmdToDeviceResult), MediaType.APPLICATION_JSON); + emitter.complete(); + return; + } } + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.RESULT, "移动z轴到指定位指令反馈", motorZPositionSetCmdToDeviceResult), MediaType.APPLICATION_JSON); boolean finished = latch.await(5, TimeUnit.SECONDS); if (!finished) { @@ -147,12 +159,16 @@ public class SyringePipelineWash implements CommandHandler { emitter.complete(); return; } - Boolean motorXYZPositionSetCmdToDeviceResultStatus = motorXPositionSetCmdToDeviceResult.getBool("result"); - if (!motorXYZPositionSetCmdToDeviceResultStatus) { - emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "移动x轴到指定位置指令执行失败", motorXPositionSetCmdToDeviceResult), MediaType.APPLICATION_JSON); - emitter.complete(); - return; + + Object motorXYZPositionSetCmdToDeviceResultStatus = motorXPositionSetCmdToDeviceResult.getObj("result"); + if (motorXYZPositionSetCmdToDeviceResultStatus instanceof Boolean) { + if (!(Boolean) motorXYZPositionSetCmdToDeviceResultStatus) { + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "移动x轴到指定位置指令执行失败", motorXPositionSetCmdToDeviceResult), MediaType.APPLICATION_JSON); + emitter.complete(); + return; + } } + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.RESULT, "移动x轴到指定位置指令反馈", motorXPositionSetCmdToDeviceResult), MediaType.APPLICATION_JSON); CMDToDevice motorYPositionSetCMDToDevice = DeviceCommandGenerator.motor_y_position_set(75.0);//移动y轴到指定位置 (TODO) 废液桶Y轴位置应当可以配置 CommandFuture motorYPositionSetCMDToDeviceFuture = new CommandFuture(); @@ -174,12 +190,16 @@ public class SyringePipelineWash implements CommandHandler { emitter.complete(); return; } - Boolean motorYPositionSetCMDToDeviceResultStatus = motorYPositionSetCMDToDeviceResult.getBool("result"); - if (!motorYPositionSetCMDToDeviceResultStatus) { - emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "移动y轴到指定位置指令执行失败", motorYPositionSetCMDToDeviceResult), MediaType.APPLICATION_JSON); - emitter.complete(); - return; + + Object motorYPositionSetCMDToDeviceResultStatus = motorYPositionSetCMDToDeviceResult.getObj("result"); + if (motorYPositionSetCMDToDeviceResultStatus instanceof Boolean) { + if (!(Boolean) motorYPositionSetCMDToDeviceResultStatus) { + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "移动y轴到指定位置指令执行失败", motorYPositionSetCMDToDeviceResult), MediaType.APPLICATION_JSON); + emitter.complete(); + return; + } } + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.RESULT, "移动y轴到指定位置指令反馈", motorYPositionSetCMDToDeviceResult), MediaType.APPLICATION_JSON); boolean finished = latch.await(5, TimeUnit.SECONDS); if (!finished) { @@ -211,12 +231,15 @@ public class SyringePipelineWash implements CommandHandler { return; } - Boolean motorZPositionSetDownCmdToDeviceResultStatus = motorZPositionSetDownCmdToDeviceResult.getBool("result"); - if (!motorZPositionSetDownCmdToDeviceResultStatus) { - emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "移动z轴到指定位指令执行失败", motorZPositionSetDownCmdToDeviceResult), MediaType.APPLICATION_JSON); - emitter.complete(); - return; + Object motorZPositionSetDownCmdToDeviceResultStatus = motorZPositionSetDownCmdToDeviceResult.getObj("result"); + if (motorZPositionSetDownCmdToDeviceResultStatus instanceof Boolean) { + if (!(Boolean) motorZPositionSetDownCmdToDeviceResultStatus) { + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "移动z轴到指定位指令执行失败", motorZPositionSetDownCmdToDeviceResult), MediaType.APPLICATION_JSON); + emitter.complete(); + return; + } } + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.RESULT, "移动z轴到指定位指令反馈", motorZPositionSetDownCmdToDeviceResult), MediaType.APPLICATION_JSON); finished = latch.await(5, TimeUnit.SECONDS); if (!finished) { @@ -245,12 +268,16 @@ public class SyringePipelineWash implements CommandHandler { emitter.complete(); return; } - Boolean threeWayValveOpenSprayPipelineCMDToDeviceResultStatus = threeWayValveOpenSprayPipelineCMDToDeviceResult.getBool("result"); - if (!threeWayValveOpenSprayPipelineCMDToDeviceResultStatus) { - emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "打开三通阀注射器管路指令执行失败", threeWayValveOpenSprayPipelineCMDToDeviceResult), MediaType.APPLICATION_JSON); - emitter.complete(); - return; + + Object threeWayValveOpenSprayPipelineCMDToDeviceResultStatus = threeWayValveOpenSprayPipelineCMDToDeviceResult.getObj("result"); + if (threeWayValveOpenSprayPipelineCMDToDeviceResultStatus instanceof Boolean) { + if (!(Boolean) threeWayValveOpenSprayPipelineCMDToDeviceResultStatus) { + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "打开三通阀注射器管路指令执行失败", threeWayValveOpenSprayPipelineCMDToDeviceResult), MediaType.APPLICATION_JSON); + emitter.complete(); + return; + } } + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.RESULT, "打开三通阀注射器管路指令反馈", threeWayValveOpenSprayPipelineCMDToDeviceResult), MediaType.APPLICATION_JSON); //6.设置注射泵速度,推注射泵 emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.SEND, "设置注射泵速度,推注射泵"), MediaType.APPLICATION_JSON); @@ -274,12 +301,16 @@ public class SyringePipelineWash implements CommandHandler { emitter.complete(); return; } - Boolean syringePumpInjectionVolumeSetCMDToDeviceResultStatus = syringePumpInjectionVolumeSetCMDToDeviceResult.getBool("result"); - if (!syringePumpInjectionVolumeSetCMDToDeviceResultStatus) { - emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "推动移动注射泵指令执行失败", syringePumpInjectionVolumeSetCMDToDeviceResult), MediaType.APPLICATION_JSON); - emitter.complete(); - return; + + Object syringePumpInjectionVolumeSetCMDToDeviceResultStatus = syringePumpInjectionVolumeSetCMDToDeviceResult.getObj("result"); + if (syringePumpInjectionVolumeSetCMDToDeviceResultStatus instanceof Boolean) { + if (!(Boolean) syringePumpInjectionVolumeSetCMDToDeviceResultStatus) { + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "推动移动注射泵指令执行失败", syringePumpInjectionVolumeSetCMDToDeviceResult), MediaType.APPLICATION_JSON); + emitter.complete(); + return; + } } + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.RESULT, "推动移动注射泵指令反馈", syringePumpInjectionVolumeSetCMDToDeviceResult), MediaType.APPLICATION_JSON); emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.SEND, "指令执行完毕"), MediaType.APPLICATION_JSON); emitter.complete(); diff --git a/src/main/java/com/qyft/ms/app/handler/impl/SyringePipelineWashStop.java b/src/main/java/com/qyft/ms/app/handler/impl/SyringePipelineWashStop.java index fdeb621..0775ebf 100644 --- a/src/main/java/com/qyft/ms/app/handler/impl/SyringePipelineWashStop.java +++ b/src/main/java/com/qyft/ms/app/handler/impl/SyringePipelineWashStop.java @@ -57,12 +57,16 @@ public class SyringePipelineWashStop implements CommandHandler { emitter.complete(); return; } - Boolean syringePumpStopCMDToDeviceResultStatus = syringePumpStopCMDToDeviceResult.getBool("result"); - if (!syringePumpStopCMDToDeviceResultStatus) { - emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "停止推动注射泵指令执行失败", syringePumpStopCMDToDeviceResult), MediaType.APPLICATION_JSON); - emitter.complete(); - return; + + Object syringePumpStopCMDToDeviceResultStatus = syringePumpStopCMDToDeviceResult.getObj("result"); + if (syringePumpStopCMDToDeviceResultStatus instanceof Boolean) { + if (!(Boolean) syringePumpStopCMDToDeviceResultStatus) { + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "停止推动注射泵指令执行失败", syringePumpStopCMDToDeviceResult), MediaType.APPLICATION_JSON); + emitter.complete(); + return; + } } + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.RESULT, "停止推动注射泵指令反馈", syringePumpStopCMDToDeviceResult), MediaType.APPLICATION_JSON); //2.全部关闭三通阀 emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.SEND, "全部关闭三通阀"), MediaType.APPLICATION_JSON); @@ -86,12 +90,16 @@ public class SyringePipelineWashStop implements CommandHandler { emitter.complete(); return; } - Boolean threeWayValveCloseAllCMDToDeviceResultStatus = threeWayValveCloseAllCMDToDeviceResult.getBool("result"); - if (!threeWayValveCloseAllCMDToDeviceResultStatus) { - emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "全部关闭三通阀指令执行失败", threeWayValveCloseAllCMDToDeviceResult), MediaType.APPLICATION_JSON); - emitter.complete(); - return; + + Object threeWayValveCloseAllCMDToDeviceResultStatus = threeWayValveCloseAllCMDToDeviceResult.getObj("result"); + if (threeWayValveCloseAllCMDToDeviceResultStatus instanceof Boolean) { + if (!(Boolean) threeWayValveCloseAllCMDToDeviceResultStatus) { + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.ERROR, "全部关闭三通阀指令执行失败", threeWayValveCloseAllCMDToDeviceResult), MediaType.APPLICATION_JSON); + emitter.complete(); + return; + } } + emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.RESULT, "全部关闭三通阀指令反馈", threeWayValveCloseAllCMDToDeviceResult), MediaType.APPLICATION_JSON); emitter.send(FrontCommandAck.backstageAck(frontCmdId, frontCmdName, CommandStatus.SEND, "指令执行完毕"), MediaType.APPLICATION_JSON); emitter.complete();