代码更新

This commit is contained in:
ludj
2023-03-17 16:46:15 +08:00
parent ba8baee6bb
commit 801162e0e4
9 changed files with 230 additions and 1269 deletions

View File

@@ -20,6 +20,15 @@
</properties>
<dependencies>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20131018</version>
</dependency>
<!-- 日志链路追踪 https://tlog.yomahub.com/pages/f62a84/#%E5%90%8C%E6%AD%A5%E6%97%A5%E5%BF%97-->
<dependency>
<groupId>com.yomahub</groupId>
@@ -140,19 +149,6 @@
<version>2.8.0</version>
</dependency>
<!-- 代码生成模块 -->
<dependency>
<groupId>org.nl</groupId>
<artifactId>nladmin-generator</artifactId>
<version>2.6</version>
<exclusions>
<exclusion>
<groupId>org.nl</groupId>
<artifactId>nladmin-common</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://www.jianshu.com/p/e40d111c7bfc?utm_source=oschina-app 热部署 https://zhuanlan.zhihu.com/p/63381268-->

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,191 @@
package org.nl.wms;
import com.alibaba.fastjson.JSONObject;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
* 后端调用第三方webservice接口
* @author zds 2018-12-27 16:33:50
*
*/
public class WebServiceUtil {
/**
*
* @param url 第三方系统提供webservice的接口url
* @param method 第三方系统提供webservice对应的方法名
* @param form 第三方系统提供webservice对应的方法请求参数
* @return 第三方系统返回的JSONObject调用结果
* @throws Exception 工具类一般不处理具体异常,抛出由调用方处理,否则容易形成黑箱
*/
public static String process(String url, String method, HashMap<String,String> form) throws Exception{
//构建返回值
JSONObject result = new JSONObject();
//第一步:创建服务地址
URL netUrl = new URL(url);
//第二步:打开一个通向服务地址的连接
HttpURLConnection connection = (HttpURLConnection) netUrl.openConnection();
//第三步:设置参数
connection.setRequestMethod("POST");
//设置超时时间
connection.setConnectTimeout(50000);
//3.2设置数据格式content-type
connection.setRequestProperty("content-type", "text/xml;charset=utf-8");
//3.3设置输入输出因为默认新创建的connection没有读写权限
connection.setDoInput(true);
connection.setDoOutput(true);
//第四步组织SOAP数据发送请求
String soapXML = getXML(form,method);
//将信息以流的方式发送出去
OutputStream os = connection.getOutputStream();
os.write(soapXML.getBytes());
//第五步:接收服务端响应,打印
int responseCode = connection.getResponseCode();
String ret="默认值";
if(200 == responseCode){//表示服务端响应成功
//获取当前连接请求返回的数据流
InputStream is = connection.getInputStream();
InputStreamReader isr = new InputStreamReader(is,"utf-8");
BufferedReader br = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
String temp = null;
while(null != (temp = br.readLine())){
sb.append(temp);
}
//打印结果
ret=sb.toString();
if(ret.startsWith("<?"))
ret = ret.replaceAll("\\<\\?.+\\?\\>", "<?xml version='1.0' encoding='UTF-8'?>");
else
ret = (new StringBuilder("<?xml version='1.0' encoding='UTF-8'?>")).append(ret).toString();
/* String now = xml2jsonString(ret);
System.out.println("打印返回结果转成jsonString-------------");
result =JSONObject.parseObject(now);*/
is.close();
isr.close();
br.close();
//关闭连接
connection.disconnect();
}
os.close();
return ret;
// return result;
}
/**
* 获得要发送的webservice的xml形式的参数
* @param form 查询条件
* @return
*/
private static String getXML(Map<String,String> form, String method){
StringBuffer sb = new StringBuffer();
sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?> ");
sb.append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:sap-com:document:sap:soap:functions:mc-style\">");
sb.append("<soapenv:Header/>");
sb.append("<soapenv:Body>");
sb.append("<urn:"+method+">");
if(method.contains("ZSd0002SendMatMd"))
sb.append("<In>");
// 设置请求参数
for(Iterator<String> it = form.keySet().iterator();it.hasNext();){
String key = it.next();
String value = form.get(key);
sb.append(" <"+key+">"+value+"</"+key+">");
}
if(method.contains("ZSd0002SendMatMd"))
sb.append("</In>");
sb.append("</urn:"+method+">");
sb.append("</soapenv:Body>");
sb.append("</soapenv:Envelope>");
System.out.println("getXML发送数据-----------------"+sb.toString());
return sb.toString();
}
/*
public static String xml2jsonString(String xml) throws Exception {
JSONObject xmlJSONObj = XML.toJSONObject(xml);
return xmlJSONObj.toString();
}*/
public static void main(String[] args) throws Exception {
/*String url = "http://192.168.0.82:8000/sap/bc/srt/rfc/sap/z_sd0002_send_mat_md/800/z_sd0002_send_mat_md/binding";
String method = "ZSd0002SendMatMd";
HashMap<String,String> form = new HashMap<String,String>();
form.put("MatnrFr", "24018347S");
form.put("MatnrTo", "24018347S");
//非必填字段
JSONObject ret = WebServiceUtil.process(url,method,form);
System.out.println("getXML返回数据-----------------"+ret.toString());
JSONObject Envelope = ret.optJSONObject("soap-env:Envelope");
JSONObject Body = Envelope.optJSONObject("soap-env:Body");
JSONObject ZfmGetSoResponse = Body.optJSONObject("n0:ZSd0002SendMatMdResponse");
JSONObject TZtsalesorder = ZfmGetSoResponse.optJSONObject("TZtsalesorder");
JSONArray item = TZtsalesorder.optJSONArray("item");
System.out.println("例子查询结果字段OResultmsg-----------------"+ZfmGetSoResponse.optString("OResultmsg"));
System.out.println("例子查询结果数组size-----------------"+item.size());*/
/* String url = "http://192.168.0.82:8000/sap/bc/srt/rfc/sap/zfg_ecc_to_zhwl/800/zfg_ecc_to_zhwl/binding";
String method="ZfmGetSo";
HashMap<String,String> form = new HashMap<String,String>();
form.put("IErdatFrm", "2019-05-01");
form.put("IErdatTo", "2019-05-08");
//非必填字段
form.put("IVbeln", "");
JSONObject ret = WebServiceUtil.process(url,method,form);
System.out.println("getXML发送数据-----------------"+ret.toString());
JSONObject Envelope = ret.optJSONObject("soap-env:Envelope");
JSONObject Body = Envelope.optJSONObject("soap-env:Body");
JSONObject ZfmGetSoResponse = Body.optJSONObject("n0:ZfmGetSoResponse");
JSONObject TZtsalesorder = ZfmGetSoResponse.optJSONObject("TZtsalesorder");
JSONArray item = TZtsalesorder.optJSONArray("item");
System.out.println("例子查询结果字段OResultmsg-----------------"+ZfmGetSoResponse.optString("OResultmsg"));
System.out.println("例子查询结果数组size-----------------"+item.size());*/
/* String url = "http://192.168.0.82:8000/sap/bc/srt/rfc/sap/zfg_ecc_to_zhwl/800/zfg_ecc_to_zhwl/binding";
String method = "ZfmGetDnZjwl";
HashMap<String,String> form = new HashMap<String,String>();
form.put("IErdatFrm", "2019-05-01");
form.put("IErdatTo", "2019-05-08");
//非必填字段
form.put("IVbeln", "");
//非必填字段
JSONObject ret = WebServiceUtil.process(url,method,form);
System.out.println("getXML发送数据-----------------"+ret.toString());
JSONObject Envelope = ret.optJSONObject("soap-env:Envelope");
JSONObject Body = Envelope.optJSONObject("soap-env:Body");
JSONObject ZfmGetDnZjwlResponse = Body.optJSONObject("n0:ZfmGetDnZjwlResponse");
JSONObject TZtdn = ZfmGetDnZjwlResponse.optJSONObject("TZtdn");
JSONArray item = TZtdn.optJSONArray("item");
System.out.println("例子查询结果字段OResultmsg-----------------"+ZfmGetDnZjwlResponse.optString("OResultmsg"));
System.out.println("例子查询结果数组size-----------------"+item.size());*/
}
}

