diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/EquipmentStatusStatisticsVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/EquipmentStatusStatisticsVO.java new file mode 100644 index 00000000..465f5998 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/vo/EquipmentStatusStatisticsVO.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; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/EquipmentController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/EquipmentController.java index 23bb58bb..dba4cb35 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/EquipmentController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/controller/EquipmentController.java @@ -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 stateStatistics() { + EquipmentStatusStatisticsVO equipmentStatusStatisticsVO = equipmentService.stateStatistics(); + return R.data(equipmentStatusStatisticsVO); + } /** * 导出数据 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.java index 9af909d8..7faf43e8 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.java @@ -1,32 +1,8 @@ -/** - * BladeX Commercial License Agreement - * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. - *

- * Use of this software is governed by the Commercial License Agreement - * obtained after purchasing a license from BladeX. - *

- * 1. This software is for development use only under a valid license - * from BladeX. - *

- * 2. Redistribution of this software's source code to any third party - * without a commercial license is strictly prohibited. - *

- * 3. Licensees may copyright their own code but cannot use segments - * from this software for such purposes. Copyright of this software - * remains with BladeX. - *

- * Using this software signifies agreement to this License, and the software - * must not be used for illegal purposes. - *

- * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is - * not liable for any claims arising from secondary or illegal development. - *

- * 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 { */ List exportEquipment(@Param("ew") Wrapper queryWrapper); + /** + * 设备状态统计 + * + * @return + */ + EquipmentStatusStatisticsVO stateStatistics(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.xml index 538c8478..9b8feae3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.xml @@ -26,7 +26,14 @@ - + + + + + + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/EquipmentServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/EquipmentServiceImpl.java index 2f1a6704..2c4ccf78 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/EquipmentServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/service/impl/EquipmentServiceImpl.java @@ -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