|
@@ -87,11 +87,14 @@ public class FzssServiceImpl implements IFzssService {
|
|
|
public FzxzCalc saveScheduleParam(SelectPilotVo selectPilotVo) throws JsonProcessingException {
|
|
|
FzxzCalc fzxzCalc = new FzxzCalc();
|
|
|
// 辅助选址
|
|
|
- FzxzDTO fzxzDTO = selectPilotVo;
|
|
|
+ SelectionDTO fzxzDTO = selectPilotVo;
|
|
|
fzxzDTO.setBsm(StringUtils.getUUID());
|
|
|
fzxzDTO.setCjsj(new Date());
|
|
|
fzxzDTO.setYdxz_bsm(fzxzDTO.getYdxz_bsm().replaceAll("\\[", "").replaceAll("\\]", ""));
|
|
|
-
|
|
|
+ // TODO 数据源
|
|
|
+ if (fzxzDTO.getSjy() == null) {
|
|
|
+ fzxzDTO.setSjy("TB_GHDK_SITUATION");
|
|
|
+ }
|
|
|
|
|
|
// 选址因子
|
|
|
List<FactorUseDTO> factorUseDTOS = selectPilotVo.getFactorList();
|
|
@@ -126,7 +129,7 @@ public class FzssServiceImpl implements IFzssService {
|
|
|
* @param rwzt
|
|
|
*/
|
|
|
private void updateFzxzStatus(String bsm, Integer rwzt) {
|
|
|
- UpdateWrapper<FzxzDTO> wrapper = new UpdateWrapper<>();
|
|
|
+ UpdateWrapper<SelectionDTO> wrapper = new UpdateWrapper<>();
|
|
|
wrapper.eq("bsm", bsm).set("rwzt", rwzt);
|
|
|
fzxzMapper.update(null, wrapper);
|
|
|
}
|
|
@@ -138,7 +141,7 @@ public class FzssServiceImpl implements IFzssService {
|
|
|
* @param reportPath
|
|
|
*/
|
|
|
private void updateFzxzReport(String bsm, String reportPath) {
|
|
|
- UpdateWrapper<FzxzDTO> wrapper = new UpdateWrapper<>();
|
|
|
+ UpdateWrapper<SelectionDTO> wrapper = new UpdateWrapper<>();
|
|
|
wrapper.eq("bsm", bsm).set("fxbg", reportPath);
|
|
|
fzxzMapper.update(null, wrapper);
|
|
|
}
|
|
@@ -151,18 +154,12 @@ public class FzssServiceImpl implements IFzssService {
|
|
|
*/
|
|
|
@Override
|
|
|
public RequestResult startSchedule(FzxzCalc fzxzCalc) {
|
|
|
- FzxzDTO fzxzDTO = fzxzCalc.getFzxzDTO();
|
|
|
+ SelectionDTO fzxzDTO = fzxzCalc.getFzxzDTO();
|
|
|
String taskId = fzxzDTO.getBsm();
|
|
|
|
|
|
// 0.开始规划,更新任务状态
|
|
|
updateFzxzStatus(taskId, Rwzt.getRun());
|
|
|
|
|
|
- // TODO 数据源
|
|
|
- String sjyName = "";
|
|
|
- fzxzDTO.setSjy("TB_GHDK_SITUATION");
|
|
|
- if (fzxzDTO.getSjy() == "TB_GHDK_SITUATION") {
|
|
|
- sjyName = "规划地块";
|
|
|
- }
|
|
|
|
|
|
// 开始分析
|
|
|
iLogService.saveLog(taskId, "辅助选址", "开始分析", "info");
|
|
@@ -190,7 +187,7 @@ public class FzssServiceImpl implements IFzssService {
|
|
|
return RequestResult.error("区域筛选条件筛选未找到符合条件数据!", null);
|
|
|
}
|
|
|
|
|
|
- iLogService.saveLog(taskId, "辅助选址", "相交裁剪" + sjyName, "info");
|
|
|
+ iLogService.saveLog(taskId, "辅助选址", "相交裁剪区域数据", "info");
|
|
|
|
|
|
// 3.用地类型(性质)筛选
|
|
|
if (fzxzDTO.getUseLandType()) {
|
|
@@ -412,7 +409,7 @@ public class FzssServiceImpl implements IFzssService {
|
|
|
String geom = (String) landMap.get("geom");
|
|
|
Double area = (Double) landMap.get("siweiarea");
|
|
|
|
|
|
- FzxzResDTO fzxzResDTO = DozerUtils.map(resMap, FzxzResDTO.class);
|
|
|
+ SelectionResDTO fzxzResDTO = DozerUtils.map(resMap, SelectionResDTO.class);
|
|
|
fzxzResDTO.setBsm(StringUtils.getUUID());
|
|
|
fzxzResDTO.setRwbsm(rwbsm);
|
|
|
fzxzResDTO.setSjyb(sjyb);
|
|
@@ -439,59 +436,77 @@ public class FzssServiceImpl implements IFzssService {
|
|
|
if (StringUtils.isEmpty(bsm)) {
|
|
|
return RequestResult.error("标识码参数未传递!", null);
|
|
|
}
|
|
|
- // 查询辅助选址基本信息
|
|
|
- QueryWrapper<FzxzDTO> fzxzwrapper = new QueryWrapper<>();
|
|
|
+ // 1.获取选址任务信息
|
|
|
+ QueryWrapper<SelectionDTO> fzxzwrapper = new QueryWrapper<>();
|
|
|
fzxzwrapper.eq("bsm", bsm);
|
|
|
- FzxzDTO fzxzinfo = fzxzMapper.selectOne(fzxzwrapper);
|
|
|
- if (fzxzinfo == null) {
|
|
|
+ SelectionDTO selectionInfo = fzxzMapper.selectOne(fzxzwrapper);
|
|
|
+ if (selectionInfo == null) {
|
|
|
return RequestResult.error("辅助选址记录查为未空!", null);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
// 构建返回结果
|
|
|
- FzxzResultDTO result = DozerUtils.map(fzxzinfo, FzxzResultDTO.class);
|
|
|
- // 返回选址空间范围
|
|
|
- String geomId = fzxzinfo.getGeomId();
|
|
|
+ FzxzResultDTO result = DozerUtils.map(selectionInfo, FzxzResultDTO.class);
|
|
|
+
|
|
|
+ // 2.返回选址空间范围
|
|
|
+ String geomId = selectionInfo.getGeomId();
|
|
|
GeomRes geomRes = shpFileMapper.getOne(geomId);
|
|
|
result.setGeom(geomRes.getGeom());
|
|
|
|
|
|
- // 查询分析结果信息
|
|
|
- List<FzxzResDTO> fzxzResDTOS = fzxzResMapper.getListByRwbsm(result.getBsm());
|
|
|
- // 查询地块信息
|
|
|
- // TODO 查询地块信息修改
|
|
|
-
|
|
|
- String resourceTable = "";
|
|
|
- List<Integer> dkIds = new ArrayList<>();
|
|
|
- Map<Integer, FzxzResDTO> dkResMap = new HashMap<>();
|
|
|
- for (FzxzResDTO fzxzResDTO : fzxzResDTOS) {
|
|
|
- resourceTable = fzxzResDTO.getSjyb();
|
|
|
- dkIds.add(fzxzResDTO.getDkid());
|
|
|
- dkResMap.put(fzxzResDTO.getDkid(), fzxzResDTO);
|
|
|
- }
|
|
|
-
|
|
|
- Map<String, Object> paramMap = new HashMap<>();
|
|
|
- paramMap.put("sjy", resourceTable);
|
|
|
- paramMap.put("idList", dkIds);
|
|
|
- List<Map<String, Object>> dkSelectMap = ghdkaMapper.getInfo(paramMap);
|
|
|
- Map<Integer, Map<String, Object>> dkRawMap = new HashMap<>();
|
|
|
- for (Map<String, Object> map : dkSelectMap) {
|
|
|
- dkRawMap.put((Integer) map.get("id"), map);
|
|
|
- }
|
|
|
+ // 3.查询分析结果地块信息
|
|
|
+ List<SelectionResDTO> selectionResList = fzxzResMapper.getListByRwbsm(result.getBsm());
|
|
|
|
|
|
List<Map<String, Object>> dkMaps = new ArrayList<>();
|
|
|
- for (FzxzResDTO fzxzResDTO : fzxzResDTOS) {
|
|
|
+ for (SelectionResDTO selectionRes : selectionResList) {
|
|
|
+
|
|
|
+ // 查询地块信息
|
|
|
+ String rawTableName = selectionInfo.getSjy();
|
|
|
+ Integer rawItemId = selectionRes.getDkid();
|
|
|
+ List<String> columns = new ArrayList<>();
|
|
|
+ columns.add("kzxxgyddm");
|
|
|
+ columns.add("kzxxgydmc");
|
|
|
+ Map<String, Object> rawTable = ghdkaMapper.getInfoByColumn(rawTableName, rawItemId.toString(), columns);
|
|
|
+
|
|
|
+
|
|
|
+ // 构建地块返回结果
|
|
|
Map<String, Object> dkMap = new HashMap<>();
|
|
|
- if (dkRawMap.containsKey(fzxzResDTO.getDkid())) {
|
|
|
- Integer dkId = fzxzResDTO.getDkid();
|
|
|
- Map<String, Object> dkInfoMap = dkRawMap.get(fzxzResDTO.getDkid());
|
|
|
- dkMap.put("dkbm", dkInfoMap.get("dkbm"));// 地块编码
|
|
|
- dkMap.put("kzxxgydmc", dkInfoMap.get("kzxxgydmc"));// 地块类型
|
|
|
- dkMap.put("landPrice", NumberUtil.double2TwoDecimal(fzxzResDTO.getLandPrice()));// 地价
|
|
|
- dkMap.put("geom", dkResMap.get(dkId).getGeom());
|
|
|
- dkMap.put("id", dkResMap.get(dkId).getBsm());
|
|
|
- dkMap.put("area", NumberUtil.double2TwoDecimal(UnitsUtil.m2ToMu(dkResMap.get(dkId).getArea())));// 面积
|
|
|
+ if (rawTable != null && rawTable.containsKey("kzxxgyddm") && rawTable.containsKey("kzxxgydmc")) {
|
|
|
+ dkMap.put("dkbm", rawTable.get("kzxxgyddm"));// 地块编码
|
|
|
+ dkMap.put("kzxxgydmc", rawTable.get("kzxxgydmc"));// 地块类型
|
|
|
}
|
|
|
+
|
|
|
+ dkMap.put("landPrice", NumberUtil.double2TwoDecimal(selectionRes.getLandPrice()));// 地价
|
|
|
+ dkMap.put("geom", selectionRes.getGeom());
|
|
|
+ dkMap.put("id", selectionRes.getBsm());
|
|
|
+ dkMap.put("area", NumberUtil.double2TwoDecimal(UnitsUtil.m2ToMu(selectionRes.getArea())));// 面积
|
|
|
+
|
|
|
dkMaps.add(dkMap);
|
|
|
}
|
|
|
+
|
|
|
+ // Map<String, Object> paramMap = new HashMap<>();
|
|
|
+ // paramMap.put("sjy", resourceTable);
|
|
|
+ // paramMap.put("idList", dkIds);
|
|
|
+ // List<Map<String, Object>> dkSelectMap = ghdkaMapper.getInfo(paramMap);
|
|
|
+ // Map<Integer, Map<String, Object>> dkRawMap = new HashMap<>();
|
|
|
+ // for (Map<String, Object> map : dkSelectMap) {
|
|
|
+ // dkRawMap.put((Integer) map.get("id"), map);
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // for (SelectionResDTO fzxzResDTO : selectionResList) {
|
|
|
+ // Map<String, Object> dkMap = new HashMap<>();
|
|
|
+ // if (dkRawMap.containsKey(fzxzResDTO.getDkid())) {
|
|
|
+ // Integer dkId = fzxzResDTO.getDkid();
|
|
|
+ // Map<String, Object> dkInfoMap = dkRawMap.get(fzxzResDTO.getDkid());
|
|
|
+ // dkMap.put("dkbm", dkInfoMap.get("dkbm"));// 地块编码
|
|
|
+ // dkMap.put("kzxxgydmc", dkInfoMap.get("kzxxgydmc"));// 地块类型
|
|
|
+ // dkMap.put("landPrice", NumberUtil.double2TwoDecimal(fzxzResDTO.getLandPrice()));// 地价
|
|
|
+ // dkMap.put("geom", dkResMap.get(dkId).getGeom());
|
|
|
+ // dkMap.put("id", dkResMap.get(dkId).getBsm());
|
|
|
+ // dkMap.put("area", NumberUtil.double2TwoDecimal(UnitsUtil.m2ToMu(dkResMap.get(dkId).getArea())));// 面积
|
|
|
+ // }
|
|
|
+ // dkMaps.add(dkMap);
|
|
|
+ // }
|
|
|
result.setDks(dkMaps);
|
|
|
|
|
|
// 查询选址因子
|