设备运行状态统计初版

develop-QA
qinyulong 4 months ago
parent d9f73af378
commit 09c6085fef
  1. 32
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/EquipmentStatusStatisticsVO.java
  2. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/EquipmentController.java
  3. 32
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.java
  4. 18
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.xml
  5. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/EquipmentServiceImpl.java

@ -0,0 +1,32 @@
package org.springblade.desk.device.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.device.pojo.entity.EquipmentEntity;
/**
* 设备状态统计 视图实体类
*
* @author qyl
* @since 2025-12-30
*/
@Data
@Schema(description = "设备状态统计结果")
public class EquipmentStatusStatisticsVO {
// 设备总数
@Schema(description = "设备总数")
private Integer totalCount;
// 运行中的设备数量
@Schema(description = "运行中的设备数量")
private Integer runningCount;
// 停机设备数量
@Schema(description = "停机设备数量")
private Integer stoppedCount;
// 故障设备数量
@Schema(description = "故障设备数量")
private Integer faultCount;
}

@ -42,6 +42,7 @@ import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.device.pojo.excel.EquipmentExcel;
import org.springblade.desk.device.pojo.vo.EquipmentStatusStatisticsVO;
import org.springblade.desk.order.wrapper.AssayContentWrapper;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -139,6 +140,16 @@ public class EquipmentController extends BladeController {
return R.status(equipmentService.deleteLogic(Func.toLongList(ids)));
}
/**
* 设备状态数量统计
*/
@GetMapping("/stateStatistics")
@ApiOperationSupport(order = 8)
@Operation(summary = "设备状态数量统计", description = "")
public R<EquipmentStatusStatisticsVO> stateStatistics() {
EquipmentStatusStatisticsVO equipmentStatusStatisticsVO = equipmentService.stateStatistics();
return R.data(equipmentStatusStatisticsVO);
}
/**
* 导出数据

@ -1,32 +1,8 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.desk.device.mapper;
import org.springblade.desk.device.pojo.entity.EquipmentEntity;
import org.springblade.desk.device.pojo.excel.EquipmentExcel;
import org.springblade.desk.device.pojo.vo.EquipmentStatusStatisticsVO;
import org.springblade.desk.device.pojo.vo.EquipmentVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
@ -60,4 +36,10 @@ public interface EquipmentMapper extends BaseMapper<EquipmentEntity> {
*/
List<EquipmentExcel> exportEquipment(@Param("ew") Wrapper<EquipmentEntity> queryWrapper);
/**
* 设备状态统计
*
* @return
*/
EquipmentStatusStatisticsVO stateStatistics();
}

@ -26,7 +26,14 @@
<result column="STATUS" property="status"/>
<result column="IS_DELETED" property="isDeleted"/>
</resultMap>
<!-- 定义结果映射,将查询结果的列映射到VO的属性上 -->
<resultMap id="EquipmentStatusStatisticsResultMap"
type="org.springblade.desk.device.pojo.vo.EquipmentStatusStatisticsVO">
<result column="total_count" property="totalCount" javaType="java.lang.Integer"/>
<result column="running_count" property="runningCount" javaType="java.lang.Integer"/>
<result column="stopped_count" property="stoppedCount" javaType="java.lang.Integer"/>
<result column="fault_count" property="faultCount" javaType="java.lang.Integer"/>
</resultMap>
<select id="selectEquipmentPage" resultMap="equipmentResultMap">
select * from MES_EQUIPMENT where is_deleted = 0
@ -37,4 +44,13 @@
SELECT * FROM MES_EQUIPMENT ${ew.customSqlSegment}
</select>
<!-- 设备状态统计查询语句 -->
<select id="stateStatistics" resultMap="EquipmentStatusStatisticsResultMap">
SELECT COUNT(*) AS total_count,
SUM(CASE WHEN status = '1' THEN 1 ELSE 0 END) AS running_count,
SUM(CASE WHEN status = '0' THEN 1 ELSE 0 END) AS stopped_count,
SUM(CASE WHEN status = '2' THEN 1 ELSE 0 END) AS fault_count
FROM MES_EQUIPMENT
where is_deleted = 0
</select>
</mapper>

@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springblade.desk.device.pojo.entity.EquipmentEntity;
import org.springblade.desk.device.pojo.excel.EquipmentExcel;
import org.springblade.desk.device.pojo.vo.EquipmentStatusStatisticsVO;
import org.springblade.desk.device.pojo.vo.EquipmentVO;
import org.springblade.desk.device.mapper.EquipmentMapper;
import org.springblade.desk.device.service.IEquipmentService;
@ -74,4 +75,9 @@ public class EquipmentServiceImpl extends BaseServiceImpl<EquipmentMapper, Equip
return equipmentList;
}
@Override
public EquipmentStatusStatisticsVO stateStatistics() {
return baseMapper.stateStatistics();
}
}

Loading…
Cancel
Save