提交 2baf68f1 作者: chenshiqiang

edit for excel data

上级 664dfab4
......@@ -89,60 +89,68 @@ class KnowledgeServiceImpl implements IKnowledgeService {
if (null == knowledge.getVerifyStatus()) {
knowledge.setVerifyStatus(0);
}
knowledge.setCreateTime(cn.hutool.core.date.DateUtil.formatDateTime(new Date()).replace(" ", "T"));
knowledge.setDeleteFlag(0);
List<KnowFile> knowFileList = new ArrayList<>();
knowFileList.add(knowFile);
knowledge.setFiles(knowFileList);
List<Content> contentList = new ArrayList<>();
List<String> contentStringList = new ArrayList<>();
String html = null;
try {
File file = new File(filesStorage + knowledge.getFiles().get(0).getFilePath());
html = DocUtil.convertDocStream2Html(new FileInputStream(file));
String htmlWithTable = html.replace("</p>", "######</p>");
htmlWithTable = htmlWithTable.replace("</title>", "######</title>");
htmlWithTable = htmlWithTable.replace("</h1>", "######</h1>");
contentStringList = Arrays.asList(htmlWithTable.split("######"));
} catch (Exception e) {
e.printStackTrace();
}
KnowledgeMessage knowledgeMessage = new KnowledgeMessage();
if (Integer.valueOf("0").equals(knowledge.getImportData())) {
List<KnowFile> knowFileList = new ArrayList<>();
knowFileList.add(knowFile);
knowledge.setFiles(knowFileList);
List<Content> contentList = new ArrayList<>();
List<String> contentStringList = new ArrayList<>();
String html = null;
try {
File file = new File(filesStorage + knowledge.getFiles().get(0).getFilePath());
html = DocUtil.convertDocStream2Html(new FileInputStream(file));
String htmlWithTable = html.replace("</p>", "######</p>");
htmlWithTable = htmlWithTable.replace("</title>", "######</title>");
htmlWithTable = htmlWithTable.replace("</h1>", "######</h1>");
contentStringList = Arrays.asList(htmlWithTable.split("######"));
} catch (Exception e) {
e.printStackTrace();
}
if (null == knowledge.getTitle()) {
for (String tem : contentStringList) {
String text = Jsoup.parse(tem).text();
log.info("info:{}", text);
if ((!tem.contains("<title>")) && (!text.isEmpty())) {
knowledge.setTitle(text);
break;
if (null == knowledge.getTitle()) {
for (String tem : contentStringList) {
String text = Jsoup.parse(tem).text();
log.info("info:{}", text);
if ((!tem.contains("<title>")) && (!text.isEmpty())) {
knowledge.setTitle(text);
break;
}
}
}
}
List<String> messageContentList = contentStringList.stream()
.filter(item -> !item.contains("<img"))
.filter(item -> !item.contains("<table"))
.filter(item -> !item.contains("<tr>"))
.filter(item -> !item.contains("</tr>"))
.filter(item -> !item.contains("<td>"))
.filter(item -> !item.contains("</td>"))
.map(item -> Jsoup.parse(item).text())
.collect(Collectors.toList());
messageContentList = messageContentList.
stream().filter(item -> item.length() > 10)
.collect(Collectors.toList());
if (!messageContentList.isEmpty()) {
for (String tem : messageContentList) {
contentList.add(Content.builder()
.contentId(codeGenerateUtil.geneIdNo(Constants.FINANCE, 8))
.content(tem)
.build());
List<String> messageContentList = contentStringList.stream()
.filter(item -> !item.contains("<img"))
.filter(item -> !item.contains("<table"))
.filter(item -> !item.contains("<tr>"))
.filter(item -> !item.contains("</tr>"))
.filter(item -> !item.contains("<td>"))
.filter(item -> !item.contains("</td>"))
.map(item -> Jsoup.parse(item).text())
.collect(Collectors.toList());
messageContentList = messageContentList.
stream().filter(item -> item.length() > 10)
.collect(Collectors.toList());
if (!messageContentList.isEmpty()) {
for (String tem : messageContentList) {
contentList.add(Content.builder()
.contentId(codeGenerateUtil.geneIdNo(Constants.FINANCE, 8))
.content(tem)
.build());
}
}
knowledge.setContents(contentList);
knowledgeMessage.setContents(contentList);
} else {
if (null == knowledge.getContents().get(0).getContentId()) {
knowledge.getContents().get(0).setContentId(codeGenerateUtil.geneIdNo(Constants.FINANCE, 8));
}
knowledgeMessage.setContents(knowledge.getContents());
}
knowledge.setContents(contentList);
//id为空表示新增
if (null == knowledge.getId()) {
knowledge.setId(codeGenerateUtil.geneIdNo(Constants.FINANCE, 8));
......@@ -153,10 +161,10 @@ class KnowledgeServiceImpl implements IKnowledgeService {
}
//删除
deleteForPython(knowledge.getId());
KnowledgeMessage knowledgeMessage = new KnowledgeMessage();
BeanUtils.copyProperties(knowledge, knowledgeMessage);
knowledgeMessage.setType(knowledge.getTypeId());
knowledgeMessage.setContents(contentList);
produceInfo.sendKnowledgeContents(knowledgeMessage);
}
......@@ -170,7 +178,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
String[] split = ids.split(",");
for (String id : split) {
esOpUtil.docDeleteById(Constants.ES_DATA_FOR_KNOWLEDGE, id);
CompletableFuture.runAsync(()->deleteForPython(id));
CompletableFuture.runAsync(() -> deleteForPython(id));
}
}
......@@ -451,7 +459,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
}
@Override
public Result<?> doImportInfo(HttpServletRequest request,String userId) {
public Result<?> doImportInfo(HttpServletRequest request, String userId) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
if (fileMap.size() < 1) {
......@@ -461,7 +469,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
int index = multipartFile.getOriginalFilename().lastIndexOf(".");
String fileSuffix = multipartFile.getOriginalFilename().substring(index + 1);
if ("doc".equals(fileSuffix) || "docx".equals(fileSuffix) || "xls".equals(fileSuffix) || "xlsx".equals(fileSuffix)) {
asyncService.doimport(request, fileSuffix,userId);
asyncService.doimport(request, fileSuffix, userId);
return Result.OK("已进行处理");
} else {
return Result.error("不支持的文件类型");
......@@ -470,7 +478,7 @@ class KnowledgeServiceImpl implements IKnowledgeService {
}
@Override
public void doExcel(HttpServletRequest request, String fileSuffix,String userId) {
public void doExcel(HttpServletRequest request, String fileSuffix, String userId) {
String kbKnowledgeId = request.getParameter("kbKnowledgeId");
String knowledgeProjectId = request.getParameter("knowledgeProjectId");
String typeId = request.getParameter("typeId");
......@@ -504,16 +512,16 @@ class KnowledgeServiceImpl implements IKnowledgeService {
specialInformation.setId(codeGenerateUtil.geneIdNo(Constants.FINANCE, 8));
if (StringUtils.isNotEmpty(info.get(0))) {
specialInformation.setTitle(info.get(0));
}else {
log.error("上传的数据{}标题为空,此条数据忽略",info.get(0));
} else {
log.error("上传的数据{}标题为空,此条数据忽略", info.get(0));
continue;
}
if (StringUtils.isNotEmpty(info.get(1))) {
specialInformation.setContents(Collections.singletonList(Content.builder()
.contentId(codeGenerateUtil.geneIdNo(Constants.FINANCE, 8))
.content(info.get(1)).build()));
}else {
log.error("上传的数据{}正文为空,此条数据忽略",info.get(0));
} else {
log.error("上传的数据{}正文为空,此条数据忽略", info.get(0));
continue;
}
if (StringUtils.isNotEmpty(info.get(2))) {
......
......@@ -290,16 +290,11 @@ public class LocalFileServiceImpl implements ILocalFileService {
@Override
public Result<?> editKnowledge(Knowledge knowledge) {
Result result = Result.OK();
String id = knowledge.getId();
if(id == null || "".equals(id))
return Result.error("文章id不能为空");
String publish = EsDateUtil.esFieldDateFormat(knowledge.getPublishDate());
knowledge.setPublishDate(publish);
KbAuthorizedUser userInfo = SpringContextUtils.getUserInfo();
knowledge.setUpdateBy(userInfo.getName());
knowledge.setUpdateTime(cn.hutool.core.date.DateUtil.formatDateTime(new Date()).replace(" ", "T"));
......@@ -310,30 +305,38 @@ public class LocalFileServiceImpl implements ILocalFileService {
knowledge.setVerifierId(userInfo.getUserId());
knowledge.setVerifierName(userInfo.getUsername());
List<KnowFile> files = knowledge.getFiles();
KnowFile knowFile = files.get(0);
String filePath = knowFile.getFilePath();
try {
getDoucmentEditStatus(filePath,knowFile.getFileName());
} catch (ParseException e) {
e.printStackTrace();
result = Result.error("文件保存失败!");
}
if(Integer.valueOf("0").equals(knowledge.getImportData())){
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
List<KnowFile> files = knowledge.getFiles();
KnowFile knowFile = files.get(0);
String filePath = knowFile.getFilePath();
try {
getDoucmentEditStatus(filePath,knowFile.getFileName());
} catch (ParseException e) {
e.printStackTrace();
result = Result.error("文件保存失败!");
}
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
String fileType = fileUtility.getFileType(knowFile.getFileName());
knowFile.setFileType(fileType);
File file = new File(filesStorage + knowFile.getFilePath());
Long size = file.length();
knowFile.setFileSize(size);
knowledgeService.addKnowledge(knowFile,knowledge,userInfo);
String fileType = fileUtility.getFileType(knowFile.getFileName());
knowFile.setFileType(fileType);
File file = new File(filesStorage + knowFile.getFilePath());
Long size = file.length();
knowFile.setFileSize(size);
knowledgeService.addKnowledge(knowFile,knowledge,userInfo);
}else {
knowledgeService.addKnowledge(null,knowledge,userInfo);
}
return result;
}
public ResponseEntity<Object> getDoucmentEditStatus(String filePath,String fileName) throws ParseException {
String url = officeUrl+officeCommand;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论