From a022fc1d9a777cb49d6fc1aac0e725e0be10f8bf Mon Sep 17 00:00:00 2001 From: hekaiyu <13673834656@163.com> Date: Tue, 13 Jan 2026 14:25:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=BF=E4=B8=8Awrf-cmaq=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BaseAPIServiceImpl.java | 36 +++++++++---------- .../cmaq/service/impl/CmaqServiceImpl.java | 5 ++- .../service/impl/EngineeringServiceImpl.java | 4 +-- .../controller/RunProcessController.java | 2 +- .../org/jeecg/wrf/service/WrfService.java | 2 +- .../wrf/service/impl/WrfServiceImpl.java | 14 ++++---- 6 files changed, 29 insertions(+), 34 deletions(-) diff --git a/jeecg-module-event/src/main/java/org/jeecg/baseAPI/service/impl/BaseAPIServiceImpl.java b/jeecg-module-event/src/main/java/org/jeecg/baseAPI/service/impl/BaseAPIServiceImpl.java index 7bb2e31..d40ffc9 100644 --- a/jeecg-module-event/src/main/java/org/jeecg/baseAPI/service/impl/BaseAPIServiceImpl.java +++ b/jeecg-module-event/src/main/java/org/jeecg/baseAPI/service/impl/BaseAPIServiceImpl.java @@ -151,31 +151,27 @@ public class BaseAPIServiceImpl implements BaseAPIService { return (lat >= minLat && lat <= maxLat && lon >= minLon && lon <= maxLon); } -// @Override -// public String buildEngineeringFilePath(String modelPath, String createBy, String engineeringName) { -// return eventServerProperties.getBaseHome() + -// File.separator + -// modelPath + -// File.separator + -// createBy + -// File.separator + -// engineeringName + -// File.separator; -// } - @Override public String buildEngineeringFilePath(String modelPath, String createBy, String engineeringName) { return eventServerProperties.getBaseHome() + -// File.separator + - "/" + + File.separator + modelPath + -// File.separator + - "/" + + File.separator + createBy + -// File.separator + - "/" + + File.separator + engineeringName + - "/"; -// File.separator; + File.separator; } + +// @Override +// public String buildEngineeringFilePath(String modelPath, String createBy, String engineeringName) { +// return eventServerProperties.getBaseHome() + +// "/" + +// modelPath + +// "/" + +// createBy + +// "/" + +// engineeringName + +// "/"; +// } } diff --git a/jeecg-module-event/src/main/java/org/jeecg/cmaq/service/impl/CmaqServiceImpl.java b/jeecg-module-event/src/main/java/org/jeecg/cmaq/service/impl/CmaqServiceImpl.java index 38b25b6..45bc3e1 100644 --- a/jeecg-module-event/src/main/java/org/jeecg/cmaq/service/impl/CmaqServiceImpl.java +++ b/jeecg-module-event/src/main/java/org/jeecg/cmaq/service/impl/CmaqServiceImpl.java @@ -133,7 +133,7 @@ public class CmaqServiceImpl extends ServiceImpl implements Cm public Result genMcipTxtFile(String mcipPath, String emisPath, Cmaq cmaq, String sDate, Double lon, Double lat) { try { - List gridDescFileValue = Files.readAllLines(get("E:\\wm\\resultFile\\" + "GRIDDESC.d03")); + List gridDescFileValue = Files.readAllLines(get(mcipPath + "GRIDDESC.d03")); List fileValues = Arrays.stream(gridDescFileValue.get(5).split(" ")).filter(s -> StringUtils.isNotBlank(s)).collect(Collectors.toList()); List domainValues = new ArrayList<>(); @@ -172,8 +172,7 @@ public class CmaqServiceImpl extends ServiceImpl implements Cm public boolean getFileExists(String filePath){ String cmdResult = RemoteExecuteCommand.runRemoteLinuxCmd(eventServerProperties.getIp(), eventServerProperties.getUsername(), eventServerProperties.getPassword(), "ls " + filePath); - boolean succesfully = cmdResult.indexOf("没有那个文件或目录") < 0; - return succesfully; + return !cmdResult.contains("没有那个文件或目录") || !cmdResult.contains("No such file or directory"); } @Override diff --git a/jeecg-module-event/src/main/java/org/jeecg/engineering/service/impl/EngineeringServiceImpl.java b/jeecg-module-event/src/main/java/org/jeecg/engineering/service/impl/EngineeringServiceImpl.java index 21f7fbf..d6d0e37 100644 --- a/jeecg-module-event/src/main/java/org/jeecg/engineering/service/impl/EngineeringServiceImpl.java +++ b/jeecg-module-event/src/main/java/org/jeecg/engineering/service/impl/EngineeringServiceImpl.java @@ -64,8 +64,8 @@ public class EngineeringServiceImpl extends ServiceImpl { Result updateWrfInfo(RunProcessParamVO paramVO); String genWpsShell(String scriptsPath, String fileName, Wrf wrf) throws IOException; - Result runAllWrf(String engId, String scriptsPath, String resultFilePath) throws IOException; + Result runAllWrf(String engId, String scriptsPath, String workDirPath) throws IOException; } diff --git a/jeecg-module-event/src/main/java/org/jeecg/wrf/service/impl/WrfServiceImpl.java b/jeecg-module-event/src/main/java/org/jeecg/wrf/service/impl/WrfServiceImpl.java index e6df94b..19bb3a5 100644 --- a/jeecg-module-event/src/main/java/org/jeecg/wrf/service/impl/WrfServiceImpl.java +++ b/jeecg-module-event/src/main/java/org/jeecg/wrf/service/impl/WrfServiceImpl.java @@ -115,9 +115,9 @@ public class WrfServiceImpl extends ServiceImpl implements WrfSe } @Override - public Result runAllWrf(String engId, String scriptsPath, String resultFilePath) throws IOException { + public Result runAllWrf(String engId, String scriptsPath, String workDirPath) throws IOException { String cdShRunPath = "cd " + scriptsPath + ";"; - boolean wpsSuccess = runProjectWps(cdShRunPath + "source ~/.bash_profile;chmod +x run_project_wps.sh;./run_project_wps.sh", resultFilePath); + boolean wpsSuccess = runProjectWps(cdShRunPath + "source ~/.bash_profile;chmod +x run_project_wps.sh;./run_project_wps.sh", workDirPath); if (!wpsSuccess){ return Result.error("WPS模块运行异常,请查看日志信息!"); } @@ -125,25 +125,25 @@ public class WrfServiceImpl extends ServiceImpl implements WrfSe RemoteExecuteCommand.runRemoteLinuxCmd(eventServerProperties.getIp(), eventServerProperties.getUsername(), eventServerProperties.getPassword(), runPyPath(scriptsPath, "update_num_metgrid_levels.py", null)); - boolean wrfSuccess = runProjectWrf(cdShRunPath + "source ~/.bash_profile;chmod +x run_project_wrf.sh;./run_project_wrf.sh", resultFilePath); + boolean wrfSuccess = runProjectWrf(cdShRunPath + "source ~/.bash_profile;chmod +x run_project_wrf.sh;./run_project_wrf.sh", workDirPath); if (!wrfSuccess){ return Result.error("WRF模块运行异常,请查看日志信息!"); } return Result.ok(); } - public boolean runProjectWps(String cmdString,String resultFilePath) throws IOException { + public boolean runProjectWps(String cmdString,String workDirPath) throws IOException { RemoteExecuteCommand.runRemoteLinuxCmd(eventServerProperties.getIp(), eventServerProperties.getUsername(), eventServerProperties.getPassword(), cmdString); - String metgridLog = new String(readAllBytes(get(resultFilePath + EventConstants.WRF_DIR+ "/metgrid.log"))); + String metgridLog = new String(readAllBytes(get(workDirPath + EventConstants.WRF_DIR+ "/metgrid.log"))); if(metgridLog.indexOf("Successful completion of program metgrid.exe") > 0){ return true; } return false; } - public boolean runProjectWrf(String cmdString,String resultFilePath) throws IOException { + public boolean runProjectWrf(String cmdString,String workDirPath) throws IOException { RemoteExecuteCommand.runRemoteLinuxCmd(eventServerProperties.getIp(), eventServerProperties.getUsername(), eventServerProperties.getPassword(), cmdString); - String wrfLog = new String(readAllBytes(get(resultFilePath + EventConstants.WRF_DIR + "/rsl.out.0000"))); + String wrfLog = new String(readAllBytes(get(workDirPath + EventConstants.WRF_DIR + "/rsl.out.0000"))); if(wrfLog.indexOf("SUCCESS COMPLETE WRF") > 0){ return true; }