hxx 2 anos atrás
pai
commit
79a086670c
29 arquivos alterados com 2096 adições e 414 exclusões
  1. 1 0
      dbscript/init/generate/03-functionInit.sql
  2. 5 5
      generated/com/miniframe/generate/comm/system/A_C00005.java
  3. 1 1
      generated/validator/resources_a_c00005Form_validator.properties
  4. 1 1
      generated/validator/resources_a_c00005Form_validator_zh_CN.properties
  5. 0 96
      modelsrc/com/miniframe/model/system/AdiModeling.java
  6. 0 280
      modelsrc/com/miniframe/model/system/AdiModelingSQLBuilder.java
  7. 48 0
      modelsrc/com/miniframe/model/system/AdiSolverConfig.java
  8. 140 0
      modelsrc/com/miniframe/model/system/AdiSolverConfigSQLBuilder.java
  9. 245 0
      modelsrc/com/miniframe/model/system/AdiSolverJob.java
  10. 880 0
      modelsrc/com/miniframe/model/system/AdiSolverJobSQLBuilder.java
  11. 10 0
      modelsrc/com/miniframe/model/system/dao/AdiSolverJobMapper.java
  12. 2 1
      modelsrc/com/miniframe/model/system/dbconfig/MapperConfig-system.xml
  13. 50 0
      modelsrc/com/miniframe/model/system/xml/AdiSolverJobMapper.xml
  14. 3 3
      src/main/java/com/miniframe/bisiness/system/C00003Service.java
  15. 3 6
      src/main/java/com/miniframe/bisiness/system/C00004Service.java
  16. 14 5
      src/main/java/com/miniframe/bisiness/system/C00005Service.java
  17. 23 0
      src/main/java/com/miniframe/dbtransfer/AdiSolverJobDbTransfer.java
  18. 1 1
      src/main/java/com/miniframe/solverconfig/SolverParam.java
  19. 1 1
      src/main/java/com/miniframe/solverconfig/fem/FEMElement.java
  20. 76 0
      src/main/java/com/miniframe/solverconfig/fem/FEMOrder.java
  21. 2 2
      src/main/java/com/miniframe/solverconfig/fem/FEMParam.java
  22. 1 1
      src/main/java/com/miniframe/solverconfig/hcfd/HcfdBoundary.java
  23. 551 0
      src/main/java/com/miniframe/solverconfig/hcfd/HcfdExe.java
  24. 2 4
      src/main/java/com/miniframe/solverconfig/hcfd/HcfdParam.java
  25. 2 2
      src/main/java/com/miniframe/solverconfig/hcfd/NmlParam.java
  26. 30 2
      src/main/java/com/miniframe/tools/CaeFileUtils.java
  27. 1 1
      src/main/java/com/miniframe/tools/XiJsonUtil.java
  28. 2 1
      系统设计/实体Bean/system(实体列表).csv
  29. 1 1
      系统设计/通信设计/通讯报文/system(系统服务)/报文体/C00005_A(项目求解).csv

+ 1 - 0
dbscript/init/generate/03-functionInit.sql

