修改远程调用方法;修改寻找库位逻辑
This commit is contained in:
parent
09043e2d51
commit
e2b5d35687
|
|
@ -16,6 +16,12 @@
|
||||||
</description>
|
</description>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.httpcomponents</groupId>
|
||||||
|
<artifactId>httpclient</artifactId>
|
||||||
|
<version>4.5.13</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- Spring框架基本的核心工具 -->
|
<!-- Spring框架基本的核心工具 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
||||||
|
|
@ -9,14 +9,29 @@ import java.net.ConnectException;
|
||||||
import java.net.SocketTimeoutException;
|
import java.net.SocketTimeoutException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.net.URLConnection;
|
import java.net.URLConnection;
|
||||||
|
import java.nio.charset.Charset;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.security.cert.X509Certificate;
|
import java.security.cert.X509Certificate;
|
||||||
|
import java.util.Base64;
|
||||||
|
import java.util.Map;
|
||||||
import javax.net.ssl.HostnameVerifier;
|
import javax.net.ssl.HostnameVerifier;
|
||||||
import javax.net.ssl.HttpsURLConnection;
|
import javax.net.ssl.HttpsURLConnection;
|
||||||
import javax.net.ssl.SSLContext;
|
import javax.net.ssl.SSLContext;
|
||||||
import javax.net.ssl.SSLSession;
|
import javax.net.ssl.SSLSession;
|
||||||
import javax.net.ssl.TrustManager;
|
import javax.net.ssl.TrustManager;
|
||||||
import javax.net.ssl.X509TrustManager;
|
import javax.net.ssl.X509TrustManager;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import org.apache.http.HttpEntity;
|
||||||
|
import org.apache.http.ParseException;
|
||||||
|
import org.apache.http.client.config.RequestConfig;
|
||||||
|
import org.apache.http.client.methods.CloseableHttpResponse;
|
||||||
|
import org.apache.http.client.methods.HttpGet;
|
||||||
|
import org.apache.http.client.methods.HttpPost;
|
||||||
|
import org.apache.http.entity.StringEntity;
|
||||||
|
import org.apache.http.impl.client.CloseableHttpClient;
|
||||||
|
import org.apache.http.impl.client.HttpClients;
|
||||||
|
import org.apache.http.util.EntityUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import com.ruoyi.common.constant.Constants;
|
import com.ruoyi.common.constant.Constants;
|
||||||
|
|
@ -271,4 +286,204 @@ public class HttpUtils
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取请求的ip地址
|
||||||
|
* @param request 请求
|
||||||
|
* @return ip地址
|
||||||
|
*/
|
||||||
|
public static String getIpAddr(HttpServletRequest request) {
|
||||||
|
String ip = request.getHeader("x-forwarded-for");
|
||||||
|
if (ip == null || ip.isEmpty() || "unknown".equalsIgnoreCase(ip)) {
|
||||||
|
ip = request.getHeader("Proxy-Client-IP");
|
||||||
|
}
|
||||||
|
if (ip == null || ip.isEmpty() || "unknown".equalsIgnoreCase(ip)) {
|
||||||
|
ip = request.getHeader("WL-Proxy-Client-IP");
|
||||||
|
}
|
||||||
|
if (ip == null || ip.isEmpty() || "unknown".equalsIgnoreCase(ip)) {
|
||||||
|
ip = request.getRemoteAddr();
|
||||||
|
}
|
||||||
|
if (ip != null && ip.indexOf(",") > 0) {
|
||||||
|
String[] parts = ip.split(",");
|
||||||
|
for (String part : parts) {
|
||||||
|
if (!part.isEmpty() && !"unknown".equalsIgnoreCase(part)) {
|
||||||
|
ip = part.trim();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ("0:0:0:0:0:0:0:1".equals(ip)) {
|
||||||
|
ip = "127.0.0.1";
|
||||||
|
}
|
||||||
|
return ip;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送HttpGet请求(无参数)
|
||||||
|
* @param url 地址
|
||||||
|
* @return 响应结果
|
||||||
|
*/
|
||||||
|
public static String sendHttpGet(String url) {
|
||||||
|
String result = "";
|
||||||
|
CloseableHttpClient httpClient = null;
|
||||||
|
CloseableHttpResponse response = null;
|
||||||
|
try {
|
||||||
|
httpClient = HttpClients.createDefault();
|
||||||
|
HttpGet httpget = new HttpGet(url);
|
||||||
|
response = httpClient.execute(httpget);
|
||||||
|
HttpEntity entity = null;
|
||||||
|
if (response != null) {
|
||||||
|
entity = response.getEntity();
|
||||||
|
}
|
||||||
|
if (entity != null) {
|
||||||
|
result = EntityUtils.toString(entity);
|
||||||
|
}
|
||||||
|
} catch (ParseException | IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if(response!=null){ try{response.close();}catch (IOException e){ e.printStackTrace();} }
|
||||||
|
if(httpClient!=null){ try{httpClient.close();}catch(IOException e){ e.printStackTrace();} }
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送HttpGet请求(带参数)
|
||||||
|
* @param url 地址
|
||||||
|
* @param header 参数放在请求头里面
|
||||||
|
* @return 响应结果
|
||||||
|
*/
|
||||||
|
public static String sendHttpGet(String url, Map<String, String> header) {
|
||||||
|
if (header == null) {// 没有参数
|
||||||
|
return sendHttpGet(url);
|
||||||
|
}
|
||||||
|
String result = "";
|
||||||
|
CloseableHttpClient httpClient = null;
|
||||||
|
CloseableHttpResponse response = null;
|
||||||
|
try {
|
||||||
|
httpClient = HttpClients.createDefault();
|
||||||
|
HttpGet httpGet = new HttpGet(url);
|
||||||
|
// 设置超时时间
|
||||||
|
RequestConfig requestConfig = RequestConfig.custom()
|
||||||
|
.setConnectTimeout(5000)
|
||||||
|
.setConnectionRequestTimeout(1000)
|
||||||
|
.setSocketTimeout(5000).build();
|
||||||
|
httpGet.setConfig(requestConfig);
|
||||||
|
for(Map.Entry<String, String> entry : header.entrySet()){
|
||||||
|
|
||||||
|
httpGet.setHeader(entry.getKey(), entry.getValue());
|
||||||
|
}
|
||||||
|
response = httpClient.execute(httpGet);
|
||||||
|
HttpEntity entity = null;
|
||||||
|
if (response != null) {
|
||||||
|
entity = response.getEntity();
|
||||||
|
}
|
||||||
|
if (entity != null) {
|
||||||
|
result = EntityUtils.toString(entity);
|
||||||
|
}
|
||||||
|
} catch (ParseException | IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if(response!=null){ try{response.close();}catch (IOException e){ e.printStackTrace();} }
|
||||||
|
if(httpClient!=null){ try{httpClient.close();}catch(IOException e){ e.printStackTrace();} }
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送httpPost请求(不需要认证信息)
|
||||||
|
* @param url 目的地址
|
||||||
|
* @param param 参数
|
||||||
|
* @return 请求结果
|
||||||
|
*/
|
||||||
|
public static String sendHttpPostWithoutToken(String url,String param) {
|
||||||
|
return sendHttpPost(url, param, null, null, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送httpPost请求
|
||||||
|
* @param url 目的地址
|
||||||
|
* @param param 参数
|
||||||
|
* @param token 认证信息
|
||||||
|
* @param userName 登录账户
|
||||||
|
* @param password 登录密码
|
||||||
|
* @return 请求结果
|
||||||
|
*/
|
||||||
|
public static String sendHttpPost(String url, String param, String token, String userName, String password) {
|
||||||
|
String data="";
|
||||||
|
CloseableHttpClient httpClient = null;
|
||||||
|
CloseableHttpResponse response = null;
|
||||||
|
try {
|
||||||
|
httpClient = HttpClients.createDefault();
|
||||||
|
HttpPost httppost = new HttpPost(url);
|
||||||
|
RequestConfig requestConfig = RequestConfig.custom()
|
||||||
|
.setConnectTimeout(5000)
|
||||||
|
.setConnectionRequestTimeout(1000)
|
||||||
|
.setSocketTimeout(5000).build();
|
||||||
|
httppost.setConfig(requestConfig);
|
||||||
|
httppost.setHeader("Content-Type", "application/json;charset=UTF-8");
|
||||||
|
if (org.apache.commons.lang3.StringUtils.isEmpty(token) && org.apache.commons.lang3.StringUtils.isNotEmpty(userName) && org.apache.commons.lang3.StringUtils.isNotEmpty(password)) {
|
||||||
|
httppost.setHeader("Authorization", "Basic " + Base64.getUrlEncoder().encodeToString((userName + ":" + password).getBytes()));
|
||||||
|
} else {
|
||||||
|
httppost.setHeader("Authorization", "Bearer " + token);
|
||||||
|
}
|
||||||
|
StringEntity se = new StringEntity(param, Charset.forName("UTF-8"));
|
||||||
|
se.setContentType("text/json");
|
||||||
|
se.setContentEncoding("UTF-8");
|
||||||
|
httppost.setEntity(se);
|
||||||
|
response = httpClient.execute(httppost);
|
||||||
|
data = EntityUtils.toString(response.getEntity(), "utf-8");
|
||||||
|
EntityUtils.consume(response.getEntity());
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if(response!=null){ try{response.close();}catch (IOException e){ e.printStackTrace();} }
|
||||||
|
if(httpClient!=null){ try{httpClient.close();}catch(IOException e){ e.printStackTrace();} }
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送httpPost请求
|
||||||
|
* @param url 目的地址
|
||||||
|
* @param param 参数
|
||||||
|
* @param token 认证信息
|
||||||
|
* @param userName 登录账户
|
||||||
|
* @param password 登录密码
|
||||||
|
* @return 请求结果
|
||||||
|
*/
|
||||||
|
public static String sendHttpPostForm(String url, String param, String token, String userName, String password) {
|
||||||
|
|
||||||
|
String data="";
|
||||||
|
CloseableHttpClient httpClient = null;
|
||||||
|
CloseableHttpResponse response = null;
|
||||||
|
try {
|
||||||
|
httpClient = HttpClients.createDefault();
|
||||||
|
HttpPost httppost = new HttpPost(url);
|
||||||
|
RequestConfig requestConfig = RequestConfig.custom()
|
||||||
|
.setConnectTimeout(5000)
|
||||||
|
.setConnectionRequestTimeout(1000)
|
||||||
|
.setSocketTimeout(5000).build();
|
||||||
|
httppost.setConfig(requestConfig);
|
||||||
|
httppost.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
|
||||||
|
if (org.apache.commons.lang3.StringUtils.isEmpty(token) && org.apache.commons.lang3.StringUtils.isNotEmpty(userName) && org.apache.commons.lang3.StringUtils.isNotEmpty(password)) {
|
||||||
|
httppost.setHeader("Authorization", "Basic " + Base64.getUrlEncoder().encodeToString((userName + ":" + password).getBytes()));
|
||||||
|
} else {
|
||||||
|
httppost.setHeader("Authorization", "Bearer " + token);
|
||||||
|
}
|
||||||
|
StringEntity se = new StringEntity(param, Charset.forName("UTF-8"));
|
||||||
|
se.setContentType("application/x-www-form-urlencoded");
|
||||||
|
se.setContentEncoding("UTF-8");
|
||||||
|
httppost.setEntity(se);
|
||||||
|
response = httpClient.execute(httppost);
|
||||||
|
data = EntityUtils.toString(response.getEntity(), "utf-8");
|
||||||
|
EntityUtils.consume(response.getEntity());
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if(response!=null){ try{response.close();}catch (IOException e){ e.printStackTrace();} }
|
||||||
|
if(httpClient!=null){ try{httpClient.close();}catch(IOException e){ e.printStackTrace();} }
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ public class TaskExecutor {
|
||||||
WcsStackerTaskReq wcsStackerTaskReq = getWcsStackerTaskRequest(appWcsTask);
|
WcsStackerTaskReq wcsStackerTaskReq = getWcsStackerTaskRequest(appWcsTask);
|
||||||
// 发送http请求---请求5次
|
// 发送http请求---请求5次
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
WcsCommonRes wcsCommonRes = JSON.parseObject(HttpUtils.sendPost(url, JSON.toJSONString(wcsStackerTaskReq)), WcsCommonRes.class);
|
WcsCommonRes wcsCommonRes = JSON.parseObject(HttpUtils.sendHttpPostWithoutToken(url, JSON.toJSONString(wcsStackerTaskReq)), WcsCommonRes.class);
|
||||||
if (wcsCommonRes == null) {
|
if (wcsCommonRes == null) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
@ -249,7 +249,7 @@ public class TaskExecutor {
|
||||||
if (StringUtils.isEmpty(url)) {
|
if (StringUtils.isEmpty(url)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
PmsCommonRes pmsCommonRes = JSON.parseObject(HttpUtils.sendPost(url, JSON.toJSONString(pmsInFeedBack)), PmsCommonRes.class);
|
PmsCommonRes pmsCommonRes = JSON.parseObject(HttpUtils.sendHttpPostWithoutToken(url, JSON.toJSONString(pmsInFeedBack)), PmsCommonRes.class);
|
||||||
logger.info("pms入库反馈请求信息:{},结果:{}", JSON.toJSONString(pmsInFeedBack), JSON.toJSONString(pmsCommonRes));
|
logger.info("pms入库反馈请求信息:{},结果:{}", JSON.toJSONString(pmsInFeedBack), JSON.toJSONString(pmsCommonRes));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -314,7 +314,7 @@ public class TaskExecutor {
|
||||||
if (StringUtils.isEmpty(url)) {
|
if (StringUtils.isEmpty(url)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
PmsCommonRes pmsCommonRes = JSON.parseObject(HttpUtils.sendPost(url, JSON.toJSONString(recordList)), PmsCommonRes.class);
|
PmsCommonRes pmsCommonRes = JSON.parseObject(HttpUtils.sendHttpPostWithoutToken(url, JSON.toJSONString(recordList)), PmsCommonRes.class);
|
||||||
logger.info("pms出库反馈请求信息:{},结果:{}", JSON.toJSONString(recordList), JSON.toJSONString(pmsCommonRes));
|
logger.info("pms出库反馈请求信息:{},结果:{}", JSON.toJSONString(recordList), JSON.toJSONString(pmsCommonRes));
|
||||||
}
|
}
|
||||||
AppStock appStockCheck = new AppStock();
|
AppStock appStockCheck = new AppStock();
|
||||||
|
|
|
||||||
|
|
@ -73,8 +73,8 @@
|
||||||
and location_id NOT IN ( SELECT DISTINCT ( t.location_id ) FROM app_stock t UNION SELECT DISTINCT ( p.location_id ) FROM app_task p where p.location_id is not null)
|
and location_id NOT IN ( SELECT DISTINCT ( t.location_id ) FROM app_stock t UNION SELECT DISTINCT ( p.location_id ) FROM app_task p where p.location_id is not null)
|
||||||
ORDER BY
|
ORDER BY
|
||||||
w_depth DESC,
|
w_depth DESC,
|
||||||
w_col asc ,
|
w_layer ASC,
|
||||||
w_layer ASC
|
w_col asc
|
||||||
</select>
|
</select>
|
||||||
<select id="countAvailableStock" resultType="java.util.Map">
|
<select id="countAvailableStock" resultType="java.util.Map">
|
||||||
SELECT
|
SELECT
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user