Commit c05977bb authored by hanbing's avatar hanbing

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

parent e66606fc
package net.wanji.web.mapper; package net.wanji.web.mapper;
import com.baomidou.dynamic.datasource.annotation.DS; 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.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
......
...@@ -32,56 +32,17 @@ import net.wanji.web.entity.TBaseAreaCross; ...@@ -32,56 +32,17 @@ import net.wanji.web.entity.TBaseAreaCross;
import net.wanji.web.entity.TBaseAreaInfo; import net.wanji.web.entity.TBaseAreaInfo;
import net.wanji.web.entity.TCrossControlHist; import net.wanji.web.entity.TCrossControlHist;
import net.wanji.web.entity.TDeviceStatusInfo; import net.wanji.web.entity.TDeviceStatusInfo;
import net.wanji.web.mapper.AllDeviceStatusMapper; import net.wanji.web.mapper.*;
import net.wanji.web.mapper.ControlHistMapper; import net.wanji.web.po.*;
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.service.SituationDetectionService; import net.wanji.web.service.SituationDetectionService;
import net.wanji.web.vo.situationDetection.AreaListVO; import net.wanji.web.vo.situationDetection.*;
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 org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.*;
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.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -766,13 +727,24 @@ public class SituationDetectionServiceImpl implements SituationDetectionService ...@@ -766,13 +727,24 @@ public class SituationDetectionServiceImpl implements SituationDetectionService
optAreaInfoVO.setAreaId(areaId); optAreaInfoVO.setAreaId(areaId);
optAreaInfoVO.setAreaName(baseAreaInfoPO.getName()); optAreaInfoVO.setAreaName(baseAreaInfoPO.getName());
optAreaInfoVO.setCrossInfos(buildCrossIdAndNameList(areaId)); 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); res.add(optAreaInfoVO);
} }
return res; 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) { private List<OptCrossIdAndNameVO> buildCrossIdAndNameList(Integer areaId) {
List<OptCrossIdAndNameVO> res = new ArrayList<>(); List<OptCrossIdAndNameVO> res = new ArrayList<>();
......
...@@ -15,8 +15,10 @@ public class AreaTreeVO { ...@@ -15,8 +15,10 @@ public class AreaTreeVO {
private String name; private String name;
@ApiModelProperty(value = "类型:1-区域;2-路口") @ApiModelProperty(value = "类型:1-区域;2-路口")
private String type; private String type;
@ApiModelProperty(value = "区域边界") @ApiModelProperty(value = "道路区域坐标")
private String polylines; private String polylines;
@ApiModelProperty(value = "其他区域坐标")
private List<String> wktList;
@ApiModelProperty(value = "路口经纬度") @ApiModelProperty(value = "路口经纬度")
private String point; private String point;
@ApiModelProperty(value = "子辖区") @ApiModelProperty(value = "子辖区")
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<mapper namespace="net.wanji.web.mapper.CustomRidInfoMapper"> <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="rid" column="rid"/>
<result property="name" column="name"/> <result property="name" column="name"/>
<result property="roadId" column="road_id"/> <result property="roadId" column="road_id"/>
......
...@@ -39,4 +39,6 @@ public interface RidInfoMapper { ...@@ -39,4 +39,6 @@ public interface RidInfoMapper {
List<RidInfoEntity> selectByEndCross(String crossId); List<RidInfoEntity> selectByEndCross(String crossId);
List<RidInfoEntity> selectByStartCross(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 io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.springframework.data.annotation.Id;
import java.util.Date; import java.util.Date;
...@@ -13,7 +12,6 @@ import java.util.Date; ...@@ -13,7 +12,6 @@ import java.util.Date;
@Data @Data
public class RidInfoPO { public class RidInfoPO {
/** 路段编号(开始路口编号+结束路口编号+顺序号0) */ /** 路段编号(开始路口编号+结束路口编号+顺序号0) */
@Id
@ApiModelProperty(name = "路段编号(开始路口编号+结束路口编号+顺序号0)",notes = "") @ApiModelProperty(name = "路段编号(开始路口编号+结束路口编号+顺序号0)",notes = "")
private String rid = ""; private String rid = "";
/** 路段名称 */ /** 路段名称 */
......
...@@ -38,7 +38,10 @@ public class AreaInfoVO { ...@@ -38,7 +38,10 @@ public class AreaInfoVO {
@ApiModelProperty(value = "路口数组", required = true) @ApiModelProperty(value = "路口数组", required = true)
private List<CrossIdAndNameVO> crossIdAndNameList; private List<CrossIdAndNameVO> crossIdAndNameList;
@ApiModelProperty(value = "坐标") @ApiModelProperty(value = "道路区域坐标")
private String wkt; private String wkt;
@ApiModelProperty(value = "其他区域坐标")
private List<String> wktList;
} }
...@@ -22,7 +22,10 @@ public class OptAreaInfoVO { ...@@ -22,7 +22,10 @@ public class OptAreaInfoVO {
@ApiModelProperty(value = "路口数组", required = true) @ApiModelProperty(value = "路口数组", required = true)
private List<OptCrossIdAndNameVO> crossInfos; private List<OptCrossIdAndNameVO> crossInfos;
@ApiModelProperty(value = "坐标") @ApiModelProperty(value = "道路区域坐标线")
private String ployLines; private String ployLines;
@ApiModelProperty(value = "其他区域坐标线")
private List<String> wktList;
} }
...@@ -117,4 +117,15 @@ ...@@ -117,4 +117,15 @@
from t_base_rid_info from t_base_rid_info
where start_cross_id = #{finalCrossId} where start_cross_id = #{finalCrossId}
</select> </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> </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