Browse Source

Merge remote-tracking branch 'origin/dev' into dev

A17404李放 3 năm trước cách đây
mục cha
commit
adc513261f

+ 1 - 0
coffee-admin/src/test/java/com/coffee/admin/BusDeviceAlarmTest.java

@@ -42,6 +42,7 @@ public class BusDeviceAlarmTest {
     public void test001(){
         DeviceAlarmQuery query = new DeviceAlarmQuery();
         System.out.println(        busDeviceAlarmMapper.selectAlarmCount(query));
+        System.out.println(busDeviceAlarmMapper.selectWarnCount(query));
     }
     @Test
     public void test002(){

+ 5 - 2
coffee-system/src/main/java/com/coffee/bus/mapper/BusDeviceAlarmMapper.java

@@ -6,8 +6,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.coffee.bus.entity.BusClinicEntity;
 import com.coffee.bus.entity.BusDeviceAlarmEntity;
 import com.coffee.bus.service.dto.AlarmQuery;
+import com.coffee.bus.service.dto.DeviceAlarmCountResult;
 import com.coffee.bus.service.dto.DeviceAlarmQuery;
-import com.coffee.bus.service.dto.DeviceAlarmResult;
+import com.coffee.bus.service.dto.DeviceWarnCountResult;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -26,5 +27,7 @@ public interface BusDeviceAlarmMapper extends BaseMapper<BusDeviceAlarmEntity> {
     IPage<BusDeviceAlarmEntity> pageQuery(Page<BusDeviceAlarmEntity> page, @Param("query") AlarmQuery query);
 
 
-    List<DeviceAlarmResult> selectAlarmCount(@Param("query") DeviceAlarmQuery query);
+    List<DeviceAlarmCountResult> selectAlarmCount(@Param("query") DeviceAlarmQuery query);
+
+    List<DeviceWarnCountResult> selectWarnCount(@Param("query") DeviceAlarmQuery query);
 }

+ 26 - 14
coffee-system/src/main/java/com/coffee/bus/service/LocalBusDeviceAlarmService.java

@@ -10,10 +10,7 @@ import com.coffee.bus.entity.BusHospitalEntity;
 import com.coffee.bus.enums.DeviceAlarmEnum;
 import com.coffee.bus.mapper.BusDeviceAlarmMapper;
 import com.coffee.bus.mapper.BusHospitalMapper;
-import com.coffee.bus.service.dto.AlarmQuery;
-import com.coffee.bus.service.dto.DeviceAlarmQuery;
-import com.coffee.bus.service.dto.DeviceAlarmResult;
-import com.coffee.bus.service.dto.DeviceUse;
+import com.coffee.bus.service.dto.*;
 import com.coffee.common.crud.BaseService;
 import lombok.AllArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -87,27 +84,42 @@ public class LocalBusDeviceAlarmService extends BaseService<BusDeviceAlarmMapper
         List<DeviceUse> deviceUseList = new ArrayList<>();
 
         // 获取 报警所有信息数量
-        List<DeviceAlarmResult> alarmResults = busDeviceAlarmMapper.selectAlarmCount(query);
+        List<DeviceAlarmCountResult> alarmResults = busDeviceAlarmMapper.selectAlarmCount(query);
 
-        Map<String,List<DeviceAlarmResult>> alarmMap= new HashMap<>();
-
-        for (DeviceAlarmResult deviceAlarmResult : alarmResults
+        //处理报警信息
+        Map<String,Map<String,String>> alarmMap= new HashMap<>();
+        for (DeviceAlarmCountResult deviceAlarmResult : alarmResults
              ) {
-            List<DeviceAlarmResult> list = alarmMap.get(deviceAlarmResult.getTenantId());
-            if(list == null){
-                list = new ArrayList<>();
+            Map<String, String> map = alarmMap.get(deviceAlarmResult.getTenantId());
+            if(map == null){
+                map = new HashMap<>();
             }
-            list.add(deviceAlarmResult);
-            alarmMap.put(deviceAlarmResult.getTenantId(),list);
+            map.put(deviceAlarmResult.toString(),deviceAlarmResult.getAlarmCount());
+            alarmMap.put(deviceAlarmResult.getTenantId(),map);
         }
+        // 获取告警信息
+        List<DeviceWarnCountResult> warnResults = busDeviceAlarmMapper.selectWarnCount(query);
+        //处理告警信息
+        for (DeviceWarnCountResult deviceWarnCountResult : warnResults
+        ) {
+            Map<String, String> map = alarmMap.get(deviceWarnCountResult.getTenantId());
+            if(map == null){
+                map = new HashMap<>();
+            }
+            map.put("warnWillFinished",deviceWarnCountResult.getWarnWillFinished());
+            map.put("warnLowBattery",deviceWarnCountResult.getWarnLowBattery());
+            map.put("warnAnalgesicPoor",deviceWarnCountResult.getWarnAnalgesicPoor());
 
+
+            alarmMap.put(deviceWarnCountResult.getTenantId(),map);
+        }
+        System.out.println("++"+alarmMap.get(1));
         // 遍历医院
         for (BusHospitalEntity hospital:hospitalEntities
              ) {
             DeviceUse deviceUse = new DeviceUse();
             deviceUse.setAddress(hospital.getAddress());
             deviceUse.setName(hospital.getName());
-            deviceUse.setList(alarmMap.get(hospital.getId()));
             deviceUseList.add(deviceUse);
         }
 

+ 38 - 0
coffee-system/src/main/java/com/coffee/bus/service/dto/DeviceAlarmCountResult.java

@@ -0,0 +1,38 @@
+package com.coffee.bus.service.dto;
+
+import com.coffee.bus.enums.DeviceAlarmEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+import java.io.Serializable;
+
+/**
+ * @author zsl
+ * @version 1.0.0
+ * @ClassName DeviceAlarmResult.java
+ * @Description TODO
+ * @createTime 2022/5/249:01
+ */
+@Data
+@ApiModel("设备查询结果")
+public class DeviceAlarmCountResult implements Serializable {
+
+    @ApiModelProperty(value = "医院ID")
+    private String tenantId;
+
+    /*@ApiModelProperty(value = "医院地址")
+    private String address;
+
+    @ApiModelProperty(value = "医院名称")
+    private String name;
+
+    @ApiModelProperty(value = "医院报警数量信息")
+    private DeviceAlarmHospitalResult alarms;*/
+    @ApiModelProperty(value = "报警信息")
+    private DeviceAlarmEnum alarmState;
+
+    @ApiModelProperty(value = "报警数量")
+    private String alarmCount;
+}

+ 1 - 1
coffee-system/src/main/java/com/coffee/bus/service/dto/DeviceUse.java

@@ -36,6 +36,6 @@ public class DeviceUse implements Serializable {
 
 
     @ApiModelProperty(value = "报警数量")
-    private List<DeviceAlarmResult> list;
+    private List<DeviceAlarmCountResult> list;
 
 }

+ 32 - 0
coffee-system/src/main/java/com/coffee/bus/service/dto/DeviceWarnCountResult.java

@@ -0,0 +1,32 @@
+package com.coffee.bus.service.dto;
+
+import com.coffee.bus.enums.DeviceAlarmEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author zsl
+ * @version 1.0.0
+ * @ClassName DeviceAlarmHospitalResult.java
+ * @Description TODO
+ * @createTime 2022/5/2410:24
+ */
+@Data
+@ApiModel("设备查询结果")
+public class DeviceWarnCountResult implements Serializable {
+    @ApiModelProperty(value = "医院ID")
+    private String tenantId;
+
+    @ApiModelProperty(value = "报警信息")
+    private String warnWillFinished;
+
+    @ApiModelProperty(value = "报警信息")
+    private String warnLowBattery;
+
+    @ApiModelProperty(value = "报警信息")
+    private String warnAnalgesicPoor;
+
+}

+ 29 - 9
coffee-system/src/main/resources/mapper/bus/BusDeviceAlarmMapper.xml

@@ -2,13 +2,6 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.coffee.bus.mapper.BusDeviceAlarmMapper">
 
-    <resultMap id="deviceAlarmResult" type="com.coffee.bus.service.dto.DeviceAlarmResult">
-        <result column="tenant_id" property="tenantId"/>
-        <result column="alarm_state" property="alarmState"/>
-        <result column="alarm_count" property="alarmCount"/>
-    </resultMap>
-
-
     <select id="pageQuery" parameterType="com.coffee.bus.service.dto.AlarmQuery" resultType="com.coffee.bus.entity.BusDeviceAlarmEntity">
         select a.* from
         (select * from bus_device_alarm where alarm=1) as a
@@ -16,7 +9,34 @@
         on a.infusion_id=h.id
     </select>
 
-    <select id="selectAlarmCount" parameterType="com.coffee.bus.service.dto.DeviceAlarmQuery" resultType="com.coffee.bus.service.dto.DeviceAlarmResult">
+
+
+    <select id="selectWarnCount" parameterType="com.coffee.bus.service.dto.DeviceAlarmQuery" resultType="com.coffee.bus.service.dto.DeviceWarnCountResult">
+        SELECT
+            tenant_id,
+            SUM(CASE warn_will_finished WHEN 1 THEN 1 ELSE 0 END) as 'warn_will_finished',
+                SUM(CASE warn_low_battery WHEN 1 THEN 1 ELSE 0 END) as 'warn_low_battery',
+                SUM(CASE warn_analgesic_poor WHEN 1 THEN 1 ELSE 0 END) as 'warn_analgesic_poor'
+
+        FROM
+            bus_device_alarm
+        WHERE
+        1=1
+        <if test="query.uploadTimeMin != null">
+            and da.update_time >= #{query.uploadTimeMin}
+        </if>
+        <if test="query.uploadTimeMax != null">
+            AND da.update_time &lt;= #{query.uploadTimeMax}
+        </if>
+        <if test="query.type != null">
+            AND d.type = #{query.type}
+        </if>
+        GROUP BY
+            tenant_id
+    </select>
+
+
+    <select id="selectAlarmCount" parameterType="com.coffee.bus.service.dto.DeviceAlarmQuery" resultType="com.coffee.bus.service.dto.DeviceAlarmCountResult">
         SELECT
         da.tenant_id,
         da.alarm_state,
@@ -25,7 +45,7 @@
         bus_device_alarm AS da
         left JOIN bus_device AS d ON da.device_id = d.id
         WHERE
-              1=1
+        da.alarm_state !=-1
         <if test="query.uploadTimeMin != null">
         and da.update_time >= #{query.uploadTimeMin}
         </if>