|
@@ -5,17 +5,7 @@ import com.diagbot.biz.push.entity.Item;
|
|
|
import com.diagbot.biz.push.entity.Lis;
|
|
|
import com.diagbot.client.ChiefPresentSimilarityServiceClient;
|
|
|
import com.diagbot.client.StandConvertServiceClient;
|
|
|
-import com.diagbot.dto.BillNeoDTO;
|
|
|
-import com.diagbot.dto.CriticalNeoDTO;
|
|
|
-import com.diagbot.dto.HighRiskNeoDTO;
|
|
|
-import com.diagbot.dto.NeoPushDTO;
|
|
|
-import com.diagbot.dto.NodeNeoDTO;
|
|
|
-import com.diagbot.dto.OtherTipNeoDTO;
|
|
|
-import com.diagbot.dto.OtherTipPacsNeoDTO;
|
|
|
-import com.diagbot.dto.OtherTipTransfusionNeoDTO;
|
|
|
-import com.diagbot.dto.StandConvertCrfBatchDTO;
|
|
|
-import com.diagbot.dto.StandConvertCrfDTO;
|
|
|
-import com.diagbot.dto.WordCrfDTO;
|
|
|
+import com.diagbot.dto.*;
|
|
|
import com.diagbot.entity.DiseaseInfo;
|
|
|
import com.diagbot.entity.DiseaseProperty;
|
|
|
import com.diagbot.entity.node.LisRemind;
|
|
@@ -31,17 +21,9 @@ import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.NeoUtil;
|
|
|
import com.diagbot.util.RedisUtil;
|
|
|
import com.diagbot.util.StringUtil;
|
|
|
-import com.diagbot.vo.BillNeoVO;
|
|
|
-import com.diagbot.vo.CriticalNeoVO;
|
|
|
import com.diagbot.vo.Drug;
|
|
|
-import com.diagbot.vo.NeoPushVO;
|
|
|
-import com.diagbot.vo.StandConvert;
|
|
|
-import com.diagbot.vo.StandConvertCrfVO;
|
|
|
-import com.diagbot.vo.neoPushEntity.ChiefPushVo;
|
|
|
-import com.diagbot.vo.neoPushEntity.Diag;
|
|
|
-import com.diagbot.vo.neoPushEntity.LisPushVo;
|
|
|
-import com.diagbot.vo.neoPushEntity.PacsPushVo;
|
|
|
-import com.diagbot.vo.neoPushEntity.PresentPushVo;
|
|
|
+import com.diagbot.vo.*;
|
|
|
+import com.diagbot.vo.neoPushEntity.*;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.google.common.collect.Maps;
|
|
|
import io.github.lvyahui8.spring.facade.DataFacade;
|
|
@@ -55,13 +37,7 @@ import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.DecimalFormat;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Collection;
|
|
|
-import java.util.Collections;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.LinkedHashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.stream.Stream;
|
|
@@ -318,12 +294,23 @@ public class NeoFacade {
|
|
|
}
|
|
|
|
|
|
|
|
|
- // 症状、体征推送出的疾病
|
|
|
+ /*// 症状、体征推送出的疾病
|
|
|
pushDisBySymptomOrVital(pushVO, allDis);
|
|
|
//化验推出的疾病
|
|
|
pushDisByLis(allDis, lises);
|
|
|
//辅检推出的疾病
|
|
|
- pushDisByPacs(pushVO, allDis);
|
|
|
+ pushDisByPacs(pushVO, allDis);*/
|
|
|
+
|
|
|
+ try {
|
|
|
+ Map<String, Object> invokeParams = new HashMap<>();
|
|
|
+ invokeParams.put("allDis", allDis);
|
|
|
+ invokeParams.put("pushVo", pushVO);
|
|
|
+ invokeParams.put("lis", lises);
|
|
|
+ allDis = DataFacade.get("pushAll", invokeParams, List.class);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "并行推送疾病出错" + e.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
filterAndSort(pushDis, allDis, sex, age, pd,depts);
|
|
|
pushDis = addDiagFromPresent(pushDis, presentDiags);
|
|
|
|
|
@@ -339,7 +326,7 @@ public class NeoFacade {
|
|
|
* @param lises
|
|
|
* @return
|
|
|
*/
|
|
|
- private List<String> pushDisBySpecialLis(List<String> depts, Double age, Integer sex, PD pd, List<Lis> lises, List<String> presentDiags) {
|
|
|
+ public List<String> pushDisBySpecialLis(List<String> depts, Double age, Integer sex, PD pd, List<Lis> lises, List<String> presentDiags) {
|
|
|
List<String> neoPushDTOS = new ArrayList<>();
|
|
|
if (ListUtil.isNotEmpty(lises)) {
|
|
|
List<String> lis_dis = lises.parallelStream()
|
|
@@ -359,7 +346,7 @@ public class NeoFacade {
|
|
|
* @param lis_dis
|
|
|
* @param presentDiags
|
|
|
*/
|
|
|
- private List<String> addDiagFromPresent(List<String> lis_dis, List<String> presentDiags) {
|
|
|
+ public List<String> addDiagFromPresent(List<String> lis_dis, List<String> presentDiags) {
|
|
|
List<String> lis_dis_new = Lists.newArrayList();
|
|
|
if (ListUtil.isNotEmpty(lis_dis) && ListUtil.isNotEmpty(presentDiags)) {
|
|
|
if (lis_dis.size() >= 10) {
|
|
@@ -393,7 +380,7 @@ public class NeoFacade {
|
|
|
* @param pushVO
|
|
|
* @param allDis
|
|
|
*/
|
|
|
- private void pushDisByPacs(NeoPushVO pushVO, List<String> allDis) {
|
|
|
+ public void pushDisByPacs(NeoPushVO pushVO, List<String> allDis) {
|
|
|
PacsPushVo pacsPushVo = pushVO.getPacsPushVo();
|
|
|
if (pacsPushVo != null) {
|
|
|
List<Item> pacs = pacsPushVo.getPacs();
|
|
@@ -411,7 +398,7 @@ public class NeoFacade {
|
|
|
* @param allDis
|
|
|
* @param lises
|
|
|
*/
|
|
|
- private void pushDisByLis(List<String> allDis, List<Lis> lises) {
|
|
|
+ public void pushDisByLis(List<String> allDis, List<Lis> lises) {
|
|
|
if (ListUtil.isNotEmpty(lises)) {
|
|
|
List<String> lis_dis = lises.parallelStream()
|
|
|
.map(x -> nodeRepository.getDisByLis(x.getName(), x.getUniqueName() + x.getResult()))
|
|
@@ -426,7 +413,7 @@ public class NeoFacade {
|
|
|
* @param pushVO
|
|
|
* @param allDis
|
|
|
*/
|
|
|
- private void pushDisBySymptomOrVital(NeoPushVO pushVO, List<String> allDis) {
|
|
|
+ public void pushDisBySymptomOrVital(NeoPushVO pushVO, List<String> allDis) {
|
|
|
ChiefPushVo chiefPushVo = pushVO.getChiefPushVo();
|
|
|
PresentPushVo presentPushVo = pushVO.getPresentPushVo();
|
|
|
List<String> symptoms = new ArrayList<>();
|
|
@@ -448,7 +435,7 @@ public class NeoFacade {
|
|
|
allDis.addAll(allDis_bySymptom);
|
|
|
}
|
|
|
|
|
|
- private void filterAndSort(List<String> dises, List<String> allDis, int gender_code, double age, PD pd, List<String> depts) {
|
|
|
+ public void filterAndSort(List<String> dises, List<String> allDis, int gender_code, double age, PD pd, List<String> depts) {
|
|
|
//推送出的所有疾病进行性别和年龄的过滤
|
|
|
List<Map<String, String>> diseases = null;
|
|
|
Map<String, Double> dis_fbl = new HashMap<>();
|