Browse Source

设备使用

15638522405 3 năm trước cách đây
mục cha
commit
cc61b89ca5

+ 13 - 0
coffee-system/src/main/java/com/coffee/bus/controller/BusDeviceHistoryController.java

@@ -5,9 +5,12 @@ import com.baomidou.mybatisplus.core.mapper.Mapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.coffee.bus.entity.BusDeviceAlarmEntity;
 import com.coffee.bus.entity.BusDeviceHistoryEntity;
+import com.coffee.bus.service.LocalBusDeviceAlarmService;
 import com.coffee.bus.service.LocalBusDeviceHistoryService;
 import com.coffee.bus.service.dto.AlarmQuery;
+import com.coffee.bus.service.dto.DeviceAlarmQuery;
 import com.coffee.bus.service.dto.DeviceHistoryQuery;
+import com.coffee.bus.service.dto.DeviceUse;
 import com.coffee.common.crud.BaseService;
 import com.coffee.common.crud.controller.BaseCrudController;
 import com.coffee.common.result.R;
@@ -20,6 +23,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * @author lifang
  * @version 1.0.0
@@ -33,6 +38,7 @@ import org.springframework.web.bind.annotation.RestController;
 @Api(tags = "设备历史数据管理",description = "统一权限前缀(device:history),device:history:add")
 public class BusDeviceHistoryController extends BaseCrudController<BusDeviceHistoryEntity, String> {
     private final LocalBusDeviceHistoryService historyService;
+    private final LocalBusDeviceAlarmService deviceAlarmService;
 
     /**
      * 权限控制前缀
@@ -50,6 +56,13 @@ public class BusDeviceHistoryController extends BaseCrudController<BusDeviceHist
         return R.success(historyService.pageQuery(query));
     }
 
+    @PostMapping("/deviceUse")
+    @SaCheckPermission("bus:deviceUse")
+    @ApiOperation(value = "设备使用查询",notes = "权限:【bus:deviceUse】")
+    public R<List<DeviceUse>> deviceUse(@RequestBody @Validated DeviceAlarmQuery query){
+        return R.success(deviceAlarmService.selectCountAlarm(query));
+    }
+
     @Override
     public BaseService<? extends Mapper<BusDeviceHistoryEntity>, BusDeviceHistoryEntity, String> getService() {
         return historyService;

+ 4 - 0
coffee-system/src/main/java/com/coffee/bus/mapper/BusDeviceAlarmMapper.java

@@ -6,6 +6,7 @@ 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.DeviceAlarmQuery;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -20,4 +21,7 @@ import org.apache.ibatis.annotations.Param;
 public interface BusDeviceAlarmMapper extends BaseMapper<BusDeviceAlarmEntity> {
 
     IPage<BusDeviceAlarmEntity> pageQuery(Page<BusDeviceAlarmEntity> page, @Param("query") AlarmQuery query);
+
+
+    Integer selectAlarmCount(@Param("query") DeviceAlarmQuery query);
 }

+ 67 - 0
coffee-system/src/main/java/com/coffee/bus/service/LocalBusDeviceAlarmService.java

@@ -1,17 +1,29 @@
 package com.coffee.bus.service;
 
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.coffee.bus.entity.BusClinicEntity;
 import com.coffee.bus.entity.BusDeviceAlarmEntity;
+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.DeviceUse;
 import com.coffee.common.crud.BaseService;
 import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * @author lifang
  * @version 1.0.0
@@ -22,6 +34,11 @@ import org.springframework.transaction.annotation.Transactional;
 @Service
 @AllArgsConstructor
 public class LocalBusDeviceAlarmService extends BaseService<BusDeviceAlarmMapper, BusDeviceAlarmEntity,String> {
+    @Autowired
+    private BusDeviceAlarmMapper busDeviceAlarmMapper;
+    @Autowired
+    BusHospitalMapper hospitalMapper;
+
     @Override
     public void validateBeforeSave(BusDeviceAlarmEntity entity) {
 
@@ -56,4 +73,54 @@ public class LocalBusDeviceAlarmService extends BaseService<BusDeviceAlarmMapper
         }
         this.update(new UpdateWrapper<BusDeviceAlarmEntity>().lambda().eq(BusDeviceAlarmEntity::getId,id).set(BusDeviceAlarmEntity::getCause,cause));
     }
+    /**
+     * 查看报警数量
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public List<DeviceUse> selectCountAlarm(DeviceAlarmQuery query){
+        QueryWrapper<BusHospitalEntity> busHospitalEntityQueryWrapper = new QueryWrapper<>();
+        if(query.getHositalName()!=null){
+            busHospitalEntityQueryWrapper.getEntity().setName(query.getHositalName());
+        }
+        List<BusHospitalEntity> hospitalEntities = hospitalMapper.selectList(busHospitalEntityQueryWrapper);
+        List<DeviceUse> deviceUseList = new ArrayList<>();
+
+        for (BusHospitalEntity hospital:
+                hospitalEntities) {
+            DeviceUse deviceUse = new DeviceUse();
+            Map<String, Integer> deviceAlarms = new HashMap<>();
+
+            deviceUse.setName(hospital.getName());
+            deviceUse.setAddress(hospital.getAddress());
+            deviceUse.setDeviceAlarms(deviceAlarms);
+
+
+            query.setTenantId(hospital.getId());
+
+            for (DeviceAlarmEnum alarmEnum:
+                    DeviceAlarmEnum.values()) {
+                query.setAlarmState(alarmEnum.getValue());
+                deviceAlarms.put(alarmEnum.getText(),busDeviceAlarmMapper.selectAlarmCount(query));
+            }
+            query.setAlarmState(null);
+            /*输注即将结束提醒*/
+            query.setWarnWillFinished(1);
+            deviceAlarms.put("warnWillFinished",busDeviceAlarmMapper.selectAlarmCount(query));
+            query.setWarnWillFinished(null);
+            /*镇痛不足提醒*/
+            query.setWarnAnalgesicPoor(1);
+            deviceAlarms.put("warnAnalgesicPoor",busDeviceAlarmMapper.selectAlarmCount(query));
+            query.setWarnAnalgesicPoor(null);
+            /*电量偏低提醒*/
+            query.setWarnWillFinished(1);
+            deviceAlarms.put("warnLowBattery",busDeviceAlarmMapper.selectAlarmCount(query));
+            query.setWarnWillFinished(null);
+
+            deviceUseList.add(deviceUse);
+
+        }
+        return deviceUseList;
+
+    }
+
 }

