if ($model->sale_type) {
$bouquetForecastQuery->andWhere(['type_sales' => $model->sale_type]);
}
+ if ($model->store_id) {
+ $bouquetForecastQuery->andWhere(['type_sales_id' => $model->store_id]);
+ $bouquetForecastQuery->andWhere([
+ 'or',
+ ['type_sales' => [2, 3]],
+ [
+ 'and',
+ ['type_sales' => 1],
+ ['type_sales_id' => CityStoreParams::find()->andWhere(['store_id' => $model->store_id])->select('store_type')->column()]
+ ]
+ ]);
+ }
+ if ($model->city_id) {
+ $bouquetForecastQuery->andWhere(['type_sales_id' => CityStoreParams::find()->
+ andWhere(['address_city' => $model->city_id])->select('store_id')->column()]);
+ $bouquetForecastQuery->andWhere([
+ 'or',
+ ['type_sales' => [2, 3]],
+ [
+ 'and',
+ ['type_sales' => 1],
+ ['type_sales_id' => CityStoreParams::find()->andWhere(['store_id' => CityStoreParams::find()
+ ->andWhere(['address_city' => $model->city_id])->select('store_id')->column()])
+ ->select('store_type')->column()]
+ ]
+ ]);
+ }
+ if ($model->region_id) {
+ $bouquetForecastQuery->andWhere(['type_sales_id' => CityStoreParams::find()
+ ->andWhere(['address_region' => $model->region_id])->select('store_id')->column()]);
+ $bouquetForecastQuery->andWhere([
+ 'or',
+ ['type_sales' => [2, 3]],
+ [
+ 'and',
+ ['type_sales' => 1],
+ ['type_sales_id' => CityStoreParams::find()->andWhere(['store_id' => CityStoreParams::find()
+ ->andWhere(['address_region' => $model->region_id])->select('store_id')->column()])
+ ->select('store_type')->column()]
+ ]
+ ]);
+ }
+ if ($model->raion_id) {
+ $bouquetForecastQuery->andWhere(['type_sales_id' => CityStoreParams::find()
+ ->andWhere(['address_district' => $model->raion_id])->select('store_id')->column()]);
+ $bouquetForecastQuery->andWhere([
+ 'or',
+ ['type_sales' => [2, 3]],
+ [
+ 'and',
+ ['type_sales' => 1],
+ ['type_sales_id' => CityStoreParams::find()->andWhere(['store_id' => CityStoreParams::find()
+ ->andWhere(['address_district' => $model->raion_id])->select('store_id')->column()])
+ ->select('store_type')->column()]
+ ]
+ ]);
+ }
+ if ($model->store_type_id) {
+ $bouquetForecastQuery->andWhere(['type_sales_id' => CityStoreParams::find()
+ ->andWhere(['store_type' => $model->store_type_id])->select('store_id')->column()]);
+ $bouquetForecastQuery->andWhere([
+ 'or',
+ ['type_sales' => [2, 3]],
+ [
+ 'and',
+ ['type_sales' => 1],
+ ['type_sales_id' => CityStoreParams::find()->andWhere(['store_id' => CityStoreParams::find()
+ ->andWhere(['store_type' => $model->store_type_id])->select('store_id')->column()])
+ ->select('store_type')->column()]
+ ]
+ ]);
+ }
+ if ($model->territory_manager_id) {
+ $bouquetForecastQuery->andWhere(['type_sales_id' => StoreDynamic::find()->select('store_id')
+ ->where(['category' => 3, 'active' => 1, 'value_int' => $model->territory_manager_id])->column()]);
+ $bouquetForecastQuery->andWhere([
+ 'or',
+ ['type_sales' => [2, 3]],
+ [
+ 'and',
+ ['type_sales' => 1],
+ ['type_sales_id' => CityStoreParams::find()->andWhere(['store_id' => StoreDynamic::find()->select('store_id')
+ ->where(['category' => 3, 'active' => 1, 'value_int' => $model->territory_manager_id])->column()])
+ ->select('store_type')->column()]
+ ]
+ ]);
+ }
+ if ($model->kshf_id) {
+ $bouquetForecastQuery->andWhere(['type_sales_id' => StoreDynamic::find()->select('store_id')
+ ->where(['category' => 2, 'active' => 1, 'value_int' => $model->kshf_id])->column()]);
+ $bouquetForecastQuery->andWhere([
+ 'or',
+ ['type_sales' => [2, 3]],
+ [
+ 'and',
+ ['type_sales' => 1],
+ ['type_sales_id' => CityStoreParams::find()->andWhere(['store_id' => StoreDynamic::find()->select('store_id')
+ ->where(['category' => 2, 'active' => 1, 'value_int' => $model->kshf_id])->column()])
+ ->select('store_type')->column()]
+ ]
+ ]);
+ }
+
$bouquetForecast = $bouquetForecastQuery->all();
foreach ($bouquetForecast as $bf) {