韩国文件拆分处理
This commit is contained in:
+8
-3
@@ -8,11 +8,16 @@ package com.jero.modules.split.enums;
|
|||||||
public enum SplitFileTypeTypeEnum {
|
public enum SplitFileTypeTypeEnum {
|
||||||
|
|
||||||
GSO("GSO","GSO"),
|
GSO("GSO","GSO"),
|
||||||
KOREAN("Korean","韩国"),
|
KMVSS_TABLE("KMVSS_Table","KMVSS_Table"),
|
||||||
|
KMVSS_ARTICLE("KMVSS_Article","KMVSS_Article"),
|
||||||
US("US","美国"),
|
US("US","美国"),
|
||||||
EU("EU","欧洲"),
|
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","中国");
|
CN("CN","中国");
|
||||||
|
|
||||||
private String value;
|
private String value;
|
||||||
|
|||||||
+329
-61
@@ -1228,12 +1228,12 @@ public class FileSpiltService {
|
|||||||
return treeList.size();
|
return treeList.size();
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
*韩国标准
|
* KMVSS_ARTICLE标准
|
||||||
* @param sarFileSplitInfoEO
|
* @param sarFileSplitInfoEO
|
||||||
* @param enumByValue
|
* @param enumByValue
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public int fileKorean(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) {
|
public int fileKmvssArticle(SarFileSplitInfoEO sarFileSplitInfoEO, SplitFileTypeTypeEnum enumByValue) {
|
||||||
if (sarFileSplitInfoEO.getStopNumber()<=0){
|
if (sarFileSplitInfoEO.getStopNumber()<=0){
|
||||||
sarFileSplitInfoEO.setStopNumber(200);
|
sarFileSplitInfoEO.setStopNumber(200);
|
||||||
}
|
}
|
||||||
@@ -1339,7 +1339,192 @@ public class FileSpiltService {
|
|||||||
message.setMenuId(sarFileSplitMenuEO.getId());
|
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);
|
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;
|
menuCanAdd = true;
|
||||||
hasGoIf = true;
|
hasGoIf = true;
|
||||||
break;
|
break;
|
||||||
@@ -1522,7 +1707,7 @@ public class FileSpiltService {
|
|||||||
* @param nowStart
|
* @param nowStart
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private static List<String> getNewNowStartKorean(StringBuilder lastStr,String nowStart){
|
private static List<String> getNewNowStartKmvssArticle(StringBuilder lastStr,String nowStart){
|
||||||
List<String> nowResultStartList = new ArrayList<>();
|
List<String> nowResultStartList = new ArrayList<>();
|
||||||
if(FileSplitUtils.hasDigit(nowStart) && nowStart.contains(")")){
|
if(FileSplitUtils.hasDigit(nowStart) && nowStart.contains(")")){
|
||||||
//包含数字且包含括号
|
//包含数字且包含括号
|
||||||
@@ -1547,6 +1732,103 @@ public class FileSpiltService {
|
|||||||
}
|
}
|
||||||
return nowResultStartList;
|
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
|
* @param nowStart
|
||||||
@@ -1575,10 +1857,10 @@ public class FileSpiltService {
|
|||||||
private static SarFileSplitMenuEO getTreeList(String name,
|
private static SarFileSplitMenuEO getTreeList(String name,
|
||||||
List<SarFileSplitMenuEO> treeList,
|
List<SarFileSplitMenuEO> treeList,
|
||||||
String generalCatalogueId,
|
String generalCatalogueId,
|
||||||
SarFileSplitInfoEO sarFileSplitInfoEO ,
|
SarFileSplitInfoEO sarFileSplitInfoEO,
|
||||||
Long treeListDisplay,
|
Long treeListDisplay,
|
||||||
String itemName,
|
String itemName,
|
||||||
SplitFileTypeTypeEnum enumByValue){
|
SplitFileTypeTypeEnum enumByValue) {
|
||||||
SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO();
|
SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO();
|
||||||
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),name,sarFileSplitInfoEO.getId(),treeListDisplay,itemName);
|
// SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),name,sarFileSplitInfoEO.getId(),treeListDisplay,itemName);
|
||||||
|
|
||||||
@@ -1593,74 +1875,57 @@ public class FileSpiltService {
|
|||||||
// 用现在得name 和之前得name 做比较,确定,parentId
|
// 用现在得name 和之前得name 做比较,确定,parentId
|
||||||
|
|
||||||
boolean flag = false;
|
boolean flag = false;
|
||||||
a:for (SarFileSplitMenuEO forDocumentTree : treeList) {
|
a:
|
||||||
switch (enumByValue){
|
for (SarFileSplitMenuEO forDocumentTree : treeList) {
|
||||||
|
switch (enumByValue) {
|
||||||
case CN:
|
case CN:
|
||||||
if (name.indexOf(".")>=0) {
|
case US:
|
||||||
|
case GSO:
|
||||||
|
if (name.indexOf(".") >= 0) {
|
||||||
if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) {
|
if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) {
|
||||||
documentTreeEO.setPId(forDocumentTree.getId());
|
documentTreeEO.setPId(forDocumentTree.getId());
|
||||||
break a;
|
break a;
|
||||||
}
|
}
|
||||||
}else {
|
} else {
|
||||||
documentTreeEO.setPId(generalCatalogueId);
|
documentTreeEO.setPId(generalCatalogueId);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case EU:
|
case EU:
|
||||||
|
|
||||||
if (name.indexOf(".")>=0) {
|
if (name.indexOf(".") >= 0) {
|
||||||
if (name.substring(0, name.lastIndexOf(".")-1).equals(forDocumentTree.getName())) {
|
if (name.substring(0, name.lastIndexOf(".") - 1).equals(forDocumentTree.getName())) {
|
||||||
documentTreeEO.setPId(forDocumentTree.getId());
|
documentTreeEO.setPId(forDocumentTree.getId());
|
||||||
break a;
|
break a;
|
||||||
}
|
}
|
||||||
}else {
|
} 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 {
|
|
||||||
documentTreeEO.setPId(generalCatalogueId);
|
documentTreeEO.setPId(generalCatalogueId);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case JAPAN_ONE:
|
case JAPAN_ONE:
|
||||||
if(name.contains(".")){
|
if (name.contains(".")) {
|
||||||
if (name.indexOf(".")>=0) {
|
if (name.indexOf(".") >= 0) {
|
||||||
if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) {
|
if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) {
|
||||||
documentTreeEO.setPId(forDocumentTree.getId());
|
documentTreeEO.setPId(forDocumentTree.getId());
|
||||||
break a;
|
break a;
|
||||||
}
|
}
|
||||||
}else {
|
} else {
|
||||||
documentTreeEO.setPId(generalCatalogueId);
|
documentTreeEO.setPId(generalCatalogueId);
|
||||||
}
|
}
|
||||||
}else {
|
} else {
|
||||||
if (name.indexOf("–")>=0) {
|
if (name.indexOf("–") >= 0) {
|
||||||
if (name.substring(0, name.lastIndexOf("–")).equals(forDocumentTree.getName())
|
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());
|
documentTreeEO.setPId(forDocumentTree.getId());
|
||||||
break a;
|
break a;
|
||||||
}
|
}
|
||||||
}else {
|
} else {
|
||||||
documentTreeEO.setPId(generalCatalogueId);
|
documentTreeEO.setPId(generalCatalogueId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case JAPAN_TWO:
|
case JAPAN_TWO:
|
||||||
if (name.indexOf("=")>=0) {
|
if (name.indexOf("=") >= 0) {
|
||||||
String[] nameSplit = name.split("=");
|
String[] nameSplit = name.split("=");
|
||||||
|
|
||||||
//获取name值
|
//获取name值
|
||||||
@@ -1668,12 +1933,12 @@ public class FileSpiltService {
|
|||||||
String secondTemp = nameSplit[1];
|
String secondTemp = nameSplit[1];
|
||||||
String nameTemp = nameSplit[2];
|
String nameTemp = nameSplit[2];
|
||||||
|
|
||||||
if(FileSplitUtils.hasDigit(nameTemp) && nameTemp.contains(".")){
|
if (FileSplitUtils.hasDigit(nameTemp) && nameTemp.contains(".")) {
|
||||||
//包含数字且.
|
//包含数字且.
|
||||||
documentTreeEO.setName(nameTemp);
|
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("\\.", "");
|
String firstStr = firstNameTemp.replaceAll("\\.", "");
|
||||||
int firstNumber = Integer.parseInt(firstStr) - 1;
|
int firstNumber = Integer.parseInt(firstStr) - 1;
|
||||||
firstNameTemp = firstNumber + ".";
|
firstNameTemp = firstNumber + ".";
|
||||||
@@ -1683,11 +1948,11 @@ public class FileSpiltService {
|
|||||||
documentTreeEO.setPId(forDocumentTree.getId());
|
documentTreeEO.setPId(forDocumentTree.getId());
|
||||||
break a;
|
break a;
|
||||||
}
|
}
|
||||||
}else if(FileSplitUtils.judgeContainsStr(nameTemp)){
|
} else if (FileSplitUtils.judgeContainsStr(nameTemp)) {
|
||||||
//包含数字且包含括号
|
//包含数字且包含括号
|
||||||
|
|
||||||
//先找一级目录
|
//先找一级目录
|
||||||
if(StringUtils.isNotEmpty(firstNameTemp)){
|
if (StringUtils.isNotEmpty(firstNameTemp)) {
|
||||||
String firstStr = firstNameTemp.replaceAll("\\.", "");
|
String firstStr = firstNameTemp.replaceAll("\\.", "");
|
||||||
int firstNumber = Integer.parseInt(firstStr) - 1;
|
int firstNumber = Integer.parseInt(firstStr) - 1;
|
||||||
firstNameTemp = firstNumber + ".";
|
firstNameTemp = firstNumber + ".";
|
||||||
@@ -1697,37 +1962,37 @@ public class FileSpiltService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//再找二级目录
|
//再找二级目录
|
||||||
if(StringUtils.isNotEmpty(secondTemp)){
|
if (StringUtils.isNotEmpty(secondTemp)) {
|
||||||
String firstStr = secondTemp.replace("(", "").replace(")","");
|
String firstStr = secondTemp.replace("(", "").replace(")", "");
|
||||||
int firstNumber = Integer.parseInt(firstStr) - 1;
|
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.setName(nameTemp);
|
||||||
documentTreeEO.setPId(forDocumentTree.getId());
|
documentTreeEO.setPId(forDocumentTree.getId());
|
||||||
break a;
|
break a;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}else {
|
} else {
|
||||||
documentTreeEO.setPId(generalCatalogueId);
|
documentTreeEO.setPId(generalCatalogueId);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case KOREAN:
|
case KMVSS_ARTICLE:
|
||||||
if (name.indexOf("=")>=0) {
|
if (name.indexOf("=") >= 0) {
|
||||||
String[] nameSplit = name.split("=");
|
String[] nameSplit = name.split("=");
|
||||||
|
|
||||||
//获取name值
|
//获取name值
|
||||||
String firstNameTemp = nameSplit[0];
|
String firstNameTemp = nameSplit[0];
|
||||||
String nameTemp = nameSplit[1];
|
String nameTemp = nameSplit[1];
|
||||||
|
|
||||||
if(FileSplitUtils.hasDigit(nameTemp) && nameTemp.contains(")")){
|
if (FileSplitUtils.hasDigit(nameTemp) && nameTemp.contains(")")) {
|
||||||
//包含数字且.
|
//包含数字且.
|
||||||
documentTreeEO.setName(nameTemp);
|
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.replace("(", "").replace(")","");
|
String firstStr = firstNameTemp.replace("(", "").replace(")", "");
|
||||||
int firstNumber = Integer.parseInt(firstStr) - 1;
|
int firstNumber = Integer.parseInt(firstStr) - 1;
|
||||||
firstNameTemp = "(" + firstNumber + ")";
|
firstNameTemp = "(" + firstNumber + ")";
|
||||||
}
|
}
|
||||||
@@ -1737,24 +2002,27 @@ public class FileSpiltService {
|
|||||||
break a;
|
break a;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else {
|
} else {
|
||||||
documentTreeEO.setPId(generalCatalogueId);
|
documentTreeEO.setPId(generalCatalogueId);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case KMVSS_TABLE:
|
||||||
|
documentTreeEO.setPId(generalCatalogueId);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
if (name.indexOf(".")>=0) {
|
if (name.indexOf(".") >= 0) {
|
||||||
if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) {
|
if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) {
|
||||||
documentTreeEO.setPId(forDocumentTree.getId());
|
documentTreeEO.setPId(forDocumentTree.getId());
|
||||||
break a;
|
break a;
|
||||||
}
|
}
|
||||||
}else {
|
} else {
|
||||||
documentTreeEO.setPId(generalCatalogueId);
|
documentTreeEO.setPId(generalCatalogueId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return documentTreeEO;
|
return documentTreeEO;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static SarFileSplitItemsEO getSarFileSplitItemsEO(String infoId,String itemsNum,String itemsName,List<String> itemsCondi) {
|
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:
|
case JAPAN_TWO:
|
||||||
fileSpiltService.fileJapanTwo(sarFileSplitInfoEO,enumByValue);
|
fileSpiltService.fileJapanTwo(sarFileSplitInfoEO,enumByValue);
|
||||||
break;
|
break;
|
||||||
case KOREAN:
|
case KMVSS_ARTICLE:
|
||||||
fileSpiltService.fileKorean(sarFileSplitInfoEO,enumByValue);
|
fileSpiltService.fileKmvssArticle(sarFileSplitInfoEO,enumByValue);
|
||||||
|
break;
|
||||||
|
case KMVSS_TABLE:
|
||||||
|
fileSpiltService.fileKmvssTable(sarFileSplitInfoEO,enumByValue);
|
||||||
break;
|
break;
|
||||||
default:
|
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.XWPFTable;
|
||||||
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
|
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
|
||||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDecimalNumber;
|
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 org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTcPr;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -152,7 +153,12 @@ public class ReadWordTable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int getCellWidth(XWPFTable table, int row, int col) {
|
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();
|
return width.intValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -630,11 +630,12 @@ module.exports = {
|
|||||||
listSubclauses:'list subclauses',
|
listSubclauses:'list subclauses',
|
||||||
fileType:'file type',
|
fileType:'file type',
|
||||||
view:'view',
|
view:'view',
|
||||||
Korea:'Korea',
|
KMVSS_Table:'KMVSS Table',
|
||||||
|
KMVSS_Article:'KMVSS Article',
|
||||||
America:'America',
|
America:'America',
|
||||||
Europe:'Europe',
|
Europe:'Europe',
|
||||||
Japan_one:'Japan_one',
|
Japan_one:'Japan Attachment',
|
||||||
Japan_two:'Japan_two',
|
Japan_two:'Japan Article',
|
||||||
China:'China',
|
China:'China',
|
||||||
onlyOnefileUploaded:'only one file can be uploaded',
|
onlyOnefileUploaded:'only one file can be uploaded',
|
||||||
typeCannotUploaded:'this type of file cannot be uploaded',
|
typeCannotUploaded:'this type of file cannot be uploaded',
|
||||||
|
|||||||
@@ -634,11 +634,12 @@ module.exports = {
|
|||||||
listSubclauses:'清单条目',
|
listSubclauses:'清单条目',
|
||||||
fileType:'文件类型',
|
fileType:'文件类型',
|
||||||
view:'查看',
|
view:'查看',
|
||||||
Korea:'韩国',
|
KMVSS_Table:'KMVSS Table',
|
||||||
|
KMVSS_Article:'KMVSS Article',
|
||||||
America:'美国',
|
America:'美国',
|
||||||
Europe:'欧洲',
|
Europe:'欧洲',
|
||||||
Japan_one:'日本模板1',
|
Japan_one:'日本 Attachment',
|
||||||
Japan_two:'日本模板2',
|
Japan_two:'日本 Article',
|
||||||
China:'中国',
|
China:'中国',
|
||||||
onlyOnefileUploaded:'只能上传一个文件',
|
onlyOnefileUploaded:'只能上传一个文件',
|
||||||
typeCannotUploaded:'不支持上传该类型的文件',
|
typeCannotUploaded:'不支持上传该类型的文件',
|
||||||
|
|||||||
@@ -25,8 +25,11 @@
|
|||||||
<a-select-option value="GSO" key="GSO">
|
<a-select-option value="GSO" key="GSO">
|
||||||
GSO
|
GSO
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
<a-select-option value="Korean" key="Korean">
|
<a-select-option value="KMVSS_Table" key="KMVSS_Table">
|
||||||
{{$t('Korea')}}
|
{{$t('KMVSS_Table')}}
|
||||||
|
</a-select-option>
|
||||||
|
<a-select-option value="KMVSS_Article" key="KMVSS_Article">
|
||||||
|
{{$t('KMVSS_Article')}}
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
<a-select-option value="US" key="US">
|
<a-select-option value="US" key="US">
|
||||||
{{$t('America')}}
|
{{$t('America')}}
|
||||||
@@ -195,6 +198,7 @@
|
|||||||
},
|
},
|
||||||
//拆分
|
//拆分
|
||||||
submitSplit(){
|
submitSplit(){
|
||||||
|
debugger
|
||||||
if(this.fileGroup.length == 0||this.fileGroup==undefined){
|
if(this.fileGroup.length == 0||this.fileGroup==undefined){
|
||||||
this.$message.warning(this.$t('selectFileType'))
|
this.$message.warning(this.$t('selectFileType'))
|
||||||
}else if(this.rows&&this.rows.length>1){
|
}else if(this.rows&&this.rows.length>1){
|
||||||
|
|||||||
Reference in New Issue
Block a user