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