From df13f27e9cae2d7b112ef0dda85cba456ecef32b Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 26 二月 2025 16:45:09 +0800
Subject: [PATCH] 远场和近场的数据解析的单位和指标需要重新对应+报告生成放在复核结束里面

---
 inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java |  160 ++++++++++++++++++++++++++++++-----------------------
 1 files changed, 90 insertions(+), 70 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 9b083d5..919a9ca 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
@@ -47,6 +47,7 @@
     @Resource
     InsSampleMapper insSampleMapper;
 
+    //杩戝満
     public void getFuSheWord1(String sonLaboratory, InsOrderFile insOrderFile) {
         //璇诲彇excel鏂囦欢鍐呭
         String excelFilePath = wordUrl + "/" + insOrderFile.getFileUrl(); // 鏇存柊涓轰綘鐨勬枃浠惰矾寰�
@@ -59,6 +60,7 @@
             Exceldata exceldata = new Exceldata();
             Map<Integer, Object> project = new HashMap<>();
             HashMap<String, Object> datas1 = new HashMap<>();
+            HashMap<String, Object> biaozhun = new HashMap<>();
             Boolean exitLoop = false;
             for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
                 String s = "";
@@ -89,13 +91,39 @@
                                     default:
                                         System.out.print("NULL\t");
                                 }
-                            } else {
+                            }
+                            else {
                                 switch (cell.getCellType()) {
                                     case STRING:
                                         if (cell.getColumnIndex() == 1) {
                                             exitLoop = true;
                                             break;
                                         }
+//                                        if (cell.getColumnIndex() == 1) {
+//                                            if (cell.getStringCellValue().equals("鎸囨爣")) {
+//                                                for (Cell cell1 : row) {
+//                                                    switch (cell1.getCellType()) {
+//                                                        case STRING:
+//                                                            biaozhun.put(project.get(cell1.getColumnIndex()).toString(), cell1.getStringCellValue());
+//                                                            break;
+//                                                        case NUMERIC:
+//                                                            System.out.print(cell1.getNumericCellValue() + "\t");
+//                                                            break;
+//                                                        case BOOLEAN:
+//                                                            System.out.print(cell1.getBooleanCellValue() + "\t");
+//                                                            break;
+//                                                        case FORMULA:
+//                                                            System.out.print(cell1.getCellFormula() + "\t");
+//                                                            break;
+//                                                        default:
+//                                                            System.out.print("NULL\t");
+//                                                    }
+//                                                }
+//                                            }else {
+//                                                exitLoop = true;
+//                                            }
+//                                            break;
+//                                        }
                                         if (StringUtils.isNotEmpty(s)) {
                                             datas.put(s, list);
                                         }
@@ -161,7 +189,6 @@
                 }
             }
             System.out.println(map);
-            int size = map.size();
             for (String s1 : map.keySet()) {
                 String o = map.get(s1).toString();
                 List<String> collect = Arrays.stream(o.split(",")).collect(Collectors.toList());
@@ -182,7 +209,7 @@
                 }
             }
             System.out.println(map);
-            createWord(sonLaboratory, document, exceldata, map, insOrderFile);
+            createWord(sonLaboratory, document, exceldata, map, biaozhun, insOrderFile);
         } catch (IOException e) {
             e.printStackTrace();
         } finally {
@@ -200,6 +227,7 @@
         }
     }
 
+    //杩滃満
     public void getFuSheWord2(String sonLaboratory, InsOrderFile insOrderFile) {
         //璇诲彇excel鏂囦欢鍐呭
         String excelFilePath = wordUrl + "/" + insOrderFile.getFileUrl(); // 鏇存柊涓轰綘鐨勬枃浠惰矾寰�
@@ -253,28 +281,9 @@
                                 default:
                                     System.out.print("NULL\t");
                             }
-                        } else if (row.getRowNum() == 1) {
-
-                            switch (cell.getCellType()) {
-                                case STRING:
-                                    biaozhun.put(project.get(cell.getColumnIndex()).toString(), cell.getStringCellValue());
-                                    break;
-                                case NUMERIC:
-                                    System.out.print(cell.getNumericCellValue() + "\t");
-                                    break;
-                                case BOOLEAN:
-                                    System.out.print(cell.getBooleanCellValue() + "\t");
-                                    break;
-                                case FORMULA:
-                                    System.out.print(cell.getCellFormula() + "\t");
-                                    break;
-                                default:
-                                    System.out.print("NULL\t");
-                            }
-                        } else if (row.getRowNum() > 2) {
-
+                        }
+                        else if (row.getRowNum() > 2) {
                             if (cell.getColumnIndex() == 0 && StringUtils.isNotEmpty(cell.getStringCellValue())) {
-
                                 if (map2.size() != 0) {
                                     map2.put(port, list);
                                     datas1.put(jiaodu, map2);
@@ -318,7 +327,28 @@
                                                 }
 
                                             }
-                                        } else {
+                                        }
+                                        else if (value.equals("鎸囨爣")) {
+                                            for (Cell cell1 : row) {
+                                                switch (cell1.getCellType()) {
+                                                    case STRING:
+                                                        biaozhun.put(project.get(cell1.getColumnIndex()).toString(), cell1.getStringCellValue());
+                                                        break;
+                                                    case NUMERIC:
+                                                        System.out.print(cell1.getNumericCellValue() + "\t");
+                                                        break;
+                                                    case BOOLEAN:
+                                                        System.out.print(cell1.getBooleanCellValue() + "\t");
+                                                        break;
+                                                    case FORMULA:
+                                                        System.out.print(cell1.getCellFormula() + "\t");
+                                                        break;
+                                                    default:
+                                                        System.out.print("NULL\t");
+                                                }
+                                            }
+                                        }
+                                        else {
                                             biaoji = true;
                                         }
                                         break;
