Commit 7f15d5b8 LN

api009解析失败

1 个父辈 5caa0c12
...@@ -1066,7 +1066,7 @@ public class LiteOrderCache { ...@@ -1066,7 +1066,7 @@ public class LiteOrderCache {
for (LiteOrderItem reelItem : for (LiteOrderItem reelItem :
item.getSelectItems()) { item.getSelectItems()) {
MaterialStatus s = apiResultMap.get(reelItem.getRi()); MaterialStatus s = apiResultMap.get(reelItem.getRi());
if (s.isSuccess()) { if (s!=null&& s.isAvailable()) {
reelItem.setStatus(OrderItemStatus.CheckOk); reelItem.setStatus(OrderItemStatus.CheckOk);
StoragePos pos = storagePosManager.getByBarcode(s.getSerialNum()); StoragePos pos = storagePosManager.getByBarcode(s.getSerialNum());
log.info("工单【" + orderNo + "】PN [" + item.getPn() + "] RI [" + item.getRi() + "] API009 验证成功,更改状态为 CheckOk ,锁定库位【" + pos.getPosName() + "】"); log.info("工单【" + orderNo + "】PN [" + item.getPn() + "] RI [" + item.getRi() + "] API009 验证成功,更改状态为 CheckOk ,锁定库位【" + pos.getPosName() + "】");
......
...@@ -659,14 +659,26 @@ public class MicronApi { ...@@ -659,14 +659,26 @@ public class MicronApi {
} }
public static Map<String ,MaterialStatus> Api009(String operationId,String linePrepOrderId, List<Barcode> barcodeList) { public static Map<String ,MaterialStatus> Api009(String operationId,String linePrepOrderId, List<Barcode> barcodeList) {
Map<String, MaterialStatus> resultMap = new HashMap<>(); Map<String, MaterialStatus> resultMap = new HashMap<>();
// 2024-08-21 11:42:15.449 INFO [HttpHelper.java:389] - Request to [http://istio-ingressgateway-istio-system.apps.ose-dev45.micron.com/material/status] response: code=200,responseContent={
// "TransactionId": "4ec847a2-1b32-49bb-b4c1-4d3fef72b7e9",
// "Success": true,
// "ErrorMessage": "",
// "results": [
// {
// "SerialNum": "P2UATRES030",
// "PartNumber": "510-500990E",
// "MaterialStatus": "Missing",
// "ReservedLinePrepOrderId": null
// }
// ]
// }
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,""));
} }
return resultMap; return resultMap;
} }
...@@ -695,32 +707,16 @@ public class MicronApi { ...@@ -695,32 +707,16 @@ public class MicronApi {
MicronResult micronResult = HttpHelper.postMicronJson(url, paramMap); MicronResult micronResult = HttpHelper.postMicronJson(url, paramMap);
String errMsg = getDErrorMsg(micronResult); String errMsg = getDErrorMsg(micronResult);
if (micronResult.isOk()) { if (micronResult.isOk()) {
List<Map<String, Object>> resultList = micronResult.getResult("results");
for (Map<String, Object> map :
// 200 - Success
// {
// "trasactionId": <TransactionId>,
// "tag":
// [
// <tagKey1> : <tagValue1>,
// <tagKey2> : <tagValue2>,
// ...
// ],
// "results": [
// "serialNum": <SerialNum>,
// "partNumber": <PartNumber>,
// "materialStatus": <MaterialStatus>,
// "linePrepOrderId": <LinePrepOrderId>|null
// ]
// }
List<Object> resultList = micronResult.getResult("results");
for (Object Obj :
resultList) { resultList) {
MaterialStatus s = JsonUtil.toObj(JsonUtil.toJsonStr(Obj), MaterialStatus.class); // Map<String,Object> map=JsonUtil.toMap(Obj);
if (ObjectUtil.isEmpty(s.getDescription())) { MaterialStatus s = new MaterialStatus("", "", "", "", false, "");
s.setDescription(errMsg); s.setSerialNum(micronResult.GetMapValue(map, "SerialNum"));
} s.setPartNumber(micronResult.GetMapValue(map, "PartNumber"));
s.setMaterialStatus(micronResult.GetMapValue(map, "MaterialStatus"));
s.setReservedLinePrepOrderId(micronResult.GetMapValue(map, "ReservedLinePrepOrderId"));
resultMap.put(s.getSerialNum(), s); resultMap.put(s.getSerialNum(), s);
} }
} else if (ObjectUtil.isNotEmpty(errMsg)) { } else if (ObjectUtil.isNotEmpty(errMsg)) {
...@@ -728,7 +724,7 @@ public class MicronApi { ...@@ -728,7 +724,7 @@ public class MicronApi {
log.info("API009 ,接口通信失败:" + errMsg); log.info("API009 ,接口通信失败:" + errMsg);
for (Barcode barcode : barcodeList) { for (Barcode barcode : barcodeList) {
resultMap.put(barcode.getBarcode(), new MaterialStatus(barcode.getBarcode(), barcode.getPartNumber(), "", errMsg, false)); resultMap.put(barcode.getBarcode(), new MaterialStatus(barcode.getBarcode(), barcode.getPartNumber(), "", errMsg, false,""));
} }
......
...@@ -13,11 +13,26 @@ public class MaterialStatus implements Serializable { ...@@ -13,11 +13,26 @@ public class MaterialStatus implements Serializable {
private String serialNum; private String serialNum;
private String partNumber; private String partNumber;
// private String materialStatus;
private String reservedLinePrepOrderId; private String reservedLinePrepOrderId;
private String description; private String description;
private boolean success=false; private boolean success = false;
private String materialStatus;
/**
* Material Status: Available, reservedLinePrepOrderId : null => 没有被系统预留的
* Material Status: Reserved, reservedLinePrepOrderId : {LineprepOrderId}=> 被系统预留预留
* Material Status: NotFound, reservedLinePrepOrderId : null =>系统没有这物料
*
* @return
*/
public boolean isAvailable() {
return materialStatus.equalsIgnoreCase("Available");
}
public boolean isReserved() {
return materialStatus.equalsIgnoreCase("Reserved");
}
// public boolean StatusOk() { // public boolean StatusOk() {
// return materialStatus.equalsIgnoreCase("SUCCESS"); // return materialStatus.equalsIgnoreCase("SUCCESS");
......
...@@ -197,4 +197,12 @@ public class MicronResult implements Serializable { ...@@ -197,4 +197,12 @@ public class MicronResult implements Serializable {
} }
return null; return null;
} }
public static String GetMapValue(Map<String,Object> map,String key){
Object obj =map.get(key);
if(obj==null){
return "";
}
return obj.toString();
}
} }
...@@ -494,7 +494,7 @@ private IStoragePosManager storagePosManager; ...@@ -494,7 +494,7 @@ private IStoragePosManager storagePosManager;
reelItem.setNeedNum(pos.getBarcode().getAmount()); reelItem.setNeedNum(pos.getBarcode().getAmount());
MaterialStatus s = apiResultMap.get(barcode.getBarcode()); MaterialStatus s = apiResultMap.get(barcode.getBarcode());
if (s.isSuccess()) { if (s!=null&&s.isAvailable()) {
reelItem.setStatus(OrderItemStatus.CheckOk); reelItem.setStatus(OrderItemStatus.CheckOk);
log.info("工单【" + order.getOrderNo() + "】PN [" + item.getPn() + "] RI [" + item.getRi() + "] API009 验证成功,更改状态为 CheckOk ,锁定库位【" + pos.getPosName() + "】"); log.info("工单【" + order.getOrderNo() + "】PN [" + item.getPn() + "] RI [" + item.getRi() + "] API009 验证成功,更改状态为 CheckOk ,锁定库位【" + pos.getPosName() + "】");
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!