Your IP : 127.0.0.1


Current Path : /home/dev2.destoffenstraat.com/app/code/Mrgig/MV/Cron/
Upload File :
Current File : /home/dev2.destoffenstraat.com/app/code/Mrgig/MV/Cron/Invoice.php

<?php

namespace Mrgig\MV\Cron;

use Magento\Sales\Model\ResourceModel\Order\Invoice\CollectionFactory as InvoiceCollectionFactory;
use Mrgig\MV\Helper\Api;
use Mrgig\MV\Helper\Data as DataHelper;
use Mrgig\MV\Logger\Logger;
use Mrgig\MV\Model\CustomerInvoice;

class Invoice
{
    /**
     * @var InvoiceCollectionFactory
     */
    protected $invoiceCollection;
    

    public function __construct(
        InvoiceCollectionFactory $invoiceCollection,
        Api $apiHelper,
        DataHelper $dataHelper,
        Logger $logger,
        CustomerInvoice $customerInvoice
    ) {
        $this->invoiceCollection = $invoiceCollection;	
        $this->apiHelper = $apiHelper;
        $this->dataHelper = $dataHelper;
		$this->logger = $logger;
		$this->customerInvoice = $customerInvoice;
    }
	
	public function execute() {
		if($this->dataHelper->isEnabled()) {
			$now = new \DateTime();
			$invoices = $this->invoiceCollection->create()
							->addFieldToFilter('is_process', '0')
							->addFieldToFilter('created_at', ['gteq' => $now->format('2021-12-01 H:i:s')])
							->addFieldToFilter('base_grand_total', ['gteq'=> 1]);
			if(is_object($invoices) && $invoices->getSize() > 0) {
				foreach($invoices as $invoice) {
					$this->logger->addInfo('Invoice importing process start: #'. $invoice->getIncrementId());
					$this->customerInvoice->createInvoice($invoice);
					$this->logger->addInfo('Invoice importing process end: #'. $invoice->getIncrementId());
				}
			}
		}
	}

}