韩国文件拆分处理
This commit is contained in:
+8
-3
@@ -8,11 +8,16 @@ package com.jero.modules.split.enums;
|
||||
public enum SplitFileTypeTypeEnum {
|
||||
|
||||
GSO("GSO","GSO"),
|
||||
KOREAN("Korean","韩国"),
|
||||
KMVSS_TABLE("KMVSS_Table","KMVSS_Table"),
|
||||
KMVSS_ARTICLE("KMVSS_Article","KMVSS_Article"),
|
||||
US("US","美国"),
|
||||
EU("EU","欧洲"),
|
||||
JAPAN_ONE("Japan_one","日本"),
|
||||
JAPAN_TWO("Japan_two","日本"),
|
||||
/**
|
||||
* Japan Attachment
|
||||
*/
|
||||
JAPAN_ONE("Japan_one","Japan Attachment"),
|
||||
|
||||
JAPAN_TWO("Japan_two","Japan Article"),
|
||||
CN("CN","中国");
|
||||
|
||||
private String value;
|
||||
|
||||
+329
-61
@@ -1228,12 +1228,12 @@ public class FileSpiltService {
|
||||
return treeList.size();
|
||||
}
|
||||
/**
|
||||
*韩国标准
|
||||
* KMVSS_ARTICLE标准
|
||||
* @param sarFileSplitInfoEO
|
||||
* @param enumByValue
|
||||
* @return
|
||||
*/
|
||||
public int fileKorean(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) {
|
||||
public int fileKmvssArticle(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) {
|
||||
if (sarFileSplitInfoEO.getStopNumber()<=0){
|
||||
sarFileSplitInfoEO.setStopNumber(200);
|
||||
}
|
||||
@@ -1339,7 +1339,192 @@ public class FileSpiltService {
|
||||
message.setMenuId(sarFileSplitMenuEO.getId());
|
||||
addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length()));
|
||||
messageList.add(message);
|
||||
nowStart = getNewNowStartKorean(lastStr,nowStart.get(i));
|
||||
nowStart = getNewNowStartKmvssArticle(lastStr,nowStart.get(i));
|
||||
menuCanAdd = true;
|
||||
hasGoIf = true;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
if(!hasGoIf && menuCanAdd) {
|
||||
if (!p.getText().equals("") ){
|
||||
addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p.getText());
|
||||
}
|
||||
List<String> 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;
|
||||
}
|
||||
|
||||
} else if (element instanceof XWPFTable){
|
||||
if(messageList != null && !messageList.isEmpty()){
|
||||
addItermsConditionsOfTable(messageList.get(messageList.size()-1),itemValList,(XWPFTable)element);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return -1;
|
||||
}
|
||||
if(treeList.size()>0 && messageList.size() > 0){
|
||||
sarFileSplitMenuEOMapper.insertForeach(treeList);
|
||||
iSarFileSplitItemsEOService.insertForeach(messageList);
|
||||
iSarFileSplitItemsValEOService.insertForeach(itemValList);
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
return treeList.size();
|
||||
}
|
||||
|
||||
/**
|
||||
* KMVSS_TABLE标准
|
||||
* @param sarFileSplitInfoEO
|
||||
* @param enumByValue
|
||||
* @return
|
||||
*/
|
||||
public int fileKmvssTable(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) {
|
||||
if (sarFileSplitInfoEO.getStopNumber()<=0){
|
||||
sarFileSplitInfoEO.setStopNumber(200);
|
||||
}
|
||||
if (sarFileSplitInfoEO.getStartNumber()<=0){
|
||||
sarFileSplitInfoEO.setStartNumber(1);
|
||||
}
|
||||
|
||||
// 拆分文件条款表中最终插入数据
|
||||
List<SarFileSplitItemsEO> messageList = new ArrayList<>();
|
||||
int messageNumber = 0;
|
||||
// 拆分文件目录表中最终插入数据
|
||||
List<SarFileSplitMenuEO> treeList = new ArrayList<>();
|
||||
// 拆分文件条款详情表中最终插入数据
|
||||
List<SarFileSplitItemsValEO> itemValList = new ArrayList<>();
|
||||
|
||||
//固定字段内容跳过,包含Note:、Notes:
|
||||
List<String> filterList = new ArrayList<>();
|
||||
filterList.add("Note:");
|
||||
filterList.add("Notes:");
|
||||
|
||||
Long treeListDisplay = 1L;
|
||||
|
||||
String generalCatalogueId = UUIDUtils.randomUUID20();
|
||||
SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO();
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(generalCatalogueId,"General catalogue","",sarFileSplitInfoEO.getId(),treeListDisplay++,"");
|
||||
documentTreeEO.setId(generalCatalogueId);
|
||||
documentTreeEO.setName("General catalogue");
|
||||
documentTreeEO.setInfoId(sarFileSplitInfoEO.getId());
|
||||
documentTreeEO.setDisplaySeq(1L);
|
||||
documentTreeEO.setDisplaySeq(treeListDisplay++);
|
||||
documentTreeEO.setValidFlag(0);
|
||||
treeList.add(documentTreeEO);
|
||||
|
||||
List<String> nowStart = new ArrayList<>();
|
||||
//初始判断值
|
||||
nowStart.add("1.");
|
||||
// if (sarFileSplitInfoEO.getStartNumber()<4){
|
||||
// } else {
|
||||
// nowStart.add(String.valueOf(sarFileSplitInfoEO.getStartNumber()));
|
||||
// }
|
||||
try {
|
||||
//获取文件地址
|
||||
String connectId = sarFileSplitInfoEO.getConnectId();
|
||||
if(StringUtils.isEmpty(connectId)){
|
||||
throw new JeroBootException("当前文件未找到,请重新选择!");
|
||||
}
|
||||
LambdaQueryWrapper<OSSFile> queryWrapper = new LambdaQueryWrapper();
|
||||
queryWrapper.eq(OSSFile::getConnectId,connectId);
|
||||
OSSFile ossFile = iossFileService.getOne(queryWrapper);
|
||||
String readFilePath = ossFile.getUrl();
|
||||
if(StringUtils.isEmpty(readFilePath)){
|
||||
throw new JeroBootException("当前文件未找到,请重新选择!");
|
||||
}
|
||||
|
||||
InputStream is = new FileInputStream(readFilePath); //需要将文件路更改为word文档所在路径。
|
||||
XWPFDocument doc = new XWPFDocument(is);
|
||||
|
||||
Pattern ptest = Pattern.compile("^[\\d.]*$");
|
||||
// Matcher matcher;
|
||||
|
||||
// 记录拆分后的每一段文字
|
||||
List<IBodyElement> elements = doc.getBodyElements();
|
||||
// 记录word自动生成的编号数据
|
||||
// Map numberMap = new HashMap<String,Integer>();
|
||||
boolean menuCanAdd = false; // 判断当前目录下是否可以正常填写数据
|
||||
boolean filterFlag = false;
|
||||
int menuLevel = 0;//菜单等级,分为1/2/3/4/5级
|
||||
// StringBuilder lastStr = new StringBuilder();
|
||||
//存储前四级目录数据
|
||||
String[] catalogerArr = new String[4];
|
||||
for (IBodyElement element : elements) {
|
||||
// 段落
|
||||
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(filterList.contains(paragraphString)){
|
||||
filterFlag = true;
|
||||
}
|
||||
if(menuLevel <= 3){
|
||||
String thisLevel = catalogerArr[menuLevel];
|
||||
if (StringUtils.isNotEmpty(thisLevel)){
|
||||
String replace = thisLevel.replace(".", "").replace("(", "").replace(")", "");
|
||||
if(FileSplitUtils.hasDigit(replace)){
|
||||
int menuNumber = Integer.parseInt(replace) - 1;
|
||||
|
||||
}else {
|
||||
|
||||
}
|
||||
// menuLevel
|
||||
}
|
||||
}
|
||||
// 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;i<nowStart.size();i++){
|
||||
if(paragraphString.startsWith(nowStart.get(i)) && (!filterFlag)){
|
||||
// 判断名称,如果大于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<String> clauseContent = new ArrayList<>();
|
||||
clauseContent.add(paragraphString);
|
||||
SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),nowStart.get(i),itemName,clauseContent);
|
||||
|
||||
// 增加一条数据,需要在数结构中加一条数据
|
||||
String 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()));
|
||||
messageList.add(message);
|
||||
nowStart = getNewNowStartKmvssTable(catalogerArr,nowStart.get(i),menuLevel);
|
||||
menuCanAdd = true;
|
||||
hasGoIf = true;
|
||||
break;
|
||||
@@ -1522,7 +1707,7 @@ public class FileSpiltService {
|
||||
* @param nowStart
|
||||
* @return
|
||||
*/
|
||||
private static List<String> getNewNowStartKorean(StringBuilder lastStr,String nowStart){
|
||||
private static List<String> getNewNowStartKmvssArticle(StringBuilder lastStr,String nowStart){
|
||||
List<String> nowResultStartList = new ArrayList<>();
|
||||
if(FileSplitUtils.hasDigit(nowStart) && nowStart.contains(")")){
|
||||
//包含数字且包含括号
|
||||
@@ -1547,6 +1732,103 @@ public class FileSpiltService {
|
||||
}
|
||||
return nowResultStartList;
|
||||
}
|
||||
/**
|
||||
* 通过传递过来的编号,得出下次可能出现的编号
|
||||
* @param catalogerArr
|
||||
* @param nowStart
|
||||
* @param menuLevel
|
||||
* @return
|
||||
*/
|
||||
private static List<String> getNewNowStartKmvssTable(String[] catalogerArr,String nowStart,int menuLevel){
|
||||
/*
|
||||
*1.韩国KmvssTable模板处理
|
||||
* 分为五级拆分,拆分为以下内容:
|
||||
* 第一级:1. 2. 3. 4. 等
|
||||
* 第二级:A. B. C. D. 等
|
||||
* 第三级:1) 2) 3) 4) 等
|
||||
* 第四级:A) B) C) D) 等
|
||||
* 第五级:(1) (2) (3) (4) 等
|
||||
*
|
||||
*/
|
||||
if(catalogerArr.length != 4){
|
||||
throw new JeroBootException("不符合目录规则,请使用其他方法");
|
||||
}
|
||||
|
||||
List<String> nowResultStartList = new ArrayList<>();
|
||||
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+".");
|
||||
//推测下级目录
|
||||
nowResultStartList.add("A.");
|
||||
|
||||
}else if(FileSplitUtils.judgeContainsStr(nowStart) && nowStart.contains(".")){
|
||||
menuLevel = 1;
|
||||
//第二级:A. B. C. D. 等
|
||||
String numberStr = nowStart.replace(".","");
|
||||
String nextUpEn = FileSplitUtils.getNextUpEn(numberStr);
|
||||
catalogerArr[1] = nextUpEn+".";
|
||||
nowResultStartList.add(nextUpEn+".");
|
||||
|
||||
//上一级
|
||||
nowResultStartList.add(catalogerArr[0]);
|
||||
|
||||
//下一级
|
||||
nowResultStartList.add("1)");
|
||||
|
||||
|
||||
}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+")");
|
||||
|
||||
//上一级
|
||||
nowResultStartList.add(catalogerArr[0]);
|
||||
nowResultStartList.add(catalogerArr[1]);
|
||||
|
||||
//下一级
|
||||
nowResultStartList.add("A)");
|
||||
|
||||
}else if(FileSplitUtils.judgeContainsStr(nowStart) && nowStart.contains(")")){
|
||||
menuLevel = 3;
|
||||
//第四级:A) B) C) D) 等
|
||||
String numberStr = nowStart.replace(")","");
|
||||
String nextUpEn = FileSplitUtils.getNextUpEn(numberStr);
|
||||
catalogerArr[3] = nextUpEn+")";
|
||||
nowResultStartList.add(nextUpEn+")");
|
||||
|
||||
//上一级
|
||||
nowResultStartList.add(catalogerArr[0]);
|
||||
nowResultStartList.add(catalogerArr[1]);
|
||||
nowResultStartList.add(catalogerArr[2]);
|
||||
|
||||
//下一级
|
||||
nowResultStartList.add("(1)");
|
||||
|
||||
}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;
|
||||
// catalogerArr[4] = lastnumber+")";
|
||||
nowResultStartList.add(lastnumber+")");
|
||||
|
||||
//上一级
|
||||
nowResultStartList.add(catalogerArr[0]);
|
||||
nowResultStartList.add(catalogerArr[1]);
|
||||
nowResultStartList.add(catalogerArr[2]);
|
||||
nowResultStartList.add(catalogerArr[3]);
|
||||
|
||||
|
||||
}
|
||||
return nowResultStartList;
|
||||
}
|
||||
/**
|
||||
* 通过传递过来的编号,得出下次可能出现的编号
|
||||
* @param nowStart
|
||||
@@ -1575,10 +1857,10 @@ public class FileSpiltService {
|
||||
private static SarFileSplitMenuEO getTreeList(String name,
|
||||
List<SarFileSplitMenuEO> treeList,
|
||||
String generalCatalogueId,
|
||||
SarFileSplitInfoEO sarFileSplitInfoEO ,
|
||||
SarFileSplitInfoEO sarFileSplitInfoEO,
|
||||
Long treeListDisplay,
|
||||
String itemName,
|
||||
SplitFileTypeTypeEnum enumByValue){
|
||||
SplitFileTypeTypeEnum enumByValue) {
|
||||
SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO();
|
||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),name,sarFileSplitInfoEO.getId(),treeListDisplay,itemName);
|
||||
|
||||
@@ -1593,74 +1875,57 @@ public class FileSpiltService {
|
||||
// 用现在得name 和之前得name 做比较,确定,parentId
|
||||
|
||||
boolean flag = false;
|
||||
a:for (SarFileSplitMenuEO forDocumentTree : treeList) {
|
||||
switch (enumByValue){
|
||||
a:
|
||||
for (SarFileSplitMenuEO forDocumentTree : treeList) {
|
||||
switch (enumByValue) {
|
||||
case CN:
|
||||
if (name.indexOf(".")>=0) {
|
||||
case US:
|
||||
case GSO:
|
||||
if (name.indexOf(".") >= 0) {
|
||||
if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) {
|
||||
documentTreeEO.setPId(forDocumentTree.getId());
|
||||
break a;
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
documentTreeEO.setPId(generalCatalogueId);
|
||||
}
|
||||
|
||||
break;
|
||||
case EU:
|
||||
|
||||
if (name.indexOf(".")>=0) {
|
||||
if (name.substring(0, name.lastIndexOf(".")-1).equals(forDocumentTree.getName())) {
|
||||
if (name.indexOf(".") >= 0) {
|
||||
if (name.substring(0, name.lastIndexOf(".") - 1).equals(forDocumentTree.getName())) {
|
||||
documentTreeEO.setPId(forDocumentTree.getId());
|
||||
break a;
|
||||
}
|
||||
}else {
|
||||
documentTreeEO.setPId(generalCatalogueId);
|
||||
}
|
||||
break;
|
||||
case US:
|
||||
if (name.indexOf(".")>=0) {
|
||||
if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) {
|
||||
documentTreeEO.setPId(forDocumentTree.getId());
|
||||
break a;
|
||||
}
|
||||
}else {
|
||||
documentTreeEO.setPId(generalCatalogueId);
|
||||
}
|
||||
break;
|
||||
case GSO:
|
||||
if (name.indexOf(".")>=0) {
|
||||
if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) {
|
||||
documentTreeEO.setPId(forDocumentTree.getId());
|
||||
break a;
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
documentTreeEO.setPId(generalCatalogueId);
|
||||
}
|
||||
break;
|
||||
case JAPAN_ONE:
|
||||
if(name.contains(".")){
|
||||
if (name.indexOf(".")>=0) {
|
||||
if (name.contains(".")) {
|
||||
if (name.indexOf(".") >= 0) {
|
||||
if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) {
|
||||
documentTreeEO.setPId(forDocumentTree.getId());
|
||||
break a;
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
documentTreeEO.setPId(generalCatalogueId);
|
||||
}
|
||||
}else {
|
||||
if (name.indexOf("–")>=0) {
|
||||
} else {
|
||||
if (name.indexOf("–") >= 0) {
|
||||
if (name.substring(0, name.lastIndexOf("–")).equals(forDocumentTree.getName())
|
||||
|| (name.substring(0, name.lastIndexOf("–"))+".").equals(forDocumentTree.getName())) {
|
||||
|| (name.substring(0, name.lastIndexOf("–")) + ".").equals(forDocumentTree.getName())) {
|
||||
documentTreeEO.setPId(forDocumentTree.getId());
|
||||
break a;
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
documentTreeEO.setPId(generalCatalogueId);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case JAPAN_TWO:
|
||||
if (name.indexOf("=")>=0) {
|
||||
if (name.indexOf("=") >= 0) {
|
||||
String[] nameSplit = name.split("=");
|
||||
|
||||
//获取name值
|
||||
@@ -1668,12 +1933,12 @@ public class FileSpiltService {
|
||||
String secondTemp = nameSplit[1];
|
||||
String nameTemp = nameSplit[2];
|
||||
|
||||
if(FileSplitUtils.hasDigit(nameTemp) && nameTemp.contains(".")){
|
||||
if (FileSplitUtils.hasDigit(nameTemp) && nameTemp.contains(".")) {
|
||||
//包含数字且.
|
||||
documentTreeEO.setName(nameTemp);
|
||||
}else if(FileSplitUtils.hasDigit(nameTemp) && nameTemp.contains(")")){
|
||||
} else if (FileSplitUtils.hasDigit(nameTemp) && nameTemp.contains(")")) {
|
||||
//包含数字且包含括号
|
||||
if(StringUtils.isNotEmpty(firstNameTemp)){
|
||||
if (StringUtils.isNotEmpty(firstNameTemp)) {
|
||||
String firstStr = firstNameTemp.replaceAll("\\.", "");
|
||||
int firstNumber = Integer.parseInt(firstStr) - 1;
|
||||
firstNameTemp = firstNumber + ".";
|
||||
@@ -1683,11 +1948,11 @@ public class FileSpiltService {
|
||||
documentTreeEO.setPId(forDocumentTree.getId());
|
||||
break a;
|
||||
}
|
||||
}else if(FileSplitUtils.judgeContainsStr(nameTemp)){
|
||||
} else if (FileSplitUtils.judgeContainsStr(nameTemp)) {
|
||||
//包含数字且包含括号
|
||||
|
||||
//先找一级目录
|
||||
if(StringUtils.isNotEmpty(firstNameTemp)){
|
||||
if (StringUtils.isNotEmpty(firstNameTemp)) {
|
||||
String firstStr = firstNameTemp.replaceAll("\\.", "");
|
||||
int firstNumber = Integer.parseInt(firstStr) - 1;
|
||||
firstNameTemp = firstNumber + ".";
|
||||
@@ -1697,37 +1962,37 @@ public class FileSpiltService {
|
||||
}
|
||||
|
||||
//再找二级目录
|
||||
if(StringUtils.isNotEmpty(secondTemp)){
|
||||
String firstStr = secondTemp.replace("(", "").replace(")","");
|
||||
if (StringUtils.isNotEmpty(secondTemp)) {
|
||||
String firstStr = secondTemp.replace("(", "").replace(")", "");
|
||||
int firstNumber = Integer.parseInt(firstStr) - 1;
|
||||
secondTemp = "("+firstNumber + ")";
|
||||
secondTemp = "(" + firstNumber + ")";
|
||||
}
|
||||
if(flag && secondTemp.equals(forDocumentTree.getName())){
|
||||
if (flag && secondTemp.equals(forDocumentTree.getName())) {
|
||||
documentTreeEO.setName(nameTemp);
|
||||
documentTreeEO.setPId(forDocumentTree.getId());
|
||||
break a;
|
||||
}
|
||||
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
documentTreeEO.setPId(generalCatalogueId);
|
||||
}
|
||||
break;
|
||||
case KOREAN:
|
||||
if (name.indexOf("=")>=0) {
|
||||
case KMVSS_ARTICLE:
|
||||
if (name.indexOf("=") >= 0) {
|
||||
String[] nameSplit = name.split("=");
|
||||
|
||||
//获取name值
|
||||
String firstNameTemp = nameSplit[0];
|
||||
String nameTemp = nameSplit[1];
|
||||
|
||||
if(FileSplitUtils.hasDigit(nameTemp) && nameTemp.contains(")")){
|
||||
if (FileSplitUtils.hasDigit(nameTemp) && nameTemp.contains(")")) {
|
||||
//包含数字且.
|
||||
documentTreeEO.setName(nameTemp);
|
||||
}else if(FileSplitUtils.hasDigit(nameTemp) && nameTemp.contains(".")){
|
||||
} else if (FileSplitUtils.hasDigit(nameTemp) && nameTemp.contains(".")) {
|
||||
//包含数字且包含括号
|
||||
if(StringUtils.isNotEmpty(firstNameTemp)){
|
||||
String firstStr = firstNameTemp.replace("(", "").replace(")","");
|
||||
if (StringUtils.isNotEmpty(firstNameTemp)) {
|
||||
String firstStr = firstNameTemp.replace("(", "").replace(")", "");
|
||||
int firstNumber = Integer.parseInt(firstStr) - 1;
|
||||
firstNameTemp = "(" + firstNumber + ")";
|
||||
}
|
||||
@@ -1737,24 +2002,27 @@ public class FileSpiltService {
|
||||
break a;
|
||||
}
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
documentTreeEO.setPId(generalCatalogueId);
|
||||
}
|
||||
break;
|
||||
case KMVSS_TABLE:
|
||||
documentTreeEO.setPId(generalCatalogueId);
|
||||
break;
|
||||
default:
|
||||
if (name.indexOf(".")>=0) {
|
||||
if (name.indexOf(".") >= 0) {
|
||||
if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) {
|
||||
documentTreeEO.setPId(forDocumentTree.getId());
|
||||
break a;
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
documentTreeEO.setPId(generalCatalogueId);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return documentTreeEO;
|
||||
return documentTreeEO;
|
||||
}
|
||||
|
||||
private static SarFileSplitItemsEO getSarFileSplitItemsEO(String infoId,String itemsNum,String itemsName,List<String> itemsCondi) {
|
||||
|
||||
+5
-2
@@ -94,8 +94,11 @@ public class SarFileSplitInfoServiceImpl extends ServiceImpl<SarFileSplitInfoMap
|
||||
case JAPAN_TWO:
|
||||
fileSpiltService.fileJapanTwo(sarFileSplitInfoEO,enumByValue);
|
||||
break;
|
||||
case KOREAN:
|
||||
fileSpiltService.fileKorean(sarFileSplitInfoEO,enumByValue);
|
||||
case KMVSS_ARTICLE:
|
||||
fileSpiltService.fileKmvssArticle(sarFileSplitInfoEO,enumByValue);
|
||||
break;
|
||||
case KMVSS_TABLE:
|
||||
fileSpiltService.fileKmvssTable(sarFileSplitInfoEO,enumByValue);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
||||
+7
-1
@@ -3,6 +3,7 @@ package com.jero.modules.split.util;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFTable;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
|
||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDecimalNumber;
|
||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth;
|
||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTcPr;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -152,7 +153,12 @@ public class ReadWordTable {
|
||||
}
|
||||
|
||||
public int getCellWidth(XWPFTable table, int row, int col) {
|
||||
BigInteger width = table.getRow(row).getCell(col).getCTTc().getTcPr().getTcW().getW();
|
||||
CTTblWidth tcW = table.getRow(row).getCell(col).getCTTc().getTcPr().getTcW();
|
||||
if(tcW == null){
|
||||
//如果获取不到值,先赋予默认值
|
||||
return 10;
|
||||
}
|
||||
BigInteger width = tcW.getW();
|
||||
return width.intValue();
|
||||
}
|
||||
|
||||
|
||||
@@ -630,11 +630,12 @@ module.exports = {
|
||||
listSubclauses:'list subclauses',
|
||||
fileType:'file type',
|
||||
view:'view',
|
||||
Korea:'Korea',
|
||||
KMVSS_Table:'KMVSS Table',
|
||||
KMVSS_Article:'KMVSS Article',
|
||||
America:'America',
|
||||
Europe:'Europe',
|
||||
Japan_one:'Japan_one',
|
||||
Japan_two:'Japan_two',
|
||||
Japan_one:'Japan Attachment',
|
||||
Japan_two:'Japan Article',
|
||||
China:'China',
|
||||
onlyOnefileUploaded:'only one file can be uploaded',
|
||||
typeCannotUploaded:'this type of file cannot be uploaded',
|
||||
|
||||
@@ -634,11 +634,12 @@ module.exports = {
|
||||
listSubclauses:'清单条目',
|
||||
fileType:'文件类型',
|
||||
view:'查看',
|
||||
Korea:'韩国',
|
||||
KMVSS_Table:'KMVSS Table',
|
||||
KMVSS_Article:'KMVSS Article',
|
||||
America:'美国',
|
||||
Europe:'欧洲',
|
||||
Japan_one:'日本模板1',
|
||||
Japan_two:'日本模板2',
|
||||
Japan_one:'日本 Attachment',
|
||||
Japan_two:'日本 Article',
|
||||
China:'中国',
|
||||
onlyOnefileUploaded:'只能上传一个文件',
|
||||
typeCannotUploaded:'不支持上传该类型的文件',
|
||||
|
||||
@@ -25,8 +25,11 @@
|
||||
<a-select-option value="GSO" key="GSO">
|
||||
GSO
|
||||
</a-select-option>
|
||||
<a-select-option value="Korean" key="Korean">
|
||||
{{$t('Korea')}}
|
||||
<a-select-option value="KMVSS_Table" key="KMVSS_Table">
|
||||
{{$t('KMVSS_Table')}}
|
||||
</a-select-option>
|
||||
<a-select-option value="KMVSS_Article" key="KMVSS_Article">
|
||||
{{$t('KMVSS_Article')}}
|
||||
</a-select-option>
|
||||
<a-select-option value="US" key="US">
|
||||
{{$t('America')}}
|
||||
@@ -195,6 +198,7 @@
|
||||
},
|
||||
//拆分
|
||||
submitSplit(){
|
||||
debugger
|
||||
if(this.fileGroup.length == 0||this.fileGroup==undefined){
|
||||
this.$message.warning(this.$t('selectFileType'))
|
||||
}else if(this.rows&&this.rows.length>1){
|
||||
|
||||
Reference in New Issue
Block a user