+ 37 - 0
coffee-system/src/main/resources/mapper/bus/BusDeviceAlarmMapper.xml

@@ -10,5 +10,42 @@
         on a.infusion_id=h.id
     </select>
 
+    <select id="selectAlarmCount" parameterType="com.coffee.bus.service.dto.DeviceAlarmQuery" resultType="java.lang.Integer">
+        SELECT
+            count( 1 )
+        FROM
+            bus_device_alarm AS da
+                LEFT JOIN bus_device AS d ON da.device_id = d.id
+        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.alarm != null">
+        AND da.alarm = #{alarm}
+        </if>
+        <if test="query.alarmState != null">
+        AND da.alarm_state = #{alarmState}
+        </if>
+        <if test="query.warnWillFinished != null">
+        AND da.warn_will_finished = #{warnWillFinished}
+        </if>
+        <if test="query.warnLowBattery != null">
+        AND da.warn_low_battery = #{warnLowBattery}
+        </if>
+        <if test="query.warnAnalgesicPoor != null">
+        AND da.warn_analgesic_poor = #{warnAnalgesicPoor}
+        </if>
+        <if test="query.tenantId != null">
+        AND da.tenant_id = #{tenantId}
+        </if>
+        <if test="query.type != null">
+        AND d.type = #{type}
+        </if>
+
+    </select>
 
 </mapper>

+ 3 - 0
coffee-system/src/main/resources/mapper/bus/BusDeviceHistoryMapper.xml

@@ -11,4 +11,7 @@
     </select>
 
 
+
+
+
 </mapper>