Class InvoiceService
Definition at line 14 of file InvoiceService.php.
◆ __construct()
Constructor
- Parameters
-
\Magento\Sales\Api\InvoiceRepositoryInterface | $repository | |
\Magento\Sales\Api\InvoiceCommentRepositoryInterface | $commentRepository | |
\Magento\Framework\Api\SearchCriteriaBuilder | $criteriaBuilder | |
\Magento\Framework\Api\FilterBuilder | $filterBuilder | |
\Magento\Sales\Model\Order\InvoiceNotifier | $notifier | |
\Magento\Sales\Api\OrderRepositoryInterface | $orderRepository | |
\Magento\Sales\Model\Convert\Order | $orderConverter | |
Definition at line 72 of file InvoiceService.php.
85 $this->invoiceNotifier = $notifier;
◆ _canInvoiceItem()
Check if order item can be invoiced.
- Parameters
-
\Magento\Sales\Api\Data\OrderItemInterface | $item | |
array | $qtys | |
- Returns
- bool @SuppressWarnings(PHPMD.CyclomaticComplexity)
Definition at line 204 of file InvoiceService.php.
206 if (
$item->getLockedDoInvoice()) {
209 if (
$item->isDummy()) {
210 if (
$item->getHasChildren()) {
211 foreach (
$item->getChildrenItems() as $child) {
213 if ($child->getQtyToInvoice() > 0) {
217 if (isset($qtys[$child->getId()]) && $qtys[$child->getId()] > 0) {
224 $parent =
$item->getParentItem();
226 return $parent->getQtyToInvoice() > 0;
228 return isset($qtys[$parent->getId()]) && $qtys[$parent->getId()] > 0;
232 return $item->getQtyToInvoice() > 0;
elseif(isset( $params[ 'redirect_parent']))
◆ getCommentsList()
Lists comments for a specified invoice.
- Parameters
-
- Returns
- \Magento\Sales\Api\Data\InvoiceCommentSearchResultInterface Invoice comment search result interface.
Implements InvoiceManagementInterface.
Definition at line 101 of file InvoiceService.php.
103 $this->criteriaBuilder->addFilters(
104 [$this->filterBuilder->setField(
'parent_id')->setValue(
$id)->setConditionType(
'eq')->create()]
◆ notify()
◆ prepareInvoice()
prepareInvoice |
( |
Order |
$order, |
|
|
array |
$qtys = [] |
|
) |
| |
Creates an invoice based on the order and quantities provided
- Parameters
-
- Returns
- \Magento\Sales\Model\Order\Invoice
- Exceptions
-
Definition at line 135 of file InvoiceService.php.
139 $qtys = $this->prepareItemsQty(
$order, $qtys);
elseif(isset( $params[ 'redirect_parent']))
setInvoiceItemQuantity(\Magento\Sales\Api\Data\InvoiceItemInterface $item, $qty)
_canInvoiceItem(\Magento\Sales\Api\Data\OrderItemInterface $item, array $qtys=[])
◆ setCapture()
◆ setInvoiceItemQuantity()
Set quantity to invoice item
- Parameters
-
\Magento\Sales\Api\Data\InvoiceItemInterface | $item | |
float | $qty | |
- Returns
- $this
- Exceptions
-
Check qty availability
Definition at line 244 of file InvoiceService.php.
246 $qty = (
$item->getOrderItem()->getIsQtyDecimal()) ? (
double) $qty : (int) $qty;
247 $qty = $qty > 0 ? $qty : 0;
252 $qtyToInvoice = sprintf(
"%F",
$item->getOrderItem()->getQtyToInvoice());
253 $qty = sprintf(
"%F", $qty);
254 if ($qty > $qtyToInvoice && !
$item->getOrderItem()->isDummy()) {
255 throw new \Magento\Framework\Exception\LocalizedException(
256 __(
'We found an invalid quantity to invoice item "%1".',
$item->getName())
◆ setVoid()
◆ $commentRepository
◆ $criteriaBuilder
◆ $filterBuilder
◆ $invoiceNotifier
◆ $orderConverter
◆ $orderRepository
◆ $repository
The documentation for this class was generated from the following file: