| | |
| | | @Resource |
| | | SimuMapper simuMapper; |
| | | |
| | | @Resource |
| | | GedbService gedbService; |
| | | |
| | | /** |
| | | * 获取 |
| | | */ |
| | |
| | | public boolean create(CreateSimuVo vo) { |
| | | DataPo data = BeanUtil.copyProperties(vo, DataPo.class); |
| | | SimuPo simu = new SimuPo(vo.getNum(), vo.getName(), JSONUtil.toJsonStr(data), 0, vo.getBak()); |
| | | // |
| | | |
| | | return true; |
| | | data.setPath(vo.getName(), vo.getName()); |
| | | initPath(data); |
| | | |
| | | int rows = simuMapper.insert(simu); |
| | | if (rows > 0) { |
| | | asyncCall(simu); |
| | | } |
| | | |
| | | return rows > 0; |
| | | } |
| | | |
| | | private void initPath(DataPo data) { |
| | | createDir(inPath + File.separator + data.getInPath()); |
| | | createDir(outPath + File.separator + data.getOutPath()); |
| | | } |
| | | |
| | | private void createDir(String path) { |
| | | File dir = new File(path); |
| | | if (!dir.exists() || !dir.isDirectory()) { |
| | | dir.mkdirs(); |
| | | } |
| | | } |
| | | |
| | | private void asyncCall(SimuPo simu) { |
| | |
| | | @Override |
| | | @SneakyThrows |
| | | public void run() { |
| | | scopeTask(simu); |
| | | scope(simu); |
| | | } |
| | | }); |
| | | executor.shutdown(); |
| | | } |
| | | |
| | | private void scopeTask(SimuPo simu) { |
| | | /** |
| | | * 处理,状态:0-创建仿真,1-连接GEDB库,2-下载空间数据,3-下载高程数据,4-模拟内涝仿真,5-处理仿真数据,10-完成,-10-出错 |
| | | */ |
| | | private void scope(SimuPo simu) { |
| | | try { |
| | | DataPo data = JSONUtil.toBean(simu.getData(), DataPo.class); |
| | | update(simu, 1, null); |