View File

@@ -1,5 +1,5 @@
server:
port: 8011
port: 8099
#配置数据源
spring:
datasource:
@@ -55,7 +55,6 @@ spring:
multi-statement-alagvslow: true
redis:
#数据库索引
database: ${REDIS_DB:6}
host: ${REDIS_HOST:127.0.0.1}
#host: ${REDIS_HOST:localhost}

View File

@@ -158,6 +158,7 @@ https://juejin.cn/post/6844903775631572999
<!--生产环境:打印控制台和输出到文件-->
<springProfile name="prod">
<root level="warn">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="asyncFileAppender"/>
</root>
</springProfile>

View File

@@ -1,15 +0,0 @@
package org.nl;
/**
* 模拟从1001--1002的AGV搬运指令。比如从入库口---库内等
* 0、生成指令之前需要判断光电状态最大指令数等条件
* 1、定时器查询任务判断任务状态比如status=0这种。
* 2、根据起点找路由next,A-->B
* 3、更新任务状态下发给PLC、AGV
* 4、指令完成
* 4.1 PLC型号类型比如A task和B的task点位任务号相同相当于指令结束
* 4.2 AGV类型定时器查接口数据
*/
public class InstructCreate {
}

View File

@@ -1,14 +0,0 @@
package org.nl;
/**
* 模拟从1001-1002的AGV搬运任务生成如从入库口到库内
* 任务触发比如mode变为2
* 1、申请任务需要判断路由是否存在。
* 1.1、电器按钮mode=2,3,4代表任务类型申请空盘申请入库等
* 1.2、光电信号move:0,1 有货,无货等
* 2、相关接口
* 2.1 申请WMSWMS直接返回任务
* 2.2 申请WMS直接返回false或true,然后WMS通过定时器下发给ACS
*/
public class TaskCreate {
}

File diff suppressed because it is too large Load Diff