添加了可以导出代谢物和不导出代谢物列表的功能
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 {
|
public R generateQuarterlyReportExcel(@RequestBody GenerateQuarterlyReportDTO dto, HttpServletResponse response) throws IOException {
|
||||||
if (dto == null || dto.getQuarterlyList() == null || dto.getQuarterlyList().size() == 0 || dto.getYear() == 0) {
|
if (dto == null || dto.getQuarterlyList() == null || dto.getQuarterlyList().size() == 0 || dto.getYear() == 0) {
|
||||||
return R.failed("请输入正确的参数");
|
return R.failed("请输入正确的参数");
|
||||||
}
|
}
|
||||||
entrustMaterialCheckoutResultService.generateQuarterlyReportExcel(dto, response);
|
String filePath = entrustMaterialCheckoutResultService.generateQuarterlyReportExcel(dto, response);
|
||||||
return R.ok("导出成功!");
|
return R.ok(filePath, "导出成功!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,5 +86,5 @@ public interface EntrustMaterialCheckoutResultService extends IService<EntrustMa
|
|||||||
|
|
||||||
R pushSuspectDetectionResultTask(DLPUser dlpUser);
|
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.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.BufferedOutputStream;
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
@@ -1616,7 +1619,7 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@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());
|
HashMap<Integer, Map<String, List<Integer>>> map = this.generateQuarterlyReportData(dto.getYear(), dto.getQuarterlyList());
|
||||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||||
Set<Integer> quarterlySet = map.keySet();
|
Set<Integer> quarterlySet = map.keySet();
|
||||||
@@ -1629,8 +1632,20 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
|
|||||||
for (Integer quarterly : quarterlySet) {
|
for (Integer quarterly : quarterlySet) {
|
||||||
this.generateQuarterlyReportSheet(workbook, dto.getYear(), quarterly, map.get(quarterly));
|
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