合并分支 'dev_foton_CD' 到 'FOTON'
Dev foton cd 查看合并请求 laws-foton-slrs/foton-slrs-system-rest!8
This commit is contained in:
+55
-1
@@ -270,6 +270,41 @@ public class SarFileSplitItemsEOController extends BaseController<SarFileSplitIt
|
|||||||
content = content.substring(0,content.lastIndexOf("\n"));
|
content = content.substring(0,content.lastIndexOf("\n"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//处理上下角标
|
||||||
|
List<SplitFont> subList = new ArrayList<>();
|
||||||
|
List<SplitFont> supList = new ArrayList<>();
|
||||||
|
boolean handleCorner = false;
|
||||||
|
if (content.contains("<span class=sup>")) {
|
||||||
|
handleCornerMarkers(content, supList, "<span class=sup>","<span class=sub>");
|
||||||
|
}
|
||||||
|
if (content.contains("<span class=sub>")) {
|
||||||
|
handleCornerMarkers(content, subList, "<span class=sub>","<span class=sub>");
|
||||||
|
}
|
||||||
|
if (subList.size() > 0 || supList.size() > 0) {
|
||||||
|
content = content.replaceAll("<span class=sup>", "");
|
||||||
|
content = content.replaceAll("<span class=sub>", "");
|
||||||
|
content = content.replaceAll("</span>", "");
|
||||||
|
//设置角标font
|
||||||
|
HSSFFont fontSub = workbook.createFont();
|
||||||
|
fontSub.setTypeOffset(HSSFFont.SS_SUB);
|
||||||
|
HSSFFont fontSup = workbook.createFont();
|
||||||
|
fontSup.setTypeOffset(HSSFFont.SS_SUPER);
|
||||||
|
|
||||||
|
RichTextString richTextString = new HSSFRichTextString(content);
|
||||||
|
if (subList.size() > 0) {
|
||||||
|
for (SplitFont splitFont : subList) {
|
||||||
|
richTextString.applyFont(splitFont.getStartIndex(),splitFont.getEndIndex(),fontSub);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (supList.size() > 0) {
|
||||||
|
for (SplitFont splitFont : supList) {
|
||||||
|
richTextString.applyFont(splitFont.getStartIndex(),splitFont.getEndIndex(),fontSup);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cell2.setCellValue(richTextString);
|
||||||
|
handleCorner = true;
|
||||||
|
}
|
||||||
|
|
||||||
if("TABLE".equals(valList.get(valRow).getValType())){
|
if("TABLE".equals(valList.get(valRow).getValType())){
|
||||||
/* 连接跳转*/
|
/* 连接跳转*/
|
||||||
CreationHelper createHelper = workbook.getCreationHelper();
|
CreationHelper createHelper = workbook.getCreationHelper();
|
||||||
@@ -287,7 +322,9 @@ public class SarFileSplitItemsEOController extends BaseController<SarFileSplitIt
|
|||||||
cell2.setHyperlink(hyperlink1);// 链接
|
cell2.setHyperlink(hyperlink1);// 链接
|
||||||
row1.getCell(2).setCellStyle(cellStyleLink);
|
row1.getCell(2).setCellStyle(cellStyleLink);
|
||||||
}
|
}
|
||||||
cell2.setCellValue(content);
|
if (!handleCorner) {
|
||||||
|
cell2.setCellValue(content);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
row1.createCell(3).setCellValue(exportDto.getResponsibleUnitShow());
|
row1.createCell(3).setCellValue(exportDto.getResponsibleUnitShow());
|
||||||
@@ -414,6 +451,23 @@ public class SarFileSplitItemsEOController extends BaseController<SarFileSplitIt
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void handleCornerMarkers(String content, List<SplitFont> splitFontList, String label,String remove) {
|
||||||
|
content = content.replaceAll(remove, "");
|
||||||
|
String[] split = content.split(label);
|
||||||
|
split[0] = split[0].replaceAll("</span>", "");
|
||||||
|
int index = split[0].length();
|
||||||
|
for (int i = 1; i < split.length; i++) {
|
||||||
|
SplitFont splitFont = new SplitFont();
|
||||||
|
String text = split[i];
|
||||||
|
String cornerLabel = text.substring(0, text.indexOf("</span>"));
|
||||||
|
splitFont.setStartIndex(index);
|
||||||
|
splitFont.setEndIndex(index + cornerLabel.length());
|
||||||
|
splitFontList.add(splitFont);
|
||||||
|
text = text.replaceAll("</span>", "");
|
||||||
|
index = index + text.length();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "|SarFileSplitItemsEO|导入")
|
@ApiOperation(value = "|SarFileSplitItemsEO|导入")
|
||||||
@PostMapping(value = "/importSplitItemsZip")
|
@PostMapping(value = "/importSplitItemsZip")
|
||||||
public ResponseMessage<SarFileSplitItemsEO> importSplitItemsZip(@RequestParam(value = "file", required = false) MultipartFile file,
|
public ResponseMessage<SarFileSplitItemsEO> importSplitItemsZip(@RequestParam(value = "file", required = false) MultipartFile file,
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
package com.adc.da.slrs.standardSplit.entity;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class SplitFont {
|
||||||
|
Integer startIndex;
|
||||||
|
Integer endIndex;
|
||||||
|
}
|
||||||
+32
-9
@@ -20,6 +20,7 @@ import com.adc.da.utils.util.InitStandAttrUtil;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.apache.poi.xwpf.usermodel.*;
|
import org.apache.poi.xwpf.usermodel.*;
|
||||||
import org.apache.xmlbeans.XmlCursor;
|
import org.apache.xmlbeans.XmlCursor;
|
||||||
import org.apache.xmlbeans.XmlObject;
|
import org.apache.xmlbeans.XmlObject;
|
||||||
@@ -240,7 +241,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
|
|||||||
if(CollectionUtils.isNotEmpty(imageBundleList)) {
|
if(CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||||
addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList);
|
addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList);
|
||||||
} else {
|
} else {
|
||||||
addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p.getText());
|
addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p,0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -265,7 +266,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
|
|||||||
if(CollectionUtils.isNotEmpty(imageBundleList)) {
|
if(CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||||
addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList);
|
addItermsConditionsImage(messageList.get(messageList.size()-1),itemValList, p,imageBundleList);
|
||||||
} else {
|
} else {
|
||||||
addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p.getText());
|
addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p,0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (messageNumber >= 3) {
|
} else if (messageNumber >= 3) {
|
||||||
@@ -287,7 +288,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
|
|||||||
SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName);
|
SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList(nowStart.get(i),treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,itemName);
|
||||||
treeList.add(sarFileSplitMenuEO) ;
|
treeList.add(sarFileSplitMenuEO) ;
|
||||||
message.setMenuId(sarFileSplitMenuEO.getId());
|
message.setMenuId(sarFileSplitMenuEO.getId());
|
||||||
addItermsConditionsText(message,itemValList,paragraphString.substring(nowStart.get(i).length()));
|
addItermsConditionsText(message,itemValList,p,nowStart.get(i).length());
|
||||||
messageList.add(message);
|
messageList.add(message);
|
||||||
nowStart = getNewNowStart(nowStart.get(i));
|
nowStart = getNewNowStart(nowStart.get(i));
|
||||||
menuCanAdd = true;
|
menuCanAdd = true;
|
||||||
@@ -310,7 +311,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
|
|||||||
SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"附录",itemName,clauseContent);
|
SarFileSplitItemsEO message = getSarFileSplitItemsEO(sarFileSplitInfoEO.getId(),"附录",itemName,clauseContent);
|
||||||
// 增加一条数据,需要在数结构中加一条数据
|
// 增加一条数据,需要在数结构中加一条数据
|
||||||
SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList("附录",treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,"");
|
SarFileSplitMenuEO sarFileSplitMenuEO = getTreeList("附录",treeList,generalCatalogueId,sarFileSplitInfoEO ,treeListDisplay++,"");
|
||||||
addItermsConditionsText(message,itemValList,paragraphString);
|
addItermsConditionsText(message,itemValList,p,0);
|
||||||
treeList.add(sarFileSplitMenuEO) ;
|
treeList.add(sarFileSplitMenuEO) ;
|
||||||
message.setMenuId(sarFileSplitMenuEO.getId());
|
message.setMenuId(sarFileSplitMenuEO.getId());
|
||||||
messageList.add(message);
|
messageList.add(message);
|
||||||
@@ -320,7 +321,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!p.getText().equals("") ){
|
if (!p.getText().equals("") ){
|
||||||
addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p.getText());
|
addItermsConditionsText(messageList.get(messageList.size()-1),itemValList,p,0);
|
||||||
}
|
}
|
||||||
List<String> imageBundleList = readImageInParagraph((XWPFParagraph)p);
|
List<String> imageBundleList = readImageInParagraph((XWPFParagraph)p);
|
||||||
if(CollectionUtils.isNotEmpty(imageBundleList)) {
|
if(CollectionUtils.isNotEmpty(imageBundleList)) {
|
||||||
@@ -517,9 +518,31 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 像每个条款中依次插入每一段的内容
|
// 像每个条款中依次插入每一段的内容
|
||||||
private void addItermsConditionsText(SarFileSplitItemsEO message, List<SarFileSplitItemsValEO> itemsValList, String p) {
|
private void addItermsConditionsText(SarFileSplitItemsEO message, List<SarFileSplitItemsValEO> itemsValList, XWPFParagraph p,Integer length) {
|
||||||
message.getItemsCondi().add(p);
|
StringBuffer buffer = new StringBuffer();
|
||||||
message.setItermsConditions(message.getItermsConditions() + "<p>" + p + "<p>");
|
for (XWPFRun xwrun : p.getRuns()) {
|
||||||
|
VerticalAlign subscript = xwrun.getSubscript();
|
||||||
|
String smalltext = xwrun.getText(0);
|
||||||
|
if (ObjectUtils.isNotEmpty(smalltext)) {
|
||||||
|
switch (subscript) {
|
||||||
|
case BASELINE:
|
||||||
|
buffer.append(smalltext);
|
||||||
|
break;
|
||||||
|
case SUBSCRIPT:
|
||||||
|
buffer.append("<span class=sub>" + smalltext + "</span>");
|
||||||
|
break;
|
||||||
|
case SUPERSCRIPT:
|
||||||
|
buffer.append("<span class=sup>" + smalltext + "</span>");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
String text = buffer.toString();
|
||||||
|
if (length > 0) {
|
||||||
|
text = text.substring(length);
|
||||||
|
}
|
||||||
|
message.getItemsCondi().add(text);
|
||||||
|
message.setItermsConditions(message.getItermsConditions() + "<p>" + text + "<p>");
|
||||||
// 判断message中是否引用到其他标准
|
// 判断message中是否引用到其他标准
|
||||||
// String testString = p;
|
// String testString = p;
|
||||||
// Pattern ptest = Pattern.compile("[A-Z]{1,}/{0,1}[A-Z]{1,}\\s{0,1}[0-9]\\d*\\.?\\d*");
|
// Pattern ptest = Pattern.compile("[A-Z]{1,}/{0,1}[A-Z]{1,}\\s{0,1}[0-9]\\d*\\.?\\d*");
|
||||||
@@ -542,7 +565,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService
|
|||||||
// message.setReferenceStand(matcher.group());
|
// 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(), text, message.getItemsCondi().size(), null));
|
||||||
}
|
}
|
||||||
|
|
||||||
private SarFileSplitMenuEO getTreeList(String name, List<SarFileSplitMenuEO> treeList, String generalCatalogueId, SarFileSplitInfoEO sarFileSplitInfoEO, Long treeListDisplay, String itemName) {
|
private SarFileSplitMenuEO getTreeList(String name, List<SarFileSplitMenuEO> treeList, String generalCatalogueId, SarFileSplitInfoEO sarFileSplitInfoEO, Long treeListDisplay, String itemName) {
|
||||||
|
|||||||
Reference in New Issue
Block a user