huangxingxing 5 hónapja
szülő
commit
a4e4a8ba9d

+ 3 - 2
dbscript/init/generate/03-functionInit.sql

@@ -19,14 +19,14 @@ INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MD
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0015', '西工大系统','求解输出参数查询',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0016', '西工大系统','求解输出参数添加修改',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0017', '西工大系统','求解输出参数删除',true);
-INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0018', '西工大系统','进化优化器参数查询',true);
-INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0019', '西工大系统','进化优化器参数添加修改',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0020', '西工大系统','求解',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0021', '西工大系统','求解过程变量数据获取',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0022', '西工大系统','变量设计查询',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0023', '西工大系统','约束条件查询',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0024', '西工大系统','目标函数查询',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0025', '西工大系统','求解日志获取',true);
+INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0018', '西工大系统','进化优化器参数查询',true);
+INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0019', '西工大系统','进化优化器参数添加修改',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0031', '西工大系统','代理优化器参数查询',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0032', '西工大系统','代理优化器参数添加修改',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0033', '西工大系统','梯度优化器参数查询',true);
@@ -56,6 +56,7 @@ INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MD
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0057', '西工大系统','流程查询',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0058', '西工大系统','流程添加修改',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0059', '西工大系统','流程删除',true);
+INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('MDO0060', '西工大系统','hdf5获取',true);
 -- 基础系统
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('A00000', '基础系统','获取图片验证码',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('A00001', '基础系统','获取短信验证码',true);

+ 112 - 0
generated/com/miniframe/generate/business/mdo/model/MDO0060BaseModel.java

@@ -0,0 +1,112 @@
+package com.miniframe.generate.business.mdo.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.mdo.A_MDOHEAD;
+import com.miniframe.generate.comm.mdo.D_MDOHEAD;
+import com.miniframe.generate.comm.mdo.A_MDO0060;
+import com.miniframe.generate.comm.mdo.D_MDO0060;
+
+/**
+ * 系统服务,“hdf5文件获取”模型类(不要维护,重新生成将覆盖)。
+ */
+@SuppressWarnings({ "rawtypes", "unchecked" })
+public class MDO0060BaseModel extends BaseMapModel {
+
+	private static final long serialVersionUID = -1326184831746814093L;
+
+	A_MDOHEAD a_mdohead;//上行头
+	D_MDOHEAD d_mdohead;//下行头
+	A_MDO0060 a_mdo0060;//上行体
+	D_MDO0060 d_mdo0060;//下行体
+
+	public MDO0060BaseModel(){
+		a_mdohead=new A_MDOHEAD();
+		d_mdohead=new D_MDOHEAD();
+		a_mdo0060=new A_MDO0060();
+		d_mdo0060=new D_MDO0060();
+	}
+
+	public void validater() throws Exception {
+		this.a_mdohead.validater();
+		this.a_mdo0060.validater();
+	}
+
+	public void setTransMap(Map map) throws Exception {
+		Map headMap = HttpMapFormater.format(map, A_MDOHEAD.class);
+		this.a_mdohead = UtilTools.map2Obj(headMap, A_MDOHEAD.class);
+		Map bodyMap = HttpMapFormater.format(map, A_MDO0060.class);
+		this.a_mdo0060 = UtilTools.map2Obj(bodyMap, A_MDO0060.class);
+	}
+
+	public Map getTransMap() throws Exception {
+		Map reMap = new LinkedHashMap();
+
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getTransCode())){
+			(this.d_mdohead).setTransCode((this.a_mdohead).getTransCode());
+		}
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getChannelNo())){
+			(this.d_mdohead).setChannelNo((this.a_mdohead).getChannelNo());
+		}
+		if(UtilTools.isNullOrBlank((this.d_mdohead).getUserId())){
+			(this.d_mdohead).setUserId((this.a_mdohead).getUserId());
+		}
+        if(UtilTools.isNullOrBlank((this.d_mdohead).getTransTime())){
+            (this.d_mdohead).setTransTime(DateTimeFormatter.ofPattern(AppGlobalVariableSysconfig.DATETIMEFORMAT).format(ZonedDateTime.now()));
+        }
+
+		reMap.putAll(UtilTools.obj2Map(this.d_mdohead));
+		reMap.putAll(UtilTools.obj2Map(this.d_mdo0060));
+
+		return reMap;
+	}
+
+	public A_MDOHEAD getA_mdohead() {
+		return this.a_mdohead;
+	}
+
+	public void setA_mdohead(A_MDOHEAD a_mdohead) {
+		this.a_mdohead=a_mdohead;
+	}
+
+	public D_MDOHEAD getD_mdohead() {
+		return d_mdohead;
+	}
+
+	public void setD_mdohead(D_MDOHEAD d_mdohead) {
+		this.d_mdohead=d_mdohead;
+	}
+
+	public A_MDO0060 getA_mdo0060() {
+		return a_mdo0060;
+	}
+
+	public void setA_mdo0060(A_MDO0060 a_mdo0060) {
+		this.a_mdo0060=a_mdo0060;
+	}
+
+	public D_MDO0060 getD_mdo0060() {
+		return this.d_mdo0060;
+	}
+
+	public void setD_mdo0060(D_MDO0060 d_mdo0060) {
+		this.d_mdo0060=d_mdo0060;
+	}
+
+	@Override
+	public String toString() {
+		try {
+			return UtilTools.obj2Json(this,true);
+		} catch (IOException e) {
+			return "";
+		}
+	}
+}

