diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index f8d38444..6e15d2f9 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -6,9 +6,12 @@ import com.adc.da.search.util.DateUtil; import com.adc.da.search.util.InitStandAttrSearchUtil; import com.adc.da.sys.dao.DicTypeEODao; import com.adc.da.sys.entity.DicTypeEO; +import com.adc.da.sys.sarMenuStandard.entity.SarMenuStandard; +import com.adc.da.sys.sarMenuStandard.service.ISarMenuStandardService; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang3.StringUtils; @@ -40,6 +43,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; +import javax.annotation.Resource; import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.*; @@ -53,6 +57,9 @@ import java.util.stream.Stream; public class SearchCenterServiceImpl implements SearchCenterService { private final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(SearchCenterServiceImpl.class); + @Resource + private ISarMenuStandardService sarMenuStandardService; + @Autowired private TransportClient transportClient; @@ -232,6 +239,18 @@ public class SearchCenterServiceImpl implements SearchCenterService { sortField2 = "standYear"; sortField3 = "standSort.keyword"; } + + List menuNameList = new ArrayList<>(); + // 国内海外查询标准体系字段由id变为文字 + if (StringUtils.isNotBlank(searchInfoEO.getStandSystem())) { + ArrayList menuIdList = new ArrayList<>(); + Collections.addAll(menuIdList,searchInfoEO.getStandSystem().split(",")); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(SarMenuStandard::getId,menuIdList); + wrapper.select(SarMenuStandard::getMenuName); + List sarMenuStandardList = sarMenuStandardService.list(wrapper); + menuNameList = sarMenuStandardList.stream().map(SarMenuStandard::getMenuName).collect(Collectors.toList()); + } searchRequestBuilder = client.prepareSearch(searchInfoEO.getSelectIndex()) .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) .setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize()) @@ -347,6 +366,15 @@ public class SearchCenterServiceImpl implements SearchCenterService { } boolQueryBuilder.must(boolQueryShould); }else { + if (!menuNameList.isEmpty()) { + menuNameList.forEach(each -> { + if ("stand".equals(searchInfoEO.getSelectIndex())) { + boolQueryBuilder.must(QueryBuilders.matchQuery("standSystem","*"+each+"*")); + }else if ("bussstand".equals(searchInfoEO.getSelectIndex())) { + boolQueryBuilder.must(QueryBuilders.matchQuery("TXLBBUSS",each)); + } + }); + } if ("stand".equals(searchInfoEO.getSelectIndex()) && StringUtils.isNotBlank(searchInfoEO.getStandType())) { boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*")); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java index 4ecad43f..ec4ed733 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/zlTree/service/impl/ZlTreeServiceImpl.java @@ -59,7 +59,7 @@ public class ZlTreeServiceImpl extends ServiceImpl implements // 查询当前登录人的权限菜单 List recourceIdList = tsUserService.getResourceUserId(loginUserId); - TreeData res=new TreeData(); + List resList = new ArrayList<>(); QueryWrapper wrapper=new QueryWrapper<>(); wrapper.lambda().in(ZlTree::getId, recourceIdList); wrapper.orderByAsc("length(sort),sort"); @@ -72,13 +72,17 @@ public class ZlTreeServiceImpl extends ServiceImpl implements BeanUtils.copyProperties(zlTree,zlTreeData); treeData.add(zlTreeData); }else { + TreeData res=new TreeData(); BeanUtils.copyProperties(zlTree,res); + resList.add(res); } } - //递归生成树 - digui(res,treeData); List treeData1=new ArrayList<>(); - treeData1.add(res); + //递归生成树 + for (TreeData data : resList) { + digui(data,treeData); + treeData1.add(data); + } return treeData1; }