浏览代码

开单合理性检查节点和关系的逻辑状态

MarkHuang 4 年之前
父节点
当前提交
c0e5f0407e

+ 0 - 1
src/main/java/com/diagbot/entity/node/LisAlias.java

@@ -16,7 +16,6 @@ import java.util.HashSet;
 @NodeEntity(label = "实验室检查别名")
 public class LisAlias extends BaseNode  {
 
-
 	@Relationship(type = "实验室检查名称相关实验室检查别名", direction = Relationship.INCOMING)
 	private Set<LisNameLisAlias> lisnameLisAlias = new HashSet<>();
 

+ 2 - 1
src/main/java/com/diagbot/entity/relationship/LisNameLisAlias.java

@@ -8,7 +8,8 @@ import lombok.Setter;
 import org.neo4j.ogm.annotation.*;
 
 @Getter
-@Setter@RelationshipEntity(type = "实验室检查名称相关实验室检查别名")
+@Setter
+@RelationshipEntity(type = "实验室检查名称相关实验室检查别名")
 public class LisNameLisAlias extends BaseRelation {
     @StartNode
     private LisName lisName;

+ 2 - 2
src/main/java/com/diagbot/facade/BillFacade.java

@@ -57,8 +57,8 @@ public class BillFacade {
         List<Drug> drugs = wordCrfDTO.getDrugOrder();
 
         for (Drug item : drugs) {
-            billNeoVO.getDrugList().add(new HashMap<String, String>()
-                        {{put(item.getName(), item.getUniqueName());}});
+            billNeoVO.getDrugList().add(new HashMap<String, Drug>()
+                        {{put(item.getName(), item);}});
         }
 
         List<Pacs> pacslist = wordCrfDTO.getPacsOrder();

+ 19 - 13
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -745,28 +745,34 @@ public class NeoFacade {
 
         for (LisRemindYiBaoDiseaseName lisReminddisease : lisRemind.getLisReminddisease()) {
             if (NeoUtil.isExist(lisReminddisease)) {
-                nodeNeoDTO = new NodeNeoDTO();
-                nodeNeoDTO.setName(lisReminddisease.getYiBaoDiseaseName().getName());
-                nodeNeoDTO.setTermtype(Constants.zhenduan);
-                nodeNeoDTOS.add(nodeNeoDTO);
+                if (NeoUtil.isExist(lisReminddisease.getYiBaoDiseaseName())) {
+                    nodeNeoDTO = new NodeNeoDTO();
+                    nodeNeoDTO.setName(lisReminddisease.getYiBaoDiseaseName().getName());
+                    nodeNeoDTO.setTermtype(Constants.zhenduan);
+                    nodeNeoDTOS.add(nodeNeoDTO);
+                }
             }
         }
 
         for (LisRemindGroup lisRemindGroup : lisRemind.getLisRemindgroup()) {
             if (NeoUtil.isExist(lisRemindGroup)) {
-                nodeNeoDTO = new NodeNeoDTO();
-                nodeNeoDTO.setName(lisRemindGroup.getGroup().getName());
-                nodeNeoDTO.setTermtype(Constants.group);
-                nodeNeoDTOS.add(nodeNeoDTO);
+                if (NeoUtil.isExist(lisRemindGroup.getGroup())) {
+                    nodeNeoDTO = new NodeNeoDTO();
+                    nodeNeoDTO.setName(lisRemindGroup.getGroup().getName());
+                    nodeNeoDTO.setTermtype(Constants.group);
+                    nodeNeoDTOS.add(nodeNeoDTO);
+                }
             }
         }
 
         for (LisRemindMedicine lisRemindmedicine : lisRemind.getLisRemindmedicines()) {
             if (NeoUtil.isExist(lisRemindmedicine)) {
-                nodeNeoDTO = new NodeNeoDTO();
-                nodeNeoDTO.setName(lisRemindmedicine.getMedicine().getName());
-                nodeNeoDTO.setTermtype(Constants.yaoping);
-                nodeNeoDTOS.add(nodeNeoDTO);
+                if (NeoUtil.isExist(lisRemindmedicine.getMedicine())) {
+                    nodeNeoDTO = new NodeNeoDTO();
+                    nodeNeoDTO.setName(lisRemindmedicine.getMedicine().getName());
+                    nodeNeoDTO.setTermtype(Constants.yaoping);
+                    nodeNeoDTOS.add(nodeNeoDTO);
+                }
             }
         }
 
@@ -799,7 +805,7 @@ public class NeoFacade {
     /**
      * 处理处方开单合理性
      */
-    public List<BillNeoDTO> getDrugBill(List<Map<String, String>> medsterm) {
+    public List<BillNeoDTO> getDrugBill(List<Map<String, Drug>> medsterm) {
 
         MedicineNode medicineNode = new MedicineNode();
         List<BillNeoDTO> billNeoDTOs = medicineNode.getMedicineBill(medsterm, medicineRepository, medRegNameRepository);

+ 8 - 6
src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -323,12 +323,14 @@ public class RetrievalFacade {
                 if (lis.getLisNamelissets().size() > 0) {
                     for (LisNameLisSet lisSet : lis.getLisNamelissets()) {
                         if (NeoUtil.isExist(lisSet)) {
-                            StaticKnowledgeIndexDTO staticLisSetDTO = new StaticKnowledgeIndexDTO();
-                            staticLisSetDTO.setRetrievalName(lis.getName());
-                            staticLisSetDTO.setName(lisSet.getLisSet().getName());
-                            staticLisSetDTO.setType(StaticTypeEnum.LISSET.getKey());
-                            staticLisSetDTO.setTypeName(StaticTypeEnum.LISSET.getName());
-                            lisSetRelatecLisRetList.add(staticLisSetDTO);
+                            if (NeoUtil.isExist(lisSet.getLisSet())) {
+                                StaticKnowledgeIndexDTO staticLisSetDTO = new StaticKnowledgeIndexDTO();
+                                staticLisSetDTO.setRetrievalName(lis.getName());
+                                staticLisSetDTO.setName(lisSet.getLisSet().getName());
+                                staticLisSetDTO.setType(StaticTypeEnum.LISSET.getKey());
+                                staticLisSetDTO.setTypeName(StaticTypeEnum.LISSET.getName());
+                                lisSetRelatecLisRetList.add(staticLisSetDTO);
+                            }
                         }
                     }
                 }

+ 42 - 30
src/main/java/com/diagbot/repository/CombiOperationNode.java

@@ -19,22 +19,26 @@ public class CombiOperationNode {
 
 		CombiOperationGender combiOpGender = combiOp.getCombiOpgender();
 		if (NeoUtil.isExist(combiOpGender)) {
-			Gender gender = combiOpGender.getGender();
-			nodeInfo = new NodeInfo();
-			nodeInfo.setName(gender.getName());
-			nodeInfo.setTypeval(Constants.gender);
-			combiOpBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+			if (NeoUtil.isExist(combiOpGender.getGender())) {
+				Gender gender = combiOpGender.getGender();
+				nodeInfo = new NodeInfo();
+				nodeInfo.setName(gender.getName());
+				nodeInfo.setTypeval(Constants.gender);
+				combiOpBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+			}
 		}
 
 
 		Set<CombiOperationGroup> combiOpGroups = combiOp.getCombiOpgroups();
 		for (CombiOperationGroup combiOpGroup : combiOpGroups) {
 			if (NeoUtil.isExist(combiOpGroup)) {
-				Group group = combiOpGroup.getGroup();
-				nodeInfo = new NodeInfo();
-				nodeInfo.setName(group.getName());
-				nodeInfo.setTypeval(Constants.group);
-				combiOpBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+				if (NeoUtil.isExist(combiOpGroup.getGroup())) {
+					Group group = combiOpGroup.getGroup();
+					nodeInfo = new NodeInfo();
+					nodeInfo.setName(group.getName());
+					nodeInfo.setTypeval(Constants.group);
+					combiOpBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+				}
 			}
 		}
 
@@ -42,11 +46,13 @@ public class CombiOperationNode {
 		Set<CombiOperationLis> combiOplislist = combiOp.getCombiOpLiss();
 		for (CombiOperationLis combiOplis : combiOplislist) {
 			if (NeoUtil.isExist(combiOplis)) {
-				Lis lis = combiOplis.getLis();
-				nodeInfo = new NodeInfo();
-				nodeInfo.setName(lis.getName());
-				nodeInfo.setTypeval(Constants.lis);
-				combiOpBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+				if (NeoUtil.isExist(combiOplis.getLis())) {
+					Lis lis = combiOplis.getLis();
+					nodeInfo = new NodeInfo();
+					nodeInfo.setName(lis.getName());
+					nodeInfo.setTypeval(Constants.lis);
+					combiOpBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+				}
 			}
 		}
 
@@ -54,11 +60,13 @@ public class CombiOperationNode {
 		Set<CombiOperationPacsDescribe> combiOpPacsDescribes = combiOp.getCombiOppacsdescs();
 		for (CombiOperationPacsDescribe combiOpPacsDesc : combiOpPacsDescribes) {
 			if (NeoUtil.isExist(combiOpPacsDesc)) {
-				PacsDescribe pacsdesc = combiOpPacsDesc.getPacsDescribe();
-				nodeInfo = new NodeInfo();
-				nodeInfo.setName(pacsdesc.getName());
-				nodeInfo.setTypeval(Constants.pacsdesc);
-				combiOpBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+				if (NeoUtil.isExist(combiOpPacsDesc.getPacsDescribe())) {
+					PacsDescribe pacsdesc = combiOpPacsDesc.getPacsDescribe();
+					nodeInfo = new NodeInfo();
+					nodeInfo.setName(pacsdesc.getName());
+					nodeInfo.setTypeval(Constants.pacsdesc);
+					combiOpBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+				}
 			}
 		}
 
@@ -66,11 +74,13 @@ public class CombiOperationNode {
 		Set<CombiOperationDisease> combiOpDiseases = combiOp.getCombiOpdiseases();
 		for (CombiOperationDisease combiOpdisease : combiOpDiseases) {
 			if (NeoUtil.isExist(combiOpdisease)) {
-				Disease disease = combiOpdisease.getDisease();
-				nodeInfo = new NodeInfo();
-				nodeInfo.setName(disease.getName());
-				nodeInfo.setTypeval(Constants.disease);
-				combiOpBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+				if (NeoUtil.isExist(combiOpdisease.getDisease())) {
+					Disease disease = combiOpdisease.getDisease();
+					nodeInfo = new NodeInfo();
+					nodeInfo.setName(disease.getName());
+					nodeInfo.setTypeval(Constants.disease);
+					combiOpBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+				}
 			}
 		}
 
@@ -78,11 +88,13 @@ public class CombiOperationNode {
 		Set<CombiOperationMedAllergen> combiOpMedAllergens = combiOp.getCombiOpmedallergens();
 		for (CombiOperationMedAllergen combiOpmedallergen : combiOpMedAllergens) {
 			if (NeoUtil.isExist(combiOpmedallergen)) {
-				MedAllergen medAllergen = combiOpmedallergen.getMedAllergen();
-				nodeInfo = new NodeInfo();
-				nodeInfo.setName(medAllergen.getName());
-				nodeInfo.setTypeval(Constants.medallergen);
-				combiOpBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+				if (NeoUtil.isExist(combiOpmedallergen.getMedAllergen())) {
+					MedAllergen medAllergen = combiOpmedallergen.getMedAllergen();
+					nodeInfo = new NodeInfo();
+					nodeInfo.setName(medAllergen.getName());
+					nodeInfo.setTypeval(Constants.medallergen);
+					combiOpBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+				}
 			}
 		}
 

+ 2 - 1
src/main/java/com/diagbot/repository/Constants.java

@@ -86,7 +86,8 @@ public class Constants {
     public static String yibaooperation = "医保手术和操作";
 
     public static List<String> node_Labels = Arrays.asList("症状","体征","临床表现","过敏原","药物过敏原",
-            "实验室检查套餐名","实验室检查名称","实验室检查一级分类","实验室检查二级分类","辅助检查名称",
+            "实验室检查套餐名","实验室检查名称","实验室检查别名","实验室检查危急值","实验室检查一级分类",
+            "实验室检查二级分类","辅助检查名称",
             "辅助检查子项目名称","医保疾病名称","医保手术和操作名称","联合项目","科室","药品代码通用名",
             "药品通用名称","药品注册名称");
 }

+ 17 - 0
src/main/java/com/diagbot/repository/LisAliasRepository.java

@@ -0,0 +1,17 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.LisAlias;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+
+import java.util.List;
+
+
+public interface LisAliasRepository extends Neo4jRepository<LisAlias, Long> {
+
+    List<LisAlias> findByNameIs(String name);
+
+    List<LisAlias> findByNameContaining(String name);
+
+    List<LisAlias> findByNameIn(List<String> names);
+
+}

+ 21 - 0
src/main/java/com/diagbot/repository/LisCriticalRepository.java

@@ -0,0 +1,21 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.LisCritical;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.neo4j.annotation.Query;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
+
+import java.util.List;
+
+
+public interface LisCriticalRepository extends Neo4jRepository<LisCritical, Long> {
+
+    List<LisCritical> findByNameIs(String name);
+
+    List<LisCritical> findByNameContaining(String name);
+
+    List<LisCritical> findByNameIn(List<String> names);
+
+}

+ 23 - 17
src/main/java/com/diagbot/repository/LisNameNode.java

@@ -34,10 +34,12 @@ public class LisNameNode {
 
 		LisNameGender lisNameGender = lis.getLisNamegender();
 		if (NeoUtil.isExist(lisNameGender) ) {
-			nodeInfo = new NodeInfo();
-			nodeInfo.setName(lisNameGender.getGender().getName());
-			nodeInfo.setTypeval(Constants.gender);
-			lisBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+			if (NeoUtil.isExist(lisNameGender.getGender())) {
+				nodeInfo = new NodeInfo();
+				nodeInfo.setName(lisNameGender.getGender().getName());
+				nodeInfo.setTypeval(Constants.gender);
+				lisBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+			}
 		}
 
 /*
@@ -125,11 +127,13 @@ public class LisNameNode {
 		Set<LisNameGroup> groups = lis.getLisNamegroups();
 		for (LisNameGroup group : groups) {
 			if (NeoUtil.isExist(group)) {
-				nodeInfo = new NodeInfo();
-				nodeInfo.setName(group.getGroup().getName());
-				nodeInfo.setTypeval(Constants.group);
+				if (NeoUtil.isExist(group.getGroup())) {
+					nodeInfo = new NodeInfo();
+					nodeInfo.setName(group.getGroup().getName());
+					nodeInfo.setTypeval(Constants.group);
 
-				lisBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+					lisBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+				}
 			}
 		}
 
@@ -213,14 +217,16 @@ public class LisNameNode {
 			if (lisNameSet != null && lisNameSet.size() > 0) {
 				for (LisNameLisSet lisset : lisNameSet) {
 					if (NeoUtil.isExist(lisset)) {
-						lisDetailDTO = new LisDetailDTO();
-						nodename = lis.getName();
-						lisDetailDTO.setUniqueName(nodename);
-						lisDetailDTO.setName(lisset.getLisSet().getName());
-						lisDetailDTO.setMaxValue(lis.getMaxval());
-						lisDetailDTO.setMinValue(lis.getMinval());
-						lisDetailDTO.setUnits(lis.getUnit());
-						lislist.add(lisDetailDTO);
+						if (NeoUtil.isExist(lisset.getLisSet())) {
+							lisDetailDTO = new LisDetailDTO();
+							nodename = lis.getName();
+							lisDetailDTO.setUniqueName(nodename);
+							lisDetailDTO.setName(lisset.getLisSet().getName());
+							lisDetailDTO.setMaxValue(lis.getMaxval());
+							lisDetailDTO.setMinValue(lis.getMinval());
+							lisDetailDTO.setUnits(lis.getUnit());
+							lislist.add(lisDetailDTO);
+						}
 					}
 				}
 			} else {
@@ -273,7 +279,7 @@ public class LisNameNode {
 						Set<LisNameLisCritical> lisNameLisCriticals = lis.getLisNameliscritials();
 
 						for (LisNameLisCritical lisNameCritical : lisNameLisCriticals) {
-							if (NeoUtil.isExist(lisNameCritical)) {
+							if (NeoUtil.isExist(lisNameCritical) && NeoUtil.isExist(lisNameCritical.getLisCritical())) {
 								lisCriticals.add(lisNameCritical.getLisCritical());
 							}
 						}

+ 14 - 10
src/main/java/com/diagbot/repository/LisSetNode.java

@@ -26,11 +26,13 @@ public class LisSetNode {
 
 		LisSetGender lisSetGender = lisset.getLisSetgender();
 		if (NeoUtil.isExist(lisSetGender)) {
-			Gender gender = lisSetGender.getGender();
-			nodeInfo = new NodeInfo();
-			nodeInfo.setName(gender.getName());
-			nodeInfo.setTypeval(Constants.gender);
-			lisBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+			if (NeoUtil.isExist(lisSetGender.getGender())) {
+				Gender gender = lisSetGender.getGender();
+				nodeInfo = new NodeInfo();
+				nodeInfo.setName(gender.getName());
+				nodeInfo.setTypeval(Constants.gender);
+				lisBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+			}
 		}
 
 /*
@@ -102,11 +104,13 @@ public class LisSetNode {
 		Set<LisSetGroup> lisSetGroups = lisset.getLisSetGroups();
 		for (LisSetGroup lisSetGroup : lisSetGroups) {
 			if (NeoUtil.isExist(lisSetGroup)) {
-				Group group = lisSetGroup.getGroup();
-				nodeInfo = new NodeInfo();
-				nodeInfo.setName(group.getName());
-				nodeInfo.setTypeval(Constants.group);
-				lisBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+				if (NeoUtil.isExist(lisSetGroup.getGroup())) {
+					Group group = lisSetGroup.getGroup();
+					nodeInfo = new NodeInfo();
+					nodeInfo.setName(group.getName());
+					nodeInfo.setTypeval(Constants.group);
+					lisBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+				}
 			}
 		}
 

+ 12 - 7
src/main/java/com/diagbot/repository/MedRegNameNode.java

@@ -45,13 +45,13 @@ public class MedRegNameNode {
                     for (MedCodeNameMedicine medCodeMed : med.getMedcodenameMedicines()) {
                         if (NeoUtil.isExist(medCodeMed)) {
                             MedCodeName medcdname = medCodeMed.getMedCodeName();
-                            if (medcdname.getReg_JiXin().equals(drugform)) {
+                            if (NeoUtil.isExist(medcdname) && medcdname.getReg_JiXin().equals(drugform)) {
                                 medcdnames = medCodeRepository.findByNameIs(medcdname.getName());
                                 for (MedCodeName medcdnm : medcdnames) {
                                     for (MedCodeNameMedRegName medCodeMedReg : medcdnm.getMedCodeNameMedregnames()) {
                                         if (NeoUtil.isExist(medCodeMedReg)) {
                                             medreg = medCodeMedReg.getMedRegName();
-                                            if (null != medreg.getRisklevel() && medreg.getRisklevel().trim().length() > 0) {
+                                            if (NeoUtil.isExist(medreg) && null != medreg.getRisklevel() && medreg.getRisklevel().trim().length() > 0) {
                                                 highRiskNeoDTO.setIsHighrisk(true);
                                                 highRiskNeoDTO.setHighLevel(medreg.getRisklevel());
                                                 highRiskNeoDTO.setType(Constants.yaoping);
@@ -87,15 +87,18 @@ public class MedRegNameNode {
         Set<MedRegNameVital> medVitals = medRegName.getMedRegNameVital();
         for (MedRegNameVital medvital : medVitals) {
             if (NeoUtil.isExist(medvital)) {
-                NodeNeoDTO nodeNeoDTO = NeoUtil.fillNodeNeoDTO(medvital.getVital());
-                drugBillNeoDTO.setAgeNeoDTO(nodeNeoDTO);
+                if (NeoUtil.isExist(medvital.getVital())) {
+                    NodeNeoDTO nodeNeoDTO = NeoUtil.fillNodeNeoDTO(medvital.getVital());
+                    drugBillNeoDTO.setAgeNeoDTO(nodeNeoDTO);
+                }
             }
         }
 
 
         Set<MedRegNameGroup> medGroups = medRegName.getMedRegNameGroup();
         for (MedRegNameGroup medgroup : medGroups) {
-            if (NeoUtil.isExist(medgroup) && !NeoUtil.inlist(medgroup.getGroup().getName(),drugBillNeoDTO.getGroup())) {
+            if (NeoUtil.isExist(medgroup) && NeoUtil.isExist(medgroup.getGroup())
+                    && !NeoUtil.inlist(medgroup.getGroup().getName(),drugBillNeoDTO.getGroup())) {
                 NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
                 nodeNeoDTO.setName(medgroup.getGroup().getName());
                 nodeNeoDTO.setTermtype(Constants.group);
@@ -106,7 +109,8 @@ public class MedRegNameNode {
 
         Set<MedRegNameMedAllergen> medAllergens = medRegName.getMedRegNameMedAllergens();
         for (MedRegNameMedAllergen medAllergen : medAllergens) {
-            if (NeoUtil.isExist(medAllergen) && !NeoUtil.inlist(medAllergen.getMedAllergen().getName(), drugBillNeoDTO.getAllergicmeds())) {
+            if (NeoUtil.isExist(medAllergen) && NeoUtil.isExist(medAllergen.getMedAllergen())
+                    && !NeoUtil.inlist(medAllergen.getMedAllergen().getName(), drugBillNeoDTO.getAllergicmeds())) {
                 NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
                 nodeNeoDTO.setName(medAllergen.getMedAllergen().getName());
                 nodeNeoDTO.setTermtype(medAllergen.getMedAllergen().getMedtype());
@@ -117,7 +121,8 @@ public class MedRegNameNode {
 
         Set<MedRegNameMedRegName> medRegmedRegNames = medRegName.getMedRegNameMedregnames_out();
         for (MedRegNameMedRegName medRegnm : medRegmedRegNames) {
-            if (NeoUtil.isExist(medRegnm) && !NeoUtil.inlist(medRegnm.getMedRegName().getName(), drugBillNeoDTO.getAllergicmeds())) {
+            if (NeoUtil.isExist(medRegnm) && NeoUtil.isExist(medRegnm.getMedRegName())
+                    && !NeoUtil.inlist(medRegnm.getMedRegName().getName(), drugBillNeoDTO.getAllergicmeds())) {
                 NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
                 nodeNeoDTO.setName(medRegnm.getMedRegName().getName());
                 nodeNeoDTO.setTermtype(Constants.yaoping);

+ 102 - 68
src/main/java/com/diagbot/repository/MedicineCodeNode.java

@@ -42,10 +42,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameMedClass> medCodeNameClass = medcode.getMedCodeNameMedclasss();
         for (MedCodeNameMedClass medCls : medCodeNameClass) {
             if (NeoUtil.isExist(medCls)) {
-                NodeNeoDTO ageNeoDTO = new NodeNeoDTO();
-                nodeInfo.setName(medCls.getMedClass().getName());
-                nodeInfo.setTypeval(Constants.medcate);
-                drugBillNeoDTO.setAgeNeoDTO(ageNeoDTO);
+                if (NeoUtil.isExist(medCls.getMedClass())) {
+                    NodeNeoDTO ageNeoDTO = new NodeNeoDTO();
+                    nodeInfo.setName(medCls.getMedClass().getName());
+                    nodeInfo.setTypeval(Constants.medcate);
+                    drugBillNeoDTO.setAgeNeoDTO(ageNeoDTO);
+                }
             }
         }
 
@@ -53,10 +55,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameMedRegName> medCodeNameRegNames = medcode.getMedCodeNameMedregnames();
         for (MedCodeNameMedRegName medRegName : medCodeNameRegNames) {
             if (NeoUtil.isExist(medRegName)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(medRegName.getMedRegName().getName());
-                nodeInfo.setTypeval(Constants.medregname);
-                drugBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(medRegName.getMedRegName())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(medRegName.getMedRegName().getName());
+                    nodeInfo.setTypeval(Constants.medregname);
+                    drugBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -64,10 +68,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameMedicine> medCodeNamemedicines = medcode.getMedCodeNameMedicines();
         for (MedCodeNameMedicine medicine : medCodeNamemedicines) {
             if (NeoUtil.isExist(medicine)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(medicine.getMedicine().getName());
-                nodeInfo.setTypeval(Constants.medicine);
-                drugBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(medicine.getMedicine())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(medicine.getMedicine().getName());
+                    nodeInfo.setTypeval(Constants.medicine);
+                    drugBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -75,10 +81,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameMedChemClass> medCodeNameChemClasses = medcode.getMedCodeNameMedchemclass();
         for (MedCodeNameMedChemClass medChemCls : medCodeNameChemClasses) {
             if (NeoUtil.isExist(medChemCls)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(medChemCls.getMedChemClass().getName());
-                nodeInfo.setTypeval(Constants.medhuaxue);
-                drugBillNeoDTO.getLis().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(medChemCls.getMedChemClass())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(medChemCls.getMedChemClass().getName());
+                    nodeInfo.setTypeval(Constants.medhuaxue);
+                    drugBillNeoDTO.getLis().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -86,10 +94,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameMedYaoLiClass> medCodeNameYaoLiClasses = medcode.getMedCodeNameMedyaoliclass();
         for (MedCodeNameMedYaoLiClass medYaoLiCls : medCodeNameYaoLiClasses) {
             if (NeoUtil.isExist(medYaoLiCls)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(medYaoLiCls.getMedYaoLiClass().getName());
-                nodeInfo.setTypeval(Constants.medyaoli);
-                drugBillNeoDTO.getPacs().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(medYaoLiCls.getMedYaoLiClass())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(medYaoLiCls.getMedYaoLiClass().getName());
+                    nodeInfo.setTypeval(Constants.medyaoli);
+                    drugBillNeoDTO.getPacs().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -97,10 +107,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameMedZhiLiaoClass> medCodeNameZhiLiaoClasses = medcode.getMedCodeNameMedzhiliaoclass();
         for (MedCodeNameMedZhiLiaoClass medZhiLiaoCls : medCodeNameZhiLiaoClasses) {
             if (NeoUtil.isExist(medZhiLiaoCls)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(medZhiLiaoCls.getMedZhiLiaoClass().getName());
-                nodeInfo.setTypeval(NeoUtil.getMedType(medZhiLiaoCls.getMedZhiLiaoClass().getName()));
-                drugBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(medZhiLiaoCls.getMedZhiLiaoClass())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(medZhiLiaoCls.getMedZhiLiaoClass().getName());
+                    nodeInfo.setTypeval(NeoUtil.getMedType(medZhiLiaoCls.getMedZhiLiaoClass().getName()));
+                    drugBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -108,10 +120,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameMedJiePouClass> medCodeNameJiePouClasses = medcode.getMedCodeNameMedjiepouclass();
         for (MedCodeNameMedJiePouClass medJiePouCls : medCodeNameJiePouClasses) {
             if (NeoUtil.isExist(medJiePouCls)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(medJiePouCls.getMedJiePouClass().getName());
-                nodeInfo.setTypeval(Constants.medjiepou);
-                drugBillNeoDTO.getOperations().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(medJiePouCls.getMedJiePouClass())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(medJiePouCls.getMedJiePouClass().getName());
+                    nodeInfo.setTypeval(Constants.medjiepou);
+                    drugBillNeoDTO.getOperations().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -119,10 +133,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameMedCode> medCodeNameCodes = medcode.getMedCodeNameMedcodes();
         for (MedCodeNameMedCode medCode : medCodeNameCodes) {
             if (NeoUtil.isExist(medCode)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(medCode.getMedCode().getName());
-                nodeInfo.setTypeval(Constants.medcode);
-                drugBillNeoDTO.getMeddevice().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(medCode.getMedCode())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(medCode.getMedCode().getName());
+                    nodeInfo.setTypeval(Constants.medcode);
+                    drugBillNeoDTO.getMeddevice().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -130,10 +146,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameMedProdName> medCodeNameProdNames = medcode.getMedCodeNameMedprodnames();
         for (MedCodeNameMedProdName medProdName : medCodeNameProdNames) {
             if (NeoUtil.isExist(medProdName)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(medProdName.getMedProdName().getName());
-                nodeInfo.setTypeval(Constants.medprodname);
-                drugBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(medProdName.getMedProdName())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(medProdName.getMedProdName().getName());
+                    nodeInfo.setTypeval(Constants.medprodname);
+                    drugBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -141,10 +159,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameMedYiBaoClass> medCodeNameYiBaoClasses = medcode.getMedCodeNameMedyibaoclass();
         for (MedCodeNameMedYiBaoClass medYiBaoCls : medCodeNameYiBaoClasses) {
             if (NeoUtil.isExist(medYiBaoCls)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(medYiBaoCls.getMedYiBaoClass().getName());
-                nodeInfo.setTypeval(Constants.medyibaocate);
-                drugBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(medYiBaoCls.getMedYiBaoClass())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(medYiBaoCls.getMedYiBaoClass().getName());
+                    nodeInfo.setTypeval(Constants.medyibaocate);
+                    drugBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -152,10 +172,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameRegName> medCodeNameregNames = medcode.getMedCodeNameRegnames();
         for (MedCodeNameRegName regName : medCodeNameregNames) {
             if (NeoUtil.isExist(regName)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(regName.getRegName().getName());
-                nodeInfo.setTypeval(Constants.regname);
-                drugBillNeoDTO.getConflictmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(regName.getRegName())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(regName.getRegName().getName());
+                    nodeInfo.setTypeval(Constants.regname);
+                    drugBillNeoDTO.getConflictmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -163,10 +185,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameHerbFangJiCate> medCodeNameherbFangJiCates = medcode.getMedCodeNameHerbfangjicates();
         for (MedCodeNameHerbFangJiCate herbFangJiCate : medCodeNameherbFangJiCates) {
             if (NeoUtil.isExist(herbFangJiCate)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(herbFangJiCate.getHerbFangJiCate().getName());
-                nodeInfo.setTypeval(Constants.herbfangjicate);
-                drugBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(herbFangJiCate.getHerbFangJiCate())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(herbFangJiCate.getHerbFangJiCate().getName());
+                    nodeInfo.setTypeval(Constants.herbfangjicate);
+                    drugBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -174,10 +198,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameHerbFangJiClass> medCodeNameherbFangJiClass = medcode.getMedCodeNameHerbfangjiclass();
         for (MedCodeNameHerbFangJiClass herbFangJiCls : medCodeNameherbFangJiClass) {
             if (NeoUtil.isExist(herbFangJiCls)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(herbFangJiCls.getHerbFangJiClass().getName());
-                nodeInfo.setTypeval(Constants.herbfangjiclass);
-                drugBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(herbFangJiCls.getHerbFangJiClass())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(herbFangJiCls.getHerbFangJiClass().getName());
+                    nodeInfo.setTypeval(Constants.herbfangjiclass);
+                    drugBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -185,10 +211,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameHerbZhiLiaoClass> medCodeNameherbZhiLiaoClasses = medcode.getMedCodeNameHerbzhiliaoclass();
         for (MedCodeNameHerbZhiLiaoClass herbZhiLiaoCls : medCodeNameherbZhiLiaoClasses) {
             if (NeoUtil.isExist(herbZhiLiaoCls)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(herbZhiLiaoCls.getHerbZhiLiaoClass().getName());
-                nodeInfo.setTypeval(Constants.herbzhiliaocate);
-                drugBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(herbZhiLiaoCls.getHerbZhiLiaoClass())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(herbZhiLiaoCls.getHerbZhiLiaoClass().getName());
+                    nodeInfo.setTypeval(Constants.herbzhiliaocate);
+                    drugBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -196,10 +224,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameHerbDeptClass> medCodeNameherbDeptClasses = medcode.getMedCodeNameHerbdeptclass();
         for (MedCodeNameHerbDeptClass herbDeptCls : medCodeNameherbDeptClasses) {
             if (NeoUtil.isExist(herbDeptCls)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(herbDeptCls.getHerbDeptClass().getName());
-                nodeInfo.setTypeval(Constants.herbdeptcate);
-                drugBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(herbDeptCls.getHerbDeptClass())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(herbDeptCls.getHerbDeptClass().getName());
+                    nodeInfo.setTypeval(Constants.herbdeptcate);
+                    drugBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -207,10 +237,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameHerbYiBaoClass> medCodeNameherbYiBaoClasses = medcode.getMedCodeNameHerbyibaoclass();
         for (MedCodeNameHerbYiBaoClass herbYiBaoCls : medCodeNameherbYiBaoClasses) {
             if (NeoUtil.isExist(herbYiBaoCls)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(herbYiBaoCls.getHerbYiBaoClass().getName());
-                nodeInfo.setTypeval(Constants.herbyibaocate);
-                drugBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(herbYiBaoCls.getHerbYiBaoClass())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(herbYiBaoCls.getHerbYiBaoClass().getName());
+                    nodeInfo.setTypeval(Constants.herbyibaocate);
+                    drugBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -218,10 +250,12 @@ public class MedicineCodeNode {
         Set<MedCodeNameProdName> medCodeNameprodNames = medcode.getMedCodeNameProdnames();
         for (MedCodeNameProdName prodName : medCodeNameprodNames) {
             if (NeoUtil.isExist(prodName)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(prodName.getProdName().getName());
-                nodeInfo.setTypeval(Constants.prodname);
-                drugBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(prodName.getProdName())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(prodName.getProdName().getName());
+                    nodeInfo.setTypeval(Constants.prodname);
+                    drugBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 

+ 14 - 8
src/main/java/com/diagbot/repository/MedicineNode.java

@@ -11,6 +11,7 @@ import com.diagbot.entity.relationship.MedicineMedAllergen;
 import com.diagbot.entity.relationship.MedicineVital;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.NeoUtil;
+import com.diagbot.vo.Drug;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -26,14 +27,17 @@ public class MedicineNode {
         Set<MedicineVital> vitals = medicine.getMedicineVital();
         for (MedicineVital vital : vitals) {
             if (NeoUtil.isExist(vital)) {
-                NodeNeoDTO nodeNeoDTO = NeoUtil.fillNodeNeoDTO(vital.getVital());
-                drugBillNeoDTO.setAgeNeoDTO(nodeNeoDTO);
+                if (NeoUtil.isExist(vital.getVital())) {
+                    NodeNeoDTO nodeNeoDTO = NeoUtil.fillNodeNeoDTO(vital.getVital());
+                    drugBillNeoDTO.setAgeNeoDTO(nodeNeoDTO);
+                }
             }
         }
 
         Set<MedicineGroup> groups = medicine.getMedicineGroup();
         for (MedicineGroup group : groups) {
-            if (NeoUtil.isExist(group) && !NeoUtil.inlist(group.getGroup().getName(),drugBillNeoDTO.getGroup())) {
+            if (NeoUtil.isExist(group) && NeoUtil.isExist(group.getGroup())
+                    && !NeoUtil.inlist(group.getGroup().getName(),drugBillNeoDTO.getGroup())) {
                 NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
                 nodeNeoDTO.setName(group.getGroup().getName());
                 nodeNeoDTO.setTermtype(Constants.group);
@@ -44,7 +48,8 @@ public class MedicineNode {
 
         Set<MedicineMedAllergen> medAllergens = medicine.getMedicineMedAllergens();
         for (MedicineMedAllergen medAllergen : medAllergens) {
-            if (NeoUtil.isExist(medAllergen) && !NeoUtil.inlist(medAllergen.getMedAllergen().getName(), drugBillNeoDTO.getAllergicmeds())) {
+            if (NeoUtil.isExist(medAllergen) && NeoUtil.isExist(medAllergen.getMedAllergen())
+                    && !NeoUtil.inlist(medAllergen.getMedAllergen().getName(), drugBillNeoDTO.getAllergicmeds())) {
                 NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
                 nodeNeoDTO.setName(medAllergen.getMedAllergen().getName());
                 nodeNeoDTO.setTermtype(Constants.yaoping);
@@ -55,7 +60,8 @@ public class MedicineNode {
 
         Set<MedicineDisease> diseases = medicine.getMedicineDisease();
         for (MedicineDisease disease : diseases) {
-            if (NeoUtil.isExist(disease) && !NeoUtil.inlist(disease.getDisease().getName(), drugBillNeoDTO.getDisease())) {
+            if (NeoUtil.isExist(disease) && NeoUtil.isExist(disease.getDisease())
+                    && !NeoUtil.inlist(disease.getDisease().getName(), drugBillNeoDTO.getDisease())) {
                 NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
                 nodeNeoDTO.setName(disease.getDisease().getName());
                 nodeNeoDTO.setTermtype(Constants.disease);
@@ -93,7 +99,7 @@ public class MedicineNode {
     /**
      * 处理处方开单合理性
      */
-    public List<BillNeoDTO> getMedicineBill(List<Map<String, String>> medslist, MedicineRepository medicineRepository,
+    public List<BillNeoDTO> getMedicineBill(List<Map<String, Drug>> medslist, MedicineRepository medicineRepository,
                                             MedRegNameRepository medRegNameRepository) {
         List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
         BillNeoDTO billNeoDTO;
@@ -103,10 +109,10 @@ public class MedicineNode {
         List<MedRegName> medRegNames;
         String medname;
 
-        for (Map<String, String> medsterm : medslist) {
+        for (Map<String, Drug> medsterm : medslist) {
             for (String term : medsterm.keySet()) {
                 billNeoDTO = new BillNeoDTO();
-                medname = medsterm.get(term);
+                medname = medsterm.get(term).getUniqueName();
                 billNeoDTO.setName(term);
                 billNeoDTO.setStandname(medname);
 

+ 86 - 73
src/main/java/com/diagbot/repository/PacsNameNode.java

@@ -3,18 +3,7 @@ package com.diagbot.repository;
 import com.diagbot.dto.BillNeoDTO;
 import com.diagbot.dto.PacsBillNeoDTO;
 import com.diagbot.entity.BaseNodeInfo;
-import com.diagbot.entity.node.Allergen;
-import com.diagbot.entity.node.ClinicalFinding;
-import com.diagbot.entity.node.ConflictDevice;
-import com.diagbot.entity.node.Disease;
-import com.diagbot.entity.node.Gender;
-import com.diagbot.entity.node.Group;
-import com.diagbot.entity.node.Lis;
-import com.diagbot.entity.node.MedAllergen;
-import com.diagbot.entity.node.OralMedicine;
-import com.diagbot.entity.node.PacsDescribe;
 import com.diagbot.entity.node.PacsName;
-import com.diagbot.entity.node.Vital;
 import com.diagbot.entity.relationship.*;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.NeoUtil;
@@ -35,24 +24,28 @@ public class PacsNameNode {
 
         PacsNameGender pacsNamegender = pacs.getPacsNameGender();
         if (NeoUtil.isExist(pacsNamegender)) {
-            nodeInfo = new NodeInfo();
-            nodeInfo.setName(pacsNamegender.getGender().getName());
-            nodeInfo.setTypeval(Constants.gender);
-            pacsBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+            if (NeoUtil.isExist(pacsNamegender.getGender())) {
+                nodeInfo = new NodeInfo();
+                nodeInfo.setName(pacsNamegender.getGender().getName());
+                nodeInfo.setTypeval(Constants.gender);
+                pacsBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+            }
         }
 
 
         Set<PacsNameClinicalFinding> pacsNameclinicalfindings = pacs.getPacsNameClinicalfindings();
         for (PacsNameClinicalFinding clinicalfinding : pacsNameclinicalfindings) {
             if (NeoUtil.isExist(clinicalfinding)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(clinicalfinding.getClinicalFinding().getName());
-                nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(clinicalfinding.getClinicalFinding().getMinval()));
-                nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(clinicalfinding.getClinicalFinding().getMaxval()));
-                nodeInfo.setUnit(clinicalfinding.getClinicalFinding().getUnit());
-                nodeInfo.setRange(clinicalfinding.getClinicalFinding().getRange());
-                nodeInfo.setTypeval(Constants.clinicalfinding);
-                pacsBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(clinicalfinding.getClinicalFinding())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(clinicalfinding.getClinicalFinding().getName());
+                    nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(clinicalfinding.getClinicalFinding().getMinval()));
+                    nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(clinicalfinding.getClinicalFinding().getMaxval()));
+                    nodeInfo.setUnit(clinicalfinding.getClinicalFinding().getUnit());
+                    nodeInfo.setRange(clinicalfinding.getClinicalFinding().getRange());
+                    nodeInfo.setTypeval(Constants.clinicalfinding);
+                    pacsBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -60,15 +53,17 @@ public class PacsNameNode {
         Set<PacsNameVital> pacsNamevitals = pacs.getPacsNameVitals();
         for (PacsNameVital vital : pacsNamevitals) {
             if (NeoUtil.isExist(vital)) {
-                nodeInfo = new NodeInfo();
-                String name = vital.getVital().getName();
-                nodeInfo.setName(name);
-                nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(vital.getVital().getMinval()));
-                nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(vital.getVital().getMaxval()));
-                nodeInfo.setUnit(vital.getVital().getUnit());
-                nodeInfo.setRange(vital.getVital().getRange());
-                nodeInfo.setTypeval(Constants.vital);
-                pacsBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(vital.getVital())) {
+                    nodeInfo = new NodeInfo();
+                    String name = vital.getVital().getName();
+                    nodeInfo.setName(name);
+                    nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(vital.getVital().getMinval()));
+                    nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(vital.getVital().getMaxval()));
+                    nodeInfo.setUnit(vital.getVital().getUnit());
+                    nodeInfo.setRange(vital.getVital().getRange());
+                    nodeInfo.setTypeval(Constants.vital);
+                    pacsBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -76,14 +71,16 @@ public class PacsNameNode {
         Set<PacsNameLis> pacsNameliss = pacs.getPacsNameLis();
         for (PacsNameLis lis : pacsNameliss) {
             if (NeoUtil.isExist(lis)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(lis.getLis().getName());
-                nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(lis.getLis().getMinval()));
-                nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(lis.getLis().getMaxval()));
-                nodeInfo.setUnit(lis.getLis().getUnit());
-                nodeInfo.setRange(lis.getLis().getRange());
-                nodeInfo.setTypeval(Constants.lis);
-                pacsBillNeoDTO.getLis().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(lis.getLis())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(lis.getLis().getName());
+                    nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(lis.getLis().getMinval()));
+                    nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(lis.getLis().getMaxval()));
+                    nodeInfo.setUnit(lis.getLis().getUnit());
+                    nodeInfo.setRange(lis.getLis().getRange());
+                    nodeInfo.setTypeval(Constants.lis);
+                    pacsBillNeoDTO.getLis().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -91,10 +88,12 @@ public class PacsNameNode {
         Set<PacsNamePacsDescribe> pacsNameconflict_pacsdesc = pacs.getPacsNamePacsdescribes();
         for (PacsNamePacsDescribe pacsdesc : pacsNameconflict_pacsdesc) {
             if (NeoUtil.isExist(pacsdesc)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(pacsdesc.getPacsDescribe().getName());
-                nodeInfo.setTypeval(Constants.pacsdesc);
-                pacsBillNeoDTO.getPacsDesc().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(pacsdesc.getPacsDescribe())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(pacsdesc.getPacsDescribe().getName());
+                    nodeInfo.setTypeval(Constants.pacsdesc);
+                    pacsBillNeoDTO.getPacsDesc().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -102,10 +101,12 @@ public class PacsNameNode {
         Set<PacsNameGroup> pacsNamegroups = pacs.getPacsNameGroups();
         for (PacsNameGroup group : pacsNamegroups) {
             if (NeoUtil.isExist(group)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(group.getGroup().getName());
-                nodeInfo.setTypeval(Constants.group);
-                pacsBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(group.getGroup())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(group.getGroup().getName());
+                    nodeInfo.setTypeval(Constants.group);
+                    pacsBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -113,10 +114,12 @@ public class PacsNameNode {
         Set<PacsNameOralMedicine> pacsNameconflict_medicines = pacs.getPacsNameOralmedicines();
         for (PacsNameOralMedicine conflict_medicine : pacsNameconflict_medicines) {
             if (NeoUtil.isExist(conflict_medicine)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(conflict_medicine.getOralMedicine().getName());
-                nodeInfo.setTypeval(Constants.yaoping);
-                pacsBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(conflict_medicine.getOralMedicine())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(conflict_medicine.getOralMedicine().getName());
+                    nodeInfo.setTypeval(Constants.yaoping);
+                    pacsBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -124,10 +127,12 @@ public class PacsNameNode {
         Set<PacsNameMedAllergen> pacsNamemedAllergens = pacs.getPacsNameMedallergens();
         for (PacsNameMedAllergen medAllergen : pacsNamemedAllergens) {
             if (NeoUtil.isExist(medAllergen)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(medAllergen.getMedAllergen().getName());
-                nodeInfo.setTypeval(NeoUtil.getMedType(medAllergen.getMedAllergen().getName()));
-                pacsBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(medAllergen.getMedAllergen())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(medAllergen.getMedAllergen().getName());
+                    nodeInfo.setTypeval(NeoUtil.getMedType(medAllergen.getMedAllergen().getName()));
+                    pacsBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -135,11 +140,13 @@ public class PacsNameNode {
         Set<PacsNameDisease> pacsNamediseases = pacs.getPacsNameDiseases();
         for (PacsNameDisease disease : pacsNamediseases) {
             if (NeoUtil.isExist(disease)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(disease.getDisease().getName());
-                nodeInfo.setTypeval(Constants.disease);
-                nodeInfo.setMatchtype(disease.getExactMatch());
-                pacsBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(disease.getDisease())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(disease.getDisease().getName());
+                    nodeInfo.setTypeval(Constants.disease);
+                    nodeInfo.setMatchtype(disease.getExactMatch());
+                    pacsBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -147,10 +154,12 @@ public class PacsNameNode {
         Set<PacsNameAllergen> pacsNameallergens = pacs.getPacsNameAllergens();
         for (PacsNameAllergen allergen : pacsNameallergens) {
             if (NeoUtil.isExist(allergen)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(allergen.getAllergen().getName());
-                nodeInfo.setTypeval(Constants.yaoping); // 过敏原归类成药物过敏原,与模型提取匹配
-                pacsBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(allergen.getAllergen())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(allergen.getAllergen().getName());
+                    nodeInfo.setTypeval(Constants.yaoping); // 过敏原归类成药物过敏原,与模型提取匹配
+                    pacsBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -158,10 +167,12 @@ public class PacsNameNode {
         Set<PacsNameConflictDevice> pacsNameconflictDevices = pacs.getPacsNameConflictdevices();
         for (PacsNameConflictDevice conflictDevice : pacsNameconflictDevices) {
             if (NeoUtil.isExist(conflictDevice)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(conflictDevice.getConflictDevice().getName());
-                nodeInfo.setTypeval(Constants.conflictdevice);
-                pacsBillNeoDTO.getMeddevice().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(conflictDevice.getConflictDevice())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(conflictDevice.getConflictDevice().getName());
+                    nodeInfo.setTypeval(Constants.conflictdevice);
+                    pacsBillNeoDTO.getMeddevice().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
@@ -169,10 +180,12 @@ public class PacsNameNode {
         Set<PacsNamePacsName> pacsNamepacsNames = pacs.getConflictPacsName_out();
         for (PacsNamePacsName pacsName : pacsNamepacsNames) {
             if (NeoUtil.isExist(pacsName)) {
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(pacsName.getConflict_pacsName().getName());
-                nodeInfo.setTypeval(Constants.fujian);
-                pacsBillNeoDTO.getPacsOrder().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(pacsName.getConflict_pacsName())) {
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(pacsName.getConflict_pacsName().getName());
+                    nodeInfo.setTypeval(Constants.fujian);
+                    pacsBillNeoDTO.getPacsOrder().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 

+ 79 - 57
src/main/java/com/diagbot/repository/PacsSubNameNode.java

@@ -22,113 +22,135 @@ public class PacsSubNameNode {
 
         PacsSubNameGender pacsSubNameGender = pacs.getPacsSubNameGender();
         if (NeoUtil.isExist(pacsSubNameGender)) {
-            nodeInfo = new NodeInfo();
-            nodeInfo.setName(pacsSubNameGender.getGender().getName());
-            nodeInfo.setTypeval(Constants.gender);
-            pacsBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+            if (NeoUtil.isExist(pacsSubNameGender.getGender())) {
+                nodeInfo = new NodeInfo();
+                nodeInfo.setName(pacsSubNameGender.getGender().getName());
+                nodeInfo.setTypeval(Constants.gender);
+                pacsBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+            }
         }
 
 
         Set<PacsSubNameClinicalFinding> clinicalfindings = pacs.getPacsSubNameClinicalfindings();
         for (PacsSubNameClinicalFinding clinicalfinding : clinicalfindings) {
-            nodeInfo = new NodeInfo();
-            nodeInfo.setName(clinicalfinding.getClinicalFinding().getName());
-            nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(clinicalfinding.getClinicalFinding().getMinval()));
-            nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(clinicalfinding.getClinicalFinding().getMaxval()));
-            nodeInfo.setUnit(clinicalfinding.getClinicalFinding().getUnit());
-            nodeInfo.setRange(clinicalfinding.getClinicalFinding().getRange());
-            nodeInfo.setTypeval(Constants.clinicalfinding);
-            pacsBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(nodeInfo));
+            if (NeoUtil.isExist(clinicalfinding.getClinicalFinding())) {
+                nodeInfo = new NodeInfo();
+                nodeInfo.setName(clinicalfinding.getClinicalFinding().getName());
+                nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(clinicalfinding.getClinicalFinding().getMinval()));
+                nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(clinicalfinding.getClinicalFinding().getMaxval()));
+                nodeInfo.setUnit(clinicalfinding.getClinicalFinding().getUnit());
+                nodeInfo.setRange(clinicalfinding.getClinicalFinding().getRange());
+                nodeInfo.setTypeval(Constants.clinicalfinding);
+                pacsBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(nodeInfo));
+            }
         }
 
 
         Set<PacsSubNameVital> vitals = pacs.getPacsSubNameVitals();
         for (PacsSubNameVital vital : vitals) {
-            nodeInfo = new NodeInfo();
-            String name = vital.getVital().getName();
-            nodeInfo.setName(name);
-            nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(vital.getVital().getMinval()));
-            nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(vital.getVital().getMaxval()));
-            nodeInfo.setUnit(vital.getVital().getUnit());
-            nodeInfo.setRange(vital.getVital().getRange());
-            nodeInfo.setTypeval(Constants.vital);
-            pacsBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(nodeInfo));
+            if (NeoUtil.isExist(vital.getVital())) {
+                nodeInfo = new NodeInfo();
+                String name = vital.getVital().getName();
+                nodeInfo.setName(name);
+                nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(vital.getVital().getMinval()));
+                nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(vital.getVital().getMaxval()));
+                nodeInfo.setUnit(vital.getVital().getUnit());
+                nodeInfo.setRange(vital.getVital().getRange());
+                nodeInfo.setTypeval(Constants.vital);
+                pacsBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(nodeInfo));
+            }
         }
 
 
         Set<PacsSubNameLis> liss = pacs.getPacsSubNameLis();
         for (PacsSubNameLis lis : liss) {
-            nodeInfo = new NodeInfo();
-            nodeInfo.setName(lis.getLis().getName());
-            nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(lis.getLis().getMinval()));
-            nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(lis.getLis().getMaxval()));
-            nodeInfo.setUnit(lis.getLis().getUnit());
-            nodeInfo.setRange(lis.getLis().getRange());
-            nodeInfo.setTypeval(Constants.lis);
-            pacsBillNeoDTO.getLis().add(NeoUtil.updateNodeInfo(nodeInfo));
+            if (NeoUtil.isExist(lis.getLis())) {
+                nodeInfo = new NodeInfo();
+                nodeInfo.setName(lis.getLis().getName());
+                nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(lis.getLis().getMinval()));
+                nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(lis.getLis().getMaxval()));
+                nodeInfo.setUnit(lis.getLis().getUnit());
+                nodeInfo.setRange(lis.getLis().getRange());
+                nodeInfo.setTypeval(Constants.lis);
+                pacsBillNeoDTO.getLis().add(NeoUtil.updateNodeInfo(nodeInfo));
+            }
         }
 
 
         Set<PacsSubNamePacsDescribe> conflict_pacsdesc = pacs.getPacsSubNamePacsdescribes();
         for (PacsSubNamePacsDescribe pacsdesc : conflict_pacsdesc) {
-            nodeInfo = new NodeInfo();
-            nodeInfo.setName(pacsdesc.getPacsDescribe().getName());
-            nodeInfo.setTypeval(Constants.pacsdesc);
-            pacsBillNeoDTO.getPacsDesc().add(NeoUtil.updateNodeInfo(nodeInfo));
+            if (NeoUtil.isExist(pacsdesc.getPacsDescribe())) {
+                nodeInfo = new NodeInfo();
+                nodeInfo.setName(pacsdesc.getPacsDescribe().getName());
+                nodeInfo.setTypeval(Constants.pacsdesc);
+                pacsBillNeoDTO.getPacsDesc().add(NeoUtil.updateNodeInfo(nodeInfo));
+            }
         }
 
 
         Set<PacsSubNameGroup> groups = pacs.getPacsSubNameGroups();
         for (PacsSubNameGroup group : groups) {
-            nodeInfo = new NodeInfo();
-            nodeInfo.setName(group.getGroup().getName());
-            nodeInfo.setTypeval(Constants.group);
-            pacsBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+            if (NeoUtil.isExist(group.getGroup())) {
+                nodeInfo = new NodeInfo();
+                nodeInfo.setName(group.getGroup().getName());
+                nodeInfo.setTypeval(Constants.group);
+                pacsBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+            }
         }
 
 
         Set<PacsSubNameOralMedicine> conflict_medicines = pacs.getPacsSubNameOralmedicines();
         for (PacsSubNameOralMedicine conflict_medicine : conflict_medicines) {
-            nodeInfo = new NodeInfo();
-            nodeInfo.setName(conflict_medicine.getOralMedicine().getName());
-            nodeInfo.setTypeval(Constants.yaoping);
-            pacsBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+            if (NeoUtil.isExist(conflict_medicine.getOralMedicine())) {
+                nodeInfo = new NodeInfo();
+                nodeInfo.setName(conflict_medicine.getOralMedicine().getName());
+                nodeInfo.setTypeval(Constants.yaoping);
+                pacsBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+            }
         }
 
 
         Set<PacsSubNameDisease> diseases = pacs.getPacsSubNameDiseases();
         for (PacsSubNameDisease disease : diseases) {
-            nodeInfo = new NodeInfo();
-            nodeInfo.setName(disease.getDisease().getName());
-            nodeInfo.setTypeval(Constants.disease);
-            pacsBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(nodeInfo));
+            if (NeoUtil.isExist(disease.getDisease())) {
+                nodeInfo = new NodeInfo();
+                nodeInfo.setName(disease.getDisease().getName());
+                nodeInfo.setTypeval(Constants.disease);
+                pacsBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(nodeInfo));
+            }
         }
 
 
         Set<PacsSubNameMedAllergen> medAllergens = pacs.getPacsSubNameMedallergens();
         for (PacsSubNameMedAllergen medAllergen : medAllergens) {
-            nodeInfo = new NodeInfo();
-            nodeInfo.setName(medAllergen.getMedAllergen().getName());
-            nodeInfo.setTypeval(NeoUtil.getMedType(medAllergen.getMedAllergen().getName()));
-            pacsBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+            if (NeoUtil.isExist(medAllergen.getMedAllergen())) {
+                nodeInfo = new NodeInfo();
+                nodeInfo.setName(medAllergen.getMedAllergen().getName());
+                nodeInfo.setTypeval(NeoUtil.getMedType(medAllergen.getMedAllergen().getName()));
+                pacsBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+            }
         }
 
 
         Set<PacsSubNameAllergen> allergens = pacs.getPacsSubNameAllergens();
         for (PacsSubNameAllergen allergen : allergens) {
-            nodeInfo = new NodeInfo();
-            nodeInfo.setName(allergen.getAllergen().getName());
-            nodeInfo.setTypeval(Constants.yaoping); // 过敏原归类成药物过敏原,与模型提取匹配
-            pacsBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+            if (NeoUtil.isExist(allergen.getAllergen())) {
+                nodeInfo = new NodeInfo();
+                nodeInfo.setName(allergen.getAllergen().getName());
+                nodeInfo.setTypeval(Constants.yaoping); // 过敏原归类成药物过敏原,与模型提取匹配
+                pacsBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+            }
         }
 
 
         Set<PacsSubNameConflictDevice> conflictDevices = pacs.getPacsSubNameConflictdevices();
         for (PacsSubNameConflictDevice conflictDevice : conflictDevices) {
-            nodeInfo = new NodeInfo();
-            nodeInfo.setName(conflictDevice.getConflictDevice().getName());
-            nodeInfo.setTypeval(Constants.conflictdevice);
-            pacsBillNeoDTO.getMeddevice().add(NeoUtil.updateNodeInfo(nodeInfo));
+            if (NeoUtil.isExist(conflictDevice.getConflictDevice())) {
+                nodeInfo = new NodeInfo();
+                nodeInfo.setName(conflictDevice.getConflictDevice().getName());
+                nodeInfo.setTypeval(Constants.conflictdevice);
+                pacsBillNeoDTO.getMeddevice().add(NeoUtil.updateNodeInfo(nodeInfo));
+            }
         }
 
 

+ 8 - 4
src/main/java/com/diagbot/repository/TransfusionSuggestNode.java

@@ -95,8 +95,10 @@ public class TransfusionSuggestNode {
 			if (tf.getTransfusionSuggestDiseases().size()>0) {
 				for (TransfusionSuggestYiBaoDiseaseName tfDisease : tf.getTransfusionSuggestDiseases()) {
 					if (NeoUtil.isExist(tfDisease)) {
-						YiBaoDiseaseName ybdisease = tfDisease.getYiBaoDiseaseName();
-						disname = ybdisease.getName();
+						if (NeoUtil.isExist(tfDisease.getYiBaoDiseaseName())) {
+							YiBaoDiseaseName ybdisease = tfDisease.getYiBaoDiseaseName();
+							disname = ybdisease.getName();
+						}
 					}
 				}
 			}
@@ -104,8 +106,10 @@ public class TransfusionSuggestNode {
 			if (tf.getTransfusionSuggestOperations().size()>0) {
 				for (TransfusionSuggestYiBaoOperationName tfOperation : tf.getTransfusionSuggestOperations()) {
 					if (NeoUtil.isExist(tfOperation)) {
-						YiBaoOperationName yboperation = tfOperation.getYiBaoOperationName();
-						surgname = yboperation.getName();
+						if (NeoUtil.isExist(tfOperation.getYiBaoOperationName())) {
+							YiBaoOperationName yboperation = tfOperation.getYiBaoOperationName();
+							surgname = yboperation.getName();
+						}
 					}
 				}
 			}

+ 16 - 8
src/main/java/com/diagbot/repository/YiBaoDiseaseNode.java

@@ -204,8 +204,10 @@ public class YiBaoDiseaseNode {
 			Set<YiBaoDiseaseNameYiBaoICD_10Code> yiBaoICD10Codes = disease.getYiBaoDiseaseNameYibaoicd_10codes();
 			for (YiBaoDiseaseNameYiBaoICD_10Code code : yiBaoICD10Codes) {
 				if (NeoUtil.isExist(code)) {
-					pushBaseDTO = new PushBaseDTO();
-					pushBaseDTO.setName(code.getYiBaoICD_10Code().getName());
+					if (NeoUtil.isExist(code.getYiBaoICD_10Code())) {
+						pushBaseDTO = new PushBaseDTO();
+						pushBaseDTO.setName(code.getYiBaoICD_10Code().getName());
+					}
 				}
 			}
 
@@ -213,24 +215,30 @@ public class YiBaoDiseaseNode {
 			Set<YiBaoDiseaseNameGuoLinICD_10Code> guoLinICD10Codes = disease.getYiBaoDiseaseNameGuolinicd_10codes();
 			for (YiBaoDiseaseNameGuoLinICD_10Code code : guoLinICD10Codes) {
 				if (NeoUtil.isExist(code)) {
-					pushBaseDTO = new PushBaseDTO();
-					pushBaseDTO.setName(code.getGuoLinICD_10Code().getName());
+					if (NeoUtil.isExist(code.getGuoLinICD_10Code())) {
+						pushBaseDTO = new PushBaseDTO();
+						pushBaseDTO.setName(code.getGuoLinICD_10Code().getName());
+					}
 				}
 			}
 
 			Set<YiBaoDiseaseNameGuoLinDiseaseName> guoLinDiseaseNames = disease.getYiBaoDiseaseNameGuolindiseasenames();
 			for (YiBaoDiseaseNameGuoLinDiseaseName glname : guoLinDiseaseNames) {
 				if (NeoUtil.isExist(glname)) {
-					pushBaseDTO = new PushBaseDTO();
-					pushBaseDTO.setName(glname.getGuoLinDiseaseName().getName());
+					if (NeoUtil.isExist(glname.getGuoLinDiseaseName())) {
+						pushBaseDTO = new PushBaseDTO();
+						pushBaseDTO.setName(glname.getGuoLinDiseaseName().getName());
+					}
 				}
 			}
 
 			Set<YiBaoDiseaseNamePathwayName> pathwayNames = disease.getYiBaoDiseaseNamePathwaynames();
 			for (YiBaoDiseaseNamePathwayName pwname : pathwayNames) {
 				if (NeoUtil.isExist(pwname)) {
-					pushBaseDTO = new PushBaseDTO();
-					pushBaseDTO.setName(pwname.getPathwayName().getName());
+					if (NeoUtil.isExist(pwname.getPathwayName())) {
+						pushBaseDTO = new PushBaseDTO();
+						pushBaseDTO.setName(pwname.getPathwayName().getName());
+					}
 				}
 			}
 

+ 83 - 63
src/main/java/com/diagbot/repository/YiBaoOperationNameNode.java

@@ -43,122 +43,142 @@ public class YiBaoOperationNameNode {
 
         YiBaoOperationNameGender yiBaoOperationNameGender = operation.getGender();
         if (NeoUtil.isExist(yiBaoOperationNameGender)) {
-            Gender gender = yiBaoOperationNameGender.getGender();
-            nodeInfo = new NodeInfo();
-            nodeInfo.setName(gender.getName());
-            nodeInfo.setTypeval(Constants.gender);
-            opBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+            if (NeoUtil.isExist(yiBaoOperationNameGender.getGender())) {
+                Gender gender = yiBaoOperationNameGender.getGender();
+                nodeInfo = new NodeInfo();
+                nodeInfo.setName(gender.getName());
+                nodeInfo.setTypeval(Constants.gender);
+                opBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+            }
         }
 
         Set<YiBaoOperationNameClinicalFinding> yibaoOperationNameclinicalfindings = operation.getClinicalFindings();
         for (YiBaoOperationNameClinicalFinding yiBaoOperationNameclinicalfinding : yibaoOperationNameclinicalfindings) {
             if (NeoUtil.isExist(yiBaoOperationNameclinicalfinding)) {
-                ClinicalFinding clinicalfinding = yiBaoOperationNameclinicalfinding.getClinicalFinding();
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(clinicalfinding.getName());
-                nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(clinicalfinding.getMinval()));
-                nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(clinicalfinding.getMaxval()));
-                nodeInfo.setUnit(clinicalfinding.getUnit());
-                nodeInfo.setRange(clinicalfinding.getRange());
-                nodeInfo.setTypeval(Constants.clinicalfinding);
-                opBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(yiBaoOperationNameclinicalfinding.getClinicalFinding())) {
+                    ClinicalFinding clinicalfinding = yiBaoOperationNameclinicalfinding.getClinicalFinding();
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(clinicalfinding.getName());
+                    nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(clinicalfinding.getMinval()));
+                    nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(clinicalfinding.getMaxval()));
+                    nodeInfo.setUnit(clinicalfinding.getUnit());
+                    nodeInfo.setRange(clinicalfinding.getRange());
+                    nodeInfo.setTypeval(Constants.clinicalfinding);
+                    opBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
         Set<YiBaoOperationNameVital> yiBaoOperationNamevitals = operation.getVitals();
         for (YiBaoOperationNameVital yiBaoOperationNamevital : yiBaoOperationNamevitals) {
             if (NeoUtil.isExist(yiBaoOperationNamevital)) {
-                Vital vital = yiBaoOperationNamevital.getVital();
-                nodeInfo = new NodeInfo();
-                String name = vital.getName();
-                nodeInfo.setName(name);
-                nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(vital.getMinval()));
-                nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(vital.getMaxval()));
-                nodeInfo.setUnit(vital.getUnit());
-                nodeInfo.setRange(vital.getRange());
-                nodeInfo.setTypeval(Constants.vital);
-                opBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(yiBaoOperationNamevital.getVital())) {
+                    Vital vital = yiBaoOperationNamevital.getVital();
+                    nodeInfo = new NodeInfo();
+                    String name = vital.getName();
+                    nodeInfo.setName(name);
+                    nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(vital.getMinval()));
+                    nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(vital.getMaxval()));
+                    nodeInfo.setUnit(vital.getUnit());
+                    nodeInfo.setRange(vital.getRange());
+                    nodeInfo.setTypeval(Constants.vital);
+                    opBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
         Set<YiBaoOperationNameLis> yiBaoOperationNameLisSet = operation.getLiss();
         for (YiBaoOperationNameLis yiBaoOperationNameLis : yiBaoOperationNameLisSet) {
             if (NeoUtil.isExist(yiBaoOperationNameLis)) {
-                Lis lis = yiBaoOperationNameLis.getLis();
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(lis.getName());
-                nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(lis.getMinval()));
-                nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(lis.getMaxval()));
-                nodeInfo.setUnit(lis.getUnit());
-                nodeInfo.setRange(lis.getRange());
-                nodeInfo.setTypeval(Constants.lis);
-                opBillNeoDTO.getLis().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(yiBaoOperationNameLis.getLis())) {
+                    Lis lis = yiBaoOperationNameLis.getLis();
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(lis.getName());
+                    nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(lis.getMinval()));
+                    nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(lis.getMaxval()));
+                    nodeInfo.setUnit(lis.getUnit());
+                    nodeInfo.setRange(lis.getRange());
+                    nodeInfo.setTypeval(Constants.lis);
+                    opBillNeoDTO.getLis().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
         Set<YiBaoOperationNameOralMedicine> yiBaoOperationNameOralMeds= operation.getOralmeds();
         for (YiBaoOperationNameOralMedicine yiBaoOperationNameOralMed : yiBaoOperationNameOralMeds) {
             if (NeoUtil.isExist(yiBaoOperationNameOralMed)) {
-                OralMedicine conflict_oralmed = yiBaoOperationNameOralMed.getOralMedicine();
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(conflict_oralmed.getName());
-                nodeInfo.setTypeval(Constants.yaoping);
-                opBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(yiBaoOperationNameOralMed.getOralMedicine())) {
+                    OralMedicine conflict_oralmed = yiBaoOperationNameOralMed.getOralMedicine();
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(conflict_oralmed.getName());
+                    nodeInfo.setTypeval(Constants.yaoping);
+                    opBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
         Set<YiBaoOperationNameDisease> yiBaoOperationNameDiseases = operation.getDiseases();
         for (YiBaoOperationNameDisease yiBaoOperationNameDisease : yiBaoOperationNameDiseases) {
             if (NeoUtil.isExist(yiBaoOperationNameDisease)) {
-                Disease disease = yiBaoOperationNameDisease.getDisease();
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(disease.getName());
-                nodeInfo.setTypeval(Constants.disease);
-                opBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(yiBaoOperationNameDisease.getDisease())) {
+                    Disease disease = yiBaoOperationNameDisease.getDisease();
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(disease.getName());
+                    nodeInfo.setTypeval(Constants.disease);
+                    opBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
         Set<YiBaoOperationNameGroup> yiBaoOperationNameGroups = operation.getGroups();
         for (YiBaoOperationNameGroup conflict_group : yiBaoOperationNameGroups) {
             if (NeoUtil.isExist(conflict_group)) {
-                Group group = conflict_group.getGroup();
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(group.getName());
-                nodeInfo.setTypeval(Constants.group);
-                opBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(conflict_group.getGroup())) {
+                    Group group = conflict_group.getGroup();
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(group.getName());
+                    nodeInfo.setTypeval(Constants.group);
+                    opBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
         Set<YiBaoOperationNamePacsDescribe> yiBaoOperationNamePacsDescribes = operation.getPacsdescs();
         for (YiBaoOperationNamePacsDescribe yiBaoOperationNamePacsDescribe : yiBaoOperationNamePacsDescribes) {
             if (NeoUtil.isExist(yiBaoOperationNamePacsDescribe)) {
-                PacsDescribe pacsdesc = yiBaoOperationNamePacsDescribe.getPacsDescribe();
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(pacsdesc.getName());
-                nodeInfo.setTypeval(Constants.pacsdesc);
-                opBillNeoDTO.getPacsDesc().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(yiBaoOperationNamePacsDescribe.getPacsDescribe())) {
+                    PacsDescribe pacsdesc = yiBaoOperationNamePacsDescribe.getPacsDescribe();
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(pacsdesc.getName());
+                    nodeInfo.setTypeval(Constants.pacsdesc);
+                    opBillNeoDTO.getPacsDesc().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
         Set<YiBaoOperationNameMedAllergen> yiBaoOperationNameMedAllergens = operation.getMedallergens();
         for (YiBaoOperationNameMedAllergen yiBaoOperationNameMedAllergen : yiBaoOperationNameMedAllergens) {
             if (NeoUtil.isExist(yiBaoOperationNameMedAllergen)) {
-                MedAllergen medAllergen = yiBaoOperationNameMedAllergen.getMedAllergen();
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(medAllergen.getName());
-                nodeInfo.setTypeval(NeoUtil.getMedType(medAllergen.getName()));
-                opBillNeoDTO.getMedallegen().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(yiBaoOperationNameMedAllergen.getMedAllergen())) {
+                    MedAllergen medAllergen = yiBaoOperationNameMedAllergen.getMedAllergen();
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(medAllergen.getName());
+                    nodeInfo.setTypeval(NeoUtil.getMedType(medAllergen.getName()));
+                    opBillNeoDTO.getMedallegen().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 
         Set<YiBaoOperationNameConflictDevice> yiBaoOperationNameConflictDevices = operation.getConflictdevices();
         for (YiBaoOperationNameConflictDevice yiBaoOperationNameConflictDevice : yiBaoOperationNameConflictDevices) {
             if (NeoUtil.isExist(yiBaoOperationNameConflictDevice)) {
-                ConflictDevice device = yiBaoOperationNameConflictDevice.getConflictDevice();
-                nodeInfo = new NodeInfo();
-                nodeInfo.setName(device.getName());
-                nodeInfo.setTypeval(Constants.conflictdevice);
-                opBillNeoDTO.getMeddevice().add(NeoUtil.updateNodeInfo(nodeInfo));
+                if (NeoUtil.isExist(yiBaoOperationNameConflictDevice.getConflictDevice())) {
+                    ConflictDevice device = yiBaoOperationNameConflictDevice.getConflictDevice();
+                    nodeInfo = new NodeInfo();
+                    nodeInfo.setName(device.getName());
+                    nodeInfo.setTypeval(Constants.conflictdevice);
+                    opBillNeoDTO.getMeddevice().add(NeoUtil.updateNodeInfo(nodeInfo));
+                }
             }
         }
 

+ 17 - 0
src/main/java/com/diagbot/util/NeoUtil.java

@@ -5,6 +5,7 @@ import com.diagbot.dto.NodeNeoDTO;
 import com.diagbot.dto.PushBaseDTO;
 import com.diagbot.entity.node.Vital;
 import com.diagbot.entity.node.YiBaoDiseaseName;
+import com.diagbot.entity.node.base.BaseNode;
 import com.diagbot.entity.relationship.YiBaoDiseaseNameLisBigName;
 import com.diagbot.entity.relationship.YiBaoDiseaseNamePacsName;
 import com.diagbot.entity.relationship.YiBaoDiseaseNameSymptom;
@@ -277,6 +278,22 @@ public class NeoUtil {
     }
 
 
+
+    public static boolean isExist(BaseNode node) {
+
+        if (null==node) {
+            return false;
+        }
+        else if (null==node.getStatus() ||
+                (null!=node.getStatus() && node.getStatus()==1)) {
+            return true;
+        }
+        else {
+            return false;
+        }
+    }
+
+
     public static YiBaoDiseaseName extract_node(YiBaoDiseaseName yiBaoDiseaseName) {
         for (YiBaoDiseaseNameSymptom symptom : yiBaoDiseaseName.getYiBaoDiseaseNameSymptoms()) {
             if (isExist(symptom)) {

+ 1 - 1
src/main/java/com/diagbot/vo/BillNeoVO.java

@@ -20,7 +20,7 @@ public class BillNeoVO {
     private List<Map<String, String>> pacsList = new ArrayList();
 
     // 药品入参
-    private List<Map<String, String>> drugList = new ArrayList();
+    private List<Map<String, Drug>> drugList = new ArrayList();
 
     // 诊断入参
     private List<Map<String, String>> diagList = new ArrayList();