|
|
@@ -198,22 +198,22 @@ public class DeviceInfoListener implements IIotMsgHandler {
|
|
|
* @return void
|
|
|
*/
|
|
|
private void handleIntelligent(BusDeviceRunningEntity device, DeviceOperator deviceOperator, List<Supplier<?>> cacheOperation) {
|
|
|
-
|
|
|
//开机数据不进行加减档判定
|
|
|
if (!DeviceStatusEnum.StartUp.equals(device.getRunState())) {
|
|
|
if(DeviceTypeEnum.intelligent.equals(device.getType())
|
|
|
- &&null==device.getWarnFlow()
|
|
|
+ &&FlowStatusEnum.None==device.getWarnFlow()
|
|
|
&& Boolean.FALSE.equals(device.isNewInfusion())){
|
|
|
BigDecimal lastContinueDose = deviceOperator.getContinueDose();
|
|
|
+ boolean flowLimit = deviceOperator.isFlowLimit();
|
|
|
if(lastContinueDose==null){
|
|
|
- device.setWarnFlow(FlowStatusEnum.None);
|
|
|
+ device.setWarnFlow(flowLimit?FlowStatusEnum.Limited:FlowStatusEnum.None);
|
|
|
if(log.isDebugEnabled()){
|
|
|
log.warn("设备【{}】流速在缓存中不存在",device.getContinueDose());
|
|
|
}
|
|
|
}else {
|
|
|
if(CompareUtil.compare(device.getContinueDose(),lastContinueDose)>0){
|
|
|
log.info("消息【{}】,设备【{}】,当前流速【{}】,上一状态流速【{}】,加档",device.getMsgId(),device.getDeviceId(),device.getContinueDose(),lastContinueDose);
|
|
|
- device.setWarnFlow(FlowStatusEnum.Up);
|
|
|
+ device.setWarnFlow(flowLimit?FlowStatusEnum.Limited:FlowStatusEnum.Up);
|
|
|
}else if(CompareUtil.compare(device.getContinueDose(),lastContinueDose)<0){
|
|
|
log.info("消息【{}】,设备【{}】,当前流速【{}】,上一状态流速【{}】,减档",device.getMsgId(),device.getDeviceId(),device.getContinueDose(),lastContinueDose);
|
|
|
device.setWarnFlow(FlowStatusEnum.Down);
|
|
|
@@ -225,9 +225,11 @@ public class DeviceInfoListener implements IIotMsgHandler {
|
|
|
cacheOperation.add(()->{
|
|
|
deviceOperator.setContinueDose(device.getContinueDose());
|
|
|
if(FlowStatusEnum.Down.equals(device.getWarnFlow())
|
|
|
- ||(device.isNewInfusion()&&FlowStatusEnum.Limited.equals(device.getWarnFlow()))){
|
|
|
+ ||(device.isNewInfusion()&&!FlowStatusEnum.Limited.equals(device.getWarnFlow()))){
|
|
|
//减档或者非加档受限的新输注
|
|
|
deviceOperator.setFlowLimit(false);
|
|
|
+ }else if(FlowStatusEnum.Limited.equals(device.getWarnFlow())){
|
|
|
+ deviceOperator.setFlowLimit(true);
|
|
|
}
|
|
|
return null;
|
|
|
});
|
|
|
@@ -242,7 +244,11 @@ public class DeviceInfoListener implements IIotMsgHandler {
|
|
|
}
|
|
|
|
|
|
private void init(BusDeviceRunningEntity device,DeviceOperator deviceOperator ) {
|
|
|
-
|
|
|
+ if(DeviceTypeEnum.intelligent.equals(device.getType())
|
|
|
+ &&device.getFlowUpLimit().compareTo(device.getContinueDose())>=0
|
|
|
+ &&!FlowStatusEnum.None.equals(device.getWarnFlow())){
|
|
|
+ device.setWarnFlow(FlowStatusEnum.Limited);
|
|
|
+ }
|
|
|
// if(device.getWarnFlow()!=null&&FlowStatusEnum.None.equals(device.getWarnFlow())){
|
|
|
// device.setWarnFlow(null);
|
|
|
// }
|