+ 99 - 0
generated/com/miniframe/generate/comm/httpmdoapater/MDO0060Client.java

@@ -0,0 +1,99 @@
+package com.miniframe.generate.comm.httpmdoapater;
+
+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.mdo.D_MDO0060;
+import com.miniframe.generate.comm.mdo.D_MDOHEAD;
+
+import com.miniframe.generate.business.mdo.model.MDO0060BaseModel;
+
+public class MDO0060Client {
+
+	private static final Logger logger = LoggerFactory.getLogger(MDO0060Client.class);
+	private MFHttpRespInfo respInfo;
+
+	public MFHttpRespInfo getRespInfo(){
+		return respInfo;
+	}
+
+	/**
+	 * 调用 [系统服务->hdf5文件获取((MDO0060)]的通讯接口
+	 * @param model 接口模型
+	 * @param extMap 扩展输入
+	 * @param url 请求地址
+	 * @return model 接口模型
+	 * @throws Exception
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0060BaseModel execute(MDO0060BaseModel model,final Map extMap,final String url) throws Exception {
+		this.executeToRespInfo(model,extMap,url);
+		return model;
+	}
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0060BaseModel execute(MDO0060BaseModel model,final Map extMap) throws Exception {
+		this.executeToRespInfo(model,extMap,null);
+		return model;
+	}
+
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MFHttpRespInfo executeToRespInfo(MDO0060BaseModel model,final Map extMap,final String url) throws Exception {
+		if (logger.isDebugEnabled()) {
+			logger.debug("execute(MDO0060BaseModel) - start");
+		}
+
+		if(UtilTools.isNullOrBlank(model.getA_mdohead().getTransCode())){
+			model.getA_mdohead().setTransCode("MDO0060");
+		}
+
+		Map inMap = new LinkedHashMap();
+		inMap.putAll(UtilTools.obj2Map(model.getA_mdohead()));
+		inMap.putAll(UtilTools.obj2Map(model.getA_mdo0060()));
+		if(extMap!=null && extMap.size()>0){
+			inMap.putAll(extMap);
+		}
+
+		Transmitter httpmdoApater = (Transmitter) UtilTools.getBean("httpmdoApater");
+		MFHttpRespInfo respInfo;
+		if(UtilTools.isNotNullAndBlank(url)){
+			respInfo = httpmdoApater.doPostDataToRespInfo(inMap,url);
+		}else{
+			respInfo = httpmdoApater.doPostDataToRespInfo(inMap);
+		}
+
+		if(respInfo!=null) {
+			Map outMap=respInfo.getParamMap();
+			D_MDOHEAD d_mdohead =  UtilTools.map2Obj(outMap, D_MDOHEAD.class);
+			D_MDO0060 d_mdo0060 =  UtilTools.map2Obj(outMap, D_MDO0060.class);
+			model.setD_mdohead(d_mdohead);
+			model.setD_mdo0060(d_mdo0060);
+
+
+		}
+
+		if (logger.isDebugEnabled()) {
+			logger.debug("execute(MDO0060BaseModel) - end");
+		}
+
+        this.respInfo=respInfo;
+
+		return respInfo;
+	}
+
+
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MDO0060BaseModel execute(MDO0060BaseModel model) throws Exception {
+		return this.execute(model,null,null);
+	}
+
+
+}

+ 12 - 0
generated/com/miniframe/generate/comm/mdo/A_MDO0060.java

@@ -0,0 +1,12 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.mdo;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * hdf5文件获取
+ */
+public class A_MDO0060 extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+}

