将仓储任务注册转移到统一上报类
This commit is contained in:
parent
52edde38c5
commit
d60a3685dd
|
|
@ -1,15 +1,21 @@
|
||||||
package org.wcs.business.pub;
|
package org.wcs.business.pub;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.alibaba.fastjson2.TypeReference;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.wcs.constant.ConstantData;
|
import org.wcs.constant.ConstantData;
|
||||||
import org.wcs.constant.enums.http.StockCallBackStatusEnum;
|
import org.wcs.constant.enums.http.StockCallBackStatusEnum;
|
||||||
import org.wcs.model.bo.tuple.Tuple2;
|
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.StockTaskStatusUploadReq;
|
||||||
|
import org.wcs.model.dto.client.UpperSystemDataResponse;
|
||||||
import org.wcs.model.po.app.AppStockComposeTask;
|
import org.wcs.model.po.app.AppStockComposeTask;
|
||||||
import org.wcs.plugin.webHttpClient.WebHttpClient;
|
import org.wcs.plugin.webHttpClient.WebHttpClient;
|
||||||
import org.wcs.plugin.webHttpClient.model.HttpRequest;
|
import org.wcs.plugin.webHttpClient.model.HttpRequest;
|
||||||
import org.wcs.plugin.webHttpClient.model.HttpResponse;
|
import org.wcs.plugin.webHttpClient.model.HttpResponse;
|
||||||
import org.wcs.utils.AppStringUtils;
|
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 stockTaskCallBackAddressKey = "_STOCK_TASK_STATUS_CALLBACK";
|
||||||
|
// 仓库任务申请地址键,用任务点绑定的系统拼接此字符串查找上位系统地址
|
||||||
|
private static final String stockLoginRequestAddressKey = "_STOCK_LOGIN_REQ";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 上报仓库任务状态
|
* 上报仓库任务状态
|
||||||
|
|
@ -75,10 +83,80 @@ public class ReportStandard {
|
||||||
errText += httpResponse.getException().getMessage();
|
errText += httpResponse.getException().getMessage();
|
||||||
}
|
}
|
||||||
return new Tuple2<>(errText, null);
|
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 lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.wcs.annotation.ScanMethodTag;
|
import org.wcs.annotation.ScanMethodTag;
|
||||||
|
import org.wcs.business.pub.ReportStandard;
|
||||||
import org.wcs.business.stock.intf.IScanMethod;
|
import org.wcs.business.stock.intf.IScanMethod;
|
||||||
import org.wcs.constant.ConstantData;
|
import org.wcs.constant.ConstantData;
|
||||||
import org.wcs.constant.enums.common.TrueOrFalseEnum;
|
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.helper.PlcTaskIdHelper;
|
||||||
import org.wcs.mapper.intf.AppStackerLocationService;
|
import org.wcs.mapper.intf.AppStackerLocationService;
|
||||||
import org.wcs.mapper.intf.AppStockComposeTaskService;
|
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.StockLoginDataResp;
|
||||||
import org.wcs.model.dto.client.StockLoginReq;
|
import org.wcs.model.dto.client.StockLoginReq;
|
||||||
import org.wcs.model.dto.client.UpperSystemDataResponse;
|
import org.wcs.model.dto.client.UpperSystemDataResponse;
|
||||||
|
|
@ -94,43 +96,18 @@ public class ScanMethod implements IScanMethod {
|
||||||
writeSimpleScanTask(stockScan, (short)1);
|
writeSimpleScanTask(stockScan, (short)1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 请求上位系统
|
// 请求上位系统获取任务
|
||||||
StockLoginReq stockLoginReq = new StockLoginReq();
|
Tuple2<String, StockLoginDataResp> stringStockLoginDataResp = ReportStandard.stockLoginRequest(stockScan.getParam1(), code, stockScan.getScanId(), Integer.valueOf(scanInfo.getVehicleSize()), scanInfo.getWeight(), scanInfo.getLength(), scanInfo.getWidth(), scanInfo.getHeight());
|
||||||
stockLoginReq.setRequestId(AppUUIDUtils.getNewUUID());
|
if(AppStringUtils.isNotEmpty(stringStockLoginDataResp.getItem1()) || stringStockLoginDataResp.getItem2() == null) {
|
||||||
stockLoginReq.setVehicleNo(scanInfo.getVehicleNo());
|
// 请求失败
|
||||||
stockLoginReq.setLocation(stockScan.getScanId());
|
log.info("扫码:{} 申请堆垛机任务失败,异常信息:{}", stockScan.getScanId(), stringStockLoginDataResp.getItem1());
|
||||||
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());
|
|
||||||
writeSimpleScanTask(stockScan, (short)2);
|
writeSimpleScanTask(stockScan, (short)2);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String responseText = httpResponse.getResponseText();
|
log.info("扫码:{} 申请堆垛机任务成功", stockScan.getScanId());
|
||||||
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());
|
|
||||||
writeSimpleScanTask(stockScan, (short)1);
|
writeSimpleScanTask(stockScan, (short)1);
|
||||||
// 生成任务
|
// 生成任务
|
||||||
StockLoginDataResp returnData = upperSystemDataResponse.getReturnData();
|
StockLoginDataResp returnData = stringStockLoginDataResp.getItem2();
|
||||||
if(returnData == null) {
|
if(returnData == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user