protected function setOrderDetails($modxOrder, $order, $timezone, $em) { $order->setWcId($modxOrder['id']); $order->setNumber('UV' . $modxOrder['id']); $order->setCreatedAt(new \DateTime($modxOrder['createdon'], $timezone)); $order->setState("backoffice"); $order->setPeople($modxOrder['kolchel']); $order->setTotal($modxOrder['cost'] * 100); $order->setProductsTotal($modxOrder['cost'] * 100); $order->setAdjustmentTotal(0); $product = $em->getRepository('MeVisaERPBundle:Products')->findOneBy(array('name' => $modxOrder['namezakaz'])); if (!$product) { $product = new Products(); $product->setEnabled(true); $product->setName($modxOrder['namezakaz']); $product->setRequiredDocuments(array()); $product->setUrgent(false); $productPrice = new ProductPrices(); $productPrice->setCost(0); $productPrice->setPrice($modxOrder['cost'] * 100 / $modxOrder['kolchel']); $product->addPricing($productPrice); $em->persist($product); } $productPrice = $product->getPricing()->last(); $orderProduct = new OrderProducts(); $orderProduct->setProduct($product); $orderProduct->setQuantity($modxOrder['kolchel']); $orderProduct->setUnitPrice($modxOrder['cost'] * 100 / $modxOrder['kolchel']); $orderProduct->setUnitCost($productPrice->getCost()); $orderProduct->setVendor($product->getVendor()); $orderProduct->setTotal($modxOrder['cost'] * 100); $order->addOrderProduct($orderProduct); $order->setPeople($modxOrder['kolchel']); $arrival = \DateTime::createFromFormat('Y-m-d G:i:s', $modxOrder['datet'], $timezone); if ($arrival) { $order->setArrival($arrival); } else { //TODO: Report issue dump('Invalid arrival for Order: ' . $order->getNumber()); } $departure = \DateTime::createFromFormat("Y-m-d G:i:s", $modxOrder['dateo'], $timezone); if ($departure) { $order->setDeparture($departure); } else { //TODO: Report issue dump('Invalid departure for Order: ' . $order->getNumber()); } $accessBasePath = 'http://uaevisa.ru/assets/uploads/'; $uploadBasePath = $this->getContainer()->getParameter('uaevc_path'); $fs = new Filesystem(); if ($fs->exists($uploadBasePath . $order->getWcId())) { $finder = new Finder(); $finder->files()->in($uploadBasePath . $order->getWcId()); foreach ($finder as $file) { $document = new \MeVisa\ERPBundle\Entity\OrderDocuments(); $document->setName($file->getFileName()); // http://uaevisa.ru/assets/uploads/74/0/contact_pasp_2016-09-06_12-54-15.png $document->setPath($accessBasePath . $order->getWcId() . '/' . $file->getRelativePathname()); $order->addOrderDocument($document); } } $orderPayment = new OrderPayments(); // method_id method_title $orderPayment->setMethod('payu'); $orderPayment->setAmount($modxOrder['cost'] * 100); $orderPayment->setCreatedAt(new \DateTime($modxOrder['editedon'], $timezone)); if (1 == $modxOrder['active']) { $orderPayment->setState("paid"); } else { $orderPayment->setState("not_paid"); } $order->addOrderPayment($orderPayment); if ("" != $modxOrder['description']) { $orderComment = new OrderComments(); $orderComment->setComment($modxOrder['note'] . "-- Customer: " . $order->getCustomer()->getName()); $orderComment->setCreatedAt(new \DateTime($modxOrder['created_at'], $timezone)); $order->addOrderComment($orderComment); } if ("" != $modxOrder["name1"]) { $orderCompanion = new OrderCompanions(); $orderCompanion->setName($modxOrder["name1"] . $modxOrder["famil1"]); $order->addOrderCompanion($orderCompanion); } if ("" != $modxOrder["name2"]) { $orderCompanion = new OrderCompanions(); $orderCompanion->setName($modxOrder["name2"] . $modxOrder["famil2"]); $order->addOrderCompanion($orderCompanion); } if ("" != $modxOrder["name3"]) { $orderCompanion = new OrderCompanions(); $orderCompanion->setName($modxOrder["name3"] . $modxOrder["famil3"]); $order->addOrderCompanion($orderCompanion); } if ("" != $modxOrder["name4"]) { $orderCompanion = new OrderCompanions(); $orderCompanion->setName($modxOrder["name4"] . $modxOrder["famil4"]); $order->addOrderCompanion($orderCompanion); } if ("" != $modxOrder["name5"]) { $orderCompanion = new OrderCompanions(); $orderCompanion->setName($modxOrder["name5"] . $modxOrder["famil5"]); $order->addOrderCompanion($orderCompanion); } if ("" != $modxOrder["name6"]) { $orderCompanion = new OrderCompanions(); $orderCompanion->setName($modxOrder["name6"] . $modxOrder["famil6"]); $order->addOrderCompanion($orderCompanion); } if ("" != $modxOrder["name7"]) { $orderCompanion = new OrderCompanions(); $orderCompanion->setName($modxOrder["name7"] . $modxOrder["famil7"]); $order->addOrderCompanion($orderCompanion); } if ("" != $modxOrder["name8"]) { $orderCompanion = new OrderCompanions(); $orderCompanion->setName($modxOrder["name8"] . $modxOrder["famil8"]); $order->addOrderCompanion($orderCompanion); } if ("" != $modxOrder["name9"]) { $orderCompanion = new OrderCompanions(); $orderCompanion->setName($modxOrder["name9"] . $modxOrder["famil9"]); $order->addOrderCompanion($orderCompanion); } //FIXME: Dynamic channel $order->setChannel("uaevisa.ru"); $order->setTicketRequired(false); }
/** * Add orderCompanions * * @param \MeVisa\ERPBundle\Entity\OrderCompanions $orderCompanions * @return Orders */ public function addOrderCompanion(\MeVisa\ERPBundle\Entity\OrderCompanions $orderCompanions) { $this->orderCompanions[] = $orderCompanions; $orderCompanions->setOrderRef($this); return $this; }