• Модуль: storeassist
  • Путь к файлу: ~/bitrix/modules/storeassist/classes/general/storeassist.php
  • Класс: CStoreAssist
  • Вызов: CStoreAssist::AgentCountDayOrders
static function AgentCountDayOrders()
{
	global $DB;

	if (BitrixMainLoader::includeModule("sale"))
	{
		//count orders
		$arFilter = array(
			"STATUS_ID" => array("F", "P"),
			"PAYED" => "Y",
		);

		$dateFromTs = MakeTimeStamp(date("d", time()-3600*24*2).".".date("m", time()-3600*24*2).".".date("Y", time()-3600*24*2)." 23:59:59", "DD.MM.YYYY HH:MI:SS");
		$dateToTs = MakeTimeStamp(date("d").".".date("m").".".date("Y")." 00:00:00", "DD.MM.YYYY HH:MI:SS");
		
		$arFilter[">DATE_STATUS"] = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL", SITE_ID)), $dateFromTs);
		$arFilter["DateFormatToPHP(CSite::GetDateFormat("FULL", SITE_ID)), $dateToTs);

		$dbOrders = CSaleOrder::GetList(array(), $arFilter);
		$numOrders = $dbOrders->SelectedRowsCount();

		$newNumOrders = array(
			"newDay" => $numOrders
		);

		$curNumOrders = BitrixMainConfigOption::get("storeassist", "num_orders", "");
		if ($curNumOrders)
		{
			$curNumOrders = unserialize($curNumOrders, ["allowed_classes" => false]);
		}
		$newNumOrders["prevDay"] = (isset($curNumOrders["newDay"])) ? $curNumOrders["newDay"] : 0;

		BitrixMainConfigOption::set("storeassist", "num_orders", serialize($newNumOrders), "");

		//count progress
		$progress = BitrixMainConfigOption::get("storeassist", "progress_percent", 0);

		$newProgress = 0;
		if ($newNumOrders["newDay"] >= $newNumOrders["prevDay"] && $newNumOrders["newDay"] > 0)
		{
			$newProgress = (++$progress > 10) ? 10 : $progress;
		}
		else
		{
			$newProgress = (--$progress > 0) ? $progress : 0;
		}

		BitrixMainConfigOption::set("storeassist", "progress_percent", $newProgress, "");
	}

	return "CStoreAssist::AgentCountDayOrders();";
}