Forráskód Böngészése

药品禁忌性别

zhaops 4 éve
szülő
commit
d104818759

+ 10 - 3
src/main/java/com/diagbot/entity/node/MedRegName.java

@@ -1,20 +1,25 @@
 package com.diagbot.entity.node;
 
 import com.diagbot.entity.node.base.BaseNode;
-import com.diagbot.entity.relationship.*;
+import com.diagbot.entity.relationship.MedCodeNameMedRegName;
+import com.diagbot.entity.relationship.MedRegNameGender;
+import com.diagbot.entity.relationship.MedRegNameGroup;
+import com.diagbot.entity.relationship.MedRegNameMedAllergen;
+import com.diagbot.entity.relationship.MedRegNameMedRegName;
+import com.diagbot.entity.relationship.MedRegNameVital;
 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 MedRegName extends BaseNode  {
+public class MedRegName extends BaseNode {
 
 	@Property(name = "药品高危级别")
 	private String risklevel;
@@ -43,4 +48,6 @@ public class MedRegName extends BaseNode  {
 	@Relationship(type = "药品注册名称禁忌药品注册名称", direction = Relationship.INCOMING)
 	private Set<MedRegNameMedRegName> medregnameMedRegNames_in = new HashSet<>();
 
+	@Relationship(type = "药品注册名称禁忌性别", direction = Relationship.OUTGOING)
+	private MedRegNameGender medRegNameGender;
 }

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

@@ -0,0 +1,26 @@
+package com.diagbot.entity.relationship;
+
+import com.diagbot.entity.node.Gender;
+import com.diagbot.entity.node.MedRegName;
+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: 2020/12/29 19:03
+ */
+@Getter
+@Setter
+@RelationshipEntity(type = "药品注册名称禁忌性别")
+public class MedRegNameGender extends BaseRelation {
+    @StartNode
+    private MedRegName medRegName;
+
+    @EndNode
+    private Gender gender;
+}

+ 28 - 8
src/main/java/com/diagbot/repository/MedRegNameNode.java

@@ -3,12 +3,14 @@ package com.diagbot.repository;
 import com.diagbot.dto.DrugBillNeoDTO;
 import com.diagbot.dto.HighRiskNeoDTO;
 import com.diagbot.dto.NodeNeoDTO;
+import com.diagbot.entity.node.Gender;
 import com.diagbot.entity.node.Group;
 import com.diagbot.entity.node.MedAllergen;
 import com.diagbot.entity.node.MedCodeName;
 import com.diagbot.entity.node.MedRegName;
 import com.diagbot.entity.node.Medicine;
 import com.diagbot.entity.node.Vital;
+import com.diagbot.entity.relationship.MedRegNameGender;
 import com.diagbot.entity.relationship.MedRegNameGroup;
 import com.diagbot.entity.relationship.MedRegNameMedAllergen;
 import com.diagbot.entity.relationship.MedRegNameMedRegName;
@@ -33,6 +35,8 @@ public class MedRegNameNode {
     VitalRepository vitalRepository;
     @Autowired
     MedRegNameRepository medRegNameRepository;
+    @Autowired
+    GenderRepository genderRepository;
 
     /**
      * 获取高危药品数据
@@ -44,7 +48,7 @@ public class MedRegNameNode {
         String drugname, drugform;
         List<Medicine> medicine;
         List<MedCodeName> medcdnames;
-//        MedRegName medreg;
+        //        MedRegName medreg;
 
         // Long t1 = System.currentTimeMillis();
 
@@ -91,18 +95,17 @@ public class MedRegNameNode {
                 if (NeoUtil.isExist(medvital.getVital())) {
                     nodeInfo = new NodeInfo();
                     Vital vital = medvital.getVital();
-                    String name = (vital.getVitalidx()==null)?vital.getName():vital.getVitalidx();
+                    String name = (vital.getVitalidx() == null) ? vital.getName() : vital.getVitalidx();
                     nodeInfo.setName(name);
                     nodeInfo.setMinval(NeoUtil.DoubletoBigDecimal(vital.getMinval()));
                     nodeInfo.setMaxval(NeoUtil.DoubletoBigDecimal(vital.getMaxval()));
                     nodeInfo.setUnit(vital.getUnit());
                     nodeInfo.setRange(vital.getRange());
                     nodeInfo.setTypeval(name);
-//                    NodeNeoDTO nodeNeoDTO = NeoUtil.fillNodeNeoDTO(medvital.getVital());
+                    //                    NodeNeoDTO nodeNeoDTO = NeoUtil.fillNodeNeoDTO(medvital.getVital());
                     if (name.equals(Constants.age)) {
                         drugBillNeoDTO.setAgeNeoDTO(NeoUtil.updateNodeInfo(nodeInfo));
-                    }
-                    else {
+                    } else {
                         drugBillNeoDTO.getVitals().add(NeoUtil.updateNodeInfo(nodeInfo));
                     }
                 }
@@ -145,15 +148,23 @@ public class MedRegNameNode {
             }
         }
 
-
-        String conflict_gender = medRegName.getConflict_gender();
+        /*String conflict_gender = medRegName.getConflict_gender();
         if (null != conflict_gender) {
             NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
             nodeNeoDTO.setName(conflict_gender);
             nodeNeoDTO.setTermtype(Constants.gender);
             drugBillNeoDTO.setGender(nodeNeoDTO);
-        }
+        }*/
 
+        MedRegNameGender medRegNameGender = medRegName.getMedRegNameGender();
+        if (NeoUtil.isExist(medRegNameGender)) {
+            if (NeoUtil.isExist(medRegNameGender.getGender())) {
+                NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
+                nodeNeoDTO.setName(medRegNameGender.getGender().getName());
+                nodeNeoDTO.setTermtype(Constants.gender);
+                drugBillNeoDTO.setGender(nodeNeoDTO);
+            }
+        }
 
         String conflict_geiyao = medRegName.getConflict_geiyao();
         if (null != conflict_geiyao) {
@@ -174,6 +185,15 @@ public class MedRegNameNode {
         Boolean isExist = false;
         try {
             switch (relname) {
+                case "药品注册名称禁忌性别":
+                    Gender gender = genderRepository.findByNameIs(e_name).get(0);
+                    MedRegNameGender medRegNameGender = new MedRegNameGender();
+                    medRegNameGender.setGender(gender);
+                    medRegNameGender.setMedRegName(medRegName);
+                    medRegNameGender.setStatus(status);
+                    medRegNameGender.setRuleType(ruleType);
+                    medRegName.setMedRegNameGender(medRegNameGender);
+                    break;
                 case "药品注册名称禁忌禁忌人群":
                     Group group = groupRepository.findByNameIs(e_name).get(0);
                     Set<MedRegNameGroup> medRegNameGroupSet = medRegName.getMedRegNameGroup();