- Модуль: sender
- Путь к файлу: ~/bitrix/modules/sender/lib/integration/crm/returncustomer/transportbase.php
- Класс: Bitrix\Sender\Integration\Crm\ReturnCustomer\TransportBase
- Вызов: TransportBase::getLastDeal
protected function getLastDeal(EntityManageFacility $facility, $days)
{
$categoryId = null;
$dealFilters = [];
if ($facility->getSelector()->getCompanyId())
{
$dealFilters[] = [
'=COMPANY_ID' => $facility->getSelector()->getCompanyId()
];
}
if ($facility->getSelector()->getContactId())
{
$dealFilters[] = [
'=CONTACT_ID' => $facility->getSelector()->getContactId()
];
}
foreach ($dealFilters as $dealFilter)
{
$dealFilter['=STAGE_SEMANTIC_ID'] = [
PhaseSemantics::SUCCESS
];
$days = (int) $days;
$dateCreate = (new \DateTime())->modify("-$days days");
$beginningOfTheDay = DateTime::createFromPhp($dateCreate->setTime(0,0,0));
$endOfTheDay = DateTime::createFromPhp($dateCreate->setTime(23,59,59));
$dealFilter['DATE_CREATE'] = $beginningOfTheDay;
$dealFilter['=HAS_PRODUCTS'] = 1;
$dealRow = DealTable::getRow([
'select' => ['ID', 'CURRENCY_ID', 'RECEIVED_AMOUNT'],
'filter' => $dealFilter,
'limit' => 1,
'order' => ['DATE_CREATE' => 'DESC']
]);
if (!$dealRow)
{
break;
}
return $dealRow;
}
return null;
}