前言
在數(shù)字化高度普及的時(shí)代,企事業(yè)機(jī)關(guān)單位在日常工作中會(huì)產(chǎn)生大量的文檔,例如醫(yī)院制度匯編,企業(yè)知識(shí)共享庫(kù)等。針對(duì)這些文檔性的東西,手工紙質(zhì)化去管理是非常消耗工作量的,并且紙質(zhì)化查閱難,易損耗,所以電子化管理顯得尤為重要。
【springboot+elasticsearch+neo4j+vue+activiti】實(shí)現(xiàn)數(shù)字知識(shí)庫(kù)管理系統(tǒng)。
一、項(xiàng)目概要
- springboot、vue前后端分離技術(shù)。
- 先進(jìn)的富文本編輯器,滿(mǎn)足word一鍵粘貼百分之百格式還原,支持視頻、圖文等。
- 全文檢索elasticsearch,達(dá)到簡(jiǎn)單快速的結(jié)果搜索。
- neo4j知識(shí)圖譜,智能分析。
- activiti工作流申請(qǐng)審核機(jī)制。
- 團(tuán)隊(duì)共享協(xié)作,常用文檔收藏,熱門(mén)文檔排行。
二、相關(guān)技術(shù)點(diǎn)
1.富文本編輯器
應(yīng)用當(dāng)前最流行的富文本編輯器TinyMCE,支持從word、wps等一鍵復(fù)制粘貼,百分之百效果還原,更可以做到自定義格式設(shè)置。

<template>
<div class="tinymce-editor">
<Editor v-model="editorValue" :init="editorInit" :disabled="disabled" @onClick="handleClick" />
</div>
</template>
2.全文檢索
可根據(jù)文檔的任意關(guān)鍵字進(jìn)行全文檢索知識(shí),效果如同“百度一下”,簡(jiǎn)單快速的搜集到自己所要查詢(xún)的知識(shí),解決了紙質(zhì)化時(shí)代的繁瑣流程。

3.知識(shí)圖譜
知識(shí)圖譜可視化歸類(lèi),支持同作者文檔的采集,同類(lèi)型文檔的采集,做到智能化、網(wǎng)格化推薦。


<dependency>
<groupId>org.neo4j.driver</groupId>
<artifactId>neo4j-java-driver</artifactId>
</dependency>
public boolean isNeo4jOpen() {
try (Session session = neo4jDriver.session()) {
logger.debug("連接成功:" + session.isOpen());
return session.isOpen();
} catch (Exception e) {
logger.error("neo4J連接異常: "+e.getMessage());
}
return false;
}
public StatementResult excuteCypherSql(String cypherSql) {
StatementResult result = null;
try (Session session = neo4jDriver.session()) {
logger.debug("CypherSql : "+cypherSql);
result = session.run(cypherSql);
session.close();
} catch (Exception e) {
logger.error("CypherSql執(zhí)行異常: "+e.getMessage());
throw e;
}
return result;
}
4.工作流
此系統(tǒng)集成了activiti工作流引擎,遵循文檔發(fā)起者提交->負(fù)責(zé)人審批的規(guī)范化流程。

//獲取bpmnModel對(duì)象
BpmnModel bpmnModel = repositoryService.getBpmnModel(historicProcessInstance.getProcessDefinitionId());
Process process = bpmnModel.getProcesses().get(0);
Collection<FlowElement> flowElements = process.getFlowElements();
Map<String, String> map = new HashMap<>();
for (FlowElement flowElement : flowElements) {
//判斷是否是連線
if (flowElement instanceof SequenceFlow) {
SequenceFlow sequenceFlow = (SequenceFlow) flowElement;
String ref = sequenceFlow.getSourceRef();
String targetRef = sequenceFlow.getTargetRef();
map.put(ref + targetRef, sequenceFlow.getId());
}
}
List<HistoricActivityInstance> list = historyService.createHistoricActivityInstanceQuery()
.processInstanceId(instanceId)
.list();
Set<String> keyList = new HashSet<>();
for (HistoricActivityInstance i : list) {
for (HistoricActivityInstance j : list) {
if (i != j) {
keyList.add(i.getActivityId() + j.getActivityId());
}
}
}
總結(jié)
精準(zhǔn)全面的搜索能力,統(tǒng)一化管理,此套知識(shí)庫(kù)管理系統(tǒng)以科學(xué)的方法論并且通過(guò)實(shí)際項(xiàng)目錘煉做到了很好的賦能效應(yīng),解決了企事業(yè)數(shù)字資產(chǎn)的良性全生命周期管理。源碼獲取鏈接:+Q:2500564056