From 79db24b61cc865f0a567ba8a87e36e7a4e444c23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=B5=A9?= Date: Sun, 28 Apr 2024 11:44:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8B=86=E5=88=86=E8=A1=A8?= =?UTF-8?q?=E6=A0=BC=E5=8C=85=E5=85=AC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/modules/split/entity/MathNumber.java | 17 +++++++++++++++ .../split/service/impl/FileSpiltService.java | 21 ++++++++++++++----- 2 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/split/entity/MathNumber.java diff --git a/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/split/entity/MathNumber.java b/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/split/entity/MathNumber.java new file mode 100644 index 0000000..c35e26f --- /dev/null +++ b/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/split/entity/MathNumber.java @@ -0,0 +1,17 @@ +package com.jero.modules.split.entity; + +public class MathNumber { + int number; + + public MathNumber() { + this.number = 1; + } + + public int getNumber() { + return number; + } + + public void setNumber(int number) { + this.number = number; + } +} diff --git a/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java b/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java index fb97676..6ff45a7 100644 --- a/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java +++ b/byd-structuredplugins-serve/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java @@ -237,7 +237,8 @@ public class FileSpiltService { } log.info("下载文档结束========================================================="); } - + //记录公式自动编号 + MathNumber mathNumber = new MathNumber(); try (InputStream is = splitFileIs;InputStream is1 = splitFileIs1) { ZipSecureFile.setMinInflateRatio(-1.0d); XWPFDocument doc = new XWPFDocument(is); @@ -485,7 +486,7 @@ public class FileSpiltService { } else if (element instanceof XWPFTable) { if (!messageList.isEmpty()) { - addItermsConditionsOfTable(messageList.get(messageList.size() - 1), itemValList, (XWPFTable) element); + addItermsConditionsOfTable(messageList.get(messageList.size() - 1), itemValList, (XWPFTable) element,mathNumber); } } } @@ -1085,10 +1086,10 @@ public class FileSpiltService { itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.MATH.getValue(), p, message.getItemsCondi().size(), null)); } - public void addItermsConditionsOfTable(SarFileSplitItemsEO message, List itemsValList, XWPFTable table) throws IOException { + public void addItermsConditionsOfTable(SarFileSplitItemsEO message, List itemsValList, XWPFTable table,MathNumber mathNumber) throws IOException { StringBuilder tabaleStringNew = new StringBuilder(""); //将表格转为html字符串 - String tableStr = readTable(table); + String tableStr = readTable(table,mathNumber); tabaleStringNew.append(tableStr); message.getItemsCondi().add(table.getText()); message.setItemContent(message.getItemContent() + tabaleStringNew); @@ -1096,7 +1097,8 @@ public class FileSpiltService { } - public String readTable(XWPFTable table) { + public String readTable(XWPFTable table,MathNumber mathNumber) { + boolean isMathNumber = false; ReadWordTable readWordTable = new ReadWordTable(); // 表格行数 int tableRowsSize = table.getRows().size(); @@ -1136,6 +1138,13 @@ public class FileSpiltService { tableToHtmlStr.append(">"); } StringBuilder stringBuilder = new StringBuilder(); + if(isMathNumber && j == 1){ + stringBuilder.append("..................("+mathNumber.getNumber()+")"); + tableToHtmlStr.append(stringBuilder).append(""); + mathNumber.setNumber(mathNumber.getNumber() + 1); + isMathNumber = false; + continue; + } List paragraphs = tableCell.getParagraphs(); for (XWPFParagraph paragraph : paragraphs) { List imageBundleList = readImageInParagraph(paragraph); @@ -1185,6 +1194,7 @@ public class FileSpiltService { String imgConVal = ""; stringBuilder.append(imgConVal); + isMathNumber = true; } } else if (child instanceof CTOMathPara) { CTOMathPara ctoMathPara = (CTOMathPara) child; @@ -1229,6 +1239,7 @@ public class FileSpiltService { String imgConVal = ""; stringBuilder.append(imgConVal); + isMathNumber = true; } } }