Commit 2784d042 by yangyang

车、手机区域碰撞提交

parent 302a3394
......@@ -59,7 +59,6 @@ public class SkRegionalsTask extends Model<SkRegionalsTask> {
* 状态名称,开始、执行、完成、失败
*/
private String statename;
/**
* 发送人警号
*/
......
package com.founder.commonutils.model.vo.param;
import lombok.Data;
/**
* 车辆回溯参数
* @Author yangyang
* @Date 2021/04/07
*/
@Data
public class CarOneAreaIAnalysisSearchParam {
private String excludedPlateNos = "";// 剔除的号牌
private String startTime = ""; // 开始时间
private String endTime = ""; // 结束时间
private String timeCondition = ""; // 2018-03-02 17:02:00-2018-03-02 17:04:00 时间段
private String moduleId = "tollgate";// 模块名
private String color = "" ;// 颜色代码
private String includedPlateNos = "";// 包含的号牌
private String laneDirection = "";// 车道方向代码
private String speedLow = "";// 速度下限
private String speedHigh = "";// 速度上限
private String vehicleColor = "";// 车辆颜色代码
private String deviceList = "";//设备id列表, 多个用英文逗号分隔
private String onlyCount = "";// 是否只要总数量,true或false
private String simple = "";// 是否是车卡简易模式,true或false
private String sortType = "Desc";//Desc或Asc
private int pageSize = 1000;//每页记录
private int pageNo = 1; //页码从1开始
}
......@@ -55,4 +55,10 @@ public class RegionalsParam {
@ApiModelProperty("中心点纬度")
private String y;
@ApiModelProperty("区域内设备id集合")
private List<String> deviceIds;
@ApiModelProperty("区域内设备id字符串")
private String deviceId;
}
......@@ -20,6 +20,9 @@ public class SkRegionalsTaskResultParamAll {
@ApiModelProperty(value = "手机号码(运营商)")
private String serviceProvider;
@ApiModelProperty(value = "车牌号码第一位省级")
private String carNumSj;
@ApiModelProperty(value = "当前页")
private Integer page;
......
......@@ -29,7 +29,6 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
......@@ -123,10 +122,20 @@ public class SkRegionalsResultController extends ApiController implements ExcelC
// 获取任务结果 阿里云读取json线上读取接口
jsonArray = JsonUtils.readJsonFromClassPath("data/getJzhs.json", JSONArray.class);
break;//基站回溯
case "qypz_car":
// 获取任务结果 阿里云读取json线上读取接口
listResult = skRegionalsResultService.MoreAreaInfoThread(params,taskType);
break;//区域碰撞车辆
case "qypz_people":
// 获取任务结果 阿里云读取json线上读取接口
listResult = skRegionalsResultService.MoreAreaInfoThread(params,taskType);
break;//区域碰撞手机
}
if(jsonArray.size()>0){
if(jsonArray.size()>0) {
listResult = jsonArray.toJavaList(SkRegionalsResultSaveParam.class);
}
if(listResult.size()>0){
// 任务类型和名称赋值
listResult.stream().forEach(p->{
p.setObjecttype(taskType);
......@@ -178,13 +187,15 @@ public class SkRegionalsResultController extends ApiController implements ExcelC
skRegionalsTaskService.updateById(skRegionalsTask1);
return MapRestResult.build(200,"任务结果信息入库失败",e);
}
}else{
return new MapRestResult().ok("无任务结果数据返回!");
}
return new MapRestResult().error("保存成功!");
}
}else{
return new MapRestResult().ok("该任务已生成结果!");
}
return new MapRestResult().error("保存成功");
}
}
return new MapRestResult().error("保存成功");
return new MapRestResult().ok("该任务已生成结果!");
}
return new MapRestResult().error("保存成功!");
}
......@@ -273,7 +284,7 @@ public class SkRegionalsResultController extends ApiController implements ExcelC
@ApiOperation(value = "获取任务结果数据")
@PostMapping("/queryRegionalsTasksResults")
//@OperLog(message = "获取任务结果数据", operation = OperationType.QUERY)
@OperLog(message = "获取任务结果数据", operation = OperationType.QUERY)
public MapRestResult selecteRegionalsTasksResults(@RequestBody SkRegionalsTaskResultParamAll skRegionalsTaskResultParamAll) {
skRegionalsTaskResultParamAll.setPage((skRegionalsTaskResultParamAll.getPage() - 1) * skRegionalsTaskResultParamAll.getPageSize());
List<SkRegionalsResultAll> listResult = skRegionalsResultService.selecteRegionalsTasksResults(skRegionalsTaskResultParamAll);
......@@ -297,20 +308,8 @@ public class SkRegionalsResultController extends ApiController implements ExcelC
List<SkRegionalsTask> taskList = skRegionalsTaskService.list(queryWrapper);
if(taskList.size()>0) {
String taskType = taskList.get(0).getTasktype();
// 1.2根据任务类型 走不同接口
switch (taskType) {
case "skhs_car":
// 获取任务结果分类
listResult = skRegionalsResultService.selecteRegionalsTasksResultsFl(skRegionalsTaskResultParamAll.getTaskId(),taskType);
mapResult = listResult.stream().collect(Collectors.groupingBy(SkRegionalsResultFl::getFlbz));
break;//车辆回溯
case "skhs_people":
// 获取任务结果分类 运营商分类 归属地分类
listResult = skRegionalsResultService.selecteRegionalsTasksResultsFl(skRegionalsTaskResultParamAll.getTaskId(),taskType);
mapResult = listResult.stream().collect(Collectors.groupingBy(SkRegionalsResultFl::getFlbz));
break;//基站回溯
}
listResult = skRegionalsResultService.selecteRegionalsTasksResultsFl(skRegionalsTaskResultParamAll.getTaskId(),taskType);
mapResult = listResult.stream().collect(Collectors.groupingBy(SkRegionalsResultFl::getFlbz));
// 转为前端对应格式
mapResult.forEach((key,value)->{
Map<String,Object> maps = new HashMap<>();
......@@ -376,9 +375,9 @@ public class SkRegionalsResultController extends ApiController implements ExcelC
skRegionalsDetail.setObjecttypename(p.getObjecttypename());// 类型名称
skRegionalsDetail.setObjectvalue(p.getObjectvalue());// 标识号值
// 如果是基站回溯 翻译手机号归属地和运营商
if("skhs_people".equals(p.getObjecttype())){
if("skhs_people".equals(p.getObjecttype())||"qypz_people".equals(p.getObjecttype())){
skRegionalsDetail.setServiceProvider("移动运营商");
skRegionalsDetail.setAttribution("重庆市北碚区");
skRegionalsDetail.setAttribution("重庆市");
}
boolean savesDetail = skRegionalsDetailService.save(skRegionalsDetail);
if(savesDetail){// 翻译成功通过身份证拿到人员基本信息
......
......@@ -20,6 +20,7 @@ import com.founder.publicapi.service.SkRegionalsTaskService;
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.*;
......@@ -243,6 +244,10 @@ public class SkRegionalsTaskController extends ApiController implements ExcelCon
regionals.setGeometry(JSONArray.toJSONString(regionals.getGeometrys()));
// 根据类型获取任务名称
regionals.setTypeName(skDictionaryService.findDmmcByDmAndClass(regionals.getType(), "SkRegionals"));
// 区域内设备id集合有值则落地
if(null != regionals.getDeviceIds()){
regionals.setDeviceId(JSONArray.toJSONString(regionals.getDeviceIds()));
}
skRegionalsTaskService.saveRegional(regionals);
});
}
......
......@@ -5,6 +5,7 @@ import com.founder.commonutils.model.newPublicEntity.SkRegionalsTask;
import com.founder.commonutils.model.vo.param.RegionalsParam;
import com.founder.commonutils.model.vo.param.RegionalsTaskParams;
import com.founder.commonutils.model.vo.param.SkRegionalsTaskParam;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import java.util.List;
......@@ -26,5 +27,6 @@ public interface SkRegionalsTaskMapper extends BaseMapper<SkRegionalsTask> {
int queryTaskInfoListCount(SkRegionalsTaskParam skRegionalsTaskParam);
List<RegionalsParam> queryRegionalsList(@Param(value = "taskId")String taskId);
}
......@@ -31,6 +31,9 @@
<if test="taskId != null and taskId != ''">r.taskId = #{ taskId , jdbcType=VARCHAR }</if>
<if test="attribution != null and attribution != ''">and d .attribution = #{ attribution , jdbcType=VARCHAR }</if>
<if test="serviceProvider != null and serviceProvider != ''">and d .serviceProvider = #{ serviceProvider , jdbcType=VARCHAR }</if>
<if test="carNumSj != null and carNumSj != ''">
and r.objectvalue like concat(#{carNumSj , jdbcType=VARCHAR }, '%')
</if>
limit #{page},#{pageSize}
</select>
<!--获取任务结果数量-->
......@@ -66,8 +69,8 @@
<!--获取任务结果分类车辆回溯-->
<select id="selecteRegionalsTasksResultsFlSkhsCar" parameterType="java.lang.String" resultType="com.founder.commonutils.model.newPublicEntity.SkRegionalsResultFl">
select
left(r.objectvalue,1) flbz,
count(*) count,r.objectvalue as lable from sk_regionals_result r
left(r.objectvalue,1) lable,'车牌号' flbz,
count(*) count from sk_regionals_result r
where
<if test="taskId != null and taskId != ''">r.taskId = #{ taskId , jdbcType=VARCHAR }</if>
group by left(objectvalue,1);
......
......@@ -50,7 +50,8 @@
X,
Y,
RADIUS,
DJSJ
DJSJ,
deviceIds
)
VALUES(
#{taskId, jdbcType=VARCHAR}
......@@ -65,6 +66,7 @@
,#{y, jdbcType=VARCHAR}
,#{radius, jdbcType=VARCHAR}
,now()
,#{deviceId, jdbcType=VARCHAR}
)
</insert>
<!--任务查询-->
......@@ -124,4 +126,24 @@ ORDER BY
AND a.fssj <![CDATA[<=]]> DATE_FORMAT(#{jssj},'%Y-%m-%d %H:%i:%S')
</if>
</select>
<!--根据任务id查询区域信息-->
<select id="queryRegionalsList" parameterType="String" resultType="com.founder.commonutils.model.vo.param.RegionalsParam">
SELECT
TASKID as taskId,
STARTTIME as startTime,
ENDTIME as endTime,
GEOMETRY as geometry,
NAME as name,
TYPE as type,
X as x,
Y as y,
RADIUS as radius,
DEVICEIDS as deviceId
FROM
sk_regionals a
WHERE
<if test="taskId != null and taskId != ''">
a.taskId = #{taskId , jdbcType=VARCHAR }
</if>
</select>
</mapper>
......@@ -4,8 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.founder.commonutils.model.newPublicEntity.SkRegionalsResultAll;
import com.founder.commonutils.model.newPublicEntity.SkRegionalsResult;
import com.founder.commonutils.model.newPublicEntity.SkRegionalsResultFl;
import com.founder.commonutils.model.vo.param.SkRegionalsResultAllParam;
import com.founder.commonutils.model.vo.param.SkRegionalsResultSaveParam;
import com.founder.commonutils.model.vo.param.SkRegionalsTaskResultParamAll;
import io.lettuce.core.dynamic.annotation.Param;
import java.util.List;
......@@ -22,5 +23,7 @@ public interface SkRegionalsResultService extends IService<SkRegionalsResult> {
Integer selecteRegionalsTasksResultsCount(SkRegionalsTaskResultParamAll skRegionalsTaskResultParamAll);
List<SkRegionalsResultFl> selecteRegionalsTasksResultsFl(String taskId,String taskType);
List<SkRegionalsResultSaveParam> MoreAreaInfoThread(SkRegionalsResultAllParam params,String taskType);
}
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