|
@@ -1,85 +0,0 @@
|
|
|
-package org.diagbot.common.push.work;
|
|
|
-
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.diagbot.common.push.bean.FeatureRate;
|
|
|
-import org.diagbot.common.push.bean.ResponseData;
|
|
|
-import org.diagbot.common.push.bean.ResultMappingFilter;
|
|
|
-import org.diagbot.common.push.bean.SearchData;
|
|
|
-import org.diagbot.common.push.cache.ApplicationCacheUtil;
|
|
|
-import org.diagbot.nlp.util.Constants;
|
|
|
-
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-
|
|
|
-/**
|
|
|
- * @Description:
|
|
|
- * @author: wangyu
|
|
|
- * @time: 2019/9/24 13:11
|
|
|
- */
|
|
|
-public class ResultDataProxys {
|
|
|
-
|
|
|
- /**
|
|
|
- * 化验辅检体征,年龄性别过滤
|
|
|
- *
|
|
|
- * @param responseData
|
|
|
- * @param searchData
|
|
|
- * @return
|
|
|
- */
|
|
|
- public ResponseData proxy(HttpServletRequest request, ResponseData responseData, SearchData searchData) {
|
|
|
- if (responseData.getLabs().size() > 0) {//化验
|
|
|
- responseData.setLabs(sexFilter(request, responseData.getLabs(), searchData, Constants.feature_type_lis));
|
|
|
- }
|
|
|
- if (responseData.getPacs().size() > 0) {//辅检
|
|
|
- responseData.setPacs(sexFilter(request, responseData.getPacs(), searchData, Constants.feature_type_pacs));
|
|
|
- }
|
|
|
- if (responseData.getVitals().size() > 0) {//查体
|
|
|
- responseData.setVitals(sexFilter(request, responseData.getVitals(), searchData, Constants.feature_type_vital));
|
|
|
- }
|
|
|
- return responseData;
|
|
|
- }
|
|
|
-
|
|
|
- public List<FeatureRate> sexFilter(HttpServletRequest request, List<FeatureRate> featureList, SearchData searchData, String featureType) {
|
|
|
- List<FeatureRate> featureRates = new ArrayList<>(10);//用来存放传入的数据结果
|
|
|
- List<FeatureRate> featureRateList = new ArrayList<>(10);//用来存放返回结果
|
|
|
- Map<String, Map<String, ResultMappingFilter>> resultMappingFilterMap = ApplicationCacheUtil.getDoc_result_mapping_lpvSex_filter_map();
|
|
|
- boolean isFirst = false;
|
|
|
- for (int i = 0; i < featureList.size(); i++) {
|
|
|
- FeatureRate entity = JSON.parseObject(JSON.toJSONString(featureList.get(i)), FeatureRate.class);
|
|
|
- featureRates.add(entity);
|
|
|
- }
|
|
|
- for (FeatureRate featureRate : featureRates) {
|
|
|
- isFirst = false;
|
|
|
- //性别年龄过滤
|
|
|
- Map<String, ResultMappingFilter> filterMap = resultMappingFilterMap.get(featureType);
|
|
|
- if (filterMap != null) {
|
|
|
- ResultMappingFilter filter = filterMap.get(featureRate.getFeatureName());
|
|
|
- if (filter != null) {
|
|
|
- if (filter.getSex() != null && !StringUtils.isEmpty(searchData.getSex())
|
|
|
- && !filter.getSex().equals(searchData.getSex())) { //性别过滤
|
|
|
- isFirst = true;
|
|
|
- } else {
|
|
|
- isFirst = false;
|
|
|
- }
|
|
|
- //年龄过滤
|
|
|
- if (filter.getAgeStart() > -1 && searchData.getAge() != 0 && searchData.getAge() < filter.getAgeEnd()) {
|
|
|
- isFirst = true;
|
|
|
- } else {
|
|
|
- isFirst = false;
|
|
|
- }
|
|
|
- if (filter.getAgeEnd() > -1 && searchData.getAge() != 0 && searchData.getAge() > filter.getAgeStart()) {
|
|
|
- isFirst = true;
|
|
|
- } else {
|
|
|
- isFirst = false;
|
|
|
- }
|
|
|
- }
|
|
|
- if (isFirst) {
|
|
|
- featureRateList.add(featureRate);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return featureRateList;
|
|
|
- }
|
|
|
-}
|