$query = (new Query())
->select([
'store_id' => 'ex.entity_id',
- 'species' => 'p1c.species',
+ 'species' => 'p1c.name',
'category' => 'p1c.category',
'subcategory' => 'p1c.subcategory',
'total_sum' => new Expression(
->leftJoin('products_1c_nomenclature p1c', 'p1c.id = item ->> \'product_id\'')
->where(['>=', 'w.date', $dateFrom])
->andWhere(['ex.entity_id' => $storeIds])
- ->andWhere(['<>', 'p1c.species', ''])
- ->groupBy(['ex.entity_id', 'p1c.species', 'p1c.category', 'p1c.subcategory']);
+ ->andWhere(['<>', 'p1c.name', ''])
+ ->groupBy(['ex.entity_id', 'p1c.name', 'p1c.category', 'p1c.subcategory']);
if ($productFilter !== null) {
$query->andWhere(['item ->> \'product_id\'' => $productFilter]);
->leftJoin('export_import_table ex', 'ex.export_val = s.store_id_1c')
->where(['>=', 's.date', $dateFrom])
->andWhere(['ex.entity_id' => $storeIds])
- ->andWhere(['<>', 'p1c.species', ''])
- ->groupBy(['ex.entity_id', 'p1c.species', 'p1c.category', 'p1c.subcategory']);
+ ->andWhere(['<>', 'p1c.name', ''])
+ ->groupBy(['ex.entity_id', 'p1c.name', 'p1c.category', 'p1c.subcategory']);
if ($productFilter !== null) {
$query->andWhere(['sp.product_id' => $productFilter]);
public function getMonthSpeciesGoalDirty(array $speciesShare, array $subcategoryGoals): array
{
+ $storeNamesMap = ArrayHelper::map($this->getVisibleStores(), 'id', 'name');
+
$indexedGoals = [];
foreach ($subcategoryGoals as $goal) {
$indexedGoals[$goal['store_id']][$goal['category']][$goal['subcategory']] = $goal['goal'];
'subcategory' => $species['subcategory'],
'product_name' => $species['species'],
'store_id' => $species['store_id'],
+ 'store_name' => $storeNamesMap[$species['store_id']] ?? 'Неизвестный магазин', // Добавляем название магазина
'goal' => round($species['percent_of_month'] * $goal, 2),
];
}