diff --git a/src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java b/src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java index 9beba45..4c1b65b 100644 --- a/src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java +++ b/src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java @@ -622,8 +622,14 @@ public class MesReceiptController extends BaseController { JSONObject json = new JSONObject(); json.put("data", dataArray); ReturnInfo returnInfo = postMOM(action, json,"出库回传"); + if(returnInfo == null){ + shipmentHeader.setErrorMsg("出库回传:接口地址错误或返回为空"); + shipmentHeader.setPushSuccessStatus(2); + shipmentHeaderService.updateById(shipmentHeader); + return true; + } shipmentHeader.setPushErrorCount(shipmentHeader.getPushErrorCount()+1); - if (returnInfo !=null && returnInfo.getCode()==200) { + if (!returnInfo.hasError()) { shipmentHeader.setPushSuccessStatus(1); shipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_RETURN); shipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_RETURN); diff --git a/src/main/java/com/huaheng/api/mes/result/ReturnInfo.java b/src/main/java/com/huaheng/api/mes/result/ReturnInfo.java index ba0788e..110ded3 100755 --- a/src/main/java/com/huaheng/api/mes/result/ReturnInfo.java +++ b/src/main/java/com/huaheng/api/mes/result/ReturnInfo.java @@ -1,5 +1,6 @@ package com.huaheng.api.mes.result; +import com.huaheng.framework.web.domain.RetCode; import lombok.Data; @Data @@ -8,4 +9,12 @@ public class ReturnInfo { private String Responder; private Integer code; private String msg; + + public Boolean hasError(){ + if(code == RetCode.SUCCESS.getValue()){ + return false; + }else { + return true; + } + } } diff --git a/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java b/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java index 8d570da..d1a797c 100644 --- a/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java +++ b/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java @@ -179,7 +179,8 @@ public class RyTask extends BaseController { //出库回传 List<ShipmentHeader> shipmentHeaderList = shipmentHeaderService.list(new LambdaQueryWrapper<ShipmentHeader>() .eq(ShipmentHeader::getFirstStatus, QuantityConstant.SHIPMENT_HEADER_COMPLETED) - .eq(ShipmentHeader::getLastStatus, QuantityConstant.SHIPMENT_HEADER_COMPLETED)); + .eq(ShipmentHeader::getLastStatus, QuantityConstant.SHIPMENT_HEADER_COMPLETED) + .eq(ShipmentHeader::getPushSuccessStatus, BigDecimal.ZERO.intValue())); for (ShipmentHeader shipmentHeader : shipmentHeaderList) { //299:其他出库 if (("MOM".equals(shipmentHeader.getCreatedBy()) || "merge".equals(shipmentHeader.getShipmentType()) || "299".equals(shipmentHeader.getShipmentType()))) { @@ -194,7 +195,8 @@ public class RyTask extends BaseController { //回传盘点生成的其他入库单回传 LambdaQueryWrapper<ReceiptHeader> receiptLambdaQueryWrapper = Wrappers.lambdaQuery(); - receiptLambdaQueryWrapper.eq(ReceiptHeader::getReceiptType, "199")//其它入库 + //199:其它入库 + receiptLambdaQueryWrapper.eq(ReceiptHeader::getReceiptType, "199") .eq(ReceiptHeader::getFirstStatus, QuantityConstant.RECEIPT_HEADER_POSTING) .eq(ReceiptHeader::getLastStatus, QuantityConstant.RECEIPT_HEADER_POSTING); List<ReceiptHeader> receiptHeaderList = receiptHeaderService.list(receiptLambdaQueryWrapper); @@ -208,14 +210,19 @@ public class RyTask extends BaseController { receiptHeader.setPushErrorCount(receiptHeader.getPushErrorCount() + 1); try { ReturnInfo returnInfo = mesReceiptController.postOther_E_Rd_In(receiptDetailList, receiptHeader); - if (returnInfo != null && returnInfo.getCode() == 200) { + if(returnInfo == null){ + receiptHeader.setErrorMsg("入库回传:接口地址错误或返回为空"); + receiptHeader.setPushSuccessStatus(2); + receiptHeaderService.updateById(receiptHeader); + continue; + } + if (!returnInfo.hasError()) { receiptDetailList.forEach(e -> e.setProcessStamp(QuantityConstant.RECEIPT_HEADER_RETURN + "")); receiptDetailService.updateBatchById(receiptDetailList); //修改头状态和尾状态 receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_RETURN); receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_RETURN); receiptHeader.setPushSuccessStatus(1); - //receiptHeader.setPushQty(receiptHeader.getTotalQty()); } else { receiptHeader.setErrorMsg(returnInfo.getMsg()); receiptHeader.setPushSuccessStatus(2); diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java index 032685e..6f027fd 100644 --- a/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java +++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java @@ -580,7 +580,13 @@ public class ReceiptTaskService { } ReturnInfo returnInfo = mesReceiptController.postE_Rd_In(receiptDetail); receiptHeader.setPushErrorCount(receiptHeader.getPushErrorCount()+1); - if (returnInfo !=null && returnInfo.getCode()==200) { + if(returnInfo == null){ + receiptHeader.setErrorMsg("入库回传:接口地址错误或返回为空"); + receiptHeader.setPushSuccessStatus(2); + receiptHeaderService.updateById(receiptHeader); + continue; + } + if (!returnInfo.hasError()) { BigDecimal pushQty = receiptHeader.getPushQty().add(taskDetail.getQty()); receiptHeader.setPushQty(pushQty); receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_RETURN);