drone-service/drone-fw/src/main/java/org/sxkj/fw/record/controller/FwDroneAlarmRecordController.java
@@ -24,6 +24,7 @@ import io.swagger.annotations.ApiParam; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; import javax.validation.Valid; import org.springblade.core.secure.BladeUser; @@ -37,6 +38,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.sxkj.fw.record.dto.FwDroneAlarmRecordDTO; import org.sxkj.fw.record.entity.FwDroneAlarmRecordEntity; import org.sxkj.fw.record.param.FwDroneAlarmRecordExportParam; import org.sxkj.fw.record.vo.FwDroneAlarmRecordVO; import org.sxkj.fw.record.excel.FwDroneAlarmRecordExcel; import org.sxkj.fw.record.wrapper.FwDroneAlarmRecordWrapper; @@ -78,16 +80,6 @@ FwDroneAlarmRecordEntity detail = fwDroneAlarmRecordService.getOne(Condition.getQueryWrapper(fwDroneAlarmRecord)); return R.data(FwDroneAlarmRecordWrapper.build().entityVO(detail)); } /** * 无人机告警表 分页 */ // @GetMapping("/list") // @ApiOperationSupport(order = 2) // @ApiOperation(value = "分页", notes = "传入fwDroneAlarmRecord") // public R<IPage<FwDroneAlarmRecordVO>> list(@ApiIgnore @RequestParam Map<String, Object> fwDroneAlarmRecord, Query query) { // IPage<FwDroneAlarmRecordEntity> pages = fwDroneAlarmRecordService.page(Condition.getPage(query), Condition.getQueryWrapper(fwDroneAlarmRecord, FwDroneAlarmRecordEntity.class)); // return R.data(FwDroneAlarmRecordWrapper.build().pageVO(pages)); // } /** * 无人机告警表 自定义分页 @@ -99,27 +91,6 @@ IPage<FwDroneAlarmRecordVO> pages = fwDroneAlarmRecordService.selectFwDroneAlarmRecordPage(Condition.getPage(query), fwDroneAlarmRecord); return R.data(pages); } /** * 无人机告警表 新增 */ // @PostMapping("/save") // @ApiOperationSupport(order = 4) // @ApiOperation(value = "新增", notes = "传入fwDroneAlarmRecord") // public R save(@Valid @RequestBody FwDroneAlarmRecordDTO fwDroneAlarmRecord) { // FwDroneAlarmRecordEntity fwDroneAlarmRecordEntity = Objects.requireNonNull(BeanUtil.copy(fwDroneAlarmRecord, FwDroneAlarmRecordEntity.class)); // return R.status(fwDroneAlarmRecordService.save(fwDroneAlarmRecordEntity)); // } /** * 无人机告警表 修改 */ // @PostMapping("/update") // @ApiOperationSupport(order = 5) // @ApiOperation(value = "修改", notes = "传入fwDroneAlarmRecord") // public R update(@Valid @RequestBody FwDroneAlarmRecordEntity fwDroneAlarmRecord) { // return R.status(fwDroneAlarmRecordService.updateById(fwDroneAlarmRecord)); // } /** * 无人机告警表 新增或修改 @@ -149,13 +120,8 @@ @GetMapping("/export-fwDroneAlarmRecord") @ApiOperationSupport(order = 9) @ApiOperation(value = "导出数据", notes = "传入fwDroneAlarmRecord") public void exportFwDroneAlarmRecord(@ApiIgnore @RequestParam Map<String, Object> fwDroneAlarmRecord, BladeUser bladeUser, HttpServletResponse response) { QueryWrapper<FwDroneAlarmRecordEntity> queryWrapper = Condition.getQueryWrapper(fwDroneAlarmRecord, FwDroneAlarmRecordEntity.class); //if (!AuthUtil.isAdministrator()) { // queryWrapper.lambda().eq(FwDroneAlarmRecord::getTenantId, bladeUser.getTenantId()); //} queryWrapper.lambda().eq(FwDroneAlarmRecordEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); List<FwDroneAlarmRecordExcel> list = fwDroneAlarmRecordService.exportFwDroneAlarmRecord(queryWrapper); public void exportFwDroneAlarmRecord(FwDroneAlarmRecordExportParam fwDroneAlarmRecord, HttpServletResponse response) { List<FwDroneAlarmRecordExcel> list = fwDroneAlarmRecordService.exportFwDroneAlarmRecord(fwDroneAlarmRecord); ExcelUtil.export(response, "无人机告警表数据" + DateUtil.time(), "无人机告警表数据表", list, FwDroneAlarmRecordExcel.class); } drone-service/drone-fw/src/main/java/org/sxkj/fw/record/excel/FwDroneAlarmRecordExcel.java
@@ -46,12 +46,7 @@ private static final long serialVersionUID = 1L; /** * 反无设备ID(关联ja_fw_device.id) */ @ColumnWidth(20) @ExcelProperty("反无设备ID(关联ja_fw_device.id)") private Long deviceId; /** * 无人机名称 */ @@ -62,22 +57,9 @@ * 无人机序列号 */ @ColumnWidth(20) @ExcelProperty("无人机序列号") @ExcelProperty("序列号") private String droneSerialNo; /** * 无人机类型(微型机/植保机...) */ @ColumnWidth(20) @ExcelProperty( value = "无人机类型(微型机/植保机...)",converter = ExcelDictConverter.class) @ExcelDictItemLabel(type = "droneType") @ExcelDictItem(type = "droneType") private String droneType; /** * 告警类型:实时告警/历史告警 */ @ColumnWidth(20) @ExcelProperty("告警类型:实时告警/历史告警") private String alarmType; /** * 告警时间 */ @@ -85,20 +67,37 @@ @ExcelProperty("告警时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date alarmTime; @ColumnWidth(20) @ExcelProperty("区域名称") private String areaName; /** * 无人机类型(微型机/植保机...) */ @ColumnWidth(20) // @ExcelProperty(value = "设备类型", converter = ExcelDictConverter.class) @ExcelProperty(value = "设备类型") // @ExcelDictItemLabel(type = "droneType") // @ExcelDictItem(type = "droneType") private String droneType; /** * 触发原因 */ @ColumnWidth(20) @ExcelProperty("触发原因") private String triggerReason; /** * 飞行状态:侦测中/反制中 * 停留时长 (秒) */ @ColumnWidth(20) @ExcelProperty(value = "飞行状态:侦测中/反制中", converter = ExcelDictConverter.class) @ExcelDictItemLabel(type = "flightStatus") @ExcelDictItem(type = "flightStatus") private String flightStatus; @ExcelProperty(value = "停留时长(秒)") private String stayDuration; /** * 当前经度 */ @@ -111,55 +110,10 @@ @ColumnWidth(20) @ExcelProperty("当前纬度") private Double latitude; /** * 信号频段(MHz) */ @ColumnWidth(20) @ExcelProperty("信号频段(MHz)") private Integer signalFreqMhz; /** * 飞行高度(m) */ @ColumnWidth(20) @ExcelProperty("飞行高度(m)") private Integer flightHeightM; /** * 飞行速度(m/s) */ @ColumnWidth(20) @ExcelProperty("飞行速度(m/s)") private BigDecimal flightSpeedMs; /** * 停留时长 (秒) */ @ColumnWidth(20) @ExcelProperty(value = "停留时长(秒)") private String stayDuration; /** * 反制方式:信号干扰/诱导驱离/无 */ @ColumnWidth(20) @ExcelProperty(value = "反制方式:信号干扰/诱导驱离/无", converter = ExcelDictConverter.class) @ExcelDictItemLabel(type = "counterWay") @ExcelDictItem(type = "counterWay") private String counterWay; /** * 区域id ja_fw_area_divide */ @ColumnWidth(20) @ExcelProperty("区域id ja_fw_area_divide") private String areaDivideId; /** * 场景id ja_fw_defense_scene.id */ @ColumnWidth(20) @ExcelProperty("场景id ja_fw_defense_scene.id") private String defenseSceneId; /** * 区域编码 */ @ColumnWidth(20) @ExcelProperty("区域编码") private String areaCode; @ExcelProperty("设备编号") private String deviceSn; } drone-service/drone-fw/src/main/java/org/sxkj/fw/record/mapper/FwDroneAlarmRecordMapper.java
@@ -19,6 +19,7 @@ import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO; import org.sxkj.fw.record.dto.FwDroneAlarmRecordDTO; import org.sxkj.fw.record.entity.FwDroneAlarmRecordEntity; import org.sxkj.fw.record.param.FwDroneAlarmRecordExportParam; import org.sxkj.fw.record.vo.FwDroneAlarmRecordVO; import org.sxkj.fw.record.excel.FwDroneAlarmRecordExcel; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -48,10 +49,10 @@ /** * 获取导出数据 * * @param queryWrapper * @param fwDroneAlarmRecord * @return */ List<FwDroneAlarmRecordExcel> exportFwDroneAlarmRecord(@Param("ew") Wrapper<FwDroneAlarmRecordEntity> queryWrapper); List<FwDroneAlarmRecordExcel> exportFwDroneAlarmRecord( FwDroneAlarmRecordExportParam fwDroneAlarmRecord); /** * 告警类型统计 drone-service/drone-fw/src/main/java/org/sxkj/fw/record/mapper/FwDroneAlarmRecordMapper.xml
@@ -47,10 +47,12 @@ and dar.device_id = #{param2.deviceId} </if> <if test="param2.droneName != null and param2.droneName != ''"> and dar.drone_name like CONCAT('%', #{param2.droneName}, '%') and ( dar.drone_name like CONCAT('%', #{param2.droneName}, '%') </if> <if test="param2.droneSerialNo != null and param2.droneSerialNo != ''"> and dar.drone_serial_no = #{param2.droneSerialNo} or dar.drone_serial_no like CONCAT('%', #{param2.droneSerialNo}, '%') ) </if> <if test="param2.droneType != null and param2.droneType != ''"> and dar.drone_type = #{param2.droneType} @@ -108,7 +110,22 @@ <select id="exportFwDroneAlarmRecord" resultType="org.sxkj.fw.record.excel.FwDroneAlarmRecordExcel"> SELECT * FROM ja_fw_drone_alarm_record ${ew.customSqlSegment} select dar.*, d.device_name, d.status deviceStatus from ja_fw_drone_alarm_record dar left join ja_fw_device d on dar.device_id = d.id <where> dar.is_deleted = 0 <if test="ids != null and ids.size() > 0"> and dar.id in <foreach item="item" collection="ids" separator="," open="(" close=")"> #{item} </foreach> </if> </where> </select> <select id="alarmTypeStatistics" resultType="org.sxkj.fw.cockpit.vo.AlarmStatisticsVO"> drone-service/drone-fw/src/main/java/org/sxkj/fw/record/param/FwDroneAlarmRecordExportParam.java
New file @@ -0,0 +1,12 @@ package org.sxkj.fw.record.param; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data public class FwDroneAlarmRecordExportParam { @ApiModelProperty("主键id,逗号分隔") private List<Long> ids; } drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/IFwDroneAlarmRecordService.java
@@ -20,6 +20,7 @@ import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO; import org.sxkj.fw.record.dto.FwDroneAlarmRecordDTO; import org.sxkj.fw.record.entity.FwDroneAlarmRecordEntity; import org.sxkj.fw.record.param.FwDroneAlarmRecordExportParam; import org.sxkj.fw.record.vo.FwDroneAlarmRecordVO; import org.sxkj.fw.record.excel.FwDroneAlarmRecordExcel; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -46,10 +47,10 @@ /** * 导出数据 * * @param queryWrapper * @param fwDroneAlarmRecord * @return */ List<FwDroneAlarmRecordExcel> exportFwDroneAlarmRecord(Wrapper<FwDroneAlarmRecordEntity> queryWrapper); List<FwDroneAlarmRecordExcel> exportFwDroneAlarmRecord(FwDroneAlarmRecordExportParam fwDroneAlarmRecord); /** * drone-service/drone-fw/src/main/java/org/sxkj/fw/record/service/impl/FwDroneAlarmRecordServiceImpl.java
@@ -19,6 +19,7 @@ import org.sxkj.fw.cockpit.vo.AlarmStatisticsVO; import org.sxkj.fw.record.dto.FwDroneAlarmRecordDTO; import org.sxkj.fw.record.entity.FwDroneAlarmRecordEntity; import org.sxkj.fw.record.param.FwDroneAlarmRecordExportParam; import org.sxkj.fw.record.vo.FwDroneAlarmRecordVO; import org.sxkj.fw.record.excel.FwDroneAlarmRecordExcel; import org.sxkj.fw.record.mapper.FwDroneAlarmRecordMapper; @@ -45,11 +46,8 @@ @Override public List<FwDroneAlarmRecordExcel> exportFwDroneAlarmRecord(Wrapper<FwDroneAlarmRecordEntity> queryWrapper) { List<FwDroneAlarmRecordExcel> fwDroneAlarmRecordList = baseMapper.exportFwDroneAlarmRecord(queryWrapper); //fwDroneAlarmRecordList.forEach(fwDroneAlarmRecord -> { // fwDroneAlarmRecord.setTypeName(DictCache.getValue(DictEnum.YES_NO, FwDroneAlarmRecord.getType())); //}); public List<FwDroneAlarmRecordExcel> exportFwDroneAlarmRecord(FwDroneAlarmRecordExportParam fwDroneAlarmRecord) { List<FwDroneAlarmRecordExcel> fwDroneAlarmRecordList = baseMapper.exportFwDroneAlarmRecord(fwDroneAlarmRecord); return fwDroneAlarmRecordList; }