瀏覽代碼

更新化验开单合理性的返回数据结构

MarkHuang 4 年之前
父節點
當前提交
1f6644f41e

+ 5 - 0
src/main/java/com/diagbot/facade/BillFacade.java

@@ -1,6 +1,7 @@
 package com.diagbot.facade;
 
 import com.diagbot.biz.push.entity.Pacs;
+import com.diagbot.biz.push.entity.Lis;
 import com.diagbot.dto.BillDTO;
 import com.diagbot.dto.BillNeoDTO;
 import com.diagbot.dto.WordCrfDTO;
@@ -70,6 +71,10 @@ public class BillFacade {
         for (Pacs pacs : pacslist) {
             billNeoVO.getPacsList().add(pacs.getName());
         }
+        List<Lis> lislist = indicationPushVO.getLis();
+        for (Lis lis : lislist) {
+            billNeoVO.getLisList().add(lis.getName());
+        }
 
         return billNeoVO;
     }

+ 42 - 5
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -2,14 +2,13 @@ package com.diagbot.facade;
 
 import com.diagbot.dto.BillNeoDTO;
 import com.diagbot.dto.DrugBillNeoDTO;
+import com.diagbot.dto.LisBillNeoDTO;
 import com.diagbot.dto.PacsBillNeoDTO;
+import com.diagbot.entity.node.LIS;
 import com.diagbot.entity.node.Medicine;
 import com.diagbot.entity.node.PACS;
 import com.diagbot.entity.relationship.Medicine_AgeMin;
