Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

MarkHuang 4 lat temu
rodzic
commit
9968303352

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

@@ -1,5 +1,6 @@
 package com.diagbot.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -16,6 +17,7 @@ import java.util.List;
 @Setter
 public class PushPlanDetailDTO {
     //检查时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date examineDate;
     //描述
     private String description;

+ 49 - 3
src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -6,9 +6,26 @@ import com.diagbot.dto.LisDetailDTO;
 import com.diagbot.dto.OperationInfoDTO;
 import com.diagbot.dto.RetrievalDTO;
 import com.diagbot.dto.StaticKnowledgeIndexDTO;
-import com.diagbot.entity.node.*;
+import com.diagbot.entity.node.LisName;
+import com.diagbot.entity.node.LisSet;
+import com.diagbot.entity.node.Medicine;
+import com.diagbot.entity.node.PacsName;
+import com.diagbot.entity.node.YiBaoDiseaseName;
+import com.diagbot.entity.node.YiBaoOperationName;
 import com.diagbot.enums.StaticTypeEnum;
-import com.diagbot.repository.*;
+import com.diagbot.repository.LisNameNode;
+import com.diagbot.repository.LisNameRepository;
+import com.diagbot.repository.LisSetNode;
+import com.diagbot.repository.LisSetRepository;
+import com.diagbot.repository.MedicineNode;
+import com.diagbot.repository.MedicineRepository;
+import com.diagbot.repository.PacsNameNode;
+import com.diagbot.repository.PacsNameRepository;
+import com.diagbot.repository.TransfusionRemindRepository;
+import com.diagbot.repository.YiBaoDiseaseNode;
+import com.diagbot.repository.YiBaoDiseaseRepository;
+import com.diagbot.repository.YiBaoOperationNameNode;
+import com.diagbot.repository.YiBaoOperationNameRepository;
 import com.diagbot.util.ListUtil;
 import com.diagbot.vo.RetrievalVO;
 import com.diagbot.vo.StaticKnowledgeIndexVO;
@@ -98,6 +115,10 @@ public class RetrievalFacade {
         LisSetNode lisPackNode = new LisSetNode();
         List<String> lisPacklist = lisPackNode.getLISPackNameList(name, lisSetRepository);
 
+        if (ListUtil.isNotEmpty(lisPacklist) && lisPacklist.size() > 100) {
+            lisPacklist = lisPacklist.subList(0, 100);
+        }
+
         return lisPacklist;
     }
 
@@ -110,6 +131,10 @@ public class RetrievalFacade {
         LisNameNode lisNode = new LisNameNode();
         List<LisDetailDTO> lislist = lisNode.getLisDetailList(name, lisRepository);
 
+        if (ListUtil.isNotEmpty(lislist) && lislist.size() > 100) {
+            lislist = lislist.subList(0, 100);
+        }
+
         return lislist;
     }
 
@@ -122,6 +147,10 @@ public class RetrievalFacade {
         PacsNameNode pacsNode = new PacsNameNode();
         List<String> pacslist = pacsNode.getPACSNameList(name, pacsRepository);
 
+        if (ListUtil.isNotEmpty(pacslist) && pacslist.size() > 100) {
+            pacslist = pacslist.subList(0, 100);
+        }
+
         return pacslist;
     }
 
@@ -134,6 +163,10 @@ public class RetrievalFacade {
         YiBaoDiseaseNode yiBaoDiseaseNode = new YiBaoDiseaseNode();
         List<DiseaseInfoDTO> diseaselist = yiBaoDiseaseNode.getDiseaseNameList(name, icdDiseaseRepository);
 
+        if (ListUtil.isNotEmpty(diseaselist) && diseaselist.size() > 0) {
+            diseaselist = diseaselist.subList(0, 100);
+        }
+
         return diseaselist;
     }
 
@@ -146,6 +179,10 @@ public class RetrievalFacade {
         MedicineNode medicineNode = new MedicineNode();
         List<DrugInfoDTO> medslist = medicineNode.getMedicineList(name, medicineRepository);
 
+        if (ListUtil.isNotEmpty(medslist) && medslist.size() > 100) {
+            medslist = medslist.subList(0, 100);
+        }
+
         return medslist;
     }
 
@@ -158,6 +195,10 @@ public class RetrievalFacade {
         YiBaoOperationNameNode operationNode = new YiBaoOperationNameNode();
         List<OperationInfoDTO> opslist = operationNode.getOperationList(name, operationRepository);
 
+        if (ListUtil.isNotEmpty(opslist) && opslist.size() > 100) {
+            opslist = opslist.subList(0, 100);
+        }
+
         return opslist;
     }
 
@@ -166,7 +207,12 @@ public class RetrievalFacade {
      * 获取输血方式列表
      */
     public List<String> getTransfusion(String name) {
-        return transfusionRemindRepository.findTransfusionByName(name);
+        List<String> transfusionNames = transfusionRemindRepository.findTransfusionByName(name);
+
+        if (ListUtil.isNotEmpty(transfusionNames) && transfusionNames.size() > 0) {
+            transfusionNames = transfusionNames.subList(0, 100);
+        }
+        return transfusionNames;
     }
 
 

+ 5 - 0
src/main/java/com/diagbot/facade/TestFacade.java

@@ -136,6 +136,11 @@ public class TestFacade {
                         symptom.append(bean.getNeoName()).append("。");
                         indicationPushVO.setSymptom(symptom.toString());
                         break;
+                    case "7" : // 药品过敏原
+                        StringBuffer pastStr = new StringBuffer("");
+                        pastStr.append("有“").append(bean.getNeoName()).append("”过敏。");
+                        indicationPushVO.setPasts(pastStr.toString());
+                        break;
                     case "12": // 体征
                         StringBuffer sbVital = new StringBuffer();
                         String[] vitalArr = bean.getNeoName().split(",");

+ 8 - 14
src/main/java/com/diagbot/process/HighRiskProcess.java

@@ -1,15 +1,11 @@
 package com.diagbot.process;
 
-import com.diagbot.biz.push.entity.Item;
-import com.diagbot.biz.push.entity.Lis;
 import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.HighRiskNeoDTO;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.NodeNeoDTO;
 import com.diagbot.dto.WordCrfDTO;
 import com.diagbot.enums.TypeEnum;
-import com.diagbot.model.label.PacsLabel;
-import com.diagbot.model.label.VitalLabel;
 import com.diagbot.rule.CommonRule;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -47,16 +43,14 @@ public class HighRiskProcess {
                 if (TypeEnum.operation.getName().equals(type)) {
                     List<NodeNeoDTO> factor = highRiskNeoDTO.getFactor();
                     for (NodeNeoDTO nodeNeoDTO : factor) {
-                        if (TypeEnum.disease.getName().equals(nodeNeoDTO.getTermtype())) {
-                            commonRule.highRiskComplex(nodeNeoDTO, highRiskList, highRiskNeoDTO);
-                        } else if (TypeEnum.lis.getName().equals(nodeNeoDTO.getTermtype())) {
-                            commonRule.highRiskComplex(nodeNeoDTO, highRiskList, highRiskNeoDTO);
-                        } else if (TypeEnum.pacs.getName().equals(nodeNeoDTO.getTermtype())) {
-                            commonRule.highRiskComplex(nodeNeoDTO, highRiskList, highRiskNeoDTO);
-                        } else if (TypeEnum.vital.getName().equals(nodeNeoDTO.getTermtype())) {
-                            commonRule.highRiskComplex(nodeNeoDTO, highRiskList, highRiskNeoDTO);
-                        } else if (TypeEnum.age.getName().equals(nodeNeoDTO.getTermtype())) {
-                            commonRule.highRiskComplex(nodeNeoDTO, highRiskList, highRiskNeoDTO);
+                        switch (TypeEnum.getEnum(nodeNeoDTO.getTermtype())) {
+                            case disease:
+                            case lis:
+                            case pacs:
+                            case vital:
+                            case age:
+                                commonRule.highRiskComplex(nodeNeoDTO, highRiskList, highRiskNeoDTO);
+                                break;
                         }
                     }
                 }

+ 1 - 1
src/main/java/com/diagbot/rule/DrugRule.java

@@ -42,7 +42,7 @@ public class DrugRule {
         if (ListUtil.isNotEmpty(drugList) && ListUtil.isNotEmpty(inputList)) {
             List<String> allDrug = new ArrayList<>();
             for (NodeNeoDTO nodeNeoDTO : drugList) {
-                if ("服用药品".equals(nodeNeoDTO.getTermtype())) {
+                if ("服用药品".equals(nodeNeoDTO.getTermtype()) || "药物过敏原".equals(nodeNeoDTO.getTermtype())) {
                     allDrug.add(nodeNeoDTO.getName());
                 } else if ("药品解剖学类别".equals(nodeNeoDTO.getTermtype())){
                     String drugType = nodeNeoDTO.getName();