huangxingxing vor 2 Jahren
Ursprung
Commit
8563c2b7e5
27 geänderte Dateien mit 1022 neuen und 8 gelöschten Zeilen
  1. 1 0
      dbscript/init/generate/03-functionInit.sql
  2. 112 0
      generated/com/miniframe/generate/business/system/model/MESH01BaseModel.java
  3. 99 0
      generated/com/miniframe/generate/comm/httpclientapater/MESH01Client.java
  4. 51 0
      generated/com/miniframe/generate/comm/system/A_MESH01.java
  5. 12 0
      generated/com/miniframe/generate/comm/system/D_MESH01.java
  6. 18 0
      generated/validateform/a_mesh01Form.xml
  7. 4 0
      generated/validator/resources_a_mesh01Form_validator.properties
  8. 4 0
      generated/validator/resources_a_mesh01Form_validator_zh_CN.properties
  9. 1 0
      generated/validator/resources_d_mesh01Form_validator.properties
  10. 1 0
      generated/validator/resources_d_mesh01Form_validator_zh_CN.properties
  11. 29 5
      modelsrc/com/miniframe/model/system/AdiModeling.java
  12. 70 0
      modelsrc/com/miniframe/model/system/AdiModelingSQLBuilder.java
  13. 1 1
      modelsrc/com/miniframe/model/system/dbconfig/MapperConfig-system.xml
  14. 67 0
      src/main/java/com/miniframe/aftercure/MeshCleanerParam.java
  15. 28 0
      src/main/java/com/miniframe/aftercure/MeshHexaParam.java
  16. 57 0
      src/main/java/com/miniframe/aftercure/MeshHybridParam.java
  17. 84 0
      src/main/java/com/miniframe/aftercure/MeshMsg.java
  18. 48 0
      src/main/java/com/miniframe/aftercure/MeshSurfParam.java
  19. 98 0
      src/main/java/com/miniframe/aftercure/MeshSurfParam1.java
  20. 58 0
      src/main/java/com/miniframe/aftercure/MeshSurfParam2.java
  21. 47 0
      src/main/java/com/miniframe/aftercure/MeshTetraParam.java
  22. 79 0
      src/main/java/com/miniframe/bisiness/system/MESH01Service.java
  23. 1 1
      src/main/java/com/miniframe/service/mq/CaeMQ.java
  24. 44 0
      src/test/java/com/miniframe/comm/httpclientapater/MESH01Test.java
  25. 3 1
      系统设计/系统模块/SYSTEM(基础系统).csv
  26. 4 0
      系统设计/通信设计/通讯报文/system(系统服务)/报文体/MESH01_A(几何文件绑定).csv
  27. 1 0
      系统设计/通信设计/通讯报文/system(系统服务)/报文体/MESH01_D(几何文件绑定).csv

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

