| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.*; |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | // 创建一个表格 |
| | | 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); |
| | |
| | | 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; |
| | |
| | | } |
| | | } |
| | | } |
| | | 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(); |
| | |
| | | passFlag = false; |
| | | } |
| | | } |
| | | String project = stringObjectMap.get(s2).toString(); |
| | | run10.setText(project); |
| | | run10.setText(String.format("%.2f", value)); |
| | | } |
| | | } |
| | | } |
| | |
| | | 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); |
| | | //垂直 |
| | |
| | | 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); |
| | | //水平 |
| | |
| | | // 定义改检查项标准值 |
| | | 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()); |
| | |
| | | |
| | | |
| | | XWPFParagraph paragraph4 = table1.getRow(rowNum).getCell(4).getParagraphArray(0); |
| | | paragraph4.setAlignment(ParagraphAlignment.CENTER); |
| | | XWPFRun run4 = paragraph4.createRun(); |
| | | run4.setText("频率(MHz)"); |
| | | |
| | | XWPFParagraph paragraph5 = table1.getRow(rowNum).getCell(5).getParagraphArray(0); |
| | | paragraph5.setAlignment(ParagraphAlignment.CENTER); |
| | | XWPFRun run5 = paragraph5.createRun(); |
| | | run5.setText("端口"); |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | 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; |
| | | } |
| | | })); |
| | | |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | 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(); |
| | |
| | | passFlag = false; |
| | | } |
| | | } |
| | | String project = stringObjectMap.get(s2).toString(); |
| | | run10.setText(project); |
| | | run10.setText(String.format("%.2f",value)); |
| | | } |
| | | } |
| | | } |