Quellcode durchsuchen

update 阿里云数据处理

龙三郎 vor 3 Jahren
Ursprung
Commit
aa77e58f5c

+ 0 - 49
coffee-admin/logs/sys-info.2022-04-06.log

@@ -1,49 +0,0 @@
-2022-04-06 18:08:24 [main] INFO  com.coffee.admin.AliyunTest - Starting AliyunTest using Java 14.0.1 on DESKTOP-NLH890S with PID 38940 (started by Administrator in E:\git\java\NB_NetPump\coffee-admin)
-2022-04-06 18:08:24 [main] INFO  com.coffee.admin.AliyunTest - The following profiles are active: dev
-2022-04-06 18:08:24 [background-preinit] INFO  o.h.validator.internal.util.Version - HV000001: Hibernate Validator 6.2.0.Final
-2022-04-06 18:08:30 [main] INFO  c.c.a.AliyunConsumerGroupService - 订阅禁止
-2022-04-06 18:08:35 [Thread-2] INFO  o.t.w.s.TioWebSocketServerBootstrap - Initializing Tio WebSocket Server
-2022-04-06 18:08:35 [Thread-2] INFO  org.tio.server.TioServer - 
-|----------------------------------------------------------------------------------------|
-| t-io site         | https://www.t-io.org                                               |
-| t-io on gitee     | https://gitee.com/tywo45/t-io                                      |
-| t-io on github    | https://github.com/tywo45/t-io                                     |
-| t-io version      | 3.6.0.v20200315-RELEASE                                            |
-| ---------------------------------------------------------------------------------------|
-| TioConfig name    | tio-websocket-spring-boot-starter                                  |
-| Started at        | 2022-04-06 18:08:35                                                |
-| Listen on         | 0.0.0.0:9000                                                       |
-| Main Class        | java.lang.Thread                                                   |
-| Jvm start time    | 11980ms                                                            |
-| Tio start time    | 8ms                                                                |
-| Pid               | 38940                                                              |
-|----------------------------------------------------------------------------------------|
-
-2022-04-06 18:08:36 [main] INFO  com.coffee.admin.AliyunTest - Started AliyunTest in 12.056 seconds (JVM running for 13.306)
-2022-04-06 18:08:37 [main] INFO  c.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited
-2022-04-06 18:08:40 [SpringApplicationShutdownHook] INFO  c.alibaba.druid.pool.DruidDataSource - {dataSource-1} closing ...
-2022-04-06 18:08:40 [SpringApplicationShutdownHook] INFO  c.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
-2022-04-06 18:10:48 [main] INFO  com.coffee.admin.AliyunTest - Starting AliyunTest using Java 14.0.1 on DESKTOP-NLH890S with PID 36056 (started by Administrator in E:\git\java\NB_NetPump\coffee-admin)
-2022-04-06 18:10:48 [main] INFO  com.coffee.admin.AliyunTest - The following profiles are active: dev
-2022-04-06 18:10:48 [background-preinit] INFO  o.h.validator.internal.util.Version - HV000001: Hibernate Validator 6.2.0.Final
-2022-04-06 18:10:53 [main] INFO  c.c.a.AliyunConsumerGroupService - 订阅禁止
-2022-04-06 18:10:58 [Thread-2] INFO  o.t.w.s.TioWebSocketServerBootstrap - Initializing Tio WebSocket Server
-2022-04-06 18:10:58 [Thread-2] INFO  org.tio.server.TioServer - 
-|----------------------------------------------------------------------------------------|
-| t-io site         | https://www.t-io.org                                               |
-| t-io on gitee     | https://gitee.com/tywo45/t-io                                      |
-| t-io on github    | https://github.com/tywo45/t-io                                     |
-| t-io version      | 3.6.0.v20200315-RELEASE                                            |
-| ---------------------------------------------------------------------------------------|
-| TioConfig name    | tio-websocket-spring-boot-starter                                  |
-| Started at        | 2022-04-06 18:10:58                                                |
-| Listen on         | 0.0.0.0:9000                                                       |
-| Main Class        | java.lang.Thread                                                   |
-| Jvm start time    | 11838ms                                                            |
-| Tio start time    | 8ms                                                                |
-| Pid               | 36056                                                              |
-|----------------------------------------------------------------------------------------|
-
-2022-04-06 18:10:59 [main] INFO  com.coffee.admin.AliyunTest - Started AliyunTest in 11.943 seconds (JVM running for 13.135)
-2022-04-06 18:11:00 [task-5] INFO  c.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited
-2022-04-06 18:11:08 [tio-timer-checkheartbeat-1-Tio Websocket Server] INFO  org.tio.server.ServerTioConfig - tio-websocket-spring-boot-starter, 用户取消了框架层面的心跳检测,如果业务需要,请用户自己去完成心跳检测

