This commit is contained in:
xuzhiheng
2025-06-28 17:23:12 +08:00
parent 261cb7a7e7
commit dddb5e6b39
7 changed files with 56 additions and 24 deletions

View File

@@ -63,41 +63,52 @@ public class TransportOrderHandler {
/**
* 根据WMS任务创建订单序列和运输订单
* @param orderName 订单名称
* @param name 订单序列名称
* @param body 结构体
* @return 创建的订单
*/
public TransportOrder createWmsTask(String orderName, String body){
public List<TransportOrder> createWmsTask(String name, String body){
//解析data
String type = JSON.parseObject(body).getString("type");
String intendedVehicle = JSON.parseObject(body).getString("intendedVehicle") != null ? JSON.parseObject(body).getString("intendedVehicle") : null;
Boolean dispensable = JSON.parseObject(body).getBoolean("dispensable") != null ? JSON.parseObject(body).getBoolean("dispensable") : false;
// String wrappingSequence = JSON.parseObject(body).getString("wrappingSequence") != null ? JSON.parseObject(body).getString("wrappingSequence") : null;
String destinationsStr = JSON.parseObject(body).getString("destinations");
List<PostTransportOrderInfoRequestTo> dataList = JSON.parseArray(destinationsStr, PostTransportOrderInfoRequestTo.class);
//订单目标点结构体
List<Destination> destinationsList = new ArrayList<>();
//构建订单序列
PostOrderSequenceRequestTO postOrderSequenceRequestTO = new PostOrderSequenceRequestTO();
postOrderSequenceRequestTO.setIncompleteName(false);
if (intendedVehicle != null) {
postOrderSequenceRequestTO.setIntendedVehicle(intendedVehicle);
}
postOrderSequenceRequestTO.setType(type);
postOrderSequenceRequestTO.setFailureFatal(true);
//根据传入名称创建订单序列
OrderSequence orderSequence = this.createOrderSequence(name, postOrderSequenceRequestTO);
//构建订单对象
PostTransportOrderRequestTO postTransportOrderRequestTO = new PostTransportOrderRequestTO();
postTransportOrderRequestTO.setIncompleteName(true);
postTransportOrderRequestTO.setDispensable(dispensable);
postTransportOrderRequestTO.setDeadline(Instant.now());
postTransportOrderRequestTO.setWrappingSequence(orderSequence.getName());
postTransportOrderRequestTO.setType(type);
//根据传入点位创建多个订单
List<TransportOrder> orders = new ArrayList<>();
for (PostTransportOrderInfoRequestTo destination : dataList) {
List<Destination> destinationsList = new ArrayList<>();
Destination newDestination = new Destination();
newDestination.setLocationName(destination.getLocationName());
newDestination.setOperation(destination.getOperation());
destinationsList.add(newDestination);
postTransportOrderRequestTO.setDestinations(destinationsList);
TransportOrder order = this.createOrder("", postTransportOrderRequestTO);
orders.add(order);
}
//构建订单对象
PostTransportOrderRequestTO postTransportOrderRequestTO = new PostTransportOrderRequestTO();
postTransportOrderRequestTO.setIncompleteName(false);
postTransportOrderRequestTO.setDispensable(dispensable);
postTransportOrderRequestTO.setDeadline(Instant.now());
if (intendedVehicle != null) {
postTransportOrderRequestTO.setIntendedVehicle(intendedVehicle);
}
postTransportOrderRequestTO.setType(type);
postTransportOrderRequestTO.setDestinations(destinationsList);
//创建运输订单
return this.createOrder(orderName, postTransportOrderRequestTO);
return orders;
}
public TransportOrder createOrder(String name, PostTransportOrderRequestTO order)