$productsWithHistory = [];
$productsWithoutHistory = [];
- $guids = array_keys($salesHistory);
- $actualities = Products1cNomenclatureActuality::find()
- ->where(['guid' => $guids, 'active' => 1])
- ->indexBy('guid')
- ->all();
-
foreach ($salesHistory as $guid => $info) {
- if (!isset($actualities[$guid])) {
- continue;
- }
- $act = $actualities[$guid];
- $actFrom = new \DateTime($act->date_from);
- $actTo = $act->date_to
- ? new \DateTime($act->date_to)
- : (new \DateTime())->modify('+1 years');
-
- $isInsideActivity = true;
- foreach ($periods as $periodKey => $periodData) {
- $pStart = \DateTime::createFromFormat('Y-m', $periodKey);
- $pStart->modify('first day of this month')->setTime(0, 0, 0);
- $pEnd = (clone $pStart)->modify('last day of this month')->setTime(23, 59, 59);
-
- if ($pStart < $actFrom || $pEnd > $actTo) {
- $isInsideActivity = false;
- break;
- }
- }
- if (!$isInsideActivity) {
- continue;
- }
$monthsData = $info['data'];
$metaFields = [
'store_id' => $info['store_id'],