ソースを参照

首页报表导出功能fix

Davidliu 4 日 前
コミット
7e0d3a5a7c

+ 28 - 14
src/main/java/com/xlht/xlhtproject/controller/FrontController.java

@@ -181,28 +181,42 @@ public class FrontController extends BaseController{
         TShuju1 req = TShuju1.builder().timeBegin(timeBegin).timeEnd(timeEnd).build();
         List<TShuju1> list = this.tShuju1Service.selectTShuju1ListGroupByAssayId(req);
 
+        List<List<String>> head = Arrays.asList(
+                Collections.singletonList("检测时间"),
+                Collections.singletonList("进水总流量"),
+                Collections.singletonList("进水COD"),
+                Collections.singletonList("北池好氧硝酸盐"),
+                Collections.singletonList("南池好氧硝酸盐"),
+                Collections.singletonList("北池缺氧氨氮"),
+                Collections.singletonList("南池缺氧氨氮"),
+                Collections.singletonList("北池缺氧硝酸盐"),
+                Collections.singletonList("南池缺氧硝酸盐")
+        );
+        List<List<Object>> data = new ArrayList<>();
         for (TShuju1 member : list) {
-            member.setScJsZll(Objects.nonNull(member.getScJsZll()) ? member.getScJsZll().setScale(2, RoundingMode.HALF_UP) : null);
-            member.setScJsCod(Objects.nonNull(member.getScJsCod()) ? member.getScJsCod().setScale(2, RoundingMode.HALF_UP) : null);
-            member.setJqr1HyXiaodan(Objects.nonNull(member.getJqr1HyXiaodan()) ? member.getJqr1HyXiaodan().setScale(2, RoundingMode.HALF_UP) : null);
-            member.setJqr2HyXiaodan(Objects.nonNull(member.getJqr2HyXiaodan()) ? member.getJqr2HyXiaodan().setScale(2, RoundingMode.HALF_UP) : null);
-            member.setJqr1QyAndan(Objects.nonNull(member.getJqr1HyAndan()) ? member.getJqr1HyAndan().setScale(2, RoundingMode.HALF_UP) : null);
-            member.setJqr2QyAndan(Objects.nonNull(member.getJqr2HyAndan()) ? member.getJqr2HyAndan().setScale(2, RoundingMode.HALF_UP) : null);
-            member.setJqr1QyXiaodan(Objects.nonNull(member.getJqr1QyXiaodan()) ? member.getJqr1QyXiaodan().setScale(2, RoundingMode.HALF_UP) : null);
-            member.setJqr2QyXiaodan(Objects.nonNull(member.getJqr2QyXiaodan()) ? member.getJqr2QyXiaodan().setScale(2, RoundingMode.HALF_UP) : null);
+            List<Object> row = new ArrayList<>();
+            row.add(member.getTIME());
+            row.add(Objects.nonNull(member.getScJsZll()) ? member.getScJsZll().setScale(2, RoundingMode.HALF_UP) : null);
+            row.add(Objects.nonNull(member.getScJsCod()) ? member.getScJsCod().setScale(2, RoundingMode.HALF_UP) : null);
+            row.add(Objects.nonNull(member.getJqr1HyXiaodan()) ? member.getJqr1HyXiaodan().setScale(2, RoundingMode.HALF_UP) : null);
+            row.add(Objects.nonNull(member.getJqr2HyXiaodan()) ? member.getJqr2HyXiaodan().setScale(2, RoundingMode.HALF_UP) : null);
+            row.add(Objects.nonNull(member.getJqr1HyAndan()) ? member.getJqr1HyAndan().setScale(2, RoundingMode.HALF_UP) : null);
+            row.add(Objects.nonNull(member.getJqr2HyAndan()) ? member.getJqr2HyAndan().setScale(2, RoundingMode.HALF_UP) : null);
+            row.add(Objects.nonNull(member.getJqr1QyXiaodan()) ? member.getJqr1QyXiaodan().setScale(2, RoundingMode.HALF_UP) : null);
+            row.add(Objects.nonNull(member.getJqr2QyXiaodan()) ? member.getJqr2QyXiaodan().setScale(2, RoundingMode.HALF_UP) : null);
+            data.add(row);
         }
 
         // 设置响应头
-        String fileName = URLEncoder.encode("首页_报表信息", "UTF-8").replaceAll("\\+", "%20");
+        String fileName = URLEncoder.encode("智能国标化验室数据", "UTF-8").replaceAll("\\+", "%20");
         response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
         response.setCharacterEncoding("utf-8");
         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
 
-        EasyExcel.write(response.getOutputStream(), TShuju1.class)
-                .sheet("首页_报表信息")
-                .doWrite(list);
-//        ExcelUtil<TShuju1> util = new ExcelUtil<TShuju1>(TShuju1.class);
-//        util.exportExcel(response, list, "同步数据_组态_写数据数据");
+        EasyExcel.write(response.getOutputStream())
+                .sheet("智能国标化验室数据")
+                .head(head)
+                .doWrite(data);
     }
 
     /**