+ 17 - 10
coffee-system/src/main/java/com/coffee/aliyun/AliyunConsumerGroupService.java

@@ -10,6 +10,7 @@ import com.coffee.bus.entity.BusDeviceEntity;
 import com.coffee.bus.entity.BusDeviceHistoryEntity;
 import com.coffee.bus.entity.BusDeviceRunningEntity;
 import com.coffee.bus.entity.BusInfusionHistoryEntity;
+import com.coffee.bus.listener.event.bean.DeviceInfoEvent;
 import com.coffee.bus.service.LocalBusDeviceHistoryService;
 import com.coffee.bus.service.LocalBusDeviceService;
 import com.coffee.bus.service.LocalBusInfusionHistoryService;
@@ -32,7 +33,7 @@ import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
 /**
-* @Author longsanlang
+* @Author 龙三郎
 * @Date 2022-4-06 16:22:13
 * @Version 1.0
 * @Description 阿里云物联网平台服务端订阅
@@ -149,15 +150,21 @@ public class AliyunConsumerGroupService {
             }else if (topic.matches("[\\w\\/]*event/property/post$")){//设备属性上报
                 // 设备属性集合
                 Items items = new Items(content.getJSONObject("items"));
-                BusInfusionHistoryEntity infusionHistory = infusionHistoryService.saveInfusion(deviceName,items);
-                // 保存到device_history表中
-                BusDeviceHistoryEntity deviceHistory = new BusDeviceHistoryEntity();
-                // 将infusionHistory对象的值,复制到deviceHistory对象
-                BeanUtils.copyProperties(infusionHistory,deviceHistory);
-                deviceHistory.setId(null);
-                deviceHistory.setInfusionId(infusionHistory.getId());
-                // 保存设备的历史数据
-                deviceHistoryService.save(deviceHistory);
+                BusDeviceRunningEntity deviceRunning = new BusDeviceRunningEntity();
+                deviceRunning.setFiledsByItems(deviceName,items);
+                // 发布事件
+                SpringUtil.publishEvent(new DeviceInfoEvent(this,deviceRunning,deviceName));
+
+
+//                BusInfusionHistoryEntity infusionHistory = infusionHistoryService.saveInfusion(deviceName,items);
+//                // 保存到device_history表中
+//                BusDeviceHistoryEntity deviceHistory = new BusDeviceHistoryEntity();
+//                // 将infusionHistory对象的值,复制到deviceHistory对象
+//                BeanUtils.copyProperties(infusionHistory,deviceHistory);
+//                deviceHistory.setId(null);
+//                deviceHistory.setInfusionId(infusionHistory.getId());
+//                // 保存设备的历史数据
+//                deviceHistoryService.save(deviceHistory);
 
             }else if(topic.matches("[\\w\\/]+thing/lifecycle$")){// 设备生命周期
                 // 获取生命周期类型

+ 17 - 1
coffee-system/src/main/java/com/coffee/aliyun/utils/DeviceAlarmUtils.java

@@ -11,9 +11,25 @@ import com.coffee.bus.enums.DeviceAlarmEnum;
 public class DeviceAlarmUtils {
     public static DeviceAlarmEnum getAlarm(Integer i){
         if (i == 0){
-            return DeviceAlarmEnum.Finished;
+            return DeviceAlarmEnum.None;
         }else if (i == 1){
             return DeviceAlarmEnum.Bubble;
+        }else if (i == 2){
+            return DeviceAlarmEnum.Jam;
+        }else if (i == 3){
+            return DeviceAlarmEnum.NotBox;
+        }else if (i == 4){
+            return DeviceAlarmEnum.InfusionMax;
+        }else if (i == 5){
+            return DeviceAlarmEnum.Limit;
+        }else if (i == 6){
+            return DeviceAlarmEnum.Finished;
+        }else if (i == 7){
+            return DeviceAlarmEnum.LowBattery;
+        }else if (i == 8){
+            return DeviceAlarmEnum.OutOfControl;
+        }else if (i == 9){
+            return DeviceAlarmEnum.Machine;
         }else {
             return DeviceAlarmEnum.Finished;
         }

+ 6 - 0
coffee-system/src/main/java/com/coffee/aliyun/utils/DeviceRunStatusUtils.java

@@ -14,7 +14,13 @@ public class DeviceRunStatusUtils {
         if (i == 0){
             return DeviceStatusEnum.Shutdown;
         }else if (i == 1){
+            return DeviceStatusEnum.StartUp;
+        }else if (i == 2){
             return DeviceStatusEnum.Running;
+        }else if (i == 3){
+            return DeviceStatusEnum.Pause;
+        }else if (i == 4){
+            return DeviceStatusEnum.Waiting;
         }else {
             return DeviceStatusEnum.Shutdown;
         }

+ 3 - 3
coffee-system/src/main/java/com/coffee/aliyun/utils/DeviceTypeUtils.java

@@ -12,13 +12,13 @@ import com.coffee.bus.enums.DeviceTypeEnum;
 public class DeviceTypeUtils {
     public static DeviceTypeEnum getDeviceType(Integer i){
         if (i == 0){
-            return DeviceTypeEnum.other;
+            return DeviceTypeEnum.no;
         }else if (i == 1){
             return DeviceTypeEnum.continuous;
         }else if (i == 2){
-            return DeviceTypeEnum.pulse;
-        }else if (i == 3){
             return DeviceTypeEnum.intelligent;
+        }else if (i == 3){
+            return DeviceTypeEnum.pulse;
         }else {
             return DeviceTypeEnum.other;
         }

+ 39 - 2
coffee-system/src/main/java/com/coffee/bus/entity/BusDeviceRunningEntity.java

@@ -4,6 +4,7 @@ package com.coffee.bus.entity;
 import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.coffee.aliyun.utils.*;
 import com.coffee.bus.enums.DeviceAlarmEnum;
 import com.coffee.bus.enums.DeviceStatusEnum;
 import com.coffee.bus.enums.DeviceTypeEnum;
@@ -169,11 +170,13 @@ public class BusDeviceRunningEntity extends TenantGenericEntity<String,String> {
 
 
     @ApiModelProperty(value = "泵运行状态",readOnly = true)
-    @TableField(typeHandler = EnumTypeHandler.class,javaType = true,updateStrategy = FieldStrategy.IGNORED)
+//    @TableField(typeHandler = EnumTypeHandler.class,javaType = true,updateStrategy = FieldStrategy.IGNORED)
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private DeviceStatusEnum runState;
 
     @ApiModelProperty(value = "报警信息",readOnly = true)
-    @TableField(typeHandler = EnumTypeHandler.class,javaType = true,updateStrategy = FieldStrategy.IGNORED)
+//    @TableField(typeHandler = EnumTypeHandler.class,javaType = true,updateStrategy = FieldStrategy.IGNORED)
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
     private DeviceAlarmEnum alarm;
 
     @ApiModelProperty(value = "输注即将结束提醒",readOnly = true)
@@ -221,4 +224,38 @@ public class BusDeviceRunningEntity extends TenantGenericEntity<String,String> {
     @TableField(exist = false)
     @JsonIgnoreProperties
     private String infusionModifyId;
+
+    /**
+     * @author 龙三郎
+     * 根据阿里云传回数据的items,设置输注的属性
+     * @param deviceName
+     * @param items
+     */
+    public void setFiledsByItems(String deviceName, Items items) {
+        this.deviceId = deviceName;
+        this.classification = items.getString(PumpParams.classification);
+//        this.dataNumber = items.getString(PumpParams.dataNumber);
+        this.patientCode = items.getString(PumpParams.patientCode);
+        this.ward = items.getString(PumpParams.ward);
+        this.bedNo = items.getString(PumpParams.bedNo);
+        this.totalDose = items.getInteger(PumpParams.totalDose);
+        this.inputDose = items.getBigDecimal(PumpParams.finishedDose);
+        this.firstDose = items.getInteger(PumpParams.firstDosis);
+        this.maxDose = items.getBigDecimal(PumpParams.maxDose);
+        this.appendLockTime = items.getBigDecimal(PumpParams.lockTime);
+        this.continueDose = items.getBigDecimal(PumpParams.flow);
+        this.type = DeviceTypeUtils.getDeviceType(items.getInteger(PumpParams.pumpType));
+        this.appendDose = items.getBigDecimal(PumpParams.singleDosis);
+        this.pcaValidCount = items.getInteger(PumpParams.pcaValid);
+        this.pcaInvalidCount = items.getInteger(PumpParams.pcaInvalid);
+        this.pcaTotalCount = this.pcaInvalidCount + this.pcaValidCount;
+//        this.electricQuantity = items.getInteger(PumpParams.electricQuantity);
+
+        // 运行状态
+        this.runState = DeviceRunStatusUtils.getRunStatus(items.getInteger(PumpParams.runStatus));
+        // 报警
+        this.alarm = DeviceAlarmUtils.getAlarm(items.getInteger(PumpParams.alarmStatus));
+
+        // 预报
+    }
 }

