Browse Source

更新建议输血的查询方法,添加建议输血的类型

MarkHuang 4 years ago
parent
commit
424e82c421
1 changed files with 35 additions and 21 deletions
  1. 35 21
      src/main/java/com/diagbot/repository/TransfusionSuggestNode.java

+ 35 - 21
src/main/java/com/diagbot/repository/TransfusionSuggestNode.java

@@ -28,7 +28,7 @@ public class TransfusionSuggestNode {
 		List<String> diseases = new ArrayList<>();
 		List<String> surgery = new ArrayList<>();
 		Map<String, Lis> lismap = new HashMap<>();
-		String disname, surgname, lisname;
+		String disname, surgname, lisname, tfname;
 		String diagname = "";
 		String opername = "";
 		Lis lisresult;
@@ -49,6 +49,7 @@ public class TransfusionSuggestNode {
 
 		for (TransfusionSuggest tf : transfusionSuggests) {
 
+			tfname = tf.getTransfusion_type();
 			lisname = "";
 			disname = "";
 			surgname = "";
@@ -104,17 +105,20 @@ public class TransfusionSuggestNode {
 
 
 			otherTipTfNeoDTO = null;
+			boolean proceed = true;
 			if (StringUtil.isNotBlank(lisname) || StringUtil.isNotBlank(disname) || StringUtil.isNotBlank(surgname)) {
 
-				if (StringUtil.isNotBlank(lisname) && null!=lisresult) {
-					if (disname.equals(diagname) && surgname.equals(opername)) {
-						otherTipTfNeoDTO = new OtherTipTransfusionNeoDTO();
+				if (StringUtil.isNotBlank(lisname) && null != lisresult && proceed) {
+					otherTipTfNeoDTO = new OtherTipTransfusionNeoDTO();
 
-						otherTipTfNeoDTO.getLisList().add(lisresult);
-					}
+					otherTipTfNeoDTO.getLisList().add(lisresult);
+				} else {
+					proceed = false;
+					otherTipTfNeoDTO = null;
 				}
-				else if (StringUtil.isNotBlank(surgname) && surgname.equals(opername)) {
-					if (disname.equals(diagname)) {
+
+				if (StringUtil.isNotBlank(surgname) && proceed) {
+					if (surgname.equals(opername)) {
 						if (null == otherTipTfNeoDTO) {
 							otherTipTfNeoDTO = new OtherTipTransfusionNeoDTO();
 						}
@@ -123,28 +127,38 @@ public class TransfusionSuggestNode {
 						item.setUniqueName(surgname);
 
 						otherTipTfNeoDTO.getOperation().add(item);
+					} else {
+						proceed = false;
+						otherTipTfNeoDTO = null;
 					}
 				}
-				else if (StringUtil.isNotBlank(disname) && disname.equals(diagname)) {
-					if (null==otherTipTfNeoDTO) {
-						otherTipTfNeoDTO = new OtherTipTransfusionNeoDTO();
-					}
-					item = new Item();
-					item.setName(disname);
-					item.setUniqueName(disname);
 
-					otherTipTfNeoDTO.getDiag().add(item);
+
+				if (StringUtil.isNotBlank(disname) && proceed) {
+
+					if (disname.equals(diagname)) {
+						if (null == otherTipTfNeoDTO) {
+							otherTipTfNeoDTO = new OtherTipTransfusionNeoDTO();
+						}
+						item = new Item();
+						item.setName(disname);
+						item.setUniqueName(disname);
+
+						otherTipTfNeoDTO.getDiag().add(item);
+					} else {
+						otherTipTfNeoDTO = null;
+					}
 				}
-			}
 
-			if (otherTipTfNeoDTO!=null) {
-				ottfNeoDTOs.add(otherTipTfNeoDTO);
+
+				if (otherTipTfNeoDTO != null) {
+					otherTipTfNeoDTO.setName(tfname);
+					ottfNeoDTOs.add(otherTipTfNeoDTO);
+				}
 			}
 
 		}
 
-
-
 		return ottfNeoDTOs;
 	}