drone-service/drone-fw/src/main/java/org/sxkj/fw/device/controller/FwDeviceController.java
@@ -34,6 +34,7 @@ import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringUtil; import org.springframework.web.bind.annotation.*; import org.sxkj.fw.cockpit.vo.DeviceStatisticsVO; import org.sxkj.fw.common.GenericConverter; import org.sxkj.fw.common.IdParam; import org.sxkj.fw.device.dto.FwDeviceDTO; @@ -41,6 +42,7 @@ import org.sxkj.fw.device.excel.FwDeviceExcel; import org.sxkj.fw.device.param.FwDevicePageParam; import org.sxkj.fw.device.service.IFwDeviceService; import org.sxkj.fw.device.vo.DeviceTypeStatisticsVO; import org.sxkj.fw.device.vo.FwDeviceVO; import org.sxkj.fw.device.wrapper.FwDeviceWrapper; import springfox.documentation.annotations.ApiIgnore; @@ -138,12 +140,44 @@ return R.status(fwDeviceService.deleteLogic(Func.toLongList(ids))); } /** * 设备类型统计 * @return 统计数据 */ @GetMapping("/statisticalDeviceType") @ApiOperationSupport(order = 6) @ApiOperation(value = "设备类型统计", notes = "设备类型统计") public R<List<DeviceTypeStatisticsVO>> statisticalDeviceType() { return R.data(fwDeviceService.getDeviceTypeStatistics()); } /** * 设备类型统计 * @return 统计数据 */ @GetMapping("/statisticalDeviceOut") @ApiOperationSupport(order = 7) @ApiOperation(value = "设备出库去向统计", notes = "设备出库去向统计") public R<List<DeviceStatisticsVO>> statisticalDeviceOut() { return R.data(fwDeviceService.getDeviceOutStatistics()); } /** * 设备生产厂商统计 * @return 统计数据 */ @GetMapping("/statisticalDeviceManufacturer") @ApiOperationSupport(order = 8) @ApiOperation(value = "设备生产厂商统计", notes = "设备生产厂商统计") public R<List<DeviceStatisticsVO>> statisticalDeviceManufacturer() { return R.data(fwDeviceService.getDeviceManufacturerStatistics()); } /** * 导出数据 */ @GetMapping("/export-fwDevice") @ApiOperationSupport(order = 6) @ApiOperationSupport(order = 99) @ApiOperation(value = "导出数据", notes = "传入fwDevice") @ApiIgnore public void exportFwDevice(@ApiIgnore @RequestParam Map<String, Object> fwDevice, BladeUser bladeUser, HttpServletResponse response) { drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMapper.java
@@ -16,17 +16,18 @@ */ package org.sxkj.fw.device.mapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO; import org.sxkj.fw.device.vo.DeviceTypeStatisticsVO; import org.sxkj.fw.cockpit.vo.DeviceStatisticsVO; import org.sxkj.fw.device.dto.FwDeviceDTO; import org.sxkj.fw.device.entity.FwDeviceEntity; import org.sxkj.fw.device.vo.CockpitFwDeviceVO; import org.sxkj.fw.device.vo.FwDeviceVO; import org.sxkj.fw.device.excel.FwDeviceExcel; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.sxkj.fw.device.vo.CockpitFwDeviceVO; import java.util.List; /** @@ -58,19 +59,36 @@ /** * 获取导出数据 * * @param queryWrapper * @return */ List<FwDeviceExcel> exportFwDevice(@Param("ew") Wrapper<FwDeviceEntity> queryWrapper); /** * 设备统计 * @return * 设备统计 - 驾驶舱使用 * @return 统计数据 */ List<DeviceStatisticsVO> statisticalDeviceType(); /** * 设备统计 - 按类型统计 * @return 统计数据 */ List<DeviceTypeStatisticsVO> getDeviceTypeStatistics(); /** * 设备出库去向统计 * @return 统计数据 */ List<DeviceStatisticsVO> getDeviceOutStatistics(); /** * 设备生产厂商统计 * @return 统计数据 */ List<DeviceStatisticsVO> getDeviceManufacturerStatistics(); /** * 告警统计 * @return */ drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMapper.xml
@@ -163,6 +163,61 @@ ORDER BY split_device_type </select> <!-- 获取设备类型统计数据 --> <select id="getDeviceTypeStatistics" resultType="org.sxkj.fw.device.vo.DeviceTypeStatisticsVO"> SELECT a.device_type,b.dict_value AS device_type_value,count(*) device_count, (SELECT COUNT(*) FROM ja_fw_device) as total_devices FROM ja_fw_device a LEFT JOIN blade_dict_biz b ON ( a.device_type = b.dict_key AND b.code = 'deviceType' AND b.parent_id != 0 ) where a.is_deleted = 0 group by a.device_type,b.dict_value </select> <!-- 设备出库去向统计 --> <select id="getDeviceOutStatistics" resultType="org.sxkj.fw.cockpit.vo.DeviceStatisticsVO"> SELECT t.out_target AS type, COUNT(*) AS count FROM ja_fw_device d LEFT JOIN ( SELECT device_id, out_target, ROW_NUMBER() OVER ( PARTITION BY device_id ORDER BY create_time DESC ) AS rn FROM ja_fw_device_track WHERE out_target IS NOT NULL ) t ON d.id = t.device_id AND t.rn = 1 WHERE d.is_deleted = 0 AND t.out_target IS NOT NULL GROUP BY t.out_target; </select> <!-- 设备生产厂商统计 --> <select id="getDeviceManufacturerStatistics" resultType="org.sxkj.fw.cockpit.vo.DeviceStatisticsVO"> SELECT manufacturer AS type, COUNT(*) AS count FROM ja_fw_device WHERE is_deleted = 0 GROUP BY manufacturer </select> <!-- 查询设备总数 + 无线电/光电/雷达设备数量 --> <select id="statisticalDeviceAtt" resultType="org.sxkj.fw.cockpit.vo.AlarmStatisticsVO"> SELECT drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/IFwDeviceService.java
@@ -22,6 +22,7 @@ import org.sxkj.fw.device.dto.FwDeviceDTO; import org.sxkj.fw.device.entity.FwDeviceEntity; import org.sxkj.fw.device.vo.CockpitFwDeviceVO; import org.sxkj.fw.device.vo.DeviceTypeStatisticsVO; import org.sxkj.fw.device.vo.FwDeviceVO; import org.sxkj.fw.device.excel.FwDeviceExcel; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -70,6 +71,24 @@ List<DeviceStatisticsVO> statisticalDeviceType(); /** * 设备统计 - 按类型统计 * @return 统计数据 */ List<DeviceTypeStatisticsVO> getDeviceTypeStatistics(); /** * 设备出库去向统计 * @return 统计数据 */ List<DeviceStatisticsVO> getDeviceOutStatistics(); /** * 设备生产厂商统计 * @return 统计数据 */ List<DeviceStatisticsVO> getDeviceManufacturerStatistics(); /** * 设备报警统计 * @return */ drone-service/drone-fw/src/main/java/org/sxkj/fw/device/service/impl/FwDeviceServiceImpl.java
@@ -21,6 +21,7 @@ import org.sxkj.fw.device.dto.FwDeviceDTO; import org.sxkj.fw.device.entity.FwDeviceEntity; import org.sxkj.fw.device.vo.CockpitFwDeviceVO; import org.sxkj.fw.device.vo.DeviceTypeStatisticsVO; import org.sxkj.fw.device.vo.FwDeviceVO; import org.sxkj.fw.device.excel.FwDeviceExcel; import org.sxkj.fw.device.mapper.FwDeviceMapper; @@ -87,6 +88,25 @@ } /** * 设备统计 - 按类型统计 * @return 统计数据 */ @Override public List<DeviceTypeStatisticsVO> getDeviceTypeStatistics() { return baseMapper.getDeviceTypeStatistics(); } @Override public List<DeviceStatisticsVO> getDeviceOutStatistics() { return baseMapper.getDeviceOutStatistics(); } @Override public List<DeviceStatisticsVO> getDeviceManufacturerStatistics() { return baseMapper.getDeviceManufacturerStatistics(); } /** * 设备属性统计 * @return */ drone-service/drone-fw/src/main/java/org/sxkj/fw/device/vo/DeviceTypeStatisticsVO.java
New file @@ -0,0 +1,36 @@ package org.sxkj.fw.device.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @Description 设备统计 * @Author AIX * @Date 2026/1/14 11:30 * @Version 1.0 */ @Data public class DeviceTypeStatisticsVO { /** * 设备类型 */ @ApiModelProperty(value = "设备类型") private String deviceType; /** * 设备类型名称 */ @ApiModelProperty(value = "设备类型名称") private String deviceTypeValue; /** * 数量 */ @ApiModelProperty(value = "数量") private Integer deviceCount; /** * 总数量 */ @ApiModelProperty(value = "总数量") private Integer totalDevices; } drone-service/drone-system/src/main/java/org/sxkj/system/feign/ManageDevicePerShareClient.java
File was deleted