|
|
@ -749,20 +749,17 @@ public class NewIssureServiceImpl implements NewIssureService { |
|
|
} |
|
|
} |
|
|
System.out.println("calling_flag校验通过 - rqrq"); |
|
|
System.out.println("calling_flag校验通过 - rqrq"); |
|
|
|
|
|
|
|
|
// 5. 判断是全部推送还是部分推送 - rqrq |
|
|
|
|
|
int totalOrders = newIssureMapper.countTotalOrders(site, notifyNo); |
|
|
|
|
|
boolean isAllPushed = (validList.size() == totalOrders); |
|
|
|
|
|
System.out.println("总订单数:" + totalOrders + ", 可推送订单数:" + validList.size() + ", 是否全部推送:" + isAllPushed + " - rqrq"); |
|
|
|
|
|
|
|
|
|
|
|
// 6. 按ProductionOrderNo分组 - rqrq |
|
|
|
|
|
|
|
|
// 5. 按ProductionOrderNo分组 - rqrq |
|
|
Map<String, List<InventoryCheckResult>> groupedByOrder = validList.stream() |
|
|
Map<String, List<InventoryCheckResult>> groupedByOrder = validList.stream() |
|
|
.collect(Collectors.groupingBy(InventoryCheckResult::getProductionOrderNo)); |
|
|
.collect(Collectors.groupingBy(InventoryCheckResult::getProductionOrderNo)); |
|
|
|
|
|
|
|
|
System.out.println("按生产订单分组,共" + groupedByOrder.size() + "个订单 - rqrq"); |
|
|
|
|
|
|
|
|
int totalOrdersToProcess = groupedByOrder.size(); |
|
|
|
|
|
System.out.println("按生产订单分组,本次要推送" + totalOrdersToProcess + "个订单 - rqrq"); |
|
|
|
|
|
|
|
|
Date currentTime = new Date(); |
|
|
Date currentTime = new Date(); |
|
|
|
|
|
int successCount = 0; // 统计成功推送的订单数 - rqrq |
|
|
|
|
|
|
|
|
// 7. 遍历每个生产订单 - rqrq |
|
|
|
|
|
|
|
|
// 6. 遍历每个生产订单 - rqrq |
|
|
for (Map.Entry<String, List<InventoryCheckResult>> entry : groupedByOrder.entrySet()) { |
|
|
for (Map.Entry<String, List<InventoryCheckResult>> entry : groupedByOrder.entrySet()) { |
|
|
String productionOrderNo = entry.getKey(); |
|
|
String productionOrderNo = entry.getKey(); |
|
|
List<InventoryCheckResult> orderItems = entry.getValue(); |
|
|
List<InventoryCheckResult> orderItems = entry.getValue(); |
|
|
@ -777,12 +774,12 @@ public class NewIssureServiceImpl implements NewIssureService { |
|
|
} |
|
|
} |
|
|
System.out.println("订单" + productionOrderNo + "的itemNo=" + itemNo + " - rqrq"); |
|
|
System.out.println("订单" + productionOrderNo + "的itemNo=" + itemNo + " - rqrq"); |
|
|
|
|
|
|
|
|
// 7.2 生成taskNo - rqrq |
|
|
|
|
|
|
|
|
// 6.2 生成taskNo - rqrq |
|
|
TransNoControl transData = transNoService.getTransNo(site, "WOT", 10); |
|
|
TransNoControl transData = transNoService.getTransNo(site, "WOT", 10); |
|
|
String taskNo = transData.getNewTransNo(); |
|
|
String taskNo = transData.getNewTransNo(); |
|
|
System.out.println("生成任务编号:" + taskNo + " - rqrq"); |
|
|
System.out.println("生成任务编号:" + taskNo + " - rqrq"); |
|
|
|
|
|
|
|
|
// 7.3 准备wms_order_task对象(暂不插入数据库)- rqrq |
|
|
|
|
|
|
|
|
// 6.3 准备wms_order_task对象(暂不插入数据库)- rqrq |
|
|
WmsOrderTask orderTask = new WmsOrderTask(); |
|
|
WmsOrderTask orderTask = new WmsOrderTask(); |
|
|
orderTask.setSite(site); |
|
|
orderTask.setSite(site); |
|
|
orderTask.setTaskNo(taskNo); |
|
|
orderTask.setTaskNo(taskNo); |
|
|
@ -886,7 +883,7 @@ public class NewIssureServiceImpl implements NewIssureService { |
|
|
} |
|
|
} |
|
|
System.out.println("准备SOIssueNotifyOrderMaterialList_detail对象" + detailList.size() + "条 - rqrq"); |
|
|
System.out.println("准备SOIssueNotifyOrderMaterialList_detail对象" + detailList.size() + "条 - rqrq"); |
|
|
|
|
|
|
|
|
// 7.7 构建WCS数据 - rqrq |
|
|
|
|
|
|
|
|
// 6.7 构建WCS数据 - rqrq |
|
|
NotifyDataToWcs wcsData = new NotifyDataToWcs(); |
|
|
NotifyDataToWcs wcsData = new NotifyDataToWcs(); |
|
|
wcsData.setSite(site); |
|
|
wcsData.setSite(site); |
|
|
wcsData.setTaskNo(taskNo); |
|
|
wcsData.setTaskNo(taskNo); |
|
|
@ -940,7 +937,7 @@ public class NewIssureServiceImpl implements NewIssureService { |
|
|
wcsData.setPalletList(palletList); |
|
|
wcsData.setPalletList(palletList); |
|
|
System.out.println("构建WCS数据完成,栈板数:" + palletList.size() + " - rqrq"); |
|
|
System.out.println("构建WCS数据完成,栈板数:" + palletList.size() + " - rqrq"); |
|
|
|
|
|
|
|
|
// 7.8 先调用WCS接口(成功后再执行数据库操作)- rqrq |
|
|
|
|
|
|
|
|
// 6.8 先调用WCS接口(成功后再执行数据库操作)- rqrq |
|
|
System.out.println("开始调用WCS接口 - rqrq"); |
|
|
System.out.println("开始调用WCS接口 - rqrq"); |
|
|
try { |
|
|
try { |
|
|
wcsApiService.pushNotifyToWcsApi(wcsData); |
|
|
wcsApiService.pushNotifyToWcsApi(wcsData); |
|
|
@ -993,6 +990,9 @@ public class NewIssureServiceImpl implements NewIssureService { |
|
|
|
|
|
|
|
|
System.out.println("订单" + productionOrderNo + "处理完成 - rqrq"); |
|
|
System.out.println("订单" + productionOrderNo + "处理完成 - rqrq"); |
|
|
|
|
|
|
|
|
|
|
|
// 成功推送,计数+1 - rqrq |
|
|
|
|
|
successCount++; |
|
|
|
|
|
|
|
|
} catch (RuntimeException e) { |
|
|
} catch (RuntimeException e) { |
|
|
// 超时错误向上抛出 - rqrq |
|
|
// 超时错误向上抛出 - rqrq |
|
|
if (e.getMessage().contains("超时") || e.getMessage().contains("timeout")) { |
|
|
if (e.getMessage().contains("超时") || e.getMessage().contains("timeout")) { |
|
|
@ -1003,8 +1003,10 @@ public class NewIssureServiceImpl implements NewIssureService { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 8. 更新SOIssueNotifyHeader的push_wcs_flag - rqrq |
|
|
|
|
|
String pushWcsFlag = isAllPushed ? "推送完成" : "部分推送"; |
|
|
|
|
|
|
|
|
// 7. 判断推送状态并更新SOIssueNotifyHeader的push_wcs_flag - rqrq |
|
|
|
|
|
String pushWcsFlag = (successCount == totalOrdersToProcess) ? "推送完成" : "部分推送"; |
|
|
|
|
|
System.out.println("推送结果统计:本次要推送" + totalOrdersToProcess + "个订单,成功推送" + successCount + "个订单 - rqrq"); |
|
|
|
|
|
|
|
|
newIssureMapper.updateNotifyHeaderPushWcsFlag(site, notifyNo, pushWcsFlag); |
|
|
newIssureMapper.updateNotifyHeaderPushWcsFlag(site, notifyNo, pushWcsFlag); |
|
|
System.out.println("更新申请单push_wcs_flag=" + pushWcsFlag + " - rqrq"); |
|
|
System.out.println("更新申请单push_wcs_flag=" + pushWcsFlag + " - rqrq"); |
|
|
|
|
|
|
|
|
|