添加了可以导出代谢物和不导出代谢物列表的功能

master
杨海航 2 weeks ago
parent 019cebd977
commit 148e7d57f9
  1. 7
      src/main/java/digital/laboratory/platform/entrustment/controller/EntrustMaterialCheckoutResultController.java
  2. 2
      src/main/java/digital/laboratory/platform/entrustment/service/EntrustMaterialCheckoutResultService.java
  3. 19
      src/main/java/digital/laboratory/platform/entrustment/service/impl/EntrustMaterialCheckoutResultServiceImpl.java

@ -118,12 +118,13 @@ public class EntrustMaterialCheckoutResultController {
}
@GetMapping("/generateQuarterlyReportExcel")
@PostMapping("/generateQuarterlyReportExcel")
@ApiOperation("生成季度报告")
public R generateQuarterlyReportExcel(@RequestBody GenerateQuarterlyReportDTO dto, HttpServletResponse response) throws IOException {
if (dto == null || dto.getQuarterlyList() == null || dto.getQuarterlyList().size() == 0 || dto.getYear() == 0) {
return R.failed("请输入正确的参数");
}
entrustMaterialCheckoutResultService.generateQuarterlyReportExcel(dto, response);
return R.ok("导出成功!");
String filePath = entrustMaterialCheckoutResultService.generateQuarterlyReportExcel(dto, response);
return R.ok(filePath, "导出成功!");
}
}

@ -86,5 +86,5 @@ public interface EntrustMaterialCheckoutResultService extends IService<EntrustMa
R pushSuspectDetectionResultTask(DLPUser dlpUser);
void generateQuarterlyReportExcel(GenerateQuarterlyReportDTO dto, HttpServletResponse response) throws IOException;
String generateQuarterlyReportExcel(GenerateQuarterlyReportDTO dto, HttpServletResponse response) throws IOException;
}

@ -43,6 +43,9 @@ import springfox.documentation.spring.web.json.Json;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
@ -1616,7 +1619,7 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
@Override
public void generateQuarterlyReportExcel(GenerateQuarterlyReportDTO dto, HttpServletResponse response) throws IOException {
public String generateQuarterlyReportExcel(GenerateQuarterlyReportDTO dto, HttpServletResponse response) throws IOException {
HashMap<Integer, Map<String, List<Integer>>> map = this.generateQuarterlyReportData(dto.getYear(), dto.getQuarterlyList());
XSSFWorkbook workbook = new XSSFWorkbook();
Set<Integer> quarterlySet = map.keySet();
@ -1629,8 +1632,20 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
for (Integer quarterly : quarterlySet) {
this.generateQuarterlyReportSheet(workbook, dto.getYear(), quarterly, map.get(quarterly));
}
workbook.write(response.getOutputStream());
ByteArrayOutputStream os = new ByteArrayOutputStream();
workbook.write(os);
ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray());
String fileName = "";
if (dto.getQuarterlyList().size() == 1) {
fileName = dto.getYear() + "年第" + dto.getQuarterlyList().get(0) + "季度统计.xlsx";
} else {
fileName = dto.getYear() + "年第" + dto.getQuarterlyList().get(0) + "至" + dto.getQuarterlyList().get(dto.getQuarterlyList().size() - 1) + "季度统计.xlsx";
}
boolean ret = ossFile.fileSave("quarterlyReport/" + fileName, is);
if (ret) {
return "quarterlyReport/" + fileName;
} else return null;
}

Loading…
Cancel
Save