hxx 2 vuotta sitten
vanhempi
säilyke
a491963c4e

+ 16 - 16
modelsrc/com/miniframe/model/system/AdiModeling.java

@@ -37,14 +37,14 @@ public class AdiModeling extends MiniserviceBaseModel implements Serializable {
     /**
      * 网格源文件
      */
-    @Column(name = "grids_source_file")
-    private String gridsSourceFile;
+    @Column(name = "grid_source_file")
+    private String gridSourceFile;
 
     /**
      * 网格文件
      */
-    @Column(name = "grids_file")
-    private String gridsFile;
+    @Column(name = "grid_file")
+    private String gridFile;
 
     private static final long serialVersionUID = 1L;
 
@@ -141,36 +141,36 @@ public class AdiModeling extends MiniserviceBaseModel implements Serializable {
     /**
      * 获取网格源文件
      *
-     * @return grids_source_file - 网格源文件
+     * @return grid_source_file - 网格源文件
      */
-    public String getGridsSourceFile() {
-        return gridsSourceFile;
+    public String getGridSourceFile() {
+        return gridSourceFile;
     }
 
     /**
      * 设置网格源文件
      *
-     * @param gridsSourceFile 网格源文件
+     * @param gridSourceFile 网格源文件
      */
-    public void setGridsSourceFile(String gridsSourceFile) {
-        this.gridsSourceFile = gridsSourceFile == null ? null : gridsSourceFile.trim();
+    public void setGridSourceFile(String gridSourceFile) {
+        this.gridSourceFile = gridSourceFile == null ? null : gridSourceFile.trim();
     }
 
     /**
      * 获取网格文件
      *
-     * @return grids_file - 网格文件
+     * @return grid_file - 网格文件
      */
-    public String getGridsFile() {
-        return gridsFile;
+    public String getGridFile() {
+        return gridFile;
     }
 
     /**
      * 设置网格文件
      *
-     * @param gridsFile 网格文件
+     * @param gridFile 网格文件
      */
-    public void setGridsFile(String gridsFile) {
-        this.gridsFile = gridsFile == null ? null : gridsFile.trim();
+    public void setGridFile(String gridFile) {
+        this.gridFile = gridFile == null ? null : gridFile.trim();
     }
 }

+ 56 - 56
modelsrc/com/miniframe/model/system/AdiModelingSQLBuilder.java

@@ -454,143 +454,143 @@ public class AdiModelingSQLBuilder {
             return (Criteria) this;
         }
 
-        public Criteria andGridsSourceFileIsNull() {
-            addCriterion("grids_source_file is null");
+        public Criteria andGridSourceFileIsNull() {
+            addCriterion("grid_source_file is null");
             return (Criteria) this;
         }
 
-        public Criteria andGridsSourceFileIsNotNull() {
-            addCriterion("grids_source_file is not null");
+        public Criteria andGridSourceFileIsNotNull() {
+            addCriterion("grid_source_file is not null");
             return (Criteria) this;
         }
 
-        public Criteria andGridsSourceFileEqualTo(String value) {
-            addCriterion("grids_source_file =", value, "gridsSourceFile");
+        public Criteria andGridSourceFileEqualTo(String value) {
+            addCriterion("grid_source_file =", value, "gridSourceFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsSourceFileNotEqualTo(String value) {
-            addCriterion("grids_source_file <>", value, "gridsSourceFile");
+        public Criteria andGridSourceFileNotEqualTo(String value) {
+            addCriterion("grid_source_file <>", value, "gridSourceFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsSourceFileGreaterThan(String value) {
-            addCriterion("grids_source_file >", value, "gridsSourceFile");
+        public Criteria andGridSourceFileGreaterThan(String value) {
+            addCriterion("grid_source_file >", value, "gridSourceFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsSourceFileGreaterThanOrEqualTo(String value) {
-            addCriterion("grids_source_file >=", value, "gridsSourceFile");
+        public Criteria andGridSourceFileGreaterThanOrEqualTo(String value) {
+            addCriterion("grid_source_file >=", value, "gridSourceFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsSourceFileLessThan(String value) {
-            addCriterion("grids_source_file <", value, "gridsSourceFile");
+        public Criteria andGridSourceFileLessThan(String value) {
+            addCriterion("grid_source_file <", value, "gridSourceFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsSourceFileLessThanOrEqualTo(String value) {
-            addCriterion("grids_source_file <=", value, "gridsSourceFile");
+        public Criteria andGridSourceFileLessThanOrEqualTo(String value) {
+            addCriterion("grid_source_file <=", value, "gridSourceFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsSourceFileLike(String value) {
-            addCriterion("grids_source_file like", value, "gridsSourceFile");
+        public Criteria andGridSourceFileLike(String value) {
+            addCriterion("grid_source_file like", value, "gridSourceFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsSourceFileNotLike(String value) {
-            addCriterion("grids_source_file not like", value, "gridsSourceFile");
+        public Criteria andGridSourceFileNotLike(String value) {
+            addCriterion("grid_source_file not like", value, "gridSourceFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsSourceFileIn(List<String> values) {
-            addCriterion("grids_source_file in", values, "gridsSourceFile");
+        public Criteria andGridSourceFileIn(List<String> values) {
+            addCriterion("grid_source_file in", values, "gridSourceFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsSourceFileNotIn(List<String> values) {
-            addCriterion("grids_source_file not in", values, "gridsSourceFile");
+        public Criteria andGridSourceFileNotIn(List<String> values) {
+            addCriterion("grid_source_file not in", values, "gridSourceFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsSourceFileBetween(String value1, String value2) {
-            addCriterion("grids_source_file between", value1, value2, "gridsSourceFile");
+        public Criteria andGridSourceFileBetween(String value1, String value2) {
+            addCriterion("grid_source_file between", value1, value2, "gridSourceFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsSourceFileNotBetween(String value1, String value2) {
-            addCriterion("grids_source_file not between", value1, value2, "gridsSourceFile");
+        public Criteria andGridSourceFileNotBetween(String value1, String value2) {
+            addCriterion("grid_source_file not between", value1, value2, "gridSourceFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsFileIsNull() {
-            addCriterion("grids_file is null");
+        public Criteria andGridFileIsNull() {
+            addCriterion("grid_file is null");
             return (Criteria) this;
         }
 
-        public Criteria andGridsFileIsNotNull() {
-            addCriterion("grids_file is not null");
+        public Criteria andGridFileIsNotNull() {
+            addCriterion("grid_file is not null");
             return (Criteria) this;
         }
 
-        public Criteria andGridsFileEqualTo(String value) {
-            addCriterion("grids_file =", value, "gridsFile");
+        public Criteria andGridFileEqualTo(String value) {
+            addCriterion("grid_file =", value, "gridFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsFileNotEqualTo(String value) {
-            addCriterion("grids_file <>", value, "gridsFile");
+        public Criteria andGridFileNotEqualTo(String value) {
+            addCriterion("grid_file <>", value, "gridFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsFileGreaterThan(String value) {
-            addCriterion("grids_file >", value, "gridsFile");
+        public Criteria andGridFileGreaterThan(String value) {
+            addCriterion("grid_file >", value, "gridFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsFileGreaterThanOrEqualTo(String value) {
-            addCriterion("grids_file >=", value, "gridsFile");
+        public Criteria andGridFileGreaterThanOrEqualTo(String value) {
+            addCriterion("grid_file >=", value, "gridFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsFileLessThan(String value) {
-            addCriterion("grids_file <", value, "gridsFile");
+        public Criteria andGridFileLessThan(String value) {
+            addCriterion("grid_file <", value, "gridFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsFileLessThanOrEqualTo(String value) {
-            addCriterion("grids_file <=", value, "gridsFile");
+        public Criteria andGridFileLessThanOrEqualTo(String value) {
+            addCriterion("grid_file <=", value, "gridFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsFileLike(String value) {
-            addCriterion("grids_file like", value, "gridsFile");
+        public Criteria andGridFileLike(String value) {
+            addCriterion("grid_file like", value, "gridFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsFileNotLike(String value) {
-            addCriterion("grids_file not like", value, "gridsFile");
+        public Criteria andGridFileNotLike(String value) {
+            addCriterion("grid_file not like", value, "gridFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsFileIn(List<String> values) {
-            addCriterion("grids_file in", values, "gridsFile");
+        public Criteria andGridFileIn(List<String> values) {
+            addCriterion("grid_file in", values, "gridFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsFileNotIn(List<String> values) {
-            addCriterion("grids_file not in", values, "gridsFile");
+        public Criteria andGridFileNotIn(List<String> values) {
+            addCriterion("grid_file not in", values, "gridFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsFileBetween(String value1, String value2) {
-            addCriterion("grids_file between", value1, value2, "gridsFile");
+        public Criteria andGridFileBetween(String value1, String value2) {
+            addCriterion("grid_file between", value1, value2, "gridFile");
             return (Criteria) this;
         }
 
-        public Criteria andGridsFileNotBetween(String value1, String value2) {
-            addCriterion("grids_file not between", value1, value2, "gridsFile");
+        public Criteria andGridFileNotBetween(String value1, String value2) {
+            addCriterion("grid_file not between", value1, value2, "gridFile");
             return (Criteria) this;
         }
     }

+ 23 - 0
modelsrc/com/miniframe/model/system/AdiSolverJob.java

@@ -61,6 +61,11 @@ public class AdiSolverJob extends MiniserviceBaseModel implements Serializable {
     @Column(name = "results_state")
     private Integer resultsState;
 
+    /**
+     * 失败原因
+     */
+    private String failreason;
+
     private static final long serialVersionUID = 1L;
 
     /**
@@ -242,4 +247,22 @@ public class AdiSolverJob extends MiniserviceBaseModel implements Serializable {
     public void setResultsState(Integer resultsState) {
         this.resultsState = resultsState;
     }
+
+    /**
+     * 获取失败原因
+     *
+     * @return failreason - 失败原因
+     */
+    public String getFailreason() {
+        return failreason;
+    }
+
+    /**
+     * 设置失败原因
+     *
+     * @param failreason 失败原因
+     */
+    public void setFailreason(String failreason) {
+        this.failreason = failreason == null ? null : failreason.trim();
+    }
 }

+ 70 - 0
modelsrc/com/miniframe/model/system/AdiSolverJobSQLBuilder.java

@@ -783,6 +783,76 @@ public class AdiSolverJobSQLBuilder {
             addCriterion("results_state not between", value1, value2, "resultsState");
             return (Criteria) this;
         }
+
+        public Criteria andFailreasonIsNull() {
+            addCriterion("failreason is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFailreasonIsNotNull() {
+            addCriterion("failreason is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andFailreasonEqualTo(String value) {
+            addCriterion("failreason =", value, "failreason");
+            return (Criteria) this;
+        }
+
+        public Criteria andFailreasonNotEqualTo(String value) {
+            addCriterion("failreason <>", value, "failreason");
+            return (Criteria) this;
+        }
+
+        public Criteria andFailreasonGreaterThan(String value) {
+            addCriterion("failreason >", value, "failreason");
+            return (Criteria) this;
+        }
+
+        public Criteria andFailreasonGreaterThanOrEqualTo(String value) {
+            addCriterion("failreason >=", value, "failreason");
+            return (Criteria) this;
+        }
+
+        public Criteria andFailreasonLessThan(String value) {
+            addCriterion("failreason <", value, "failreason");
+            return (Criteria) this;
+        }
+
+        public Criteria andFailreasonLessThanOrEqualTo(String value) {
+            addCriterion("failreason <=", value, "failreason");
+            return (Criteria) this;
+        }
+
+        public Criteria andFailreasonLike(String value) {
+            addCriterion("failreason like", value, "failreason");
+            return (Criteria) this;
+        }
+
+        public Criteria andFailreasonNotLike(String value) {
+            addCriterion("failreason not like", value, "failreason");
+            return (Criteria) this;
+        }
+
+        public Criteria andFailreasonIn(List<String> values) {
+            addCriterion("failreason in", values, "failreason");
+            return (Criteria) this;
+        }
+
+        public Criteria andFailreasonNotIn(List<String> values) {
+            addCriterion("failreason not in", values, "failreason");
+            return (Criteria) this;
+        }
+
+        public Criteria andFailreasonBetween(String value1, String value2) {
+            addCriterion("failreason between", value1, value2, "failreason");
+            return (Criteria) this;
+        }
+
+        public Criteria andFailreasonNotBetween(String value1, String value2) {
+            addCriterion("failreason not between", value1, value2, "failreason");
+            return (Criteria) this;
+        }
     }
 
     public static class Criteria extends GeneratedCriteria {

+ 1 - 1
modelsrc/com/miniframe/model/system/dbconfig/MapperConfig-system.xml

@@ -5,7 +5,7 @@
     This file is generated by MyBatis Generator.
     This file is the shell of a Mapper Config file - in many cases you will need to add
       to this file before it is usable by MyBatis.
-    This file was generated on Fri Oct 21 10:42:34 CST 2022.
+    This file was generated on Fri Oct 21 11:58:04 CST 2022.
   -->
   <mappers>
     <mapper resource="com/miniframe/model/system/xml/SysAppcodeMapper.xml" />

+ 50 - 1
src/main/java/com/miniframe/bisiness/system/C00005Service.java

@@ -1,7 +1,10 @@
 package com.miniframe.bisiness.system;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 import com.miniframe.core.ExecProcessFlow;
 import com.miniframe.core.exception.BusinessException;
@@ -16,7 +19,11 @@ import com.miniframe.solverconfig.fem.FEMOrder;
 import com.miniframe.solverconfig.fem.FEMParam;
 import com.miniframe.solverconfig.hcfd.HcfdExe;
 import com.miniframe.solverconfig.hcfd.HcfdParam;
+import com.miniframe.solverconfig.hcfd.HcfdPath;
+import com.miniframe.solverjob.AdiSolverJobService;
 import com.miniframe.tools.XiJsonUtil;
+import com.miniframe.tools.ali.HttpUtils;
+import org.apache.http.HttpResponse;
 
 /**
  * 基础系统,“求解”逻辑处理(重新生成不覆盖)。
@@ -36,7 +43,6 @@ public class C00005Service extends C00005BaseModel implements ExecProcessFlow {
 		if(null==config){
 			throw  new BusinessException("EB4000007");
 		}
-
 		AdiSolverMapper solverMapper  = UtilTools.getBean(AdiSolverMapper.class);
 		AdiSolver solver = solverMapper.selectByPrimaryKey(config.getSolverid());
 		if(null==solver){
@@ -56,21 +62,64 @@ public class C00005Service extends C00005BaseModel implements ExecProcessFlow {
 			throw  new BusinessException("EB4000010");
 		}
 		AdiModeling modeling = modelingList.get(0);
+		AdiSolverJob job =AdiSolverJobService.createJob(config);//创建执行任务
 
 		if(solver.getCompany().equals("Adi.SimWork")&& solver.getSolverModel().equals("HCFDLab")){
+
 			HcfdParam param = XiJsonUtil.jsonToPojo(config.getParameterObj(),HcfdParam.class);
 			HcfdExe.CreateMpbcFile(null,config);
 			HcfdExe.CreateNmlFile(null,config);
+			HcfdPath.hcfdCreatPath(modeling,config,job);
 			String vfred="";
 			String afred="";
 			vfred=param.getNmlParam().getVolume_animation_freq().toString();
 			afred=param.getNmlParam().getAnimation_freq().toString();
+			String url="http://localhost:8082/solverres";//TODO 通过资源数据获取IP
+			httpExeJob(job,url,vfred,afred,null);
 		}
 		if(solver.getCompany().equals("ADI.SimWork")&& solver.getSolverModel().equals("FEMLab(结构力学)")){
 			FEMParam param =XiJsonUtil.jsonToPojo(config.getParameterObj(),FEMParam.class);
 			FEMOrder.CreateAnalysisFile(null,config);
 		}
 
+		//文件封装,
+
+
+	}
+	/**
+	 * onespace
+	 * @param job
+	 * @param url
+	 * @param vfred
+	 * @param afred
+	 * @throws Exception
+	 */
+	private void httpExeJob(AdiSolverJob job,String url,String vfred,String afred ,String resources) throws Exception  {
+		String path ="";
+		String method="";
+		Map<String, String> headers = new HashMap<>();
+		Map<String, String> querys= new HashMap<>();
+		Map<String, String> bodys= new HashMap<>();
+		bodys.put("jobId", job.getId());
+		bodys.put("projectType", "hcfd");
+		bodys.put("jobOrder", "");
+		bodys.put("projectId", job.getPid());
+		bodys.put("orderType", "");
+		bodys.put("vfreq", vfred);
+		bodys.put("afreq", afred);
+		bodys.put("resources", resources);
+		//异步执行 求解
+		ExecutorService cachedThreadPool = Executors.newCachedThreadPool();
+		cachedThreadPool.execute(new Runnable() {
+			@Override
+			public void run() {
+				try {
+					HttpResponse response= HttpUtils.doPost(url,path,method,headers,querys,bodys);
+				} catch (Exception exception) {
+					exception.printStackTrace();
+				}
+			}
+		});
 
 	}
 	

+ 6 - 5
src/main/java/com/miniframe/solverconfig/hcfd/HcfdExe.java

@@ -22,6 +22,7 @@ import java.util.List;
 public class HcfdExe {
 
 
+
     /**
      * 根据配置重新创建 mpbc 文件
      * @param
@@ -51,11 +52,11 @@ public class HcfdExe {
             configDao.updateByPrimaryKey(config);
         }else{
             SysFileMapper sysFileDAO = UtilTools.getBean(SysFileMapper.class);
-            SysFile nmlFile =  sysFileDAO.selectByPrimaryKey(mapbcFileId);
-            if(nmlFile!=null){
+            SysFile mapbcFile =  sysFileDAO.selectByPrimaryKey(mapbcFileId);
+            if(mapbcFile==null){
                 throw new BusinessException("EB4000001");
             }
-            mapbcFilePath = XIFileUtils.getRootPathStr()+"/"+nmlFile.getFilepath();
+            mapbcFilePath = XIFileUtils.getRootPathStr()+"/"+mapbcFile.getFilepath();
         }
 
         File mapbcFile = new File(mapbcFilePath);
@@ -108,7 +109,7 @@ public class HcfdExe {
             /**
              * 创建一个新的配置文件
              */
-            nmlFilePath = CaeFileUtils.createBigFilePath(config.getPid() + ".nml");
+            nmlFilePath = CaeFileUtils.createBigFilePath( "hcfd.nml");
             nmlFileId=UtilTools.getUUid();
             CaeFileUtils.saveFile(nmlFileId, nmlFilePath, config.getUid(), "nml", "");
 
@@ -119,7 +120,7 @@ public class HcfdExe {
         }else{
             SysFileMapper sysFileDAO = UtilTools.getBean(SysFileMapper.class);
             SysFile nmlFile =  sysFileDAO.selectByPrimaryKey(nmlFileId);
-            if(nmlFile!=null){
+            if(nmlFile==null){
                 throw new BusinessException("EB4000001");
             }
             nmlFilePath = XIFileUtils.getRootPathStr()+"/"+nmlFile.getFilepath();

+ 65 - 0
src/main/java/com/miniframe/solverconfig/hcfd/HcfdPath.java

@@ -0,0 +1,65 @@
+package com.miniframe.solverconfig.hcfd;
+
+import com.miniframe.constant.MFConstant;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.model.system.*;
+import com.miniframe.model.system.dao.SysFileMapper;
+import com.miniframe.tools.XIDateTimeUtils;
+import com.miniframe.tools.XIFileUtils;
+
+import java.io.*;
+import java.nio.channels.FileChannel;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
+
+/**
+ * 对执行所需要的文件进行文件夹规整已满足求解
+ */
+public class HcfdPath {
+
+    public static  void hcfdCreatPath(AdiModeling modeling,
+                                      AdiSolverConfig config,
+                                      AdiSolverJob job ) throws IOException {
+        String jobPath = XIFileUtils.getRootPathStr()+ MFConstant.separator+job.getId();
+        String exePath = jobPath+ MFConstant.separator+"hcfd";
+        String exeInPath = exePath+ MFConstant.separator+"data_in";
+        File exeInDir = new File(exeInPath);
+        if(!exeInDir.exists()){
+            exeInDir.mkdirs();
+        }
+        String testPath = exePath+ MFConstant.separator+"test";
+        String exeOutPath = testPath+ MFConstant.separator+"data_out";
+        File exeOutDir = new File(exeOutPath);
+        if(!exeOutDir.exists()){
+            exeOutDir.mkdirs();
+        }
+        SysFileMapper fileMapper = UtilTools.getBean(SysFileMapper.class);
+        SysFile nmlFile= fileMapper.selectByPrimaryKey(config.getNmlFile());
+        fileMove(nmlFile,testPath+MFConstant.separator+"hcfd.nml");
+        SysFile mapbcFile= fileMapper.selectByPrimaryKey(config.getMapbcFile());
+        fileMove(mapbcFile,exeInPath+MFConstant.separator+"hcfd.mapbc");
+        SysFile grid= fileMapper.selectByPrimaryKey(modeling.getGridFile());
+        fileMove(grid,exeInPath+MFConstant.separator+"hcfd.ugrid");
+    }
+
+    /**
+     * 文件移动
+     * @param file
+     * @param pathStr
+     * @throws IOException
+     */
+    public static void fileMove(SysFile file ,String pathStr) throws IOException {
+        Path path = Paths.get(pathStr);
+        SysFileMapper fileMapper = UtilTools.getBean(SysFileMapper.class);
+        Files.move(Paths.get( XIFileUtils.getRootPathStr()+ MFConstant.separator+file.getFilepath()),
+                path, StandardCopyOption.REPLACE_EXISTING);
+        String fielRelativePath = XIFileUtils.getRelativizePathStr(path);
+        file.setFilepath(fielRelativePath);
+        file.setFilename(path.getFileName().toString());
+        fileMapper.updateByPrimaryKey(file);
+    }
+
+
+}

+ 1 - 1
src/main/java/com/miniframe/solverconfig/hcfd/NmlParam.java

@@ -6,7 +6,7 @@ public class NmlParam {
     private Double input_version=2.2;
     private String namelist_verbosity="off";
     //&project  //
-    private String project_rootname="caepro";
+    private String project_rootname="hcfd";
     private String case_title="case_name";
     //&raw_grid  //
     private String grid_format = "aflr3";

+ 71 - 0
src/main/java/com/miniframe/solverjob/AdiSolverJobService.java

@@ -0,0 +1,71 @@
+package com.miniframe.solverjob;
+
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.model.system.AdiSolverConfig;
+import com.miniframe.model.system.AdiSolverJob;
+import com.miniframe.model.system.dao.AdiSolverJobMapper;
+import com.miniframe.tools.XIDateTimeUtils;
+
+public class AdiSolverJobService {
+
+    /**
+     * 创建任务
+     * @param config
+     */
+    public static AdiSolverJob createJob(AdiSolverConfig config){
+        AdiSolverJob job =new AdiSolverJob();
+        job.setId(UtilTools.getUUid());
+        String now = XIDateTimeUtils.getNowStr();
+        job.setCreateTime(now);
+        job.setPid(config.getPid());
+        job.setConfigid(config.getId());
+        job.setSolverid(config.getSolverid());
+        job.setUid(config.getUid());
+        AdiSolverJobMapper jobDao = UtilTools.getBean(AdiSolverJobMapper.class);
+        job.setState(-1);//待执行
+        jobDao.insert(job);
+        return job;
+    }
+    /**
+     * 执行任务
+     * @param
+     */
+    public static AdiSolverJob exeJob(AdiSolverJob job){
+        job.setId(UtilTools.getUUid());
+        String now = XIDateTimeUtils.getNowStr();
+        job.setStartexeTime(now);
+        AdiSolverJobMapper jobDao = UtilTools.getBean(AdiSolverJobMapper.class);
+        job.setState(0);//执行中
+        jobDao.updateByPrimaryKey(job);
+        return job;
+    }
+    /**
+     * 成功完成任务
+     * @param
+     */
+    public static AdiSolverJob overSucessJob(AdiSolverJob job){
+        job.setId(UtilTools.getUUid());
+        String now = XIDateTimeUtils.getNowStr();
+        job.setEndexeTime(now);
+        AdiSolverJobMapper jobDao = UtilTools.getBean(AdiSolverJobMapper.class);
+        job.setState(1);//任务执行完成
+        job.setResultsState(1);//执行成功
+        jobDao.updateByPrimaryKey(job);
+        return job;
+    }
+    /**
+     * 失败完成任务
+     * @param
+     */
+    public static AdiSolverJob overFailJob(AdiSolverJob job){
+        job.setId(UtilTools.getUUid());
+        String now = XIDateTimeUtils.getNowStr();
+        job.setEndexeTime(now);
+        AdiSolverJobMapper jobDao = UtilTools.getBean(AdiSolverJobMapper.class);
+        job.setState(1);//任务执行完成
+        job.setResultsState(-1);//求解失败
+        jobDao.updateByPrimaryKey(job);
+        return job;
+    }
+}
+

+ 1 - 1
系统设计/通信设计/通讯报文/system(系统服务)/报文体/C00005_A(项目求解).csv

@@ -1,2 +1,2 @@
 序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
-1,solverConfigId,求解配置Id,string,,,,,,,,,,,
+1,solverConfigId,求解配置Id,string,,,,,,,,,,,