|
@@ -12,6 +12,7 @@ import com.onemap.analyse.mapper.base.FzxzResMapper;
|
|
|
import com.onemap.analyse.mapper.base.ShpFileMapper;
|
|
|
import com.onemap.analyse.mapper.vector.GhdkaMapper;
|
|
|
import com.onemap.analyse.service.IFzssService;
|
|
|
+import com.onemap.analyse.service.ILogService;
|
|
|
import com.onemap.analyse.service.IReportService;
|
|
|
import com.onemap.analyse.task.FzxzSchedule;
|
|
|
import com.onemap.analyse.utils.DozerUtils;
|
|
@@ -52,9 +53,6 @@ public class FzssServiceImpl implements IFzssService {
|
|
|
|
|
|
@Autowired
|
|
|
ShpFileMapper shpFileMapper;
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private FxrwrzMapper fxrwrzMapper;
|
|
|
@Autowired
|
|
|
private FzxzResMapper fzxzResMapper;
|
|
|
// 选址任务
|
|
@@ -68,6 +66,10 @@ public class FzssServiceImpl implements IFzssService {
|
|
|
@Autowired
|
|
|
private IReportService iReportService;
|
|
|
|
|
|
+ // 日志服务
|
|
|
+ @Autowired
|
|
|
+ private ILogService iLogService;
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public RequestResult AddHgxfx(HgxfxEntityDTO hgxfxEntityDTO) throws IOException {
|
|
@@ -164,25 +166,25 @@ public class FzssServiceImpl implements IFzssService {
|
|
|
}
|
|
|
|
|
|
// 开始分析
|
|
|
- saveLog(fzxzDTO.getBsm(), "辅助选址", "开始分析", "info");
|
|
|
+ iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "开始分析", "info");
|
|
|
List<String> yzs = new ArrayList<>();
|
|
|
for (FzxzXzyzDTO fzxzXzyzDTO : fzxzCalc.getXzyxList()) {
|
|
|
yzs.add(fzxzXzyzDTO.getYzbsm());
|
|
|
}
|
|
|
String logs = "选址参数:数据源=" + sjyName + ",用地面积=" + fzxzDTO.getYdmjbegin() + "-" + fzxzDTO.getYdmjend() + ",影响因子=" + String.join(", ", yzs);
|
|
|
- saveLog(fzxzDTO.getBsm(), "辅助选址", "选址参数", "info");
|
|
|
+ iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "选址参数", "info");
|
|
|
|
|
|
// 1.区域筛选
|
|
|
GeomRes geomRes = shpFileMapper.getOne(fzxzDTO.getGeomId());
|
|
|
|
|
|
- saveLog(fzxzDTO.getBsm(), "辅助选址", "载入选址范围完成", "info");
|
|
|
+ iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "载入选址范围完成", "info");
|
|
|
|
|
|
Map<String, String> paramMap = new HashMap<>();
|
|
|
paramMap.put("geom", geomRes.getGeom());
|
|
|
paramMap.put("sjy", fzxzDTO.getSjy());
|
|
|
List<Integer> ids = ghdkaMapper.getIdByGeom(paramMap);
|
|
|
|
|
|
- saveLog(fzxzDTO.getBsm(), "辅助选址", "相交裁剪" + sjyName, "info");
|
|
|
+ iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "相交裁剪" + sjyName, "info");
|
|
|
// 2.面积筛选
|
|
|
Map<String, Object> areaMap = new HashMap<>();
|
|
|
areaMap.put("sjy", fzxzDTO.getSjy());
|
|
@@ -191,7 +193,7 @@ public class FzssServiceImpl implements IFzssService {
|
|
|
areaMap.put("idList", ids);
|
|
|
ids = ghdkaMapper.getIdByArea(areaMap);
|
|
|
|
|
|
- saveLog(fzxzDTO.getBsm(), "辅助选址", "地块面积分析完成", "info");
|
|
|
+ iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "地块面积分析完成", "info");
|
|
|
// 3.条件筛选
|
|
|
GhdkaFilter ghdkaFilter = new GhdkaFilter();
|
|
|
ghdkaFilter.setSjy(fzxzDTO.getSjy());
|
|
@@ -200,61 +202,40 @@ public class FzssServiceImpl implements IFzssService {
|
|
|
ghdkaFilter.setFzxzXzyzDTO(fzxzXzyzDTO);
|
|
|
ids = ghdkaMapper.getIdByFilter(ghdkaFilter);
|
|
|
if (ids.size() == 0) {
|
|
|
- saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成,未找到符合条件数据", "info");
|
|
|
+ iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成,未找到符合条件数据", "info");
|
|
|
return RequestResult.error("条件筛选未找到符合条件数据!", null);
|
|
|
}
|
|
|
- saveLog(fzxzDTO.getBsm(), "辅助选址", fzxzXzyzDTO.getYxyzmc() + "因子影响分析完成", "info");
|
|
|
+ iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", fzxzXzyzDTO.getYxyzmc() + "因子影响分析完成", "info");
|
|
|
ghdkaFilter.setIdList(ids);
|
|
|
}
|
|
|
|
|
|
if (ids.size() == 0) {
|
|
|
- saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成,未找到符合条件数据", "info");
|
|
|
+ iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成,未找到符合条件数据", "info");
|
|
|
return RequestResult.error("条件筛选未找到符合条件数据!", null);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// 4.保存规划结果
|
|
|
- Map<String, Object> resMap = new HashMap<>();
|
|
|
- resMap.put("dkIds", ids);
|
|
|
- resMap.put("rwbsm", fzxzDTO.getBsm());
|
|
|
- resMap.put("sjyb", fzxzDTO.getSjy());
|
|
|
+ Map<String, Object> scheduleResMap = new HashMap<>();
|
|
|
+ scheduleResMap.put("dkIds", ids);
|
|
|
+ scheduleResMap.put("rwbsm", fzxzDTO.getBsm());
|
|
|
+ scheduleResMap.put("sjyb", fzxzDTO.getSjy());
|
|
|
// TODO 用地性质待定
|
|
|
- resMap.put("ydxz", fzxzDTO.getYdxz_bsm());
|
|
|
- saveScheduleRes(resMap);
|
|
|
+ scheduleResMap.put("ydxz", fzxzDTO.getYdxz_bsm());
|
|
|
+ saveScheduleRes(scheduleResMap);
|
|
|
|
|
|
// 保存成功日志
|
|
|
- saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成", "info");
|
|
|
+ iLogService.saveLog(fzxzDTO.getBsm(), "辅助选址", "计算完成", "info");
|
|
|
|
|
|
- // 5.生成报告
|
|
|
- // 保存生成报告日志
|
|
|
- saveLog(fzxzDTO.getBsm(), "辅助选址", "开始生成选址报告", "info");
|
|
|
- // 生成world文件
|
|
|
+ // 5.生成报告,生成world文件
|
|
|
iReportService.createReport(fzxzDTO.getBsm(), null);
|
|
|
- return RequestResult.success(ids);
|
|
|
- }
|
|
|
|
|
|
- /**
|
|
|
- * 保存选址日志
|
|
|
- *
|
|
|
- * @param rwbsm 任务标识码
|
|
|
- * @param rwlx 任务类型:辅助选址
|
|
|
- * @param rzlr 日志内容:载入选址范围完成
|
|
|
- * @param rzlx 信息类型 info:信息日志 error:错误日志
|
|
|
- */
|
|
|
- @Override
|
|
|
- @Slave
|
|
|
- public void saveLog(String rwbsm, String rwlx, String rzlr, String rzlx) {
|
|
|
- // 插入成功日志
|
|
|
- FxrwrzDTO successDto = new FxrwrzDTO();
|
|
|
- successDto.setBsm(StringUtils.getUUID());
|
|
|
- successDto.setRwbsm(rwbsm);
|
|
|
- successDto.setRwlx(rwlx);
|
|
|
- successDto.setRzlr(rzlr);
|
|
|
- successDto.setRzlx(rzlx);
|
|
|
- successDto.setRzsj(new Date());
|
|
|
- fxrwrzMapper.insert(successDto);
|
|
|
+ Map<String, Object> resMap = new HashMap<>();
|
|
|
+ resMap.put("rwbsm", fzxzDTO.getBsm());
|
|
|
+ resMap.put("dkIds", ids);
|
|
|
+ return RequestResult.success(resMap);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 保存选址结果
|
|
|
*
|