fix(82596): 文档拆分--拆分文档上传--【<】后方的文本未拆出

This commit is contained in:
yjz
2024-03-27 09:43:34 +08:00
parent 4340de8e7e
commit 5b8d00a8e1
2 changed files with 19 additions and 5 deletions
@@ -93,6 +93,7 @@ import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.DefaultTransactionDefinition;
import org.springframework.web.util.HtmlUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -384,7 +385,7 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
// 企标权限校验
enterpriseCheck(sarFileSplitInfoEO);
// 唯一校验
uniqueCheck(sarFileSplitInfoEO);
// uniqueCheck(sarFileSplitInfoEO);
// 保存文本拆分数据
saveDocumentSplitInfo(sarFileSplitInfoEO);
//拆分
@@ -632,6 +633,10 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
for (SarFileSplitItemsValEO sarFileSplitItemsValEO : valList) {
// 条文内容拼接
if (DocumentSplitCommon.TEXT.equals(sarFileSplitItemsValEO.getType())) {
if (StringUtils.isNotBlank(sarFileSplitItemsValEO.getItemContent())){
sarFileSplitItemsValEO.setItemContent(sarFileSplitItemsValEO.getItemContent()
.replace("<", "&lt;").replace(">", "&gt;"));
}
valContent.append("<p>").append(sarFileSplitItemsValEO.getItemContent()).append("</p>");
} else if (DocumentSplitCommon.IMG.equals(sarFileSplitItemsValEO.getType())) {
valContent.append("<img class=\"wordImg\" style=\"width:100%;height:100%\" src=\"")
@@ -907,6 +912,9 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
String imgName = imgPath.substring(imgPath.lastIndexOf("/") + 1);
sarFileSplitItemsValEO.setImgName(imgName);
}
if (DocumentSplitCommon.TEXT.equals(sarFileSplitItemsValEO.getType()) && org.apache.commons.lang.StringUtils.isNotEmpty(imgPath)){
sarFileSplitItemsValEO.setItemContent(HtmlUtils.htmlUnescape(sarFileSplitItemsValEO.getItemContent()));
}
}
}
return sarFileSplitItemsValEOS;
@@ -2,7 +2,6 @@ package com.jero.modules.split.service.impl;
import cn.hutool.http.Header;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
@@ -22,13 +21,15 @@ import com.jero.modules.split.enums.SplitFileTypeTypeEnum;
import com.jero.modules.split.mapper.SarFileSplitMenuEOMapper;
import com.jero.modules.split.service.IFileSplitItemsEOService;
import com.jero.modules.split.service.ISarFileSplitItemsValEOService;
import com.jero.modules.split.util.*;
import com.jero.modules.split.util.AsposeUtil;
import com.jero.modules.split.util.FileSplitUtils;
import com.jero.modules.split.util.ParagraphChildOrderManager;
import com.jero.modules.split.util.ReadWordTable;
import com.jero.modules.split.vo.TitleNumberVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.entity.ContentType;
import org.apache.poi.hwpf.usermodel.PictureType;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.util.ZipSecureFile;
import org.apache.poi.xwpf.usermodel.*;
@@ -56,7 +57,6 @@ import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import javax.annotation.Resource;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
@@ -1040,6 +1040,9 @@ public class FileSpiltService {
// 像每个条款中依次插入每一段的内容
public static void addItermsConditionsText(SarFileSplitItemsEO message, List<SarFileSplitItemsValEO> itemsValList, String p, ParagraphAlignment alignment) {
if (StringUtils.isNotBlank(p)){
p = p.replace("<", "&lt;").replace(">", "&gt;");
}
message.getItemsCondi().add(p);
if (ParagraphAlignment.CENTER.equals(alignment)){
message.setItemContent(message.getItemContent() + "<p style=\"text-align: center;\">" + p + "</p>");
@@ -1124,6 +1127,9 @@ public class FileSpiltService {
for (XWPFRun xwrun : paragraph.getRuns()) {
VerticalAlign subscript = xwrun.getSubscript();
String smalltext = xwrun.getText(0);
if (StringUtils.isNotBlank(smalltext)){
smalltext = smalltext.replace("<", "&lt;").replace(">", "&gt;");
}
if (smalltext==null){
continue;
}