前言
在數(shù)字化高度普及的時代谁鳍,企事業(yè)機關單位在日常工作中會產生大量的文檔,例如醫(yī)院制度匯編劫瞳,企業(yè)知識共享庫等倘潜。針對這些文檔性的東西,手工紙質化去管理是非常消耗工作量的志于,并且紙質化查閱難涮因,易損耗,所以電子化管理顯得尤為重要伺绽。
【springboot+elasticsearch+neo4j+vue+activiti】實現(xiàn)數(shù)字知識庫管理系統(tǒng)蕊退。
一、項目概要
- springboot憔恳、vue前后端分離技術。
- 先進的富文本編輯器净蚤,滿足word一鍵粘貼百分之百格式還原钥组,支持視頻、圖文等今瀑。
- 全文檢索elasticsearch程梦,達到簡單快速的結果搜索。
- neo4j知識圖譜橘荠,智能分析屿附。
- activiti工作流申請審核機制。
- 團隊共享協(xié)作哥童,常用文檔收藏挺份,熱門文檔排行。
二贮懈、相關技術點
1.富文本編輯器
應用當前最流行的富文本編輯器TinyMCE匀泊,支持從word优训、wps等一鍵復制粘貼,百分之百效果還原各聘,更可以做到自定義格式設置揣非。
<template>
<div class="tinymce-editor">
<Editor v-model="editorValue" :init="editorInit" :disabled="disabled" @onClick="handleClick" />
</div>
</template>
2.全文檢索
可根據(jù)文檔的任意關鍵字進行全文檢索知識,效果如同“百度一下”躲因,簡單快速的搜集到自己所要查詢的知識早敬,解決了紙質化時代的繁瑣流程。
3.知識圖譜
知識圖譜可視化歸類大脉,支持同作者文檔的采集搞监,同類型文檔的采集,做到智能化箱靴、網格化推薦腺逛。
<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ā)起者提交->負責人審批的規(guī)范化流程衡怀。
//獲取bpmnModel對象
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());
}
}
}
總結
精準全面的搜索能力棍矛,統(tǒng)一化管理,此套知識庫管理系統(tǒng)以科學的方法論并且通過實際項目錘煉做到了很好的賦能效應抛杨,解決了企事業(yè)數(shù)字資產的良性全生命周期管理够委。源碼獲取鏈接:+Q:2500564056