Commit 74c62fa2 LN

API001,API002,API010 接口ngmsg修改

1 个父辈 aa4fe19d
......@@ -346,12 +346,13 @@ public class LiteOrderCache {
//先改为单盘上传
List<DataLog> dataLogList = dataLogManager.findByQuery(new Query(Criteria.where("subSourceId").in(itemIdList)));
if (dataLogList != null && !dataLogList.isEmpty()) {
boolean isSuccess = MicronApi.Api007(order.getOrderNo(), task.getLocInfo(), dataLogList);
String msg = MicronApi.Api007(order.getOrderNo(), task.getLocInfo(), dataLogList);
for (LiteOrderItem item : items) {
if (itemIdList.contains(item.getId())) {
if (isSuccess) {
if (ObjectUtil.isEmpty(msg)) {
item.setStatus(OrderItemStatus.notify_success);
} else {
item.setExecutFailReason(msg);
item.setStatus(OrderItemStatus.notify_fail);
}
}
......@@ -1175,6 +1176,9 @@ public class LiteOrderCache {
outReelCount += 1;
log.info("dispatchCheckOut 出库单[" + order.getOrderNo() + "] operatetionId [" + order.getOperationId() + "] ,pn[" + orderItem.getPn() + "] ,RI[" + ri + "] 验证成功,开始出库,累计出库盘数=" + taskReelCount);
} else {
if(trackStatus!=null){
selItem.setExecutFailReason(trackStatus.getDescription());
}
selItem.setStatus(OrderItemStatus.executFail);
log.info("dispatchCheckOut 出库单[" + order.getOrderNo() + "] operatetionId [" + order.getOperationId() + "] ,pn[" + orderItem.getPn() + "] ,RI[" + ri + "] 验证失败,更改状态=executFail");
}
......
......@@ -88,6 +88,7 @@ public class MicronApi {
public static Barcode API001(String operationId,String rfid, Barcode barcode) throws ApiException {
String url = config.getUrl(config.api_name_001);
String errorMsg="";
if (ObjectUtil.isEmpty(url)) {
return barcode;
}
......@@ -119,6 +120,7 @@ public class MicronApi {
String paramStr = JsonUtil.toJsonStr(paramsMap);
log.info("调用MES接口 API001: url=" + url + ",body=" + paramStr + "");
MicronResult result = HttpHelper.postMicronJson(url, paramsMap);
// "serialNum": <SerialNum>,
// "partNumber": <PartNumber>,
......@@ -140,6 +142,7 @@ public class MicronApi {
// "xrayReq": false,
// "transactionId": "833ec781-1eba-4860-bb91-f667cd89afd4",
// "status": "Success"
errorMsg=getDErrorMsg(result);
if (result.isOk() && result.statusIsSuccess()) {
String partNumber = result.getResult("partNumber");
String serialNumber = result.getResult("serialNumber");
......@@ -184,10 +187,14 @@ public class MicronApi {
// }
} else {
String errmsg=result.getResult("description");
if(ObjectUtil.isEmpty(errmsg)){
errmsg=errorMsg;
}
Integer error=result.getErrorValue("error");
String message=result.getErrorValue("message");
loadingUtil.AddErrorItem(rfid, barcode,error,message);
log.info("API001 ,验证失败,获取数据失败");
// String message=result.getErrorValue("message");
loadingUtil.AddErrorItem(rfid, barcode,error,errmsg);
log.info("API001 ,验证失败,获取数据失败:"+errmsg);
throw new ApiException("smfcore.api.fail", "{0} Failed to get data", new String[]{"API001"});
}
......@@ -201,6 +208,38 @@ public class MicronApi {
return barcode;
}
private static String getDErrorMsg(MicronResult result) throws ApiException {
try {
// "error": <ErrCode>,
// "message": <ErrMessage>,
// "detail": <ErrDetail>
String errMsg = result.getResult("message", false);
if (ObjectUtil.isEmpty(errMsg)) {
errMsg = "";
} else {
errMsg = "message:" + errMsg;
}
String errCode = result.getResult("error", false);
if (ObjectUtil.isEmpty(errCode)) {
errCode = "";
} else {
errCode = "error:" + errCode;
}
String detail = result.getResult("detail", false);
if (ObjectUtil.isEmpty(detail)) {
detail = "";
} else {
detail = "detail:" + detail;
}
return errCode + ";" + errMsg + ";" + detail;
} catch (Exception exception) {
log.error("出错:" + exception);
return "";
}
}
public static Map<String,String> API002(String rfid, String operationId, List<StoragePos> storagePos) {
......@@ -274,12 +313,12 @@ public class MicronApi {
String paramStr = JsonUtil.toJsonStr(paramsMap);
log.info("调用MES接口 API002: url=" + url + ",body=" + paramStr + "");
MicronResult result = HttpHelper.postMicronJson(url, paramsMap);
String errMsg=result.getResult("message",false);
if(ObjectUtil.isEmpty(errMsg)){
errMsg="";
}else{
errMsg="message:"+errMsg;
}
// "error": <ErrCode>,
// "message": <ErrMessage>,
// "detail": <ErrDetail>
String errMsg=getDErrorMsg(result);
resultMap.put("msg",errMsg);
if (result.isOk()&& result.statusIsSuccess()) {
List<Object> resultList = result.getResult("materialStatusList");
......@@ -291,8 +330,8 @@ public class MicronApi {
if(s.isSuccess()){
resultMap.put(s.getSerialNum(), "true");
}
else if(ObjectUtil.isNotEmpty(s.getMaterialStatus())){
resultMap.put(s.getSerialNum(),"materialStatus:"+s.getMaterialStatus());
else if(ObjectUtil.isNotEmpty(s.getDescription())){
resultMap.put(s.getSerialNum(),"description:"+s.getDescription());
}
else {
resultMap.put(s.getSerialNum(), errMsg);
......@@ -460,9 +499,9 @@ public class MicronApi {
}
public static boolean Api007(String operationId, String rfid, List<DataLog> dataLogList) {
public static String Api007(String operationId, String rfid, List<DataLog> dataLogList) {
String url = config.getUrl(config.api_name_007);
String errMsg="";
try {
String jobId=operationId+"_"+rfid;
Map<String, Object> paramMap = new HashMap<>();
......@@ -488,17 +527,23 @@ public class MicronApi {
String paramStr = JsonUtil.toJsonStr(paramMap);
log.info("调用MES接口 API007: url=" + url + ",body=" + paramStr + "");
MicronResult micronResult = HttpHelper.postMicronJson(url, paramMap);
errMsg=getDErrorMsg(micronResult);
if (micronResult.isOk()&& micronResult.statusIsSuccess()) {
return true;
}else{
return "";
}
else if(ObjectUtil.isNotEmpty(errMsg)){
return errMsg;
}
else{
log.info("API007 ,接口通信失败");
throw new ApiException("smfcore.api.fail", "{0} Failed to get data", new String[]{"API007"});
}
} catch (ApiException e) {
log.error(url + "出错", e);
return e.getMessage();
}
return false;
}
public static boolean Api008(String serialNum, int qty, int newQty)throws ApiException {
......@@ -548,7 +593,7 @@ public class MicronApi {
if(Debug){
for (Barcode barcode:
barcodeList) {
resultMap.put(barcode.getBarcode(),new MaterialStatus(barcode.getBarcode(),barcode.getPartNumber(),"","",true));
resultMap.put(barcode.getBarcode(),new MaterialStatus(barcode.getBarcode(),barcode.getPartNumber(),"","","",true));
}
}
......@@ -621,7 +666,7 @@ public class MicronApi {
MicronResult micronResult = HttpHelper.postMicronJson(url, paramMap);
// JSONObject jsonObject = JSONObject.parseObject(micronResult.getResponseData());
// String trackStatus = jsonObject.getString("trackStatus");
String errMsg=getDErrorMsg(micronResult);
if (micronResult.isOk() ) {
List<Object> objects = micronResult.getResult("trackStatus",false);
for (Object obj :
......@@ -629,12 +674,25 @@ public class MicronApi {
TrackStatus s= JsonUtil.toObj(JsonUtil.toJsonStr( obj) ,TrackStatus.class);
statusList.add(s);
}
if(statusList==null||statusList.size()<=0){
log.info("API010 ,接口通信失败");
throw new ApiException("smfcore.api.fail", "{0} Failed to get data", new String[]{"API010"});
// if(statusList==null||statusList.size()<=0){
//
// log.info("API010 ,接口通信失败");
// throw new ApiException("smfcore.api.fail", "{0} Failed to get data", new String[]{"API010"});
// }
}
if( ObjectUtil.isNotEmpty(errMsg)&&( statusList==null||statusList.size()<=0) ){
for (Material m :
materialList) {
TrackStatus trackStatus=new TrackStatus();
trackStatus.setSuccess(false);
trackStatus.setDescription(errMsg);
trackStatus.setMaterialStatus("Fail");
trackStatus.setPartNumber(m.getPartNumber());
trackStatus.setSerialNum(m.getSerialNum());
statusList.add(trackStatus);
}
}else{
}
else{
log.info("API010 ,接口通信失败");
throw new ApiException("smfcore.api.fail", "{0} Failed to get data", new String[]{"API010"});
}
......
......@@ -15,6 +15,7 @@ public class MaterialStatus implements Serializable {
private String partNumber;
private String materialStatus;
private String linePrepOrderId;
private String description;
private boolean success=false;
......
......@@ -432,10 +432,11 @@ private IStoragePosManager storagePosManager;
if (dataLogList != null && !dataLogList.isEmpty()) {
log.info("retry: [" + order.getOrderNo() + "] [" + orderItem.getRi() + "] 重发API007 ");
boolean isSuccess = MicronApi.Api007(order.getOrderNo(), order.getId(), dataLogList);
if (isSuccess) {
String msg = MicronApi.Api007(order.getOrderNo(), order.getId(), dataLogList);
if (ObjectUtil.isEmpty(msg)) {
orderItem.setStatus(OrderItemStatus.notify_success);
} else {
orderItem.setExecutFailReason(msg);
orderItem.setStatus(OrderItemStatus.notify_fail);
canClose=false;
}
......
package com.neotel.smfcore.custom.micron1053.task;
import cn.hutool.core.util.ObjectUtil;
import com.mks.api.response.APIException;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.exception.ApiException;
......@@ -277,10 +278,11 @@ public class MicronPreTaskController {
if (dataLogList != null && !dataLogList.isEmpty()) {
log.info("retry: [" + order.getOrderNo() + "] [" + orderItem.getRi() + "] 重发API007 ");
boolean isSuccess = MicronApi.Api007(order.getOrderNo(), order.getId(), dataLogList);
if (isSuccess) {
String msg = MicronApi.Api007(order.getOrderNo(), order.getId(), dataLogList);
if (ObjectUtil.isEmpty(msg)) {
orderItem.setStatus(OrderItemStatus.notify_success);
} else {
orderItem.setExecutFailReason(msg);
orderItem.setStatus(OrderItemStatus.notify_fail);
canClose=false;
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!