+ 12 - 0
generated/com/miniframe/generate/comm/mdo/D_MDO0060.java

@@ -0,0 +1,12 @@
+/**
+ * 系统服务
+ */
+package com.miniframe.generate.comm.mdo;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * hdf5文件获取
+ */
+public class D_MDO0060 extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+}

+ 1 - 0
generated/validator/resources_a_mdo0060Form_validator.properties

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

+ 1 - 0
generated/validator/resources_a_mdo0060Form_validator_zh_CN.properties

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

+ 1 - 0
generated/validator/resources_d_mdo0060Form_validator.properties

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

+ 1 - 0
generated/validator/resources_d_mdo0060Form_validator_zh_CN.properties

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

+ 1 - 1
modelsrc/com/miniframe/model/mdo/dbconfig/MapperConfig-mdo.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 Tue Mar 25 11:11:03 CST 2025.
+    This file was generated on Wed Mar 26 16:02:35 CST 2025.
   -->
   <mappers>
     <mapper resource="com/miniframe/model/mdo/xml/MdoProjectMapper.xml" />

+ 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 Tue Mar 25 11:11:03 CST 2025.
+    This file was generated on Wed Mar 26 16:02:37 CST 2025.
   -->
   <mappers>
     <mapper resource="com/miniframe/model/system/xml/SysAppcodeMapper.xml" />

+ 90 - 0
src/main/java/com/miniframe/bisiness/mdo/MDO0060Service.java

