Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. $orderNumber = '00000001';
  2. $order = $this->orderFactory->loadByIncrementId($orderNumber);
  3.  
  4. if($order->hasInvoices()){
  5.  
  6. if($order->canShip()){
  7.  
  8. $shipment = $this->orderModel->toShipment($order);
  9.  
  10. foreach ($order->getAllItems() AS $orderItem) {
  11.  
  12. if (!$orderItem->getQtyToShip() || $orderItem->getIsVirtual()) {
  13. continue;
  14. }
  15. $qtyShipped = $orderItem->getQtyToShip();
  16.  
  17. $shipmentItem = $this->orderModel->itemToShipmentItem($orderItem)->setQty($qtyShipped);
  18.  
  19. $shipment->addItem($shipmentItem);
  20.  
  21. }
  22.  
  23. $shipment->register();
  24. $shipment->getOrder()->setIsInProcess(true);
  25.  
  26. try {
  27.  
  28. $trackingIds = array(
  29. '0'=>array('carrier_code'=>'fedex','title' => 'Federal Express','number'=>'3131331230')
  30. );
  31.  
  32. /*You can Add Multiple tracking information*/
  33. foreach ($trackingIds as $trackingId) {
  34. $data = array(
  35. 'carrier_code' => $trackingId['carrier_code'],
  36. 'title' => $trackingId['title'],
  37. 'number' => $trackingId['number'],
  38. );
  39. $track = $this->trackFactory->create()->addData($data);
  40. $shipment->addTrack($track)->save();
  41. }
  42.  
  43. $shipment->save();
  44. $shipment->getOrder()->save();
  45.  
  46. // Send email
  47. $this->shipmentFactory->notify($shipment);
  48. $shipment->save();
  49.  
  50. } catch (Exception $e) {
  51. $this->logger->info($e->getMessage());
  52. }
  53. }else{
  54. $this->logger->info('You can not create an shipment:' . $orderNumber);
  55. }
  56.  
  57. }else {
  58. $this->logger->info('Invoice is not created for order:' . $orderNumber);
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement