Exemplo n.º 1
0
 /**
  * Creating a new shippment
  *
  * @param Address $address
  * @param Courier $courier
  * @param string $consignmentNo
  * @param string $shippingDate
  * @param Order  $order
  * @param string $contactName
  * @param string $contactNo
  * @param number $noOfCartons
  * @param string $estShippingCost      The est shipping cost
  * @param string $actualShippingCost   The actual shipping cost
  * @param string $deliveryInstructions The delivery instructions
  * @param string $mageShipmentId       The magento shippment id
  *
  * @return Shippment
  */
 public static function create(Address $address, Courier $courier, $consignmentNo, $shippingDate, Order $order, $contactName, $contactNo = '', $noOfCartons = 0, $estShippingCost = '0.00', $actualShippingCost = '0.00', $deliveryInstructions = '', $mageShipmentId = '')
 {
     $shippment = new Shippment();
     if (($shippingDate = trim($shippingDate)) === '') {
         $shippingDate = new UDate();
     }
     $estShippingCost = StringUtilsAbstract::getValueFromCurrency(trim($estShippingCost));
     $actualShippingCost = StringUtilsAbstract::getValueFromCurrency(trim($actualShippingCost));
     $msg = 'Shipment create for Order(' . $order->getOrderNo() . ') to address(' . trim($address) . ') via Courier(' . $courier->getName() . ') with ConNote(=' . $consignmentNo . ') on ' . $shippingDate . '(UTC) with actualCost = ' . StringUtilsAbstract::getCurrency($actualShippingCost);
     $shippment = $shippment->setAddress($address)->setCourier($courier)->setConNoteNo(trim($consignmentNo))->setOrder($order)->setReceiver(trim($contactName))->setContact(trim($contactNo))->setShippingDate(trim($shippingDate))->setNoOfCartons(trim($noOfCartons))->setEstShippingCost($estShippingCost)->setActualShippingCost($actualShippingCost)->setDeliveryInstructions(trim($deliveryInstructions))->setMageShipmentId(trim($mageShipmentId))->setActive(true)->save()->addLog($msg, Log::TYPE_SYSTEM, get_class($shippment) . '_CREATION', __CLASS__ . '::' . __FUNCTION__);
     $order->addComment($msg, Comments::TYPE_SYSTEM)->addLog($msg, Log::TYPE_SYSTEM, 'Auto Log', __CLASS__ . '::' . __FUNCTION__);
     return $shippment;
 }