|
@@ -378,14 +378,12 @@ public class ApiController extends BaseController {
|
|
|
@ApiOperation("导出产量数据")
|
|
|
@GetMapping("/export/production")
|
|
|
@CrossOrigin(origins = "*")
|
|
|
- public void productionExport(HttpServletResponse response) {
|
|
|
- LocalDateTime ldt = LocalDateTime.now();
|
|
|
- if (ldt.getHour() < 7) {
|
|
|
- ldt = ldt.minusDays(1);
|
|
|
- }
|
|
|
- LocalDate localDate = ldt.toLocalDate().minusDays(7);
|
|
|
- Date date = Date.from(localDate.atStartOfDay(ZoneOffset.of("+8")).toInstant());
|
|
|
- List<TwinCalcDay> list = twinCalcDayService.selectTwinCalcDayListByTime(date);
|
|
|
+ public void productionExport(String start, String end, HttpServletResponse response) {
|
|
|
+ LocalDate localDate = LocalDate.parse(start);
|
|
|
+ Date sd = Date.from(localDate.atStartOfDay(ZoneOffset.of("+8")).toInstant());
|
|
|
+ localDate = LocalDate.parse(end);
|
|
|
+ Date ed = Date.from(localDate.atStartOfDay(ZoneOffset.of("+8")).toInstant());
|
|
|
+ List<TwinCalcDay> list = twinCalcDayService.selectTwinCalcDayListByTime(sd,ed);
|
|
|
try (FileInputStream inputStream = new FileInputStream(totalExcelTemplate); Workbook wb = new XSSFWorkbook(inputStream); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream())) {
|
|
|
CreationHelper creationHelper = wb.getCreationHelper();
|
|
|
CellStyle percentStyle = wb.createCellStyle();
|
|
@@ -497,7 +495,7 @@ public class ApiController extends BaseController {
|
|
|
cells[j] = row.createCell(j);
|
|
|
}
|
|
|
|
|
|
- cells[0].setCellValue(stop.getDeviceId());
|
|
|
+ cells[0].setCellValue(deviceService.deviceName(stop.getDeviceId()));
|
|
|
cells[1].setCellValue(stopStr[stop.getStopType() - 1]);
|
|
|
cells[2].setCellValue(stop.getStartTime());
|
|
|
cells[2].setCellStyle(timeStyle);
|
|
@@ -597,7 +595,7 @@ public class ApiController extends BaseController {
|
|
|
cs[0].setCellValue(entry.getKey());
|
|
|
cs[0].setCellStyle(dateStyle);
|
|
|
cs[1].setCellValue(st + "-" + et);
|
|
|
- cs[2].setCellValue(stop.getDeviceId());
|
|
|
+ cs[2].setCellValue(deviceService.deviceName(stop.getDeviceId()));
|
|
|
cs[3].setCellValue(stopStr[stop.getStopType() - 1]);
|
|
|
cs[4].setCellValue(stop.getStartTime());
|
|
|
cs[4].setCellStyle(timeStyle);
|
|
@@ -621,7 +619,7 @@ public class ApiController extends BaseController {
|
|
|
//Content-Disposition的作用:告知浏览器以何种方式显示响应返回的文件,用浏览器打开还是以附件的形式下载到本地保存
|
|
|
//attachment表示以附件方式下载 inline表示在线打开 "Content-Disposition: inline; filename=文件名.mp3"
|
|
|
// filename表示文件的默认名称,因为网络传输只支持URL编码的相关支付,因此需要将文件名URL编码后进行传输,前端收到后需要反编码才能获取到真正的名称
|
|
|
- response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(stopStr[type-1] + "分析" + System.currentTimeMillis() + ".xlsx", "UTF-8"));
|
|
|
+ response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(stopStr[type - 1] + "分析" + System.currentTimeMillis() + ".xlsx", "UTF-8"));
|
|
|
response.setContentType("application/octet-stream");
|
|
|
wb.write(outputStream);
|
|
|
outputStream.flush();
|
|
@@ -655,7 +653,7 @@ public class ApiController extends BaseController {
|
|
|
for (int j = 0; j < cells.length; j++) {
|
|
|
cells[j] = row.createCell(j);
|
|
|
}
|
|
|
- cells[0].setCellValue(entry.getKey());
|
|
|
+ cells[0].setCellValue(deviceService.deviceName(entry.getKey()));
|
|
|
cells[1].setCellValue(alarms.size());
|
|
|
Map<Integer, Long> temp = alarms.stream().collect(Collectors.groupingBy(TwinCalcAlarms::getAlarmType, Collectors.counting()));
|
|
|
for (Integer v : temp.keySet()) {
|
|
@@ -673,7 +671,7 @@ public class ApiController extends BaseController {
|
|
|
cells[j] = row.createCell(j);
|
|
|
}
|
|
|
|
|
|
- cells[0].setCellValue(alarms.getDeviceId());
|
|
|
+ cells[0].setCellValue(deviceService.deviceName(alarms.getDeviceId()));
|
|
|
cells[1].setCellValue(alarmStr[alarms.getAlarmType() - 1]);
|
|
|
cells[2].setCellValue(alarms.getStartTime());
|
|
|
cells[2].setCellStyle(timeStyle);
|