Browse Source

更新化验危急值提醒

MarkHuang 4 years ago
parent
commit
d48b1e4fb8
1 changed files with 64 additions and 6 deletions
  1. 64 6
      src/main/java/com/diagbot/repository/LisNameNode.java

+ 64 - 6
src/main/java/com/diagbot/repository/LisNameNode.java

@@ -19,11 +19,8 @@ import com.diagbot.util.StringUtil;
 import com.diagbot.vo.CriticalNeoVO;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
+import java.util.stream.Collectors;
 
 public class LisNameNode {
 
@@ -290,7 +287,7 @@ public class LisNameNode {
 		try {
 			for (Lis lisvo : lisVO) {
 
-				String name = lisvo.getDetailName();
+				String name = lisvo.getUniqueName();
 
 				if (StringUtil.isNotBlank(name)) {
 					List<LisName> lislt = lisRepository.findByNameIs(name);
@@ -416,5 +413,66 @@ public class LisNameNode {
 
 		return neoEntityDTO;
 	}
+
+
+
+	/**
+	 * 根据关系名查询对应节点
+	 */
+	public List<?> getNodesbyRelation(LisName LisName, String relname) {
+		List<?> nodelist =  new ArrayList<>();
+
+		try {
+			switch (relname) {
+				case "实验室检查名称禁忌性别":
+					nodelist = Arrays.asList(LisName.getLisNamegender().getGender());
+					break;
+				case "实验室检查名称禁忌禁忌人群":
+					nodelist = LisName.getLisNamegroups().stream().map(x -> x.getGroup()).collect(Collectors.toList());
+					break;
+				case "实验室检查名称相关实验室检查套餐名":
+					nodelist = LisName.getLisNamelissets().stream().map(x -> x.getLisSet()).collect(Collectors.toList());
+					break;
+			}
+		}
+		catch (Exception ex) {
+			ex.printStackTrace();
+		}
+		finally {
+			return nodelist;
+		}
+	}
+
+
+	/**
+	 * 更新关系状态属性
+	 */
+	public void updateRelation(LisName lisName, String relname, Integer status, String e_name, LisNameRepository lisNameRepository) {
+
+		try {
+			switch (relname) {
+				case "实验室检查名称禁忌性别":
+					lisName.getLisNamegender().setStatus(status);
+					lisNameRepository.save(lisName);
+					break;
+				case "实验室检查名称禁忌禁忌人群":
+					lisName.getLisNamegroups().stream().filter(x -> x.getGroup().getName().equals(e_name))
+							.collect(Collectors.toList()).stream().forEach(y -> y.setStatus(status));
+					lisNameRepository.save(lisName);
+					break;
+				case "实验室检查名称相关实验室检查套餐名":
+					lisName.getLisNamelissets().stream().filter(x -> x.getLisSet().getName().equals(e_name)).
+							collect(Collectors.toList()).stream().forEach(y -> y.setStatus(status));
+					lisNameRepository.save(lisName);
+					break;
+			}
+		}
+		catch (Exception ex) {
+			ex.printStackTrace();
+		}
+		finally {
+
+		}
+	}
 }