From 80a309a83b7b50a5b12b05a5a5eb4172e8f5ffda Mon Sep 17 00:00:00 2001 From: liyuqi Date: Wed, 2 Apr 2025 12:58:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=A5=E5=BA=93=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E5=9B=9E=E8=B0=83=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceImpl/StackerTaskServiceImpl.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/business/serviceImpl/StackerTaskServiceImpl.java b/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/business/serviceImpl/StackerTaskServiceImpl.java index 04198a1..ac176af 100644 --- a/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/business/serviceImpl/StackerTaskServiceImpl.java +++ b/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/business/serviceImpl/StackerTaskServiceImpl.java @@ -8,10 +8,14 @@ import com.wms_main.constant.enums.wcs.WcsStackerTaskStatusEnums; import com.wms_main.constant.enums.wcs.WcsStackerTaskTypeEnums; import com.wms_main.constant.enums.wms.*; import com.wms_main.dao.*; +import com.wms_main.model.bo.ycwms.YCWmsApiResponse; +import com.wms_main.model.dto.request.ycwms.OrderInCBReq; +import com.wms_main.model.dto.request.ycwms.OrderOutCBReq; import com.wms_main.model.po.*; import com.wms_main.repository.utils.ConvertUtils; import com.wms_main.repository.utils.StringUtils; import com.wms_main.repository.utils.UUIDUtils; +import com.wms_main.service.api.IExternalApiService; import com.wms_main.service.business.IStackerTaskService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -69,6 +73,8 @@ public class StackerTaskServiceImpl implements IStackerTaskService { private final ITAppOrderInService appOrderInService; private final ITAppOrderOutService appOrderOutService; + + private final IExternalApiService externalApiService; /** * 业务通用 */ @@ -370,10 +376,12 @@ public class StackerTaskServiceImpl implements IStackerTaskService { List newStockList = null; // 需要删除的任务id List needDeleteOrderIns = new ArrayList<>(); + List orderCBIds = new ArrayList<>(); Map stockMap = new HashMap<>(); for (TAppOrderIn thisOrderIn : thisOrderInList) { // 删除任务 needDeleteOrderIns.add(thisOrderIn.getRecordId()); + orderCBIds.add(thisOrderIn.getOrderId()); // 添加库存 String validateStr = thisOrderIn.getGoodsId() + thisOrderIn.getBatch() + thisOrderIn.getGoodsType() + thisOrderIn.getSpecification(); if (!stockMap.containsKey(validateStr)) { @@ -437,6 +445,26 @@ public class StackerTaskServiceImpl implements IStackerTaskService { } // TODO 上报 亚驰 WMS 入库单完成,一个载具应该对应一个入库单 + orderCBIds = orderCBIds.stream().distinct().collect(Collectors.toList()); + for (String orderId : orderCBIds) { + OrderInCBReq orderInCBReq = new OrderInCBReq(); + orderInCBReq.setOrderId(orderId); + orderInCBReq.setVehicleNo(vehicleId); + orderInCBReq.setOrderStatus(OrderStatusEnum.COMPLETE.getCode()); + orderInCBReq.setMessage("入库完成"); + + int times = 0; + YCWmsApiResponse response = null; + do { + response = externalApiService.invokeOrderInCB(orderInCBReq); + times++; + } while (!response.getState().equals("success") && times <= 3); + if (response.getState().equals("error") && times >= 3) { + log.error("上报失败"); + } else { + log.info("上报成功"); + } + } } } @@ -769,6 +797,26 @@ public class StackerTaskServiceImpl implements IStackerTaskService { .eq(TAppWcsTask::getWcsTaskType, WcsStackerTaskTypeEnums.OUT.getCode()) .in(TAppWcsTask::getWcsTaskId, thisVehicleOutTasks.stream().map(TAppWcsTask::getWcsTaskId).toList())); } + List orderOutsId = thisVehicleOutTasks.stream().map(TAppWcsTask::getOrderId).distinct().toList(); + for (String orderId : orderOutsId) { + OrderOutCBReq orderOutCBReq = new OrderOutCBReq(); + orderOutCBReq.setOrderId(orderId); + orderOutCBReq.setVehicleNo(vehicleId); + orderOutCBReq.setOrderStatus(OrderStatusEnum.COMPLETE.getCode()); + orderOutCBReq.setMessage("出库完成"); + + int times = 0; + YCWmsApiResponse response = null; + do { + response = externalApiService.invokeOrderOutCB(orderOutCBReq); + times++; + } while (!response.getState().equals("success") && times <= 3); + if (response.getState().equals("error") && times >= 3) { + log.error("上报失败"); + } else { + log.info("上报成功"); + } + } } appOrderOutService.remove(new LambdaUpdateWrapper().le(TAppOrderOut::getQuantity, 0)); }