Commit c05977bb authored by hanbing's avatar hanbing

[update] 辖区和子区返回坐标由多边形改为线

parent e66606fc
package net.wanji.web.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
import net.wanji.web.po.RidInfoPO;
import net.wanji.databus.po.RidInfoPO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
......
......@@ -32,56 +32,17 @@ import net.wanji.web.entity.TBaseAreaCross;
import net.wanji.web.entity.TBaseAreaInfo;
import net.wanji.web.entity.TCrossControlHist;
import net.wanji.web.entity.TDeviceStatusInfo;
import net.wanji.web.mapper.AllDeviceStatusMapper;
import net.wanji.web.mapper.ControlHistMapper;
import net.wanji.web.mapper.CrossAlarmMapper;
import net.wanji.web.mapper.EventAlarmMapper;
import net.wanji.web.mapper.GreenwaveRealtimeMapperOld;
import net.wanji.web.mapper.OptRecordsMapper;
import net.wanji.web.mapper.TBaseAreaCrossMapper;
import net.wanji.web.mapper.TBaseAreaInfoMapper;
import net.wanji.web.mapper.TDeviceStatusLogMapper;
import net.wanji.web.mapper.VehicleTraceMapper;
import net.wanji.web.mapper.VideoDeviceInfoMapper;
import net.wanji.web.po.BaseAreaDataPO;
import net.wanji.web.po.ControlHistPO;
import net.wanji.web.po.CrossAlarmPO;
import net.wanji.web.po.EventAlarmPO;
import net.wanji.web.po.GreenwaveRealtimePO;
import net.wanji.web.po.VehicleTracePO;
import net.wanji.web.po.VideoDeviceInfoPO;
import net.wanji.web.mapper.*;
import net.wanji.web.po.*;
import net.wanji.web.service.SituationDetectionService;
import net.wanji.web.vo.situationDetection.AreaListVO;
import net.wanji.web.vo.situationDetection.ControlHistOutVO;
import net.wanji.web.vo.situationDetection.CrossAlarmOutVO;
import net.wanji.web.vo.situationDetection.DeviceFaultCountVO;
import net.wanji.web.vo.situationDetection.EventAlarmOutVO;
import net.wanji.web.vo.situationDetection.GreenwaveRealtimeOutVO;
import net.wanji.web.vo.situationDetection.JurisdictionAreaTreeVO;
import net.wanji.web.vo.situationDetection.OptRecordsOutVO;
import net.wanji.web.vo.situationDetection.SignalFaultInfoVO;
import net.wanji.web.vo.situationDetection.SignalManufacturerCountInfoVO;
import net.wanji.web.vo.situationDetection.SignalOperationModeCountVO;
import net.wanji.web.vo.situationDetection.SignalOperationModeVO;
import net.wanji.web.vo.situationDetection.VehicleTraceOutVO;
import net.wanji.web.vo.situationDetection.VideoDeviceInfoOutVO;
import net.wanji.web.vo.situationDetection.*;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -766,13 +727,24 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
optAreaInfoVO.setAreaId(areaId);
optAreaInfoVO.setAreaName(baseAreaInfoPO.getName());
optAreaInfoVO.setCrossInfos(buildCrossIdAndNameList(areaId));
optAreaInfoVO.setPloyLines(baseAreaInfoPO.getPolylines());
String polylines = baseAreaInfoPO.getPolylines();
// 如果是道路,直接返回线
if (Objects.equals(AreaEnum.ROAD.getCode(), baseAreaInfoPO.getType())) {
optAreaInfoVO.setPloyLines(polylines);
} else {
List<String> wktList = buildWktList(polylines);
optAreaInfoVO.setWktList(wktList);
}
res.add(optAreaInfoVO);
}
return res;
}
private List<String> buildWktList(String polylines) {
String[] strArray = polylines.substring(1, polylines.length() - 1).split(", ");
return Arrays.asList(strArray);
}
private List<OptCrossIdAndNameVO> buildCrossIdAndNameList(Integer areaId) {
List<OptCrossIdAndNameVO> res = new ArrayList<>();
......
......@@ -15,8 +15,10 @@ public class AreaTreeVO {
private String name;
@ApiModelProperty(value = "类型:1-区域;2-路口")
private String type;
@ApiModelProperty(value = "区域边界")
@ApiModelProperty(value = "道路区域坐标")
private String polylines;
@ApiModelProperty(value = "其他区域坐标")
private List<String> wktList;
@ApiModelProperty(value = "路口经纬度")
private String point;
@ApiModelProperty(value = "子辖区")
......
......@@ -3,7 +3,7 @@
<mapper namespace="net.wanji.web.mapper.CustomRidInfoMapper">
<!-- 通用查询映射结果 -->
<resultMap type="net.wanji.web.po.RidInfoPO" id="BaseResultMap">
<resultMap type="net.wanji.databus.po.RidInfoPO" id="BaseResultMap">
<result property="rid" column="rid"/>
<result property="name" column="name"/>
<result property="roadId" column="road_id"/>
......
......@@ -39,4 +39,6 @@ public interface RidInfoMapper {
List<RidInfoEntity> selectByEndCross(String crossId);
List<RidInfoEntity> selectByStartCross(String crossId);
List<RidInfoEntity> selectByCrossList(List<String> crossIdList);
}
package net.wanji.web.po;
package net.wanji.databus.po;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.annotation.Id;
import java.util.Date;
......@@ -13,7 +12,6 @@ import java.util.Date;
@Data
public class RidInfoPO {
/** 路段编号(开始路口编号+结束路口编号+顺序号0) */
@Id
@ApiModelProperty(name = "路段编号(开始路口编号+结束路口编号+顺序号0)",notes = "")
private String rid = "";
/** 路段名称 */
......
......@@ -38,7 +38,10 @@ public class AreaInfoVO {
@ApiModelProperty(value = "路口数组", required = true)
private List<CrossIdAndNameVO> crossIdAndNameList;
@ApiModelProperty(value = "坐标")
@ApiModelProperty(value = "道路区域坐标")
private String wkt;
@ApiModelProperty(value = "其他区域坐标")
private List<String> wktList;
}
......@@ -22,7 +22,10 @@ public class OptAreaInfoVO {
@ApiModelProperty(value = "路口数组", required = true)
private List<OptCrossIdAndNameVO> crossInfos;
@ApiModelProperty(value = "坐标")
@ApiModelProperty(value = "道路区域坐标线")
private String ployLines;
@ApiModelProperty(value = "其他区域坐标线")
private List<String> wktList;
}
......@@ -117,4 +117,15 @@
from t_base_rid_info
where start_cross_id = #{finalCrossId}
</select>
<select id="selectByCrossList" resultType="net.wanji.databus.dao.entity.RidInfoEntity">
select <include refid="Base_Column_List"/>
from t_base_rid_info
where
(start_cross_id in
<foreach collection="crossIdList" item="id" separator="," open="(" close=")">#{id}</foreach>)
or
(end_cross_id in
<foreach collection="crossIdList" item="id" separator="," open="(" close=")">#{id}</foreach>)
</select>
</mapper>
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