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