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 34835de1..b0dd13fa 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 @@ -699,7 +699,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { // 高级搜索项,只针对标准 if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standSort.keyword", "*"+searchInfoEO.getStandSort()+"*")); + boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+"*")); } if (StringUtils.isNotBlank(searchInfoEO.getStandCode())) { boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandCode()+"*")); @@ -823,13 +823,6 @@ public class SearchCenterServiceImpl implements SearchCenterService { "JASO","JIS","GSO","GOST","ΓOCT","TP","SASO","UAE","CONTRAN","DENATRAN","ABNT NBR","NBR","INMETRO","CONAMA","Normative Instruction","ADR"}; String[] bussStandVerify = {"Q/FT A","Q/FT B","Q/FT E","Q/FT F","Q/FT G","Q/FT M","Q/FT Q","Q/FT R","Q/FT S","Q/FT T","Q/FT V","Q/FT X","Q/FT Y","Q/FT Z","Q/QCBFC"}; List list = new ArrayList<>(); - if(standType.equals("INLAND")){ - list = Stream.of(standVerify).collect(Collectors.toList()); - }else if(standType.equals("bussstand")){ - list = Stream.of(bussStandVerify).collect(Collectors.toList()); - }else if(standType.equals("FOREIGN")){ - list = Stream.of(standEnVerify).collect(Collectors.toList()); - } Map map = new HashMap<>(); for (int i = 0; i < seniortype.length; i++) { @@ -842,44 +835,54 @@ public class SearchCenterServiceImpl implements SearchCenterService { result = SearchResponseToList(response); searchInfoEO.getPager().setRowCount((int) response.getHits().getTotalHits().value); Map aggmap = response.getAggregations().asMap(); - if (!result.isEmpty()) { - for (int i = 0; i < seniortype.length; i++) { - //分组后得到的数据整合 - Object results = aggmap.get("by_" + seniortype[i]); - if(results instanceof StringTerms){ - StringTerms stResult = (StringTerms) results; - Map submap = new HashMap<>(); - for (StringTerms.Bucket bucket : stResult.getBuckets()) { - // 多选处理,当前全部允许多选 - String keyName = bucket.getKeyAsString(); - String[] keyNameList = keyName.split(","); - // 对于属性允许多选,此处做出处理 - if(keyNameList.length>0){ - for (String itemKeyName: keyNameList){ - // put 之前判断是否已存在该key ,如果不存在,直接放入值,如果存在,需要进行一个累加 - keyNameFilter(standType, list, submap, bucket, itemKeyName); + + if(StringUtils.isNotBlank(standType)){ + if(standType.equals("INLAND")){ + list = Stream.of(standVerify).collect(Collectors.toList()); + }else if(standType.equals("bussstand")){ + list = Stream.of(bussStandVerify).collect(Collectors.toList()); + }else if(standType.equals("FOREIGN")){ + list = Stream.of(standEnVerify).collect(Collectors.toList()); + } + if (!result.isEmpty()) { + for (int i = 0; i < seniortype.length; i++) { + //分组后得到的数据整合 + Object results = aggmap.get("by_" + seniortype[i]); + if(results instanceof StringTerms){ + StringTerms stResult = (StringTerms) results; + Map submap = new HashMap<>(); + for (StringTerms.Bucket bucket : stResult.getBuckets()) { + // 多选处理,当前全部允许多选 + String keyName = bucket.getKeyAsString(); + String[] keyNameList = keyName.split(","); + // 对于属性允许多选,此处做出处理 + if(keyNameList.length>0){ + for (String itemKeyName: keyNameList){ + // put 之前判断是否已存在该key ,如果不存在,直接放入值,如果存在,需要进行一个累加 + keyNameFilter(standType, list, submap, bucket, itemKeyName); + } + } + else { + keyNameFilter(standType, list, submap, bucket, keyName); } } - else { - keyNameFilter(standType, list, submap, bucket, keyName); - } + map.put(seniortype[i], submap); + } + else{ + Map submap = new HashMap<>(); + map.put(seniortype[i], submap); } - map.put(seniortype[i], submap); - } - else{ - Map submap = new HashMap<>(); - map.put(seniortype[i], submap); - } + } + if(standType.equals("bussstand")){ + map.forEach((s, o) -> { + if(s.equals("numbershow")){ + map.put("standSort",o); + } + }); + } + result.get(0).put("groupdata", map); } - if(standType.equals("bussstand")){ - map.forEach((s, o) -> { - if(s.equals("numbershow")){ - map.put("standSort",o); - } - }); - } - result.get(0).put("groupdata", map); } return result; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/controller/TsResourceController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/controller/TsResourceController.java index ff5e8193..59f3f5e2 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/controller/TsResourceController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/controller/TsResourceController.java @@ -61,6 +61,13 @@ public class TsResourceController extends BaseController { return Result.success(tsResources); } + @ApiOperation("查询有权限资源") + @GetMapping("/getListStand") + public ResponseMessage> getListStand(TsResource tsResource){ + List tsResources=tsResourceService.getListStand(tsResource); + return Result.success(tsResources); + } + // @ApiOperation("查询所有资源") // @GetMapping("/getDefault") // public ResponseMessage> getDefault(){ diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java index 1f20ec11..0f4698c5 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java @@ -36,6 +36,8 @@ public interface ITsResourceService extends IService { List getList(TsResource tsResource); + List getListStand(TsResource tsResource); + List getDefaultByName(); ResponseMessage addResource(TsResource tsResource); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java index eda369a2..ff7a3ace 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java @@ -193,6 +193,29 @@ public class TsResourceServiceImpl extends ServiceImpl getListStand(TsResource tsResource) { + List TsResources = new ArrayList<>(); + + QueryWrapper queryWrapper =new QueryWrapper<>(); + if(tsResource.getSorDivide()!=null){ + queryWrapper.eq("sor_divide",tsResource.getSorDivide()); + } + queryWrapper.isNull("PARENT_ID"); + queryWrapper.orderByAsc("DISPLAY_SEQ"); + TsResources=dao.selectList(queryWrapper); + + for(TsResource TsResource:TsResources){ + TsResource.setChildren(recursionGetListChildrenStand((tsResource.getSorDivide()),(TsResource))); + } + + return TsResources; + } + @Override public List getDefaultByName() { List menusNames=new ArrayList<>(); @@ -295,9 +318,7 @@ public class TsResourceServiceImpl extends ServiceImpl TsResourceQueryWrapper=new QueryWrapper<>(); TsResourceQueryWrapper.eq("PARENT_ID",parent.getId()); if(StringUtils.isNotBlank(sorDivide)){ - if(!sorDivide.equals("INLAND_STAND") && !sorDivide.equals("FOREIGN_STAND")){ - TsResourceQueryWrapper.in("ID",getMenuIdList); - } + TsResourceQueryWrapper.in("ID",getMenuIdList); } TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ"); List children=dao.selectList(TsResourceQueryWrapper); @@ -307,6 +328,22 @@ public class TsResourceServiceImpl extends ServiceImpl + */ + private List recursionGetListChildrenStand(String sorDivide,TsResource parent){ + QueryWrapper TsResourceQueryWrapper=new QueryWrapper<>(); + TsResourceQueryWrapper.eq("PARENT_ID",parent.getId()); + TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ"); + List children=dao.selectList(TsResourceQueryWrapper); + for(TsResource TsResource:children){ + TsResource.setChildren(recursionGetListChildrenStand((sorDivide),(TsResource))); + } + return children; + } + /** * 递归调用获取子节点 * @param parent:父节点 diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml index 18b10815..3465da42 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml @@ -350,48 +350,48 @@ ORDER BY - CASE tmp_tb.stand_sort - when 'Q/FT A' THEN 0 - when 'Q/FT B' THEN 1 - when 'Q/FT E' THEN 2 - when 'Q/FT F' THEN 3 - when 'Q/FT G' THEN 4 - when 'Q/FT M' THEN 5 - when 'Q/FT Q' THEN 6 - when 'Q/FT R' THEN 7 - when 'Q/FT S' THEN 8 - when 'Q/FT T' THEN 9 - when 'Q/FT V' THEN 10 - when 'Q/FT X' THEN 11 - when 'Q/FT Y' THEN 12 - when 'Q/FT Z' THEN 13 - when 'Q/QCBFC' THEN 14 - when '雷萨企标Q/FL' THEN 15 - when 'Q/QCFLC' THEN 16 + CASE + when tmp_tb.stand_code like concat('%', 'Q/FT A', '%') THEN 0 + when tmp_tb.stand_code like concat('%', 'Q/FT B', '%') THEN 1 + when tmp_tb.stand_code like concat('%', 'Q/FT E', '%') THEN 2 + when tmp_tb.stand_code like concat('%', 'Q/FT F', '%') THEN 3 + when tmp_tb.stand_code like concat('%', 'Q/FT G', '%') THEN 4 + when tmp_tb.stand_code like concat('%', 'Q/FT M', '%') THEN 5 + when tmp_tb.stand_code like concat('%', 'Q/FT Q', '%') THEN 6 + when tmp_tb.stand_code like concat('%', 'Q/FT R', '%') THEN 7 + when tmp_tb.stand_code like concat('%', 'Q/FT S', '%') THEN 8 + when tmp_tb.stand_code like concat('%', 'Q/FT T', '%') THEN 9 + when tmp_tb.stand_code like concat('%', 'Q/FT V', '%') THEN 10 + when tmp_tb.stand_code like concat('%', 'Q/FT X', '%') THEN 11 + when tmp_tb.stand_code like concat('%', 'Q/FT Y', '%') THEN 12 + when tmp_tb.stand_code like concat('%', 'Q/FT Z', '%') THEN 13 + when tmp_tb.stand_code like concat('%', 'Q/QCBFC', '%') THEN 14 + when tmp_tb.stand_code like concat('%', '雷萨企标Q/FL', '%') THEN 15 + when tmp_tb.stand_code like concat('%', 'Q/QCFLC', '%') THEN 16 ELSE 17 END, tmp_tb.stand_sort ASC ORDER BY - CASE tmp_tb.stand_sort - when 'Q/FT A' THEN 0 - when 'Q/FT B' THEN 1 - when 'Q/FT E' THEN 2 - when 'Q/FT F' THEN 3 - when 'Q/FT G' THEN 4 - when 'Q/FT M' THEN 5 - when 'Q/FT Q' THEN 6 - when 'Q/FT R' THEN 7 - when 'Q/FT S' THEN 8 - when 'Q/FT T' THEN 9 - when 'Q/FT V' THEN 10 - when 'Q/FT X' THEN 11 - when 'Q/FT Y' THEN 12 - when 'Q/FT Z' THEN 13 - when 'Q/QCBFC' THEN 14 - when '雷萨企标Q/FL' THEN 15 - when 'Q/QCFLC' THEN 16 + CASE + when tmp_tb.stand_code like concat('%', 'Q/FT A', '%') THEN 0 + when tmp_tb.stand_code like concat('%', 'Q/FT B', '%') THEN 1 + when tmp_tb.stand_code like concat('%', 'Q/FT E', '%') THEN 2 + when tmp_tb.stand_code like concat('%', 'Q/FT F', '%') THEN 3 + when tmp_tb.stand_code like concat('%', 'Q/FT G', '%') THEN 4 + when tmp_tb.stand_code like concat('%', 'Q/FT M', '%') THEN 5 + when tmp_tb.stand_code like concat('%', 'Q/FT Q', '%') THEN 6 + when tmp_tb.stand_code like concat('%', 'Q/FT R', '%') THEN 7 + when tmp_tb.stand_code like concat('%', 'Q/FT S', '%') THEN 8 + when tmp_tb.stand_code like concat('%', 'Q/FT T', '%') THEN 9 + when tmp_tb.stand_code like concat('%', 'Q/FT V', '%') THEN 10 + when tmp_tb.stand_code like concat('%', 'Q/FT X', '%') THEN 11 + when tmp_tb.stand_code like concat('%', 'Q/FT Y', '%') THEN 12 + when tmp_tb.stand_code like concat('%', 'Q/FT Z', '%') THEN 13 + when tmp_tb.stand_code like concat('%', 'Q/QCBFC', '%') THEN 14 + when tmp_tb.stand_code like concat('%', '雷萨企标Q/FL', '%') THEN 15 + when tmp_tb.stand_code like concat('%', 'Q/QCFLC', '%') THEN 16 ELSE 17 END, tmp_tb.stand_sort ASC,