Commit c646d1bc by yanru

保存多区域碰撞分析-发送任务、时空伴随-任务发送接口的返回值

parent 8b52cd4a
......@@ -6,10 +6,15 @@ import com.founder.interservice.dzgz.model.DzgzTask;
import com.founder.interservice.dzgz.service.DzgzService;
import com.founder.interservice.exception.InterServiceException;
import com.founder.interservice.service.PushWaDataService;
import com.founder.interservice.tracktraveltogether.model.TrackTogetherTask;
import com.founder.interservice.tracktraveltogether.service.TrackTogetherService;
import com.founder.interservice.user.controller.UserContoller;
import com.founder.interservice.user.model.User;
import com.founder.interservice.util.DateUtil;
import com.founder.interservice.util.KeyUtil;
import com.founder.interservice.util.ResultVOUtil;
import com.founder.interservice.util.StringUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
......@@ -32,6 +37,8 @@ public class PushWaDataController {
private UserContoller userContoller;
@Autowired
private DzgzService dzgzService;
@Autowired
private TrackTogetherService trackTogetherService;
/**
* 获取对象时间段内的轨迹
......@@ -136,6 +143,7 @@ public class PushWaDataController {
ResultVO resultVO = null;
try{
String result = pushWaDataService.sendTogetherTask(taskCaseId,taskName,username,startTime,endTime,objectType,objectValue);
saveTogetherTask(result,taskCaseId,taskName,username,startTime,endTime,objectType,objectValue);
resultVO = ResultVOUtil.success(JSONObject.parseObject(result));
}catch (InterServiceException e){
e.printStackTrace();
......@@ -144,6 +152,46 @@ public class PushWaDataController {
return resultVO;
}
/**
* 时空伴随-任务保存
* @param result
* @param taskCaseId
* @param taskName
* @param username
* @param startTime
* @param endTime
* @param objectType
* @param objectValue
*/
public void saveTogetherTask(String result,String taskCaseId,String taskName,String username,String startTime,String endTime,String objectType,String objectValue) {
try {
TrackTogetherTask trackParam = new TrackTogetherTask();
if (!StringUtils.isEmpty(result) && result.contains("{")) {
JSONObject resultObject = JSONObject.parseObject(result);
if (null != resultObject && resultObject.containsKey("data") && null != resultObject.get("data")) {
String taskId = resultObject.get("data").toString();
trackParam.setTaskId(taskId);
trackParam.setProgress("0");
trackParam.setState("QUEUEING");
trackParam.setTaskName(taskName);//设置任务名称
trackParam.setTaskCaseId(taskCaseId); //设置案件编号
trackParam.setObjectValue(objectValue); //设置需要伴随的标识号
if (!StringUtil.ckeckEmpty(objectType) && !StringUtil.ckeckEmpty(objectValue)
&& !StringUtil.ckeckEmpty(startTime) && !StringUtil.ckeckEmpty(endTime)) {
trackParam.setObjectType(objectType);//设置标识号类型
trackParam.setObjectValue(objectValue); //设置需要伴随的标识号
Date kssj = startTime.contains(" ") ? DateUtil.convertStringToDateTime(startTime) : DateUtil.convertStringToDate(startTime);
trackParam.setStartTime(kssj);
Date jssj = endTime.contains(" ") ? DateUtil.convertStringToDateTime(endTime) : DateUtil.convertStringToDate(endTime);
trackParam.setEndTime(jssj);
}
trackTogetherService.saveTogetherTask(trackParam);//任务保存入库
}
}
}catch (Exception e){
e.printStackTrace();
}
}
/**
* 获取时空伴随任务结果
* @param taskId 任务编号
* @return
......
......@@ -7,11 +7,16 @@ import com.founder.interservice.VO.ResultVO;
import com.founder.interservice.enums.ResultEnum;
import com.founder.interservice.exception.InterServiceException;
import com.founder.interservice.protogenesis.service.ProtoService;
import com.founder.interservice.regionalanalysis.model.Regional;
import com.founder.interservice.regionalanalysis.model.RegionalTask;
import com.founder.interservice.regionalanalysis.service.RegionalAnalysisService;
import com.founder.interservice.util.DateUtil;
import com.founder.interservice.util.KeyUtil;
import com.founder.interservice.util.ResultVOUtil;
import com.founder.interservice.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
......@@ -19,6 +24,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -31,6 +37,8 @@ public class ProtoController {
@Autowired
private ProtoService protoService;
@Autowired
private RegionalAnalysisService regionalAnalysisService;
/**
* 获取关联关系接口
......@@ -265,12 +273,69 @@ public class ProtoController {
ResultVO resultVO = null;
try{
String result = protoService.doPostWaData("multiRegionalsAnalyseTask",param);
saveRegionalTask(param,result);
resultVO = ResultVOUtil.success(result);
}catch (InterServiceException e){
resultVO = ResultVOUtil.error(e.getCode(),e.getMessage(),null);
}
return resultVO;
}
/**
* 保存多区域任务信息
* @param param
* @param result
*/
public void saveRegionalTask(String param,String result){
try {
if (!StringUtils.isEmpty(result) && result.contains("{")) {
JSONObject resultObject = JSONObject.parseObject(result);
if (null != resultObject && resultObject.containsKey("data")&&null!=resultObject.get("data")) {
String taskId = resultObject.get("data").toString();
JSONObject paramObject = JSONObject.parseObject(param);
RegionalTask regionalTask = new RegionalTask();
List<Regional> regionalList = null;
regionalTask.setTaskId(taskId);
regionalTask.setTaskName(paramObject.getString("taskName"));
regionalTask.setTaskCaseId(paramObject.getString("taskCaseId"));
regionalTask.setDjsj(new Date());
regionalTask.setProgress("0");
regionalTask.setState("QUEUEING");
if (paramObject != null) {
JSONObject jsonObject1 = paramObject.getJSONObject("perform");
if (jsonObject1 != null) {
regionalTask.setExpression(jsonObject1.getString("expression"));
JSONArray jsonArray = jsonObject1.getJSONArray("regional");
if (jsonArray != null && !jsonArray.isEmpty()) {
regionalList = new ArrayList<>();
for (int i = 0; i <= jsonArray.size() - 1; i++) {
JSONObject object = jsonArray.getJSONObject(i);
if (object != null) {
Regional regional = new Regional();
regional.setTaskId(taskId);
regional.setDjsj(new Date());
regional.setRegionalId(KeyUtil.getUniqueKey("RT"));
regional.setName(object.getString("name"));
regional.setLc(object.getJSONArray("lc").toJSONString());
regional.setSource(object.getJSONArray("source").toJSONString());
regional.setStartTime(new Date(object.getLong("startTime")));
regional.setEndTime(new Date(object.getLong("endTime")));
regionalList.add(regional);
}
}
}
regionalTask.setRegionals(regionalList);
}
}
if (regionalTask != null) {
regionalAnalysisService.saveRegionalTask(regionalTask);
}
}
}
}catch (Exception e){
e.printStackTrace();
}
}
//多区域碰撞分析统计-获取结果
@RequestMapping(value = "/getMultiRegionalsAnalyTask",method = {RequestMethod.GET,RequestMethod.POST})
@ResponseBody
......
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