From f9c6c3c06c2b6ee42bc451eb7334a7630d2b53df Mon Sep 17 00:00:00 2001 From: wangchengjun Date: Fri, 15 Apr 2022 00:05:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=86=E5=88=86bug=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../split/service/impl/FileSpiltService.java | 120 ++++++++---------- .../impl/SarFileSplitInfoServiceImpl.java | 21 +-- .../modules/split/util/FileSplitUtils.java | 33 ++++- 3 files changed, 95 insertions(+), 79 deletions(-) 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 fd78c45ea..6a61551ae 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 @@ -104,7 +104,7 @@ public class FileSpiltService { List nowStart = new ArrayList<>(); // if (sarFileSplitInfoEO.getStartNumber()<4){ //从第四个开始拆解 - nowStart.add("4"); + nowStart.add("3.1"); // } else { // nowStart.add(String.valueOf(sarFileSplitInfoEO.getStartNumber())); // } @@ -261,7 +261,7 @@ 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()); List clauseContent = new ArrayList<>(); @@ -449,7 +449,8 @@ public class FileSpiltService { System.out.println(nowStart.get(i)); if(paragraphString.startsWith(nowStart.get(i)) ){ // 判断名称,如果大于10位,取十位, - 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()); +// 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()); + 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); @@ -609,7 +610,8 @@ public class FileSpiltService { 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()); + 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); @@ -772,7 +774,8 @@ public class FileSpiltService { 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()); + 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); @@ -939,7 +942,8 @@ public class FileSpiltService { 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()); + 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); @@ -1080,78 +1084,52 @@ 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(); - } else { - numberMap.put(numberParent,numbernow); - paragraphString = numberParent + "." + String.valueOf(numbernow)+ p.getText(); - } - } else { - numberMap.put(numberParent,1); - paragraphString = numberParent+".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(); +// } +// } else { +// numberMap.put(numberParent,1); +// paragraphString = numberParent+".1"+ p.getText(); +// } +// } //^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$ ptest = Pattern.compile("^[\\d.]*$"); //定义查看是否有编号,没有编号则按照上一个编号放置数据 boolean hasGoIf = false; for (int i=0;inowStart.get(i).length() - && !ptest.matcher(paragraphString.substring(nowStart.get(i).length(),nowStart.get(i).length()+1)).matches()){ - // 判断名称,如果大于10位,取十位, - 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); + // 判断名称,如果大于10位,取十位, +// 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()); + 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("\\."); + String[] numberStr = nowStart.get(i).split("\\."); // String numberStrTemp = numberStr[0].replace("S", ""); - 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 = getNewNowStartEU(nowStart.get(i)); - menuCanAdd = true; - } - hasGoIf = true; - break; - }else { - // 判断名称,如果大于10位,取十位, - 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); - - String[] numberStr = nowStart.get(i).split("\\."); -// String numberStrTemp = numberStr[0].replace("S", ""); - - 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 = getNewNowStartEU(nowStart.get(i)); - menuCanAdd = true; - } - hasGoIf = true; - break; + 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 = getNewNowStartEU(nowStart.get(i)); + menuCanAdd = true; } + hasGoIf = true; + break; } @@ -1293,7 +1271,8 @@ public class FileSpiltService { 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()); + 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); @@ -1493,7 +1472,8 @@ public class FileSpiltService { 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()); + 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); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java index 07738c972..f16f11e92 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitInfoServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.constant.enums.CutEnum; import com.jero.common.constant.enums.ModuleEnum; import com.jero.common.constant.enums.YesOrNoEnum; +import com.jero.common.exception.JeroBootException; import com.jero.generater.modules.online.cgform.entity.OnlCgformField; import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl; import com.jero.modules.oss.entity.OSSFile; @@ -75,33 +76,37 @@ public class SarFileSplitInfoServiceImpl extends ServiceImpl= 2){ + int count = 0; + for (String itemNameTemp : itemNameArr) { + if(StringUtils.isEmpty(itemNameTemp)){ + continue; + } + count++; + itemName= itemName + itemNameTemp+" "; + if(count >= 2){ + break; + } + } + +// itemName = itemNameArr[0]+" "+itemNameArr[1]; + }else { + for (String itemNameTemp : itemNameArr) { + itemName = itemName + itemNameTemp+" "; + } + } + itemName = itemName.trim(); + return itemName; } /**