@@ -27,3 +27,4 @@ INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('C0
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('C00002', '基础系统','项目保存',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('C00003', '基础系统','项目求解查询',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('C00004', '基础系统','项目求解配置信息保存',true);
+INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('C00005', '基础系统','求解',true);

+ 5 - 5
generated/com/miniframe/generate/comm/system/A_C00005.java

@@ -9,17 +9,17 @@ import java.io.Serializable;
  */
 public class A_C00005 extends BaseMapModel implements Serializable {
 	private static final long serialVersionUID = -1463838678425832212L;
-	String solverConfigid;//求解配置Id
+	String solverConfigId;//求解配置Id
 	/**
 	 *求解配置Id
 	 */
-	public void setSolverConfigid(String solverConfigid) {
-		this.solverConfigid=solverConfigid;
+	public void setSolverConfigId(String solverConfigId) {
+		this.solverConfigId=solverConfigId;
 	}
 	/**
 	 *求解配置Id
 	 */
-	public String getSolverConfigid() {
-		return this.solverConfigid;
+	public String getSolverConfigId() {
+		return this.solverConfigId;
 	}
 }

+ 1 - 1
generated/validator/resources_a_c00005Form_validator.properties

@@ -1,2 +1,2 @@
-a_c00005.solverConfigid = \u6C42\u89E3\u914D\u7F6EId
+a_c00005.solverConfigId = \u6C42\u89E3\u914D\u7F6EId
 a_c00005Form = true

+ 1 - 1
generated/validator/resources_a_c00005Form_validator_zh_CN.properties

@@ -1,2 +1,2 @@
-a_c00005.solverConfigid = \u6C42\u89E3\u914D\u7F6EId
+a_c00005.solverConfigId = \u6C42\u89E3\u914D\u7F6EId
 a_c00005Form = true

+ 0 - 96
modelsrc/com/miniframe/model/system/AdiModeling.java

@@ -46,30 +46,6 @@ public class AdiModeling extends MiniserviceBaseModel implements Serializable {
     @Column(name = "grids_file")
     private String gridsFile;
 
-    /**
-     * 几何源文件类型
-     */
-    @Column(name = "geometry_source_filetype")
-    private String geometrySourceFiletype;
-
-    /**
-     * 几何文件hsh类型
-     */
-    @Column(name = "geometry_filetype")
-    private String geometryFiletype;
-
-    /**
-     * 网格源文件类型
-     */
-    @Column(name = "grids_source_filetype")
-    private String gridsSourceFiletype;
-
-    /**
-     * 网格文件
-     */
-    @Column(name = "grids_filetype")
-    private String gridsFiletype;
-
     private static final long serialVersionUID = 1L;
 
     /**
@@ -197,76 +173,4 @@ public class AdiModeling extends MiniserviceBaseModel implements Serializable {
     public void setGridsFile(String gridsFile) {
         this.gridsFile = gridsFile == null ? null : gridsFile.trim();
     }
-
-    /**
-     * 获取几何源文件类型
-     *
-     * @return geometry_source_filetype - 几何源文件类型
-     */
-    public String getGeometrySourceFiletype() {
-        return geometrySourceFiletype;
-    }
-
-    /**
-     * 设置几何源文件类型
-     *
-     * @param geometrySourceFiletype 几何源文件类型
-     */
-    public void setGeometrySourceFiletype(String geometrySourceFiletype) {
-        this.geometrySourceFiletype = geometrySourceFiletype == null ? null : geometrySourceFiletype.trim();
-    }
-
-    /**
-     * 获取几何文件hsh类型
-     *
-     * @return geometry_filetype - 几何文件hsh类型
-     */
-    public String getGeometryFiletype() {
-        return geometryFiletype;
-    }
-
-    /**
-     * 设置几何文件hsh类型
-     *
-     * @param geometryFiletype 几何文件hsh类型
-     */
-    public void setGeometryFiletype(String geometryFiletype) {
-        this.geometryFiletype = geometryFiletype == null ? null : geometryFiletype.trim();
-    }
-
-    /**
-     * 获取网格源文件类型
-     *
-     * @return grids_source_filetype - 网格源文件类型
-     */
-    public String getGridsSourceFiletype() {
-        return gridsSourceFiletype;
-    }
-
-    /**
-     * 设置网格源文件类型
-     *
-     * @param gridsSourceFiletype 网格源文件类型
-     */
-    public void setGridsSourceFiletype(String gridsSourceFiletype) {
-        this.gridsSourceFiletype = gridsSourceFiletype == null ? null : gridsSourceFiletype.trim();
-    }
-
-    /**
-     * 获取网格文件
-     *
-     * @return grids_filetype - 网格文件
-     */
-    public String getGridsFiletype() {
-        return gridsFiletype;
-    }
-
-    /**
-     * 设置网格文件
-     *
-     * @param gridsFiletype 网格文件
-     */
-    public void setGridsFiletype(String gridsFiletype) {
-        this.gridsFiletype = gridsFiletype == null ? null : gridsFiletype.trim();
-    }
 }

+ 0 - 280
modelsrc/com/miniframe/model/system/AdiModelingSQLBuilder.java

@@ -593,286 +593,6 @@ public class AdiModelingSQLBuilder {
             addCriterion("grids_file not between", value1, value2, "gridsFile");
             return (Criteria) this;
         }
-
-        public Criteria andGeometrySourceFiletypeIsNull() {
-            addCriterion("geometry_source_filetype is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometrySourceFiletypeIsNotNull() {
-            addCriterion("geometry_source_filetype is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometrySourceFiletypeEqualTo(String value) {
-            addCriterion("geometry_source_filetype =", value, "geometrySourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometrySourceFiletypeNotEqualTo(String value) {
-            addCriterion("geometry_source_filetype <>", value, "geometrySourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometrySourceFiletypeGreaterThan(String value) {
-            addCriterion("geometry_source_filetype >", value, "geometrySourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometrySourceFiletypeGreaterThanOrEqualTo(String value) {
-            addCriterion("geometry_source_filetype >=", value, "geometrySourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometrySourceFiletypeLessThan(String value) {
-            addCriterion("geometry_source_filetype <", value, "geometrySourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometrySourceFiletypeLessThanOrEqualTo(String value) {
-            addCriterion("geometry_source_filetype <=", value, "geometrySourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometrySourceFiletypeLike(String value) {
-            addCriterion("geometry_source_filetype like", value, "geometrySourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometrySourceFiletypeNotLike(String value) {
-            addCriterion("geometry_source_filetype not like", value, "geometrySourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometrySourceFiletypeIn(List<String> values) {
-            addCriterion("geometry_source_filetype in", values, "geometrySourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometrySourceFiletypeNotIn(List<String> values) {
-            addCriterion("geometry_source_filetype not in", values, "geometrySourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometrySourceFiletypeBetween(String value1, String value2) {
-            addCriterion("geometry_source_filetype between", value1, value2, "geometrySourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometrySourceFiletypeNotBetween(String value1, String value2) {
-            addCriterion("geometry_source_filetype not between", value1, value2, "geometrySourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometryFiletypeIsNull() {
-            addCriterion("geometry_filetype is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometryFiletypeIsNotNull() {
-            addCriterion("geometry_filetype is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometryFiletypeEqualTo(String value) {
-            addCriterion("geometry_filetype =", value, "geometryFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometryFiletypeNotEqualTo(String value) {
-            addCriterion("geometry_filetype <>", value, "geometryFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometryFiletypeGreaterThan(String value) {
-            addCriterion("geometry_filetype >", value, "geometryFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometryFiletypeGreaterThanOrEqualTo(String value) {
-            addCriterion("geometry_filetype >=", value, "geometryFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometryFiletypeLessThan(String value) {
-            addCriterion("geometry_filetype <", value, "geometryFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometryFiletypeLessThanOrEqualTo(String value) {
-            addCriterion("geometry_filetype <=", value, "geometryFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometryFiletypeLike(String value) {
-            addCriterion("geometry_filetype like", value, "geometryFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometryFiletypeNotLike(String value) {
-            addCriterion("geometry_filetype not like", value, "geometryFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometryFiletypeIn(List<String> values) {
-            addCriterion("geometry_filetype in", values, "geometryFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometryFiletypeNotIn(List<String> values) {
-            addCriterion("geometry_filetype not in", values, "geometryFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometryFiletypeBetween(String value1, String value2) {
-            addCriterion("geometry_filetype between", value1, value2, "geometryFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGeometryFiletypeNotBetween(String value1, String value2) {
-            addCriterion("geometry_filetype not between", value1, value2, "geometryFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsSourceFiletypeIsNull() {
-            addCriterion("grids_source_filetype is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsSourceFiletypeIsNotNull() {
-            addCriterion("grids_source_filetype is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsSourceFiletypeEqualTo(String value) {
-            addCriterion("grids_source_filetype =", value, "gridsSourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsSourceFiletypeNotEqualTo(String value) {
-            addCriterion("grids_source_filetype <>", value, "gridsSourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsSourceFiletypeGreaterThan(String value) {
-            addCriterion("grids_source_filetype >", value, "gridsSourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsSourceFiletypeGreaterThanOrEqualTo(String value) {
-            addCriterion("grids_source_filetype >=", value, "gridsSourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsSourceFiletypeLessThan(String value) {
-            addCriterion("grids_source_filetype <", value, "gridsSourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsSourceFiletypeLessThanOrEqualTo(String value) {
-            addCriterion("grids_source_filetype <=", value, "gridsSourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsSourceFiletypeLike(String value) {
-            addCriterion("grids_source_filetype like", value, "gridsSourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsSourceFiletypeNotLike(String value) {
-            addCriterion("grids_source_filetype not like", value, "gridsSourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsSourceFiletypeIn(List<String> values) {
-            addCriterion("grids_source_filetype in", values, "gridsSourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsSourceFiletypeNotIn(List<String> values) {
-            addCriterion("grids_source_filetype not in", values, "gridsSourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsSourceFiletypeBetween(String value1, String value2) {
-            addCriterion("grids_source_filetype between", value1, value2, "gridsSourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsSourceFiletypeNotBetween(String value1, String value2) {
-            addCriterion("grids_source_filetype not between", value1, value2, "gridsSourceFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsFiletypeIsNull() {
-            addCriterion("grids_filetype is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsFiletypeIsNotNull() {
-            addCriterion("grids_filetype is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsFiletypeEqualTo(String value) {
-            addCriterion("grids_filetype =", value, "gridsFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsFiletypeNotEqualTo(String value) {
-            addCriterion("grids_filetype <>", value, "gridsFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsFiletypeGreaterThan(String value) {
-            addCriterion("grids_filetype >", value, "gridsFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsFiletypeGreaterThanOrEqualTo(String value) {
-            addCriterion("grids_filetype >=", value, "gridsFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsFiletypeLessThan(String value) {
-            addCriterion("grids_filetype <", value, "gridsFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsFiletypeLessThanOrEqualTo(String value) {
-            addCriterion("grids_filetype <=", value, "gridsFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsFiletypeLike(String value) {
-            addCriterion("grids_filetype like", value, "gridsFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsFiletypeNotLike(String value) {
-            addCriterion("grids_filetype not like", value, "gridsFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsFiletypeIn(List<String> values) {
-            addCriterion("grids_filetype in", values, "gridsFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsFiletypeNotIn(List<String> values) {
-            addCriterion("grids_filetype not in", values, "gridsFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsFiletypeBetween(String value1, String value2) {
-            addCriterion("grids_filetype between", value1, value2, "gridsFiletype");
-            return (Criteria) this;
-        }
-
-        public Criteria andGridsFiletypeNotBetween(String value1, String value2) {
-            addCriterion("grids_filetype not between", value1, value2, "gridsFiletype");
-            return (Criteria) this;
-        }
     }
 
     public static class Criteria extends GeneratedCriteria {

+ 48 - 0
modelsrc/com/miniframe/model/system/AdiSolverConfig.java

@@ -76,6 +76,18 @@ public class AdiSolverConfig extends MiniserviceBaseModel implements Serializabl
     @Column(name = "solver_etime")
     private Date solverEtime;
 
+    /**
+     * 求解配置文件
+     */
+    @Column(name = "nml_file")
+    private String nmlFile;
+
+    /**
+     * 边界文件
+     */
+    @Column(name = "mapbc_file")
+    private String mapbcFile;
+
     private static final long serialVersionUID = 1L;
 
     /**
@@ -301,4 +313,40 @@ public class AdiSolverConfig extends MiniserviceBaseModel implements Serializabl
     public void setSolverEtime(Date solverEtime) {
         this.solverEtime = solverEtime;
     }
+
+    /**
+     * 获取求解配置文件
+     *
+     * @return nml_file - 求解配置文件
+     */
+    public String getNmlFile() {
+        return nmlFile;
+    }
+
+    /**
+     * 设置求解配置文件
+     *
+     * @param nmlFile 求解配置文件
+     */
+    public void setNmlFile(String nmlFile) {
+        this.nmlFile = nmlFile == null ? null : nmlFile.trim();
+    }
+
+    /**
+     * 获取边界文件
+     *
+     * @return mapbc_file - 边界文件
+     */
+    public String getMapbcFile() {
+        return mapbcFile;
+    }
+
+    /**
+     * 设置边界文件
+     *
+     * @param mapbcFile 边界文件
+     */
+    public void setMapbcFile(String mapbcFile) {
+        this.mapbcFile = mapbcFile == null ? null : mapbcFile.trim();
+    }
 }

+ 140 - 0
modelsrc/com/miniframe/model/system/AdiSolverConfigSQLBuilder.java

@@ -884,6 +884,146 @@ public class AdiSolverConfigSQLBuilder {
             addCriterion("solver_etime not between", value1, value2, "solverEtime");
             return (Criteria) this;
         }
+
+        public Criteria andNmlFileIsNull() {
+            addCriterion("nml_file is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNmlFileIsNotNull() {
+            addCriterion("nml_file is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andNmlFileEqualTo(String value) {
+            addCriterion("nml_file =", value, "nmlFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andNmlFileNotEqualTo(String value) {
+            addCriterion("nml_file <>", value, "nmlFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andNmlFileGreaterThan(String value) {
+            addCriterion("nml_file >", value, "nmlFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andNmlFileGreaterThanOrEqualTo(String value) {
+            addCriterion("nml_file >=", value, "nmlFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andNmlFileLessThan(String value) {
+            addCriterion("nml_file <", value, "nmlFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andNmlFileLessThanOrEqualTo(String value) {
+            addCriterion("nml_file <=", value, "nmlFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andNmlFileLike(String value) {
+            addCriterion("nml_file like", value, "nmlFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andNmlFileNotLike(String value) {
+            addCriterion("nml_file not like", value, "nmlFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andNmlFileIn(List<String> values) {
+            addCriterion("nml_file in", values, "nmlFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andNmlFileNotIn(List<String> values) {
+            addCriterion("nml_file not in", values, "nmlFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andNmlFileBetween(String value1, String value2) {
+            addCriterion("nml_file between", value1, value2, "nmlFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andNmlFileNotBetween(String value1, String value2) {
+            addCriterion("nml_file not between", value1, value2, "nmlFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andMapbcFileIsNull() {
+            addCriterion("mapbc_file is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMapbcFileIsNotNull() {
+            addCriterion("mapbc_file is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMapbcFileEqualTo(String value) {
+            addCriterion("mapbc_file =", value, "mapbcFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andMapbcFileNotEqualTo(String value) {
+            addCriterion("mapbc_file <>", value, "mapbcFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andMapbcFileGreaterThan(String value) {
+            addCriterion("mapbc_file >", value, "mapbcFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andMapbcFileGreaterThanOrEqualTo(String value) {
+            addCriterion("mapbc_file >=", value, "mapbcFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andMapbcFileLessThan(String value) {
+            addCriterion("mapbc_file <", value, "mapbcFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andMapbcFileLessThanOrEqualTo(String value) {
+            addCriterion("mapbc_file <=", value, "mapbcFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andMapbcFileLike(String value) {
+            addCriterion("mapbc_file like", value, "mapbcFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andMapbcFileNotLike(String value) {
+            addCriterion("mapbc_file not like", value, "mapbcFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andMapbcFileIn(List<String> values) {
+            addCriterion("mapbc_file in", values, "mapbcFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andMapbcFileNotIn(List<String> values) {
+            addCriterion("mapbc_file not in", values, "mapbcFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andMapbcFileBetween(String value1, String value2) {
+            addCriterion("mapbc_file between", value1, value2, "mapbcFile");
+            return (Criteria) this;
+        }
+
+        public Criteria andMapbcFileNotBetween(String value1, String value2) {
+            addCriterion("mapbc_file not between", value1, value2, "mapbcFile");
+            return (Criteria) this;
+        }
     }
 
     public static class Criteria extends GeneratedCriteria {

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

@@ -0,0 +1,245 @@
+package com.miniframe.model.system;
+
+import com.miniframe.system.MiniserviceBaseModel;
+import java.io.Serializable;
+import javax.persistence.*;
+
+@Table(name = "adi_solver_job")
+public class AdiSolverJob extends MiniserviceBaseModel implements Serializable {
+    /**
+     * jobId
+     */
+    @Id
+    private String id;
+
+    /**
+     * 创建时间
+     */
+    @Column(name = "create_time")
+    private String createTime;
+
+    /**
+     * 开始执行时间
+     */
+    @Column(name = "startexe_time")
+    private String startexeTime;
+
+    /**
+     * 执行完成时间
+     */
+    @Column(name = "endexe_time")
+    private String endexeTime;
+
+    /**
+     * 项目状态(-1-未执行 0-执行中 1-已执行)
+     */
+    private Integer state;
+
+    /**
+     * 所属用户id
+     */
+    private String uid;
+
+    /**
+     * 项目ID
+     */
+    private String pid;
+
+    /**
+     * 求解ID
+     */
+    private String solverid;
+
+    /**
+     * 配置ID
+     */
+    private String configid;
+
+    /**
+     * 1-成功 -1-失败
+     */
+    @Column(name = "results_state")
+    private Integer resultsState;
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 获取jobId
+     *
+     * @return id - jobId
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * 设置jobId
+     *
+     * @param id jobId
+     */
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    /**
+     * 获取创建时间
+     *
+     * @return create_time - 创建时间
+     */
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    /**
+     * 设置创建时间
+     *
+     * @param createTime 创建时间
+     */
+    public void setCreateTime(String createTime) {
+        this.createTime = createTime == null ? null : createTime.trim();
+    }
+
+    /**
+     * 获取开始执行时间
+     *
+     * @return startexe_time - 开始执行时间
+     */
+    public String getStartexeTime() {
+        return startexeTime;
+    }
+
+    /**
+     * 设置开始执行时间
+     *
+     * @param startexeTime 开始执行时间
+     */
+    public void setStartexeTime(String startexeTime) {
+        this.startexeTime = startexeTime == null ? null : startexeTime.trim();
+    }
+
+    /**
+     * 获取执行完成时间
+     *
+     * @return endexe_time - 执行完成时间
+     */
+    public String getEndexeTime() {
+        return endexeTime;
+    }
+
+    /**
+     * 设置执行完成时间
+     *
+     * @param endexeTime 执行完成时间
+     */
+    public void setEndexeTime(String endexeTime) {
+        this.endexeTime = endexeTime == null ? null : endexeTime.trim();
+    }
+
+    /**
+     * 获取项目状态(-1-未执行 0-执行中 1-已执行)
+     *
+     * @return state - 项目状态(-1-未执行 0-执行中 1-已执行)
+     */
+    public Integer getState() {
+        return state;
+    }
+
+    /**
+     * 设置项目状态(-1-未执行 0-执行中 1-已执行)
+     *
+     * @param state 项目状态(-1-未执行 0-执行中 1-已执行)
+     */
+    public void setState(Integer state) {
+        this.state = state;
+    }
+
+    /**
+     * 获取所属用户id
+     *
+     * @return uid - 所属用户id
+     */
+    public String getUid() {
+        return uid;
+    }
+
+    /**
+     * 设置所属用户id
+     *
+     * @param uid 所属用户id
+     */
+    public void setUid(String uid) {
+        this.uid = uid == null ? null : uid.trim();
+    }
+
+    /**
+     * 获取项目ID
+     *
+     * @return pid - 项目ID
+     */
+    public String getPid() {
+        return pid;
+    }
+
+    /**
+     * 设置项目ID
+     *
+     * @param pid 项目ID
+     */
+    public void setPid(String pid) {
+        this.pid = pid == null ? null : pid.trim();
+    }
+
+    /**
+     * 获取求解ID
+     *
+     * @return solverid - 求解ID
+     */
+    public String getSolverid() {
+        return solverid;
+    }
+
+    /**
+     * 设置求解ID
+     *
+     * @param solverid 求解ID
+     */
+    public void setSolverid(String solverid) {
+        this.solverid = solverid == null ? null : solverid.trim();
+    }
+
+    /**
+     * 获取配置ID
+     *
+     * @return configid - 配置ID
+     */
+    public String getConfigid() {
+        return configid;
+    }
+
+    /**
+     * 设置配置ID
+     *
+     * @param configid 配置ID
+     */
+    public void setConfigid(String configid) {
+        this.configid = configid == null ? null : configid.trim();
+    }
+
+    /**
+     * 获取1-成功 -1-失败
+     *
+     * @return results_state - 1-成功 -1-失败
+     */
+    public Integer getResultsState() {
+        return resultsState;
+    }
+
+    /**
+     * 设置1-成功 -1-失败
+     *
+     * @param resultsState 1-成功 -1-失败
+     */
+    public void setResultsState(Integer resultsState) {
+        this.resultsState = resultsState;
+    }
+}

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

@@ -0,0 +1,880 @@
+package com.miniframe.model.system;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class AdiSolverJobSQLBuilder {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public AdiSolverJobSQLBuilder() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andIdIsNull() {
+            addCriterion("id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIsNotNull() {
+            addCriterion("id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdEqualTo(String value) {
+            addCriterion("id =", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotEqualTo(String value) {
+            addCriterion("id <>", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThan(String value) {
+            addCriterion("id >", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdGreaterThanOrEqualTo(String value) {
+            addCriterion("id >=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThan(String value) {
+            addCriterion("id <", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLessThanOrEqualTo(String value) {
+            addCriterion("id <=", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdLike(String value) {
+            addCriterion("id like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotLike(String value) {
+            addCriterion("id not like", value, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdIn(List<String> values) {
+            addCriterion("id in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotIn(List<String> values) {
+            addCriterion("id not in", values, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdBetween(String value1, String value2) {
+            addCriterion("id between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andIdNotBetween(String value1, String value2) {
+            addCriterion("id not between", value1, value2, "id");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIsNull() {
+            addCriterion("create_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIsNotNull() {
+            addCriterion("create_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeEqualTo(String value) {
+            addCriterion("create_time =", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotEqualTo(String value) {
+            addCriterion("create_time <>", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeGreaterThan(String value) {
+            addCriterion("create_time >", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeGreaterThanOrEqualTo(String value) {
+            addCriterion("create_time >=", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLessThan(String value) {
+            addCriterion("create_time <", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLessThanOrEqualTo(String value) {
+            addCriterion("create_time <=", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeLike(String value) {
+            addCriterion("create_time like", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotLike(String value) {
+            addCriterion("create_time not like", value, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeIn(List<String> values) {
+            addCriterion("create_time in", values, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotIn(List<String> values) {
+            addCriterion("create_time not in", values, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeBetween(String value1, String value2) {
+            addCriterion("create_time between", value1, value2, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateTimeNotBetween(String value1, String value2) {
+            addCriterion("create_time not between", value1, value2, "createTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartexeTimeIsNull() {
+            addCriterion("startexe_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartexeTimeIsNotNull() {
+            addCriterion("startexe_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartexeTimeEqualTo(String value) {
+            addCriterion("startexe_time =", value, "startexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartexeTimeNotEqualTo(String value) {
+            addCriterion("startexe_time <>", value, "startexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartexeTimeGreaterThan(String value) {
+            addCriterion("startexe_time >", value, "startexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartexeTimeGreaterThanOrEqualTo(String value) {
+            addCriterion("startexe_time >=", value, "startexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartexeTimeLessThan(String value) {
+            addCriterion("startexe_time <", value, "startexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartexeTimeLessThanOrEqualTo(String value) {
+            addCriterion("startexe_time <=", value, "startexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartexeTimeLike(String value) {
+            addCriterion("startexe_time like", value, "startexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartexeTimeNotLike(String value) {
+            addCriterion("startexe_time not like", value, "startexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartexeTimeIn(List<String> values) {
+            addCriterion("startexe_time in", values, "startexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartexeTimeNotIn(List<String> values) {
+            addCriterion("startexe_time not in", values, "startexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartexeTimeBetween(String value1, String value2) {
+            addCriterion("startexe_time between", value1, value2, "startexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartexeTimeNotBetween(String value1, String value2) {
+            addCriterion("startexe_time not between", value1, value2, "startexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andEndexeTimeIsNull() {
+            addCriterion("endexe_time is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andEndexeTimeIsNotNull() {
+            addCriterion("endexe_time is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andEndexeTimeEqualTo(String value) {
+            addCriterion("endexe_time =", value, "endexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andEndexeTimeNotEqualTo(String value) {
+            addCriterion("endexe_time <>", value, "endexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andEndexeTimeGreaterThan(String value) {
+            addCriterion("endexe_time >", value, "endexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andEndexeTimeGreaterThanOrEqualTo(String value) {
+            addCriterion("endexe_time >=", value, "endexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andEndexeTimeLessThan(String value) {
+            addCriterion("endexe_time <", value, "endexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andEndexeTimeLessThanOrEqualTo(String value) {
+            addCriterion("endexe_time <=", value, "endexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andEndexeTimeLike(String value) {
+            addCriterion("endexe_time like", value, "endexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andEndexeTimeNotLike(String value) {
+            addCriterion("endexe_time not like", value, "endexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andEndexeTimeIn(List<String> values) {
+            addCriterion("endexe_time in", values, "endexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andEndexeTimeNotIn(List<String> values) {
+            addCriterion("endexe_time not in", values, "endexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andEndexeTimeBetween(String value1, String value2) {
+            addCriterion("endexe_time between", value1, value2, "endexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andEndexeTimeNotBetween(String value1, String value2) {
+            addCriterion("endexe_time not between", value1, value2, "endexeTime");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateIsNull() {
+            addCriterion("state is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateIsNotNull() {
+            addCriterion("state is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateEqualTo(Integer value) {
+            addCriterion("state =", value, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateNotEqualTo(Integer value) {
+            addCriterion("state <>", value, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateGreaterThan(Integer value) {
+            addCriterion("state >", value, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateGreaterThanOrEqualTo(Integer value) {
+            addCriterion("state >=", value, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateLessThan(Integer value) {
+            addCriterion("state <", value, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateLessThanOrEqualTo(Integer value) {
+            addCriterion("state <=", value, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateIn(List<Integer> values) {
+            addCriterion("state in", values, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateNotIn(List<Integer> values) {
+            addCriterion("state not in", values, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateBetween(Integer value1, Integer value2) {
+            addCriterion("state between", value1, value2, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andStateNotBetween(Integer value1, Integer value2) {
+            addCriterion("state not between", value1, value2, "state");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidIsNull() {
+            addCriterion("uid is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidIsNotNull() {
+            addCriterion("uid is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidEqualTo(String value) {
+            addCriterion("uid =", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotEqualTo(String value) {
+            addCriterion("uid <>", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidGreaterThan(String value) {
+            addCriterion("uid >", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidGreaterThanOrEqualTo(String value) {
+            addCriterion("uid >=", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidLessThan(String value) {
+            addCriterion("uid <", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidLessThanOrEqualTo(String value) {
+            addCriterion("uid <=", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidLike(String value) {
+            addCriterion("uid like", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotLike(String value) {
+            addCriterion("uid not like", value, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidIn(List<String> values) {
+            addCriterion("uid in", values, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotIn(List<String> values) {
+            addCriterion("uid not in", values, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidBetween(String value1, String value2) {
+            addCriterion("uid between", value1, value2, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUidNotBetween(String value1, String value2) {
+            addCriterion("uid not between", value1, value2, "uid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPidIsNull() {
+            addCriterion("pid is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPidIsNotNull() {
+            addCriterion("pid is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andPidEqualTo(String value) {
+            addCriterion("pid =", value, "pid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPidNotEqualTo(String value) {
+            addCriterion("pid <>", value, "pid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPidGreaterThan(String value) {
+            addCriterion("pid >", value, "pid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPidGreaterThanOrEqualTo(String value) {
+            addCriterion("pid >=", value, "pid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPidLessThan(String value) {
+            addCriterion("pid <", value, "pid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPidLessThanOrEqualTo(String value) {
+            addCriterion("pid <=", value, "pid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPidLike(String value) {
+            addCriterion("pid like", value, "pid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPidNotLike(String value) {
+            addCriterion("pid not like", value, "pid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPidIn(List<String> values) {
+            addCriterion("pid in", values, "pid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPidNotIn(List<String> values) {
+            addCriterion("pid not in", values, "pid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPidBetween(String value1, String value2) {
+            addCriterion("pid between", value1, value2, "pid");
+            return (Criteria) this;
+        }
+
+        public Criteria andPidNotBetween(String value1, String value2) {
+            addCriterion("pid not between", value1, value2, "pid");
+            return (Criteria) this;
+        }
+
+        public Criteria andSolveridIsNull() {
+            addCriterion("solverid is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSolveridIsNotNull() {
+            addCriterion("solverid is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSolveridEqualTo(String value) {
+            addCriterion("solverid =", value, "solverid");
+            return (Criteria) this;
+        }
+
+        public Criteria andSolveridNotEqualTo(String value) {
+            addCriterion("solverid <>", value, "solverid");
+            return (Criteria) this;
+        }
+
+        public Criteria andSolveridGreaterThan(String value) {
+            addCriterion("solverid >", value, "solverid");
+            return (Criteria) this;
+        }
+
+        public Criteria andSolveridGreaterThanOrEqualTo(String value) {
+            addCriterion("solverid >=", value, "solverid");
+            return (Criteria) this;
+        }
+
+        public Criteria andSolveridLessThan(String value) {
+            addCriterion("solverid <", value, "solverid");
+            return (Criteria) this;
+        }
+
+        public Criteria andSolveridLessThanOrEqualTo(String value) {
+            addCriterion("solverid <=", value, "solverid");
+            return (Criteria) this;
+        }
+
+        public Criteria andSolveridLike(String value) {
+            addCriterion("solverid like", value, "solverid");
+            return (Criteria) this;
+        }
+
+        public Criteria andSolveridNotLike(String value) {
+            addCriterion("solverid not like", value, "solverid");
+            return (Criteria) this;
+        }
+
+        public Criteria andSolveridIn(List<String> values) {
+            addCriterion("solverid in", values, "solverid");
+            return (Criteria) this;
+        }
+
+        public Criteria andSolveridNotIn(List<String> values) {
+            addCriterion("solverid not in", values, "solverid");
+            return (Criteria) this;
+        }
+
+        public Criteria andSolveridBetween(String value1, String value2) {
+            addCriterion("solverid between", value1, value2, "solverid");
+            return (Criteria) this;
+        }
+
+        public Criteria andSolveridNotBetween(String value1, String value2) {
+            addCriterion("solverid not between", value1, value2, "solverid");
+            return (Criteria) this;
+        }
+
+        public Criteria andConfigidIsNull() {
+            addCriterion("configid is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andConfigidIsNotNull() {
+            addCriterion("configid is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andConfigidEqualTo(String value) {
+            addCriterion("configid =", value, "configid");
+            return (Criteria) this;
+        }
+
+        public Criteria andConfigidNotEqualTo(String value) {
+            addCriterion("configid <>", value, "configid");
+            return (Criteria) this;
+        }
+
+        public Criteria andConfigidGreaterThan(String value) {
+            addCriterion("configid >", value, "configid");
+            return (Criteria) this;
+        }
+
+        public Criteria andConfigidGreaterThanOrEqualTo(String value) {
+            addCriterion("configid >=", value, "configid");
+            return (Criteria) this;
+        }
+
+        public Criteria andConfigidLessThan(String value) {
+            addCriterion("configid <", value, "configid");
+            return (Criteria) this;
+        }
+
+        public Criteria andConfigidLessThanOrEqualTo(String value) {
+            addCriterion("configid <=", value, "configid");
+            return (Criteria) this;
+        }
+
+        public Criteria andConfigidLike(String value) {
+            addCriterion("configid like", value, "configid");
+            return (Criteria) this;
+        }
+
+        public Criteria andConfigidNotLike(String value) {
+            addCriterion("configid not like", value, "configid");
+            return (Criteria) this;
+        }
+
+        public Criteria andConfigidIn(List<String> values) {
+            addCriterion("configid in", values, "configid");
+            return (Criteria) this;
+        }
+
+        public Criteria andConfigidNotIn(List<String> values) {
+            addCriterion("configid not in", values, "configid");
+            return (Criteria) this;
+        }
+
+        public Criteria andConfigidBetween(String value1, String value2) {
+            addCriterion("configid between", value1, value2, "configid");
+            return (Criteria) this;
+        }
+
+        public Criteria andConfigidNotBetween(String value1, String value2) {
+            addCriterion("configid not between", value1, value2, "configid");
+            return (Criteria) this;
+        }
+
+        public Criteria andResultsStateIsNull() {
+            addCriterion("results_state is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andResultsStateIsNotNull() {
+            addCriterion("results_state is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andResultsStateEqualTo(Integer value) {
+            addCriterion("results_state =", value, "resultsState");
+            return (Criteria) this;
+        }
+
+        public Criteria andResultsStateNotEqualTo(Integer value) {
+            addCriterion("results_state <>", value, "resultsState");
+            return (Criteria) this;
+        }
+
+        public Criteria andResultsStateGreaterThan(Integer value) {
+            addCriterion("results_state >", value, "resultsState");
+            return (Criteria) this;
+        }
+
+        public Criteria andResultsStateGreaterThanOrEqualTo(Integer value) {
+            addCriterion("results_state >=", value, "resultsState");
+            return (Criteria) this;
+        }
+
+        public Criteria andResultsStateLessThan(Integer value) {
+            addCriterion("results_state <", value, "resultsState");
+            return (Criteria) this;
+        }
+
+        public Criteria andResultsStateLessThanOrEqualTo(Integer value) {
+            addCriterion("results_state <=", value, "resultsState");
+            return (Criteria) this;
+        }
+
+        public Criteria andResultsStateIn(List<Integer> values) {
+            addCriterion("results_state in", values, "resultsState");
+            return (Criteria) this;
+        }
+
+        public Criteria andResultsStateNotIn(List<Integer> values) {
+            addCriterion("results_state not in", values, "resultsState");
+            return (Criteria) this;
+        }
+
+        public Criteria andResultsStateBetween(Integer value1, Integer value2) {
+            addCriterion("results_state between", value1, value2, "resultsState");
+            return (Criteria) this;
+        }
+
+        public Criteria andResultsStateNotBetween(Integer value1, Integer value2) {
+            addCriterion("results_state not between", value1, value2, "resultsState");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 10 - 0
modelsrc/com/miniframe/model/system/dao/AdiSolverJobMapper.java

@@ -0,0 +1,10 @@
+package com.miniframe.model.system.dao;
+
+import com.miniframe.model.system.AdiSolverJob;
+import com.miniframe.model.system.AdiSolverJobSQLBuilder;
+import com.miniframe.spring.db.MFBaseMapper;
+import com.miniframe.system.MiniserviceBaseDao;
+
+public interface AdiSolverJobMapper extends MiniserviceBaseDao, MFBaseMapper<AdiSolverJob> {
+    long countByExample(AdiSolverJobSQLBuilder example);
+}

+ 2 - 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 Mon Oct 17 11:20:21 CST 2022.
+    This file was generated on Fri Oct 21 10:42:34 CST 2022.
   -->
   <mappers>
     <mapper resource="com/miniframe/model/system/xml/SysAppcodeMapper.xml" />
@@ -24,5 +24,6 @@
     <mapper resource="com/miniframe/model/system/xml/AdiModelingMapper.xml" />
     <mapper resource="com/miniframe/model/system/xml/AdiSolverMapper.xml" />
     <mapper resource="com/miniframe/model/system/xml/AdiSolverConfigMapper.xml" />
+    <mapper resource="com/miniframe/model/system/xml/AdiSolverJobMapper.xml" />
   </mappers>
 </configuration>

+ 50 - 0
modelsrc/com/miniframe/model/system/xml/AdiSolverJobMapper.xml

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.miniframe.model.system.dao.AdiSolverJobMapper">
+  <sql id="Example_Where_Clause">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <select id="countByExample" parameterType="com.miniframe.model.system.AdiSolverJobSQLBuilder" resultType="java.lang.Long">
+    <!--
+      WARNING - @mbg.generated
+    -->
+    select count(*) from adi_solver_job
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <cache>
+    <!--
+      WARNING - @mbg.generated
+    -->
+  </cache>
+</mapper>

+ 3 - 3
src/main/java/com/miniframe/bisiness/system/C00003Service.java

@@ -11,9 +11,9 @@ import com.miniframe.model.system.AdiSolverConfigSQLBuilder;
 import com.miniframe.model.system.AdiSolverSQLBuilder;
 import com.miniframe.model.system.dao.AdiSolverConfigMapper;
 import com.miniframe.model.system.dao.AdiSolverMapper;
-import com.miniframe.solveconfig.SolverParam;
-import com.miniframe.solveconfig.fem.FEMParam;
-import com.miniframe.solveconfig.hcfd.HcfdParam;
+import com.miniframe.solverconfig.SolverParam;
+import com.miniframe.solverconfig.fem.FEMParam;
+import com.miniframe.solverconfig.hcfd.HcfdParam;
 import com.miniframe.tools.XIDateTimeUtils;
 
 import java.util.Date;

+ 3 - 6
src/main/java/com/miniframe/bisiness/system/C00004Service.java

@@ -10,15 +10,12 @@ import com.miniframe.core.ext.UtilTools;
 import com.miniframe.generate.business.system.model.C00004BaseModel;
 import com.miniframe.model.system.AdiSolver;
 import com.miniframe.model.system.AdiSolverConfig;
-import com.miniframe.model.system.AdiSolverConfigSQLBuilder;
 import com.miniframe.model.system.dao.AdiSolverConfigMapper;
 import com.miniframe.model.system.dao.AdiSolverMapper;
-import com.miniframe.solveconfig.SolverParam;
-import com.miniframe.solveconfig.fem.FEMParam;
-import com.miniframe.solveconfig.hcfd.HcfdParam;
+import com.miniframe.solverconfig.fem.FEMParam;
+import com.miniframe.solverconfig.hcfd.HcfdParam;
 import com.miniframe.tools.XIDateTimeUtils;
 import com.miniframe.tools.XiJsonUtil;
-import org.apache.coyote.http2.HpackDecoder;
 
 /**
  * 基础系统,“项目求解配置信息保存”逻辑处理(重新生成不覆盖)。
@@ -47,7 +44,7 @@ public class C00004Service extends C00004BaseModel implements ExecProcessFlow {
 				throw new BusinessException("EB4000006");
 			}
 		}
-		if(solver.getCompany().equals("Adi.SimWork")&& solver.getSolverModel().equals("FEMLab(结构力学)")){
+		if(solver.getCompany().equals("ADI.SimWork")&& solver.getSolverModel().equals("FEMLab(结构力学)")){
 			try {
 				FEMParam param =XiJsonUtil.jsonToPojo(parameterObj,FEMParam.class);
 			}catch (JsonProcessingException e){

+ 14 - 5
src/main/java/com/miniframe/bisiness/system/C00005Service.java

@@ -3,7 +3,6 @@ package com.miniframe.bisiness.system;
 import java.util.List;
 import java.util.Map;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
 import com.miniframe.core.ExecProcessFlow;
 import com.miniframe.core.exception.BusinessException;
 import com.miniframe.core.ext.UtilTools;
@@ -13,8 +12,10 @@ import com.miniframe.model.system.dao.AdiModelingMapper;
 import com.miniframe.model.system.dao.AdiProjectMapper;
 import com.miniframe.model.system.dao.AdiSolverConfigMapper;
 import com.miniframe.model.system.dao.AdiSolverMapper;
-import com.miniframe.solveconfig.fem.FEMParam;
-import com.miniframe.solveconfig.hcfd.HcfdParam;
+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.tools.XiJsonUtil;
 
 /**
@@ -28,7 +29,7 @@ public class C00005Service extends C00005BaseModel implements ExecProcessFlow {
 	 * 基础系统,“求解”业务核心处理
  	 */
 	public void transExecute() throws Exception {
-		String solverConfigId = getA_c00005().getSolverConfigid();
+		String solverConfigId = getA_c00005().getSolverConfigId();
 		String uid =getA_systemhead().getUserId();
 		AdiSolverConfigMapper configMapper = UtilTools.getBean(AdiSolverConfigMapper.class);
 		AdiSolverConfig config = configMapper.selectByPrimaryKey(solverConfigId);
@@ -55,11 +56,19 @@ public class C00005Service extends C00005BaseModel implements ExecProcessFlow {
 			throw  new BusinessException("EB4000010");
 		}
 		AdiModeling modeling = modelingList.get(0);
+
 		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);
+			String vfred="";
+			String afred="";
+			vfred=param.getNmlParam().getVolume_animation_freq().toString();
+			afred=param.getNmlParam().getAnimation_freq().toString();
 		}
-		if(solver.getCompany().equals("Adi.SimWork")&& solver.getSolverModel().equals("FEMLab(结构力学)")){
+		if(solver.getCompany().equals("ADI.SimWork")&& solver.getSolverModel().equals("FEMLab(结构力学)")){
 			FEMParam param =XiJsonUtil.jsonToPojo(config.getParameterObj(),FEMParam.class);
+			FEMOrder.CreateAnalysisFile(null,config);
 		}
 
 

+ 23 - 0
src/main/java/com/miniframe/dbtransfer/AdiSolverJobDbTransfer.java

@@ -0,0 +1,23 @@
+package com.miniframe.dbtransfer;
+
+import com.miniframe.core.DbTransfer;
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+import com.miniframe.model.system.AdiSolverJob;
+
+/**
+ * 实体列表,“ADI_SOLVER_JOB”数据库数据转化逻辑处理(重新生成不覆盖)。
+ */
+public class AdiSolverJobDbTransfer extends DbTransfer implements Serializable {
+	
+	private static final long serialVersionUID = -7051358269847459502L;
+
+	@Override
+	public List transfer(final List l,Map map) throws Exception{
+		List<AdiSolverJob> list=l;
+		return list;
+	};
+
+}

+ 1 - 1
src/main/java/com/miniframe/solveconfig/SolverParam.java → src/main/java/com/miniframe/solverconfig/SolverParam.java

@@ -1,4 +1,4 @@
-package com.miniframe.solveconfig;
+package com.miniframe.solverconfig;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 

+ 1 - 1
src/main/java/com/miniframe/solveconfig/fem/FEMElement.java → src/main/java/com/miniframe/solverconfig/fem/FEMElement.java

@@ -1,4 +1,4 @@
-package com.miniframe.solveconfig.fem;
+package com.miniframe.solverconfig.fem;
 
 import io.netty.util.internal.StringUtil;
 

+ 76 - 0
src/main/java/com/miniframe/solverconfig/fem/FEMOrder.java

@@ -0,0 +1,76 @@
+package com.miniframe.solverconfig.fem;
+
+import com.miniframe.core.exception.BusinessException;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.model.system.AdiModeling;
+import com.miniframe.model.system.AdiSolverConfig;
+import com.miniframe.model.system.SysFile;
+import com.miniframe.model.system.dao.AdiSolverConfigMapper;
+import com.miniframe.model.system.dao.SysFileMapper;
+import com.miniframe.tools.CaeFileUtils;
+import com.miniframe.tools.XIFileUtils;
+import com.miniframe.tools.XiJsonUtil;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.List;
+
+public class FEMOrder {
+    /**
+     * 配置文件重新生成
+     * @param
+     */
+    public static void CreateAnalysisFile(AdiModeling modeling, AdiSolverConfig config) throws Exception {
+        FEMParam param= XiJsonUtil.jsonToPojo(config.getParameterObj(), FEMParam.class);
+        String  nmlFileId =config.getNmlFile();
+        String nmlFilePath;
+        if(nmlFileId==null||nmlFileId.equals("")) {
+            /**
+             * 创建一个新的配置文件
+             */
+            nmlFilePath = CaeFileUtils.createBigFilePath("analysis.in");
+            nmlFileId= UtilTools.getUUid();
+            CaeFileUtils.saveFile(nmlFileId, nmlFilePath, config.getUid(), "in", "");
+            AdiSolverConfigMapper configDao = UtilTools.getBean(AdiSolverConfigMapper.class);
+            config.setNmlFile(nmlFileId);
+            configDao.updateByPrimaryKey(config);
+
+        }else{
+            SysFileMapper sysFileDAO = UtilTools.getBean(SysFileMapper.class);
+            SysFile nmlFile =  sysFileDAO.selectByPrimaryKey(nmlFileId);
+            if(nmlFile!=null){
+                throw new BusinessException("EB4000001");
+            }
+            nmlFilePath = XIFileUtils.getRootPathStr()+"/"+nmlFile.getFilepath();
+        }
+        FileWriter fw =null;
+        try {
+
+            File analysisfile = new File(nmlFilePath);
+            if (analysisfile.exists()) {
+                analysisfile.delete();
+            }
+            analysisfile.createNewFile();
+            fw = new FileWriter(analysisfile,true);
+            List<String> analysislist =param.showAnalysisWindow();
+            for (String analysis: analysislist){
+                fw.write(analysis);
+                fw.write("\r\n");
+            }
+            fw.close();
+        }catch (Exception o){
+            o.printStackTrace();
+        }finally {
+            if (fw != null) {
+                try {
+                    fw.close();
+                } catch (IOException e1) {
+                    throw  e1;
+                }
+            }
+        }
+    }
+
+
+}

+ 2 - 2
src/main/java/com/miniframe/solveconfig/fem/FEMParam.java → src/main/java/com/miniframe/solverconfig/fem/FEMParam.java

@@ -1,7 +1,7 @@
-package com.miniframe.solveconfig.fem;
+package com.miniframe.solverconfig.fem;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
-import com.miniframe.solveconfig.SolverParam;
+import com.miniframe.solverconfig.SolverParam;
 import com.miniframe.tools.XiJsonUtil;
 
 import java.util.ArrayList;

+ 1 - 1
src/main/java/com/miniframe/solveconfig/hcfd/HcfdBoundary.java → src/main/java/com/miniframe/solverconfig/hcfd/HcfdBoundary.java

@@ -1,4 +1,4 @@
-package com.miniframe.solveconfig.hcfd;
+package com.miniframe.solverconfig.hcfd;
 
 /**
  * HCFD 边界信息

+ 551 - 0
src/main/java/com/miniframe/solverconfig/hcfd/HcfdExe.java

@@ -0,0 +1,551 @@
+package com.miniframe.solverconfig.hcfd;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.miniframe.core.exception.BusinessException;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.model.system.AdiModeling;
+import com.miniframe.model.system.AdiSolverConfig;
+import com.miniframe.model.system.SysFile;
+import com.miniframe.model.system.dao.AdiSolverConfigMapper;
+import com.miniframe.model.system.dao.SysFileMapper;
+import com.miniframe.tools.CaeFileUtils;
+import com.miniframe.tools.XIFileUtils;
+import com.miniframe.tools.XiJsonUtil;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * hcfd 求解
+ */
+public class HcfdExe {
+
+
+    /**
+     * 根据配置重新创建 mpbc 文件
+     * @param
+     */
+    public static void CreateMpbcFile(AdiModeling modeling, AdiSolverConfig config) throws BusinessException, IOException {
+        HcfdParam param ;
+        try {
+             param =XiJsonUtil.jsonToPojo(config.getParameterObj(),HcfdParam.class);
+        }catch (JsonProcessingException e){
+            e.printStackTrace();
+            throw new BusinessException("EB4000006");
+        }
+        List<HcfdBoundary>  boundaries=param.getHcfdBoundarys();
+
+        String  mapbcFileId =config.getMapbcFile();
+        String mapbcFilePath;
+        if(mapbcFileId==null||mapbcFileId.equals("")) {
+            /**
+             * 创建一个新的配置文件
+             */
+            mapbcFilePath= CaeFileUtils.createBigFilePath(config.getPid()+".mapbc");
+            mapbcFileId=UtilTools.getUUid();
+            CaeFileUtils.saveFile(mapbcFileId,mapbcFilePath,config.getUid(),"mapbc","");
+
+            AdiSolverConfigMapper configDao = UtilTools.getBean(AdiSolverConfigMapper.class);
+            config.setMapbcFile(mapbcFileId);
+            configDao.updateByPrimaryKey(config);
+        }else{
+            SysFileMapper sysFileDAO = UtilTools.getBean(SysFileMapper.class);
+            SysFile nmlFile =  sysFileDAO.selectByPrimaryKey(mapbcFileId);
+            if(nmlFile!=null){
+                throw new BusinessException("EB4000001");
+            }
+            mapbcFilePath = XIFileUtils.getRootPathStr()+"/"+nmlFile.getFilepath();
+        }
+
+        File mapbcFile = new File(mapbcFilePath);
+        FileWriter writer =null;
+        try {
+            if (!mapbcFile.exists()) {
+                mapbcFile.createNewFile();
+            }else{
+                mapbcFile.delete();
+                mapbcFile.createNewFile();
+            }
+            writer = new FileWriter(mapbcFile,true);
+            writer.write(String.valueOf(boundaries.size())+" ");
+            writer.write("\r\n");//换行
+            for (HcfdBoundary b:boundaries) {
+                writer.write(b.getId().toString()+" ");
+                writer.write(b.getConditionsCode().toString()+" ");
+                writer.write(b.getName()+" ");
+                writer.write("\r\n");//换行
+            }
+            writer.close();
+        }catch (Exception o){
+            o.printStackTrace();
+        }finally {
+            if (writer != null) {
+                try {
+                    writer.close();
+                } catch (IOException e1) {
+                    e1.printStackTrace();
+                }
+            }
+        }
+    }
+
+    /**
+     * 根据配置重新创建 nml 文件
+     * @param
+     */
+    public static void CreateNmlFile(AdiModeling modeling, AdiSolverConfig config) throws BusinessException, IOException {
+        HcfdParam param ;
+        try {
+            param =XiJsonUtil.jsonToPojo(config.getParameterObj(),HcfdParam.class);
+        }catch (JsonProcessingException e){
+            e.printStackTrace();
+            throw new BusinessException("EB4000006");
+        }
+        String  nmlFileId =config.getNmlFile();
+        String nmlFilePath;
+        if(nmlFileId==null||nmlFileId.equals("")) {
+            /**
+             * 创建一个新的配置文件
+             */
+            nmlFilePath = CaeFileUtils.createBigFilePath(config.getPid() + ".nml");
+            nmlFileId=UtilTools.getUUid();
+            CaeFileUtils.saveFile(nmlFileId, nmlFilePath, config.getUid(), "nml", "");
+
+            AdiSolverConfigMapper configDao = UtilTools.getBean(AdiSolverConfigMapper.class);
+            config.setNmlFile(nmlFileId);
+            configDao.updateByPrimaryKey(config);
+
+        }else{
+            SysFileMapper sysFileDAO = UtilTools.getBean(SysFileMapper.class);
+            SysFile nmlFile =  sysFileDAO.selectByPrimaryKey(nmlFileId);
+            if(nmlFile!=null){
+                throw new BusinessException("EB4000001");
+            }
+            nmlFilePath = XIFileUtils.getRootPathStr()+"/"+nmlFile.getFilepath();
+        }
+
+        NmlParam np = param.getNmlParam();
+        File nmlFile = new File(nmlFilePath);
+        FileWriter fw =null;
+        try {
+            if (!nmlFile.exists()) {
+                nmlFile.createNewFile();
+            }else{
+                nmlFile.delete();
+                nmlFile.createNewFile();
+            }
+            fw = new FileWriter(nmlFile,true);
+            version_number(np, fw);
+            project(np, fw);
+            governing_equations(np, fw);
+            reference_physical_properties(np, fw);
+            force_moment_integ_properties(np, fw);
+            inviscid_flux_method(np, fw);
+            molecular_viscous_models(np, fw);
+            turbulent_diffusion_models(np, fw);
+            nonlinear_solver_parameters(np, fw);
+            linear_solver_parameters(np, fw);
+            code_run_control(np, fw);
+            special_parameters(np, fw);
+            raw_grid(np, fw);
+            elasticity_gmres(fw);
+            boundary_output_variables(np, fw);
+            volume_output_variables(np, fw);
+            //sampling_parameters// todo hxx 待定
+            sampling_parameters(np, fw);
+            fw.close();
+        }catch (Exception o){
+            o.printStackTrace();
+        }finally {
+            if (fw != null) {
+                try {
+                    fw.close();
+                } catch (IOException e1) {
+                    e1.printStackTrace();
+                }
+            }
+        }
+    }
+    private static void sampling_parameters(NmlParam np, FileWriter fw) throws IOException {
+        //elasticity_gmres//
+        fw.write("&sampling_parameters");
+        fw.write("\r\n");//换行
+        fw.write("number_of_geometries = 0");
+        fw.write("\r\n");//换行
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void volume_output_variables(NmlParam np, FileWriter fw) throws IOException {
+        //volume_output_variables//
+        fw.write("&volume_output_variables");
+        fw.write("\r\n");//换行
+        fw.write("u= .");
+        fw.write(String.valueOf(np.isV_u()));
+        fw.write(".\r\n");//换行
+        fw.write("v= .");
+        fw.write(String.valueOf(np.isV_v()));
+        fw.write(".\r\n");//换行
+        fw.write("w= .");
+        fw.write(String.valueOf(np.isV_w()));
+        fw.write(".\r\n");//换行
+        fw.write("p= .");
+        fw.write(String.valueOf(np.isV_p()));
+        fw.write(".\r\n");//换行
+        fw.write("cp= .");
+        fw.write(String.valueOf(np.isV_cp()));
+        fw.write(".\r\n");//换行
+        fw.write("mach= .");
+        fw.write(String.valueOf(np.isV_mach()));
+        fw.write(".\r\n");//换行
+        fw.write("vort_mag= .");
+        fw.write(String.valueOf(np.isV_vort_mag()));
+        fw.write(".\r\n");//换行
+        fw.write("vort_x= .");
+        fw.write(String.valueOf(np.isV_vort_x()));
+        fw.write(".\r\n");//换行
+        fw.write("vort_y= .");
+        fw.write(String.valueOf(np.isV_vort_y()));
+        fw.write(".\r\n");//换行
+        fw.write("vort_z= .");
+        fw.write(String.valueOf(np.isV_vort_z()));
+        fw.write(".\r\n");//换行
+        fw.write("q_criterion= .");
+        fw.write(String.valueOf(np.isV_q_criterion()));
+        fw.write(".\r\n");//换行
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void boundary_output_variables(NmlParam np, FileWriter fw) throws IOException {
+        //boundary_output_variables//
+        fw.write("&boundary_output_variables");
+        fw.write("\r\n");//换行
+
+        fw.write("u= .");
+        fw.write(String.valueOf(np.isA_u()));
+        fw.write(".\r\n");//换行
+        fw.write("v= .");
+        fw.write(String.valueOf(np.isA_v()));
+        fw.write(".\r\n");//换行
+        fw.write("w= .");
+        fw.write(String.valueOf(np.isA_w()));
+        fw.write(".\r\n");//换行
+        fw.write("p= .");
+        fw.write(String.valueOf(np.isA_p()));
+        fw.write(".\r\n");//换行
+        fw.write("cp= .");
+        fw.write(String.valueOf(np.isA_cp()));
+        fw.write(".\r\n");//换行
+        fw.write("mach= .");
+        fw.write(String.valueOf(np.isA_mach()));
+        fw.write(".\r\n");//换行
+        fw.write("vort_mag= .");
+        fw.write(String.valueOf(np.isA_vort_mag()));
+        fw.write(".\r\n");//换行
+        fw.write("vort_x= .");
+        fw.write(String.valueOf(np.isA_vort_x()));
+        fw.write(".\r\n");//换行
+        fw.write("vort_y= .");
+        fw.write(String.valueOf(np.isA_vort_y()));
+        fw.write(".\r\n");//换行
+        fw.write("vort_z= .");
+        fw.write(String.valueOf(np.isA_vort_z()));
+        fw.write(".\r\n");//换行
+        fw.write("q_criterion= .");
+        fw.write(String.valueOf(np.isA_q_criterion()));
+        fw.write(".\r\n");//换行
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void elasticity_gmres(FileWriter fw) throws IOException {
+        //elasticity_gmres//
+        fw.write("&elasticity_gmres");
+        fw.write("\r\n");//换行
+        fw.write("ileft= 1");
+        fw.write("\r\n");//换行
+        fw.write("nsearch = 50");
+        fw.write("\r\n");//换行
+        fw.write("nrestarts = 10");
+        fw.write("\r\n");//换行
+        fw.write("tol = 1.e-6");
+        fw.write("\r\n");//换行
+        fw.write("show = .false.");
+        fw.write("\r\n");//换行
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void raw_grid(NmlParam np, FileWriter fw) throws IOException {
+        //raw_grid//
+        fw.write("&raw_grid");
+        fw.write("\r\n");//换行
+        fw.write("grid_format= \"");
+        fw.write(np.getGrid_format().toString());
+        fw.write("\"\r\n");//换行
+        fw.write("data_format= \"");
+        fw.write(np.getData_format().toString());
+        fw.write("\"\r\n");//换行
+        fw.write("swap_yz_axes= .");
+        fw.write(String.valueOf(np.isSwap_yz_axes()));
+        fw.write(".\r\n");//换行
+        fw.write("ignore_euler_number= .");
+        fw.write(String.valueOf(np.isIgnore_euler_number()));
+        fw.write(".\r\n");//换行
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void special_parameters(NmlParam np, FileWriter fw) throws IOException {
+        //special_parameters//
+        fw.write("&special_parameters");
+        fw.write("\r\n");//换行
+        fw.write("large_angle_fix = \"");
+        fw.write(np.getLarge_angle_fix().toString());
+        fw.write("\"\r\n");//换行
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void code_run_control(NmlParam np, FileWriter fw) throws IOException {
+        //code_run_control//
+        fw.write("&code_run_control");
+        fw.write("\r\n");//换行
+        fw.write("steps = ");
+        fw.write(np.getSteps().toString());
+        fw.write("\r\n");//换行
+        fw.write("stopping_tolerance = ");
+        fw.write(np.getStopping_tolerance().toString());
+        fw.write("\r\n");//换行
+        fw.write("restart_write_freq = ");
+        fw.write(np.getRestart_write_freq().toString());
+        fw.write("\r\n");//换行
+        fw.write("restart_read = \"");
+        fw.write(np.getRestart_read().toString());
+        fw.write("\"\r\n");//换行
+        fw.write("jacobian_eval_freq = ");
+        fw.write(np.getJacobian_eval_freq().toString());
+        fw.write("\r\n");//换行
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void linear_solver_parameters(NmlParam np, FileWriter fw) throws IOException {
+        //linear_solver_parameters//
+        fw.write("&linear_solver_parameters");
+        fw.write("\r\n");//换行
+        fw.write("meanflow_sweeps = ");
+        fw.write(np.getMeanflow_sweeps().toString());
+        fw.write("\r\n");//换行
+        fw.write("turbulence_sweeps = ");
+        fw.write(np.getTurbulence_sweeps().toString());
+        fw.write("\r\n");//换行
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void nonlinear_solver_parameters(NmlParam np, FileWriter fw) throws IOException {
+        //nonlinear_solver_parameters//
+        fw.write("&nonlinear_solver_parameters");
+        fw.write("\r\n");//换行
+        fw.write("time_accuracy = \"");
+        fw.write(np.getTime_accuracy().toString());
+        fw.write("\"\r\n");//换行
+
+        fw.write("time_step_nondim = ");
+        fw.write(np.getTime_step_nondim().toString());
+        fw.write("\r\n");//换行
+
+        fw.write("pseudo_time_stepping = \"");
+        fw.write(np.getPseudo_time_stepping().toString());
+        fw.write("\"\r\n");//换行
+
+        fw.write("subiterations = ");
+        fw.write(np.getSubiterations().toString());
+        fw.write("\r\n");//换行
+
+        fw.write("schedule_number = 2");//Todo  hxx  页面没有映射
+        fw.write("\r\n");//换行
+
+        fw.write("schedule_iteration = ");
+        for (Integer i:
+                np.getSchedule_iteration()) {
+            fw.write(i.toString()+" ");
+        }
+        fw.write("\r\n");//换行
+
+        fw.write("schedule_cfl = ");
+        for (Double i:
+                np.getSchedule_cfl()) {
+            fw.write(i.toString());
+            fw.write(" ");
+        }
+        fw.write("\r\n");//换行
+
+        fw.write("schedule_cflturb = ");
+        for (Double i:
+                np.getSchedule_cflturb()) {
+            fw.write(i.toString());
+            fw.write(" ");
+        }
+        fw.write("\r\n");//换行
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void turbulent_diffusion_models(NmlParam np, FileWriter fw) throws IOException {
+        //turbulent_diffusion_models//
+        fw.write("&turbulent_diffusion_models");
+        fw.write("\r\n");//换行
+        fw.write("turb_model = \"");
+        fw.write(np.getTurb_model().toString());
+        fw.write("\"\r\n");//换行
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void molecular_viscous_models(NmlParam np, FileWriter fw) throws IOException {
+        //molecular_viscous_models//
+        fw.write("&molecular_viscous_models");
+        fw.write("\r\n");//换行
+
+        fw.write("prandtlnumber_molecular = ");
+        fw.write(np.getPrandtlnumber_molecular().toString());
+        fw.write("\r\n");//换行
+
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void inviscid_flux_method(NmlParam np, FileWriter fw) throws IOException {
+        //inviscid_flux_method//
+        fw.write("&inviscid_flux_method");
+        fw.write("\r\n");//换行
+
+        fw.write("flux_limiter = \"");
+        fw.write(np.getFlux_limiter().toString());
+        fw.write("\"\r\n");//换行
+
+        fw.write("first_order_iterations = ");
+        fw.write(np.getFirst_order_iterations().toString());
+        fw.write("\r\n");//换行
+
+        fw.write("flux_construction = \"");
+        fw.write(np.getFlux_construction().toString());
+        fw.write("\"\r\n");//换行
+
+        fw.write("flux_construction_lhs = \"");
+        fw.write(np.getFlux_construction_lhs().toString());
+        fw.write("\"\r\n");//换行
+
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void force_moment_integ_properties(NmlParam np, FileWriter fw) throws IOException {
+        //force_moment_integ_properties//
+        fw.write("&force_moment_integ_properties");
+        fw.write("\r\n");//换行
+        fw.write("area_reference = ");
+        fw.write(np.getArea_reference().toString());
+        fw.write("\r\n");//换行
+
+        fw.write("x_moment_length = ");
+        fw.write(np.getX_moment_length().toString());
+        fw.write("\r\n");//换行
+
+        fw.write("y_moment_length = ");
+        fw.write(np.getY_moment_length().toString());
+        fw.write("\r\n");//换行
+
+        fw.write("x_moment_center = ");
+        fw.write(np.getX_moment_center().toString());
+        fw.write("\r\n");//换行
+
+        fw.write("y_moment_center = ");
+        fw.write(np.getY_moment_center().toString());
+        fw.write("\r\n");//换行
+
+        fw.write("z_moment_center = ");
+        fw.write(np.getZ_moment_center().toString());
+        fw.write("\r\n");//换行
+
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void reference_physical_properties(NmlParam np, FileWriter fw) throws IOException {
+        //reference_physical_properties//
+        fw.write("&reference_physical_properties");
+        fw.write("\r\n");//换行
+        fw.write("dim_input_type = \"nondimensional\"");//Todo  hxx  页面没有映射
+        fw.write("\r\n");//换行
+        fw.write("temperature_units = \"");
+        fw.write(np.getTemperature_units().toString());
+        fw.write("\"\r\n");//换行
+        fw.write("mach_number = ");
+        fw.write(np.getMach_number().toString());
+        fw.write("\r\n");//换行
+        fw.write("reynolds_number = ");
+        fw.write(np.getReynolds_number().toString());
+        fw.write("\r\n");//换行
+        fw.write("temperature = ");
+        fw.write(np.getTemperature().toString());
+        fw.write("\r\n");//换行
+        fw.write("angle_of_attack = ");
+        fw.write(np.getAngle_of_attack().toString());
+        fw.write("\r\n");//换行
+        fw.write("angle_of_yaw = ");
+        fw.write(np.getAngle_of_yaw().toString());
+        fw.write("\r\n");//换行
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void governing_equations(NmlParam np, FileWriter fw) throws IOException {
+        //governing_equations//
+        fw.write("&governing_equations");
+        fw.write("\r\n");//换行
+        fw.write("eqn_type = \"");
+        fw.write(np.getEqn_type().toString());
+        fw.write("\"\r\n");//换行
+        fw.write("artificial_compress = ");
+        fw.write(np.getArtificial_compress().toString());
+        fw.write("\r\n");//换行
+        fw.write("viscous_terms = \"");
+        fw.write(np.getViscous_terms().toString());
+        fw.write("\"\r\n");//换行
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void project(NmlParam np, FileWriter fw) throws IOException {
+        //project//
+        fw.write("&project");
+        fw.write("\r\n");//换行
+        fw.write("project_rootname = \"");
+        fw.write(np.getProject_rootname().toString());
+        fw.write("\"\r\n");//换行
+        fw.write("case_title = \"case_name\"");
+        fw.write("\r\n");//换行
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+    private static void version_number(NmlParam np, FileWriter fw) throws IOException {
+        //version_number//
+        fw.write("&version_number");
+        fw.write("\r\n");//换行
+        fw.write("input_version = ");
+        fw.write(np.getInput_version().toString());
+        fw.write("\r\n");//换行
+        fw.write("namelist_verbosity = \"");
+        fw.write(np.getNamelist_verbosity().toString());
+        fw.write("\"\r\n");//换行
+        fw.write("/");
+        fw.write("\r\n");//换行
+    }
+
+}

+ 2 - 4
src/main/java/com/miniframe/solveconfig/hcfd/HcfdParam.java → src/main/java/com/miniframe/solverconfig/hcfd/HcfdParam.java

@@ -1,10 +1,8 @@
-package com.miniframe.solveconfig.hcfd;
+package com.miniframe.solverconfig.hcfd;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
-import com.google.gson.JsonObject;
-import com.miniframe.solveconfig.SolverParam;
+import com.miniframe.solverconfig.SolverParam;
 import com.miniframe.tools.XiJsonUtil;
-import net.sf.jasperreports.engine.util.JsonUtil;
 
 import java.util.ArrayList;
 import java.util.List;

+ 2 - 2
src/main/java/com/miniframe/solveconfig/hcfd/NmlParam.java → src/main/java/com/miniframe/solverconfig/hcfd/NmlParam.java

@@ -1,4 +1,4 @@
-package com.miniframe.solveconfig.hcfd;
+package com.miniframe.solverconfig.hcfd;
 
 
 public class NmlParam {
@@ -6,7 +6,7 @@ public class NmlParam {
     private Double input_version=2.2;
     private String namelist_verbosity="off";
     //&project  //
-    private String project_rootname;
+    private String project_rootname="caepro";
     private String case_title="case_name";
     //&raw_grid  //
     private String grid_format = "aflr3";

+ 30 - 2
src/main/java/com/miniframe/tools/CaeFileUtils.java

@@ -73,8 +73,36 @@ public class CaeFileUtils {
         sysFile.setFilepath(fielRelativePath);
         sysFile.setChunk(-1);
         sysFile.setChunks(chunks);
-        sysFile.setNeedop("-1");//为合并
+        sysFile.setNeedop("-1");//未合并
+        sysFileDAO.insertSelective(sysFile);
+    }
+    public static void saveFile(String bigFileId, String pathStr, String userid,
+                                String fileMedia, String fileInfo) throws IOException, BusinessException {
+        SysFileMapper sysFileDAO = UtilTools.getBean(SysFileMapper.class);
+        SysFile sysFileyz =  sysFileDAO.selectByPrimaryKey(bigFileId);
+        if(sysFileyz!=null){
+            throw new BusinessException("EB4000001");
+        }
+        Path path = Paths.get(pathStr);
+        String fielRelativePath = XIFileUtils.getRelativizePathStr(path);
+        SysFile sysFile = new SysFile();
+        sysFile.setId(bigFileId);
+        //去掉uid部分
+        int pathIndex = path.getFileName().toString().indexOf("-");
+        if (pathIndex >= 0 && pathIndex < path.getFileName().toString().length() - 1) {
+            sysFile.setFilename(path.getFileName().toString().substring(pathIndex + 1));
+        } else {
+            sysFile.setFilename(path.getFileName().toString());
+        }
+        sysFile.setLasttime(XIDateTimeUtils.getNowDate());
+        sysFile.setUid(userid);
+        sysFile.setFilemedia(fileMedia);
+        sysFile.setRemarks(fileInfo);
+        sysFile.setFiletype(XIFileUtils.getFileType(path.getFileName().toString()));
+        sysFile.setFilepath(fielRelativePath);
+        sysFile.setChunk(1);
+        sysFile.setChunks(1);
+        sysFile.setNeedop("1");//未合并
         sysFileDAO.insertSelective(sysFile);
     }
-
 }

+ 1 - 1
src/main/java/com/miniframe/tools/XiJsonUtil.java

@@ -3,7 +3,7 @@ package com.miniframe.tools;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JavaType;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.miniframe.solveconfig.hcfd.HcfdParam;
+import com.miniframe.solverconfig.hcfd.HcfdParam;
 
 import java.util.List;
 

+ 2 - 1
系统设计/实体Bean/system(实体列表).csv

@@ -15,4 +15,5 @@
 13,ADI_PROJECT,项目表,,
 14,ADI_MODELING,项目建模信息,,
 15,ADI_SOLVER,项目求解器信息,,
-16,ADI_SOLVER_CONFIG,项目求解器配置信息,,
+16,ADI_SOLVER_CONFIG,项目求解器配置信息,,
+17,ADI_SOLVER_JOB,求解任务ID,,

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

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