/** * @param string $processName * * @return array */ public function prepareItems($processName) { $orderItemsArray = $this->getOrderItems($processName); $orders = []; $txtArray = []; foreach ($orderItemsArray as $orderItemArray) { if (!isset($orders[$orderItemArray['orderId']])) { $order = new SpySalesOrder(); $order->setGrandTotal(10000); $order->setSubtotal(9900); $order->setIsTest(false); $address = new SpySalesOrderAddress(); $address->setLastName('Doe'); $address->setFirstName('John'); $address->setCity('Berlin'); $address->setZipCode('12345'); $address->setAddress1('Blastr 1'); $country = SpyCountryQuery::create()->findOneByIdCountry(1); $address->setCountry($country); $order->setBillingAddress($address); $order->setShippingAddress($address); $orders[$orderItemArray['orderId']] = $order; } } $states = []; $orderItems = []; foreach ($orderItemsArray as $orderItemArray) { if (isset($states[$orderItemArray['state']])) { $state = $states[$orderItemArray['state']]; } else { $state = new SpyOmsOrderItemState(); $state->setName($orderItemArray['state']); $state->save(); $states[$orderItemArray['state']] = $state; } $txtArray[] = 'State: ' . $state->getName(); $process = SpyOmsOrderProcessQuery::create()->filterByName($orderItemArray['process'])->findOneOrCreate(); $process->setName($orderItemArray['process']); $process->save(); $txtArray[] = 'Process: ' . $process->getName(); $item = new SpySalesOrderItem(); $item->setState($state); $item->setProcess($process); $item->setName('Testproduct'); $item->setSku('12345ABC'); $item->setGrossPrice(10); $orders[$orderItemArray['orderId']]->addItem($item); $orderItems[] = $item; } foreach ($orderItems as $orderItem) { $orderItem->save(); $txtArray[] = 'orderItem saved: ' . $orderItem->getIdSalesOrderItem(); } return $txtArray; }
/** * @param \Orm\Zed\Oms\Persistence\SpyOmsOrderItemState $omsStateEntity * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity * @param \Orm\Zed\Oms\Persistence\SpyOmsOrderProcess $omsOrderProcessEntity * @param int $quantity * @param int $grossPrice * @param int $taxRate * * @return \Orm\Zed\Sales\Persistence\SpySalesOrderItem */ protected function createOrderItem(SpyOmsOrderItemState $omsStateEntity, SpySalesOrder $salesOrderEntity, SpyOmsOrderProcess $omsOrderProcessEntity, $quantity, $grossPrice, $taxRate) { $salesOrderItem = new SpySalesOrderItem(); $salesOrderItem->setGrossPrice($grossPrice); $salesOrderItem->setQuantity($quantity); $salesOrderItem->setSku('123'); $salesOrderItem->setName('test1'); $salesOrderItem->setTaxRate($taxRate); $salesOrderItem->setFkOmsOrderItemState($omsStateEntity->getIdOmsOrderItemState()); $salesOrderItem->setProcess($omsOrderProcessEntity); $salesOrderItem->setFkSalesOrder($salesOrderEntity->getIdSalesOrder()); $salesOrderItem->save(); return $salesOrderItem; }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $salesOrderItemEntity * @param \Generated\Shared\Transfer\ItemTransfer $itemTransfer * * @return void */ protected function hydrateSalesOrderItemEntity(SpySalesOrder $salesOrderEntity, QuoteTransfer $quoteTransfer, SpySalesOrderItem $salesOrderItemEntity, ItemTransfer $itemTransfer) { $processEntity = $this->getProcessEntity($quoteTransfer, $itemTransfer); $initialStateEntity = $this->omsFacade->getInitialStateEntity(); $salesOrderItemEntity->fromArray($itemTransfer->toArray()); $salesOrderItemEntity->setFkSalesOrder($salesOrderEntity->getIdSalesOrder()); $salesOrderItemEntity->setFkOmsOrderItemState($initialStateEntity->getIdOmsOrderItemState()); $salesOrderItemEntity->setGrossPrice($itemTransfer->getUnitGrossPrice()); $salesOrderItemEntity->setProcess($processEntity); }