diff --git a/opentcs-common/src/main/java/org/opentcs/common/GuestUserCredentials.java b/opentcs-common/src/main/java/org/opentcs/common/GuestUserCredentials.java index bb3d2ea..dc797cc 100644 --- a/opentcs-common/src/main/java/org/opentcs/common/GuestUserCredentials.java +++ b/opentcs-common/src/main/java/org/opentcs/common/GuestUserCredentials.java @@ -26,5 +26,5 @@ public interface GuestUserCredentials { /** * WMS系统地址 */ - String WMS_URL = "http://192.168.124.114:2004"; + String WMS_URL = "http://192.168.124.114:2004/api/project.yueda.agv.agv/updateAgvTaskDevice"; } diff --git a/opentcs-strategies-default/src/main/java/org/opentcs/strategies/basic/dispatching/phase/assignment/OrderAssigner.java b/opentcs-strategies-default/src/main/java/org/opentcs/strategies/basic/dispatching/phase/assignment/OrderAssigner.java index 7f79346..eedeed2 100644 --- a/opentcs-strategies-default/src/main/java/org/opentcs/strategies/basic/dispatching/phase/assignment/OrderAssigner.java +++ b/opentcs-strategies-default/src/main/java/org/opentcs/strategies/basic/dispatching/phase/assignment/OrderAssigner.java @@ -7,11 +7,14 @@ import static java.util.Objects.requireNonNull; import jakarta.inject.Inject; import java.util.Collection; import java.util.Comparator; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.stream.Collectors; +import org.opentcs.common.GuestUserCredentials; +import org.opentcs.communication.http.HttpClient; import org.opentcs.components.kernel.Router; import org.opentcs.components.kernel.services.TCSObjectService; import org.opentcs.data.model.Point; @@ -194,6 +197,22 @@ public class OrderAssigner { .sorted(orderCandidateComparator) .findFirst() .ifPresent(candidate -> assignOrder(candidate, assignmentState)); + + AssignmentCandidate assignmentCandidate = ordersSplitByFilter.get(Boolean.TRUE).stream() + .map(CandidateFilterResult::getCandidate) + .sorted(orderCandidateComparator) + .findFirst().orElse(null); + + if (assignmentCandidate != null + && assignmentCandidate.getTransportOrder().getWrappingSequence() != null) { + //已分配车辆,调用接口告诉wms系统 + HashMap dataMap = new HashMap<>(); + dataMap.put("task_code", assignmentCandidate.getTransportOrder().getWrappingSequence().getName()); + dataMap.put("vehicle_name", vehicle.getName()); + + HttpClient httpClient = new HttpClient(); + httpClient.sendCommand(GuestUserCredentials.WMS_URL, dataMap); + } } private void tryAssignVehicle( @@ -248,6 +267,23 @@ public class OrderAssigner { .sorted(Comparator.comparingLong(AssignmentCandidate::getCompleteRoutingCosts)) .findFirst() .ifPresent(candidate -> assignOrder(candidate, assignmentState)); + + AssignmentCandidate assignmentCandidate = ordersSplitByFilter.get(Boolean.TRUE).stream() + .map(CandidateFilterResult::getCandidate) + .sorted(Comparator.comparingLong(AssignmentCandidate::getCompleteRoutingCosts)) + .findFirst().orElse(null); + + if (assignmentCandidate != null + && assignmentCandidate.getVehicle() != null + && order.getWrappingSequence() != null) { + //已分配车辆,调用接口告诉wms系统 + HashMap dataMap = new HashMap<>(); + dataMap.put("task_code", order.getWrappingSequence().getName()); + dataMap.put("vehicle_name", assignmentCandidate.getVehicle().getName()); + + HttpClient httpClient = new HttpClient(); + httpClient.sendCommand(GuestUserCredentials.WMS_URL, dataMap); + } } private void assignOrder(AssignmentCandidate candidate, AssignmentState assignmentState) {