Merge remote-tracking branch 'origin/develop_master' into develop_master

This commit is contained in:
yuezhihang
2021-11-09 14:21:00 +08:00
5 changed files with 129 additions and 80 deletions
@@ -699,7 +699,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
// 高级搜索项,只针对标准 // 高级搜索项,只针对标准
if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { 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())) { if (StringUtils.isNotBlank(searchInfoEO.getStandCode())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+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"}; "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"}; 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<String> list = new ArrayList<>(); List<String> 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<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
for (int i = 0; i < seniortype.length; i++) { for (int i = 0; i < seniortype.length; i++) {
@@ -842,44 +835,54 @@ public class SearchCenterServiceImpl implements SearchCenterService {
result = SearchResponseToList(response); result = SearchResponseToList(response);
searchInfoEO.getPager().setRowCount((int) response.getHits().getTotalHits().value); searchInfoEO.getPager().setRowCount((int) response.getHits().getTotalHits().value);
Map<String, Aggregation> aggmap = response.getAggregations().asMap(); Map<String, Aggregation> aggmap = response.getAggregations().asMap();
if (!result.isEmpty()) {
for (int i = 0; i < seniortype.length; i++) { if(StringUtils.isNotBlank(standType)){
//分组后得到的数据整合 if(standType.equals("INLAND")){
Object results = aggmap.get("by_" + seniortype[i]); list = Stream.of(standVerify).collect(Collectors.toList());
if(results instanceof StringTerms){ }else if(standType.equals("bussstand")){
StringTerms stResult = (StringTerms) results; list = Stream.of(bussStandVerify).collect(Collectors.toList());
Map<String, Object> submap = new HashMap<>(); }else if(standType.equals("FOREIGN")){
for (StringTerms.Bucket bucket : stResult.getBuckets()) { list = Stream.of(standEnVerify).collect(Collectors.toList());
// 多选处理,当前全部允许多选 }
String keyName = bucket.getKeyAsString(); if (!result.isEmpty()) {
String[] keyNameList = keyName.split(","); for (int i = 0; i < seniortype.length; i++) {
// 对于属性允许多选,此处做出处理 //分组后得到的数据整合
if(keyNameList.length>0){ Object results = aggmap.get("by_" + seniortype[i]);
for (String itemKeyName: keyNameList){ if(results instanceof StringTerms){
// put 之前判断是否已存在该key ,如果不存在,直接放入值,如果存在,需要进行一个累加 StringTerms stResult = (StringTerms) results;
keyNameFilter(standType, list, submap, bucket, itemKeyName); Map<String, Object> 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 { map.put(seniortype[i], submap);
keyNameFilter(standType, list, submap, bucket, keyName); }
} else{
Map<String, Object> submap = new HashMap<>();
map.put(seniortype[i], submap);
} }
map.put(seniortype[i], submap);
}
else{
Map<String, Object> 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; return result;
} }
@@ -61,6 +61,13 @@ public class TsResourceController extends BaseController<TsResource> {
return Result.success(tsResources); return Result.success(tsResources);
} }
@ApiOperation("查询有权限资源")
@GetMapping("/getListStand")
public ResponseMessage<List<TsResource>> getListStand(TsResource tsResource){
List<TsResource> tsResources=tsResourceService.getListStand(tsResource);
return Result.success(tsResources);
}
// @ApiOperation("查询所有资源") // @ApiOperation("查询所有资源")
// @GetMapping("/getDefault") // @GetMapping("/getDefault")
// public ResponseMessage<List<TsResource>> getDefault(){ // public ResponseMessage<List<TsResource>> getDefault(){
@@ -36,6 +36,8 @@ public interface ITsResourceService extends IService<TsResource> {
List<TsResource> getList(TsResource tsResource); List<TsResource> getList(TsResource tsResource);
List<TsResource> getListStand(TsResource tsResource);
List<String> getDefaultByName(); List<String> getDefaultByName();
ResponseMessage<Object> addResource(TsResource tsResource); ResponseMessage<Object> addResource(TsResource tsResource);
@@ -193,6 +193,29 @@ public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource
return TsResources; return TsResources;
} }
/**
* 查询有权限菜单
* @param tsResource
*/
@Override
public List<TsResource> getListStand(TsResource tsResource) {
List<TsResource> TsResources = new ArrayList<>();
QueryWrapper<TsResource> 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 @Override
public List<String> getDefaultByName() { public List<String> getDefaultByName() {
List<String> menusNames=new ArrayList<>(); List<String> menusNames=new ArrayList<>();
@@ -295,9 +318,7 @@ public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>(); QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
TsResourceQueryWrapper.eq("PARENT_ID",parent.getId()); TsResourceQueryWrapper.eq("PARENT_ID",parent.getId());
if(StringUtils.isNotBlank(sorDivide)){ 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"); TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ");
List<TsResource> children=dao.selectList(TsResourceQueryWrapper); List<TsResource> children=dao.selectList(TsResourceQueryWrapper);
@@ -307,6 +328,22 @@ public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource
return children; return children;
} }
/**
* 递归调用获取子节点
* @param parent:父节点
* @return List<TsResource>
*/
private List<TsResource> recursionGetListChildrenStand(String sorDivide,TsResource parent){
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
TsResourceQueryWrapper.eq("PARENT_ID",parent.getId());
TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ");
List<TsResource> children=dao.selectList(TsResourceQueryWrapper);
for(TsResource TsResource:children){
TsResource.setChildren(recursionGetListChildrenStand((sorDivide),(TsResource)));
}
return children;
}
/** /**
* 递归调用获取子节点 * 递归调用获取子节点
* @param parent:父节点 * @param parent:父节点
@@ -350,48 +350,48 @@
<!-- 分页查询条件 --> <!-- 分页查询条件 -->
<sql id="standSort_in"> <sql id="standSort_in">
ORDER BY ORDER BY
CASE tmp_tb.stand_sort CASE
when 'Q/FT A' THEN 0 when tmp_tb.stand_code like concat('%', 'Q/FT A', '%') THEN 0
when 'Q/FT B' THEN 1 when tmp_tb.stand_code like concat('%', 'Q/FT B', '%') THEN 1
when 'Q/FT E' THEN 2 when tmp_tb.stand_code like concat('%', 'Q/FT E', '%') THEN 2
when 'Q/FT F' THEN 3 when tmp_tb.stand_code like concat('%', 'Q/FT F', '%') THEN 3
when 'Q/FT G' THEN 4 when tmp_tb.stand_code like concat('%', 'Q/FT G', '%') THEN 4
when 'Q/FT M' THEN 5 when tmp_tb.stand_code like concat('%', 'Q/FT M', '%') THEN 5
when 'Q/FT Q' THEN 6 when tmp_tb.stand_code like concat('%', 'Q/FT Q', '%') THEN 6
when 'Q/FT R' THEN 7 when tmp_tb.stand_code like concat('%', 'Q/FT R', '%') THEN 7
when 'Q/FT S' THEN 8 when tmp_tb.stand_code like concat('%', 'Q/FT S', '%') THEN 8
when 'Q/FT T' THEN 9 when tmp_tb.stand_code like concat('%', 'Q/FT T', '%') THEN 9
when 'Q/FT V' THEN 10 when tmp_tb.stand_code like concat('%', 'Q/FT V', '%') THEN 10
when 'Q/FT X' THEN 11 when tmp_tb.stand_code like concat('%', 'Q/FT X', '%') THEN 11
when 'Q/FT Y' THEN 12 when tmp_tb.stand_code like concat('%', 'Q/FT Y', '%') THEN 12
when 'Q/FT Z' THEN 13 when tmp_tb.stand_code like concat('%', 'Q/FT Z', '%') THEN 13
when 'Q/QCBFC' THEN 14 when tmp_tb.stand_code like concat('%', 'Q/QCBFC', '%') THEN 14
when '雷萨企标Q/FL' THEN 15 when tmp_tb.stand_code like concat('%', '雷萨企标Q/FL', '%') THEN 15
when 'Q/QCFLC' THEN 16 when tmp_tb.stand_code like concat('%', 'Q/QCFLC', '%') THEN 16
ELSE 17 ELSE 17
END, END,
tmp_tb.stand_sort ASC tmp_tb.stand_sort ASC
</sql> </sql>
<sql id="standSort_out"> <sql id="standSort_out">
ORDER BY ORDER BY
CASE tmp_tb.stand_sort CASE
when 'Q/FT A' THEN 0 when tmp_tb.stand_code like concat('%', 'Q/FT A', '%') THEN 0
when 'Q/FT B' THEN 1 when tmp_tb.stand_code like concat('%', 'Q/FT B', '%') THEN 1
when 'Q/FT E' THEN 2 when tmp_tb.stand_code like concat('%', 'Q/FT E', '%') THEN 2
when 'Q/FT F' THEN 3 when tmp_tb.stand_code like concat('%', 'Q/FT F', '%') THEN 3
when 'Q/FT G' THEN 4 when tmp_tb.stand_code like concat('%', 'Q/FT G', '%') THEN 4
when 'Q/FT M' THEN 5 when tmp_tb.stand_code like concat('%', 'Q/FT M', '%') THEN 5
when 'Q/FT Q' THEN 6 when tmp_tb.stand_code like concat('%', 'Q/FT Q', '%') THEN 6
when 'Q/FT R' THEN 7 when tmp_tb.stand_code like concat('%', 'Q/FT R', '%') THEN 7
when 'Q/FT S' THEN 8 when tmp_tb.stand_code like concat('%', 'Q/FT S', '%') THEN 8
when 'Q/FT T' THEN 9 when tmp_tb.stand_code like concat('%', 'Q/FT T', '%') THEN 9
when 'Q/FT V' THEN 10 when tmp_tb.stand_code like concat('%', 'Q/FT V', '%') THEN 10
when 'Q/FT X' THEN 11 when tmp_tb.stand_code like concat('%', 'Q/FT X', '%') THEN 11
when 'Q/FT Y' THEN 12 when tmp_tb.stand_code like concat('%', 'Q/FT Y', '%') THEN 12
when 'Q/FT Z' THEN 13 when tmp_tb.stand_code like concat('%', 'Q/FT Z', '%') THEN 13
when 'Q/QCBFC' THEN 14 when tmp_tb.stand_code like concat('%', 'Q/QCBFC', '%') THEN 14
when '雷萨企标Q/FL' THEN 15 when tmp_tb.stand_code like concat('%', '雷萨企标Q/FL', '%') THEN 15
when 'Q/QCFLC' THEN 16 when tmp_tb.stand_code like concat('%', 'Q/QCFLC', '%') THEN 16
ELSE 17 ELSE 17
END, END,
tmp_tb.stand_sort ASC, tmp_tb.stand_sort ASC,