吉安感知网项目-后端
linwei
yesterday 08ddfad4530a014094c06fe68b8c2d9a0753403a
drone-service/drone-fw/src/main/java/org/sxkj/fw/record/controller/FwDroneFlightRecordController.java
@@ -16,40 +16,53 @@
 */
package org.sxkj.fw.record.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
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;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.constant.BladeConstant;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.sxkj.fw.record.dto.FwDroneFlightRecordDTO;
import org.sxkj.fw.record.entity.FwDroneFlightRecordEntity;
import org.sxkj.fw.record.vo.FwDroneFlightRecordVO;
import org.sxkj.fw.record.excel.FwDroneAlarmRecordExcel;
import org.sxkj.fw.record.excel.FwDroneFlightRecordExcel;
import org.sxkj.fw.record.wrapper.FwDroneFlightRecordWrapper;
import org.sxkj.fw.record.param.FwDroneFlightRecordExportParam;
import org.sxkj.fw.record.service.IFwDroneFlightRecordService;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.constant.BladeConstant;
import org.sxkj.fw.record.vo.FwDroneFlightRecordVO;
import org.sxkj.fw.record.wrapper.FwDroneFlightRecordWrapper;
import org.sxkj.fw.utils.JaExcelUtil;
import springfox.documentation.annotations.ApiIgnore;
import java.util.Map;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
 * 无人机飞行记录表 控制器
 *
 * @author lw
 * @since 2026-01-07
 * @since 2026-01-08
 */
@RestController
@AllArgsConstructor
@@ -70,45 +83,14 @@
      return R.data(FwDroneFlightRecordWrapper.build().entityVO(detail));
   }
   /**
    * 无人机飞行记录表 分页
    */
   @GetMapping("/list")
   @ApiOperationSupport(order = 2)
   @ApiOperation(value = "分页", notes = "传入fwDroneFlightRecord")
   public R<IPage<FwDroneFlightRecordVO>> list(@ApiIgnore @RequestParam Map<String, Object> fwDroneFlightRecord, Query query) {
      IPage<FwDroneFlightRecordEntity> pages = fwDroneFlightRecordService.page(Condition.getPage(query), Condition.getQueryWrapper(fwDroneFlightRecord, FwDroneFlightRecordEntity.class));
      return R.data(FwDroneFlightRecordWrapper.build().pageVO(pages));
   }
   /**
    * 无人机飞行记录表 自定义分页
    */
   @GetMapping("/page")
   @ApiOperationSupport(order = 3)
   @ApiOperation(value = "分页", notes = "传入fwDroneFlightRecord")
   public R<IPage<FwDroneFlightRecordVO>> page(FwDroneFlightRecordVO fwDroneFlightRecord, Query query) {
   public R<IPage<FwDroneFlightRecordVO>> page(FwDroneFlightRecordDTO fwDroneFlightRecord, Query query) {
      IPage<FwDroneFlightRecordVO> pages = fwDroneFlightRecordService.selectFwDroneFlightRecordPage(Condition.getPage(query), fwDroneFlightRecord);
      return R.data(pages);
   }
   /**
    * 无人机飞行记录表 新增
    */
   @PostMapping("/save")
   @ApiOperationSupport(order = 4)
   @ApiOperation(value = "新增", notes = "传入fwDroneFlightRecord")
   public R save(@Valid @RequestBody FwDroneFlightRecordEntity fwDroneFlightRecord) {
      return R.status(fwDroneFlightRecordService.save(fwDroneFlightRecord));
   }
   /**
    * 无人机飞行记录表 修改
    */
   @PostMapping("/update")
   @ApiOperationSupport(order = 5)
   @ApiOperation(value = "修改", notes = "传入fwDroneFlightRecord")
   public R update(@Valid @RequestBody FwDroneFlightRecordEntity fwDroneFlightRecord) {
      return R.status(fwDroneFlightRecordService.updateById(fwDroneFlightRecord));
   }
   /**
@@ -117,8 +99,9 @@
   @PostMapping("/submit")
   @ApiOperationSupport(order = 6)
   @ApiOperation(value = "新增或修改", notes = "传入fwDroneFlightRecord")
   public R submit(@Valid @RequestBody FwDroneFlightRecordEntity fwDroneFlightRecord) {
      return R.status(fwDroneFlightRecordService.saveOrUpdate(fwDroneFlightRecord));
   public R submit(@Valid @RequestBody FwDroneFlightRecordDTO fwDroneFlightRecord) {
      FwDroneFlightRecordEntity entity = Objects.requireNonNull(BeanUtil.copy(fwDroneFlightRecord, FwDroneFlightRecordEntity.class));
      return R.status(fwDroneFlightRecordService.saveOrUpdate(entity));
   }
   /**
@@ -138,14 +121,13 @@
   @GetMapping("/export-fwDroneFlightRecord")
   @ApiOperationSupport(order = 9)
   @ApiOperation(value = "导出数据", notes = "传入fwDroneFlightRecord")
   public void exportFwDroneFlightRecord(@ApiIgnore @RequestParam Map<String, Object> fwDroneFlightRecord, BladeUser bladeUser, HttpServletResponse response) {
      QueryWrapper<FwDroneFlightRecordEntity> queryWrapper = Condition.getQueryWrapper(fwDroneFlightRecord, FwDroneFlightRecordEntity.class);
      //if (!AuthUtil.isAdministrator()) {
      //   queryWrapper.lambda().eq(FwDroneFlightRecord::getTenantId, bladeUser.getTenantId());
      //}
      queryWrapper.lambda().eq(FwDroneFlightRecordEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
      List<FwDroneFlightRecordExcel> list = fwDroneFlightRecordService.exportFwDroneFlightRecord(queryWrapper);
      ExcelUtil.export(response, "无人机飞行记录表数据" + DateUtil.time(), "无人机飞行记录表数据表", list, FwDroneFlightRecordExcel.class);
   public void exportFwDroneFlightRecord(FwDroneFlightRecordExportParam fwDroneFlightRecord, HttpServletResponse response) throws IOException {
      Map<String,List<FwDroneFlightRecordExcel>> list = fwDroneFlightRecordService.exportFwDroneFlightRecord(fwDroneFlightRecord);
      JaExcelUtil.exportMultipleSheets(response, "无人机飞行记录表数据" + DateUtil.time(),   list, FwDroneFlightRecordExcel.class);
   }
}