getSubtotal() публичный Метод

Get subtotal
public getSubtotal ( ) : string
Результат string
Пример #1
0
 /**
  * 合計金額がマイナスになっていた場合、値引き処理を元に戻す
  *
  * @param Order $Order
  */
 private function restoreDiscount(Order $Order)
 {
     // クーポンが未入力でクーポン情報が存在すればクーポン情報を削除
     $CouponOrder = $this->app['eccube.plugin.coupon.service.coupon']->getCouponOrder($Order->getPreOrderId());
     if ($CouponOrder) {
         $total = $Order->getSubtotal() + $Order->getCharge() + $Order->getDeliveryFeeTotal();
         // 合計金額
         $totalAmount = $total - $Order->getDiscount();
         if ($totalAmount < 0) {
             // 合計金額がマイナスのため、金額を値引き前に戻す
             $this->app['orm.em']->remove($CouponOrder);
             $this->app['orm.em']->flush($CouponOrder);
             $discount = $Order->getDiscount() - $CouponOrder->getDiscount();
             $Order->setDiscount($discount);
             $total = $total - $discount;
             $Order->setTotal($total);
             $Order->setPaymentTotal($total);
             $this->app['orm.em']->flush($Order);
             $this->app->addError($this->app->trans('front.plugin.coupon.shopping.use.minus'), 'front.request');
         }
     }
 }
Пример #2
0
 /**
  * 購入商品詳細情報を設定する.
  *
  * @param Order $Order
  */
 protected function renderOrderDetailData(Order $Order)
 {
     $arrOrder = array();
     // テーブルの微調整を行うための購入商品詳細情報をarrayに変換する
     // =========================================
     // 受注詳細情報
     // =========================================
     $i = 0;
     /* @var OrderDetail $OrderDetail */
     foreach ($Order->getOrderDetails() as $OrderDetail) {
         // class categoryの生成
         $classCategory = '';
         if ($OrderDetail->getClassCategoryName1()) {
             $classCategory .= ' [ ' . $OrderDetail->getClassCategoryName1();
             if ($OrderDetail->getClassCategoryName2() == '') {
                 $classCategory .= ' ]';
             } else {
                 $classCategory .= ' * ' . $OrderDetail->getClassCategoryName2() . ' ]';
             }
         }
         // 税
         $tax = $this->app['eccube.service.tax_rule']->calcTax($OrderDetail->getPrice(), $OrderDetail->getTaxRate(), $OrderDetail->getTaxRule());
         $OrderDetail->setPriceIncTax($OrderDetail->getPrice() + $tax);
         // product
         $arrOrder[$i][0] = sprintf('%s / %s / %s', $OrderDetail->getProductName(), $OrderDetail->getProductCode(), $classCategory);
         // 購入数量
         $arrOrder[$i][1] = number_format($OrderDetail->getQuantity());
         // 税込金額(単価)
         $arrOrder[$i][2] = number_format($OrderDetail->getPriceIncTax()) . self::MONETARY_UNIT;
         // 小計(商品毎)
         $arrOrder[$i][3] = number_format($OrderDetail->getTotalPrice()) . self::MONETARY_UNIT;
         ++$i;
     }
     // =========================================
     // 小計
     // =========================================
     $arrOrder[$i][0] = '';
     $arrOrder[$i][1] = '';
     $arrOrder[$i][2] = '';
     $arrOrder[$i][3] = '';
     ++$i;
     $arrOrder[$i][0] = '';
     $arrOrder[$i][1] = '';
     $arrOrder[$i][2] = '商品合計';
     $arrOrder[$i][3] = number_format($Order->getSubtotal()) . self::MONETARY_UNIT;
     ++$i;
     $arrOrder[$i][0] = '';
     $arrOrder[$i][1] = '';
     $arrOrder[$i][2] = '送料';
     $arrOrder[$i][3] = number_format($Order->getDeliveryFeeTotal()) . self::MONETARY_UNIT;
     ++$i;
     $arrOrder[$i][0] = '';
     $arrOrder[$i][1] = '';
     $arrOrder[$i][2] = '手数料';
     $arrOrder[$i][3] = number_format($Order->getCharge()) . self::MONETARY_UNIT;
     ++$i;
     $arrOrder[$i][0] = '';
     $arrOrder[$i][1] = '';
     $arrOrder[$i][2] = '値引き';
     $arrOrder[$i][3] = '- ' . number_format($Order->getDiscount()) . self::MONETARY_UNIT;
     ++$i;
     $arrOrder[$i][0] = '';
     $arrOrder[$i][1] = '';
     $arrOrder[$i][2] = '請求金額';
     $arrOrder[$i][3] = number_format($Order->getPaymentTotal()) . self::MONETARY_UNIT;
     // PDFに設定する
     $this->setFancyTable($this->labelCell, $arrOrder, $this->widthCell);
 }