Commit 74c62fa2 LN

API001,API002,API010 接口ngmsg修改

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