From c47b351cc8e410993ed8cf1e27e3c50f7b52b371 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 08 八月 2025 18:06:47 +0800
Subject: [PATCH] 辐射试验近场生成报告优化,可以端口也可以P

---
 inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java |   43 ++++++++++++++++++++++++++++++-------------
 1 files changed, 30 insertions(+), 13 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 268b1bf..aa972e8 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
@@ -1,6 +1,7 @@
 package com.yuanchu.mom.utils;
 
 import cn.hutool.core.lang.UUID;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.deepoove.poi.data.*;
 import com.deepoove.poi.data.style.*;
 import com.yuanchu.mom.dto.Exceldata;
@@ -205,8 +206,8 @@
             }
             System.out.println(map);
             createWord(sonLaboratory, document, exceldata, map, biaozhun, insOrderFile);
-        } catch (IOException e) {
-            e.printStackTrace();
+        } catch (Exception e) {
+//            e.printStackTrace();
         } finally {
             // 鍏抽棴璧勬簮
             try {
@@ -385,6 +386,9 @@
                         for (Map<String, Object> number : hashMaps) {
                             number.put("绔彛", s1);
                             Double o = (Double) number.get("娴嬭瘯棰戠巼(MHZ)");
+                            if (ObjectUtils.isNull(o)){
+                                 o = (Double) number.get("娴嬮噺棰戠巼(MHz)");
+                            }
                             floatList.add(o.intValue());
                         }
                         Integer maxValue = Collections.max(floatList);
@@ -445,8 +449,8 @@
             orderFile.setSonLaboratory(sonLaboratory);
             insOrderFileMapper.insert(orderFile);
 
-        } catch (IOException e) {
-            e.printStackTrace();
+        } catch (Exception e) {
+//            e.printStackTrace();
         } finally {
             // 鍏抽棴璧勬簮
             try {
@@ -523,7 +527,7 @@
             Map<String, List<Map<String, Object>>> aggregatedMap = new HashMap<>();
             Map<String, List<Map<String, Object>>> o1 = (Map<String, List<Map<String, Object>>>) dataRow.get(result);
             for (String s2 : collect) {
-                if (s2.contains("绔彛")) {
+                if (s2.contains("绔彛")||s2.contains("P")) {
                     List<Map<String, Object>> mapList = o1.get(s2);
                     list.addAll(mapList);
                 }
@@ -539,7 +543,7 @@
             }
             int rowNum = 2;
             for (String s2 : aggregatedMap.keySet()) {
-                if (s2.equals("绔彛") || s2.equals("棰戠巼")) {
+                if (s2.equals("绔彛") || s2.equals("棰戠巼") || s2.equals("P")) {
                     continue;
                 }
                 List<Map<String, Object>> mapList = aggregatedMap.get(s2);
@@ -625,7 +629,7 @@
                 run9.setText("");
                 for (int i = 0; i < collect.size(); i++) {
                     String s3 = collect.get(i);
-                    if (s3.contains("绔彛")) {
+                    if (s3.contains("绔彛") ||s3.contains("P")) {
                         XWPFParagraph paragraph10 = table1.getRow(rowNum + 1).getCell(5 + i).getParagraphArray(0);
                         paragraph10.setAlignment(ParagraphAlignment.CENTER);
                         XWPFRun run10 = paragraph10.createRun();
@@ -712,6 +716,9 @@
                     List<Map<String, Object>> mapList1 = group.get(aDouble);
                     for (Map<String, Object> stringObjectMap : mapList1) {
                         String port = stringObjectMap.get("绔彛").toString();
+                        if (ObjectUtils.isNull(port)){
+                            port = stringObjectMap.get("P").toString();
+                        }
                         for (int i = 5; i < cell - 1; i++) {
                             String text = table1.getRow(rowNum + 1).getCell(i).getText();
                             if (text.equals(port)) {
@@ -852,6 +859,7 @@
 
 
             List<String> collect = Arrays.stream(split).collect(Collectors.toList());
+            collect.remove(collect.size() - 1);
             collect.sort((o1, o21) -> Integer.parseInt(o1.substring((o1.length() - 1))) - Integer.parseInt(o21.substring(o21.length() - 1)));
 
             List<Map<String, Object>> list = new ArrayList<>();
@@ -862,7 +870,7 @@
 
             Map<String, List<Map<String, Object>>> o1 = (Map<String, List<Map<String, Object>>>) dataRow.get(result);
             for (String s2 : collect) {
-                if (s2.contains("绔彛") || s2.contains("P")) {
+                if (s2.contains("绔彛") || s2.contains("P") || s2.contains("骞挎挱") || s2.contains("涓氬姟")) {
                     List<Map<String, Object>> mapList = o1.get(s2);
                     list.addAll(mapList);
                 }
@@ -880,7 +888,7 @@
             // 鍒濆鍖栬鏁�
             int rowNum = 2;
             for (String s2 : aggregatedMap.keySet()) {
-                if (s2.equals("绔彛") || s2.equals("娴嬭瘯棰戠巼(MHZ)")) {
+                if (s2.equals("绔彛") || s2.equals("娴嬭瘯棰戠巼(MHZ)") || s2.equals("娴嬮噺棰戠巼(MHz)")) {
                     continue;
                 }
                 List<Map<String, Object>> mapList = aggregatedMap.get(s2);
@@ -975,9 +983,9 @@
                 XWPFRun run9 = paragraph9.createRun();
                 run9.setText("");
 
-                for (int i = 0; i < collect.size() - 1; i++) {
+                for (int i = 0; i < collect.size(); i++) {
                     String s3 = collect.get(i);
-                    if (s3.contains("绔彛") || s3.contains("P")) {
+                    if (s3.contains("绔彛") || s3.contains("P") || s3.contains("骞挎挱") || s3.contains("涓氬姟")) {
                         XWPFParagraph paragraph10 = table1.getRow(rowNum+1).getCell(5 + i).getParagraphArray(0);
                         paragraph10.setAlignment(ParagraphAlignment.CENTER);
                         XWPFRun run10 = paragraph10.createRun();
@@ -987,7 +995,13 @@
 
                 Map<BigDecimal, List<Map<String, Object>>> group = mapList.stream()
                         .collect(Collectors.groupingBy(item -> {
-                            BigDecimal value = new BigDecimal(String.valueOf(item.get("娴嬭瘯棰戠巼(MHZ)")));
+                            BigDecimal value=BigDecimal.ZERO;
+                            if (item.containsKey("娴嬭瘯棰戠巼(MHZ)")) {
+                                 value = new BigDecimal(String.valueOf(item.get("娴嬭瘯棰戠巼(MHZ)")));
+                            }
+                            else if (item.containsKey("娴嬮噺棰戠巼(MHz)")){
+                                 value = new BigDecimal(String.valueOf(item.get("娴嬮噺棰戠巼(MHz)")));
+                            }
                             if (value.scale() <= 0 || value.stripTrailingZeros().scale() <= 0) {
                                 // 娌℃湁灏忔暟閮ㄥ垎锛岃繑鍥炴暣鏁板瓧绗︿覆
                                 return new BigDecimal(value.intValue());
@@ -1007,9 +1021,12 @@
                 double firstParam = 0.0;
                 double secondParam = 0.0 ;
                 checkItemStandardStr = checkItemStandardStr.trim();
-                if(checkItemStandardStr.contains("~") ){
+                if(checkItemStandardStr.contains("~") || checkItemStandardStr.contains("锝�") ){
                     checkType = 1;
                     String[] params = checkItemStandardStr.split("~");
+                    if (checkItemStandardStr.contains("锝�")) {
+                        params = checkItemStandardStr.split("锝�");
+                    }
                     if(null != params && params.length == 2){
                         firstParam = Double.valueOf(params[0]);
                         secondParam = Double.valueOf(params[1]);

--
Gitblit v1.9.3