Commit d82a9a7c authored by duanruiming's avatar duanruiming

Merge remote-tracking branch 'origin/master'

parents 849cf846 6b663220
......@@ -14,10 +14,7 @@ import net.wanji.web.bo.ControlModeBO;
import net.wanji.web.bo.PolygonBO;
import net.wanji.web.bo.SpecialServiceRouteBO;
import net.wanji.web.service.impl.CrossManageServiceImpl;
import net.wanji.web.vo.ControlModeVO;
import net.wanji.web.vo.CrossIdAndNameVO;
import net.wanji.web.vo.ListAreaVO;
import net.wanji.web.vo.SelectCrossesByStartEndVO;
import net.wanji.web.vo.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -112,6 +109,18 @@ public class CrossManageController {
return JsonViewObject.newInstance().success(res);
}
@ApiOperation(value = "区域信息", notes = "区域信息", response = JsonViewObject.class,
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@PostMapping(value = "/areaInfo",
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = AreaInfoVO.class),
})
public JsonViewObject areaInfo(@RequestBody AreaIdBO areaIdBO) {
AreaInfoVO res = crossManageService.areaInfo(areaIdBO);
return JsonViewObject.newInstance().success(res);
}
@ApiOperation(value = "控制模式下拉框", notes = "控制模式下拉框", produces = MediaType.APPLICATION_JSON)
@PostMapping(value = "/controlModeMenu", produces = MediaType.APPLICATION_JSON)
@ApiResponses({
......
......@@ -8,10 +8,7 @@ import net.wanji.web.bo.ControlModeBO;
import net.wanji.web.bo.PolygonBO;
import net.wanji.web.bo.SpecialServiceRouteBO;
import net.wanji.databus.vo.AreaDetailVO;
import net.wanji.web.vo.ControlModeVO;
import net.wanji.web.vo.CrossIdAndNameVO;
import net.wanji.web.vo.ListAreaVO;
import net.wanji.web.vo.SelectCrossesByStartEndVO;
import net.wanji.web.vo.*;
import java.util.List;
......@@ -36,4 +33,6 @@ public interface CrossManageService {
List<ControlModeVO> controlModeMenu();
void updateControlMode(ControlModeBO controlModeBO);
AreaInfoVO areaInfo(AreaIdBO areaIdBO);
}
......@@ -288,20 +288,22 @@ public class CrossManageServiceImpl implements CrossManageService {
}
}
// 筛选控制模式
if (currentCrossSection != null && controlMode != null) {
Integer currentControlMode = currentCrossSection.getControlMode();
if (controlMode.equals(currentControlMode)) {
areaDetailVO.setControlMode(currentControlMode);
voList.add(areaDetailVO);
if (controlMode != null) {
if (currentCrossSection != null){
Integer currentControlMode = currentCrossSection.getControlMode();
if (controlMode.equals(currentControlMode)) {
areaDetailVO.setControlMode(currentControlMode);
voList.add(areaDetailVO);
}
}
} else if (controlMode == null){
} else {
if (currentCrossSection != null) {
Integer currentControlMode = currentCrossSection.getControlMode();
areaDetailVO.setControlMode(currentControlMode);
voList.add(areaDetailVO);
} else {
voList.add(areaDetailVO);
}
voList.add(areaDetailVO);
} else {
voList.add(areaDetailVO);
}
}
voPageInfo.setList(voList);
......@@ -338,6 +340,40 @@ public class CrossManageServiceImpl implements CrossManageService {
}
}
@Override
public AreaInfoVO areaInfo(AreaIdBO areaIdBO) {
Integer areaId = areaIdBO.getAreaId();
BaseAreaInfoPO baseAreaInfoPO = baseAreaInfoMapper.selectById(areaId);
AreaInfoVO areaInfoVO = new AreaInfoVO();
areaInfoVO.setType(baseAreaInfoPO.getType());
areaInfoVO.setParentCode(baseAreaInfoPO.getParentCode());
areaInfoVO.setAreaId(baseAreaInfoPO.getId());
areaInfoVO.setAreaName(baseAreaInfoPO.getName());
areaInfoVO.setRoadName(baseAreaInfoPO.getRoadName());
areaInfoVO.setRemark(baseAreaInfoPO.getRemark());
// 查询区域路口ID
areaInfoVO.setCrossIdAndNameList(buildCrossIdAndNameList(areaId));
areaInfoVO.setWkt(baseAreaInfoPO.getLocation());
return areaInfoVO;
}
private List<CrossIdAndNameVO> buildCrossIdAndNameList(Integer areaId) {
List<CrossIdAndNameVO> res = new ArrayList<>();
List<String> crossIds = areaCrossMapper.selectCrossIdsByAreaId(areaId);
List<BaseCrossInfoPO> baseCrossInfoPOList = crossInfoMapper.selectByCrossIds(crossIds);
for (BaseCrossInfoPO baseCrossInfoPO : baseCrossInfoPOList) {
CrossIdAndNameVO crossIdAndNameVO = new CrossIdAndNameVO();
crossIdAndNameVO.setCrossId(baseCrossInfoPO.getId());
crossIdAndNameVO.setCrossName(baseCrossInfoPO.getName());
res.add(crossIdAndNameVO);
}
return res;
}
private Integer findCurrentSection(String crossId) {
Date datetime = new Date();
String dateStr = sdf.format(datetime);
......
package net.wanji.web.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Pattern;
import java.util.List;
/**
* @author Kent HAN
* @date 2023/6/9 13:52
*/
@Data
@ApiModel(value = "AreaInfoVO", description = "区域信息")
public class AreaInfoVO {
@ApiModelProperty(value = "区划类型:1行政区划;2交警辖区;3商圈;4交通小区;5热点区域;6道路")
private Integer type;
@ApiModelProperty(value = "父节点")
private Integer parentCode;
@ApiModelProperty(value = "区域ID")
private Integer areaId;
@ApiModelProperty(value = "区域名称", required = true)
@Pattern(regexp = "^[\\u4E00-\\u9FA5\\w\\-]{0,20}$", message = "区域名称只能包含中文、英文、数字、下划线和中横线,0~20个字符")
private String areaName;
@ApiModelProperty(value = "道路名称")
@Pattern(regexp = "^[\\u4E00-\\u9FA5\\w\\-]{0,20}$", message = "道路名称只能包含中文、英文、数字、下划线和中横线,0~20个字符")
private String roadName;
@ApiModelProperty(value = "备注", required = true)
@Pattern(regexp = "^[\\u4E00-\\u9FA5\\w\\-]{0,200}$", message = "备注只能包含中文、英文、数字、下划线和中横线,0~200个字符")
private String remark;
@ApiModelProperty(value = "路口数组", required = true)
private List<CrossIdAndNameVO> crossIdAndNameList;
@ApiModelProperty(value = "坐标")
private String wkt;
}
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