@@ -367,7 +397,6 @@
                     Map<String, List<HashMap<String, Object>>> numbers = (Map<String, List<HashMap<String, Object>>>) datas1.get(s);
                     for (String s1 : numbers.keySet()) {
                         List<HashMap<String, Object>> hashMaps = numbers.get(s1);
-
                         List<Integer> floatList = new ArrayList<>();
                         for (Map<String, Object> number : hashMaps) {
                             number.put("绔彛", s1);
@@ -422,8 +451,8 @@
             InsSample insSample = insSampleMapper.selectById(insOrderFile.getInsSampleId());
             String[] split = insOrderFile.getFileName().split("\\.");
             String name = insOrderFile.getFileName().replace("#", "&").substring(0, (insOrderFile.getFileName().length() - split[split.length - 1].length()));
-            String url = UUID.randomUUID() + "_" + insSample.getSampleCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx";
-            url.replace("#", "&");
+            String url = UUID.randomUUID() + "_" + insSample.getSampleCode() + "_" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx";
+            url = url.replace("#", "&");
             FileOutputStream out = new FileOutputStream(wordUrl + "/" + url);
             document.write(out);
             out.close();
@@ -455,8 +484,8 @@
         }
     }
 
-
-    public void createWord(String sonLaboratory, XWPFDocument document, Exceldata exceldata, HashMap<String, Object> map, InsOrderFile insOrderFile) throws IOException {
+    //杩戝満
+    public void createWord(String sonLaboratory, XWPFDocument document, Exceldata exceldata, HashMap<String, Object> map, HashMap<String, Object> bz, InsOrderFile insOrderFile) throws IOException {
         int size = 1;
         XWPFParagraph paragraphs = document.createParagraph();
         XWPFRun runs = paragraphs.createRun();
@@ -565,20 +594,26 @@
                 paragraph1.setAlignment(ParagraphAlignment.CENTER);
                 XWPFRun run1 = paragraph1.createRun();
                 run1.setText(s2);
-                // 璋冪敤鏂规硶鎻愬彇绗竴涓嫭鍙峰唴鐨勫唴瀹�
-                String firstContent = extractFirstContentFromBrackets(s2);
-                if (firstContent != null) {
-                    XWPFParagraph paragraph2 = table.getRow(0).getCell(2).getParagraphArray(0);
-                    paragraph2.setAlignment(ParagraphAlignment.CENTER);
-                    XWPFRun run2 = paragraph2.createRun();
-                    run2.setText(firstContent);
+                // 鍗曚綅
+                XWPFParagraph paragraph2 = table.getRow(0).getCell(2).getParagraphArray(0);
+                XWPFRun run2 = paragraph2.createRun();
+                if (s2.contains("澧炵泭")) {
+                    run2.setText("dBi");
+                } else if (s2.contains("娉㈢摚瀹藉害") || s2.contains("娉㈡潫瀹藉害") || s2.contains("涓嬪�捐")) {
+                    run2.setText("掳");
+                } else if (s2.contains("鍓嶅悗姣�") || s2.contains("浜ゅ弶鏋佸寲") || s2.contains("鏃佺摚鎶戝埗") || s2.contains("涓嬮檷") || s2.contains("闆剁偣濉厖") || s2.contains("鍓摚鐢靛钩")) {
+                    run2.setText("dB");
+                } else if (s2.contains("鏁堢巼") || s2.contains("鎵囧尯鍗犳瘮")) {
+                    run2.setText("%");
                 } else {
-                    System.out.println("娌℃湁鎵惧埌鎷彿鍐呯殑鍐呭銆�");
+                    run2.setText("");
                 }
                 XWPFParagraph paragraph3 = table.getRow(0).getCell(3).getParagraphArray(0);
                 paragraph3.setAlignment(ParagraphAlignment.CENTER);
                 XWPFRun run3 = paragraph3.createRun();
-                run3.setText("/");
+                if (bz.get(s2) != null) {
+                    run3.setText(bz.get(s2).toString());
+                }else run3.setText("");
                 XWPFParagraph paragraph4 = table.getRow(0).getCell(4).getParagraphArray(0);
                 paragraph4.setAlignment(ParagraphAlignment.CENTER);
                 XWPFRun run4 = paragraph4.createRun();
@@ -671,6 +706,7 @@
         }
     }
 
+    //杩滃満
     public void createWord2(String sonLaboratory, XWPFDocument document, Exceldata exceldata, HashMap<String, Object> map, HashMap<String, Object> pj, HashMap<String, Object> bz, InsOrderFile insOrderFile) throws IOException {
         int size = 1;
         for (String s : map.keySet()) {
@@ -722,8 +758,6 @@
             List<String> collect = Arrays.stream(split).collect(Collectors.toList());
             collect.sort((o1, o21) -> Integer.parseInt(o1.substring((o1.length() - 1))) - Integer.parseInt(o21.substring(o21.length() - 1)));
 
-            int size1 = 0;
-
             List<Map<String, Object>> list = new ArrayList<>();
 
 
@@ -759,14 +793,6 @@
                 XWPFTable table = document.createTable(row, cell);
                 table.setWidth("100%");
 
-
-
-
-
-           /* // 鍚堝苟鍗曞厓鏍�
-            mergeCellsHorizontally(table, 0, 0, 7);*/
-
-
                 //鍨傜洿
                 mergeCellsVertically(table, 0, 0, row - 1);
                 mergeCellsVertically(table, 1, 0, row - 1);
@@ -789,22 +815,28 @@
                 XWPFRun run1 = paragraph1.createRun();
                 run1.setText(s2);
 
-                // 璋冪敤鏂规硶鎻愬彇绗竴涓嫭鍙峰唴鐨勫唴瀹�
-                String firstContent = extractFirstContentFromBrackets(s2);
-                if (firstContent != null) {
-                    XWPFParagraph paragraph2 = table.getRow(0).getCell(2).getParagraphArray(0);
-                    XWPFRun run2 = paragraph2.createRun();
-                    run2.setText(firstContent);
+                // 鍗曚綅
+                XWPFParagraph paragraph2 = table.getRow(0).getCell(2).getParagraphArray(0);
+                XWPFRun run2 = paragraph2.createRun();
+                if (s2.contains("澧炵泭")) {
+                    run2.setText("dBi");
+                } else if (s2.contains("娉㈢摚瀹藉害") || s2.contains("娉㈡潫瀹藉害") || s2.contains("涓嬪�捐")) {
+                    run2.setText("掳");
+                } else if (s2.contains("鍓嶅悗姣�") || s2.contains("浜ゅ弶鏋佸寲") || s2.contains("鏃佺摚鎶戝埗") || s2.contains("涓嬮檷") || s2.contains("闆剁偣濉厖") || s2.contains("鍓摚鐢靛钩")) {
+                    run2.setText("dB");
+                } else if (s2.contains("鏁堢巼") || s2.contains("鎵囧尯鍗犳瘮")) {
+                    run2.setText("%");
                 } else {
-                    System.out.println("娌℃湁鎵惧埌鎷彿鍐呯殑鍐呭銆�");
+                    run2.setText("");
                 }
 
 
                 XWPFParagraph paragraph3 = table.getRow(0).getCell(3).getParagraphArray(0);
+                paragraph3.setAlignment(ParagraphAlignment.CENTER);
                 XWPFRun run3 = paragraph3.createRun();
                 if (bz.get(s2) != null) {
                     run3.setText(bz.get(s2).toString());
-                }
+                }else run3.setText("");
 
 
                 XWPFParagraph paragraph4 = table.getRow(0).getCell(4).getParagraphArray(0);
@@ -812,6 +844,7 @@
                 run4.setText("棰戠巼锛圡Hz锛�");
 
                 XWPFParagraph paragraph5 = table.getRow(0).getCell(5).getParagraphArray(0);
+                paragraph5.setAlignment(ParagraphAlignment.CENTER);
                 XWPFRun run5 = paragraph5.createRun();
                 run5.setText("绔彛");
 
@@ -908,18 +941,5 @@
         }
     }
 
-    // 鎻愬彇绗竴涓嫭鍙峰唴鐨勫唴瀹�
-    public static String extractFirstContentFromBrackets(String str) {
-        // 瀹氫箟姝e垯琛ㄨ揪寮忥紝鍖归厤鎷彿鍐呯殑鍐呭锛屽悓鏃舵敮鎸佷腑鏂囧拰鑻辨枃鎷彿
-        Pattern pattern = Pattern.compile("\\锛�(.*?)\\锛墊\\((.*?)\\)");
-        Matcher matcher = pattern.matcher(str);
-
-        // 鏌ユ壘绗竴涓尮閰嶇殑鍐呭
-        if (matcher.find()) {
-            // 鑾峰彇鎷彿鍐呯殑鍐呭锛屽垽鏂槸涓枃鎷彿杩樻槸鑻辨枃鎷彿
-            return matcher.group(1) != null ? matcher.group(1) : matcher.group(2);
-        }
-        return null; // 濡傛灉娌℃湁鎵惧埌鍖归厤椤癸紝鍒欒繑鍥瀗ull
-    }
 
 }

--
Gitblit v1.9.3