|
@@ -178,6 +178,8 @@ public class NeoFacade {
|
|
|
* @return
|
|
|
*/
|
|
|
public List<NeoPushDTO> getPush(NeoPushVO pushVO) {
|
|
|
+ Integer age = pushVO.getAge();
|
|
|
+ Integer sex = pushVO.getSex();
|
|
|
List<NeoPushDTO> neoPushDTOS = new ArrayList<>();
|
|
|
List<String> allDis = Lists.newArrayList();
|
|
|
// 如果没有诊断名称,则通过其它信息推送诊断
|
|
@@ -203,6 +205,26 @@ public class NeoFacade {
|
|
|
//体征推出的疾病
|
|
|
//化验推出的疾病辅检
|
|
|
//辅检推出的疾病
|
|
|
+ //推送出的所有疾病进行性别和年龄的过滤
|
|
|
+ Map<String, String> disSexCache = getDisSexCache();
|
|
|
+ Map<String, String> disAgeCache = getDisAgeCache();
|
|
|
+ Iterator<String> iterator_dis = allDis.iterator();
|
|
|
+ while (iterator_dis.hasNext()){
|
|
|
+ String disease = iterator_dis.next();
|
|
|
+ if(disSexCache.containsKey(disease)){
|
|
|
+ if((disSexCache.get(disease) == "男" && sex != 1) ||
|
|
|
+ (disSexCache.get(disease) == "女" && sex != 2)){
|
|
|
+ iterator_dis.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(disAgeCache.containsKey(disease)){
|
|
|
+ String[] betweenAge = disAgeCache.get(disease).split("-");
|
|
|
+ if(betweenAge.length == 2 && (age < Integer.parseInt(betweenAge[0])
|
|
|
+ || age > Integer.parseInt(betweenAge[1]))){
|
|
|
+ iterator_dis.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
Map<String, Long> disCountSortMap = disCountSort(allDis);
|
|
|
// String dis_first = dis_count.entrySet().stream().map(x -> x.getKey()).collect(Collectors.toList()).get(0);
|