From 54bae7fcc7a2dca32b7614b698c52399b2920b4f Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期一, 24 三月 2025 13:35:47 +0800 Subject: [PATCH] 近场/远场辐射导入样式修改 --- inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java | 59 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 42 insertions(+), 17 deletions(-) diff --git a/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java b/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java index baf937a..b2eb588 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java @@ -22,6 +22,7 @@ import javax.annotation.Resource; import java.io.*; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -545,7 +546,13 @@ // 鍒涘缓涓�涓〃鏍� int checkItemRowNum = row; for (int i = 0; i < checkItemRowNum; i++) { - table1.createRow(); + XWPFTableRow tableRow = table1.createRow(); + for (XWPFTableCell tableCell : tableRow.getTableCells()) { + // 璁剧疆鍗曞厓鏍煎唴瀹瑰眳涓榻� + for (XWPFParagraph paragraph : tableCell.getParagraphs()) { + paragraph.setAlignment(ParagraphAlignment.CENTER); + } + } } //鍨傜洿 mergeCellsVertically(table1, 0, rowNum, rowNum + checkItemRowNum - 1); @@ -625,8 +632,17 @@ run10.setText(s3); } } - Map<Double, List<Map<String, Object>>> group = mapList.stream() - .collect(Collectors.groupingBy(item -> (Double) item.get("棰戠巼"))); + Map<BigDecimal, List<Map<String, Object>>> group = mapList.stream() + .collect(Collectors.groupingBy(item -> { + BigDecimal value = new BigDecimal(String.valueOf(item.get("棰戠巼"))); + if (value.scale() <= 0 || value.stripTrailingZeros().scale() <= 0) { + // 娌℃湁灏忔暟閮ㄥ垎锛岃繑鍥炴暣鏁板瓧绗︿覆 + return new BigDecimal(value.intValue()); + } else { + // 鏈夊皬鏁伴儴鍒嗭紝杩斿洖鍘熷鍊肩殑瀛楃涓插舰寮� + return value; + } + })); group = new TreeMap<>(group); int hang = 2; Double count = 0.0; @@ -692,7 +708,7 @@ } } } - for (Double aDouble : group.keySet()) { + for (BigDecimal aDouble : group.keySet()) { List<Map<String, Object>> mapList1 = group.get(aDouble); for (Map<String, Object> stringObjectMap : mapList1) { String port = stringObjectMap.get("绔彛").toString(); @@ -726,8 +742,7 @@ passFlag = false; } } - String project = stringObjectMap.get(s2).toString(); - run10.setText(project); + run10.setText(String.format("%.2f", value)); } } } @@ -863,10 +878,16 @@ continue; } List<Map<String, Object>> mapList = aggregatedMap.get(s2); - // 鍒涘缓涓�涓〃鏍� int checkItemRowNum = row; for (int i = 0; i < checkItemRowNum; i++) { - table1.createRow(); // 鍒涘缓鏂拌 + // 鍒涘缓鏂拌 骞惰缃眳涓� + XWPFTableRow tableRow = table1.createRow(); + for (XWPFTableCell tableCell : tableRow.getTableCells()) { + // 璁剧疆鍗曞厓鏍煎唴瀹瑰眳涓榻� + for (XWPFParagraph paragraph : tableCell.getParagraphs()) { + paragraph.setAlignment(ParagraphAlignment.CENTER); + } + } } // XWPFTable table = document.createTable(row, cell); //鍨傜洿 @@ -874,7 +895,7 @@ mergeCellsVertically(table1, 1, rowNum, rowNum + checkItemRowNum - 1); mergeCellsVertically(table1, 2, rowNum, rowNum + checkItemRowNum - 1); mergeCellsVertically(table1, 3, rowNum, rowNum + checkItemRowNum - 1); - mergeCellsVertically(table1, 4, rowNum, 1); + mergeCellsVertically(table1, 4, rowNum, rowNum+1); mergeCellsVertically(table1, cell - 1, rowNum, rowNum+1); mergeCellsVertically(table1, cell - 1, rowNum+2, rowNum + checkItemRowNum - 1); //姘村钩 @@ -910,7 +931,6 @@ // 瀹氫箟鏀规鏌ラ」鏍囧噯鍊� String checkItemStandardStr = ""; XWPFParagraph paragraph3 = table1.getRow(rowNum).getCell(3).getParagraphArray(0); - paragraph3.setAlignment(ParagraphAlignment.CENTER); XWPFRun run3 = paragraph3.createRun(); if (bz.get(s2) != null) { run3.setText(bz.get(s2).toString()); @@ -919,11 +939,11 @@ XWPFParagraph paragraph4 = table1.getRow(rowNum).getCell(4).getParagraphArray(0); + paragraph4.setAlignment(ParagraphAlignment.CENTER); XWPFRun run4 = paragraph4.createRun(); run4.setText("棰戠巼锛圡Hz锛�"); XWPFParagraph paragraph5 = table1.getRow(rowNum).getCell(5).getParagraphArray(0); - paragraph5.setAlignment(ParagraphAlignment.CENTER); XWPFRun run5 = paragraph5.createRun(); run5.setText("绔彛"); @@ -953,10 +973,16 @@ } } - Map<Integer, List<Map<String, Object>>> group = mapList.stream() + Map<BigDecimal, List<Map<String, Object>>> group = mapList.stream() .collect(Collectors.groupingBy(item -> { - Double aDouble = (Double) item.get("娴嬭瘯棰戠巼(MHZ)"); - return aDouble.intValue(); + BigDecimal value = new BigDecimal(String.valueOf(item.get("娴嬭瘯棰戠巼(MHZ)"))); + if (value.scale() <= 0 || value.stripTrailingZeros().scale() <= 0) { + // 娌℃湁灏忔暟閮ㄥ垎锛岃繑鍥炴暣鏁板瓧绗︿覆 + return new BigDecimal(value.intValue()); + } else { + // 鏈夊皬鏁伴儴鍒嗭紝杩斿洖鍘熷鍊肩殑瀛楃涓插舰寮� + return value; + } })); @@ -1025,7 +1051,7 @@ } } - for (Integer aDouble : group.keySet()) { + for (BigDecimal aDouble : group.keySet()) { List<Map<String, Object>> mapList1 = group.get(aDouble); for (Map<String, Object> stringObjectMap : mapList1) { String port = stringObjectMap.get("绔彛").toString(); @@ -1058,8 +1084,7 @@ passFlag = false; } } - String project = stringObjectMap.get(s2).toString(); - run10.setText(project); + run10.setText(String.format("%.2f",value)); } } } -- Gitblit v1.9.3