将仓储任务注册转移到统一上报类
This commit is contained in:
parent
52edde38c5
commit
d60a3685dd
|
|
@ -1,15 +1,21 @@
|
|||
package org.wcs.business.pub;
|
||||
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.alibaba.fastjson2.TypeReference;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.wcs.constant.ConstantData;
|
||||
import org.wcs.constant.enums.http.StockCallBackStatusEnum;
|
||||
import org.wcs.model.bo.tuple.Tuple2;
|
||||
import org.wcs.model.dto.client.StockLoginDataResp;
|
||||
import org.wcs.model.dto.client.StockLoginReq;
|
||||
import org.wcs.model.dto.client.StockTaskStatusUploadReq;
|
||||
import org.wcs.model.dto.client.UpperSystemDataResponse;
|
||||
import org.wcs.model.po.app.AppStockComposeTask;
|
||||
import org.wcs.plugin.webHttpClient.WebHttpClient;
|
||||
import org.wcs.plugin.webHttpClient.model.HttpRequest;
|
||||
import org.wcs.plugin.webHttpClient.model.HttpResponse;
|
||||
import org.wcs.utils.AppStringUtils;
|
||||
import org.wcs.utils.AppUUIDUtils;
|
||||
|
||||
/**
|
||||
* 标准上报上位系统类
|
||||
|
|
@ -19,6 +25,8 @@ public class ReportStandard {
|
|||
|
||||
// 仓库任务上报状态地址键,用任务来源拼接此字符串查找上位系统地址
|
||||
private static final String stockTaskCallBackAddressKey = "_STOCK_TASK_STATUS_CALLBACK";
|
||||
// 仓库任务申请地址键,用任务点绑定的系统拼接此字符串查找上位系统地址
|
||||
private static final String stockLoginRequestAddressKey = "_STOCK_LOGIN_REQ";
|
||||
|
||||
/**
|
||||
* 上报仓库任务状态
|
||||
|
|
@ -75,10 +83,80 @@ public class ReportStandard {
|
|||
errText += httpResponse.getException().getMessage();
|
||||
}
|
||||
return new Tuple2<>(errText, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 仓库任务申请
|
||||
* @param sysName 系统名称
|
||||
* @param vehicleNo 车辆编号
|
||||
* @param origin 源点
|
||||
* @return <错误信息,响应数据 >
|
||||
*/
|
||||
public static Tuple2<String, StockLoginDataResp> stockLoginRequest(String sysName, String vehicleNo, String origin) {
|
||||
return stockLoginRequest(sysName, vehicleNo, origin, 0, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 仓库任务申请
|
||||
* @param sysName 系统名称
|
||||
* @param vehicleNo 车辆编号
|
||||
* @param origin 源点
|
||||
* @param size 尺寸
|
||||
* @param weight 重量
|
||||
* @return <错误信息,响应数据 >
|
||||
*/
|
||||
public static Tuple2<String, StockLoginDataResp> stockLoginRequest(String sysName, String vehicleNo, String origin, Integer size, Integer weight) {
|
||||
return stockLoginRequest(sysName, vehicleNo, origin, size, weight, 0, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 仓库任务申请
|
||||
* @param sysName 系统名称
|
||||
* @param vehicleNo 车辆编号
|
||||
* @param origin 源点
|
||||
* @param size 尺寸
|
||||
* @param weight 重量
|
||||
* @param length 长度
|
||||
* @param width 宽度
|
||||
* @param height 高度
|
||||
* @return <错误信息,响应数据 >
|
||||
*/
|
||||
public static Tuple2<String, StockLoginDataResp> stockLoginRequest(String sysName, String vehicleNo, String origin, Integer size, Integer weight, Integer length, Integer width, Integer height) {
|
||||
// 请求上位系统
|
||||
StockLoginReq stockLoginReq = new StockLoginReq();
|
||||
stockLoginReq.setRequestId(AppUUIDUtils.getNewUUID());
|
||||
stockLoginReq.setVehicleNo(vehicleNo);
|
||||
stockLoginReq.setLocation(origin);
|
||||
stockLoginReq.setSize(size);
|
||||
stockLoginReq.setLength(length);
|
||||
stockLoginReq.setWidth(width);
|
||||
stockLoginReq.setHeight(height);
|
||||
stockLoginReq.setWeight(weight);
|
||||
HttpRequest httpRequest = HttpRequest.buildStart()
|
||||
.post()
|
||||
.setAddressKey(sysName + stockLoginRequestAddressKey)
|
||||
.setBody(AppStringUtils.objectToString(stockLoginReq))
|
||||
.buildEnd();
|
||||
HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest);
|
||||
if(!httpResponse.isSuccess()) {
|
||||
log.info("点位:{} 申请仓储任务失败,异常信息:{}", origin, httpResponse.getException().toString());
|
||||
return new Tuple2<>("请求服务器失败", null);
|
||||
}
|
||||
String responseText = httpResponse.getResponseText();
|
||||
UpperSystemDataResponse<StockLoginDataResp> upperSystemDataResponse = JSONObject.parseObject(responseText, new TypeReference<>(){});
|
||||
if(upperSystemDataResponse == null) {
|
||||
log.info("点位:{} 申请仓储任务失败,返回的数据无法解析,返回信息:{}", origin, responseText);
|
||||
return new Tuple2<>("请求返回的任务数据无法解析", null);
|
||||
}
|
||||
if(!upperSystemDataResponse.isOk()) {
|
||||
log.info("点位:{} 申请仓储任务失败,上位返回信息:{}", origin, upperSystemDataResponse.getMessage());
|
||||
return new Tuple2<>(upperSystemDataResponse.getMessage(), null);
|
||||
}
|
||||
log.info("点位:{} 申请仓储任务成功,信息:{}", origin, upperSystemDataResponse.getMessage());
|
||||
return new Tuple2<>(null, upperSystemDataResponse.getReturnData());
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.wcs.annotation.ScanMethodTag;
|
||||
import org.wcs.business.pub.ReportStandard;
|
||||
import org.wcs.business.stock.intf.IScanMethod;
|
||||
import org.wcs.constant.ConstantData;
|
||||
import org.wcs.constant.enums.common.TrueOrFalseEnum;
|
||||
|
|
@ -16,6 +17,7 @@ import org.wcs.constant.enums.database.StockComposeTaskTypeEnum;
|
|||
import org.wcs.helper.PlcTaskIdHelper;
|
||||
import org.wcs.mapper.intf.AppStackerLocationService;
|
||||
import org.wcs.mapper.intf.AppStockComposeTaskService;
|
||||
import org.wcs.model.bo.tuple.Tuple2;
|
||||
import org.wcs.model.dto.client.StockLoginDataResp;
|
||||
import org.wcs.model.dto.client.StockLoginReq;
|
||||
import org.wcs.model.dto.client.UpperSystemDataResponse;
|
||||
|
|
@ -94,43 +96,18 @@ public class ScanMethod implements IScanMethod {
|
|||
writeSimpleScanTask(stockScan, (short)1);
|
||||
return;
|
||||
}
|
||||
// 请求上位系统
|
||||
StockLoginReq stockLoginReq = new StockLoginReq();
|
||||
stockLoginReq.setRequestId(AppUUIDUtils.getNewUUID());
|
||||
stockLoginReq.setVehicleNo(scanInfo.getVehicleNo());
|
||||
stockLoginReq.setLocation(stockScan.getScanId());
|
||||
stockLoginReq.setSize(Integer.valueOf(scanInfo.getVehicleSize() == null ? 0 : scanInfo.getVehicleSize()));
|
||||
stockLoginReq.setLength(scanInfo.getLength() == null ? 0 : scanInfo.getLength());
|
||||
stockLoginReq.setWidth(scanInfo.getWidth() == null ? 0 : scanInfo.getWidth());
|
||||
stockLoginReq.setHeight(scanInfo.getHeight() == null ? 0 : scanInfo.getHeight());
|
||||
stockLoginReq.setWeight(scanInfo.getWeight() == null ? 0 : scanInfo.getWeight());
|
||||
HttpRequest httpRequest = HttpRequest.buildStart()
|
||||
.post()
|
||||
.setAddressKey(stockScan.getParam1() + "_LOGIN_STACKER")
|
||||
.setBody(AppStringUtils.objectToString(stockLoginReq))
|
||||
.buildEnd();
|
||||
HttpResponse httpResponse = WebHttpClient.httpRequest(httpRequest);
|
||||
if(!httpResponse.isSuccess()) {
|
||||
log.info("扫码:{} 申请堆垛机任务失败,异常信息:{}", stockScan.getScanId(), httpResponse.getException().toString());
|
||||
// 请求上位系统获取任务
|
||||
Tuple2<String, StockLoginDataResp> stringStockLoginDataResp = ReportStandard.stockLoginRequest(stockScan.getParam1(), code, stockScan.getScanId(), Integer.valueOf(scanInfo.getVehicleSize()), scanInfo.getWeight(), scanInfo.getLength(), scanInfo.getWidth(), scanInfo.getHeight());
|
||||
if(AppStringUtils.isNotEmpty(stringStockLoginDataResp.getItem1()) || stringStockLoginDataResp.getItem2() == null) {
|
||||
// 请求失败
|
||||
log.info("扫码:{} 申请堆垛机任务失败,异常信息:{}", stockScan.getScanId(), stringStockLoginDataResp.getItem1());
|
||||
writeSimpleScanTask(stockScan, (short)2);
|
||||
return;
|
||||
}
|
||||
String responseText = httpResponse.getResponseText();
|
||||
UpperSystemDataResponse<StockLoginDataResp> upperSystemDataResponse = JSONObject.parseObject(responseText, new TypeReference<>(){});
|
||||
if(upperSystemDataResponse == null) {
|
||||
log.info("扫码:{} 申请堆垛机任务失败,返回的数据无法解析,返回信息:{}", stockScan.getScanId(), responseText);
|
||||
writeSimpleScanTask(stockScan, (short)2);
|
||||
return;
|
||||
}
|
||||
if(!upperSystemDataResponse.isOk()) {
|
||||
log.info("扫码:{} 申请堆垛机任务失败,返回信息:{}", stockScan.getScanId(), upperSystemDataResponse.getMessage());
|
||||
writeSimpleScanTask(stockScan, (short)2);
|
||||
return;
|
||||
}
|
||||
log.info("扫码:{} 申请堆垛机任务成功,信息:{}", stockScan.getScanId(), upperSystemDataResponse.getMessage());
|
||||
log.info("扫码:{} 申请堆垛机任务成功", stockScan.getScanId());
|
||||
writeSimpleScanTask(stockScan, (short)1);
|
||||
// 生成任务
|
||||
StockLoginDataResp returnData = upperSystemDataResponse.getReturnData();
|
||||
StockLoginDataResp returnData = stringStockLoginDataResp.getItem2();
|
||||
if(returnData == null) {
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user