| | |
| | | import com.se.simu.domain.po.DataPo; |
| | | import com.se.simu.domain.po.SimuPo; |
| | | import com.se.simu.domain.vo.CreateFilesSimuVo; |
| | | import com.se.simu.domain.vo.CreateSimuVo; |
| | | import com.se.simu.domain.vo.SimuVo; |
| | | import com.se.simu.helper.StringHelper; |
| | | import com.se.simu.helper.WebHelper; |
| | |
| | | } |
| | | |
| | | |
| | | public boolean createByfiles(CreateFilesSimuVo vo) { |
| | | /** |
| | | * "状态: |
| | | * 0-创建仿真任务, |
| | | * 1-连接GEDB库, |
| | | * 2-下载空间数据, |
| | | * 3-下载高程数据, |
| | | * 4-生成降雨文件, |
| | | * 5-生成配置文件, |
| | | * 6-模拟内涝仿真, |
| | | * 7-处理水位文件, |
| | | * 8-处理排水文件, |
| | | * 9-处理仿真结果, |
| | | * 10-完成,-10-出错 |
| | | * |
| | | * @param vo VO |
| | | * @return boolean |
| | | */ |
| | | public boolean createByfiles(CreateFilesSimuVo vo,String token) { |
| | | Date now = new Date(); |
| | | String date = StringHelper.YMDHMS2_FORMAT.format(now); |
| | | if (StringHelper.isEmpty(vo.getName())) { |
| | | vo.setName(date); |
| | | } |
| | | |
| | | DataPo data = BeanUtil.copyProperties(vo, DataPo.class); |
| | | data.setPath(date, date); |
| | | initPath(data); |
| | | |
| | | SimuPo simu = new SimuPo(vo.getNum(), vo.getPid(), vo.getName(), JSONUtil.toJsonStr(data), 0, vo.getBak()); |
| | | simu.setServiceName(date); |
| | | simu.setCreateTime(new Timestamp(now.getTime())); |
| | | |
| | | simu.setSemUrl(vo.getSemUrl()); |
| | | simu.setPointUrl(vo.getPointName()); |
| | | simu.setLinkUrl(vo.getLinkName()); |
| | | int rows = simuMapper.insert(simu); |
| | | if (rows > 0) { |
| | | asyncCall(simu); |
| | | asyncCall(simu,token); |
| | | } |
| | | |
| | | return rows > 0; |
| | |
| | | f.mkdirs(); |
| | | } |
| | | |
| | | private void asyncCall(SimuPo simu) { |
| | | private void asyncCall(SimuPo simu,String token) { |
| | | ExecutorService executor = Executors.newSingleThreadExecutor(); |
| | | executor.execute(new Runnable() { |
| | | @Override |
| | | @SneakyThrows |
| | | public void run() { |
| | | cope(simu); |
| | | cope(simu,token); |
| | | } |
| | | }); |
| | | executor.shutdown(); |
| | |
| | | * @param simu 模拟 |
| | | */ |
| | | |
| | | private void cope(SimuPo simu) { |
| | | private void cope(SimuPo simu,String token) { |
| | | try { |
| | | DataPo data = JSONUtil.toBean(simu.getData(), DataPo.class); |
| | | |
| | | update(simu, 1, null); |
| | | String token = gedbService.getToken(); |
| | | GeDb db = gedbService.connectGedb(token, data); |
| | | simu.setData(JSONUtil.toJsonStr(data)); |
| | | |