huangxingxing 2 kuukautta sitten
vanhempi
säilyke
b25f241ba0

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

@@ -18,6 +18,7 @@ INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('ES
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('ES0014', '无锡发动机','任务查询',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('ES0015', '无锡发动机','结果属性值查询',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('ES0016', '无锡发动机','项目模拟数据组件属性删除',true);
+INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('ES0017', '无锡发动机','求解日志获取',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('ES1001', '无锡发动机','组件查询',true);
 INSERT INTO SYS_FUNCTION(FUNCTIONID, CLASSNAME, FUNCTIONNAME ,ENABLE)VALUES ('BES001', '无锡发动机','基础字典查询',true);
 -- 基础系统

+ 112 - 0
generated/com/miniframe/generate/business/es/model/ES0017BaseModel.java

@@ -0,0 +1,112 @@
+package com.miniframe.generate.business.es.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.es.A_ESHEAD;
+import com.miniframe.generate.comm.es.D_ESHEAD;
+import com.miniframe.generate.comm.es.A_ES0017;
+import com.miniframe.generate.comm.es.D_ES0017;
+
+/**
+ * 无锡发动机,“日志获取”模型类(不要维护,重新生成将覆盖)。
+ */
+@SuppressWarnings({ "rawtypes", "unchecked" })
+public class ES0017BaseModel extends BaseMapModel {
+
+	private static final long serialVersionUID = -1326184831746814093L;
+
+	A_ESHEAD a_eshead;//上行头
+	D_ESHEAD d_eshead;//下行头
+	A_ES0017 a_es0017;//上行体
+	D_ES0017 d_es0017;//下行体
+
+	public ES0017BaseModel(){
+		a_eshead=new A_ESHEAD();
+		d_eshead=new D_ESHEAD();
+		a_es0017=new A_ES0017();
+		d_es0017=new D_ES0017();
+	}
+
+	public void validater() throws Exception {
+		this.a_eshead.validater();
+		this.a_es0017.validater();
+	}
+
+	public void setTransMap(Map map) throws Exception {
+		Map headMap = HttpMapFormater.format(map, A_ESHEAD.class);
+		this.a_eshead = UtilTools.map2Obj(headMap, A_ESHEAD.class);
+		Map bodyMap = HttpMapFormater.format(map, A_ES0017.class);
+		this.a_es0017 = UtilTools.map2Obj(bodyMap, A_ES0017.class);
+	}
+
+	public Map getTransMap() throws Exception {
+		Map reMap = new LinkedHashMap();
+
+		if(UtilTools.isNullOrBlank((this.d_eshead).getTransCode())){
+			(this.d_eshead).setTransCode((this.a_eshead).getTransCode());
+		}
+		if(UtilTools.isNullOrBlank((this.d_eshead).getChannelNo())){
+			(this.d_eshead).setChannelNo((this.a_eshead).getChannelNo());
+		}
+		if(UtilTools.isNullOrBlank((this.d_eshead).getUserId())){
+			(this.d_eshead).setUserId((this.a_eshead).getUserId());
+		}
+        if(UtilTools.isNullOrBlank((this.d_eshead).getTransTime())){
+            (this.d_eshead).setTransTime(DateTimeFormatter.ofPattern(AppGlobalVariableSysconfig.DATETIMEFORMAT).format(ZonedDateTime.now()));
+        }
+
+		reMap.putAll(UtilTools.obj2Map(this.d_eshead));
+		reMap.putAll(UtilTools.obj2Map(this.d_es0017));
+
+		return reMap;
+	}
+
+	public A_ESHEAD getA_eshead() {
+		return this.a_eshead;
+	}
+
+	public void setA_eshead(A_ESHEAD a_eshead) {
+		this.a_eshead=a_eshead;
+	}
+
+	public D_ESHEAD getD_eshead() {
+		return d_eshead;
+	}
+
+	public void setD_eshead(D_ESHEAD d_eshead) {
+		this.d_eshead=d_eshead;
+	}
+
+	public A_ES0017 getA_es0017() {
+		return a_es0017;
+	}
+
+	public void setA_es0017(A_ES0017 a_es0017) {
+		this.a_es0017=a_es0017;
+	}
+
+	public D_ES0017 getD_es0017() {
+		return this.d_es0017;
+	}
+
+	public void setD_es0017(D_ES0017 d_es0017) {
+		this.d_es0017=d_es0017;
+	}
+
+	@Override
+	public String toString() {
+		try {
+			return UtilTools.obj2Json(this,true);
+		} catch (IOException e) {
+			return "";
+		}
+	}
+}

+ 25 - 0
generated/com/miniframe/generate/comm/es/A_ES0017.java

@@ -0,0 +1,25 @@
+/**
+ * 无锡发动机
+ */
+package com.miniframe.generate.comm.es;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * 日志获取
+ */
+public class A_ES0017 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;
+	}
+}

+ 25 - 0
generated/com/miniframe/generate/comm/es/D_ES0017.java

@@ -0,0 +1,25 @@
+/**
+ * 无锡发动机
+ */
+package com.miniframe.generate.comm.es;
+import com.miniframe.core.BaseMapModel;
+import java.io.Serializable;
+/**
+ * 日志获取
+ */
+public class D_ES0017 extends BaseMapModel implements Serializable {
+	private static final long serialVersionUID = -1463838678425832212L;
+	String logs;//日志
+	/**
+	 *日志
+	 */
+	public void setLogs(String logs) {
+		this.logs=logs;
+	}
+	/**
+	 *日志
+	 */
+	public String getLogs() {
+		return this.logs;
+	}
+}

+ 99 - 0
generated/com/miniframe/generate/comm/httpesapater/ES0017Client.java

@@ -0,0 +1,99 @@
+package com.miniframe.generate.comm.httpesapater;
+
+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.es.D_ES0017;
+import com.miniframe.generate.comm.es.D_ESHEAD;
+
+import com.miniframe.generate.business.es.model.ES0017BaseModel;
+
+public class ES0017Client {
+
+	private static final Logger logger = LoggerFactory.getLogger(ES0017Client.class);
+	private MFHttpRespInfo respInfo;
+
+	public MFHttpRespInfo getRespInfo(){
+		return respInfo;
+	}
+
+	/**
+	 * 调用 [无锡发动机->日志获取((ES0017)]的通讯接口
+	 * @param model 接口模型
+	 * @param extMap 扩展输入
+	 * @param url 请求地址
+	 * @return model 接口模型
+	 * @throws Exception
+	 */
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public ES0017BaseModel execute(ES0017BaseModel model,final Map extMap,final String url) throws Exception {
+		this.executeToRespInfo(model,extMap,url);
+		return model;
+	}
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public ES0017BaseModel execute(ES0017BaseModel model,final Map extMap) throws Exception {
+		this.executeToRespInfo(model,extMap,null);
+		return model;
+	}
+
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public MFHttpRespInfo executeToRespInfo(ES0017BaseModel model,final Map extMap,final String url) throws Exception {
+		if (logger.isDebugEnabled()) {
+			logger.debug("execute(ES0017BaseModel) - start");
+		}
+
+		if(UtilTools.isNullOrBlank(model.getA_eshead().getTransCode())){
+			model.getA_eshead().setTransCode("ES0017");
+		}
+
+		Map inMap = new LinkedHashMap();
+		inMap.putAll(UtilTools.obj2Map(model.getA_eshead()));
+		inMap.putAll(UtilTools.obj2Map(model.getA_es0017()));
+		if(extMap!=null && extMap.size()>0){
+			inMap.putAll(extMap);
+		}
+
+		Transmitter httpesApater = (Transmitter) UtilTools.getBean("httpesApater");
+		MFHttpRespInfo respInfo;
+		if(UtilTools.isNotNullAndBlank(url)){
+			respInfo = httpesApater.doPostDataToRespInfo(inMap,url);
+		}else{
+			respInfo = httpesApater.doPostDataToRespInfo(inMap);
+		}
+
+		if(respInfo!=null) {
+			Map outMap=respInfo.getParamMap();
+			D_ESHEAD d_eshead =  UtilTools.map2Obj(outMap, D_ESHEAD.class);
+			D_ES0017 d_es0017 =  UtilTools.map2Obj(outMap, D_ES0017.class);
+			model.setD_eshead(d_eshead);
+			model.setD_es0017(d_es0017);
+
+
+		}
+
+		if (logger.isDebugEnabled()) {
+			logger.debug("execute(ES0017BaseModel) - end");
+		}
+
+        this.respInfo=respInfo;
+
+		return respInfo;
+	}
+
+
+
+	@SuppressWarnings({ "rawtypes", "unchecked" })
+	public ES0017BaseModel execute(ES0017BaseModel model) throws Exception {
+		return this.execute(model,null,null);
+	}
+
+
+}

+ 12 - 0
generated/validateform/a_es0017Form.xml

@@ -0,0 +1,12 @@
+<?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_es0017Form">
+<field property="pid" depends="required">
+    <arg0 key="a_es0017.pid"/>
+</field>
+</form>
+</formset>
+</form-validation>

+ 2 - 0
generated/validator/resources_a_es0017Form_validator.properties

@@ -0,0 +1,2 @@
+a_es0017.pid = \u9879\u76EEId
+a_es0017Form = true

+ 2 - 0
generated/validator/resources_a_es0017Form_validator_zh_CN.properties

@@ -0,0 +1,2 @@
+a_es0017.pid = \u9879\u76EEId
+a_es0017Form = true

+ 2 - 0
generated/validator/resources_d_es0017Form_validator.properties

@@ -0,0 +1,2 @@
+d_es0017.logs = \u65E5\u5FD7
+d_es0017Form = true

+ 2 - 0
generated/validator/resources_d_es0017Form_validator_zh_CN.properties

@@ -0,0 +1,2 @@
+d_es0017.logs = \u65E5\u5FD7
+d_es0017Form = true

+ 62 - 0
src/main/java/com/miniframe/bisiness/es/ES0017Service.java

@@ -0,0 +1,62 @@
+package com.miniframe.bisiness.es;
+
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Map;
+import com.miniframe.core.ExecProcessFlow;
+import com.miniframe.generate.business.es.model.ES0017BaseModel;
+import com.miniframe.tools.XIFileUtils;
+import es.service.LogService;
+
+/**
+ * 无锡发动机,“求解日志获取”逻辑处理(重新生成不覆盖)。
+ */
+public class ES0017Service extends ES0017BaseModel implements ExecProcessFlow {
+	
+	private static final long serialVersionUID = -7051358269847459502L;
+		
+	/**
+	 * 无锡发动机,“求解日志获取”业务核心处理
+ 	 */
+	public void transExecute() throws Exception {
+		String pid =this.getA_es0017().getPid();
+		String filePath = LogService.BPATH+"/"+pid+"/log.txt";
+
+		Path path = Paths.get(filePath);
+		if (Files.notExists(path)) {
+			this.getD_es0017().setLogs("");
+		}else{
+			String logs = XIFileUtils.readFileAsString(filePath);
+			this.getD_es0017().setLogs(logs);
+		}
+	}
+	
+	/**
+	 * 无锡发动机,“求解日志获取”业务前处理
+ 	 */
+	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();
+	}
+
+}

+ 44 - 0
src/test/java/com/miniframe/comm/httpesapater/ES0017Test.java

@@ -0,0 +1,44 @@
+package com.miniframe.comm.httpesapater;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.miniframe.comm.httpesapater.HttpesapaterUtil;
+import com.miniframe.generate.comm.es.A_ES0017;
+import com.miniframe.generate.comm.httpesapater.ES0017Client;
+import com.miniframe.generate.business.es.model.ES0017BaseModel;
+
+public class ES0017Test {
+
+	private static final Logger logger = LoggerFactory.getLogger(ES0017Test.class);
+
+	/**
+	 * 日志获取,获取报文体
+	 * @return
+	 */
+	public static A_ES0017 getA_es0017() {
+		A_ES0017 a_es0017 = new A_ES0017();
+
+		// ----------以下增加【日志获取】上行体赋值-------------
+
+
+
+		// ---------------------------------------------------
+		return a_es0017;
+	}
+	
+	/**
+	 * 运行客户端测试,日志获取
+	 * 
+	 * @param args
+	 * @throws Exception
+	 */
+	public static void main(String[] args) throws Exception {
+		ES0017BaseModel model = new ES0017BaseModel();
+		model.setA_eshead(HttpesapaterUtil.getA_eshead("ES0017"));
+		model.setA_es0017(ES0017Test.getA_es0017());
+		ES0017Client client = new ES0017Client();
+		logger.error("客户端发送前总线:\r\n"+model);
+		model = client.execute(model);
+		logger.error("客户端发送后总线:\r\n"+model);
+	}
+}

+ 2 - 0
系统设计/通信设计/通讯报文/es(无锡发动机)/报文体/ES0017_A(日志获取).csv

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

+ 2 - 0
系统设计/通信设计/通讯报文/es(无锡发动机)/报文体/ES0017_D(日志获取).csv

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