package com.yuanchu.mom.controller; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.annotation.CustomClazzName; import com.yuanchu.mom.annotation.ValueClassify; import com.yuanchu.mom.excel.FeLightningProtectionExcel; import com.yuanchu.mom.excel.FeStandardSubstanceExcel; import com.yuanchu.mom.pojo.FeLightningProtection; import com.yuanchu.mom.pojo.FeMeasuredQuantity; import com.yuanchu.mom.pojo.FeStandardSubstance; import com.yuanchu.mom.service.FeLightningProtectionService; import com.yuanchu.mom.utils.FileSaveUtil; import com.yuanchu.mom.vo.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Objects; /** *

* 设施和环境条件-设施和环境条件要求-防雷检测 前端控制器 *

* * @author * @since 2024-11-07 04:16:36 */ @Api(tags = "设施和环境条件要求-防雷检测") @RestController @RequestMapping("/feLightningProtection") public class FeLightningProtectionController { @Autowired private FeLightningProtectionService feLightningProtectionService; @ValueClassify(value = "设施和环境条件要求") @PostMapping("addLightningProtectionDetection") @ApiOperation("设施和环境条件要求-防雷检测新增/修改") public Result addLightningProtectionDetection(FeLightningProtection feLightningProtection, @RequestPart(value = "file", required = false) MultipartFile file) { if (ObjectUtils.isNotEmpty(file)) { String s = FileSaveUtil.StoreFile(file); feLightningProtection.setSystemFileName(s); feLightningProtection.setFileName(file.getOriginalFilename()); } feLightningProtectionService.saveOrUpdate(feLightningProtection); return Result.success(); } @ValueClassify(value = "设施和环境条件要求") @DeleteMapping("deleteLightningProtectionDetection") @ApiOperation("设施和环境条件要求-防雷检测删除") public Result deleteLightningProtectionDetection(@RequestParam("lightningProtectionId") Integer lightningProtectionId) { feLightningProtectionService.removeById(lightningProtectionId); return Result.success(); } @ValueClassify(value = "设施和环境条件要求") @GetMapping("getLightningProtectionDetection") @ApiOperation("设施和环境条件要求-防雷检测查询") public Result> getLightningProtectionDetection(Page page) { IPage page1 = feLightningProtectionService.page(page); return Result.success(page1); } @ValueClassify(value = "设施和环境条件要求") @ApiOperation(value = "设施和环境条件要求-防雷检测导出") @GetMapping("exportOfLightningProtectionDetection") public void exportOfLightningProtectionDetection(HttpServletResponse response) throws Exception { List ipage = feLightningProtectionService.exportOfLightningProtectionDetection(); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setHeader("requestType", "excel"); response.setHeader("Access-Control-Expose-Headers", "requestType"); // 设置单元格样式 // 保存到第一个sheet中 EasyExcel.write(response.getOutputStream()) .head(FeLightningProtectionExcel.class) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 自适应列宽 .sheet("sheet") .doWrite(ipage); } }