$monthStart = date("Y-m-d 00:00:00", strtotime($year . '-' . $month . '-1'));
$monthEnd = date("Y-m-t 23:59:59", strtotime($year . '-' . $month . '-1'));
+ // Ищем каталог-гуиды категории services
+ $productsClass = ProductsClass::find()->select(['category_id', 'tip'])
+ ->where(['tip' => 'services'])
+ ->indexBy('category_id')
+ ->asArray()->all();
+
+ // Ищем продуктовые гуиды по каталог-гуидам категории service
+ $products1c = Products1c::find()->select(['id', 'parent_id', 'name'])
+ ->where(['parent_id' => array_keys($productsClass), 'tip' => 'products'])
+ ->indexBy(['id'])
+ ->asArray()->all();
+
+ // Ищем каталог-гуиды категории services_delivery
+ $productsClassDelivery = ProductsClass::find()->select(['category_id', 'tip'])
+ ->where(['tip' => 'services_delivery'])
+ ->indexBy('category_id')
+ ->asArray()->all();
+
+ // Ищем продуктовые гуиды по каталог-гуидам категории service_delivery
+ $products1cDelivery = Products1c::find()->select(['id', 'parent_id', 'name'])
+ ->where(['parent_id' => array_keys($productsClassDelivery), 'tip' => 'products'])
+ ->indexBy(['id'])
+ ->asArray()->all();
+
foreach (range(1, 5) as $ind) {
$weekStart = date("Y-m-d 00:00:00", strtotime("+" . (($ind - 1) * 7) . ' days', strtotime($monthStart)));
- $weekEnd = date("Y-m-d 23:50:50", strtotime("+" . ($ind * 7 - 1) . ' days', strtotime($monthStart)));
+ $weekEnd = date("Y-m-d 23:59:59", strtotime("+" . ($ind * 7 - 1) . ' days', strtotime($monthStart)));
if ($weekEnd > $monthEnd) {
$weekEnd = $monthEnd;
}
- // Ищем каталог-гуиды категории services
- $productsClass = ProductsClass::find()->select(['category_id', 'tip'])
- ->where(['tip' => 'services'])
- ->indexBy('category_id')
- ->asArray()->all();
-
- // Ищем продуктовые гуиды по каталог-гуидам категории service
- $products1c = Products1c::find()->select(['id', 'parent_id', 'name'])
- ->where(['parent_id' => array_keys($productsClass), 'tip' => 'products'])
- ->indexBy(['id'])
- ->asArray()->all();
-
// Ищем продажи по продуктовым гуидам по каталог-гуидам категории service
$sales = Sales::find()->alias('s')
->leftJoin('sales_products p', 'p.check_id = s.id')
}
}
- // Ищем каталог-гуиды категории services_delivery
- $productsClass = ProductsClass::find()->select(['category_id', 'tip'])
- ->where(['tip' => 'services_delivery'])
- ->indexBy('category_id')
- ->asArray()->all();
-
- // Ищем продуктовые гуиды по каталог-гуидам категории service_delivery
- $products1c = Products1c::find()->select(['id', 'parent_id', 'name'])
- ->where(['parent_id' => array_keys($productsClass), 'tip' => 'products'])
- ->indexBy(['id'])
- ->asArray()->all();
-
// Ищем продажи по продуктовым гуидам по каталог-гуидам категории service_delivery
$sales = Sales::find()->alias('s')
->leftJoin('sales_products p', 'p.check_id = s.id')
->where(['between', 's.date', $weekStart, $weekEnd])
- ->andWhere(['p.product_id' => array_keys($products1c)])
+ ->andWhere(['p.product_id' => array_keys($products1cDelivery)])
->andWhere(['s.store_id' => $store_id])
->andWhere(['s.operation' => Sales::OPERATION_SALE])
->asArray()->all();