Commit 9f17465a by yangyang

时空任务修改、删除、多维碰撞模型(内蒙)

parent 0898dd4c
......@@ -104,13 +104,6 @@ public class SkRegionalsResultController extends ApiController implements ExcelC
@ApiOperation(value = "新增结果信息")
@OperLog(message = "新增结果信息", operation = OperationType.ADD)
public MapRestResult saveResult(@RequestBody SkRegionalsResultAllParam params, HttpServletRequest request) throws IOException {
// 阿里云环境 公安网环境使用不同json
String path = "";
if(environment.equals("dev")){
path = "data";
}else{
path = "dataGaw";
}
// 1.先通过任务编号查看该任务是否已有结果
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("taskid", params.getTaskId());
......@@ -133,23 +126,23 @@ public class SkRegionalsResultController extends ApiController implements ExcelC
// 1.2根据任务类型 走不同接口
switch (taskType) {
case "skhs_car":
// 获取任务结果 阿里云读取json线上读取接口
jsonArray = JsonUtils.readJsonFromClassPath(path+"/getClhs.json", JSONArray.class);
break;//车辆回溯
// 车辆回溯
jsonArray = JsonUtils.readJsonFromClassPath("data/getClhs.json", JSONArray.class);
break;
case "skhs_people":
// 获取任务结果 阿里云读取json线上读取接口
jsonArray = JsonUtils.readJsonFromClassPath(path+"/getJzhs.json", JSONArray.class);
break;//基站回溯
// 人员回溯
jsonArray = JsonUtils.readJsonFromClassPath("data/getJzhs.json", JSONArray.class);
break;
case "skhs_img":
// 获取任务结果 阿里云读取json线上读取接口
jsonArray = JsonUtils.readJsonFromClassPath(path+"/getRxhs.json", JSONArray.class);
break;//人像回溯
// 人像回溯
jsonArray = JsonUtils.readJsonFromClassPath("data/getRxhs.json", JSONArray.class);
break;
case "qypz_car":
// 获取任务结果 阿里云读取json线上读取接口
// 区域碰撞车辆
listResult = skRegionalsResultService.MoreAreaInfoThread(params,taskType);
break;//区域碰撞车辆
break;
case "qypz_people":
// 获取任务结果 阿里云读取json线上读取接口
// 区域碰撞人员
listResult = skRegionalsResultService.MoreAreaInfoThread(params,taskType);
break;
case "qypz_ljxc":
......@@ -170,8 +163,8 @@ public class SkRegionalsResultController extends ApiController implements ExcelC
break;
case "skhs_ryaqcd":
// 人员案前踩点
jsonArray = JsonUtils.readJsonFromClassPath(path+"/getJzhs.json", JSONArray.class);
break;//基站回溯 break;
jsonArray = JsonUtils.readJsonFromClassPath("data/getJzhs.json", JSONArray.class);
break;
case "qypz_rysccx":
// 人员首次出现
listResult = skRegionalsResultService.MoreAreaInfoThread(params,taskType);
......@@ -180,30 +173,34 @@ public class SkRegionalsResultController extends ApiController implements ExcelC
// 人员案发潜逃
listResult = skRegionalsResultService.MoreAreaInfoThread(params,taskType);
break;
case "dwpz":
// 多维碰撞
listResult = skRegionalsResultService.MoreAreaDwpzInfoThread(params);
break;
case "skph_people":
// 获取任务结果 阿里云读取json线上读取接口
// 时空徘徊手机
listResult = skRegionalsResultService.OneAreaInfoTrampResultThread(params,taskType);
break;//时空徘徊手机
break;
case "skph_car":
// 获取任务结果 阿里云读取json线上读取接口
// 时空徘徊车
listResult = skRegionalsResultService.OneAreaInfoTrampResultThread(params,taskType);
break;//时空徘徊车
break;
case "skph_img":
// 获取任务结果 阿里云读取json线上读取接口
jsonArray = JsonUtils.readJsonFromClassPath(path+"/getRxhs.json", JSONArray.class);
break;//时空徘徊人像
// 人像回溯
jsonArray = JsonUtils.readJsonFromClassPath("data/getRxhs.json", JSONArray.class);
break;
/*case "skpz_rx":
// 获取任务结果 阿里云读取json线上读取接口
jsonArray = JsonUtils.readJsonFromClassPath("data/getRxhs.json", JSONArray.class);
break;//时空碰撞人像*/
case "qygk":
// 获取任务结果 阿里云读取json线上读取接口
// 区域管控
listResult = skRegionalsResultService.qygkResult(params,taskType);
break;//区域管控
break;
case "skbs":
// 获取任务结果 阿里云读取json线上读取接口
// 时空伴随
listResult = skRegionalsResultService.skbsResult(params,taskType);
break;//时空伴随
break;
}
if(jsonArray.size()>0) {
......
......@@ -3,9 +3,7 @@ package com.founder.publicapi.controller.SkDataOperation;
import com.alibaba.fastjson.JSONArray;
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.SysUser;
import com.founder.commonutils.model.vo.param.*;
......@@ -19,7 +17,6 @@ import com.founder.commonutils.util.SpringUtil;
import com.founder.servicebase.service.SkDictionaryService;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.annotations.Select;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -27,9 +24,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
/**
......@@ -209,20 +204,45 @@ public class SkRegionalsTaskController extends ApiController implements ExcelCon
@ApiOperation(value = "发起任务接口")
@PostMapping("/saveRegionalsTask")
public MapRestResult sendRegionalsTask(@RequestBody RegionalsTaskParams regionalsTask, HttpServletRequest request) {
// 生成任务编号
regionalsTask.setTaskId(KeyUtil.getUUIDKey("RW"));
//获取request中的用户信息
SysUser user = (SysUser)request.getAttribute("user");
regionalsTask.setFsrJh(user.getPolicemanid());
regionalsTask.setFsrXm(user.getTrueName());
regionalsTask.setFsrIdentity(user.getIdentitycard());
// 状态置为 1 进度置为 任务开始
regionalsTask.setState("1");
regionalsTask.setStateName("开始");
regionalsTask.setProgress("BEGIN");
// 根据任务类型 获取任务名称
regionalsTask.setTypeName(skDictionaryService.findDmmcByDmAndClass(regionalsTask.getTaskType(), "SkRegionalsTask"));
skRegionalsTaskService.saveRegTask(regionalsTask);
String taskId = "";// 任务id
// 任务编号有值则走修改
if(StringUtils.isNotEmpty(regionalsTask.getTaskId())){
taskId = regionalsTask.getTaskId();
// 先通过任务编号查看该任务是否已有结果
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("taskid", regionalsTask.getTaskId());
// 任务结果生成开始 执行状态
SkRegionalsTask skRegionalsTask = new SkRegionalsTask();
skRegionalsTask.setTaskid(taskId);
skRegionalsTask.setState("1");
skRegionalsTask.setStatename("开始");
regionalsTask.setProgress("BEGIN");
skRegionalsTaskService.updateById(skRegionalsTask);
// 保存区域 集合
List<RegionalsParam> regionalsListHasValue = regionalsTask.getRegionals();
if(null!=regionalsListHasValue) {
// 删除原有区域
skRegionalsTaskService.deleteRegional(regionalsTask.getTaskId());
}
}else{
taskId = KeyUtil.getUUIDKey("RW");
// 生成任务编号
regionalsTask.setTaskId(taskId);
//获取request中的用户信息
SysUser user = (SysUser)request.getAttribute("user");
regionalsTask.setFsrJh(user.getPolicemanid());
regionalsTask.setFsrXm(user.getTrueName());
regionalsTask.setFsrIdentity(user.getIdentitycard());
// 状态置为 1 进度置为 任务开始
regionalsTask.setState("1");
regionalsTask.setStateName("开始");
regionalsTask.setProgress("BEGIN");
// 根据任务类型 获取任务名称
regionalsTask.setTypeName(skDictionaryService.findDmmcByDmAndClass(regionalsTask.getTaskType(), "SkRegionalsTask"));
skRegionalsTaskService.saveRegTask(regionalsTask);
}
// 保存区域 集合
List<RegionalsParam> regionalsList=regionalsTask.getRegionals();
......
......@@ -23,6 +23,8 @@ public interface SkRegionalsTaskMapper extends BaseMapper<SkRegionalsTask> {
void saveRegional(RegionalsParam regionals);
int deleteRegional(String taskId);
List<SkRegionalsTask> queryTaskInfoList(SkRegionalsTaskParam skRegionalsTaskParam);
int queryTaskInfoListCount(SkRegionalsTaskParam skRegionalsTaskParam);
......
......@@ -69,6 +69,10 @@
,#{deviceId, jdbcType=VARCHAR}
)
</insert>
<!--任务发送 区域删除-->
<insert id="deleteRegional" parameterType="java.lang.String">
delete from sk_regionals where taskId = #{taskId, jdbcType=VARCHAR}
</insert>
<!--任务查询-->
<select id="queryTaskInfoList" parameterType="com.founder.commonutils.model.vo.param.SkRegionalsTaskParam" resultType="com.founder.commonutils.model.newPublicEntity.SkRegionalsTask">
SELECT
......
......@@ -26,6 +26,8 @@ public interface SkRegionalsResultService extends IService<SkRegionalsResult> {
List<SkRegionalsResultSaveParam> MoreAreaInfoThread(SkRegionalsResultAllParam params,String taskType);
List<SkRegionalsResultSaveParam> MoreAreaDwpzInfoThread(SkRegionalsResultAllParam params);
List<SkRegionalsResultSaveParam> OneAreaInfoTrampResultThread(SkRegionalsResultAllParam params,String taskType);
List<SkRegionalsResultSaveParam> qygkResult(SkRegionalsResultAllParam params,String taskType);
......
......@@ -20,6 +20,8 @@ public interface SkRegionalsTaskService extends IService<SkRegionalsTask> {
MapRestResult saveRegional(RegionalsParam regionals);
int deleteRegional(String taskId);
List<SkRegionalsTask> queryTaskInfoList(SkRegionalsTaskParam skRegionalsDetailParam);
int queryTaskInfoListCount(SkRegionalsTaskParam skRegionalsDetailParam);
......
......@@ -11,6 +11,7 @@ import com.founder.commonutils.util.JsonUtils;
import com.founder.publicapi.mapper.mysqlMapper.SkRegionalsResultMapper;
import com.founder.publicapi.mapper.mysqlMapper.SkRegionalsTaskMapper;
import com.founder.publicapi.service.SkRegionalsResultService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
......@@ -24,6 +25,7 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 结果表(SkRegionalsResult)表服务实现类
......@@ -277,17 +279,10 @@ public class SkRegionalsResultServiceImpl extends ServiceImpl<SkRegionalsResultM
* @return
*/
public List<SkRegionalsResultSaveParam> carall(RegionalsParam carReceiving){
// 阿里云环境 公安网环境使用不同json
String path = "";
if(environment.equals("dev")){
path = "data";
}else{
path = "dataGaw";
}
List<SkRegionalsResultSaveParam> listResult = new ArrayList<>();
JSONArray jsonArray = null;
try {
jsonArray = JsonUtils.readJsonFromClassPath(path+"/getClhs.json", JSONArray.class);
jsonArray = JsonUtils.readJsonFromClassPath("data/getClhs.json", JSONArray.class);
listResult = jsonArray.toJavaList(SkRegionalsResultSaveParam.class);
} catch (IOException e) {
e.printStackTrace();
......@@ -383,16 +378,10 @@ public class SkRegionalsResultServiceImpl extends ServiceImpl<SkRegionalsResultM
*/
public List<SkRegionalsResultSaveParam> phoneall(RegionalsParam carReceiving) {
// 阿里云环境 公安网环境使用不同json
String path = "";
if(environment.equals("dev")){
path = "data";
}else{
path = "dataGaw";
}
List<SkRegionalsResultSaveParam> listResult = new ArrayList<>();
JSONArray jsonArray = null;
try {
jsonArray = JsonUtils.readJsonFromClassPath(path+"/getJzhs.json", JSONArray.class);
jsonArray = JsonUtils.readJsonFromClassPath("data/getJzhs.json", JSONArray.class);
listResult = jsonArray.toJavaList(SkRegionalsResultSaveParam.class);
} catch (IOException e) {
e.printStackTrace();
......@@ -511,17 +500,10 @@ public class SkRegionalsResultServiceImpl extends ServiceImpl<SkRegionalsResultM
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
List<RegionalsParam> regionalsList = skRegionalsTaskMapper.queryRegionalsList(params.getTaskId());
// 阿里云环境 公安网环境使用不同json
String path = "";
if(environment.equals("dev")){
path = "data";
}else{
path = "dataGaw";
}
List<SkRegionalsResultSaveParam> listResult = new ArrayList<>();
JSONArray jsonArray = null;
try {
jsonArray = JsonUtils.readJsonFromClassPath(path+"/getSkbs.json", JSONArray.class);
jsonArray = JsonUtils.readJsonFromClassPath("data/getSkbs.json", JSONArray.class);
listResult = jsonArray.toJavaList(SkRegionalsResultSaveParam.class);
} catch (IOException e) {
e.printStackTrace();
......@@ -551,5 +533,42 @@ public class SkRegionalsResultServiceImpl extends ServiceImpl<SkRegionalsResultM
Date date = Date.from(instant);
return date;
}
//多维碰撞---------------------------------------------------------------------
@Override
public List<SkRegionalsResultSaveParam> MoreAreaDwpzInfoThread(SkRegionalsResultAllParam params){
List<SkRegionalsResultSaveParam> alllistnew =new ArrayList<>();// 存储最终结果数据
List<Set> setList = new ArrayList<>();// 存储多个集合中任务结果交集
Map<String,Set<String>> listMap = new HashMap<>();// 存储对应任务id下任务结果
if(params.getDeviceIds().length>1){
String[] taskIds = params.getDeviceIds();// 多个入参
for(String taskid:params.getDeviceIds()){
SkRegionalsTaskResultParamAll skRegionalsTaskResultParamAll = new SkRegionalsTaskResultParamAll();
skRegionalsTaskResultParamAll.setTaskId(taskid);
List<SkRegionalsResultAll> listAll = skRegionalsResultMapper.selecteRegionalsTasksResultsByTaskid(skRegionalsTaskResultParamAll);// 获取对应任务id下任务结果
Set<String> objectValueList = listAll.stream().map(SkRegionalsResultAll::getObjectValue).collect(Collectors.toSet());// 任务结果中ObjectValue取出放入集合中
listMap.put(taskid,objectValueList);// 存储对应任务id下任务结果ObjectValue
}
// 组装集合
for(int i=0;i<taskIds.length;i++){
setList.add(listMap.get(taskIds[i]));
}
List<Set> resultSetList = setList.stream().filter(Objects::nonNull).collect(Collectors.toList());// 过滤掉null
Set resultSet = setList.get(0);
resultSetList.forEach(item -> {
resultSet.retainAll(item);
});
if(resultSet.size()>0){
resultSet.stream().forEach(p->{
SkRegionalsResultSaveParam skRegionalsResultSaveParam = new SkRegionalsResultSaveParam();
skRegionalsResultSaveParam.setObjectvalue(p.toString());
skRegionalsResultSaveParam.setTime(new Date());
alllistnew.add(skRegionalsResultSaveParam);
});
}
}
System.out.println("最终碰撞数据==========" + alllistnew.size());
return alllistnew;
}
}
......@@ -42,6 +42,12 @@ public class SkRegionalsTaskServiceImpl extends ServiceImpl<SkRegionalsTaskMappe
}
@Override
public int deleteRegional(String taskId) {
return skRegionalsTaskMapper.deleteRegional(taskId);
}
@Override
public int queryTaskInfoListCount(SkRegionalsTaskParam skRegionalsDetailParam) {
return skRegionalsTaskMapper.queryTaskInfoListCount(skRegionalsDetailParam);
}
......
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