修改订单分配车辆策略
This commit is contained in:
@@ -63,12 +63,12 @@ public class TransportOrderHandler {
|
||||
/**
|
||||
* 根据WMS任务创建订单序列和运输订单
|
||||
* @param orderName 订单名称
|
||||
* @param vehicleName 车辆名称
|
||||
// * @param vehicleName 车辆名称
|
||||
* @param type 订单类型
|
||||
* @param destinations 位置信息
|
||||
* @return 创建的订单
|
||||
*/
|
||||
public TransportOrder createWmsTask(String orderName, String vehicleName, String type, List<PostTransportOrderInfoRequestTo> destinations){
|
||||
public TransportOrder createWmsTask(String orderName, String type, List<PostTransportOrderInfoRequestTo> destinations){
|
||||
|
||||
//订单目标点结构体
|
||||
List<Destination> destinationsList = new ArrayList<>();
|
||||
@@ -84,9 +84,9 @@ public class TransportOrderHandler {
|
||||
postTransportOrderRequestTO.setIncompleteName(false);
|
||||
postTransportOrderRequestTO.setDispensable(false);
|
||||
postTransportOrderRequestTO.setDeadline(Instant.now());
|
||||
if (vehicleName != null) {
|
||||
postTransportOrderRequestTO.setIntendedVehicle(vehicleName);
|
||||
}
|
||||
// if (vehicleName != null) {
|
||||
// postTransportOrderRequestTO.setIntendedVehicle(vehicleName);
|
||||
// }
|
||||
postTransportOrderRequestTO.setType(type);
|
||||
postTransportOrderRequestTO.setDestinations(destinationsList);
|
||||
|
||||
|
||||
@@ -18,12 +18,14 @@ import org.opentcs.kernel.extensions.servicewebapi.RequestHandler;
|
||||
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.GetOrderSequenceResponseTO;
|
||||
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.GetPeripheralAttachmentInfoResponseTO;
|
||||
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.GetPeripheralJobResponseTO;
|
||||
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.GetTransportOrderResponseTO;
|
||||
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.GetVehicleAttachmentInfoResponseTO;
|
||||
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.PlantModelTO;
|
||||
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.PostOrderSequenceRequestTO;
|
||||
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.PostPeripheralJobRequestTO;
|
||||
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.PostTopologyUpdateRequestTO;
|
||||
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.PostTransportOrderInfoRequestTo;
|
||||
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.PostTransportOrderRequestTO;
|
||||
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.PostVehicleRoutesRequestTO;
|
||||
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.PostVehicleRoutesResponseTO;
|
||||
import org.opentcs.kernel.extensions.servicewebapi.v1.binding.PutVehicleAllowedOrderTypesTO;
|
||||
@@ -373,31 +375,6 @@ public class V1RequestHandler
|
||||
IllegalStateException {
|
||||
response.type(HttpConstants.CONTENT_TYPE_APPLICATION_JSON_UTF8);
|
||||
|
||||
//解析data
|
||||
String type = JSON.parseObject(request.body()).getString("type");
|
||||
String destinations = JSON.parseObject(request.body()).getString("destinations");
|
||||
List<PostTransportOrderInfoRequestTo> dataList = JSON.parseArray(destinations, PostTransportOrderInfoRequestTo.class);
|
||||
|
||||
//获取路由成本最低的车辆
|
||||
String executeVehicle = vehicleHandler.getExecuteVehicle(dataList.getFirst().getPoint());
|
||||
|
||||
//创建订单
|
||||
TransportOrder wmsTask = transportOrderHandler.createWmsTask(
|
||||
request.params(":NAME"),
|
||||
executeVehicle,
|
||||
type,
|
||||
dataList
|
||||
);
|
||||
|
||||
//尝试立即将订单分配给意向车辆
|
||||
if (executeVehicle != null) {
|
||||
//todo 有问题需要延时或者分配车辆时过滤已绑定订单的意向车辆
|
||||
orderDispatcherHandler.tryImmediateAssignment(request.params(":NAME"));
|
||||
}
|
||||
|
||||
//构建响应json
|
||||
return jsonBinder.toJson(wmsTask);
|
||||
|
||||
// return jsonBinder.toJson(
|
||||
// GetTransportOrderResponseTO.fromTransportOrder(
|
||||
// transportOrderHandler.createOrder(
|
||||
@@ -406,6 +383,24 @@ public class V1RequestHandler
|
||||
// )
|
||||
// )
|
||||
// );
|
||||
|
||||
//解析data
|
||||
String type = JSON.parseObject(request.body()).getString("type");
|
||||
String destinations = JSON.parseObject(request.body()).getString("destinations");
|
||||
List<PostTransportOrderInfoRequestTo> dataList = JSON.parseArray(destinations, PostTransportOrderInfoRequestTo.class);
|
||||
|
||||
//获取路由成本最低的车辆
|
||||
// String executeVehicle = vehicleHandler.getExecuteVehicle(dataList.getFirst().getPoint());
|
||||
|
||||
//创建订单
|
||||
TransportOrder wmsTask = transportOrderHandler.createWmsTask(
|
||||
request.params(":NAME"),
|
||||
type,
|
||||
dataList
|
||||
);
|
||||
|
||||
//构建响应json
|
||||
return jsonBinder.toJson(wmsTask);
|
||||
}
|
||||
|
||||
private Object handlePutTransportOrderIntendedVehicle(Request request, Response response)
|
||||
|
||||
Reference in New Issue
Block a user