From 17cbd5b9f612f3d29f02f2722357ea334ede2b41 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 31 七月 2025 19:17:43 +0800
Subject: [PATCH] 提交再次试验需要将检验项目的结论重置为null
---
inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java | 101 ++++++++++++++++++++++++++++++++++++++------------
1 files changed, 76 insertions(+), 25 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 baf937a..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;
@@ -22,6 +23,7 @@
import javax.annotation.Resource;
import java.io.*;
+import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -204,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 {
@@ -384,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);
@@ -444,8 +449,8 @@
orderFile.setSonLaboratory(sonLaboratory);
insOrderFileMapper.insert(orderFile);
- } catch (IOException e) {
- e.printStackTrace();
+ } catch (Exception e) {
+// e.printStackTrace();
} finally {
// 鍏抽棴璧勬簮
try {
@@ -545,7 +550,13 @@
// 鍒涘缓涓�涓〃鏍�
int checkItemRowNum = row;
for (int i = 0; i < checkItemRowNum; i++) {
- table1.createRow();
+ XWPFTableRow tableRow = table1.createRow();
+ for (XWPFTableCell tableCell : tableRow.getTableCells()) {
+ // 璁剧疆鍗曞厓鏍煎唴瀹瑰眳涓榻�
+ for (XWPFParagraph paragraph : tableCell.getParagraphs()) {
+ paragraph.setAlignment(ParagraphAlignment.CENTER);
+ }
+ }
}
//鍨傜洿
mergeCellsVertically(table1, 0, rowNum, rowNum + checkItemRowNum - 1);
@@ -625,8 +636,17 @@
run10.setText(s3);
}
}
- Map<Double, List<Map<String, Object>>> group = mapList.stream()
- .collect(Collectors.groupingBy(item -> (Double) item.get("棰戠巼")));
+ Map<BigDecimal, List<Map<String, Object>>> group = mapList.stream()
+ .collect(Collectors.groupingBy(item -> {
+ BigDecimal value = new BigDecimal(String.valueOf(item.get("棰戠巼")));
+ if (value.scale() <= 0 || value.stripTrailingZeros().scale() <= 0) {
+ // 娌℃湁灏忔暟閮ㄥ垎锛岃繑鍥炴暣鏁板瓧绗︿覆
+ return new BigDecimal(value.intValue());
+ } else {
+ // 鏈夊皬鏁伴儴鍒嗭紝杩斿洖鍘熷鍊肩殑瀛楃涓插舰寮�
+ return value;
+ }
+ }));
group = new TreeMap<>(group);
int hang = 2;
Double count = 0.0;
@@ -692,7 +712,7 @@
}
}
}
- for (Double aDouble : group.keySet()) {
+ for (BigDecimal aDouble : group.keySet()) {
List<Map<String, Object>> mapList1 = group.get(aDouble);
for (Map<String, Object> stringObjectMap : mapList1) {
String port = stringObjectMap.get("绔彛").toString();
@@ -726,8 +746,7 @@
passFlag = false;
}
}
- String project = stringObjectMap.get(s2).toString();
- run10.setText(project);
+ run10.setText(String.format("%.2f", value));
}
}
}
@@ -802,26 +821,32 @@
mergeCellsHorizontally(table1, 0, 4, cell - 2);
XWPFParagraph paragraph12 = table1.getRow(0).getCell(0).getParagraphArray(0);
+ paragraph12.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run12 = paragraph12.createRun();
run12.setText("搴忓彿");
XWPFParagraph paragraph13 = table1.getRow(0).getCell(1).getParagraphArray(0);
+ paragraph13.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run13 = paragraph13.createRun();
run13.setText("妫�楠岄」鐩�");
XWPFParagraph paragraph14 = table1.getRow(0).getCell(2).getParagraphArray(0);
+ paragraph14.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run14 = paragraph14.createRun();
run14.setText("鍗曚綅");
XWPFParagraph paragraph15 = table1.getRow(0).getCell(3).getParagraphArray(0);
+ paragraph15.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run15 = paragraph15.createRun();
run15.setText("鏍囧噯瑕佹眰");
XWPFParagraph paragraph16 = table1.getRow(0).getCell(cell - 1).getParagraphArray(0);
+ paragraph16.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run16 = paragraph16.createRun();
run16.setText("妫�楠岀粨璁�");
XWPFParagraph paragraph17 = table1.getRow(0).getCell(4).getParagraphArray(0);
+ paragraph17.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run17 = paragraph17.createRun();
run17.setText("妫�楠岀粨鏋�");
@@ -831,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<>();
@@ -841,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);
}
@@ -859,14 +885,20 @@
// 鍒濆鍖栬鏁�
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);
- // 鍒涘缓涓�涓〃鏍�
int checkItemRowNum = row;
for (int i = 0; i < checkItemRowNum; i++) {
- table1.createRow(); // 鍒涘缓鏂拌
+ // 鍒涘缓鏂拌 骞惰缃眳涓�
+ XWPFTableRow tableRow = table1.createRow();
+ for (XWPFTableCell tableCell : tableRow.getTableCells()) {
+ // 璁剧疆鍗曞厓鏍煎唴瀹瑰眳涓榻�
+ for (XWPFParagraph paragraph : tableCell.getParagraphs()) {
+ paragraph.setAlignment(ParagraphAlignment.CENTER);
+ }
+ }
}
// XWPFTable table = document.createTable(row, cell);
//鍨傜洿
@@ -874,7 +906,7 @@
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, 1);
+ mergeCellsVertically(table1, 4, rowNum, rowNum+1);
mergeCellsVertically(table1, cell - 1, rowNum, rowNum+1);
mergeCellsVertically(table1, cell - 1, rowNum+2, rowNum + checkItemRowNum - 1);
//姘村钩
@@ -910,7 +942,6 @@
// 瀹氫箟鏀规鏌ラ」鏍囧噯鍊�
String checkItemStandardStr = "";
XWPFParagraph paragraph3 = table1.getRow(rowNum).getCell(3).getParagraphArray(0);
- paragraph3.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run3 = paragraph3.createRun();
if (bz.get(s2) != null) {
run3.setText(bz.get(s2).toString());
@@ -919,6 +950,7 @@
XWPFParagraph paragraph4 = table1.getRow(rowNum).getCell(4).getParagraphArray(0);
+ paragraph4.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run4 = paragraph4.createRun();
run4.setText("棰戠巼锛圡Hz锛�");
@@ -928,35 +960,52 @@
run5.setText("绔彛");
XWPFParagraph paragraph6 = table1.getRow(rowNum).getCell(cell - 1).getParagraphArray(0);
+ paragraph6.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run6 = paragraph6.createRun();
run6.setText("鍒ゅ畾");
XWPFParagraph paragraph7 = table1.getRow(rowNum+1).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 = 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() - 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();
run10.setText(s3);
}
}
- Map<Integer, List<Map<String, Object>>> group = mapList.stream()
+ Map<BigDecimal, List<Map<String, Object>>> group = mapList.stream()
.collect(Collectors.groupingBy(item -> {
- Double aDouble = (Double) item.get("娴嬭瘯棰戠巼(MHZ)");
- return aDouble.intValue();
+ 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());
+ } else {
+ // 鏈夊皬鏁伴儴鍒嗭紝杩斿洖鍘熷鍊肩殑瀛楃涓插舰寮�
+ return value;
+ }
}));
@@ -969,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]);
@@ -1025,7 +1077,7 @@
}
}
- for (Integer aDouble : group.keySet()) {
+ for (BigDecimal aDouble : group.keySet()) {
List<Map<String, Object>> mapList1 = group.get(aDouble);
for (Map<String, Object> stringObjectMap : mapList1) {
String port = stringObjectMap.get("绔彛").toString();
@@ -1058,8 +1110,7 @@
passFlag = false;
}
}
- String project = stringObjectMap.get(s2).toString();
- run10.setText(project);
+ run10.setText(String.format("%.2f",value));
}
}
}
--
Gitblit v1.9.3