@@ -0,0 +1,90 @@
+package com.miniframe.bisiness.mdo;
+
+import java.nio.file.Path;
+import java.util.Map;
+import com.miniframe.core.ExecProcessFlow;
+import com.miniframe.core.exception.BusinessException;
+import com.miniframe.core.ext.UtilTools;
+import com.miniframe.generate.business.mdo.model.MDO0060BaseModel;
+import com.miniframe.httpserver.HttpServerTransFile;
+import com.miniframe.model.system.SysFile;
+import com.miniframe.model.system.dao.SysFileMapper;
+import com.miniframe.tools.XIFileUtils;
+import com.miniframe.utils.MFMimeTypeUtils;
+import ncsa.hdf.hdf5lib.H5;
+import ncsa.hdf.hdf5lib.HDF5Constants;
+
+/**
+ * 西工大系统,“hdf5获取”逻辑处理(重新生成不覆盖)。
+ */
+public class MDO0060Service extends MDO0060BaseModel implements ExecProcessFlow {
+	
+	private static final long serialVersionUID = -7051358269847459502L;
+		
+	/**
+	 * 西工大系统,“hdf5获取”业务核心处理
+ 	 */
+	public void transExecute() throws Exception {
+
+		String filename = "data.h5";
+		String datasetName = "/cepfs";
+		int[] data = {1, 2, 3, 4, 5};
+		// 创建文件
+		int fileId = H5.H5Fcreate(filename, HDF5Constants.H5F_ACC_TRUNC,
+				HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
+
+		// 定义数据空间(维度)
+		long[] dims = {data.length};
+		int dataspaceId = H5.H5Screate_simple(1, dims, null);
+
+		// 创建数据集并写入数据
+		int datasetId = H5.H5Dcreate(fileId, datasetName, HDF5Constants.H5T_NATIVE_INT,
+				dataspaceId, HDF5Constants.H5P_DEFAULT);
+
+		H5.H5Dwrite(datasetId,
+				HDF5Constants.H5T_NATIVE_INT,
+				HDF5Constants.H5S_ALL,
+				HDF5Constants.H5P_DEFAULT,
+				HDF5Constants.H5P_DEFAULT,
+				data);
+
+		// 释放资源
+		H5.H5Dclose(datasetId);
+		H5.H5Sclose(dataspaceId);
+		H5.H5Fclose(fileId);
+
+		Path path = XIFileUtils.getAbsolutePath("/cepfs/"+filename);
+		String mimeType = MFMimeTypeUtils.getMimeType(path);
+		HttpServerTransFile transFile = new HttpServerTransFile(filename, mimeType, path);
+		UtilTools.setHttpServerTransFile(transFile);
+
+	}
+	
+	/**
+	 * 西工大系统,“hdf5获取”业务前处理
+ 	 */
+	public void preTransFlow() throws Exception {
+		this.validater();
+	}
+	
+	/**
+	 * 西工大系统,“hdf5获取”业务后处理
+ 	 */
+	public void afterTransFlow() throws Exception {
+	
+	}
+	
+	/**
+	 * 西工大系统,“hdf5获取”逻辑入口处理方法
+ 	 */
+ 	@SuppressWarnings("rawtypes")
+	@Override
+	public Map execute(Map vars) throws Exception {
+		this.setTransMap(vars);
+		preTransFlow();// 执行业务开始的规则检查和校验
+		transExecute();// 执行核心业务段
+		afterTransFlow();// 执行核心逻辑完成后的收尾逻辑
+		return this.getTransMap();
+	}
+
+}

+ 44 - 0
src/test/java/com/miniframe/comm/httpmdoapater/MDO0060Test.java

@@ -0,0 +1,44 @@
+package com.miniframe.comm.httpmdoapater;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.miniframe.comm.httpmdoapater.HttpmdoapaterUtil;
+import com.miniframe.generate.comm.mdo.A_MDO0060;
+import com.miniframe.generate.comm.httpmdoapater.MDO0060Client;
+import com.miniframe.generate.business.mdo.model.MDO0060BaseModel;
+
+public class MDO0060Test {
+
+	private static final Logger logger = LoggerFactory.getLogger(MDO0060Test.class);
+
+	/**
+	 * HDF5文件获取,获取报文体
+	 * @return
+	 */
+	public static A_MDO0060 getA_mdo0060() {
+		A_MDO0060 a_mdo0060 = new A_MDO0060();
+
+		// ----------以下增加【HDF5文件获取】上行体赋值-------------
+
+
+
+		// ---------------------------------------------------
+		return a_mdo0060;
+	}
+	
+	/**
+	 * 运行客户端测试,HDF5文件获取
+	 * 
+	 * @param args
+	 * @throws Exception
+	 */
+	public static void main(String[] args) throws Exception {
+		MDO0060BaseModel model = new MDO0060BaseModel();
+		model.setA_mdohead(HttpmdoapaterUtil.getA_mdohead("MDO0060"));
+		model.setA_mdo0060(MDO0060Test.getA_mdo0060());
+		MDO0060Client client = new MDO0060Client();
+		logger.error("客户端发送前总线:\r\n"+model);
+		model = client.execute(model);
+		logger.error("客户端发送后总线:\r\n"+model);
+	}
+}

+ 1 - 1
系统设计/系统模块/MDO(西工大系统).csv

@@ -63,4 +63,4 @@
 100057,MDO0057,流程查询,service,
 100058,MDO0058,流程添加修改,service,
 100059,MDO0059,流程删除,service,
-
+100060,MDO0060,hdf5获取,service,

+ 1 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0060_A(hdf5文件获取).csv

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

+ 1 - 0
系统设计/通信设计/通讯报文/mdo(系统服务)/报文体/MDO0060_D(hdf5文件获取).csv

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