From 99cf848f87e2e06954d1ca101c9ff1879cf801c7 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 12 五月 2025 15:15:45 +0800
Subject: [PATCH] 远场上传的文件解析调整+检验任务样品编号筛选

---
 inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java |   34 ++++++++++++++++++++++++----------
 1 files changed, 24 insertions(+), 10 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..f52260a 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 {
@@ -852,6 +856,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 +867,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 +885,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 +980,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 +992,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 +1018,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