Magento 2 help validate function to count bundle product child items of an orderGet ordered product count in magentoOverride getValueHtml in MagentoBundleBlockSalesOrderItemsRenderermagento 2 get product sale count using custom moduleHow to get Product Cost from Order ItemsMagento Sale order create items gridMagento2 layered navigation product count for bundle itemsMagento 2 - MagentoSalesModelOrder trying to fetch items in an order is not workingHow to get child simple Product Obj from configurable Sales Order ItemsHow to add new item (product) into existing order programmatically in Magento 2Add bundle product in Wishlist with child product which selected

What happened after the end of the Truman Show?

TechSupport Issue ID#812

Unbiased estimator of exponential of measure of a set?

IV curve on this solar panel datasheet

How to decide whether an eshop is safe or compromised

How can I pack my food so it doesn't smell?

Count the frequency of items in an array

Does git delete empty folders?

Why should I pay for an SSL certificate?

Can others monetize my project with GPLv3?

Does the Green Flame-Blade cantrip work with the Zephyr Strike spell?

Would it be illegal for Facebook to actively promote a political agenda?

E: Sub-process /usr/bin/dpkg returned an error code (1) - but how do I find the meaningful error messages in APT's output?

Using は before 欲しい instead が

How to detect a failed AES256 decryption programmatically?

Earliest evidence of objects intended for future archaeologists?

Is there such a thing as too inconvenient?

What animal has fat with the highest energy density?

Multicolumn in table not centered

Arduino- Duty Cycle Changing When Frequency Is Increasing

Why didn’t Doctor Strange stay in the original winning timeline?

How to think about joining a company whose business I do not understand?

Why doesn't mathematics collapse down, even though humans quite often make mistakes in their proofs?

Do predators tend to have vertical slit pupils versus horizontal for prey animals?



Magento 2 help validate function to count bundle product child items of an order


Get ordered product count in magentoOverride getValueHtml in MagentoBundleBlockSalesOrderItemsRenderermagento 2 get product sale count using custom moduleHow to get Product Cost from Order ItemsMagento Sale order create items gridMagento2 layered navigation product count for bundle itemsMagento 2 - MagentoSalesModelOrder trying to fetch items in an order is not workingHow to get child simple Product Obj from configurable Sales Order ItemsHow to add new item (product) into existing order programmatically in Magento 2Add bundle product in Wishlist with child product which selected






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















I'm trying to write a function that takes an order object, and returns an array of sku => qty (key-value) showing how many of each sku was sold/shipped.



The tricky part is, magento formats line items differently on configurable and bundle products.



Example:



Line1: name shirt-X2, type bundle, ordered 2, shipped 2.
Line2: name shirt, type simple, ordered 4, shipped 0. // <-- my problem


I've written this code:



/**
* @param MagentoSalesModelOrder $order
* @return array
*/
public function getOrderData($order)

$result = [];
foreach ($order->getAllItems() as $item)
if ($item->getProductType() != 'simple')
continue;

$sku = $item->getSku();
$orderedReal = $item->getQtyOrdered();
$orderedB = $item->getQtyOrdered() - $item->getQtyRefunded() - $item->getQtyCanceled();
$orderedB = max(round($orderedB, 8), 0);
$invoicedB = $item->getQtyOrdered() - $item->getQtyInvoiced() - $item->getQtyCanceled();
$invoicedB = max(round($invoicedB, 8), 0);
$shippedReal = 0;
$isShipped = false;
if ($item->getParentItem())
$parent = $item->getParentItem();
if ($parent->getQtyOrdered() > 0 && $parent->getQtyOrdered() == $parent->getQtyShipped())
$isShipped = true;

else
if ($item->getQtyOrdered() > 0 && $item->getQtyOrdered() == $item->getQtyShipped())
$isShipped = true;


if ($isShipped)
$shippedReal = $orderedReal;

$result[] = [
'sku' => $sku,
'invoiced' => $invoicedB,
'ordered' => $orderedB,
'shipped' => $shippedReal
];

return $result;



Is this function valid, or could it be improved ?
Any help is appreciated.



Thanks










