From cc207c78392ef9c0425a9c3f70ca56298ab889bf Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期四, 20 三月 2025 18:10:01 +0800 Subject: [PATCH] 近场/远场检验刷新目录功能修改 --- inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java | 207 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 166 insertions(+), 41 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 cf11a5e..baf937a 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 @@ -536,44 +536,40 @@ aggregatedMap.get(key).add(item); } } + int rowNum = 2; for (String s2 : aggregatedMap.keySet()) { if (s2.equals("绔彛") || s2.equals("棰戠巼")) { continue; } List<Map<String, Object>> mapList = aggregatedMap.get(s2); // 鍒涘缓涓�涓〃鏍� - XWPFTable table = document.createTable(row, cell); - table.setWidth("100%"); + int checkItemRowNum = row; + for (int i = 0; i < checkItemRowNum; i++) { + table1.createRow(); + } //鍨傜洿 - mergeCellsVertically(table, 0, 0, row - 1); - mergeCellsVertically(table, 1, 0, row - 1); - mergeCellsVertically(table, 2, 0, row - 1); - mergeCellsVertically(table, 3, 0, row - 1); - mergeCellsVertically(table, 4, 0, 1); - mergeCellsVertically(table, cell - 1, 0, 1); - mergeCellsVertically(table, cell - 1, 2, row - 2); + mergeCellsVertically(table1, 0, rowNum, rowNum + checkItemRowNum - 1); + 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, rowNum + 1); + mergeCellsVertically(table1, cell - 1, rowNum, rowNum + 1); + mergeCellsVertically(table1, cell - 1, rowNum + 2, rowNum + checkItemRowNum - 2); //姘村钩 - mergeCellsHorizontally(table, 0, 5, cell - 2); - mergeCellsHorizontally(table, row - 1, 5, cell - 2); - - table.setInsideHBorder(XWPFTable.XWPFBorderType.SINGLE, 2, 0, "000000"); // 鍐呴儴姘村钩杈规 - table.setInsideVBorder(XWPFTable.XWPFBorderType.SINGLE, 2, 0, "000000"); // 鍐呴儴鍨傜洿杈规 - table.setBottomBorder(XWPFTable.XWPFBorderType.SINGLE, 2, 0, "000000"); // 涓嬭竟妗� - table.setTopBorder(XWPFTable.XWPFBorderType.SINGLE, 2, 0, "000000"); // 涓婅竟妗� - table.setLeftBorder(XWPFTable.XWPFBorderType.SINGLE, 2, 0, "000000"); // 宸﹁竟妗� - table.setRightBorder(XWPFTable.XWPFBorderType.SINGLE, 2, 0, "000000"); // 鍙宠竟妗� + mergeCellsHorizontally(table1, rowNum, 5, cell - 2); + mergeCellsHorizontally(table1, rowNum + checkItemRowNum - 1, 5, cell - 2); // 璁剧疆鍗曞厓鏍兼枃鏈苟灞呬腑 - XWPFParagraph paragraph = table.getRow(0).getCell(0).getParagraphArray(0); + XWPFParagraph paragraph = table1.getRow(rowNum).getCell(0).getParagraphArray(0); paragraph.setAlignment(ParagraphAlignment.CENTER); XWPFRun run = paragraph.createRun(); run.setText(String.valueOf(size)); - XWPFParagraph paragraph1 = table.getRow(0).getCell(1).getParagraphArray(0); + XWPFParagraph paragraph1 = table1.getRow(rowNum).getCell(1).getParagraphArray(0); paragraph1.setAlignment(ParagraphAlignment.CENTER); XWPFRun run1 = paragraph1.createRun(); run1.setText(s2); // 鍗曚綅 - XWPFParagraph paragraph2 = table.getRow(0).getCell(2).getParagraphArray(0); + XWPFParagraph paragraph2 = table1.getRow(rowNum).getCell(2).getParagraphArray(0); XWPFRun run2 = paragraph2.createRun(); if (s2.contains("澧炵泭")) { run2.setText("dBi"); @@ -586,40 +582,44 @@ } else { run2.setText(""); } - XWPFParagraph paragraph3 = table.getRow(0).getCell(3).getParagraphArray(0); + XWPFParagraph paragraph3 = table1.getRow(rowNum).getCell(3).getParagraphArray(0); paragraph3.setAlignment(ParagraphAlignment.CENTER); XWPFRun run3 = paragraph3.createRun(); + String checkItemStandardStr = ""; if (bz.get(s2) != null) { run3.setText(bz.get(s2).toString()); - } else run3.setText(""); - XWPFParagraph paragraph4 = table.getRow(0).getCell(4).getParagraphArray(0); + checkItemStandardStr = bz.get(s2).toString(); + } else { + run3.setText(""); + } + XWPFParagraph paragraph4 = table1.getRow(rowNum).getCell(4).getParagraphArray(0); paragraph4.setAlignment(ParagraphAlignment.CENTER); XWPFRun run4 = paragraph4.createRun(); run4.setText("棰戠巼锛圡Hz锛�"); - XWPFParagraph paragraph5 = table.getRow(0).getCell(5).getParagraphArray(0); + XWPFParagraph paragraph5 = table1.getRow(rowNum).getCell(5).getParagraphArray(0); paragraph5.setAlignment(ParagraphAlignment.CENTER); XWPFRun run5 = paragraph5.createRun(); run5.setText("绔彛"); - XWPFParagraph paragraph6 = table.getRow(0).getCell(cell - 1).getParagraphArray(0); + XWPFParagraph paragraph6 = table1.getRow(rowNum).getCell(cell - 1).getParagraphArray(0); paragraph6.setAlignment(ParagraphAlignment.CENTER); XWPFRun run6 = paragraph6.createRun(); run6.setText("鍒ゅ畾"); - XWPFParagraph paragraph7 = table.getRow(2).getCell(cell - 1).getParagraphArray(0); - paragraph7.setAlignment(ParagraphAlignment.CENTER); - XWPFRun run7 = paragraph7.createRun(); - run7.setText("鍚堟牸"); - XWPFParagraph paragraph8 = table.getRow(row - 1).getCell(4).getParagraphArray(0); +// XWPFParagraph paragraph7 = table1.getRow(rowNum + 2 ).getCell(cell - 1).getParagraphArray(0); +// paragraph7.setAlignment(ParagraphAlignment.CENTER); +// XWPFRun run7 = paragraph7.createRun(); +// run7.setText("鍚堟牸"); + XWPFParagraph paragraph8 = table1.getRow(rowNum + checkItemRowNum - 1).getCell(4).getParagraphArray(0); paragraph8.setAlignment(ParagraphAlignment.CENTER); XWPFRun run8 = paragraph8.createRun(); run8.setText("骞冲潎鍊�"); - XWPFParagraph paragraph9 = table.getRow(row - 1).getCell(cell - 1).getParagraphArray(0); + XWPFParagraph paragraph9 = table1.getRow(rowNum + checkItemRowNum - 1).getCell(cell - 1).getParagraphArray(0); paragraph9.setAlignment(ParagraphAlignment.CENTER); XWPFRun run9 = paragraph9.createRun(); run9.setText(""); for (int i = 0; i < collect.size(); i++) { String s3 = collect.get(i); if (s3.contains("绔彛")) { - XWPFParagraph paragraph10 = table.getRow(1).getCell(5 + i).getParagraphArray(0); + XWPFParagraph paragraph10 = table1.getRow(rowNum + 1).getCell(5 + i).getParagraphArray(0); paragraph10.setAlignment(ParagraphAlignment.CENTER); XWPFRun run10 = paragraph10.createRun(); run10.setText(s3); @@ -630,33 +630,130 @@ group = new TreeMap<>(group); int hang = 2; Double count = 0.0; + // 瀹氫箟 鏄惁鍚堟牸鏍囪 + boolean passFlag = true; + // 瑙f瀽鍒ゅ畾鏉′欢骞惰В鏋愭瘮杈冩爣鍑嗗�� 0 鏃犻渶鍒ゅ畾 1 鍖洪棿鍒ゅ畾 2 灏忎簬绛変簬 3 澶т簬绛変簬 4 澶т簬 5 灏忎簬 + int checkType = 0; + double firstParam = 0.0; + double secondParam = 0.0 ; + checkItemStandardStr = checkItemStandardStr.trim(); + if(checkItemStandardStr.contains("~") ){ + checkType = 1; + String[] params = checkItemStandardStr.split("~"); + if(null != params && params.length == 2){ + firstParam = Double.valueOf(params[0]); + secondParam = Double.valueOf(params[1]); + } + } else if(checkItemStandardStr.contains("-") && !(checkItemStandardStr.contains("鈮�") || checkItemStandardStr.contains("鈮�") || checkItemStandardStr.contains(">") || checkItemStandardStr.contains("<"))){ + checkType = 1; + String[] params = checkItemStandardStr.split("-"); + if(null != params && params.length == 2){ + firstParam = Double.valueOf(params[0]); + secondParam = Double.valueOf(params[1]); + } + } else if (checkItemStandardStr.contains("鈮�")) { + checkType = 2; + String[] params = checkItemStandardStr.split("鈮�"); + if(null != params && params.length == 1){ + if(params[1].contains("%")){ + firstParam = Double.valueOf(params[1].substring(0,params[1].length()-1))/100; + }else{ + firstParam = Double.valueOf(params[1]); + } + } + }else if(checkItemStandardStr.contains("鈮�")){ + checkType = 3; + String[] params = checkItemStandardStr.split("鈮�"); + if(null != params && params.length == 2){ + if(params[1].contains("%")){ + firstParam = Double.valueOf(params[1].substring(0,params[1].length()-1))/100; + }else{ + firstParam = Double.valueOf(params[1]); + } + } + }else if(checkItemStandardStr.contains(">")){ + checkType = 4; + String[] params = checkItemStandardStr.split(">"); + if(null != params && params.length == 2){ + if(params[1].contains("%")){ + firstParam = Double.valueOf(params[1].substring(0,params[1].length()-1))/100; + }else{ + firstParam = Double.valueOf(params[1]); + } + } + }else if(checkItemStandardStr.contains("<")){ + checkType = 5; + String[] params = checkItemStandardStr.split("<"); + if(null != params && params.length == 2){ + if(params[1].contains("%")){ + firstParam = Double.valueOf(params[1].substring(0,params[1].length()-1))/100; + }else{ + firstParam = Double.valueOf(params[1]); + } + } + } for (Double aDouble : group.keySet()) { List<Map<String, Object>> mapList1 = group.get(aDouble); for (Map<String, Object> stringObjectMap : mapList1) { String port = stringObjectMap.get("绔彛").toString(); for (int i = 5; i < cell - 1; i++) { - String text = table.getRow(1).getCell(i).getText(); + String text = table1.getRow(rowNum + 1).getCell(i).getText(); if (text.equals(port)) { - XWPFParagraph paragraph10 = table.getRow(hang).getCell(i).getParagraphArray(0); + XWPFParagraph paragraph10 = table1.getRow(hang + rowNum).getCell(i).getParagraphArray(0); paragraph10.setAlignment(ParagraphAlignment.CENTER); XWPFRun run10 = paragraph10.createRun(); - count = (Double) stringObjectMap.get(s2) + count; + double value = Double.parseDouble(stringObjectMap.get(s2).toString()); + count = value + count; + // 鏁版嵁鍒ゆ柇 + if(checkType == 1){ + if(!(value >= firstParam && value <= secondParam)){ + passFlag = false; + } + }else if(checkType == 2){ + if(value >= firstParam ){ + passFlag = false; + } + }else if(checkType == 3){ + if(value <= firstParam ){ + passFlag = false; + } + }else if(checkType == 4){ + if(value < firstParam ){ + passFlag = false; + } + }else if(checkType == 5){ + if(value > firstParam ){ + passFlag = false; + } + } String project = stringObjectMap.get(s2).toString(); run10.setText(project); } } } - XWPFParagraph paragraph10 = table.getRow(hang).getCell(4).getParagraphArray(0); + XWPFParagraph paragraph10 = table1.getRow(hang+rowNum).getCell(4).getParagraphArray(0); paragraph10.setAlignment(ParagraphAlignment.CENTER); XWPFRun run10 = paragraph10.createRun(); run10.setText(String.valueOf(aDouble)); hang++; } - XWPFParagraph paragraph11 = table.getRow(row - 1).getCell(5).getParagraphArray(0); + // 姹囨�荤粨鏋� + if(checkType != 0){ + XWPFParagraph paragraph10 = table1.getRow(rowNum+2).getCell(cell - 1).getParagraphArray(0); + XWPFRun run10 = paragraph10.createRun(); + if(passFlag){ + run10.setText("鍚堟牸"); + }else { + run10.setText("涓嶅悎鏍�"); + } + } + + XWPFParagraph paragraph11 = table1.getRow(rowNum + checkItemRowNum - 1).getCell(5).getParagraphArray(0); paragraph11.setAlignment(ParagraphAlignment.CENTER); XWPFRun run11 = paragraph11.createRun(); double v = count / (Double.parseDouble(s1.toString()) * Double.parseDouble(i1.toString())); run11.setText(String.format("%.2f", v)); + rowNum += checkItemRowNum; size++; } } @@ -879,7 +976,7 @@ firstParam = Double.valueOf(params[0]); secondParam = Double.valueOf(params[1]); } - } else if(checkItemStandardStr.contains("-") && !(checkItemStandardStr.contains("鈮�") || checkItemStandardStr.contains("鈮�"))){ + } else if(checkItemStandardStr.contains("-") && !(checkItemStandardStr.contains("鈮�") || checkItemStandardStr.contains("鈮�") || checkItemStandardStr.contains(">") || checkItemStandardStr.contains("<"))){ checkType = 1; String[] params = checkItemStandardStr.split("-"); if(null != params && params.length == 2){ @@ -899,6 +996,26 @@ }else if(checkItemStandardStr.contains("鈮�")){ checkType = 3; String[] params = checkItemStandardStr.split("鈮�"); + if(null != params && params.length == 2){ + if(params[1].contains("%")){ + firstParam = Double.valueOf(params[1].substring(0,params[1].length()-1))/100; + }else{ + firstParam = Double.valueOf(params[1]); + } + } + }else if(checkItemStandardStr.contains(">")){ + checkType = 4; + String[] params = checkItemStandardStr.split(">"); + if(null != params && params.length == 2){ + if(params[1].contains("%")){ + firstParam = Double.valueOf(params[1].substring(0,params[1].length()-1))/100; + }else{ + firstParam = Double.valueOf(params[1]); + } + } + }else if(checkItemStandardStr.contains("<")){ + checkType = 5; + String[] params = checkItemStandardStr.split("<"); if(null != params && params.length == 2){ if(params[1].contains("%")){ firstParam = Double.valueOf(params[1].substring(0,params[1].length()-1))/100; @@ -932,6 +1049,14 @@ if(value <= firstParam ){ passFlag = false; } + }else if(checkType == 4){ + if(value < firstParam ){ + passFlag = false; + } + }else if(checkType == 5){ + if(value > firstParam ){ + passFlag = false; + } } String project = stringObjectMap.get(s2).toString(); run10.setText(project); @@ -948,9 +1073,9 @@ XWPFParagraph paragraph10 = table1.getRow(rowNum+2).getCell(cell - 1).getParagraphArray(0); XWPFRun run10 = paragraph10.createRun(); if(passFlag){ - run10.setText(String.valueOf("鍚堟牸")); + run10.setText("鍚堟牸"); }else { - run10.setText(String.valueOf("涓嶅悎鏍�")); + run10.setText("涓嶅悎鏍�"); } } -- Gitblit v1.9.3