From bc23e3fcfeca70095d4ace414def2e2180ea87d9 Mon Sep 17 00:00:00 2001 From: bobol Date: Sun, 18 Feb 2024 16:17:40 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DcBusiHisReportController.java | 89 ++++++++----------- 1 file changed, 39 insertions(+), 50 deletions(-) diff --git a/lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiHisReportController.java b/lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiHisReportController.java index 73207f5..a97f0a3 100644 --- a/lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiHisReportController.java +++ b/lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiHisReportController.java @@ -38,7 +38,6 @@ import java.util.stream.Collectors; public class DcBusiHisReportController extends BaseController { @Resource private LogTimesacleHistoryThreeService logTimesacleHistoryThreeService; - /** * 分页列表查询 * @@ -70,7 +69,7 @@ public class DcBusiHisReportController extends BaseController { .sorted(Comparator.comparing(DcDymicReportHeaderVo::getDeviceUUID).thenComparing(DcDymicReportHeaderVo::getParamCode)) .forEach(dcDymicReportHeaderVo -> { JSONObject ct = new JSONObject(); - ct.put("field", "C" + dcDymicReportHeaderVo.getColCode()); + ct.put("field", "C"+dcDymicReportHeaderVo.getColCode()); ct.put("title", dcDymicReportHeaderVo.getColName1() + "[" + dcDymicReportHeaderVo.getColName2() + "]"); ct.put("width", 200); columnMap.put(dcDymicReportHeaderVo.getColCode(), dcDymicReportHeaderVo.getParamCode()); @@ -87,7 +86,7 @@ public class DcBusiHisReportController extends BaseController { .forEach(tVo -> { String ck = tVo.getDeviceUuid() + "_" + tVo.getParamCode(); if (StringUtils.isNotNull(columnMap.get(ck))) { - jdata.put("C" + ck, tVo.getParamValueNum()); + jdata.put("C"+ck, tVo.getParamValueNum()); } }); @@ -132,7 +131,7 @@ public class DcBusiHisReportController extends BaseController { .sorted(Comparator.comparing(DcDymicReportHeaderVo::getDeviceUUID).thenComparing(DcDymicReportHeaderVo::getParamCode)) .forEach(dcDymicReportHeaderVo -> { JSONObject ct = new JSONObject(); - ct.put("deviceName", "C" + dcDymicReportHeaderVo.getColCode()); + ct.put("deviceName", "C"+dcDymicReportHeaderVo.getColCode()); ct.put("paramName", dcDymicReportHeaderVo.getColName1() + "[" + dcDymicReportHeaderVo.getColName2() + "]"); columnMap.put(dcDymicReportHeaderVo.getColCode(), ct); @@ -149,7 +148,7 @@ public class DcBusiHisReportController extends BaseController { data2.entrySet().stream().sorted(Map.Entry.comparingByKey()).forEach(entry -> { entry.getValue().stream().sorted(Comparator.comparing(LogTimescaleHistoryThreeVo::getParamCode)).forEach(vo -> { JSONObject jsonObject = columnMap.get(vo.getDeviceUuid() + "_" + vo.getParamCode()); - if (StringUtils.isNotNull(jsonObject)) { + if(StringUtils.isNotNull(jsonObject)){ jsonObject.put(vo.getTimestampKey().toString(), vo.getParamValueNum()); } tableDatas.add(jsonObject); @@ -161,41 +160,38 @@ public class DcBusiHisReportController extends BaseController { return AjaxResult.success(dataInfo); } } - private String validatorator(LogTimeThreeQueryParamVo queryVo) { - if (StringUtils.isNull(queryVo.getBeginTime()) || StringUtils.isEmpty(queryVo.getBeginTime())) { + if (StringUtils.isNull(queryVo.getBeginTime())||StringUtils.isEmpty(queryVo.getBeginTime())) { return "查询失败,开始时间不能为空!"; } - if (StringUtils.isNull(queryVo.getEndTime()) || StringUtils.isEmpty(queryVo.getEndTime())) { + if (StringUtils.isNull(queryVo.getEndTime())||StringUtils.isEmpty(queryVo.getEndTime())) { return "查询失败,结束时间不能为空!"; } - if (StringUtils.isNull(queryVo.getQueryParamClass()) || StringUtils.isEmpty(queryVo.getQueryParamClass())) { + if (StringUtils.isNull(queryVo.getQueryParamClass())||StringUtils.isEmpty(queryVo.getQueryParamClass())) { return "查询失败,参数类型不能为空!"; } return null; } - ///按时间 设备+参数 形成数据--时间分组 private List> getMapList(List list, List dcDymicReportHeaderVos) { Map> collect = list.stream().collect(Collectors.groupingBy(LogTimescaleHistoryThreeVo::getTimeStampString)); return collect.entrySet().stream().sorted(Map.Entry.comparingByKey()).map(entry -> { Map map = new LinkedHashMap<>(); - map.put("统计时间", entry.getKey()); + map.put("统计时间",entry.getKey()); entry.getValue().stream().sorted(Comparator.comparing(LogTimescaleHistoryThreeVo::getDeviceUuid).thenComparing(LogTimescaleHistoryThreeVo::getParamCode)).forEach(vo -> { - String key = vo.getDeviceUuid() + "_" + vo.getParamCode(); + String key=vo.getDeviceUuid() + "_" + vo.getParamCode(); Optional first = dcDymicReportHeaderVos.stream().filter(vos -> vos.getColCode().equals(key)).findFirst(); - if (first.isPresent()) { + if(first.isPresent()){ //map.put(first.get().getColName1(), first.get().getColName2()); - map.put(first.get().getColName1() + '.' + first.get().getColName2(), vo.getParamValueNum()); + map.put(first.get().getColName1()+'.'+first.get().getColName2(), vo.getParamValueNum()); } }); return map; }).collect(Collectors.toList()); } - /// 设备+参数 形成数据--设备-参数分组 - private List> getMapListDevice(List list, List dcDymicReportHeaderVos) { - Map> collect = list.stream().collect(Collectors.groupingBy(item -> item.getDeviceUuid() + "_" + item.getParamCode())); + private List> getMapListDevice(List list,List dcDymicReportHeaderVos) { + Map> collect = list.stream().collect(Collectors.groupingBy(item->item.getDeviceUuid()+"_"+item.getParamCode())); List> collect1 = collect.entrySet().stream().map(entry -> { Map map = new LinkedHashMap<>(); entry.getValue().stream().sorted(Comparator.comparing(LogTimescaleHistoryThreeVo::getTimestampKey).thenComparing(LogTimescaleHistoryThreeVo::getParamCode)).forEach(vo -> { @@ -216,24 +212,22 @@ public class DcBusiHisReportController extends BaseController { * "生产设备参数统计明细表导出功能 */ @ApiOperation("生产设备参数统计明细表导出功能--时间纵向") - @PostMapping("/export") + @PostMapping ("/export") public void export(HttpServletResponse response, LogTimeThreeQueryParamVo queryVo) throws IOException { - List> mapList = getExcellData(queryVo, 2); - toExcel(response, mapList); + List> mapList=getExcellData(queryVo,2); + toExcel(response,mapList); } - @ApiOperation("生产设备参数统计明细表导出功能-时间横向") @PostMapping("/export2") - public void export2(HttpServletResponse response, LogTimeThreeQueryParamVo queryVo) throws IOException { - List> mapList = getExcellData(queryVo, 1); + public void export2(HttpServletResponse response, LogTimeThreeQueryParamVo queryVo) throws IOException { + List> mapList=getExcellData(queryVo,1); // 通过工具类创建writer,默认创建xls格式 - toExcel(response, mapList); + toExcel(response,mapList); } - //获取excel数据 1 excel设备参数为列模式 2 excel时间为列模式 3 浏览器设备参数为列模式 //注意 excel有最大列数显示255 ,超出列数会报错 - private List> getExcellData(LogTimeThreeQueryParamVo queryVo, int type) { + private List> getExcellData(LogTimeThreeQueryParamVo queryVo,int type){ // 设置头部数据, DcDymicHeaderQueryVo dcDymicHeaderQueryVo = new DcDymicHeaderQueryVo(); dcDymicHeaderQueryVo.setParamModels(queryVo.getQueryParamClass()); @@ -242,44 +236,39 @@ public class DcBusiHisReportController extends BaseController { List collect = dcDymicReportHeaderVos.stream().map(DcDymicReportHeaderVo::getParamCode).collect(Collectors.toList()); queryVo.setQueryParamCodes(collect); List list = logTimesacleHistoryThreeService.selectDetailByQuery(queryVo); - if (type == 1) { - return getMapListDevice(list, dcDymicReportHeaderVos); - } else { - return getMapList(list, dcDymicReportHeaderVos); + if(type==1){ + return getMapListDevice(list,dcDymicReportHeaderVos); + }else { + return getMapList(list,dcDymicReportHeaderVos); } } - private void toExcel(HttpServletResponse response, List> mapList) { -// String fileName = "report" + DateUtil.now() + ".xls"; + private void toExcel(HttpServletResponse response,List> mapList) throws IOException { + String fileName ="report"+DateUtil.now() + ".xls"; response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); ExcelWriter writer = ExcelUtil.getWriter(true); writer.write(mapList, true); //test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码 -// response.setHeader("Content-Disposition", "attachment;filename=" + fileName); - try (ServletOutputStream out = response.getOutputStream()) { - writer.flush(out, true); - // 关闭writer,释放内存 - writer.close(); - //此处记得关闭输出Servlet流 - IoUtil.close(out); - } catch (IOException e) { - e.printStackTrace(); - } + //response.setHeader("Content-Disposition", "attachment;filename="+fileName); + ServletOutputStream out = response.getOutputStream(); + writer.flush(out, true); + // 关闭writer,释放内存 + writer.close(); + //此处记得关闭输出Servlet流 + IoUtil.close(out); } - @ApiOperation("获取生产IOT系统参数模版列表") @GetMapping("/getParamClass") - public AjaxResult getParamClass() { - return AjaxResult.success(logTimesacleHistoryThreeService.selectParamModels()); + public AjaxResult getParamClass(){ + return AjaxResult.success(logTimesacleHistoryThreeService.selectParamModels()) ; } - @ApiOperation("获取生产IOT系统设备列表") @GetMapping("/getDevicie/{orgCode}") - public AjaxResult selectDevices(@PathVariable Long orgCode) { - if (orgCode == 0) { - return AjaxResult.success(logTimesacleHistoryThreeService.selectDevices(null)); + public AjaxResult selectDevices(@PathVariable Long orgCode) { + if(orgCode==0){ + return AjaxResult.success(logTimesacleHistoryThreeService.selectDevices(null)) ; } - return AjaxResult.success(logTimesacleHistoryThreeService.selectDevices(orgCode)); + return AjaxResult.success(logTimesacleHistoryThreeService.selectDevices(orgCode)) ; } } \ No newline at end of file