share|improve this question






























    0















    I'm trying to write a function that takes an order object, and returns an array of sku => qty (key-value) showing how many of each sku was sold/shipped.



    The tricky part is, magento formats line items differently on configurable and bundle products.



    Example:



    Line1: name shirt-X2, type bundle, ordered 2, shipped 2.
    Line2: name shirt, type simple, ordered 4, shipped 0. // <-- my problem


    I've written this code:



    /**
    * @param MagentoSalesModelOrder $order
    * @return array
    */
    public function getOrderData($order)

    $result = [];
    foreach ($order->getAllItems() as $item)
    if ($item->getProductType() != 'simple')
    continue;

    $sku = $item->getSku();
    $orderedReal = $item->getQtyOrdered();
    $orderedB = $item->getQtyOrdered() - $item->getQtyRefunded() - $item->getQtyCanceled();
    $orderedB = max(round($orderedB, 8), 0);
    $invoicedB = $item->getQtyOrdered() - $item->getQtyInvoiced() - $item->getQtyCanceled();
    $invoicedB = max(round($invoicedB, 8), 0);
    $shippedReal = 0;
    $isShipped = false;
    if ($item->getParentItem())
    $parent = $item->getParentItem();
    if ($parent->getQtyOrdered() > 0 && $parent->getQtyOrdered() == $parent->getQtyShipped())
    $isShipped = true;

    else
    if ($item->getQtyOrdered() > 0 && $item->getQtyOrdered() == $item->getQtyShipped())
    $isShipped = true;


    if ($isShipped)
    $shippedReal = $orderedReal;

    $result[] = [
    'sku' => $sku,
    'invoiced' => $invoicedB,
    'ordered' => $orderedB,
    'shipped' => $shippedReal
    ];

    return $result;



    Is this function valid, or could it be improved ?
    Any help is appreciated.



    Thanks










    share|improve this question


























      0












      0








      0








      I'm trying to write a function that takes an order object, and returns an array of sku => qty (key-value) showing how many of each sku was sold/shipped.



      The tricky part is, magento formats line items differently on configurable and bundle products.



      Example:



      Line1: name shirt-X2, type bundle, ordered 2, shipped 2.
      Line2: name shirt, type simple, ordered 4, shipped 0. // <-- my problem


      I've written this code:



      /**
      * @param MagentoSalesModelOrder $order
      * @return array
      */
      public function getOrderData($order)

      $result = [];
      foreach ($order->getAllItems() as $item)
      if ($item->getProductType() != 'simple')
      continue;

      $sku = $item->getSku();
      $orderedReal = $item->getQtyOrdered();
      $orderedB = $item->getQtyOrdered() - $item->getQtyRefunded() - $item->getQtyCanceled();
      $orderedB = max(round($orderedB, 8), 0);
      $invoicedB = $item->getQtyOrdered() - $item->getQtyInvoiced() - $item->getQtyCanceled();
      $invoicedB = max(round($invoicedB, 8), 0);
      $shippedReal = 0;
      $isShipped = false;
      if ($item->getParentItem())
      $parent = $item->getParentItem();
      if ($parent->getQtyOrdered() > 0 && $parent->getQtyOrdered() == $parent->getQtyShipped())
      $isShipped = true;

      else
      if ($item->getQtyOrdered() > 0 && $item->getQtyOrdered() == $item->getQtyShipped())
      $isShipped = true;


      if ($isShipped)
      $shippedReal = $orderedReal;

      $result[] = [
      'sku' => $sku,
      'invoiced' => $invoicedB,
      'ordered' => $orderedB,
      'shipped' => $shippedReal
      ];

      return $result;



      Is this function valid, or could it be improved ?
      Any help is appreciated.



      Thanks










      share|improve this question














      I'm trying to write a function that takes an order object, and returns an array of sku => qty (key-value) showing how many of each sku was sold/shipped.



      The tricky part is, magento formats line items differently on configurable and bundle products.



      Example:



      Line1: name shirt-X2, type bundle, ordered 2, shipped 2.
      Line2: name shirt, type simple, ordered 4, shipped 0. // <-- my problem


      I've written this code:



      /**
      * @param MagentoSalesModelOrder $order
      * @return array
      */
      public function getOrderData($order)

      $result = [];
      foreach ($order->getAllItems() as $item)
      if ($item->getProductType() != 'simple')
      continue;

      $sku = $item->getSku();
      $orderedReal = $item->getQtyOrdered();
      $orderedB = $item->getQtyOrdered() - $item->getQtyRefunded() - $item->getQtyCanceled();
      $orderedB = max(round($orderedB, 8), 0);
      $invoicedB = $item->getQtyOrdered() - $item->getQtyInvoiced() - $item->getQtyCanceled();
      $invoicedB = max(round($invoicedB, 8), 0);
      $shippedReal = 0;
      $isShipped = false;
      if ($item->getParentItem())
      $parent = $item->getParentItem();
      if ($parent->getQtyOrdered() > 0 && $parent->getQtyOrdered() == $parent->getQtyShipped())
      $isShipped = true;

      else
      if ($item->getQtyOrdered() > 0 && $item->getQtyOrdered() == $item->getQtyShipped())
      $isShipped = true;


      if ($isShipped)
      $shippedReal = $orderedReal;

      $result[] = [
      'sku' => $sku,
      'invoiced' => $invoicedB,
      'ordered' => $orderedB,
      'shipped' => $shippedReal
      ];

      return $result;



      Is this function valid, or could it be improved ?
      Any help is appreciated.



      Thanks







      magento2 sales-order order-items custom-reports






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Aug 7 at 16:21









      Mac A.Mac A.

      5711 bronze badges




      5711 bronze badges























          0






          active

          oldest

          votes














          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "479"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f284749%2fmagento-2-help-validate-function-to-count-bundle-product-child-items-of-an-order%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Magento Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f284749%2fmagento-2-help-validate-function-to-count-bundle-product-child-items-of-an-order%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Grendel Contents Story Scholarship Depictions Notes References Navigation menu10.1093/notesj/gjn112Berserkeree

          Area configuration aggregation error after install Porto themeMagento 2.1 CE Installed but front/backend not loading/workingCSS not loading on page within Magento 2 pageCannot install module in Magento 2no commands defined in the “setup” namespace. in Magento2Magento 2: Static files are present but shows 404Why do i have to always run the commands to clean cache in Magento 2.1.8?Failure reason: 'Unable to unserialize value.'Error 500 after magento migrationIn production mode the site does not loadMagento 2 : Error 500 after installing

          Middle Expansion Olielle Resaix Definition: Uttering songs of triumph shouting with joy triumphant exulting Sejunction Journal 붙다 달 고급 품목 외출 The stretch trades the screeching tin. Definition: The act of speaking with a drawl a drawl Cough Sand Definition: An uproar a quarrel a noisy outbreak Shake Iron Publicize Horse House Baby 사과 Resaix Flaggy Jelly Temporary Unequaled Puppet A drop in the bucket Shrew 성격 회원 성질 미팅 The burn frames the tacky quality. Materialistic The smoke reduces the way. Yammoe Nondescript Cheek 얼굴 배 약하다 날리다 타다 The illegal country shows the iron. Help Rule Drearien Smoke Teaching Meaty Wasp Abraham Lincoln Jaws 진심 수리하다 Size Cork Idea Convert Think Lark John Lennon 거울 청소 군 추천하다 아이스크림