@@ -38,3 +38,4 @@ INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('AF
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('AFT002', '基础系统','获取步数',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('AFT003', '基础系统','获取每步图片',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('FEM001', '基础系统','bdf文件绑定',true);
+INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MESH01', '基础系统','几何文件绑定',true);

+ 112 - 0
generated/com/miniframe/generate/business/system/model/MESH01BaseModel.java

@@ -0,0 +1,112 @@
+package com.miniframe.generate.business.system.model;
+
+import java.util.Map;
+import java.io.IOException;
+import java.util.LinkedHashMap;
+import com.miniframe.core.BaseMapModel;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.core.ext.HttpMapFormater;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import com.miniframe.generate.global.AppGlobalVariableSysconfig;
+
+import com.miniframe.generate.comm.system.A_SYSTEMHEAD;
+import com.miniframe.generate.comm.system.D_SYSTEMHEAD;
+import com.miniframe.generate.comm.system.A_MESH01;
+import com.miniframe.generate.comm.system.D_MESH01;
+
+/**
+ * 系统服务,“几何文件绑定”模型类(不要维护,重新生成将覆盖)。
+ */
+@SuppressWarnings({ "rawtypes", "unchecked" })
+public class MESH01BaseModel extends BaseMapModel {
+
+	private static final long serialVersionUID = -1326184831746814093L;
+
+	A_SYSTEMHEAD a_systemhead;//上行头
+	D_SYSTEMHEAD d_systemhead;//下行头
+	A_MESH01 a_mesh01;//上行体
+	D_MESH01 d_mesh01;//下行体
+
+	public MESH01BaseModel(){
+		a_systemhead=new A_SYSTEMHEAD();
+		d_systemhead=new D_SYSTEMHEAD();
+		a_mesh01=new A_MESH01();
+		d_mesh01=new D_MESH01();
+	}
+
+	public void validater() throws Exception {
+		this.a_systemhead.validater();
+		this.a_mesh01.validater();
+	}
+
+	public void setTransMap(Map map) throws Exception {
+		Map headMap = HttpMapFormater.format(map, A_SYSTEMHEAD.class);
+		this.a_systemhead = UtilTools.map2Obj(headMap, A_SYSTEMHEAD.class);
+		Map bodyMap = HttpMapFormater.format(map, A_MESH01.class);
+		this.a_mesh01 = UtilTools.map2Obj(bodyMap, A_MESH01.class);
+	}
+
+	public Map getTransMap() throws Exception {
+		Map reMap = new LinkedHashMap();
+
+		if(UtilTools.isNullOrBlank((this.d_systemhead).getTransCode())){
+			(this.d_systemhead).setTransCode((this.a_systemhead).getTransCode());
+		}
+		if(UtilTools.isNullOrBlank((this.d_systemhead).getChannelNo())){
+			(this.d_systemhead).setChannelNo((this.a_systemhead).getChannelNo());
+		}
+		if(UtilTools.isNullOrBlank((this.d_systemhead).getUserId())){
+			(this.d_systemhead).setUserId((this.a_systemhead).getUserId());
+		}
+        if(UtilTools.isNullOrBlank((this.d_systemhead).getTransTime())){
+            (this.d_systemhead).setTransTime(DateTimeFormatter.ofPattern(AppGlobalVariableSysconfig.DATETIMEFORMAT).format(ZonedDateTime.now()));
+        }
+
+		reMap.putAll(UtilTools.obj2Map(this.d_systemhead));
+		reMap.putAll(UtilTools.obj2Map(this.d_mesh01));
+
+		return reMap;
+	}
+
+	public A_SYSTEMHEAD getA_systemhead() {
+		return this.a_systemhead;
+	}
+
+	public void setA_systemhead(A_SYSTEMHEAD a_systemhead) {
+		this.a_systemhead=a_systemhead;
+	}
+
+	public D_SYSTEMHEAD getD_systemhead() {
+		return d_systemhead;
+	}
+
+	public void setD_systemhead(D_SYSTEMHEAD d_systemhead) {
+		this.d_systemhead=d_systemhead;
+	}
+
+	public A_MESH01 getA_mesh01() {
+		return a_mesh01;
+	}
+
+	public void setA_mesh01(A_MESH01 a_mesh01) {
+		this.a_mesh01=a_mesh01;
+	}
+
+	public D_MESH01 getD_mesh01() {
+		return this.d_mesh01;
+	}
+
+	public void setD_mesh01(D_MESH01 d_mesh01) {
+		this.d_mesh01=d_mesh01;
+	}
+
+	@Override
+	public String toString() {
+		try {
+			return UtilTools.obj2Json(this,true);
+		} catch (IOException e) {
+			return "";
+		}
+	}
+}

+ 99 - 0
generated/com/miniframe/generate/comm/httpclientapater/MESH01Client.java

@@ -0,0 +1,99 @@
+package com.miniframe.generate.comm.httpclientapater;
+
+import com.miniframe.spring.httpclient.MFHttpRespInfo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import com.miniframe.core.Transmitter;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.generate.comm.system.D_MESH01;
+import com.miniframe.generate.comm.system.D_SYSTEMHEAD;
+
+import com.miniframe.generate.business.system.model.MESH01BaseModel;
+
+public class MESH01Client {
+
+	private static final Logger logger = LoggerFactory.getLogger(MESH01Client.class);
+	private MFHttpRespInfo respInfo;
+
+	public MFHttpRespInfo getRespInfo(){
+		return respInfo;
+	}
+
+	/**
+	 * 调用 [系统服务->几何文件绑定((MESH01)]的通讯接口
+	 * @param model 接口模型
+	 * @param extMap 扩展输入
+	 * @param url 请求地址
+	 * @return model 接口模型
+	 * @throws Exception
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MESH01BaseModel execute(MESH01BaseModel model,final Map extMap,final String url) throws Exception {
+		this.executeToRespInfo(model,extMap,url);
+		return model;
+	}
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MESH01BaseModel execute(MESH01BaseModel model,final Map extMap) throws Exception {
+		this.executeToRespInfo(model,extMap,null);
+		return model;
+	}
+
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MFHttpRespInfo executeToRespInfo(MESH01BaseModel model,final Map extMap,final String url) throws Exception {
+		if (logger.isDebugEnabled()) {
+			logger.debug("execute(MESH01BaseModel) - start");
+		}
+
+		if(UtilTools.isNullOrBlank(model.getA_systemhead().getTransCode())){
+			model.getA_systemhead().setTransCode("MESH01");
+		}
+
+		Map inMap = new LinkedHashMap();
+		inMap.putAll(UtilTools.obj2Map(model.getA_systemhead()));
+		inMap.putAll(UtilTools.obj2Map(model.getA_mesh01()));
+		if(extMap!=null && extMap.size()>0){
+			inMap.putAll(extMap);
+		}
+
+		Transmitter httpclientApater = (Transmitter) UtilTools.getBean("httpclientApater");
+		MFHttpRespInfo respInfo;
+		if(UtilTools.isNotNullAndBlank(url)){
+			respInfo = httpclientApater.doPostDataToRespInfo(inMap,url);
+		}else{
+			respInfo = httpclientApater.doPostDataToRespInfo(inMap);
+		}
+
+		if(respInfo!=null) {
+			Map outMap=respInfo.getParamMap();
+			D_SYSTEMHEAD d_systemhead =  UtilTools.map2Obj(outMap, D_SYSTEMHEAD.class);
+			D_MESH01 d_mesh01 =  UtilTools.map2Obj(outMap, D_MESH01.class);
+			model.setD_systemhead(d_systemhead);
+			model.setD_mesh01(d_mesh01);
+
+
+		}
+
+		if (logger.isDebugEnabled()) {
+			logger.debug("execute(MESH01BaseModel) - end");
+		}
+
+        this.respInfo=respInfo;
+
+		return respInfo;
+	}
+
+
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MESH01BaseModel execute(MESH01BaseModel model) throws Exception {
+		return this.execute(model,null,null);
+	}
+
+
+}

+ 51 - 0
generated/com/miniframe/generate/comm/system/A_MESH01.java

@@ -0,0 +1,51 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.system;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * 几何文件绑定
+ */
+public class A_MESH01 extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+	String pid;//项目ID
+	/**
+	 *项目ID
+	 */
+	public void setPid(String pid) {
+		this.pid=pid;
+	}
+	/**
+	 *项目ID
+	 */
+	public String getPid() {
+		return this.pid;
+	}
+	String geometryFileId;//几何文件ID
+	/**
+	 *几何文件ID
+	 */
+	public void setGeometryFileId(String geometryFileId) {
+		this.geometryFileId=geometryFileId;
+	}
+	/**
+	 *几何文件ID
+	 */
+	public String getGeometryFileId() {
+		return this.geometryFileId;
+	}
+	String geometryFileType;//几何文件类型
+	/**
+	 *几何文件类型
+	 */
+	public void setGeometryFileType(String geometryFileType) {
+		this.geometryFileType=geometryFileType;
+	}
+	/**
+	 *几何文件类型
+	 */
+	public String getGeometryFileType() {
+		return this.geometryFileType;
+	}
+}

+ 12 - 0
generated/com/miniframe/generate/comm/system/D_MESH01.java

@@ -0,0 +1,12 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.system;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * 几何文件绑定
+ */
+public class D_MESH01 extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+}

+ 18 - 0
generated/validateform/a_mesh01Form.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
+<!-- 几何文件绑定Form配置文件系统生成请勿修改,否则重新生成将覆盖 -->
+<form-validation>
+<formset>
+<form name="a_mesh01Form">
+<field property="pid" depends="required">
+    <arg0 key="a_mesh01.pid"/>
+</field>
+<field property="geometryFileId" depends="required">
+    <arg0 key="a_mesh01.geometryFileId"/>
+</field>
+<field property="geometryFileType" depends="required">
+    <arg0 key="a_mesh01.geometryFileType"/>
+</field>
+</form>
+</formset>
+</form-validation>

+ 4 - 0
generated/validator/resources_a_mesh01Form_validator.properties

@@ -0,0 +1,4 @@
+a_mesh01.pid = \u9879\u76EEID
+a_mesh01.geometryFileId = \u51E0\u4F55\u6587\u4EF6ID
+a_mesh01.geometryFileType = \u51E0\u4F55\u6587\u4EF6\u7C7B\u578B
+a_mesh01Form = true

+ 4 - 0
generated/validator/resources_a_mesh01Form_validator_zh_CN.properties

@@ -0,0 +1,4 @@
+a_mesh01.pid = \u9879\u76EEID
+a_mesh01.geometryFileId = \u51E0\u4F55\u6587\u4EF6ID
+a_mesh01.geometryFileType = \u51E0\u4F55\u6587\u4EF6\u7C7B\u578B
+a_mesh01Form = true

+ 1 - 0
generated/validator/resources_d_mesh01Form_validator.properties

@@ -0,0 +1 @@
+d_mesh01Form = false

+ 1 - 0
generated/validator/resources_d_mesh01Form_validator_zh_CN.properties

@@ -0,0 +1 @@
+d_mesh01Form = false

+ 29 - 5
modelsrc/com/miniframe/model/system/AdiModeling.java

@@ -29,7 +29,7 @@ public class AdiModeling extends MiniserviceBaseModel implements Serializable {
     private String geometrySourceFile;
 
     /**
-     * 几何文件hsh
+     * 几何文件
      */
     @Column(name = "geometry_file")
     private String geometryFile;
@@ -70,6 +70,12 @@ public class AdiModeling extends MiniserviceBaseModel implements Serializable {
     @Column(name = "fem_grid_file_type")
     private String femGridFileType;
 
+    /**
+     * 几何文件类型
+     */
+    @Column(name = "geometry_file_type")
+    private String geometryFileType;
+
     private static final long serialVersionUID = 1L;
 
     /**
@@ -145,18 +151,18 @@ public class AdiModeling extends MiniserviceBaseModel implements Serializable {
     }
 
     /**
-     * 获取几何文件hsh
+     * 获取几何文件
      *
-     * @return geometry_file - 几何文件hsh
+     * @return geometry_file - 几何文件
      */
     public String getGeometryFile() {
         return geometryFile;
     }
 
     /**
-     * 设置几何文件hsh
+     * 设置几何文件
      *
-     * @param geometryFile 几何文件hsh
+     * @param geometryFile 几何文件
      */
     public void setGeometryFile(String geometryFile) {
         this.geometryFile = geometryFile == null ? null : geometryFile.trim();
@@ -269,4 +275,22 @@ public class AdiModeling extends MiniserviceBaseModel implements Serializable {
     public void setFemGridFileType(String femGridFileType) {
         this.femGridFileType = femGridFileType == null ? null : femGridFileType.trim();
     }
+
+    /**
+     * 获取几何文件类型
+     *
+     * @return geometry_file_type - 几何文件类型
+     */
+    public String getGeometryFileType() {
+        return geometryFileType;
+    }
+
+    /**
+     * 设置几何文件类型
+     *
+     * @param geometryFileType 几何文件类型
+     */
+    public void setGeometryFileType(String geometryFileType) {
+        this.geometryFileType = geometryFileType == null ? null : geometryFileType.trim();
+    }
 }

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

@@ -873,6 +873,76 @@ public class AdiModelingSQLBuilder {
             addCriterion("fem_grid_file_type not between", value1, value2, "femGridFileType");
             return (Criteria) this;
         }
+
+        public Criteria andGeometryFileTypeIsNull() {
+            addCriterion("geometry_file_type is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeometryFileTypeIsNotNull() {
+            addCriterion("geometry_file_type is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeometryFileTypeEqualTo(String value) {
+            addCriterion("geometry_file_type =", value, "geometryFileType");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeometryFileTypeNotEqualTo(String value) {
+            addCriterion("geometry_file_type <>", value, "geometryFileType");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeometryFileTypeGreaterThan(String value) {
+            addCriterion("geometry_file_type >", value, "geometryFileType");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeometryFileTypeGreaterThanOrEqualTo(String value) {
+            addCriterion("geometry_file_type >=", value, "geometryFileType");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeometryFileTypeLessThan(String value) {
+            addCriterion("geometry_file_type <", value, "geometryFileType");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeometryFileTypeLessThanOrEqualTo(String value) {
+            addCriterion("geometry_file_type <=", value, "geometryFileType");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeometryFileTypeLike(String value) {
+            addCriterion("geometry_file_type like", value, "geometryFileType");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeometryFileTypeNotLike(String value) {
+            addCriterion("geometry_file_type not like", value, "geometryFileType");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeometryFileTypeIn(List<String> values) {
+            addCriterion("geometry_file_type in", values, "geometryFileType");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeometryFileTypeNotIn(List<String> values) {
+            addCriterion("geometry_file_type not in", values, "geometryFileType");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeometryFileTypeBetween(String value1, String value2) {
+            addCriterion("geometry_file_type between", value1, value2, "geometryFileType");
+            return (Criteria) this;
+        }
+
+        public Criteria andGeometryFileTypeNotBetween(String value1, String value2) {
+            addCriterion("geometry_file_type not between", value1, value2, "geometryFileType");
+            return (Criteria) this;
+        }
     }
 
     public static class Criteria extends GeneratedCriteria {

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

@@ -5,7 +5,7 @@
     This file is generated by MyBatis Generator.
     This file is the shell of a Mapper Config file - in many cases you will need to add
       to this file before it is usable by MyBatis.
-    This file was generated on Wed Jul 05 18:12:05 CST 2023.
+    This file was generated on Thu Sep 07 17:15:10 CST 2023.
   -->
   <mappers>
     <mapper resource="com/miniframe/model/system/xml/SysAppcodeMapper.xml" />

+ 67 - 0
src/main/java/com/miniframe/aftercure/MeshCleanerParam.java

@@ -0,0 +1,67 @@
+package com.miniframe.aftercure;
+
+public class MeshCleanerParam {
+    /**
+     * CleanerParam(类)清理参数
+     * folding_angle	QString	阈值角度(低于该角度的2个连接的三角形被视为重叠)
+     * min_hole_size	QString	设置曲面尺寸阈值,低于此值进行填孔
+     * overlap_distance	QString	低于该距离则为重叠
+     * use_default_settings_for	QString	"structure、fluid"(default:structure(overlap_angle、resolution_length))
+     * overlap_angle	QString	低于该角度则为重叠(15degree)
+     * resolution_length	QString	长度阈值(5%)
+     */
+    private String folding_angle="1";
+    private String min_hole_size="1";
+    private String overlap_distance="1";
+    private String use_default_settings_for="structure";
+    private String overlap_angle="15";
+    private String resolution_length="5";
+
+    public String getFolding_angle() {
+        return folding_angle;
+    }
+
+    public void setFolding_angle(String folding_angle) {
+        this.folding_angle = folding_angle;
+    }
+
+    public String getMin_hole_size() {
+        return min_hole_size;
+    }
+
+    public void setMin_hole_size(String min_hole_size) {
+        this.min_hole_size = min_hole_size;
+    }
+
+    public String getOverlap_distance() {
+        return overlap_distance;
+    }
+
+    public void setOverlap_distance(String overlap_distance) {
+        this.overlap_distance = overlap_distance;
+    }
+
+    public String getUse_default_settings_for() {
+        return use_default_settings_for;
+    }
+
+    public void setUse_default_settings_for(String use_default_settings_for) {
+        this.use_default_settings_for = use_default_settings_for;
+    }
+
+    public String getOverlap_angle() {
+        return overlap_angle;
+    }
+
+    public void setOverlap_angle(String overlap_angle) {
+        this.overlap_angle = overlap_angle;
+    }
+
+    public String getResolution_length() {
+        return resolution_length;
+    }
+
+    public void setResolution_length(String resolution_length) {
+        this.resolution_length = resolution_length;
+    }
+}

+ 28 - 0
src/main/java/com/miniframe/aftercure/MeshHexaParam.java

@@ -0,0 +1,28 @@
+package com.miniframe.aftercure;
+
+public class MeshHexaParam {
+
+    /**
+     * hexaParam(类)六边形参数
+     * components	QString	"outside_components" "all"
+     * min_size	QString	-1 没有最小边缘长度
+     */
+    private String components="outside_components";
+    private String min_size="-1";
+
+    public String getComponents() {
+        return components;
+    }
+
+    public void setComponents(String components) {
+        this.components = components;
+    }
+
+    public String getMin_size() {
+        return min_size;
+    }
+
+    public void setMin_size(String min_size) {
+        this.min_size = min_size;
+    }
+}

+ 57 - 0
src/main/java/com/miniframe/aftercure/MeshHybridParam.java

@@ -0,0 +1,57 @@
+package com.miniframe.aftercure;
+
+public class MeshHybridParam {
+    /**
+     * HybridParam(类)清理参数
+     * element_generation	QString	"tetra_dominant、hexa_dominant、extrusion_only、cartesian_core"
+     * number_of_boundary_layers	QString	int default 0;允许用户设置边界图层的数量
+     * normal_direction	QString	int default 1->层增长方向与法线相同 -1->相反
+     * boundary_layer_global_initial_height	QString	real when boundary_layer_size_mode==global,default(0.1 of the surface element)
+     * boundary_layer_geometric_progression	QString	real边界层几何级数,计算每层高度的增长参数(default 1)
+     */
+    private String element_generation="tetra_dominant";
+    private String number_of_boundary_layers="0";
+    private String normal_direction="1";
+    private String boundary_layer_global_initial_height="0.1";
+    private String boundary_layer_geometric_progression="1";
+
+    public String getElement_generation() {
+        return element_generation;
+    }
+
+    public void setElement_generation(String element_generation) {
+        this.element_generation = element_generation;
+    }
+
+    public String getNumber_of_boundary_layers() {
+        return number_of_boundary_layers;
+    }
+
+    public void setNumber_of_boundary_layers(String number_of_boundary_layers) {
+        this.number_of_boundary_layers = number_of_boundary_layers;
+    }
+
+    public String getNormal_direction() {
+        return normal_direction;
+    }
+
+    public void setNormal_direction(String normal_direction) {
+        this.normal_direction = normal_direction;
+    }
+
+    public String getBoundary_layer_global_initial_height() {
+        return boundary_layer_global_initial_height;
+    }
+
+    public void setBoundary_layer_global_initial_height(String boundary_layer_global_initial_height) {
+        this.boundary_layer_global_initial_height = boundary_layer_global_initial_height;
+    }
+
+    public String getBoundary_layer_geometric_progression() {
+        return boundary_layer_geometric_progression;
+    }
+
+    public void setBoundary_layer_geometric_progression(String boundary_layer_geometric_progression) {
+        this.boundary_layer_geometric_progression = boundary_layer_geometric_progression;
+    }
+}

+ 84 - 0
src/main/java/com/miniframe/aftercure/MeshMsg.java

@@ -0,0 +1,84 @@
+package com.miniframe.aftercure;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.miniframe.tools.XiJsonUtil;
+import org.json.JSONObject;
+
+public class MeshMsg {
+    /**
+     * 网格文件类型 (.bdf,.vtk,.ugrid)
+     */
+    private String strResultFormat=".vtk";
+    private MeshSurfParam surfParam=new MeshSurfParam();
+    private MeshSurfParam1 surfParam1=new MeshSurfParam1();
+    private MeshSurfParam2 surfParam2=new MeshSurfParam2();
+    private MeshCleanerParam cleanerParam= new MeshCleanerParam();
+    private MeshTetraParam tetraParam;
+    private MeshHexaParam hexaParam;
+    private MeshHybridParam hybridParam;
+
+    public MeshCleanerParam getCleanerParam() {
+        return cleanerParam;
+    }
+
+    public void setCleanerParam(MeshCleanerParam cleanerParam) {
+        this.cleanerParam = cleanerParam;
+    }
+
+    public MeshTetraParam getTetraParam() {
+        return tetraParam;
+    }
+
+    public void setTetraParam(MeshTetraParam tetraParam) {
+        this.tetraParam = tetraParam;
+    }
+
+    public MeshHexaParam getHexaParam() {
+        return hexaParam;
+    }
+
+    public void setHexaParam(MeshHexaParam hexaParam) {
+        this.hexaParam = hexaParam;
+    }
+
+    public MeshHybridParam getHybridParam() {
+        return hybridParam;
+    }
+
+    public void setHybridParam(MeshHybridParam hybridParam) {
+        this.hybridParam = hybridParam;
+    }
+
+    public String getStrResultFormat() {
+        return strResultFormat;
+    }
+
+    public void setStrResultFormat(String strResultFormat) {
+        this.strResultFormat = strResultFormat;
+    }
+
+    public MeshSurfParam getSurfParam() {
+        return surfParam;
+    }
+
+    public void setSurfParam(MeshSurfParam surfParam) {
+        this.surfParam = surfParam;
+    }
+
+    public MeshSurfParam1 getSurfParam1() {
+        return surfParam1;
+    }
+
+    public void setSurfParam1(MeshSurfParam1 surfParam1) {
+        this.surfParam1 = surfParam1;
+    }
+
+    public MeshSurfParam2 getSurfParam2() {
+        return surfParam2;
+    }
+
+    public void setSurfParam2(MeshSurfParam2 surfParam2) {
+        this.surfParam2 = surfParam2;
+    }
+
+}

+ 48 - 0
src/main/java/com/miniframe/aftercure/MeshSurfParam.java

@@ -0,0 +1,48 @@
+package com.miniframe.aftercure;
+
+public class MeshSurfParam {
+    /**
+    max_size	QString	最大尺寸
+    min_size	QString	最小尺寸
+    SurfStyle	QString	表面样式	三角形、四边形triangle、quad_dominant、full_quad、local
+    Global_physical_size	QString	全局物理尺寸
+     **/
+
+    private String max_size ="10";
+    private String min_size ="1";
+    private String surfStyle ="triangle";
+    private String global_physical_size="1.0";
+
+    public String getMax_size() {
+        return max_size;
+    }
+
+    public void setMax_size(String max_size) {
+        this.max_size = max_size;
+    }
+
+    public String getMin_size() {
+        return min_size;
+    }
+
+    public void setMin_size(String min_size) {
+        this.min_size = min_size;
+    }
+
+    public String getSurfStyle() {
+        return surfStyle;
+    }
+
+    public void setSurfStyle(String surfStyle) {
+        this.surfStyle = surfStyle;
+    }
+
+    public String getGlobal_physical_size() {
+        return global_physical_size;
+    }
+
+    public void setGlobal_physical_size(String global_physical_size) {
+        this.global_physical_size = global_physical_size;
+    }
+}
+

+ 98 - 0
src/main/java/com/miniframe/aftercure/MeshSurfParam1.java

@@ -0,0 +1,98 @@
+package com.miniframe.aftercure;
+
+public class MeshSurfParam1 {
+    /**
+     * gradation	QString	渐变	越接近1越准确,必须大于1
+     * anisotropic_ratio	QString	异性率	default 0
+     * chordal_error	QString	弦误差	default D
+     * geometric_approximation_angle	QString	逼近角度	default real 8
+     * Debug	QString	调试	debugbool(default no)
+     * closed_geometry	QString	关闭几何	bool(default no关闭几何)
+     * enforce_cad_edge_sizes	QString	加强CAD边缘尺寸	仅当与gradation相结合时有效
+     * force_bad_surface_element_removal	QString	强制移除不良表面元素	bool(default no)
+     * discard_input_topology	QString	离散输入拓扑	bool(default no)
+     * create_tag_on_collision	QString	创建新标签来描述标签冲突	bool(default yes)
+     */
+
+    private String gradation="1";
+    private String anisotropic_ratio="0";
+    private String chordal_error="0";
+    private String debug="no";
+    private String closed_geometry="no";
+    private String enforce_cad_edge_sizes="1";
+    private String force_bad_surface_element_removal="no";
+    private String discard_input_topology="no";
+    private String create_tag_on_collision="yes";
+
+    public String getGradation() {
+        return gradation;
+    }
+
+    public void setGradation(String gradation) {
+        this.gradation = gradation;
+    }
+
+    public String getAnisotropic_ratio() {
+        return anisotropic_ratio;
+    }
+
+    public void setAnisotropic_ratio(String anisotropic_ratio) {
+        this.anisotropic_ratio = anisotropic_ratio;
+    }
+
+    public String getChordal_error() {
+        return chordal_error;
+    }
+
+    public void setChordal_error(String chordal_error) {
+        this.chordal_error = chordal_error;
+    }
+
+    public String getDebug() {
+        return debug;
+    }
+
+    public void setDebug(String debug) {
+        this.debug = debug;
+    }
+
+    public String getClosed_geometry() {
+        return closed_geometry;
+    }
+
+    public void setClosed_geometry(String closed_geometry) {
+        this.closed_geometry = closed_geometry;
+    }
+
+    public String getEnforce_cad_edge_sizes() {
+        return enforce_cad_edge_sizes;
+    }
+
+    public void setEnforce_cad_edge_sizes(String enforce_cad_edge_sizes) {
+        this.enforce_cad_edge_sizes = enforce_cad_edge_sizes;
+    }
+
+    public String getForce_bad_surface_element_removal() {
+        return force_bad_surface_element_removal;
+    }
+
+    public void setForce_bad_surface_element_removal(String force_bad_surface_element_removal) {
+        this.force_bad_surface_element_removal = force_bad_surface_element_removal;
+    }
+
+    public String getDiscard_input_topology() {
+        return discard_input_topology;
+    }
+
+    public void setDiscard_input_topology(String discard_input_topology) {
+        this.discard_input_topology = discard_input_topology;
+    }
+
+    public String getCreate_tag_on_collision() {
+        return create_tag_on_collision;
+    }
+
+    public void setCreate_tag_on_collision(String create_tag_on_collision) {
+        this.create_tag_on_collision = create_tag_on_collision;
+    }
+}

+ 58 - 0
src/main/java/com/miniframe/aftercure/MeshSurfParam2.java

@@ -0,0 +1,58 @@
+package com.miniframe.aftercure;
+
+public class MeshSurfParam2 {
+    /**
+     * element_order	QString	单元阶数选择	“linear”、“quadratic”)(default linear)
+     * remove_duplicate_cad_faces	QString	删除重复的cad面	bool (default yes)
+     *
+     * scaled_jacobian_threshold_value	QString	缩放雅可比阈值	(real 0.001,when use param "element_order=quadratic")
+     * optimisation	QString	最优化	bool (default yes)when "correct_surface_intersections==yes,not useful"
+     * correct_surface_intersections	QString	纠正表面相交	(default yes)
+     */
+
+    private String element_order="linear";
+    private String remove_duplicate_cad_faces="yes";
+    private String scaled_jacobian_threshold_value="0.001";
+    private String optimisation="yes";
+    private String correct_surface_intersections="yes";
+
+    public String getElement_order() {
+        return element_order;
+    }
+
+    public void setElement_order(String element_order) {
+        this.element_order = element_order;
+    }
+
+    public String getRemove_duplicate_cad_faces() {
+        return remove_duplicate_cad_faces;
+    }
+
+    public void setRemove_duplicate_cad_faces(String remove_duplicate_cad_faces) {
+        this.remove_duplicate_cad_faces = remove_duplicate_cad_faces;
+    }
+
+    public String getScaled_jacobian_threshold_value() {
+        return scaled_jacobian_threshold_value;
+    }
+
+    public void setScaled_jacobian_threshold_value(String scaled_jacobian_threshold_value) {
+        this.scaled_jacobian_threshold_value = scaled_jacobian_threshold_value;
+    }
+
+    public String getOptimisation() {
+        return optimisation;
+    }
+
+    public void setOptimisation(String optimisation) {
+        this.optimisation = optimisation;
+    }
+
+    public String getCorrect_surface_intersections() {
+        return correct_surface_intersections;
+    }
+
+    public void setCorrect_surface_intersections(String correct_surface_intersections) {
+        this.correct_surface_intersections = correct_surface_intersections;
+    }
+}

+ 47 - 0
src/main/java/com/miniframe/aftercure/MeshTetraParam.java

@@ -0,0 +1,47 @@
+package com.miniframe.aftercure;
+
+public class MeshTetraParam {
+    /**
+     * components	QString	"outside_components" "all"
+     * gradation	QString	越接近1越准确,必须大于1
+     * min_size	QString	-1 没有最小边缘长度
+     * max_size	QString	-1 没有最大边缘长度
+     */
+
+    private String components="outside_components";
+    private String gradation="1.2";
+    private String min_size="-1";
+    private String max_size="-1";
+
+    public String getComponents() {
+        return components;
+    }
+
+    public void setComponents(String components) {
+        this.components = components;
+    }
+
+    public String getGradation() {
+        return gradation;
+    }
+
+    public void setGradation(String gradation) {
+        this.gradation = gradation;
+    }
+
+    public String getMin_size() {
+        return min_size;
+    }
+
+    public void setMin_size(String min_size) {
+        this.min_size = min_size;
+    }
+
+    public String getMax_size() {
+        return max_size;
+    }
+
+    public void setMax_size(String max_size) {
+        this.max_size = max_size;
+    }
+}

+ 79 - 0
src/main/java/com/miniframe/bisiness/system/MESH01Service.java

@@ -0,0 +1,79 @@
+package com.miniframe.bisiness.system;
+
+import java.util.List;
+import java.util.Map;
+import com.miniframe.core.ExecProcessFlow;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.generate.business.system.model.MESH01BaseModel;
+import com.miniframe.model.system.AdiModeling;
+import com.miniframe.model.system.AdiModelingSQLBuilder;
+import com.miniframe.model.system.dao.AdiModelingMapper;
+import com.miniframe.tools.CaeFileUtils;
+
+/**
+ * 基础系统,“几何文件绑定”逻辑处理(重新生成不覆盖)。
+ */
+public class MESH01Service extends MESH01BaseModel implements ExecProcessFlow {
+	
+	private static final long serialVersionUID = -7051358269847459502L;
+		
+	/**
+	 * 基础系统,“几何文件绑定”业务核心处理
+ 	 */
+	public void transExecute() throws Exception {
+		String pid =this.getA_mesh01().getPid();
+		String fileId =this.getA_mesh01().getGeometryFileId();
+		String fileType =this.getA_mesh01().getGeometryFileType();
+		String usrId =this.getA_systemhead().getUserId();
+		AdiModelingMapper modelingMapper = UtilTools.getBean(AdiModelingMapper.class);
+		AdiModelingSQLBuilder sb = new AdiModelingSQLBuilder();
+		AdiModelingSQLBuilder.Criteria sc =sb.createCriteria();
+		sc.andPidEqualTo(pid);
+		List<AdiModeling> modelings =modelingMapper.selectByExample(sb);
+		if(modelings.isEmpty()){
+			AdiModeling modeling =new AdiModeling();
+			modeling.setId(UtilTools.getUUid());
+			modeling.setPid(pid);
+			modeling.setGeometryFile(fileId);
+			modeling.setGeometryFileType(fileType);
+			modeling.setUid(usrId);
+			modelingMapper.insert(modeling);
+		}else{
+			AdiModeling modeling =modelings.get(0);
+			if(!fileId.equals(modeling.getGeometryFile())){
+				CaeFileUtils.deleFile(modeling.getGridFile());
+			}
+			modeling.setGeometryFile(fileId);
+			modeling.setGeometryFileType(fileType);
+			modelingMapper.updateByPrimaryKey(modeling);
+		}
+	}
+	
+	/**
+	 * 基础系统,“几何文件绑定”业务前处理
+ 	 */
+	public void preTransFlow() throws Exception {
+		this.validater();
+	}
+	
+	/**
+	 * 基础系统,“几何文件绑定”业务后处理
+ 	 */
+	public void afterTransFlow() throws Exception {
+	
+	}
+	
+	/**
+	 * 基础系统,“几何文件绑定”逻辑入口处理方法
+ 	 */
+ 	@SuppressWarnings("rawtypes")
+	@Override
+	public Map execute(Map vars) throws Exception {
+		this.setTransMap(vars);
+		preTransFlow();// 执行业务开始的规则检查和校验
+		transExecute();// 执行核心业务段
+		afterTransFlow();// 执行核心逻辑完成后的收尾逻辑
+		return this.getTransMap();
+	}
+
+}

+ 1 - 1
src/main/java/com/miniframe/service/mq/CaeMQ.java

@@ -80,7 +80,7 @@ public class CaeMQ extends CaeViewMFMqDynamic {
         return mfMqInfoList;
     }
 
-    /**
+    /**+
      * 向未处理信息队列 发送消息
      * @param data
      */

+ 44 - 0
src/test/java/com/miniframe/comm/httpclientapater/MESH01Test.java

@@ -0,0 +1,44 @@
+package com.miniframe.comm.httpclientapater;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.miniframe.comm.httpclientapater.HttpclientapaterUtil;
+import com.miniframe.generate.comm.system.A_MESH01;
+import com.miniframe.generate.comm.httpclientapater.MESH01Client;
+import com.miniframe.generate.business.system.model.MESH01BaseModel;
+
+public class MESH01Test {
+
+	private static final Logger logger = LoggerFactory.getLogger(MESH01Test.class);
+
+	/**
+	 * 几何文件绑定,获取报文体
+	 * @return
+	 */
+	public static A_MESH01 getA_mesh01() {
+		A_MESH01 a_mesh01 = new A_MESH01();
+
+		// ----------以下增加【几何文件绑定】上行体赋值-------------
+
+
+
+		// ---------------------------------------------------
+		return a_mesh01;
+	}
+	
+	/**
+	 * 运行客户端测试,几何文件绑定
+	 * 
+	 * @param args
+	 * @throws Exception
+	 */
+	public static void main(String[] args) throws Exception {
+		MESH01BaseModel model = new MESH01BaseModel();
+		model.setA_systemhead(HttpclientapaterUtil.getA_systemhead("MESH01"));
+		model.setA_mesh01(MESH01Test.getA_mesh01());
+		MESH01Client client = new MESH01Client();
+		logger.error("客户端发送前总线:\r\n"+model);
+		model = client.execute(model);
+		logger.error("客户端发送后总线:\r\n"+model);
+	}
+}

+ 3 - 1
系统设计/系统模块/SYSTEM(基础系统).csv

@@ -38,5 +38,7 @@
 400008,AFT001,后处理消息发送,service,,
 400009,AFT002,获取步数,service,,
 4000010,AFT003,获取每步图片,service,,
+410001,FEM001,bdf文件绑定,service,,
 
-410001,FEM001,bdf文件绑定,service,,
+
+500001,MESH01,几何文件绑定,service,,

+ 4 - 0
系统设计/通信设计/通讯报文/system(系统服务)/报文体/MESH01_A(几何文件绑定).csv

@@ -0,0 +1,4 @@
+序号,英文名称,中文名称,数据类型,默认值,格式化,非空/引用,最小(长度/值),最大(长度/值),验证规则,标准数据ID,XML样式,TAG标签,映射/子标签,CDATA
+1,pid,项目ID,string,,,是,,,,,,,,
+2,geometryFileId,几何文件ID,string,,,是,,,,,,,,
+3,geometryFileType,几何文件类型,string,,,是,,,,,,,,

+ 1 - 0
系统设计/通信设计/通讯报文/system(系统服务)/报文体/MESH01_D(几何文件绑定).csv

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