订单分配车辆更新wms系统对应任务执行车辆-1

This commit is contained in:
xuzhiheng 2025-06-30 18:24:26 +08:00
parent d60a70483d
commit 4a9c261d05
2 changed files with 37 additions and 1 deletions

View File

@ -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";
}

View File

@ -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<String, String> 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<String, String> 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) {