浏览代码

更新图谱查询开单合理性的方法

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

+ 48 - 30
src/main/java/com/diagbot/repository/LisNode.java

@@ -16,10 +16,14 @@ public class LisNode {
 	public LisBillNeoDTO ListoLISDTO(LIS lis) {
 
 		LisBillNeoDTO lisBillNeoDTO = new LisBillNeoDTO();
+		NodeInfo nodeInfo;
 
 		Gender gender = lis.getGender();
 		if (null!=gender) {
-			lisBillNeoDTO.setGender(NeoUtil.updateNodeInfo(gender.getName(), null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(gender.getName());
+			nodeInfo.setTypeval("性别");
+			lisBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 
@@ -34,68 +38,82 @@ public class LisNode {
 
 		Set<ClinicalFinding> clinicalfindings = lis.getClinicalfindings();
 		for (ClinicalFinding clinicalfinding : clinicalfindings) {
-			String name = clinicalfinding.getName();
-			BigDecimal min = NeoUtil.DoubletoBigDecimal(clinicalfinding.getMinval());
-			BigDecimal max = NeoUtil.DoubletoBigDecimal(clinicalfinding.getMaxval());
-			String unit = clinicalfinding.getUnit();
-			Integer range = clinicalfinding.getRange();
-			lisBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(name, min, max, unit, range));
+			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());
+			lisBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<Vital> vitals = lis.getVitals();
 		for (Vital vital : vitals) {
+			nodeInfo = new NodeInfo();
 			String name = vital.getName();
-			BigDecimal min = NeoUtil.DoubletoBigDecimal(vital.getMinval());
-			BigDecimal max = NeoUtil.DoubletoBigDecimal(vital.getMaxval());
-			String unit = vital.getUnit();
-			Integer range = vital.getRange();
-			lisBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(name, min, max, unit, range));
+			if (name.contains("禁忌")) {
+				name = name.substring(name.indexOf("禁忌")+2);
+			}
+			nodeInfo.setName(name);
+			nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(vital.getMinval()));
+			nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(vital.getMaxval()));
+			nodeInfo.setUnit(vital.getUnit());
+			nodeInfo.setRange(vital.getRange());
+			lisBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<Medicine> conflict_medicines = lis.getConflict_medicines();
 		for (Medicine conflict_medicine : conflict_medicines) {
-			String name = conflict_medicine.getName();
-			lisBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(conflict_medicine.getName());
+			lisBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<AllergicMed> allergicmeds = lis.getAllergicmeds();
 		for (AllergicMed allergicmed : allergicmeds) {
-			String name = allergicmed.getName();
-			lisBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(allergicmed.getName());
+			lisBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<Operation> operations = lis.getOperations();
 		for (Operation operation : operations) {
-			String name = operation.getName();
-			lisBillNeoDTO.getOperations().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(operation.getName());
+
+			lisBillNeoDTO.getOperations().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<Procedure> procedures = lis.getProcedures();
 		for (Procedure procedure : procedures) {
-			String name = procedure.getName();
-			lisBillNeoDTO.getProcedures().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(procedure.getName());
+
+			lisBillNeoDTO.getProcedures().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<PACS> pacss = lis.getPacs();
 		for (PACS pacs : pacss) {
-			String name = pacs.getName();
-//			BigDecimal min = pacs.getMinval();
-//			BigDecimal max = pacs.getMaxval();
-//			String unit = pacs.getUnit();
-//			lisBillNeoDTO.getPacs().add(NeoUtil.updateNodeInfo(name, min, max, unit));
-			lisBillNeoDTO.getPacs().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(pacs.getName());
+
+			lisBillNeoDTO.getPacs().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<Disease> diseases = lis.getDiseases();
 		for (Disease disease : diseases) {
-			String name = disease.getName();
-			lisBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(disease.getName());
+
+			lisBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<Group> groups = lis.getGroups();
 		for (Group group : groups) {
-			String name = group.getName();
-			lisBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(group.getName());
+
+			lisBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 

+ 36 - 25
src/main/java/com/diagbot/repository/LisPackNode.java

@@ -7,6 +7,7 @@ import com.diagbot.dto.NodeNeoDTO;
 import com.diagbot.entity.node.*;
 import com.diagbot.util.NeoUtil;
 
+import javax.xml.soap.Node;
 import java.math.BigDecimal;
 import java.util.*;
 
@@ -15,10 +16,14 @@ public class LisPackNode {
 	public LisBillNeoDTO LisPacktoLISDTO(LISPack lispack) {
 
 		LisBillNeoDTO lisBillNeoDTO = new LisBillNeoDTO();
+		NodeInfo nodeInfo;
 
 		Gender gender = lispack.getGender();
 		if (null!=gender) {
-			lisBillNeoDTO.setGender(NeoUtil.updateNodeInfo(gender.getName(), null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(gender.getName());
+			nodeInfo.setTypeval("性别");
+			lisBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 
@@ -33,58 +38,64 @@ public class LisPackNode {
 
 		Set<ClinicalFinding> clinicalfindings = lispack.getClinicalfindings();
 		for (ClinicalFinding clinicalfinding : clinicalfindings) {
-			String name = clinicalfinding.getName();
-			BigDecimal min = NeoUtil.DoubletoBigDecimal(clinicalfinding.getMinval());
-			BigDecimal max = NeoUtil.DoubletoBigDecimal(clinicalfinding.getMaxval());
-			String unit = clinicalfinding.getUnit();
-			Integer range = clinicalfinding.getRange();
-			lisBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(name, min, max, unit, range));
+			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());
+			lisBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<Medicine> conflict_medicines = lispack.getConflict_medicines();
 		for (Medicine conflict_medicine : conflict_medicines) {
-			String name = conflict_medicine.getName();
-			lisBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(conflict_medicine.getName());
+			lisBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<AllergicMed> allergicmeds = lispack.getAllergicmeds();
 		for (AllergicMed allergicmed : allergicmeds) {
-			String name = allergicmed.getName();
-			lisBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(allergicmed.getName());
+
+			lisBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<Operation> operations = lispack.getOperations();
 		for (Operation operation : operations) {
-			String name = operation.getName();
-			lisBillNeoDTO.getOperations().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(operation.getName());
+
+			lisBillNeoDTO.getOperations().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<Procedure> procedures = lispack.getProcedures();
 		for (Procedure procedure : procedures) {
-			String name = procedure.getName();
-			lisBillNeoDTO.getProcedures().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(procedure.getName());
+			lisBillNeoDTO.getProcedures().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<PACS> pacss = lispack.getPacs();
 		for (PACS pacs : pacss) {
-			String name = pacs.getName();
-//			BigDecimal min = pacs.getMinval();
-//			BigDecimal max = pacs.getMaxval();
-//			String unit = pacs.getUnit();
-//			lisBillNeoDTO.getPacs().add(NeoUtil.updateNodeInfo(name, min, max, unit));
-			lisBillNeoDTO.getPacs().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(pacs.getName());
+			lisBillNeoDTO.getPacs().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<Disease> diseases = lispack.getDiseases();
 		for (Disease disease : diseases) {
-			String name = disease.getName();
-			lisBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(disease.getName());
+			lisBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 		Set<Group> groups = lispack.getGroups();
 		for (Group group : groups) {
-			String name = group.getName();
-			lisBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+			nodeInfo = new NodeInfo();
+			nodeInfo.setName(group.getName());
+			lisBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
 		}
 
 

+ 54 - 41
src/main/java/com/diagbot/repository/MedicineNode.java

@@ -15,6 +15,15 @@ public class MedicineNode {
 
     public DrugBillNeoDTO MedicinetoDrugDTO(Medicine medicine) {
         DrugBillNeoDTO drugBillNeoDTO = new DrugBillNeoDTO();
+        NodeInfo nodeInfo = new NodeInfo();
+
+        Gender gender = medicine.getGender();
+        if (gender!=null) {
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(gender.getName());
+            nodeInfo.setTypeval("性别");
+            drugBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
+        }
 
         Age age = medicine.getAge();
         if (age!=null) {
@@ -25,95 +34,99 @@ public class MedicineNode {
         }
 
 
-        Gender gender = medicine.getGender();
-        if (gender!=null) {
-            drugBillNeoDTO.setGender(NeoUtil.updateNodeInfo(gender.getName(), null, null, null, null));
-        }
-
-
         Set<ClinicalFinding> clinicalfindings = medicine.getClinicalfindings();
         for (ClinicalFinding clinicalfinding : clinicalfindings) {
-            String name = clinicalfinding.getName();
-            BigDecimal min = NeoUtil.DoubletoBigDecimal(clinicalfinding.getMinval());
-            BigDecimal max = NeoUtil.DoubletoBigDecimal(clinicalfinding.getMaxval());
-            String unit = clinicalfinding.getUnit();
-            Integer range = clinicalfinding.getRange();
-            drugBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(name, min, max, unit, range));
+            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());
+            drugBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
 
         Set<Vital> vitals = medicine.getVitals();
         for (Vital vital : vitals) {
+            nodeInfo = new NodeInfo();
             String name = vital.getName();
-            BigDecimal min = NeoUtil.DoubletoBigDecimal(vital.getMinval());
-            BigDecimal max = NeoUtil.DoubletoBigDecimal(vital.getMaxval());
-            String unit = vital.getUnit();
-            Integer range = vital.getRange();
-            drugBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(name, min, max, unit, range));
+            if (name.contains("禁忌")) {
+                name = name.substring(name.indexOf("禁忌")+2);
+            }
+            nodeInfo.setName(name);
+            nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(vital.getMinval()));
+            nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(vital.getMaxval()));
+            nodeInfo.setUnit(vital.getUnit());
+            nodeInfo.setRange(vital.getRange());
+            drugBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
 
         Set<LIS> lisset = medicine.getLisset();
         for (LIS lis : lisset) {
-            String name = lis.getName();
-            BigDecimal min = NeoUtil.DoubletoBigDecimal(lis.getMinval());
-            BigDecimal max = NeoUtil.DoubletoBigDecimal(lis.getMaxval());
-            String unit = lis.getUnit();
-            Integer range = lis.getRange();
-            drugBillNeoDTO.getLis().add(NeoUtil.updateNodeInfo(name, min, max, unit, range));
+            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());
+            drugBillNeoDTO.getLis().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
 
         Set<PACS> pacsset = medicine.getPacs();
         for (PACS pacs : pacsset) {
-            String name = pacs.getName();
-//            BigDecimal min = pacs.getMinval();
-//            BigDecimal max = pacs.getMaxval();
-//            String unit = pacs.getUnit();
-//            drugBillNeoDTO.getPacs().add(NeoUtil.updateNodeInfo(name, min, max, unit));
-            drugBillNeoDTO.getPacs().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(pacs.getName());
+            drugBillNeoDTO.getPacs().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
 
         Set<AllergicMed> allergicmeds = medicine.getAllergicmeds();
         for (AllergicMed allergicmed: allergicmeds) {
-            String name = allergicmed.getName();
-            drugBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(allergicmed.getName());
+            drugBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
 
         Set<Operation> operations = medicine.getOperations();
         for (Operation operation : operations) {
-            String name = operation.getName();
-            drugBillNeoDTO.getOperations().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(operation.getName());
+            drugBillNeoDTO.getOperations().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
 
         Set<Procedure> procedures = medicine.getProcedures();
         for (Procedure procedure : procedures) {
-            String name = procedure.getName();
-            drugBillNeoDTO.getProcedures().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(procedure.getName());
+            drugBillNeoDTO.getProcedures().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
 
         Set<Disease> diseases = medicine.getDiseases();
         for (Disease disease : diseases) {
-            String name = disease.getName();
-            drugBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(disease.getName());
+            drugBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
 
         Set<Group> groups = medicine.getGroups();
         for (Group group : groups) {
-            String name = group.getName();
-            drugBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(group.getName());
+            drugBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
 
         Set<ConflictMed> conflict_medicines = medicine.getConflictmeds();
         for (ConflictMed conflict_medicine : conflict_medicines) {
-            String name = conflict_medicine.getName();
-            drugBillNeoDTO.getConflictmeds().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(conflict_medicine.getName());
+            drugBillNeoDTO.getConflictmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
 

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

@@ -0,0 +1,21 @@
+package com.diagbot.repository;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class NodeInfo {
+    // 名称
+    String name;
+    // 最小值
+    BigDecimal Minval;
+    // 最大值
+    BigDecimal Maxval;
+    // 单位
+    String unit;
+    // 取值范围
+    Integer range;
+    // 类型
+    String typeval;
+}

+ 41 - 27
src/main/java/com/diagbot/repository/OperationNode.java

@@ -8,6 +8,7 @@ import com.diagbot.dto.OperationInfoDTO;
 import com.diagbot.entity.node.*;
 import com.diagbot.util.NeoUtil;
 
+import javax.xml.soap.Node;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
@@ -19,65 +20,78 @@ public class OperationNode {
 
     public OperationBillNeoDTO OperationtoOperationDTO(Operation operation) {
         OperationBillNeoDTO opBillNeoDTO = new OperationBillNeoDTO();
-
+        NodeInfo nodeInfo;
 
         Gender gender = operation.getGender();
         if (null!=gender) {
-            opBillNeoDTO.setGender(NeoUtil.updateNodeInfo(gender.getName(), null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(gender.getName());
+            opBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         Set<ClinicalFinding> clinicalfindings = operation.getClinicalFindings();
         for (ClinicalFinding clinicalfinding : clinicalfindings) {
-            String name = clinicalfinding.getName();
-            BigDecimal min = NeoUtil.DoubletoBigDecimal(clinicalfinding.getMinval());
-            BigDecimal max = NeoUtil.DoubletoBigDecimal(clinicalfinding.getMaxval());
-            String unit = clinicalfinding.getUnit();
-            Integer range = clinicalfinding.getRange();
-            opBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(name, min, max, unit, range));
+            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());
+            opBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         Set<Vital> vitals = operation.getVitals();
         for (Vital vital : vitals) {
+            nodeInfo = new NodeInfo();
             String name = vital.getName();
-            BigDecimal min = NeoUtil.DoubletoBigDecimal(vital.getMinval());
-            BigDecimal max = NeoUtil.DoubletoBigDecimal(vital.getMaxval());
-            String unit = vital.getUnit();
-            Integer range = vital.getRange();
-            opBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(name, min, max, unit, range));
+            if (name.contains("禁忌")) {
+                name = name.substring(name.indexOf("禁忌")+2);
+            }
+            nodeInfo.setName(name);
+            nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(vital.getMinval()));
+            nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(vital.getMaxval()));
+            nodeInfo.setUnit(vital.getUnit());
+            nodeInfo.setRange(vital.getRange());
+            opBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         Set<LIS> lisSet = operation.getConflict_lis();
         for (LIS lis : lisSet) {
-            String name = lis.getName();
-            BigDecimal min = NeoUtil.DoubletoBigDecimal(lis.getMinval());
-            BigDecimal max = NeoUtil.DoubletoBigDecimal(lis.getMaxval());
-            String unit = lis.getUnit();
-            Integer range = lis.getRange();
-            opBillNeoDTO.getLis().add(NeoUtil.updateNodeInfo(name, min, max, unit, range));
+            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());
+            opBillNeoDTO.getLis().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         Set<OralMedicine> conflict_oralmeds = operation.getOralMedicines();
         for (OralMedicine conflict_oralmed : conflict_oralmeds) {
-            String name = conflict_oralmed.getName();
-            opBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(conflict_oralmed.getName());
+            opBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         Set<Disease> conflict_disease = operation.getConflict_diseases();
         for (Disease disease : conflict_disease) {
-            String name = disease.getName();
-            opBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(disease.getName());
+            opBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         Set<Group> conflict_group = operation.getGroups();
         for (Group group : conflict_group) {
-            String name = group.getName();
-            opBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(group.getName());
+            opBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         Set<PACSDescribe> conflict_pacsdesc = operation.getConflict_pacsdesc();
         for (PACSDescribe pacsdesc : conflict_pacsdesc) {
-            String name = pacsdesc.getName();
-            opBillNeoDTO.getPacsDesc().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(pacsdesc.getName());
+            opBillNeoDTO.getPacsDesc().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         return opBillNeoDTO;

+ 49 - 33
src/main/java/com/diagbot/repository/PACSNode.java

@@ -17,7 +17,7 @@ public class PACSNode {
 
     public PacsBillNeoDTO PacstoPACSDTO(PACS pacs) {
         PacsBillNeoDTO pacsBillNeoDTO = new PacsBillNeoDTO();
-
+        NodeInfo nodeInfo;
 
         Age age = pacs.getAge();
         if (age!=null) {
@@ -30,86 +30,102 @@ public class PACSNode {
 
         Gender gender = pacs.getGender();
         if (gender!=null) {
-            pacsBillNeoDTO.setGender(NeoUtil.updateNodeInfo(gender.getName(), null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(gender.getName());
+            pacsBillNeoDTO.setGender(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
 
 
         Set<ClinicalFinding> clinicalfindings = pacs.getClinicalfindings();
         for (ClinicalFinding clinicalfinding : clinicalfindings) {
-            String name = clinicalfinding.getName();
-            BigDecimal min = NeoUtil.DoubletoBigDecimal(clinicalfinding.getMinval());
-            BigDecimal max = NeoUtil.DoubletoBigDecimal(clinicalfinding.getMaxval());
-             String unit = clinicalfinding.getUnit();
-            Integer range = clinicalfinding.getRange();
-            pacsBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(name, min, max, unit, range));
+            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());
+            pacsBillNeoDTO.getClinicfindings().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
 
         Set<Vital> vitals = pacs.getVitals();
         for (Vital vital : vitals) {
+            nodeInfo = new NodeInfo();
             String name = vital.getName();
             if (name.contains("禁忌")) {
                 name = name.substring(name.indexOf("禁忌")+2);
             }
-            BigDecimal min = NeoUtil.DoubletoBigDecimal(vital.getMinval());
-            BigDecimal max = NeoUtil.DoubletoBigDecimal(vital.getMaxval());
-            String unit = vital.getUnit();
-            Integer range = vital.getRange();
-            pacsBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(name, min, max, unit, range));
+            nodeInfo.setName(name);
+            nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(vital.getMinval()));
+            nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(vital.getMaxval()));
+            nodeInfo.setUnit(vital.getUnit());
+            nodeInfo.setRange(vital.getRange());
+            pacsBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
 
         Set<OralMedicine> conflict_medicines = pacs.getOralmeds();
         for (OralMedicine conflict_medicine : conflict_medicines) {
-            String name = conflict_medicine.getName();
-            pacsBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(conflict_medicine.getName());
+            pacsBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         Set<AllergicMed> allergicmeds = pacs.getAllergicmeds();
         for (AllergicMed allergicmed : allergicmeds) {
-            String name = allergicmed.getName();
-            pacsBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(allergicmed.getName());
+            pacsBillNeoDTO.getAllergicmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         Set<Operation> operations = pacs.getOperations();
         for (Operation operation : operations) {
-            String name = operation.getName();
-            pacsBillNeoDTO.getOperations().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(operation.getName());
+            pacsBillNeoDTO.getOperations().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         Set<Procedure> procedures = pacs.getProcedures();
         for (Procedure procedure : procedures) {
-            String name = procedure.getName();
-            pacsBillNeoDTO.getProcedures().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(procedure.getName());
+            pacsBillNeoDTO.getProcedures().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         Set<LIS> liss = pacs.getLiss();
         for (LIS lis : liss) {
-            String name = lis.getName();
-            BigDecimal min = NeoUtil.DoubletoBigDecimal(lis.getMinval());
-            BigDecimal max = NeoUtil.DoubletoBigDecimal(lis.getMaxval());
-            String unit = lis.getUnit();
-            Integer range = lis.getRange();
-            pacsBillNeoDTO.getLis().add(NeoUtil.updateNodeInfo(name, min, max, unit, range));
+            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());
+            pacsBillNeoDTO.getLis().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         Set<Disease> diseases = pacs.getDiseases();
         for (Disease disease : diseases) {
-            String name = disease.getName();
-            pacsBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(disease.getName());
+
+            pacsBillNeoDTO.getDisease().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         Set<Group> groups = pacs.getGroups();
         for (Group group : groups) {
-            String name = group.getName();
-            pacsBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(group.getName());
+
+            pacsBillNeoDTO.getGroup().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         Set<PACSDescribe> conflict_pacsdesc = pacs.getPacs_conflict_pacsdesc();
         for (PACSDescribe pacsdesc : conflict_pacsdesc) {
-            String name = pacsdesc.getName();
-            pacsBillNeoDTO.getPacsDesc().add(NeoUtil.updateNodeInfo(name, null, null, null, null));
+            nodeInfo = new NodeInfo();
+            nodeInfo.setName(pacsdesc.getName());
+
+            pacsBillNeoDTO.getPacsDesc().add(NeoUtil.updateNodeInfo(nodeInfo));
         }
 
         return pacsBillNeoDTO;

+ 11 - 1
src/main/java/com/diagbot/util/NeoUtil.java

@@ -2,31 +2,41 @@ package com.diagbot.util;
 
 import com.diagbot.dto.NodeNeoDTO;
 import com.diagbot.dto.PushBaseDTO;
+import com.diagbot.repository.NodeInfo;
 
 import java.math.BigDecimal;
 
 public class NeoUtil {
 
-    public static NodeNeoDTO updateNodeInfo(String name, BigDecimal min, BigDecimal max, String unit, Integer range) {
+    public static NodeNeoDTO updateNodeInfo(NodeInfo nodeInfo) {
         NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
 
+        String name = nodeInfo.getName();
         name = (null==name)?"":name;
         nodeNeoDTO.setName(name);
 
+        BigDecimal min = nodeInfo.getMinval();
         if (null!=min) {
             nodeNeoDTO.setMin(min);
         }
 
+        BigDecimal max = nodeInfo.getMaxval();
         if (null!=max) {
             nodeNeoDTO.setMax(max);
         }
 
+        String unit = nodeInfo.getUnit();
         unit = (null==unit)?"":unit;
         nodeNeoDTO.setUnit(unit);
 
+        Integer range = nodeInfo.getRange();
         range = (null==range)?0:range;
         nodeNeoDTO.setValType(range);
 
+        String type = nodeInfo.getTypeval();
+        type = (null==type)?"":type;
+        nodeNeoDTO.setTermtype(type);
+
         return nodeNeoDTO;
     }