Bläddra i källkod

Merge remote-tracking branch 'origin/dev/push20210520' into dev/push20210520

zhoutg 4 år sedan
förälder
incheckning
fbdc508b72

+ 1 - 0
src/main/java/com/diagbot/dto/NeoPushDTO.java

@@ -20,6 +20,7 @@ public class NeoPushDTO {
     private List<PushBaseDTO> vitals = new ArrayList<>();//体征
     private List<PushBaseDTO> lis = new ArrayList<>();//实验室检查
     private List<PushBaseDTO> pacs = new ArrayList<>();//辅助检查
+    private List<PushBaseDTO> scales = new ArrayList<>();//量表
     // 鉴别诊断
     private List<PushBaseDTO> differentialDis;
     /**

+ 3 - 1
src/main/java/com/diagbot/enums/PushRelationTypeEnum.java

@@ -16,7 +16,9 @@ public enum PushRelationTypeEnum {
     PACS(505L, "疾病相关辅助检查项目"),
     DRUG(506L, "疾病相关药物治疗"),
     OPERATION(507L, "疾病相关手术治疗"),
-    DIFFDIAGNOSE(508L, "疾病相关鉴别诊断");
+    DIFFDIAGNOSE(508L, "疾病相关鉴别诊断"),
+    SCALE(509L, "疾病相关量表"),
+    NURSE(510L, "疾病相关护理");
 
     @Setter
     private long key;

+ 4 - 0
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -447,6 +447,10 @@ public class NeoFacade {
                 neoPushDTO.setDifferentialDis(items.get(PushRelationTypeEnum.DIFFDIAGNOSE.getKey())
                         .stream().map(x -> NeoUtil.updatePushInfo(x)).collect(Collectors.toList()));
             }
+            if (ListUtil.isNotEmpty(items.get(PushRelationTypeEnum.SCALE.getKey()))) {
+                neoPushDTO.setScales(items.get(PushRelationTypeEnum.SCALE.getKey())
+                        .stream().map(x -> NeoUtil.updatePushInfo(x)).collect(Collectors.toList()));
+            }
         }
         return neoPushDTO;
     }

+ 6 - 18
src/main/java/com/diagbot/facade/PushFacade.java

@@ -2,23 +2,14 @@ package com.diagbot.facade;
 
 import com.diagbot.biz.push.entity.Item;
 import com.diagbot.client.PushNewServiceClient;
-import com.diagbot.dto.PushBaseDTO;
-import com.diagbot.dto.PushDTO;
-import com.diagbot.dto.PushNewDTO;
-import com.diagbot.dto.PushPlanDTO;
-import com.diagbot.dto.WordCrfDTO;
+import com.diagbot.dto.*;
 import com.diagbot.enums.DiagnoseTypeEnum;
-import com.diagbot.enums.DiseasePushTypeEnum;
 import com.diagbot.enums.RedisEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.model.entity.Diag;
 import com.diagbot.process.PushProcess;
-import com.diagbot.util.CoreUtil;
-import com.diagbot.util.ListUtil;
-import com.diagbot.util.ParamUtil;
-import com.diagbot.util.RedisUtil;
-import com.diagbot.util.StringUtil;
+import com.diagbot.util.*;
 import com.diagbot.vo.PushNewVO;
 import com.diagbot.vo.PushPlanVO;
 import com.diagbot.vo.PushVO;
@@ -29,11 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @Description: 推送facade
@@ -103,7 +90,8 @@ public class PushFacade {
             pushVo.setAgeNum(CoreUtil.convertAge(pushVo.getAge()));
         }
         PushDTO pushDTO = new PushDTO();
-        Integer pushMode = tranHospitalInfoFacade.getPushMode(pushVo.getHospitalId());
+        pushDTO = this.pushFacIcss(pushVo);
+        /*Integer pushMode = tranHospitalInfoFacade.getPushMode(pushVo.getHospitalId());
         //全科推送,走5.0
         if (pushMode.equals(DiseasePushTypeEnum.gp.getKey())) {
             pushDTO = this.pushFacIcss(pushVo);
@@ -112,7 +100,7 @@ public class PushFacade {
             //pushDTO = this.pushFac(pushVo);
             // 2021/2/22 同老楼确认专科也走5.0
             pushDTO = this.pushFacIcss(pushVo);
-        }
+        }*/
 
         return pushDTO;
     }

+ 30 - 1
src/main/java/com/diagbot/process/PushProcess.java

@@ -193,6 +193,13 @@ public class PushProcess {
                         return pushBaseDTO;
                     }).collect(Collectors.toList()));
                 }
+                if (ruleTypeList.contains("13") && ListUtil.isNotEmpty(items.get(PushRelationTypeEnum.NURSE.getKey()))) {
+                    pushDTO.setNurse(items.get(PushRelationTypeEnum.NURSE.getKey()).stream().map(x -> {
+                        PushBaseDTO pushBaseDTO = new PushBaseDTO();
+                        pushBaseDTO.setName(x);
+                        return pushBaseDTO;
+                    }).collect(Collectors.toList()));
+                }
             }
         }
         //        if (reverseInfoByDisName != null) {
@@ -430,7 +437,7 @@ public class PushProcess {
             if (featureType.contains("9")) {
                 relationType.add(RelationshipEnum.R507.getKey()); // 手术
             }
-            if (featureType.contains("12")) {
+            if (featureType.contains("13")) {
                 relationType.add(RelationshipEnum.R510.getKey()); // 护理
             }
             reverseVO.setRelationType(relationType);
@@ -932,6 +939,16 @@ public class PushProcess {
                 }
             }
         }
+        // 量表
+        if (ruleTypeList.contains("12")) {
+            if (ListUtil.isNotEmpty(reversePush.getScales())) {
+                List<String> scales = reversePush.getScales().stream().map(x -> x.getName()).collect(Collectors.toList());
+                if (scales.size() > 0) {
+                    List<PushBaseDTO> filterpacs = getPackagePushBaseDTO(scales);
+                    pushDTO.setScale(filterpacs.subList(0, filterpacs.size() >= length ? length : filterpacs.size()));
+                }
+            }
+        }
 
     }
 
@@ -947,5 +964,17 @@ public class PushProcess {
                 }).collect(Collectors.toList());
         return symptomPush;
     }
+    private List<PushBaseDTO> getPackagePushBaseDTO(List<String> symptoms) {
+        List<PushBaseDTO> symptomPush = new ArrayList<>();
+        if(ListUtil.isNotEmpty(symptoms)){
+            symptomPush = symptoms.stream().map(x ->{
+                PushBaseDTO pushBaseDTO = new PushBaseDTO();
+                pushBaseDTO.setName(x);
+                return pushBaseDTO;
+            }).collect(Collectors.toList());
+        }
+
+        return symptomPush;
+    }
 }
 

+ 1 - 1
src/main/resources/mapper/KlRelationMapper.xml

@@ -89,7 +89,7 @@
                         AND t1.id = t2.start_id
                         AND t3.id = t2.end_id
                         AND t2.id = t4.t_relation_id
-                        AND t2.relation_id IN (501,502,503,504,505,506,507,508)
+                        AND t2.relation_id IN (501,502,503,504,505,506,507,508,509,510)
                         AND t1.lib_name = #{diseaseName}
                         AND t1.`status` = 1
                         AND t3.`status` = 1