Commit fa461a05 by YANGYANG

人像碰撞处理提交(西藏)

parent 05a80e61
......@@ -104,6 +104,14 @@ public class SkRegionalsResult extends Model<SkRegionalsResult> {
* 伴随返回得标识号类型
*/
private String bsobjectvaluetype;
/**
* 人像碰撞的区域
*/
private String rxpzqy;
/**
* 人像id
*/
private String faceid;
public SkRegionalsResult(){}
// public SkRegionalsResult(SkRegionalsResultSaveParam param, MultipartFile img) throws IOException {
......
......@@ -11,7 +11,7 @@ import java.io.Serializable;
@ApiModel
@Data
public class SkRegionalsResultAll implements Serializable {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L;
private String xxzjbh;// 主键编号
private String taskId;// 任务id
......@@ -39,4 +39,7 @@ public class SkRegionalsResultAll implements Serializable {
/**
* 伴随返回得标识号类型
*/
private String bsobjectvaluetype;}
\ No newline at end of file
private String bsobjectvaluetype;
private String rxpzqy;// 人像区域
private String faceid;// 人像id
}
\ No newline at end of file
......@@ -94,4 +94,12 @@ public class SkRegionalsResultSaveParam {
* 是否删除,0代表未删除,1代表删除
*/
private Integer isdeleted;
/**
* 人像碰撞的区域
*/
private String rxpzqy;
/**
* 人像id
*/
private String faceid;
}
......@@ -189,10 +189,10 @@ public class SkRegionalsResultController extends ApiController implements ExcelC
// 人像回溯
jsonArray = JsonUtils.readJsonFromClassPath("data/getRxhs.json", JSONArray.class);
break;
/*case "skpz_rx":
case "qypz_img":
// 获取任务结果 阿里云读取json线上读取接口
jsonArray = JsonUtils.readJsonFromClassPath("data/getRxhs.json", JSONArray.class);
break;//时空碰撞人像*/
listResult = skRegionalsResultService.MoreAreaRxInfoThread(params);
break;//时空碰撞人像
case "qygk":
// 区域管控
listResult = skRegionalsResultService.qygkResult(params,taskType);
......@@ -423,6 +423,43 @@ public class SkRegionalsResultController extends ApiController implements ExcelC
});
});
return MapRestResult.build(200,"获取任务结果数据成功", listResultDistinct.size(),listResultAllNew);
}else if("qypz_img".equals(taskType)){
// 去重后分页数据
List<SkRegionalsResultAll> listResultDistinctPage = new ArrayList<>();
// 去重后数据
List<SkRegionalsResultAll> listResultDistinct = new ArrayList<>();
// 存储最终数据
List<Map<String,Object>> listResultAllNew = new ArrayList<>();
// 拿回人像碰撞数据
listResult = skRegionalsResultService.selecteRegionalsTasksResultsByTaskid(skRegionalsTaskResultParamAll);
// 去重后分页
if(listResult.size()>0){
listResultDistinct = listResult.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()
-> new TreeSet<>(Comparator.comparing(SkRegionalsResultAll::getRegion))), ArrayList::new));
int start = skRegionalsTaskResultParamAll.getPageSize()*(skRegionalsTaskResultParamAll.getPage()-1);
int end = start + skRegionalsTaskResultParamAll.getPageSize();
if(listResultDistinct.size()>start&&listResultDistinct.size()>end){
listResultDistinctPage = listResultDistinct.subList(start,end);
}else if(listResultDistinct.size()>start&&listResultDistinct.size()<end){
listResultDistinctPage = listResultDistinct.subList(start,listResultDistinct.size());
}
}
// 拿回所有数据
List<SkRegionalsResultAll> listResultAll = skRegionalsResultService.selecteRegionalsTasksResultsByTaskid(skRegionalsTaskResultParamAll);
// 对拿回得所有数据进行分组
Map<String,List<SkRegionalsResultAll>> map = listResultAll.stream().collect(Collectors.groupingBy(SkRegionalsResultAll::getRegion));
// 转为前端对应格式树形结构
listResultDistinctPage.stream().forEach(p->{
map.forEach((key,value)->{
if(p.getRegion().equals(key)){
Map<String,Object> maps = new HashMap<>();
maps.put("lable",p);
maps.put("list", value);
listResultAllNew.add(maps); }
});
});
return MapRestResult.build(200,"获取任务结果数据成功", listResultDistinct.size(),listResultAllNew);
}else{
skRegionalsTaskResultParamAll.setPage((skRegionalsTaskResultParamAll.getPage() - 1) * skRegionalsTaskResultParamAll.getPageSize());
listResult = skRegionalsResultService.selecteRegionalsTasksResults(skRegionalsTaskResultParamAll);
......
......@@ -62,6 +62,8 @@
r.deviceName as deviceName,
r.address as address,
r.count as count,
r.rxpzqy as rxpzqy,
r.faceid as faceid,
DATE_FORMAT(r.time,'%Y-%m-%d %H:%i:%S') as time,
r.deviceid as deviceId,
r.bsobjectvaluetype as bsobjectvaluetype,
......
......@@ -35,5 +35,7 @@ public interface SkRegionalsResultService extends IService<SkRegionalsResult> {
List<SkRegionalsResultAll> selecteRegionalsTasksResultsByTaskid(SkRegionalsTaskResultParamAll params);
List<SkRegionalsResultSaveParam> skbsResult(SkRegionalsResultAllParam params, String taskType);
List<SkRegionalsResultSaveParam> MoreAreaRxInfoThread(SkRegionalsResultAllParam params);
}
......@@ -570,5 +570,42 @@ public class SkRegionalsResultServiceImpl extends ServiceImpl<SkRegionalsResultM
System.out.println("最终碰撞数据==========" + alllistnew.size());
return alllistnew;
}
//人像区域碰撞---------------------------------------------------------------------
@Override
public List<SkRegionalsResultSaveParam> MoreAreaRxInfoThread(SkRegionalsResultAllParam params){
// 存储最终碰撞数据
List<SkRegionalsResultSaveParam> listResult = new ArrayList<>();
// 通过任务编号 拿到区域集合
List<RegionalsParam> regionalsList = skRegionalsTaskMapper.queryRegionalsList(params.getTaskId());
//数据分类统计(按区域进行分组)
Map<String, List<RegionalsParam>> collect = regionalsList.stream().collect(Collectors.groupingBy(RegionalsParam::getName));
try {
// 阿里云读取json模拟接口
JSONArray jsonArray = JsonUtils.readJsonFromClassPath("data/getRxpz.json", JSONArray.class);
listResult = jsonArray.toJavaList(SkRegionalsResultSaveParam.class);
List<String> listCollection = new ArrayList<>();
collect.entrySet().forEach(t -> {
System.out.println("==区域名称==" + t.getKey() + "==数据==" + t.getValue().toString());
// 区域数据处理结果集
listCollection.add(t.getKey());
});
// 结果集处理
int result = 0;
for(SkRegionalsResultSaveParam p:listResult){
p.setRegion(listCollection.subList(0,2).toString());// 比中区域集合
p.setRxpzqy(listCollection.get(result));// 所属区域
p.setFaceid(UUID.randomUUID().toString().substring(0,6));// 人像id
result++;
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("分组数据总量==========" + collect.size());
System.out.println("最终碰撞数据==========" + listResult.size());
//全数据---到各区域数据匹配(打区域标签) END------------------------------------------------------------------------------
return listResult;
}
}
[
{
"x": "113.02703819",
"y": "28.19393864",
"time": "2022-06-01 10:57:08",
"deviceid": "43000001031321014658",
"farimg":"http://65.26.2.173:1008/images/3.jpg",
"img":"http://65.26.2.173:1008/images/4.jpg",
"devicename": "HSQMB-ZN1412A官沙大街与达尔登路路口2D8340",
"address": "拉萨市达尔登路1"
},
{
"x": "113.02747128",
"y": "28.19609690",
"time": "2022-06-01 11:50:08",
"farimg":"http://65.26.2.173:1008/images/3.jpg",
"img":"http://65.26.2.173:1008/images/4.jpg",
"deviceid": "RXZXX0001",
"devicename": "HSQMB-ZN1412A官沙大街与达尔登路路口2D8340",
"address": "拉萨市达尔登路3"
}
]
\ No newline at end of file
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