本文整理汇总了PHP中Mage_Sales_Model_Order_Invoice::getBaseSubtotalInclTax方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Order_Invoice::getBaseSubtotalInclTax方法的具体用法?PHP Mage_Sales_Model_Order_Invoice::getBaseSubtotalInclTax怎么用?PHP Mage_Sales_Model_Order_Invoice::getBaseSubtotalInclTax使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Sales_Model_Order_Invoice
的用法示例。
在下文中一共展示了Mage_Sales_Model_Order_Invoice::getBaseSubtotalInclTax方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: collect
public function collect(Mage_Sales_Model_Order_Invoice $invoice)
{
// Changed By Adam 22/09/2014
if (!Mage::helper('affiliateplus')->isAffiliateModuleEnabled()) {
return $this;
}
$baseDiscount = 0;
$discount = 0;
$order = $invoice->getOrder();
$baseOrderDiscount = $order->getBaseAffiliateCredit();
$orderDiscount = $order->getAffiliateCredit();
if ($invoice->getBaseGrandTotal() < 0.0001 || $baseOrderDiscount >= 0) {
return $this;
}
$baseInvoicedDiscount = 0;
$invoicedDiscount = 0;
foreach ($order->getInvoiceCollection() as $_invoice) {
$baseInvoicedDiscount += $_invoice->getBaseAffiliateCredit();
$invoicedDiscount += $_invoice->getAffiliateCredit();
}
if ($invoice->isLast()) {
$baseDiscount = $baseOrderDiscount - $baseInvoicedDiscount;
$discount = $orderDiscount - $invoicedDiscount;
} else {
// edit by viet
$baseOrderTotal = $order->getBaseSubtotalInclTax();
// - $baseOrderDiscount;
$baseDiscount = $baseOrderDiscount * $invoice->getBaseSubtotalInclTax() / $baseOrderTotal;
$discount = $orderDiscount * $invoice->getBaseSubtotalInclTax() / $baseOrderTotal;
// end by viet
if ($baseDiscount < $baseOrderDiscount) {
$baseDiscount = $baseOrderDiscount;
$discount = $orderDiscount;
}
}
if ($baseDiscount) {
$baseDiscount = Mage::app()->getStore()->roundPrice($baseDiscount);
$discount = Mage::app()->getStore()->roundPrice($discount);
$invoice->setBaseAffiliateCredit($baseDiscount);
$invoice->setAffiliateCredit($discount);
$invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $baseDiscount);
$invoice->setGrandTotal($invoice->getGrandTotal() + $discount);
}
return $this;
}
示例2: collect
public function collect(Mage_Sales_Model_Order_Invoice $invoice)
{
$invoice->setSveaPaymentFeeAmount(0);
$invoice->setBaseSveaPaymentFeeAmount(0);
$invoice->setSveaPaymentFeeTaxAmount(0);
$invoice->setBaseSveaPaymentFeeTaxAmount(0);
$invoice->setSveaPaymentFeeInclTax(0);
$invoice->setBaseSveaPaymentFeeInclTax(0);
$orderPaymentFeeAmount = $invoice->getOrder()->getSveaPaymentFeeAmount();
$baseOrderPaymentFeeAmount = $invoice->getOrder()->getBaseSveaPaymentFeeAmount();
$paymentFeeInclTax = $invoice->getOrder()->getSveaPaymentFeeInclTax();
$basePaymentFeeInclTax = $invoice->getOrder()->getBaseSveaPaymentFeeInclTax();
if ($orderPaymentFeeAmount) {
foreach ($invoice->getOrder()->getInvoiceCollection() as $previousInvoice) {
if ($previousInvoice->getSveaPaymentFeeAmount() && !$previousInvoice->isCanceled()) {
// Payment fee has already been invoiced
return $this;
}
}
$invoice->setSveaPaymentFeeAmount($orderPaymentFeeAmount);
$invoice->setBaseSveaPaymentFeeAmount($baseOrderPaymentFeeAmount);
$invoice->setSveaPaymentFeeTaxAmount($invoice->getOrder()->getSveaPaymentFeeTaxAmount());
$invoice->setBaseSveaPaymentFeeTaxAmount($invoice->getOrder()->getBaseSveaPaymentFeeTaxAmount());
$invoice->setSveaPaymentFeeInclTax($paymentFeeInclTax);
$invoice->setBaseSveaPaymentFeeInclTax($basePaymentFeeInclTax);
$subtotal = $invoice->getSubtotal();
$baseSubtotal = $invoice->getBaseSubtotal();
$subtotalInclTax = $invoice->getSubtotalInclTax();
$baseSubtotalInclTax = $invoice->getBaseSubtotalInclTax();
$grandTotal = $invoice->getGrandTotal() + $orderPaymentFeeAmount;
$baseGrandTotal = $invoice->getBaseGrandTotal() + $baseOrderPaymentFeeAmount;
$totalTax = $invoice->getTaxAmount();
$baseTotalTax = $invoice->getBaseTaxAmount();
if ($invoice->isLast()) {
$subtotalInclTax -= $invoice->getOrder()->getSveaPaymentFeeTaxAmount();
$baseSubtotalInclTax -= $invoice->getOrder()->getBaseSveaPaymentFeeTaxAmount();
} else {
$totalTax += $invoice->getOrder()->getSveaPaymentFeeTaxAmount();
$baseTotalTax += $invoice->getOrder()->getBaseSveaPaymentFeeTaxAmount();
$subtotalInclTax += $invoice->getOrder()->getSveaPaymentFeeTaxAmount();
$baseSubtotalInclTax += $invoice->getOrder()->getBaseSveaPaymentFeeTaxAmount();
$grandTotal += $invoice->getOrder()->getSveaPaymentFeeTaxAmount();
$baseGrandTotal += $invoice->getOrder()->getBaseSveaPaymentFeeTaxAmount();
}
$invoice->setSubtotal($subtotal);
$invoice->setBaseSubtotal($baseSubtotal);
$invoice->setSubtotalInclTax($subtotalInclTax);
$invoice->setBaseSubtotalInclTax($baseSubtotalInclTax);
$invoice->setTaxAmount($totalTax);
$invoice->setBaseTaxAmount($baseTotalTax);
$invoice->setGrandTotal($grandTotal);
$invoice->setBaseGrandTotal($baseGrandTotal);
}
return $this;
}
示例3: collect
public function collect(Mage_Sales_Model_Order_Invoice $invoice)
{
$order = $invoice->getOrder();
$invoice->setServicecost($order->getServicecost());
$invoice->setBaseServicecost($order->getBaseServicecost());
$invoice->setServicecostTax($order->getServicecostTax());
$invoice->setBaseServicecostTax($order->getBaseServicecostTax());
$invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $invoice->getServicecost() - $invoice->getServicecostTax());
$invoice->setGrandTotal($invoice->getGrandTotal() + $invoice->getServicecost() - $invoice->getServicecostTax());
$invoice->setSubtotalInclTax($invoice->getSubtotalInclTax() - $invoice->getServicecostTax());
$invoice->setBaseSubtotalInclTax($invoice->getBaseSubtotalInclTax() - $invoice->getServicecostTax());
$invoice->setServicecostPdf($order->getServicecostPdf());
//Magento will get the totalpaid amount and add the invoiced amount and set the totalpaid to the new value. This results in a double totalPaid value within //the order view. This happens only when auto creation of the invoice is disabled. To fix this we will set the Total Paid to 0 before the invoice is created //and the totalpaid is update again with the total invoiced.
$order->setTotalPaid(0);
return $this;
}
示例4: collect
/**
* Weee tax collector
*
* @param Mage_Sales_Model_Order_Invoice $invoice
* @return Mage_Weee_Model_Total_Invoice_Weee
*/
public function collect(Mage_Sales_Model_Order_Invoice $invoice)
{
$store = $invoice->getStore();
$totalTax = 0;
$baseTotalTax = 0;
$weeeInclTax = 0;
$baseWeeeInclTax = 0;
foreach ($invoice->getAllItems() as $item) {
$orderItem = $item->getOrderItem();
$orderItemQty = $orderItem->getQtyOrdered();
if (!$orderItemQty || $orderItem->isDummy()) {
continue;
}
$weeeTaxAmount = $item->getWeeeTaxAppliedAmount() * $item->getQty();
$baseWeeeTaxAmount = $item->getBaseWeeeTaxAppliedAmount() * $item->getQty();
$weeeTaxAmountInclTax = Mage::helper('weee')->getWeeeTaxInclTax($item) * $item->getQty();
$baseWeeeTaxAmountInclTax = Mage::helper('weee')->getBaseWeeeTaxInclTax($item) * $item->getQty();
$item->setWeeeTaxAppliedRowAmount($weeeTaxAmount);
$item->setBaseWeeeTaxAppliedRowAmount($baseWeeeTaxAmount);
$newApplied = array();
$applied = Mage::helper('weee')->getApplied($item);
foreach ($applied as $one) {
$one['base_row_amount'] = $one['base_amount'] * $item->getQty();
$one['row_amount'] = $one['amount'] * $item->getQty();
$one['base_row_amount_incl_tax'] = $one['base_amount_incl_tax'] * $item->getQty();
$one['row_amount_incl_tax'] = $one['amount_incl_tax'] * $item->getQty();
$newApplied[] = $one;
}
Mage::helper('weee')->setApplied($item, $newApplied);
$item->setWeeeTaxRowDisposition($item->getWeeeTaxDisposition() * $item->getQty());
$item->setBaseWeeeTaxRowDisposition($item->getBaseWeeeTaxDisposition() * $item->getQty());
$totalTax += $weeeTaxAmount;
$baseTotalTax += $baseWeeeTaxAmount;
$weeeInclTax += $weeeTaxAmountInclTax;
$baseWeeeInclTax += $baseWeeeTaxAmountInclTax;
}
/*
* Add FPT to totals
* Notice that we check restriction on allowed tax, because
* a) for last invoice we don't need to collect FPT - it is automatically collected by subtotal/tax collector,
* that adds whole remaining (not invoiced) subtotal/tax value, so fpt is automatically included into it
* b) FPT tax is included into order subtotal/tax value, so after multiple invoices with partial item quantities
* it can happen that other collector will take some FPT value from shared subtotal/tax order value
*/
$order = $invoice->getOrder();
if (Mage::helper('weee')->includeInSubtotal($store)) {
$allowedSubtotal = $order->getSubtotal() - $order->getSubtotalInvoiced() - $invoice->getSubtotal();
$allowedBaseSubtotal = $order->getBaseSubtotal() - $order->getBaseSubtotalInvoiced() - $invoice->getBaseSubtotal();
$totalTax = min($allowedSubtotal, $totalTax);
$baseTotalTax = min($allowedBaseSubtotal, $baseTotalTax);
$invoice->setSubtotal($invoice->getSubtotal() + $totalTax);
$invoice->setBaseSubtotal($invoice->getBaseSubtotal() + $baseTotalTax);
} else {
$allowedTax = $order->getTaxAmount() - $order->getTaxInvoiced() - $invoice->getTaxAmount();
$allowedBaseTax = $order->getBaseTaxAmount() - $order->getBaseTaxInvoiced() - $invoice->getBaseTaxAmount();
$totalTax = min($allowedTax, $totalTax);
$baseTotalTax = min($allowedBaseTax, $baseTotalTax);
$invoice->setTaxAmount($invoice->getTaxAmount() + $totalTax);
$invoice->setBaseTaxAmount($invoice->getBaseTaxAmount() + $baseTotalTax);
}
if (!$invoice->isLast()) {
$invoice->setSubtotalInclTax($invoice->getSubtotalInclTax() + $weeeInclTax);
$invoice->setBaseSubtotalInclTax($invoice->getBaseSubtotalInclTax() + $baseWeeeInclTax);
}
$invoice->setGrandTotal($invoice->getGrandTotal() + $totalTax);
$invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $baseTotalTax);
return $this;
}