|
@@ -1420,16 +1420,13 @@ public class KnowledgeServiceImpl implements KnowledgeService {
|
|
|
*/
|
|
|
@Override
|
|
|
public RespDTO updateNeoDisease(NeoParamVO singleDisease) {
|
|
|
- RespDTO respDTO = new RespDTO();
|
|
|
- respDTO.data=true;
|
|
|
- respDTO.code="1";
|
|
|
- Integer disId = singleDisease.getDisId();
|
|
|
+ RespDTO respDTO = RespDTO.onSuc(true);;
|
|
|
+ Long disId = singleDisease.getId();
|
|
|
String disName = this.getDisName(disId);
|
|
|
if(StringUtils.isNotEmpty(disName)){
|
|
|
diseaseRepository.mergeDis(disName,disId,0);
|
|
|
}else {
|
|
|
- respDTO.code="0";
|
|
|
- respDTO.msg="在数据库中没有找个这个疾病!!!";
|
|
|
+ respDTO = RespDTO.onError("在数据库中没有找到"+disId+"对应的疾病!!");
|
|
|
}
|
|
|
//获取每个诊断依据的全部数据
|
|
|
List<Map<String, String>> allData = this.getAllData(disId);
|
|
@@ -1437,7 +1434,6 @@ public class KnowledgeServiceImpl implements KnowledgeService {
|
|
|
Map<String, List<String>> allNiQueZhenCollection = this.getAllNiQueZhenCollection(disId);
|
|
|
this.saveNiQue2Neo(allData,allNiQueZhenCollection,disName,disId);
|
|
|
this.saveData2Neo4j(allData,disId,disName);
|
|
|
-
|
|
|
System.out.println();
|
|
|
|
|
|
|
|
@@ -1450,7 +1446,7 @@ public class KnowledgeServiceImpl implements KnowledgeService {
|
|
|
* @param disId
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<Map<String,String>> getAllData(Integer disId){
|
|
|
+ public List<Map<String,String>> getAllData(Long disId){
|
|
|
List<Map<String,String>> contentList = new ArrayList<>();
|
|
|
conn = this.getConn();
|
|
|
Statement st = null;
|
|
@@ -1497,7 +1493,7 @@ public class KnowledgeServiceImpl implements KnowledgeService {
|
|
|
* @param disId
|
|
|
* @return
|
|
|
*/
|
|
|
- public Map<String,List<String>> getAllNiQueZhenCollection(Integer disId) {
|
|
|
+ public Map<String,List<String>> getAllNiQueZhenCollection(Long disId) {
|
|
|
Map<String,List<String>> queNiMap = new HashMap<>();
|
|
|
conn = this.getConn();
|
|
|
Statement st = null;
|
|
@@ -1556,7 +1552,7 @@ public class KnowledgeServiceImpl implements KnowledgeService {
|
|
|
* @param disId
|
|
|
* @return
|
|
|
*/
|
|
|
- public String getDisName(Integer disId){
|
|
|
+ public String getDisName(Long disId){
|
|
|
Statement st = null;
|
|
|
ResultSet rs = null;
|
|
|
conn = this.getConn();
|
|
@@ -1583,7 +1579,7 @@ public class KnowledgeServiceImpl implements KnowledgeService {
|
|
|
/**
|
|
|
* 把确诊,拟诊,警惕存入图谱
|
|
|
*/
|
|
|
- public void saveNiQue2Neo(List<Map<String, String>> allData,Map<String, List<String>> allNiQueZhenCollection,String disName,Integer disId){
|
|
|
+ public void saveNiQue2Neo(List<Map<String, String>> allData,Map<String, List<String>> allNiQueZhenCollection,String disName,Long disId){
|
|
|
List<String> stringList =null;
|
|
|
String[] types = {"确诊","拟诊","警惕"};
|
|
|
Integer path = 1;
|
|
@@ -1724,7 +1720,7 @@ public class KnowledgeServiceImpl implements KnowledgeService {
|
|
|
* @param disId
|
|
|
* @param disName
|
|
|
*/
|
|
|
- public void saveData2Neo4j(List<Map<String, String>> allData,Integer disId,String disName){
|
|
|
+ public void saveData2Neo4j(List<Map<String, String>> allData,Long disId,String disName){
|
|
|
// Map<String, Map<String, String>> standard_info_synonym_map = NlpCache.standard_info_synonym_map;
|
|
|
for (Map<String,String> row:allData) {
|
|
|
String code = row.get("code");//编码
|
|
@@ -1734,13 +1730,141 @@ public class KnowledgeServiceImpl implements KnowledgeService {
|
|
|
String relation = row.get("relation");//关联词
|
|
|
String result = row.get("result");//结果
|
|
|
if(StringUtils.isNotEmpty(type)){
|
|
|
+ String[] split =null;
|
|
|
if(!"3".equals(type) && !"4".equals(type) && !"5".equals(type)){
|
|
|
//添加词语之前,要找标准词
|
|
|
//添加standard
|
|
|
- diseaseRepository.mergeStandard(Label.getLabel(type),standard);
|
|
|
+ switch (type){
|
|
|
+ case "1": //症状
|
|
|
+ diseaseRepository.mergeStandardSymptom(standard);
|
|
|
+ diseaseRepository.mergeRelationStandard(disId,standard);
|
|
|
+ diseaseRepository.mergeRelationStandardshuyu(disName+code,standard);
|
|
|
+ if(StringUtils.isNotEmpty(relation)){
|
|
|
+ split = relation.split("、");
|
|
|
+ if(split!=null && split.length>0){
|
|
|
+ for (String ci:split) {
|
|
|
+ if(StringUtils.isNotEmpty(ci)){
|
|
|
+ //找标准词
|
|
|
+ diseaseRepository.mergeStandardSymptom(ci);
|
|
|
+ diseaseRepository.mergeRelationStandardshuyu(disName+code,ci);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "2"://体征结果
|
|
|
+ diseaseRepository.mergeStandardVital(standard);
|
|
|
+ diseaseRepository.mergeRelationStandardVital(disId,standard);
|
|
|
+ diseaseRepository.mergeRelationStandardVitalshuyu(disName+code,standard);
|
|
|
+ if(StringUtils.isNotEmpty(relation)){
|
|
|
+ split = relation.split("、");
|
|
|
+ if(split!=null && split.length>0){
|
|
|
+ for (String ci:split) {
|
|
|
+ if(StringUtils.isNotEmpty(ci)){
|
|
|
+ //找标准词
|
|
|
+ diseaseRepository.mergeStandardVital(ci);
|
|
|
+ diseaseRepository.mergeRelationStandardVitalshuyu(disName+code,ci);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "6"://病史
|
|
|
+ diseaseRepository.mergeStandardHistory(standard);
|
|
|
+ diseaseRepository.mergeRelationStandardHistory(disId,standard);
|
|
|
+ diseaseRepository.mergeRelationStandardHistoryshuyu(disName+code,standard);
|
|
|
+ if(StringUtils.isNotEmpty(relation)){
|
|
|
+ split = relation.split("、");
|
|
|
+ if(split!=null && split.length>0){
|
|
|
+ for (String ci:split) {
|
|
|
+ if(StringUtils.isNotEmpty(ci)){
|
|
|
+ //找标准词
|
|
|
+ diseaseRepository.mergeStandardHistory(ci);
|
|
|
+ diseaseRepository.mergeRelationStandardHistoryshuyu(disName+code,ci);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "7"://诱因
|
|
|
+ diseaseRepository.mergeStandardCause(standard);
|
|
|
+ diseaseRepository.mergeRelationStandardCause(disId,standard);
|
|
|
+ diseaseRepository.mergeRelationStandardCauseshuyu(disName+code,standard);
|
|
|
+ if(StringUtils.isNotEmpty(relation)){
|
|
|
+ split = relation.split("、");
|
|
|
+ if(split!=null && split.length>0){
|
|
|
+ for (String ci:split) {
|
|
|
+ if(StringUtils.isNotEmpty(ci)){
|
|
|
+ //找标准词
|
|
|
+ diseaseRepository.mergeStandardCause(ci);
|
|
|
+ diseaseRepository.mergeRelationStandardCauseshuyu(disName+code,ci);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "8"://病程
|
|
|
+ diseaseRepository.mergeStandardPrognosis(standard);
|
|
|
+ diseaseRepository.mergeRelationStandardPrognosis(disId,standard);
|
|
|
+ diseaseRepository.mergeRelationStandardPrognosisshuyu(disName+code,standard);
|
|
|
+ if(StringUtils.isNotEmpty(relation)){
|
|
|
+ split = relation.split("、");
|
|
|
+ if(split!=null && split.length>0){
|
|
|
+ for (String ci:split) {
|
|
|
+ if(StringUtils.isNotEmpty(ci)){
|
|
|
+ //找标准词
|
|
|
+ diseaseRepository.mergeStandardPrognosis(ci);
|
|
|
+ diseaseRepository.mergeRelationStandardPrognosisshuyu(disName+code,ci);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "9"://其他
|
|
|
+ diseaseRepository.mergeStandardOther(standard);
|
|
|
+ diseaseRepository.mergeRelationStandardOther(disId,standard);
|
|
|
+ diseaseRepository.mergeRelationStandardOthershuyu(disName+code,standard);
|
|
|
+ if(StringUtils.isNotEmpty(relation)){
|
|
|
+ split = relation.split("、");
|
|
|
+ if(split!=null && split.length>0){
|
|
|
+ for (String ci:split) {
|
|
|
+ if(StringUtils.isNotEmpty(ci)){
|
|
|
+ //找标准词
|
|
|
+ diseaseRepository.mergeStandardOther(ci);
|
|
|
+ diseaseRepository.mergeRelationStandardOthershuyu(disName+code,ci);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }else if("5".equals(type)){ //鉴别诊断
|
|
|
+ //找标准词
|
|
|
+ diseaseRepository.mergeDifferentDis(standard);
|
|
|
+ diseaseRepository.mergeRelationDifferentDis(disId,standard);
|
|
|
+ if(StringUtils.isNotEmpty(relation)){
|
|
|
+ split = relation.split("、");
|
|
|
+ if(split !=null && split.length>0){
|
|
|
+ for (String dis:split) {
|
|
|
+ if(StringUtils.isNotEmpty(dis)){
|
|
|
+ //找标准词
|
|
|
+ diseaseRepository.mergeDifferentDis(dis);
|
|
|
+ diseaseRepository.mergeRelationDifferentDis(disId,dis);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if("3".equals(type)){ //处理化验
|
|
|
+ String lis = "";
|
|
|
+ //查找化验大项的标准词
|
|
|
+ if(StringUtils.isNotEmpty(relation) && standard.equals(relation)){
|
|
|
+ lis = standard;
|
|
|
+ }else if(StringUtils.isNotEmpty(standard) && StringUtils.isEmpty(relation)){
|
|
|
+ lis = standard;
|
|
|
+ }else if(StringUtils.isNotEmpty(standard)&& StringUtils.isNotEmpty(relation)&&!standard.equals(relation)){
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1751,8 +1875,9 @@ public class KnowledgeServiceImpl implements KnowledgeService {
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public Integer deleteNeoDisease(NeoParamVO singleDisease) {
|
|
|
- Integer disId = singleDisease.getDisId();
|
|
|
+ public RespDTO deleteNeoDisease(NeoParamVO singleDisease) {
|
|
|
+ Long disId = singleDisease.getId();
|
|
|
+ RespDTO respDTO = null;
|
|
|
if(disId != null){
|
|
|
diseaseRepository.deleteRelation1(disId);
|
|
|
diseaseRepository.deleteRelation2(disId);
|
|
@@ -1763,8 +1888,11 @@ public class KnowledgeServiceImpl implements KnowledgeService {
|
|
|
diseaseRepository.deleteRelation7(disId);
|
|
|
diseaseRepository.deleteRelation8(disId);
|
|
|
diseaseRepository.deleteRelation9(disId);
|
|
|
+ respDTO = RespDTO.onSuc(true);
|
|
|
+ }else {
|
|
|
+ respDTO = RespDTO.onError(disId +" 删除失败!!!");
|
|
|
}
|
|
|
- return 1;
|
|
|
+ return respDTO;
|
|
|
}
|
|
|
|
|
|
@Override
|