-import com.diagbot.repository.MedicineNode;
-import com.diagbot.repository.MedicineRepository;
-import com.diagbot.repository.PACSNode;
-import com.diagbot.repository.PacsRepository;
+import com.diagbot.repository.*;
 import com.diagbot.vo.BillNeoVO;
 import com.diagbot.vo.StandConvert;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,6 +32,8 @@ public class NeoFacade {
     MedicineRepository medicineRepository;
     @Autowired
     PacsRepository pacsRepository;
+    @Autowired
+    LisRepository lisRepository;
 
 
     /**
@@ -60,8 +61,11 @@ public class NeoFacade {
 
         billNeoDTOs.addAll(getDrugBill(billNeoVO.getDrugList()));
         billNeoDTOs.addAll(getPacsBill(billNeoVO.getPacsList()));
+        billNeoDTOs.addAll(getLisBill(billNeoVO.getLisList()));
 
-        System.out.println(billNeoDTOs);
+        for (BillNeoDTO billNeoDTO:billNeoDTOs) {
+            System.out.println(billNeoDTO);
+        }
         return billNeoDTOs;
     }
 
@@ -133,6 +137,39 @@ public class NeoFacade {
     }
 
 
+    /**
+     * 处理化验开单合理性
+     */
+    public List<BillNeoDTO> getLisBill(List<String> lislist) {
+        List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
+        BillNeoDTO billNeoDTO;
+
+        LisBillNeoDTO lisBillNeoDTO;
+
+        LISNode lisNode = new LISNode();
+        LIS lis;
+
+        for (String lisname : lislist) {
+            billNeoDTO = new BillNeoDTO();
+            billNeoDTO.setName(lisname);
+
+            lisBillNeoDTO = new LisBillNeoDTO();
+
+            lis = lisRepository.findByNameIs(lisname);
+
+            if (lis!=null) {
+                lisBillNeoDTO = lisNode.ListoLISDTO(lis);
+            }
+
+            billNeoDTO.setLisBillNeoDTO(lisBillNeoDTO);
+
+            billNeoDTOs.add(billNeoDTO);
+        }
+
+        return billNeoDTOs;
+    }
+
+
 
     /**
      * 标准词转换

+ 81 - 0
src/main/java/com/diagbot/repository/LISNode.java

@@ -0,0 +1,81 @@
+package com.diagbot.repository;
+
+import com.diagbot.dto.LisBillNeoDTO;
+import com.diagbot.dto.RangeNeoDTO;
+import com.diagbot.entity.node.*;
+
+import java.math.BigDecimal;
+import java.util.Set;
+
+public class LISNode {
+
+	public LisBillNeoDTO ListoLISDTO(LIS lis) {
+
+		LisBillNeoDTO lisBillNeoDTO = new LisBillNeoDTO();
+
+		Gender gender = lis.getGender();
+		String gender_val = (gender==null)?"":gender.getName();
+		lisBillNeoDTO.setGender(gender_val);
+
+
+		Age age = lis.getAge();
+		if (null!=age) {
+			RangeNeoDTO ageNeoDTO = new RangeNeoDTO();
+			ageNeoDTO.setMin(BigDecimal.valueOf(age.getMinval()));
+			ageNeoDTO.setMax(BigDecimal.valueOf(age.getMaxval()));
+			lisBillNeoDTO.setAgeNeoDTO(ageNeoDTO);
+		}
+
+		Set<ClinicalFinding> clinicalfindings = lis.getClinicalfindings();
+		for (ClinicalFinding clinicalfinding : clinicalfindings) {
+			String clinicalfinding_val = (clinicalfinding==null)?"":clinicalfinding.getName();
+			lisBillNeoDTO.getClinicfindings().add(clinicalfinding_val);
+		}
+
+		Set<Medicine> conflict_medicines = lis.getConflict_medicines();
+		for (Medicine conflict_medicine : conflict_medicines) {
+			String medicine_val = (conflict_medicine==null)?"":conflict_medicine.getName();
+			lisBillNeoDTO.getPrescribe().add(medicine_val);
+		}
+
+		Set<AllergicMed> allergicmeds = lis.getAllergicmeds();
+		for (AllergicMed allergicmed : allergicmeds) {
+			String allergicmed_val = (allergicmed==null)?"":allergicmed.getName();
+			lisBillNeoDTO.getAllergmeds().add(allergicmed_val);
+		}
+
+		Set<Operation> operations = lis.getOperations();
+		for (Operation operation : operations) {
+			String operation_val = (operation==null)?"":operation.getName();
+			lisBillNeoDTO.getOperations().add(operation_val);
+		}
+
+		Set<Procedure> procedures = lis.getProcedures();
+		for (Procedure procedure : procedures) {
+			String procedure_val = (procedure==null)?"":procedure.getName();
+			lisBillNeoDTO.getProcedures().add(procedure_val);
+		}
+
+		Set<PACS> pacss = lis.getPacs();
+		for (PACS pacs : pacss) {
+			String pacs_val = (pacs==null)?"":pacs.getName();
+			lisBillNeoDTO.getPacs().add(pacs_val);
+		}
+
+		Set<Disease> diseases = lis.getDiseases();
+		for (Disease disease : diseases) {
+			String disease_val = (disease==null)?"":disease.getName();
+			lisBillNeoDTO.getDisease().add(disease_val);
+		}
+
+		Set<Group> groups = lis.getGroups();
+		for (Group group : groups) {
+			String group_val = (group==null)?"":group.getName();
+			lisBillNeoDTO.getGroup().add(group_val);
+		}
+
+
+		return lisBillNeoDTO;
+	}
+}
+

+ 11 - 0
src/main/java/com/diagbot/repository/LisRepository.java

@@ -0,0 +1,11 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.LIS;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+
+
+public interface LisRepository extends Neo4jRepository<LIS, Long> {
+
+    LIS findByNameIs(String name);
+}
+

+ 2 - 2
src/main/java/com/diagbot/repository/PACSNode.java

@@ -46,8 +46,8 @@ public class PACSNode {
         }
 
         Set<Medicine> conflict_medicines = pacs.getConflict_medicines();
-        for (Medicine medicine : conflict_medicines) {
-            String medicine_val = (medicine==null)?"":medicine.getName();
+        for (Medicine conflict_medicine : conflict_medicines) {
+            String medicine_val = (conflict_medicine==null)?"":conflict_medicine.getName();
             pacsBillNeoDTO.getPrescribe().add(medicine_val);
         }