Explorar el Código

添加辅检危急值的查询方法

MarkHuang hace 4 años
padre
commit
6835828830

+ 31 - 0
src/main/java/com/diagbot/entity/node/PacsCritical.java

@@ -0,0 +1,31 @@
+package com.diagbot.entity.node;
+
+import com.diagbot.entity.node.base.BaseNode;
+import lombok.Getter;
+import lombok.Setter;
+import org.neo4j.ogm.annotation.NodeEntity;
+import org.neo4j.ogm.annotation.Property;
+import org.neo4j.ogm.annotation.Relationship;
+
+
+@Setter
+@Getter
+//@EqualsAndHashCode(callSuper = false)
+@NodeEntity(label = "辅助检查危急值")
+public class PacsCritical extends BaseNode  {
+
+    @Property(name = "规则")
+    private String val;
+
+    @Property(name = "辅助检查名称")
+    private String pacsname;
+
+    @Property(name = "危急值提醒")
+    private String remind;
+
+    @Property(name = "科室名称")
+    private String dept;
+
+}
+
+

+ 19 - 1
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -63,7 +63,7 @@ public class NeoFacade {
     @Autowired
     MedicineCodeRepository medicineCodeRepository;
     @Autowired
-    MedJiePouClassRepository medJiePouClassRepository;
+    PacsCriticalRepository pacsCriticalRepository;
     @Autowired
     YiBaoDiseaseRepository yiBaoDiseaseRepository;
     @Autowired
@@ -424,6 +424,7 @@ public class NeoFacade {
         List<CriticalNeoDTO> criticalNeoDTOs = new ArrayList<>();
 
         criticalNeoDTOs.addAll(getLisCritical(criticalNeoVO));
+        criticalNeoDTOs.addAll(getPacsCritical(criticalNeoVO));
 
         return criticalNeoDTOs;
     }
@@ -679,6 +680,8 @@ public class NeoFacade {
 
     /**
      * 获取化验危急值
+     *
+     * @param criticalNeoVO
      */
     public List<CriticalNeoDTO> getLisCritical(CriticalNeoVO criticalNeoVO) {
 
@@ -688,6 +691,21 @@ public class NeoFacade {
         return criticalNeoDTOs;
     }
 
+
+    /**
+     * 获取辅检危急值
+     *
+     * @Param criticalNeoVO
+     */
+    public List<CriticalNeoDTO> getPacsCritical(CriticalNeoVO criticalNeoVO) {
+
+        PacsCriticalNode pacsCriticalNode = new PacsCriticalNode();
+        List<CriticalNeoDTO> criticalNeoDTOS = pacsCriticalNode.getPacsList(criticalNeoVO, pacsCriticalRepository);
+
+        return criticalNeoDTOS;
+    }
+
+
     /**
      * 处理高危药品数据
      *

+ 60 - 0
src/main/java/com/diagbot/repository/PacsCriticalNode.java

@@ -0,0 +1,60 @@
+package com.diagbot.repository;
+
+import com.diagbot.biz.push.entity.Item;
+import com.diagbot.biz.push.entity.Lis;
+import com.diagbot.dto.*;
+import com.diagbot.entity.node.*;
+import com.diagbot.model.label.PacsLabel;
+import com.diagbot.util.NeoUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.CriticalNeoVO;
+
+import java.math.BigDecimal;
+import java.util.*;
+
+public class PacsCriticalNode {
+
+
+	/**
+	 * 获取辅检危急值
+	 */
+	public List<CriticalNeoDTO> getPacsList(CriticalNeoVO criticalNeoVO, PacsCriticalRepository pacsCriticalRepository) {
+		String result;
+		Integer agemin, agemax;
+
+		List<CriticalNeoDTO> criticallist = new ArrayList<>();
+		CriticalNeoDTO criticalNeoDTO;
+
+		Integer gender = criticalNeoVO.getSex();
+		Integer age = criticalNeoVO.getAge();
+		List<Item> pacsres = criticalNeoVO.getPacsLabel().getRes();
+
+		try {
+			for (Item item : pacsres) {
+
+				String name = item.getUniqueName();
+
+				if (StringUtil.isNotBlank(name)) {
+					List<PacsCritical> pacslist = pacsCriticalRepository.findByResult(name);
+
+					for (PacsCritical pacscri : pacslist) {
+						criticalNeoDTO = new CriticalNeoDTO();
+						result = pacscri.getVal();
+						criticalNeoDTO.setName(result);
+						criticalNeoDTO.setStandname(result);
+						criticalNeoDTO.setType(Constants.fujian);
+
+						criticallist.add(criticalNeoDTO);
+					}
+				}
+			}
+		} catch (Exception ex) {
+			ex.printStackTrace();
+		}
+
+		return criticallist;
+	}
+
+
+}
+

+ 19 - 0
src/main/java/com/diagbot/repository/PacsCriticalRepository.java

@@ -0,0 +1,19 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.PacsCritical;
+import org.springframework.data.neo4j.annotation.Query;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
+
+import java.util.List;
+
+
+public interface PacsCriticalRepository extends Neo4jRepository<PacsCritical, Long> {
+
+    @Query("MATCH (n:辅助检查危急值) WHERE {result} CONTAINS(n.规则) return n")
+    List<PacsCritical> findByResult(@Param("result") String result);
+
+    List<PacsCritical> findByNameContaining(String name);
+
+}
+