添加了可以导出代谢物和不导出代谢物列表的功能
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user