Просмотр исходного кода

Merge branch 'develop' into dev/neo2mysql20210120

# Conflicts:
#	src/main/java/com/diagbot/process/OtherTipProcess.java
#	src/main/java/com/diagbot/rule/DrugRule.java
zhoutg 4 лет назад
Родитель
Сommit
522dddc291

+ 2 - 0
src/main/java/com/diagbot/dto/BillMsg.java

@@ -14,6 +14,8 @@ public class BillMsg {
     private String msg;
     // 开单名称
     private String orderName;
+    // 明细名称
+    private String orderDetailName;
     // 开单标准名称
     private String orderStandName;
     // 匹配的内容

+ 6 - 3
src/main/java/com/diagbot/entity/node/LisSet.java

@@ -4,19 +4,20 @@ import com.diagbot.entity.node.base.BaseNode;
 import com.diagbot.entity.relationship.LisNameLisSet;
 import com.diagbot.entity.relationship.LisSetGender;
 import com.diagbot.entity.relationship.LisSetGroup;
+import com.diagbot.entity.relationship.LisSetOralMedicine;
 import lombok.Getter;
 import lombok.Setter;
 import org.neo4j.ogm.annotation.NodeEntity;
 import org.neo4j.ogm.annotation.Property;
 import org.neo4j.ogm.annotation.Relationship;
 
-import java.util.Set;
 import java.util.HashSet;
+import java.util.Set;
 
 @Setter
 @Getter
 @NodeEntity(label = "实验室检查套餐名")
-public class LisSet extends BaseNode  {
+public class LisSet extends BaseNode {
 
 	@Property(name = "单位")
 	private String unit;
@@ -36,7 +37,9 @@ public class LisSet extends BaseNode  {
 	@Relationship(type = "实验室检查套餐名禁忌禁忌人群", direction = Relationship.OUTGOING)
 	private Set<LisSetGroup> lisSetGroups = new HashSet<>();
 
+	@Relationship(type = "实验室检查套餐名禁忌服用药品", direction = Relationship.OUTGOING)
+	private Set<LisSetOralMedicine> lisSetOralMedicines = new HashSet<>();
+
 	@Relationship(type = "实验室检查名称相关实验室检查套餐名", direction = Relationship.INCOMING)
 	private Set<LisNameLisSet> lisnamelisSet = new HashSet<>();
-
 }

+ 26 - 0
src/main/java/com/diagbot/entity/relationship/LisSetOralMedicine.java

@@ -0,0 +1,26 @@
+package com.diagbot.entity.relationship;
+
+import com.diagbot.entity.node.LisSet;
+import com.diagbot.entity.node.OralMedicine;
+import com.diagbot.entity.relationship.base.BaseRelation;
+import lombok.Getter;
+import lombok.Setter;
+import org.neo4j.ogm.annotation.EndNode;
+import org.neo4j.ogm.annotation.RelationshipEntity;
+import org.neo4j.ogm.annotation.StartNode;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2021/3/2 10:33
+ */
+@Getter
+@Setter
+@RelationshipEntity(type = "实验室检查套餐名禁忌服用药品")
+public class LisSetOralMedicine extends BaseRelation {
+    @StartNode
+    private LisSet lisSet;
+
+    @EndNode
+    private OralMedicine oralMedicine;
+}

+ 15 - 0
src/main/java/com/diagbot/repository/LisSetNode.java

@@ -6,8 +6,10 @@ import com.diagbot.dto.NeoEntityDTO;
 import com.diagbot.entity.node.Gender;
 import com.diagbot.entity.node.Group;
 import com.diagbot.entity.node.LisSet;
+import com.diagbot.entity.node.OralMedicine;
 import com.diagbot.entity.relationship.LisSetGender;
 import com.diagbot.entity.relationship.LisSetGroup;
+import com.diagbot.entity.relationship.LisSetOralMedicine;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.NeoUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +48,19 @@ public class LisSetNode {
 			}
 		}
 
+		Set<LisSetOralMedicine> lisSetOralMeds = lisset.getLisSetOralMedicines();
+		for (LisSetOralMedicine lisSetOralMed : lisSetOralMeds) {
+			if (NeoUtil.isExist(lisSetOralMed)) {
+				if (NeoUtil.isExist(lisSetOralMed.getOralMedicine())) {
+					OralMedicine conflict_oralmed = lisSetOralMed.getOralMedicine();
+					nodeInfo = new NodeInfo();
+					nodeInfo.setName(conflict_oralmed.getName());
+					nodeInfo.setTypeval(Constants.yaoping);
+					lisBillNeoDTO.getOralmeds().add(NeoUtil.updateNodeInfo(nodeInfo));
+				}
+			}
+		}
+
 /*
 		Age age = lispack.getAge();
 		if (null!=age) {

+ 26 - 1
src/main/java/com/diagbot/util/MsgUtil.java

@@ -1,5 +1,7 @@
 package com.diagbot.util;
+
 import com.diagbot.dto.BillMsg;
+import com.diagbot.dto.OtherTipNeoDTO;
 import com.diagbot.enums.NeoEnum;
 import com.diagbot.enums.TypeEnum;
 
@@ -73,6 +75,26 @@ public class MsgUtil {
         return billMsg;
     }
 
+    /**
+     * 开单合理性通用提示信息
+     *
+     * @param orderName 原开单项
+     * @param orderStandName 标准开单项
+     * @param content 匹配内容
+     * @param type 类型
+     * @return
+     */
+    public static BillMsg getBillLisOrderMsg(String orderName, String orderStandName, String content, String type) {
+        BillMsg billMsg = new BillMsg();
+        String msg = String.format("该患者可能正在用药%s,会影响%s结果,请留意", content, orderName);
+        billMsg.setMsg(msg);
+        billMsg.setOrderName(orderName);
+        billMsg.setOrderStandName(orderStandName);
+        billMsg.setContent(content);
+        billMsg.setType(type);
+        return billMsg;
+    }
+
     /**
      * 开单合理性——互斥提示信息
      *
@@ -115,9 +137,10 @@ public class MsgUtil {
      * @param content
      * @param name
      * @param type
+     * @param otherTipNeoDTO
      * @return
      */
-    public static BillMsg getCommonOtherTipLisMsg(String content, String name, String type) {
+    public static BillMsg getCommonOtherTipLisMsg(String content, String name, String type, OtherTipNeoDTO otherTipNeoDTO) {
         BillMsg billMsg = new BillMsg();
         String msg = "";
         if (TypeEnum.disease.getName().equals(type)) {
@@ -130,6 +153,8 @@ public class MsgUtil {
         billMsg.setMsg(msg);
         billMsg.setContent(content);
         billMsg.setType(type);
+        billMsg.setOrderName(otherTipNeoDTO.getName());
+        billMsg.setOrderDetailName(otherTipNeoDTO.getDetailName());
         return billMsg;
     }