Commit 963be44f by yangyang

关联关系-基础查询(标准)

parent 239f09f8
package com.founder.commonutils.model.newPublicEntity;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import java.util.List;
/**
* @author yangyang
* @description 可视化分析实体
*/
@Data
public class SkRelatedAll {
private String objectValue;
private String objectType;
private String objectTypeName;
private String firstTimeStamp;
private String timeStamp;
private String sourceName;
private int count;
@JsonInclude
private List<Children> children;
@Data
public static class Children {
private String objectValue;
private String objectType;
private String objectTypeName;
private String firstTimeStamp;
private String timeStamp;
private String sourceName;
private int count;
private List<Children> children;
}
}
package com.founder.publicapi.controller.SkDataOperation;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.founder.commonutils.model.newPublicEntity.MapRestResult;
import com.founder.commonutils.model.newPublicEntity.SkRegionalsResultAll;
import com.founder.commonutils.model.newPublicEntity.SkRelatedAll;
import com.founder.commonutils.model.newPublicEntity.SkRelatedResult;
import com.founder.commonutils.model.newPublicEntity.ztypEntity.KsjResultCheck;
import com.founder.commonutils.model.vo.param.SkRelatedResultParam;
import com.founder.commonutils.model.vo.response.SkRelatedResultVO;
import com.founder.servicebase.logs.OperLog;
......@@ -14,13 +18,17 @@ import com.founder.servicebase.logs.OperationType;
import com.founder.publicapi.service.SkRelatedResultService;
import com.founder.servicebase.service.SkDictionaryService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;
import java.util.stream.Collectors;
/**
* 关联关系表(SkRelatedResult)表控制层
......@@ -70,6 +78,57 @@ public class SkRelatedResultController extends ApiController {
}
List<SkRelatedAll> childList = new ArrayList<>();// 存储关联关系所有子集
@PostMapping("queryAll")
@ApiOperation(value = "查询关联关系(基础查询)")
@OperLog(message = "查询关联关系(基础查询)", operation = OperationType.QUERY)
public MapRestResult queryAll(@RequestBody SkRelatedResultParam param) {
Page page = new Page(1, 5);
childList.clear();
QueryWrapper queryWrapper = new QueryWrapper();
if (param.getObjectvalue()!=null&& !"".equals(param.getObjectvalue())){
queryWrapper.like("objectValue",param.getObjectvalue());
}
if (param.getObjecttype()!=null&& !"".equals(param.getObjecttype())){
queryWrapper.eq("objectType",param.getObjecttype());
}
queryWrapper.eq("isDeleted", "0");
IPage page1 = skRelatedResultService.page(page, queryWrapper);
List<SkRelatedResult> list = page1.getRecords();
List<SkRelatedResultVO> newList = new ArrayList<>();
for (SkRelatedResult s :list) {
newList.add(new SkRelatedResultVO(s,skDictionaryService.findDmmcByDmAndDmlx(s.getObjecttype(),"ST")));
}
List<SkRelatedAll> skRelatedAllListPage = new ArrayList<>();
List<SkRelatedAll> skRelatedAllList = new ArrayList<>();
if(newList.size()>0){ // 数据处理
SkRelatedAll skRelated = JSON.parseObject(newList.get(0).getResult(),SkRelatedAll.class);// 关联数据映射
SkRelatedAll skRelatedAll = new SkRelatedAll();
skRelatedAll.setObjectValue(skRelated.getObjectValue());
skRelatedAll.setObjectType(skRelated.getObjectType());
skRelatedAll.setObjectTypeName(skDictionaryService.findDmmcByDmAndDmlx(skRelated.getObjectType(),"ST"));
skRelatedAll.setFirstTimeStamp(skRelated.getFirstTimeStamp());
skRelatedAll.setSourceName(skRelated.getSourceName());
skRelatedAll.setTimeStamp(skRelated.getTimeStamp());
skRelatedAll.setCount(skRelated.getCount());
skRelatedAllList.add(skRelatedAll);
List<SkRelatedAll.Children> childrenListAll = skRelated.getChildren();
if(childrenListAll.size()>0){
skRelatedAllList.addAll(getChilde(childrenListAll));// 子集数据处理
int start = param.getPageSize()*(param.getPage()-1);
int end = start + param.getPageSize();
if(skRelatedAllList.size()>start&&skRelatedAllList.size()>end){// 分页处理
skRelatedAllListPage = skRelatedAllList.subList(start,end);
}else if(skRelatedAllList.size()>start&&skRelatedAllList.size()<end){
skRelatedAllListPage = skRelatedAllList.subList(start,skRelatedAllList.size());
}
}
}
return new MapRestResult(200, "OK", skRelatedAllList.size(), skRelatedAllListPage);
}
/**
* 查询详情
*/
......@@ -132,5 +191,34 @@ public class SkRelatedResultController extends ApiController {
//
// return resultVO;
// }
/**
* 递归查找子关系
*
* @param rootList 要查找的列表
* @return
*/
private List<SkRelatedAll> getChilde(List<SkRelatedAll.Children> rootList) {
//子关系
for (SkRelatedAll.Children children : rootList) {
SkRelatedAll skRelatedAllChildren = new SkRelatedAll();
skRelatedAllChildren.setObjectValue(children.getObjectValue());
skRelatedAllChildren.setObjectType(children.getObjectType());
skRelatedAllChildren.setObjectTypeName(skDictionaryService.findDmmcByDmAndDmlx(children.getObjectType(),"ST"));
skRelatedAllChildren.setFirstTimeStamp(children.getFirstTimeStamp());
skRelatedAllChildren.setSourceName(children.getSourceName());
skRelatedAllChildren.setTimeStamp(children.getTimeStamp());
skRelatedAllChildren.setCount(children.getCount());
childList.add(skRelatedAllChildren);
if(null!=children.getChildren()){
getChilde(children.getChildren());
}
}
// 递归退出条件
if (childList.size() == 0) {
return null;
}
return childList;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment