From b1575cbb2341ee69cba25399f6ead84fbbae2f57 Mon Sep 17 00:00:00 2001 From: wangchengjun Date: Mon, 23 May 2022 20:44:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9GSO=E6=8B=86=E5=88=86?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=A0=A1=E9=AA=8C=E6=8F=90=E7=A4=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/config/shiro/ShiroRealm.java | 3 +- .../split/service/impl/FileSpiltService.java | 893 +++++++++--------- 2 files changed, 465 insertions(+), 431 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroRealm.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroRealm.java index dcae1773d..f1cbd4f48 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroRealm.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroRealm.java @@ -133,7 +133,8 @@ public class ShiroRealm extends AuthorizingRealm { try { loginUser = commonAPI.getUserByName(username); }catch (SerializationException e){ - throw e; + LoginException.loginException(401,"用户不存在!"); + return null; } if (loginUser == null) { LoginException.loginException(401,"用户不存在!"); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java index 48248686e..8ae44d076 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSpiltService.java @@ -39,7 +39,6 @@ import java.util.regex.Pattern; /** - * *
* 功能:SAR_FILE_SPLIT_INFO SarFileSplitInfoEOService
* 作者:code generator
@@ -67,15 +66,16 @@ public class FileSpiltService { /** * 中国标准数据拆分 + * * @param sarFileSplitInfoEO * @param enumByValue * @return */ - public int fileCHN(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) { - if (sarFileSplitInfoEO.getStopNumber()<=0){ + public int fileCHN(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) { + if (sarFileSplitInfoEO.getStopNumber() <= 0) { sarFileSplitInfoEO.setStopNumber(200); } - if (sarFileSplitInfoEO.getStartNumber()<=0){ + if (sarFileSplitInfoEO.getStartNumber() <= 0) { sarFileSplitInfoEO.setStartNumber(1); } @@ -102,7 +102,7 @@ public class FileSpiltService { treeList.add(documentTreeEO); - List nowStart = new ArrayList<>(); + List nowStart = new ArrayList<>(); // if (sarFileSplitInfoEO.getStartNumber()<4){ //从第四个开始拆解 nowStart.add("3.1"); @@ -112,14 +112,14 @@ public class FileSpiltService { try { //获取文件地址 String connectId = sarFileSplitInfoEO.getConnectId(); - if(StringUtils.isEmpty(connectId)){ + if (StringUtils.isEmpty(connectId)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(OSSFile::getConnectId,connectId); + queryWrapper.eq(OSSFile::getConnectId, connectId); OSSFile ossFile = iossFileService.getOne(queryWrapper); String readFilePath = ossFile.getUrl(); - if(StringUtils.isEmpty(readFilePath)){ + if (StringUtils.isEmpty(readFilePath)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } // AttFileEO attFileEO = attFileEOService.getFileInfo(sarFileSplitInfoEO.getAttId()); @@ -135,12 +135,12 @@ public class FileSpiltService { // 记录拆分后的每一段文字 List elements = doc.getBodyElements(); // 记录word自动生成的编号数据 - Map numberMap = new HashMap(); + Map numberMap = new HashMap(); boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 for (IBodyElement element : elements) { // 段落 if (element instanceof XWPFParagraph) { - XWPFParagraph p = (XWPFParagraph)element; + XWPFParagraph p = (XWPFParagraph) element; // 处理段落生成编号不识别问题 String paragraphString = p.getText(); @@ -148,28 +148,28 @@ public class FileSpiltService { paragraphString = paragraphString.replace((char) 12288, ' '); paragraphString = paragraphString.trim(); } - if (StringUtils.isNotEmpty(p.getNumLevelText())&& p.getNumLevelText().indexOf(".")>0) { - String numberParent = p.getNumLevelText().substring(0,p.getNumLevelText().lastIndexOf(".")); - if (numberMap.containsKey(numberParent)){ - Integer numbernow =(Integer)numberMap.get(numberParent)+1; - if (messageList != null && !messageList.isEmpty() && messageList.get(messageList.size()-1).getItemsNum().equals(numberParent + "." + String.valueOf(numbernow))){ - numberMap.put(numberParent,numbernow+1); - paragraphString = numberParent + "." + String.valueOf(numbernow+1)+ p.getText(); + if (StringUtils.isNotEmpty(p.getNumLevelText()) && p.getNumLevelText().indexOf(".") > 0) { + String numberParent = p.getNumLevelText().substring(0, p.getNumLevelText().lastIndexOf(".")); + if (numberMap.containsKey(numberParent)) { + Integer numbernow = (Integer) numberMap.get(numberParent) + 1; + if (messageList != null && !messageList.isEmpty() && messageList.get(messageList.size() - 1).getItemsNum().equals(numberParent + "." + String.valueOf(numbernow))) { + numberMap.put(numberParent, numbernow + 1); + paragraphString = numberParent + "." + String.valueOf(numbernow + 1) + p.getText(); } else { - numberMap.put(numberParent,numbernow); - paragraphString = numberParent + "." + String.valueOf(numbernow)+ p.getText(); + numberMap.put(numberParent, numbernow); + paragraphString = numberParent + "." + String.valueOf(numbernow) + p.getText(); } } else { - numberMap.put(numberParent,1); - paragraphString = numberParent+".1"+ p.getText(); + numberMap.put(numberParent, 1); + paragraphString = numberParent + ".1" + p.getText(); } } if (messageNumber == 0) { - ptest= Pattern.compile("^1\\s{0,3}范围"); - matcher=ptest.matcher(paragraphString); - while(matcher.find()){ + ptest = Pattern.compile("^1\\s{0,3}范围"); + matcher = ptest.matcher(paragraphString); + while (matcher.find()) { List clauseContent = new ArrayList<>(); - SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"1","范围",clauseContent); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(), "1", "范围", clauseContent); SarFileSplitMenuEO documentTreeEO1 = new SarFileSplitMenuEO(); // SarFileSplitMenuEO documentTreeEO1 = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),message.getItemsNum(),generalCatalogueId,sarFileSplitInfoEO.getId(),treeListDisplay++,"范围"); documentTreeEO1.setId(UUIDUtils.randomUUID20()); @@ -182,7 +182,7 @@ public class FileSpiltService { // treeList.add(documentTreeEO1); message.setMenuId(documentTreeEO1.getId()); - if(sarFileSplitInfoEO.getStartNumber()<=1 && sarFileSplitInfoEO.getStopNumber()>=1){ + if (sarFileSplitInfoEO.getStartNumber() <= 1 && sarFileSplitInfoEO.getStopNumber() >= 1) { messageList.add(message); treeList.add(documentTreeEO1); menuCanAdd = true; @@ -191,12 +191,12 @@ public class FileSpiltService { } messageNumber++; } - } else if (messageNumber == 1){ - ptest= Pattern.compile("^2\\s{0,3}规范性引用文件"); - matcher=ptest.matcher(paragraphString); - if(matcher.find()){ + } else if (messageNumber == 1) { + ptest = Pattern.compile("^2\\s{0,3}规范性引用文件"); + matcher = ptest.matcher(paragraphString); + if (matcher.find()) { List clauseContent = new ArrayList<>(); - SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"2","规范性引用文件",clauseContent); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(), "2", "规范性引用文件", clauseContent); SarFileSplitMenuEO documentTreeEO1 = new SarFileSplitMenuEO(); // SarFileSplitMenuEO documentTreeEO1 = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),message.getItemsNum(),generalCatalogueId,sarFileSplitInfoEO.getId(),treeListDisplay++,"规范性引用文件"); @@ -209,7 +209,7 @@ public class FileSpiltService { documentTreeEO1.setValidFlag(0); message.setMenuId(documentTreeEO1.getId()); - if(sarFileSplitInfoEO.getStartNumber()<=2 && sarFileSplitInfoEO.getStopNumber()>=2){ + if (sarFileSplitInfoEO.getStartNumber() <= 2 && sarFileSplitInfoEO.getStopNumber() >= 2) { messageList.add(message); treeList.add(documentTreeEO1); menuCanAdd = true; @@ -217,20 +217,20 @@ public class FileSpiltService { menuCanAdd = false; } messageNumber++; - } else if(menuCanAdd){ - List imageBundleList = readImageInParagraph((XWPFParagraph)p); - if(CollectionUtils.isNotEmpty(imageBundleList)) { - addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); + } else if (menuCanAdd) { + List imageBundleList = readImageInParagraph((XWPFParagraph) p); + if (CollectionUtils.isNotEmpty(imageBundleList)) { + addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList); } else { - addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p.getText()); + addItermsConditionsText(messageList.get(messageList.size() - 1), itemValList, p.getText()); } } - } else if (messageNumber == 2){ - ptest= Pattern.compile("^3\\s{0,3}术语(和|与)定义"); - matcher=ptest.matcher(paragraphString); - if(matcher.find()){ + } else if (messageNumber == 2) { + ptest = Pattern.compile("^3\\s{0,3}术语(和|与)定义"); + matcher = ptest.matcher(paragraphString); + if (matcher.find()) { List clauseContent = new ArrayList<>(); - SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"3","术语与定义",clauseContent); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(), "3", "术语与定义", clauseContent); SarFileSplitMenuEO documentTreeEO1 = new SarFileSplitMenuEO(); // SarFileSplitMenuEO documentTreeEO1 = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),message.getItemsNum(),generalCatalogueId,sarFileSplitInfoEO.getId(),treeListDisplay++,"术语与定义"); documentTreeEO1.setId(UUIDUtils.randomUUID20()); @@ -242,7 +242,7 @@ public class FileSpiltService { documentTreeEO1.setValidFlag(0); message.setMenuId(documentTreeEO1.getId()); - if(sarFileSplitInfoEO.getStartNumber()<=3 && sarFileSplitInfoEO.getStopNumber()>=3){ + if (sarFileSplitInfoEO.getStartNumber() <= 3 && sarFileSplitInfoEO.getStopNumber() >= 3) { messageList.add(message); treeList.add(documentTreeEO1); menuCanAdd = true; @@ -250,34 +250,34 @@ public class FileSpiltService { menuCanAdd = false; } messageNumber++; - } else if(menuCanAdd){ - List imageBundleList = readImageInParagraph((XWPFParagraph)p); - if(CollectionUtils.isNotEmpty(imageBundleList)) { - addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); + } else if (menuCanAdd) { + List imageBundleList = readImageInParagraph((XWPFParagraph) p); + if (CollectionUtils.isNotEmpty(imageBundleList)) { + addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList); } else { - addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p.getText()); + addItermsConditionsText(messageList.get(messageList.size() - 1), itemValList, p.getText()); } } - } else if (messageNumber>=3){ + } else if (messageNumber >= 3) { ptest = Pattern.compile("^[\\d.]*$"); boolean hasGoIf = false; - for (int i=0;i10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); + String itemName = paragraphString.substring(nowStart.get(i).length()).length() > 10 ? paragraphString.substring(nowStart.get(i).length(), nowStart.get(i).length() + 10) : paragraphString.substring(nowStart.get(i).length()); List clauseContent = new ArrayList<>(); clauseContent.add(paragraphString); - SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(), nowStart.get(i), itemName, clauseContent); String[] numberStr = nowStart.get(i).split("\\."); - if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()){ + if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()) { menuCanAdd = false; } else { // 增加一条数据,需要在数结构中加一条数据 - SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName,enumByValue); - treeList.add(sarFileSplitMenuEO) ; + SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i), treeList, generalCatalogueId, sarFileSplitInfoEO, treeListDisplay++, itemName, enumByValue); + treeList.add(sarFileSplitMenuEO); message.setMenuId(sarFileSplitMenuEO.getId()); - addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); + addItermsConditionsText(message, itemValList, paragraphString.substring(nowStart.get(i).length())); messageList.add(message); nowStart = getNewNowStart(nowStart.get(i)); menuCanAdd = true; @@ -286,22 +286,22 @@ public class FileSpiltService { break; } } - if(!hasGoIf && menuCanAdd) { + if (!hasGoIf && menuCanAdd) { // 判断是否是附录 - ptest= Pattern.compile("^附录\\s{0,3}[A-Z]{1}"); - matcher=ptest.matcher(paragraphString); + ptest = Pattern.compile("^附录\\s{0,3}[A-Z]{1}"); + matcher = ptest.matcher(paragraphString); // 获取当前最后一项num - String appendixNum = messageList.get(messageList.size()-1).getItemsNum().split("\\.")[0]; - if(matcher.find() && !messageList.get(messageList.size()-1).getItemsNum().equals("附录") ){ - if ( Integer.valueOf(appendixNum)+1 <= sarFileSplitInfoEO.getStopNumber()) { + String appendixNum = messageList.get(messageList.size() - 1).getItemsNum().split("\\.")[0]; + if (matcher.find() && !messageList.get(messageList.size() - 1).getItemsNum().equals("附录")) { + if (Integer.valueOf(appendixNum) + 1 <= sarFileSplitInfoEO.getStopNumber()) { String itemName = "附录"; List clauseContent = new ArrayList<>(); clauseContent.add(paragraphString); - SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"附录",itemName,clauseContent); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(), "附录", itemName, clauseContent); // 增加一条数据,需要在数结构中加一条数据 - SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList("附录",treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,"",enumByValue); - addItermsConditionsText(message,itemValList,paragraphString); - treeList.add(sarFileSplitMenuEO) ; + SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList("附录", treeList, generalCatalogueId, sarFileSplitInfoEO, treeListDisplay++, "", enumByValue); + addItermsConditionsText(message, itemValList, paragraphString); + treeList.add(sarFileSplitMenuEO); message.setMenuId(sarFileSplitMenuEO.getId()); messageList.add(message); nowStart = new ArrayList<>(); @@ -309,23 +309,23 @@ public class FileSpiltService { break; } } else { - if (!p.getText().equals("") ){ - addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p.getText()); + if (!p.getText().equals("")) { + addItermsConditionsText(messageList.get(messageList.size() - 1), itemValList, p.getText()); } - List imageBundleList = readImageInParagraph((XWPFParagraph)p); - if(CollectionUtils.isNotEmpty(imageBundleList)) { - addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); + List imageBundleList = readImageInParagraph((XWPFParagraph) p); + if (CollectionUtils.isNotEmpty(imageBundleList)) { + addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList); } } } // 判断是否直接跳出所有循环 - if (!menuCanAdd && messageList.size()>0) { + if (!menuCanAdd && messageList.size() > 0) { break; } } - } else if (element instanceof XWPFTable){ - if(messageList != null && !messageList.isEmpty()){ - addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); + } else if (element instanceof XWPFTable) { + if (messageList != null && !messageList.isEmpty()) { + addItermsConditionsOfTable(messageList.get(messageList.size() - 1), itemValList, (XWPFTable) element); } } } @@ -334,7 +334,7 @@ public class FileSpiltService { e.printStackTrace(); return -1; } - if(treeList.size()>0 && messageList.size() > 0){ + if (treeList.size() > 0 && messageList.size() > 0) { sarFileSplitMenuEOMapper.insertForeach(treeList); iSarFileSplitItemsEOService.insertForeach(messageList); iSarFileSplitItemsValEOService.insertForeach(itemValList); @@ -344,7 +344,7 @@ public class FileSpiltService { } else { return -1; } - return treeList.size(); + return treeList.size(); } @@ -354,16 +354,17 @@ public class FileSpiltService { /** * GSO 欧洲标准拆分 + * * @param sarFileSplitInfoEO * @param enumByValue * @return */ - public int fileGSO(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) { + public int fileGSO(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) { // 拆分文件主表中插入数据 - if (sarFileSplitInfoEO.getStopNumber()<=0){ + if (sarFileSplitInfoEO.getStopNumber() <= 0) { sarFileSplitInfoEO.setStopNumber(200); } - if (sarFileSplitInfoEO.getStartNumber()<=0){ + if (sarFileSplitInfoEO.getStartNumber() <= 0) { sarFileSplitInfoEO.setStartNumber(1); } // dao.insertSelective(sarFileSplitInfoEO); @@ -388,29 +389,40 @@ public class FileSpiltService { documentTreeEO.setValidFlag(0); treeList.add(documentTreeEO); - List nowStart = new ArrayList<>(); + List nowStart = new ArrayList<>(); nowStart.add("1"); try { //获取文件地址 String connectId = sarFileSplitInfoEO.getConnectId(); - if(StringUtils.isEmpty(connectId)){ + String fileName = sarFileSplitInfoEO.getFileName(); + if (StringUtils.isEmpty(connectId) || StringUtils.isEmpty(fileName)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(OSSFile::getConnectId,connectId); - OSSFile ossFile = iossFileService.getOne(queryWrapper); + queryWrapper.eq(OSSFile::getConnectId, connectId); + queryWrapper.eq(OSSFile::getFileName, fileName); + queryWrapper.orderByDesc(OSSFile::getCreateTime); + List ossFileList = iossFileService.list(queryWrapper); + if (CollectionUtils.isEmpty(ossFileList)) { + throw new JeroBootException("当前文件未找到,请重新选择!"); + } + OSSFile ossFile = ossFileList.get(0); String readFilePath = ossFile.getUrl(); - if(StringUtils.isEmpty(readFilePath)){ + if (StringUtils.isEmpty(readFilePath)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } //修改为读取PDF // InputStream is = new FileInputStream(readFilePath); //需要将文件路更改为word文档所在路径。 // XWPFDocument doc = new XWPFDocument(is); + // GSO因为word内容格式读取有问题,对GSO文件进行特殊处理,必须使用PDF文件 + if (!(readFilePath.endsWith(".pdf") || readFilePath.endsWith(".PDF"))) { + throw new JeroBootException("GSO必须选择PDF文件!"); + } String readPdf = ReadPdfUtil.readPdf(readFilePath); - if(StringUtils.isEmpty(readPdf)){ + if (StringUtils.isEmpty(readPdf)) { throw new JeroBootException("未读取到文件内容,请检查后重试!"); } String[] pdfArrays = readPdf.split("\r\n"); @@ -422,18 +434,18 @@ public class FileSpiltService { //修改为读取PDF // List elements = doc.getBodyElements(); // 记录word自动生成的编号数据 - Map numberMap = new HashMap(); + Map numberMap = new HashMap(); boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 //修改为读取PDF // for (IBodyElement element : elements) { //定义初始化数据 boolean firstFlag = true; for (String paragraphString : pdfArrays) { - if(paragraphString.contains("SCOPE")){ + if (paragraphString.contains("SCOPE")) { firstFlag = false; } - if(firstFlag){ - continue; + if (firstFlag) { + continue; } // 段落 @@ -441,12 +453,12 @@ public class FileSpiltService { // if (element instanceof XWPFParagraph) { // XWPFParagraph p = (XWPFParagraph)element; - // 处理段落生成编号不识别问题 + // 处理段落生成编号不识别问题 // String paragraphString = p.getText(); - if (StringUtils.isNotBlank(paragraphString)) { - paragraphString = paragraphString.replace((char) 12288, ' '); - paragraphString = paragraphString.trim(); - } + if (StringUtils.isNotBlank(paragraphString)) { + paragraphString = paragraphString.replace((char) 12288, ' '); + paragraphString = paragraphString.trim(); + } // if (StringUtils.isNotEmpty(p.getNumLevelText())&& p.getNumLevelText().indexOf(".")>0) { // String numberParent = p.getNumLevelText().substring(0,p.getNumLevelText().lastIndexOf(".")); // if (numberMap.containsKey(numberParent)){ @@ -465,53 +477,53 @@ public class FileSpiltService { // } // ptest = Pattern.compile("^[\\d.]*$"); - boolean hasGoIf = false; - for (int i=0;i10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); - String itemName = FileSplitUtils.getItemName(paragraphString,nowStart.get(i)); - List clauseContent = new ArrayList<>(); - clauseContent.add(paragraphString); - SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); + String itemName = FileSplitUtils.getItemName(paragraphString, nowStart.get(i)); + List clauseContent = new ArrayList<>(); + clauseContent.add(paragraphString); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(), nowStart.get(i), itemName, clauseContent); - String[] numberStr = nowStart.get(i).split("\\."); - if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()){ - menuCanAdd = false; - } else { - // 增加一条数据,需要在数结构中加一条数据 - SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName,enumByValue); - treeList.add(sarFileSplitMenuEO) ; - message.setMenuId(sarFileSplitMenuEO.getId()); - addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); - messageList.add(message); - nowStart = getNewNowStart(nowStart.get(i)); - menuCanAdd = true; - } - hasGoIf = true; - break; - - } + String[] numberStr = nowStart.get(i).split("\\."); + if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()) { + menuCanAdd = false; + } else { + // 增加一条数据,需要在数结构中加一条数据 + SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i), treeList, generalCatalogueId, sarFileSplitInfoEO, treeListDisplay++, itemName, enumByValue); + treeList.add(sarFileSplitMenuEO); + message.setMenuId(sarFileSplitMenuEO.getId()); + addItermsConditionsText(message, itemValList, paragraphString.substring(nowStart.get(i).length())); + messageList.add(message); + nowStart = getNewNowStart(nowStart.get(i)); + menuCanAdd = true; } + hasGoIf = true; + break; - if(!hasGoIf && menuCanAdd) { - if (!paragraphString.equals("") ){ - addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,paragraphString); - } + } + } + + if (!hasGoIf && menuCanAdd) { + if (!paragraphString.equals("")) { + addItermsConditionsText(messageList.get(messageList.size() - 1), itemValList, paragraphString); + } // List imageBundleList = readImageInParagraph((XWPFParagraph)p); // if(CollectionUtils.isNotEmpty(imageBundleList)) { // addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); // } // } - hasGoIf = true; - } - // 判断是否直接跳出所有循环 - if (!menuCanAdd && messageList.size()>0) { - break; - } + hasGoIf = true; + } + // 判断是否直接跳出所有循环 + if (!menuCanAdd && messageList.size() > 0) { + break; + } - //修改为读取PDF + //修改为读取PDF // } else if (element instanceof XWPFTable){ // if(messageList != null && !messageList.isEmpty()){ // addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); @@ -519,34 +531,35 @@ public class FileSpiltService { // } } - }catch (JeroBootException e){ + } catch (JeroBootException e) { throw new JeroBootException(e.getMessage()); - }catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); return -1; } - if(treeList.size()>0 && messageList.size() > 0){ + if (treeList.size() > 0 && messageList.size() > 0) { sarFileSplitMenuEOMapper.insertForeach(treeList); iSarFileSplitItemsEOService.insertForeach(messageList); iSarFileSplitItemsValEOService.insertForeach(itemValList); } else { return -1; } - return treeList.size(); + return treeList.size(); } /** * 美国标准 + * * @param sarFileSplitInfoEO * @param enumByValue * @return */ - public int fileUSA(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) { - if (sarFileSplitInfoEO.getStopNumber()<=0){ + public int fileUSA(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) { + if (sarFileSplitInfoEO.getStopNumber() <= 0) { sarFileSplitInfoEO.setStopNumber(200); } - if (sarFileSplitInfoEO.getStartNumber()<=0){ + if (sarFileSplitInfoEO.getStartNumber() <= 0) { sarFileSplitInfoEO.setStartNumber(1); } @@ -570,7 +583,7 @@ public class FileSpiltService { documentTreeEO.setValidFlag(0); treeList.add(documentTreeEO); - List nowStart = new ArrayList<>(); + List nowStart = new ArrayList<>(); nowStart.add("S1"); // if (sarFileSplitInfoEO.getStartNumber()<4){ // } else { @@ -579,14 +592,14 @@ public class FileSpiltService { try { //获取文件地址 String connectId = sarFileSplitInfoEO.getConnectId(); - if(StringUtils.isEmpty(connectId)){ + if (StringUtils.isEmpty(connectId)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(OSSFile::getConnectId,connectId); + queryWrapper.eq(OSSFile::getConnectId, connectId); OSSFile ossFile = iossFileService.getOne(queryWrapper); String readFilePath = ossFile.getUrl(); - if(StringUtils.isEmpty(readFilePath)){ + if (StringUtils.isEmpty(readFilePath)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } @@ -599,12 +612,12 @@ public class FileSpiltService { // 记录拆分后的每一段文字 List elements = doc.getBodyElements(); // 记录word自动生成的编号数据 - Map numberMap = new HashMap(); + Map numberMap = new HashMap(); boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 for (IBodyElement element : elements) { // 段落 if (element instanceof XWPFParagraph) { - XWPFParagraph p = (XWPFParagraph)element; + XWPFParagraph p = (XWPFParagraph) element; // 处理段落生成编号不识别问题 String paragraphString = p.getText(); @@ -631,26 +644,26 @@ public class FileSpiltService { //^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$ ptest = Pattern.compile("S^[\\d.]*$"); boolean hasGoIf = false; - for (int i=0;i10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); - String itemName = FileSplitUtils.getItemName(paragraphString,nowStart.get(i)); + String itemName = FileSplitUtils.getItemName(paragraphString, nowStart.get(i)); List clauseContent = new ArrayList<>(); clauseContent.add(paragraphString); - SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(), nowStart.get(i), itemName, clauseContent); String[] numberStr = nowStart.get(i).split("\\."); String numberStrTemp = numberStr[0].replace("S", ""); - if (Integer.valueOf(numberStrTemp) > sarFileSplitInfoEO.getStopNumber()){ + if (Integer.valueOf(numberStrTemp) > sarFileSplitInfoEO.getStopNumber()) { menuCanAdd = false; } else { // 增加一条数据,需要在数结构中加一条数据 - SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName,enumByValue); - treeList.add(sarFileSplitMenuEO) ; + SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i), treeList, generalCatalogueId, sarFileSplitInfoEO, treeListDisplay++, itemName, enumByValue); + treeList.add(sarFileSplitMenuEO); message.setMenuId(sarFileSplitMenuEO.getId()); - addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); + addItermsConditionsText(message, itemValList, paragraphString.substring(nowStart.get(i).length())); messageList.add(message); nowStart = getNewNowStartUS(nowStart.get(i)); menuCanAdd = true; @@ -660,26 +673,26 @@ public class FileSpiltService { } } - if(!hasGoIf && menuCanAdd) { - if (!p.getText().equals("") ){ - addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p.getText()); + if (!hasGoIf && menuCanAdd) { + if (!p.getText().equals("")) { + addItermsConditionsText(messageList.get(messageList.size() - 1), itemValList, p.getText()); } - List imageBundleList = readImageInParagraph((XWPFParagraph)p); - if(CollectionUtils.isNotEmpty(imageBundleList)) { - addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); + List imageBundleList = readImageInParagraph((XWPFParagraph) p); + if (CollectionUtils.isNotEmpty(imageBundleList)) { + addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList); } // } hasGoIf = true; } // 判断是否直接跳出所有循环 - if (!menuCanAdd && messageList.size()>0) { + if (!menuCanAdd && messageList.size() > 0) { break; } - } else if (element instanceof XWPFTable){ - if(messageList != null && !messageList.isEmpty()){ - addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); + } else if (element instanceof XWPFTable) { + if (messageList != null && !messageList.isEmpty()) { + addItermsConditionsOfTable(messageList.get(messageList.size() - 1), itemValList, (XWPFTable) element); } } } @@ -688,28 +701,29 @@ public class FileSpiltService { e.printStackTrace(); return -1; } - if(treeList.size()>0 && messageList.size() > 0){ + if (treeList.size() > 0 && messageList.size() > 0) { sarFileSplitMenuEOMapper.insertForeach(treeList); iSarFileSplitItemsEOService.insertForeach(messageList); iSarFileSplitItemsValEOService.insertForeach(itemValList); } else { return -1; } - return treeList.size(); + return treeList.size(); } /** - *日本标准 + * 日本标准 + * * @param sarFileSplitInfoEO * @param enumByValue * @return */ public int fileJapanOne(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) { - if (sarFileSplitInfoEO.getStopNumber()<=0){ + if (sarFileSplitInfoEO.getStopNumber() <= 0) { sarFileSplitInfoEO.setStopNumber(200); } - if (sarFileSplitInfoEO.getStartNumber()<=0){ + if (sarFileSplitInfoEO.getStartNumber() <= 0) { sarFileSplitInfoEO.setStartNumber(1); } @@ -733,7 +747,7 @@ public class FileSpiltService { documentTreeEO.setValidFlag(0); treeList.add(documentTreeEO); - List nowStart = new ArrayList<>(); + List nowStart = new ArrayList<>(); nowStart.add("1."); // if (sarFileSplitInfoEO.getStartNumber()<4){ // } else { @@ -742,14 +756,14 @@ public class FileSpiltService { try { //获取文件地址 String connectId = sarFileSplitInfoEO.getConnectId(); - if(StringUtils.isEmpty(connectId)){ + if (StringUtils.isEmpty(connectId)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(OSSFile::getConnectId,connectId); + queryWrapper.eq(OSSFile::getConnectId, connectId); OSSFile ossFile = iossFileService.getOne(queryWrapper); String readFilePath = ossFile.getUrl(); - if(StringUtils.isEmpty(readFilePath)){ + if (StringUtils.isEmpty(readFilePath)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } @@ -762,12 +776,12 @@ public class FileSpiltService { // 记录拆分后的每一段文字 List elements = doc.getBodyElements(); // 记录word自动生成的编号数据 - Map numberMap = new HashMap(); + Map numberMap = new HashMap(); boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 for (IBodyElement element : elements) { // 段落 if (element instanceof XWPFParagraph) { - XWPFParagraph p = (XWPFParagraph)element; + XWPFParagraph p = (XWPFParagraph) element; // 处理段落生成编号不识别问题 String paragraphString = p.getText(); @@ -795,33 +809,33 @@ public class FileSpiltService { ptest = Pattern.compile("^[\\d.]*$"); //定义查看是否有编号,没有编号则按照上一个编号放置数据 boolean hasGoIf = false; - for (int i=0;i10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); - String itemName = FileSplitUtils.getItemName(paragraphString,nowStart.get(i)); + String itemName = FileSplitUtils.getItemName(paragraphString, nowStart.get(i)); List clauseContent = new ArrayList<>(); clauseContent.add(paragraphString); - SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(), nowStart.get(i), itemName, clauseContent); - String[] numberStr ; - if(nowStart.get(i).contains(".")){ + String[] numberStr; + if (nowStart.get(i).contains(".")) { numberStr = nowStart.get(i).split("\\."); - }else { + } else { numberStr = nowStart.get(i).split("–"); } // String numberStrTemp = numberStr[0].replace("S", ""); - if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()){ + if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()) { menuCanAdd = false; } else { // 增加一条数据,需要在数结构中加一条数据 - SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName,enumByValue); - treeList.add(sarFileSplitMenuEO) ; + SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i), treeList, generalCatalogueId, sarFileSplitInfoEO, treeListDisplay++, itemName, enumByValue); + treeList.add(sarFileSplitMenuEO); message.setMenuId(sarFileSplitMenuEO.getId()); - addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); + addItermsConditionsText(message, itemValList, paragraphString.substring(nowStart.get(i).length())); messageList.add(message); - nowStart = getNewNowStartJapanOne("",nowStart.get(i)); + nowStart = getNewNowStartJapanOne("", nowStart.get(i)); menuCanAdd = true; } hasGoIf = true; @@ -830,24 +844,24 @@ public class FileSpiltService { } } - if(!hasGoIf && menuCanAdd) { - if (!p.getText().equals("") ){ - addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p.getText()); + if (!hasGoIf && menuCanAdd) { + if (!p.getText().equals("")) { + addItermsConditionsText(messageList.get(messageList.size() - 1), itemValList, p.getText()); } - List imageBundleList = readImageInParagraph((XWPFParagraph)p); - if(CollectionUtils.isNotEmpty(imageBundleList)) { - addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); + List imageBundleList = readImageInParagraph((XWPFParagraph) p); + if (CollectionUtils.isNotEmpty(imageBundleList)) { + addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList); } } // 判断是否直接跳出所有循环 - if (!menuCanAdd && messageList.size()>0) { + if (!menuCanAdd && messageList.size() > 0) { break; } - } else if (element instanceof XWPFTable){ - if(messageList != null && !messageList.isEmpty()){ - addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); + } else if (element instanceof XWPFTable) { + if (messageList != null && !messageList.isEmpty()) { + addItermsConditionsOfTable(messageList.get(messageList.size() - 1), itemValList, (XWPFTable) element); } } } @@ -856,26 +870,28 @@ public class FileSpiltService { e.printStackTrace(); return -1; } - if(treeList.size()>0 && messageList.size() > 0){ + if (treeList.size() > 0 && messageList.size() > 0) { sarFileSplitMenuEOMapper.insertForeach(treeList); iSarFileSplitItemsEOService.insertForeach(messageList); iSarFileSplitItemsValEOService.insertForeach(itemValList); } else { return -1; } - return treeList.size(); + return treeList.size(); } + /** - *日本标准 + * 日本标准 + * * @param sarFileSplitInfoEO * @param enumByValue * @return */ public int fileJapanTwo(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) { - if (sarFileSplitInfoEO.getStopNumber()<=0){ + if (sarFileSplitInfoEO.getStopNumber() <= 0) { sarFileSplitInfoEO.setStopNumber(200); } - if (sarFileSplitInfoEO.getStartNumber()<=0){ + if (sarFileSplitInfoEO.getStartNumber() <= 0) { sarFileSplitInfoEO.setStartNumber(1); } @@ -899,7 +915,7 @@ public class FileSpiltService { documentTreeEO.setValidFlag(0); treeList.add(documentTreeEO); - List nowStart = new ArrayList<>(); + List nowStart = new ArrayList<>(); nowStart.add("1."); // if (sarFileSplitInfoEO.getStartNumber()<4){ // } else { @@ -908,14 +924,14 @@ public class FileSpiltService { try { //获取文件地址 String connectId = sarFileSplitInfoEO.getConnectId(); - if(StringUtils.isEmpty(connectId)){ + if (StringUtils.isEmpty(connectId)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(OSSFile::getConnectId,connectId); + queryWrapper.eq(OSSFile::getConnectId, connectId); OSSFile ossFile = iossFileService.getOne(queryWrapper); String readFilePath = ossFile.getUrl(); - if(StringUtils.isEmpty(readFilePath)){ + if (StringUtils.isEmpty(readFilePath)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } @@ -928,14 +944,14 @@ public class FileSpiltService { // 记录拆分后的每一段文字 List elements = doc.getBodyElements(); // 记录word自动生成的编号数据 - Map numberMap = new HashMap(); + Map numberMap = new HashMap(); boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 StringBuilder lastStrTemp = new StringBuilder(); StringBuilder secondStrTemp = new StringBuilder(); for (IBodyElement element : elements) { // 段落 if (element instanceof XWPFParagraph) { - XWPFParagraph p = (XWPFParagraph)element; + XWPFParagraph p = (XWPFParagraph) element; // 处理段落生成编号不识别问题 String paragraphString = p.getText(); @@ -963,14 +979,14 @@ public class FileSpiltService { // ptest = Pattern.compile("^[\\d.]*$"); //定义查看是否有编号,没有编号则按照上一个编号放置数据 boolean hasGoIf = false; - for (int i=0;i10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); - String itemName = FileSplitUtils.getItemName(paragraphString,nowStart.get(i)); + String itemName = FileSplitUtils.getItemName(paragraphString, nowStart.get(i)); List clauseContent = new ArrayList<>(); clauseContent.add(paragraphString); - SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(), nowStart.get(i), itemName, clauseContent); // String[] numberStr = nowStart.get(i).split("\\."); // String numberStrTemp = numberStr[0].replace("S", ""); @@ -978,14 +994,14 @@ public class FileSpiltService { // if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()){ // menuCanAdd = false; // } else { - // 增加一条数据,需要在数结构中加一条数据 - String name = lastStrTemp.toString()+"="+secondStrTemp.toString()+"="+nowStart.get(i); - SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(name,treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName,enumByValue); - treeList.add(sarFileSplitMenuEO) ; + // 增加一条数据,需要在数结构中加一条数据 + String name = lastStrTemp.toString() + "=" + secondStrTemp.toString() + "=" + nowStart.get(i); + SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(name, treeList, generalCatalogueId, sarFileSplitInfoEO, treeListDisplay++, itemName, enumByValue); + treeList.add(sarFileSplitMenuEO); message.setMenuId(sarFileSplitMenuEO.getId()); - addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); + addItermsConditionsText(message, itemValList, paragraphString.substring(nowStart.get(i).length())); messageList.add(message); - nowStart = getNewNowStartJapanTwo(lastStrTemp,secondStrTemp,nowStart.get(i)); + nowStart = getNewNowStartJapanTwo(lastStrTemp, secondStrTemp, nowStart.get(i)); menuCanAdd = true; // } hasGoIf = true; @@ -994,26 +1010,26 @@ public class FileSpiltService { } } - if(!hasGoIf && menuCanAdd) { - if (!p.getText().equals("") ){ - addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p.getText()); + if (!hasGoIf && menuCanAdd) { + if (!p.getText().equals("")) { + addItermsConditionsText(messageList.get(messageList.size() - 1), itemValList, p.getText()); } - List imageBundleList = readImageInParagraph((XWPFParagraph)p); - if(CollectionUtils.isNotEmpty(imageBundleList)) { - addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); + List imageBundleList = readImageInParagraph((XWPFParagraph) p); + if (CollectionUtils.isNotEmpty(imageBundleList)) { + addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList); } // } hasGoIf = true; } // 判断是否直接跳出所有循环 - if (!menuCanAdd && messageList.size()>0) { + if (!menuCanAdd && messageList.size() > 0) { break; } - } else if (element instanceof XWPFTable){ - if(messageList != null && !messageList.isEmpty()){ - addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); + } else if (element instanceof XWPFTable) { + if (messageList != null && !messageList.isEmpty()) { + addItermsConditionsOfTable(messageList.get(messageList.size() - 1), itemValList, (XWPFTable) element); } } } @@ -1022,27 +1038,28 @@ public class FileSpiltService { e.printStackTrace(); return -1; } - if(treeList.size()>0 && messageList.size() > 0){ + if (treeList.size() > 0 && messageList.size() > 0) { sarFileSplitMenuEOMapper.insertForeach(treeList); iSarFileSplitItemsEOService.insertForeach(messageList); iSarFileSplitItemsValEOService.insertForeach(itemValList); } else { return -1; } - return treeList.size(); + return treeList.size(); } /** - *欧洲标准 + * 欧洲标准 + * * @param sarFileSplitInfoEO * @param enumByValue * @return */ public int fileEU(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) { - if (sarFileSplitInfoEO.getStopNumber()<=0){ + if (sarFileSplitInfoEO.getStopNumber() <= 0) { sarFileSplitInfoEO.setStopNumber(200); } - if (sarFileSplitInfoEO.getStartNumber()<=0){ + if (sarFileSplitInfoEO.getStartNumber() <= 0) { sarFileSplitInfoEO.setStartNumber(1); } @@ -1066,7 +1083,7 @@ public class FileSpiltService { documentTreeEO.setValidFlag(0); treeList.add(documentTreeEO); - List nowStart = new ArrayList<>(); + List nowStart = new ArrayList<>(); nowStart.add("1."); // if (sarFileSplitInfoEO.getStartNumber()<4){ // } else { @@ -1075,14 +1092,14 @@ public class FileSpiltService { try { //获取文件地址 String connectId = sarFileSplitInfoEO.getConnectId(); - if(StringUtils.isEmpty(connectId)){ + if (StringUtils.isEmpty(connectId)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(OSSFile::getConnectId,connectId); + queryWrapper.eq(OSSFile::getConnectId, connectId); OSSFile ossFile = iossFileService.getOne(queryWrapper); String readFilePath = ossFile.getUrl(); - if(StringUtils.isEmpty(readFilePath)){ + if (StringUtils.isEmpty(readFilePath)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } @@ -1095,12 +1112,12 @@ public class FileSpiltService { // 记录拆分后的每一段文字 List elements = doc.getBodyElements(); // 记录word自动生成的编号数据 - Map numberMap = new HashMap(); + Map numberMap = new HashMap(); boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 for (IBodyElement element : elements) { // 段落 if (element instanceof XWPFParagraph) { - XWPFParagraph p = (XWPFParagraph)element; + XWPFParagraph p = (XWPFParagraph) element; // 处理段落生成编号不识别问题 String paragraphString = p.getText(); @@ -1128,26 +1145,26 @@ public class FileSpiltService { ptest = Pattern.compile("^[\\d.]*$"); //定义查看是否有编号,没有编号则按照上一个编号放置数据 boolean hasGoIf = false; - for (int i=0;i10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); - String itemName = FileSplitUtils.getItemName(paragraphString,nowStart.get(i)); + String itemName = FileSplitUtils.getItemName(paragraphString, nowStart.get(i)); List clauseContent = new ArrayList<>(); clauseContent.add(paragraphString); - SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(), nowStart.get(i), itemName, clauseContent); String[] numberStr = nowStart.get(i).split("\\."); // String numberStrTemp = numberStr[0].replace("S", ""); - if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()){ + if (Integer.valueOf(numberStr[0]) > sarFileSplitInfoEO.getStopNumber()) { menuCanAdd = false; } else { // 增加一条数据,需要在数结构中加一条数据 - SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName,enumByValue); - treeList.add(sarFileSplitMenuEO) ; + SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i), treeList, generalCatalogueId, sarFileSplitInfoEO, treeListDisplay++, itemName, enumByValue); + treeList.add(sarFileSplitMenuEO); message.setMenuId(sarFileSplitMenuEO.getId()); - addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); + addItermsConditionsText(message, itemValList, paragraphString.substring(nowStart.get(i).length())); messageList.add(message); nowStart = getNewNowStartEU(nowStart.get(i)); menuCanAdd = true; @@ -1158,26 +1175,26 @@ public class FileSpiltService { } } - if(!hasGoIf && menuCanAdd) { - if (!p.getText().equals("") ){ - addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p.getText()); + if (!hasGoIf && menuCanAdd) { + if (!p.getText().equals("")) { + addItermsConditionsText(messageList.get(messageList.size() - 1), itemValList, p.getText()); } - List imageBundleList = readImageInParagraph((XWPFParagraph)p); - if(CollectionUtils.isNotEmpty(imageBundleList)) { - addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); + List imageBundleList = readImageInParagraph((XWPFParagraph) p); + if (CollectionUtils.isNotEmpty(imageBundleList)) { + addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList); } // } hasGoIf = true; } // 判断是否直接跳出所有循环 - if (!menuCanAdd && messageList.size()>0) { + if (!menuCanAdd && messageList.size() > 0) { break; } - } else if (element instanceof XWPFTable){ - if(messageList != null && !messageList.isEmpty()){ - addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); + } else if (element instanceof XWPFTable) { + if (messageList != null && !messageList.isEmpty()) { + addItermsConditionsOfTable(messageList.get(messageList.size() - 1), itemValList, (XWPFTable) element); } } } @@ -1186,26 +1203,28 @@ public class FileSpiltService { e.printStackTrace(); return -1; } - if(treeList.size()>0 && messageList.size() > 0){ + if (treeList.size() > 0 && messageList.size() > 0) { sarFileSplitMenuEOMapper.insertForeach(treeList); iSarFileSplitItemsEOService.insertForeach(messageList); iSarFileSplitItemsValEOService.insertForeach(itemValList); } else { return -1; } - return treeList.size(); + return treeList.size(); } + /** * KMVSS_ARTICLE标准 + * * @param sarFileSplitInfoEO * @param enumByValue * @return */ public int fileKmvssArticle(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) { - if (sarFileSplitInfoEO.getStopNumber()<=0){ + if (sarFileSplitInfoEO.getStopNumber() <= 0) { sarFileSplitInfoEO.setStopNumber(200); } - if (sarFileSplitInfoEO.getStartNumber()<=0){ + if (sarFileSplitInfoEO.getStartNumber() <= 0) { sarFileSplitInfoEO.setStartNumber(1); } @@ -1229,7 +1248,7 @@ public class FileSpiltService { documentTreeEO.setValidFlag(0); treeList.add(documentTreeEO); - List nowStart = new ArrayList<>(); + List nowStart = new ArrayList<>(); nowStart.add("(1)"); // if (sarFileSplitInfoEO.getStartNumber()<4){ // } else { @@ -1238,14 +1257,14 @@ public class FileSpiltService { try { //获取文件地址 String connectId = sarFileSplitInfoEO.getConnectId(); - if(StringUtils.isEmpty(connectId)){ + if (StringUtils.isEmpty(connectId)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(OSSFile::getConnectId,connectId); + queryWrapper.eq(OSSFile::getConnectId, connectId); OSSFile ossFile = iossFileService.getOne(queryWrapper); String readFilePath = ossFile.getUrl(); - if(StringUtils.isEmpty(readFilePath)){ + if (StringUtils.isEmpty(readFilePath)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } @@ -1258,13 +1277,13 @@ public class FileSpiltService { // 记录拆分后的每一段文字 List elements = doc.getBodyElements(); // 记录word自动生成的编号数据 - Map numberMap = new HashMap(); + Map numberMap = new HashMap(); boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据 StringBuilder lastStr = new StringBuilder(); for (IBodyElement element : elements) { // 段落 if (element instanceof XWPFParagraph) { - XWPFParagraph p = (XWPFParagraph)element; + XWPFParagraph p = (XWPFParagraph) element; // 处理段落生成编号不识别问题 String paragraphString = p.getText(); @@ -1292,23 +1311,23 @@ public class FileSpiltService { ptest = Pattern.compile("^[\\d.]*$"); //定义查看是否有编号,没有编号则按照上一个编号放置数据 boolean hasGoIf = false; - for (int i=0;i10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); - String itemName = FileSplitUtils.getItemName(paragraphString,nowStart.get(i)); + String itemName = FileSplitUtils.getItemName(paragraphString, nowStart.get(i)); List clauseContent = new ArrayList<>(); clauseContent.add(paragraphString); - SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(), nowStart.get(i), itemName, clauseContent); // 增加一条数据,需要在数结构中加一条数据 - String name = lastStr+"="+nowStart.get(i); - SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(name,treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName,enumByValue); - treeList.add(sarFileSplitMenuEO) ; + String name = lastStr + "=" + nowStart.get(i); + SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(name, treeList, generalCatalogueId, sarFileSplitInfoEO, treeListDisplay++, itemName, enumByValue); + treeList.add(sarFileSplitMenuEO); message.setMenuId(sarFileSplitMenuEO.getId()); - addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); + addItermsConditionsText(message, itemValList, paragraphString.substring(nowStart.get(i).length())); messageList.add(message); - nowStart = getNewNowStartKmvssArticle(lastStr,nowStart.get(i)); + nowStart = getNewNowStartKmvssArticle(lastStr, nowStart.get(i)); menuCanAdd = true; hasGoIf = true; break; @@ -1316,26 +1335,26 @@ public class FileSpiltService { } } - if(!hasGoIf && menuCanAdd) { - if (!p.getText().equals("") ){ - addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p.getText()); + if (!hasGoIf && menuCanAdd) { + if (!p.getText().equals("")) { + addItermsConditionsText(messageList.get(messageList.size() - 1), itemValList, p.getText()); } - List imageBundleList = readImageInParagraph((XWPFParagraph)p); - if(CollectionUtils.isNotEmpty(imageBundleList)) { - addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); + List imageBundleList = readImageInParagraph((XWPFParagraph) p); + if (CollectionUtils.isNotEmpty(imageBundleList)) { + addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList); } // } hasGoIf = true; } // 判断是否直接跳出所有循环 - if (!menuCanAdd && messageList.size()>0) { + if (!menuCanAdd && messageList.size() > 0) { break; } - } else if (element instanceof XWPFTable){ - if(messageList != null && !messageList.isEmpty()){ - addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); + } else if (element instanceof XWPFTable) { + if (messageList != null && !messageList.isEmpty()) { + addItermsConditionsOfTable(messageList.get(messageList.size() - 1), itemValList, (XWPFTable) element); } } } @@ -1344,27 +1363,28 @@ public class FileSpiltService { e.printStackTrace(); return -1; } - if(treeList.size()>0 && messageList.size() > 0){ + if (treeList.size() > 0 && messageList.size() > 0) { sarFileSplitMenuEOMapper.insertForeach(treeList); iSarFileSplitItemsEOService.insertForeach(messageList); iSarFileSplitItemsValEOService.insertForeach(itemValList); } else { return -1; } - return treeList.size(); + return treeList.size(); } /** * KMVSS_TABLE标准 + * * @param sarFileSplitInfoEO * @param enumByValue * @return */ public int fileKmvssTable(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) { - if (sarFileSplitInfoEO.getStopNumber()<=0){ + if (sarFileSplitInfoEO.getStopNumber() <= 0) { sarFileSplitInfoEO.setStopNumber(200); } - if (sarFileSplitInfoEO.getStartNumber()<=0){ + if (sarFileSplitInfoEO.getStartNumber() <= 0) { sarFileSplitInfoEO.setStartNumber(1); } @@ -1394,9 +1414,9 @@ public class FileSpiltService { documentTreeEO.setValidFlag(0); treeList.add(documentTreeEO); - List nowStart = new ArrayList<>(); + List nowStart = new ArrayList<>(); //临时保存note数据列表 - List nowStartNotes = new ArrayList<>(); + List nowStartNotes = new ArrayList<>(); //初始判断值 nowStart.add("1."); nowStartNotes.add("1."); @@ -1407,14 +1427,14 @@ public class FileSpiltService { try { //获取文件地址 String connectId = sarFileSplitInfoEO.getConnectId(); - if(StringUtils.isEmpty(connectId)){ + if (StringUtils.isEmpty(connectId)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(OSSFile::getConnectId,connectId); + queryWrapper.eq(OSSFile::getConnectId, connectId); OSSFile ossFile = iossFileService.getOne(queryWrapper); String readFilePath = ossFile.getUrl(); - if(StringUtils.isEmpty(readFilePath)){ + if (StringUtils.isEmpty(readFilePath)) { throw new JeroBootException("当前文件未找到,请重新选择!"); } @@ -1439,7 +1459,7 @@ public class FileSpiltService { for (IBodyElement element : elements) { // 段落 if (element instanceof XWPFParagraph) { - XWPFParagraph p = (XWPFParagraph)element; + XWPFParagraph p = (XWPFParagraph) element; // 处理段落生成编号不识别问题 String paragraphString = p.getText(); @@ -1448,19 +1468,19 @@ public class FileSpiltService { paragraphString = paragraphString.trim(); } - if(filterFlag){ + if (filterFlag) { boolean noteFlag = false; for (String nowStartNote : nowStartNotes) { - if(paragraphString.startsWith(nowStartNote)){ + if (paragraphString.startsWith(nowStartNote)) { noteFlag = true; //预测下一级内容 - nowStartNotes = getNewNowStartKmvssTable(catalogerNoteArr,nowStartNote,menuNoteLevel); + nowStartNotes = getNewNowStartKmvssTable(catalogerNoteArr, nowStartNote, menuNoteLevel); break; } } - if(!noteFlag){ - for (int i=0;i(); @@ -1493,27 +1513,27 @@ public class FileSpiltService { ptest = Pattern.compile("^[\\d.]*$"); //定义查看是否有编号,没有编号则按照上一个编号放置数据 boolean hasGoIf = false; - for (int i=0;i10?paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+10):paragraphString.substring(nowStart.get(i).length()); - String itemName = FileSplitUtils.getItemName(paragraphString,nowStart.get(i)); + String itemName = FileSplitUtils.getItemName(paragraphString, nowStart.get(i)); List clauseContent = new ArrayList<>(); clauseContent.add(paragraphString); - SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent); + SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(), nowStart.get(i), itemName, clauseContent); // 增加一条数据,需要在数结构中加一条数据 String name = ""; for (int j = 0; j < catalogerArr.length; j++) { name = name + "=" + catalogerArr[j]; } - name = name +"="+nowStart.get(i); - SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(name,treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName,enumByValue); - treeList.add(sarFileSplitMenuEO) ; + name = name + "=" + nowStart.get(i); + SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(name, treeList, generalCatalogueId, sarFileSplitInfoEO, treeListDisplay++, itemName, enumByValue); + treeList.add(sarFileSplitMenuEO); message.setMenuId(sarFileSplitMenuEO.getId()); - addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length())); + addItermsConditionsText(message, itemValList, paragraphString.substring(nowStart.get(i).length())); messageList.add(message); - nowStart = getNewNowStartKmvssTable(catalogerArr,nowStart.get(i),menuLevel); + nowStart = getNewNowStartKmvssTable(catalogerArr, nowStart.get(i), menuLevel); menuCanAdd = true; hasGoIf = true; break; @@ -1521,26 +1541,26 @@ public class FileSpiltService { } } - if(!hasGoIf && menuCanAdd) { - if (!p.getText().equals("") ){ - addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p.getText()); + if (!hasGoIf && menuCanAdd) { + if (!p.getText().equals("")) { + addItermsConditionsText(messageList.get(messageList.size() - 1), itemValList, p.getText()); } - List imageBundleList = readImageInParagraph((XWPFParagraph)p); - if(CollectionUtils.isNotEmpty(imageBundleList)) { - addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList); + List imageBundleList = readImageInParagraph((XWPFParagraph) p); + if (CollectionUtils.isNotEmpty(imageBundleList)) { + addItermsConditionsImage(messageList.get(messageList.size() - 1), itemValList, p, imageBundleList); } // } hasGoIf = true; } // 判断是否直接跳出所有循环 - if (!menuCanAdd && messageList.size()>0) { + if (!menuCanAdd && messageList.size() > 0) { break; } - } else if (element instanceof XWPFTable){ - if(messageList != null && !messageList.isEmpty()){ - addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element); + } else if (element instanceof XWPFTable) { + if (messageList != null && !messageList.isEmpty()) { + addItermsConditionsOfTable(messageList.get(messageList.size() - 1), itemValList, (XWPFTable) element); } } } @@ -1549,71 +1569,76 @@ public class FileSpiltService { e.printStackTrace(); return -1; } - if(treeList.size()>0 && messageList.size() > 0){ + if (treeList.size() > 0 && messageList.size() > 0) { sarFileSplitMenuEOMapper.insertForeach(treeList); iSarFileSplitItemsEOService.insertForeach(messageList); iSarFileSplitItemsValEOService.insertForeach(itemValList); } else { return -1; } - return treeList.size(); + return treeList.size(); } /** * 通过传递过来的编号,得出下次可能出现的编号(欧洲) + * * @param nowStart * @return */ - private static List getNewNowStartEU(String nowStart){ + private static List getNewNowStartEU(String nowStart) { // List nowStartList = new ArrayList<>(); List nowResultStartList = new ArrayList<>(); String[] numberStr = nowStart.split("\\."); String startnumber = ""; - for(int i=0;i getNewNowStartUS(String nowStart){ + private static List getNewNowStartUS(String nowStart) { // List nowStartList = new ArrayList<>(); List nowResultStartList = new ArrayList<>(); - String[] numberStr = nowStart.replace("S","").split("\\."); + String[] numberStr = nowStart.replace("S", "").split("\\."); String startnumber = ""; - for(int i=0;i getNewNowStartJapanOne(String lastStr,String nowStart){ + private static List getNewNowStartJapanOne(String lastStr, String nowStart) { List nowResultStartList = new ArrayList<>(); if (FileSplitUtils.hasDigit(nowStart) && nowStart.contains(".")) { //包含数字且. @@ -1641,45 +1666,47 @@ public class FileSpiltService { } } - nowResultStartList.add(nowStart+"–1"); + nowResultStartList.add(nowStart + "–1"); } return nowResultStartList; } + /** * 通过传递过来的编号,得出下次可能出现的编号(日本2)方案2 - * @param lastStr 上一级内容 + * + * @param lastStr 上一级内容 * @param secondStr 第二级内容 - * @param nowStart 当前标题内容 + * @param nowStart 当前标题内容 * @return */ - private static List getNewNowStartJapanTwo(StringBuilder lastStr,StringBuilder secondStr,String nowStart){ + private static List getNewNowStartJapanTwo(StringBuilder lastStr, StringBuilder secondStr, String nowStart) { List nowResultStartList = new ArrayList<>(); - if(FileSplitUtils.hasDigit(nowStart) && nowStart.contains(".")){ + if (FileSplitUtils.hasDigit(nowStart) && nowStart.contains(".")) { //包含数字且. String[] numberStr = nowStart.split("\\."); - Integer lastnumber = Integer.valueOf(numberStr[0])+1; - if(lastStr.length()>0){ - lastStr.delete(0,lastStr.length()); + Integer lastnumber = Integer.valueOf(numberStr[0]) + 1; + if (lastStr.length() > 0) { + lastStr.delete(0, lastStr.length()); } lastStr.append(lastnumber).append("."); - nowResultStartList.add(lastnumber+"."); + nowResultStartList.add(lastnumber + "."); nowResultStartList.add("(1)"); - }else if(FileSplitUtils.hasDigit(nowStart) && nowStart.contains(")")){ + } else if (FileSplitUtils.hasDigit(nowStart) && nowStart.contains(")")) { //包含数字且包含括号 - String startnumber = nowStart.replace("(","").replace(")",""); + String startnumber = nowStart.replace("(", "").replace(")", ""); Integer lastnumber = Integer.valueOf(startnumber); - nowResultStartList.add( "(" +(lastnumber+1) + ")"); - if(secondStr.length()>0){ - secondStr.delete(0,secondStr.length()); + nowResultStartList.add("(" + (lastnumber + 1) + ")"); + if (secondStr.length() > 0) { + secondStr.delete(0, secondStr.length()); } - secondStr.append("(").append((lastnumber+1)).append(")"); + secondStr.append("(").append((lastnumber + 1)).append(")"); //上一级内容推断 nowResultStartList.add(lastStr.toString()); //下一级内容推断 nowResultStartList.add("A."); - }else if(FileSplitUtils.judgeContainsStr(nowStart)){ - String numberStr = nowStart.replace(".",""); + } else if (FileSplitUtils.judgeContainsStr(nowStart)) { + String numberStr = nowStart.replace(".", ""); String nextUpEn = FileSplitUtils.getNextUpEn(numberStr); nowResultStartList.add(nextUpEn + "."); @@ -1690,45 +1717,49 @@ public class FileSpiltService { } return nowResultStartList; } + /** * 通过传递过来的编号,得出下次可能出现的编号 + * * @param lastStr * @param nowStart * @return */ - private static List getNewNowStartKmvssArticle(StringBuilder lastStr,String nowStart){ + private static List getNewNowStartKmvssArticle(StringBuilder lastStr, String nowStart) { List nowResultStartList = new ArrayList<>(); - if(FileSplitUtils.hasDigit(nowStart) && nowStart.contains(")")){ + if (FileSplitUtils.hasDigit(nowStart) && nowStart.contains(")")) { //包含数字且包含括号 - String startnumber = nowStart.replace("(","").replace(")",""); + String startnumber = nowStart.replace("(", "").replace(")", ""); Integer lastnumber = Integer.valueOf(startnumber); - nowResultStartList.add( "(" +(lastnumber+1) + ")"); - if(lastStr.length()>0){ - lastStr.delete(0,lastStr.length()); + nowResultStartList.add("(" + (lastnumber + 1) + ")"); + if (lastStr.length() > 0) { + lastStr.delete(0, lastStr.length()); } - lastStr.append("(").append((lastnumber+1)).append(")"); + lastStr.append("(").append((lastnumber + 1)).append(")"); //下一级内容推断 nowResultStartList.add("1."); - }else if(FileSplitUtils.hasDigit(nowStart) && nowStart.contains(".")){ + } else if (FileSplitUtils.hasDigit(nowStart) && nowStart.contains(".")) { //包含数字且. String[] numberStr = nowStart.split("\\."); - Integer lastnumber = Integer.valueOf(numberStr[0])+1; - nowResultStartList.add(lastnumber+"."); + Integer lastnumber = Integer.valueOf(numberStr[0]) + 1; + nowResultStartList.add(lastnumber + "."); //上一级内容推断 nowResultStartList.add(lastStr.toString()); // nowResultStartList.add("(1)"); } return nowResultStartList; } + /** * 通过传递过来的编号,得出下次可能出现的编号 + * * @param catalogerArr * @param nowStart * @param menuLevel * @return */ - private static List getNewNowStartKmvssTable(String[] catalogerArr,String nowStart,int menuLevel){ + private static List getNewNowStartKmvssTable(String[] catalogerArr, String nowStart, int menuLevel) { /* *1.韩国KmvssTable模板处理 * 分为五级拆分,拆分为以下内容: @@ -1739,28 +1770,28 @@ public class FileSpiltService { * 第五级:(1) (2) (3) (4) 等 * */ - if(catalogerArr.length != 4){ + if (catalogerArr.length != 4) { throw new JeroBootException("不符合目录规则,请使用其他方法"); } List nowResultStartList = new ArrayList<>(); - if(FileSplitUtils.hasDigit(nowStart) && nowStart.contains(".")){ + if (FileSplitUtils.hasDigit(nowStart) && nowStart.contains(".")) { menuLevel = 0; //第一级:1. 2. 3. 4. 等 - String numberStr = nowStart.replace(".",""); - Integer lastnumber = Integer.valueOf(numberStr)+1; - catalogerArr[0] = lastnumber+"."; - nowResultStartList.add(lastnumber+"."); + String numberStr = nowStart.replace(".", ""); + Integer lastnumber = Integer.valueOf(numberStr) + 1; + catalogerArr[0] = lastnumber + "."; + nowResultStartList.add(lastnumber + "."); //推测下级目录 nowResultStartList.add("A."); - }else if(FileSplitUtils.judgeContainsStr(nowStart) && nowStart.contains(".")){ + } else if (FileSplitUtils.judgeContainsStr(nowStart) && nowStart.contains(".")) { menuLevel = 1; //第二级:A. B. C. D. 等 - String numberStr = nowStart.replace(".",""); + String numberStr = nowStart.replace(".", ""); String nextUpEn = FileSplitUtils.getNextUpEn(numberStr); - catalogerArr[1] = nextUpEn+"."; - nowResultStartList.add(nextUpEn+"."); + catalogerArr[1] = nextUpEn + "."; + nowResultStartList.add(nextUpEn + "."); //上一级 nowResultStartList.add(catalogerArr[0]); @@ -1769,13 +1800,13 @@ public class FileSpiltService { nowResultStartList.add("1)"); - }else if(FileSplitUtils.hasDigit(nowStart) && nowStart.contains(")") && (!nowStart.contains("("))){ + } else if (FileSplitUtils.hasDigit(nowStart) && nowStart.contains(")") && (!nowStart.contains("("))) { menuLevel = 2; //第三级:1) 2) 3) 4) 等 - String numberStr = nowStart.replace(")",""); - Integer lastnumber = Integer.valueOf(numberStr)+1; - catalogerArr[2] = lastnumber+")"; - nowResultStartList.add(lastnumber+")"); + String numberStr = nowStart.replace(")", ""); + Integer lastnumber = Integer.valueOf(numberStr) + 1; + catalogerArr[2] = lastnumber + ")"; + nowResultStartList.add(lastnumber + ")"); //上一级 nowResultStartList.add(catalogerArr[0]); @@ -1784,13 +1815,13 @@ public class FileSpiltService { //下一级 nowResultStartList.add("A)"); - }else if(FileSplitUtils.judgeContainsStr(nowStart) && nowStart.contains(")")){ + } else if (FileSplitUtils.judgeContainsStr(nowStart) && nowStart.contains(")")) { menuLevel = 3; //第四级:A) B) C) D) 等 - String numberStr = nowStart.replace(")",""); + String numberStr = nowStart.replace(")", ""); String nextUpEn = FileSplitUtils.getNextUpEn(numberStr); - catalogerArr[3] = nextUpEn+")"; - nowResultStartList.add(nextUpEn+")"); + catalogerArr[3] = nextUpEn + ")"; + nowResultStartList.add(nextUpEn + ")"); //上一级 nowResultStartList.add(catalogerArr[0]); @@ -1800,13 +1831,13 @@ public class FileSpiltService { //下一级 nowResultStartList.add("(1)"); - }else if(FileSplitUtils.hasDigit(nowStart) && nowStart.contains("(") && nowStart.contains(")")){ + } else if (FileSplitUtils.hasDigit(nowStart) && nowStart.contains("(") && nowStart.contains(")")) { menuLevel = 4; //第五级:(1) (2) (3) (4) 等 - String numberStr = nowStart.replace("(","").replace(")",""); - Integer lastnumber = Integer.valueOf(numberStr)+1; + String numberStr = nowStart.replace("(", "").replace(")", ""); + Integer lastnumber = Integer.valueOf(numberStr) + 1; // catalogerArr[4] = lastnumber+")"; - nowResultStartList.add("("+lastnumber+")"); + nowResultStartList.add("(" + lastnumber + ")"); //上一级 nowResultStartList.add(catalogerArr[0]); @@ -1818,28 +1849,30 @@ public class FileSpiltService { } return nowResultStartList; } + /** * 通过传递过来的编号,得出下次可能出现的编号 + * * @param nowStart * @return */ - private static List getNewNowStart(String nowStart){ + private static List getNewNowStart(String nowStart) { // List nowStartList = new ArrayList<>(); List nowResultStartList = new ArrayList<>(); String[] numberStr = nowStart.split("\\."); String startnumber = ""; - for(int i=0;i itemsCondi) { + private static SarFileSplitItemsEO getSarFileSplitItemsEO(String infoId, String itemsNum, String itemsName, List itemsCondi) { SarFileSplitItemsEO sarFileSplitItemsEO = new SarFileSplitItemsEO(); sarFileSplitItemsEO.setInfoId(infoId); sarFileSplitItemsEO.setItemsNum(itemsNum); @@ -2204,6 +2237,7 @@ public class FileSpiltService { * 0.审核开始:拆分结果:审核中(1) * 1.审核通过:拆分结果成功:成功(1) 拆分状态:已关联(1) * 2.审核失败:拆分状态:编辑中(0) + * * @param paragraph * @return */ @@ -2275,7 +2309,7 @@ public class FileSpiltService { if (o instanceof CTDrawing) { CTDrawing drawing = (CTDrawing) o; CTInline[] ctInlines = drawing.getInlineArray(); - CTAnchor[] ctAnchors = drawing.getAnchorArray(); + CTAnchor[] ctAnchors = drawing.getAnchorArray(); for (CTInline ctInline : ctInlines) { CTGraphicalObject graphic = ctInline.getGraphic(); // @@ -2305,7 +2339,7 @@ public class FileSpiltService { } } } - } else if (o instanceof CTLevelText){ + } else if (o instanceof CTLevelText) { System.out.println(((CTLevelText) o).getVal()); } } @@ -2314,9 +2348,9 @@ public class FileSpiltService { } // 像每个条款中依次插入每一段的内容 - public static void addItermsConditionsText(SarFileSplitItemsEO message,List itemsValList,String p) { + public static void addItermsConditionsText(SarFileSplitItemsEO message, List itemsValList, String p) { message.getItemsCondi().add(p); - message.setItermsConditions(message.getItermsConditions() + "

"+p+ "

"); + message.setItermsConditions(message.getItermsConditions() + "

" + p + "

"); // 判断message中是否引用到其他标准 // String testString = p; // Pattern ptest = Pattern.compile("[A-Z]{1,}/{0,1}[A-Z]{1,}\\s{0,1}[0-9]\\d*\\.?\\d*"); @@ -2339,10 +2373,10 @@ public class FileSpiltService { // message.setReferenceStand(matcher.group()); // } // } - itemsValList.add(getSplitItemsValObject(message.getId(),SplitFilePragraTypeEnum.TEXT.getValue(),p,message.getItemsCondi().size(),null)); + itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.TEXT.getValue(), p, message.getItemsCondi().size(), null)); } - public static void addItermsConditionsOfTable(SarFileSplitItemsEO message,List itemsValList,XWPFTable table) throws IOException { + public static void addItermsConditionsOfTable(SarFileSplitItemsEO message, List itemsValList, XWPFTable table) throws IOException { StringBuilder tabaleStringNew = new StringBuilder(""); //将表格转为html字符串 ReadWordTable readWordTable = new ReadWordTable(); @@ -2378,38 +2412,38 @@ public class FileSpiltService { }*/ message.getItemsCondi().add(table.getText()); message.setItermsConditions(message.getItermsConditions() + tabaleStringNew); - itemsValList.add(getSplitItemsValObject(message.getId(),SplitFilePragraTypeEnum.TABLE.getValue(),tabaleStringNew.toString(),message.getItemsCondi().size(),null)); + itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.TABLE.getValue(), tabaleStringNew.toString(), message.getItemsCondi().size(), null)); } // 像每个条款中依次插入每一段的内容 - private void addItermsConditionsImage(SarFileSplitItemsEO message,List itemsValList,XWPFParagraph p,List imageBundleList) { + private void addItermsConditionsImage(SarFileSplitItemsEO message, List itemsValList, XWPFParagraph p, List imageBundleList) { for (String pictureId : imageBundleList) { XWPFPictureData pictureData = p.getDocument().getPictureDataByID(pictureId); String imageName = UUIDUtils.randomUUID10() + pictureData.getFileName(); byte[] bytev = pictureData.getData(); String outPath = filePath + File.separator; File file1 = new File(outPath); - if(!file1.exists()){ + if (!file1.exists()) { file1.mkdirs(); } String filepathandname = filePath + File.separator + imageName; try { FileOutputStream fos = new FileOutputStream(filepathandname); fos.write(bytev); - String path = splitUrl+ "/" + imageName; + String path = splitUrl + "/" + imageName; String imgCon = path; String imgConVal = ""; message.getItemsCondi().add(imgConVal); message.setItermsConditions(message.getItermsConditions() + imgConVal); - itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.IMG.getValue(),imgCon,message.getItemsCondi().size(),null)); + itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.IMG.getValue(), imgCon, message.getItemsCondi().size(), null)); } catch (IOException e) { e.printStackTrace(); } } } - private static SarFileSplitItemsValEO getSplitItemsValObject (String itemId,String type,String itemContent,int disPlaySql,List tableList) { + private static SarFileSplitItemsValEO getSplitItemsValObject(String itemId, String type, String itemContent, int disPlaySql, List tableList) { SarFileSplitItemsValEO sarFileSplitItemsValEO = new SarFileSplitItemsValEO(); sarFileSplitItemsValEO.setId(UUIDUtils.randomUUID20()); sarFileSplitItemsValEO.setValidFlag(0); @@ -2435,11 +2469,10 @@ public class FileSpiltService { } }*/ // sarFileSplitItemsValEO.setTableList(tableList); - return sarFileSplitItemsValEO; + return sarFileSplitItemsValEO; } - // public String addToStandItems(SarFileSplitInfoEO sarFileSplitInfoEO,SarStandardsInfoEO sarStandardsInfoEO ) throws Exception { // //查询拆分中所有条款信息 // SarFileSplitItemsEOPage splitItemsEOPage = new SarFileSplitItemsEOPage();