+ 1 - 1
coffee-system/src/main/java/com/coffee/bus/entity/BusInfusionHistoryEntity.java

@@ -12,7 +12,6 @@ import com.coffee.common.entity.TenantGenericEntity;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import javafx.beans.DefaultProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
@@ -284,6 +283,7 @@ public class BusInfusionHistoryEntity extends TenantGenericEntity<String,String>
     }
 
     /**
+     * @author 龙三郎
      * 根据阿里云传回数据的items,设置输注的属性
      * @param items
      */

+ 2 - 0
coffee-system/src/main/java/com/coffee/bus/service/LocalBusDeviceService.java

@@ -80,6 +80,7 @@ public class LocalBusDeviceService extends BaseService<BusDeviceMapper, BusDevic
     }
 
     /**
+     * @author 龙三郎
      * 根据deviceId删除设备
      * @param deviceId
      */
@@ -121,6 +122,7 @@ public class LocalBusDeviceService extends BaseService<BusDeviceMapper, BusDevic
     }
 
     /**
+     * @author 龙三郎
      * 根据deviceId获取设备
      * @param deviceId
      * @return

+ 2 - 0
coffee-system/src/main/java/com/coffee/bus/service/LocalBusInfusionHistoryService.java

@@ -51,6 +51,7 @@ public class LocalBusInfusionHistoryService extends BaseService<BusInfusionHisto
     }
 
     /**
+     * @author 龙三郎
      * 保存输注
      * 处理输注数据
      * @param deviceId
@@ -106,6 +107,7 @@ public class LocalBusInfusionHistoryService extends BaseService<BusInfusionHisto
     }
 
     /**
+     * @author 龙三郎
      * 根据分类标识和设备号获取输注
      * @param deviceId
      * @param classification

+ 1 - 1
coffee-system/src/main/java/com/coffee/bus/websocket/listener/DeviceInfoListener.java

@@ -454,7 +454,7 @@ public class DeviceInfoListener {
 
     public static int count=1;
     public static long mark=System.currentTimeMillis();
-    @Scheduled(cron = "0/20 * * * * ?")
+//    @Scheduled(cron = "0/20 * * * * ?")
     public void send() throws InterruptedException {
 //        List<BusDeviceRunningEntity> list = deviceUsingService.list();
 //        list.forEach(pump->{