统计优化

This commit is contained in:
zzc 2024-08-23 01:25:47 +08:00
parent 600f09df51
commit 03758082ab
2 changed files with 15 additions and 4 deletions

View File

@ -2,6 +2,7 @@ package org.dromara.web.controller.show;
import lombok.RequiredArgsConstructor;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.web.domain.bo.EqEquipmentBo;
import org.dromara.web.domain.vo.EqEquipmentStatisticsVo;
import org.dromara.web.service.IEqEquipmentService;
import org.springframework.web.bind.annotation.*;
@ -14,6 +15,8 @@ import org.dromara.web.domain.bo.EqEquipmentLogBo;
import org.dromara.web.service.IEqEquipmentLogService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import java.util.Map;
/**
* web端 统计分析
*
@ -45,7 +48,11 @@ public class EqShowEquipmentLogController extends BaseController {
*/
// @SaCheckPermission("device:showEquipmentLog:list")
@GetMapping("/selectEquipmentStatistic")
public R<EqEquipmentStatisticsVo> selectEquipmentStatistic(Integer type, String startTime, String endTime) {
public R<EqEquipmentStatisticsVo> selectEquipmentStatistic(EqEquipmentBo bo) {
Map<String, Object> params = bo.getParams();
Integer type = bo.getType();
String startTime = params.get("beginCreateTime") == null?null:params.get("beginCreateTime").toString();
String endTime = params.get("endCreateTime") == null?null:params.get("endCreateTime").toString();
return R.ok(eqEquipmentService.selectEquipmentStatistic(type,startTime,endTime));
}

View File

@ -50,10 +50,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectEquipmentStatistic" resultType="org.dromara.web.domain.vo.EqEquipmentStatisticsVo">
SELECT
COUNT(*) AS bind_num, -- 设备总数
SUM(CASE WHEN line_status = 0 THEN 1 ELSE 0 END) AS offline_num, -- 离线个数
SUM(CASE WHEN line_status = 1 THEN 1 ELSE 0 END) AS online_num, -- 在线个数
SUM(CASE WHEN fault_status > 0 THEN 1 ELSE 0 END) AS fault_num -- 故障个数
COALESCE(SUM(CASE WHEN line_status = 0 THEN 1 ELSE 0 END), 0) AS offline_num, -- 离线个数
COALESCE(SUM(CASE WHEN line_status = 1 THEN 1 ELSE 0 END), 0) AS online_num, -- 在线个数
COALESCE(SUM(CASE WHEN fault_status > 0 THEN 1 ELSE 0 END), 0) AS fault_num -- 故障个数
FROM eq_equipment
-- SUM(CASE WHEN line_status = 0 THEN 1 ELSE 0 END) AS offline_num, -- 离线个数
-- SUM(CASE WHEN line_status = 1 THEN 1 ELSE 0 END) AS online_num, -- 在线个数
-- SUM(CASE WHEN fault_status > 0 THEN 1 ELSE 0 END) AS fault_num -- 故障个数
-- FROM eq_equipment
<where>
<if test="type != null and type != ''">
AND 'type' like